From 10c86672be923707eaf0919de459012f923eced4 Mon Sep 17 00:00:00 2001 From: aleksey-hoffman Date: Mon, 15 Dec 2025 18:47:41 +0300 Subject: [PATCH] Dev: migrate to sigma-ui; add scripts; base settings page --- .editorconfig | 10 +- .eslintrc.cjs | 115 - .gitattributes | 1 + .github/FUNDING.yml | 2 - .github/ISSUE_TEMPLATE/config.yml | 1 - .github/ISSUE_TEMPLATE/feature_request.md | 13 - .github/ISSUE_TEMPLATE/problem_report.yml | 37 - .github/media/get-from-microsoft.png | Bin 7361 -> 0 bytes .github/media/logo-1024x1024.png | Bin 26463 -> 0 bytes .github/media/main.png | Bin 65477 -> 0 bytes .github/media/patreon_button.png | Bin 3954 -> 0 bytes .../bot-comment-support-developer.yml | 31 - .github/workflows/label-supporter.yml | 70 - .gitignore | 12 +- .husky/pre-commit | 3 - .stylelintrc.json => .stylelintrc | 3 +- .vscode/extensions.json | 9 + BAKERS.md | 70 - CONTRIBUTING.md | 144 - LICENSE.md | 204 - PRIVACY_POLICY.md | 4 - README.md | 116 +- eslint.config.ts | 87 + index.html | 27 +- package-lock.json | 11649 ++++++++++------ package.json | 154 +- public/favicon.ico | Bin 0 -> 4286 bytes rustfmt.toml | 1 - scripts/sync-i18n.js | 22 +- scripts/sync-license.js | 69 +- sigma-ui.config.json | 17 + src-tauri/.gitignore | 1 + src-tauri/Cargo.lock | 4705 ++++--- src-tauri/Cargo.toml | 42 +- src-tauri/build.rs | 2 +- src-tauri/capabilities/default.json | 27 + src-tauri/icons/128x128.png | Bin 3375 -> 3310 bytes src-tauri/icons/128x128@2x.png | Bin 7393 -> 6878 bytes src-tauri/icons/32x32.png | Bin 906 -> 909 bytes src-tauri/icons/64x64.png | Bin 0 -> 1706 bytes src-tauri/icons/Square107x107Logo.png | Bin 2798 -> 2731 bytes src-tauri/icons/Square142x142Logo.png | Bin 3737 -> 3663 bytes src-tauri/icons/Square150x150Logo.png | Bin 3920 -> 3844 bytes src-tauri/icons/Square284x284Logo.png | Bin 8324 -> 7658 bytes src-tauri/icons/Square30x30Logo.png | Bin 831 -> 823 bytes src-tauri/icons/Square310x310Logo.png | Bin 8905 -> 8239 bytes src-tauri/icons/Square44x44Logo.png | Bin 1217 -> 1198 bytes src-tauri/icons/Square71x71Logo.png | Bin 1870 -> 1837 bytes src-tauri/icons/Square89x89Logo.png | Bin 2325 -> 2276 bytes src-tauri/icons/StoreLogo.png | Bin 1345 -> 1330 bytes .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1290 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 4122 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 1290 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1228 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 2710 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1228 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2470 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 5414 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 2470 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 3692 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 8935 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 3692 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5058 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 12078 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 5058 bytes src-tauri/icons/icon.icns | Bin 82121 -> 75339 bytes src-tauri/icons/icon.ico | Bin 13334 -> 12314 bytes src-tauri/icons/icon.png | Bin 16546 -> 15286 bytes src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 593 bytes src-tauri/icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 1009 bytes src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 1009 bytes src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 1458 bytes src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 792 bytes src-tauri/icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 1458 bytes src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 1458 bytes src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 2165 bytes src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 1009 bytes src-tauri/icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 2002 bytes src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 2002 bytes src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 3062 bytes src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 22243 bytes src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 3062 bytes src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 4647 bytes src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 1925 bytes src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 3853 bytes src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 4174 bytes src-tauri/src/app_state.rs | 43 - src-tauri/src/dev.rs | 9 - src-tauri/src/fs_api.rs | 200 - src-tauri/src/lib.rs | 31 + src-tauri/src/listeners.rs | 10 - src-tauri/src/main.rs | 50 +- src-tauri/src/media_processor.rs | 85 - src-tauri/src/storage_info.rs | 44 - src-tauri/src/system_info.rs | 39 - src-tauri/src/system_tray.rs | 158 +- src-tauri/src/user_settings.rs | 15 - src-tauri/tauri.conf.json | 193 +- src/App.vue | 35 +- .../app/dynamic-text/DynamicText.vue | 32 - .../app/filter-input/FilterInput.vue | 205 - src/components/app/nav-sidebar/NavSidebar.vue | 88 - src/components/app/router-view/index.ts | 5 - .../window-toolbar/WindowToolbarControls.vue | 67 - src/components/app/window-toolbar/index.ts | 6 - .../action-toolbar/ActionToolbar.vue | 12 - .../dashboard/action-toolbar/index.ts | 5 - src/components/dashboard/content/index.ts | 5 - src/components/dashboard/title/index.ts | 5 - .../action-toolbar/ActionToolbar.vue | 12 - .../extensions/action-toolbar/index.ts | 5 - src/components/extensions/content/index.ts | 5 - src/components/extensions/title/index.ts | 5 - .../home/action-toolbar/ActionToolbar.vue | 12 - src/components/home/action-toolbar/index.ts | 5 - src/components/home/content/index.ts | 5 - .../action-toolbar/ActionToolbar.vue | 39 - .../navigator/action-toolbar/index.ts | 5 - .../navigator/content-pane/ContentPane.vue | 43 - .../navigator/content-pane/index.ts | 5 - src/components/navigator/content/Content.vue | 159 - src/components/navigator/content/index.ts | 5 - .../dir-entry-section/DirEntrySection.vue | 115 - .../grid/DirEntryGridSection.vue | 300 - .../navigator/dir-entry-section/grid/index.ts | 5 - .../navigator/dir-entry-section/index.ts | 7 - .../list/DirEntryListSection.vue | 301 - .../navigator/dir-entry-section/list/index.ts | 5 - .../navigator/dir-entry/base/DirEntryBase.vue | 125 - .../navigator/dir-entry/base/index.ts | 5 - .../dir-entry/divider/DirEntryDivider.vue | 37 - .../navigator/dir-entry/divider/index.ts | 5 - .../dir-entry/grid-dir/DirEntryGridDir.vue | 111 - .../navigator/dir-entry/grid-dir/index.ts | 5 - .../dir-entry/grid-file/DirEntryGridFile.vue | 195 - .../navigator/dir-entry/grid-file/index.ts | 5 - src/components/navigator/dir-entry/index.ts | 11 - .../dir-entry/list-dir/DirEntryListDir.vue | 91 - .../navigator/dir-entry/list-dir/index.ts | 5 - .../dir-entry/list-file/DirEntryListFile.vue | 108 - .../navigator/dir-entry/list-file/index.ts | 5 - .../dir-entry/spacer/DirEntrySpacer.vue | 48 - .../navigator/dir-entry/spacer/index.ts | 5 - .../navigator/info-panel/InfoPanel.vue | 30 - .../navigator/info-panel/header/index.ts | 5 - src/components/navigator/info-panel/index.ts | 8 - .../info-panel/preview/InfoPanelPreview.vue | 37 - .../navigator/info-panel/preview/index.ts | 5 - .../properties/InfoPanelProperties.vue | 115 - .../navigator/info-panel/properties/index.ts | 5 - src/components/navigator/tab-bar/TabBar.vue | 95 - src/components/navigator/tab-bar/index.ts | 7 - .../navigator/tab-bar/tab-draggable/index.ts | 5 - src/components/navigator/tab-bar/tab/Tab.vue | 186 - src/components/navigator/tab-bar/tab/index.ts | 5 - .../workspace-toolbar/WorkspaceToolbar.vue | 61 - .../navigator/workspace-toolbar/index.ts | 5 - .../settings/action-toolbar/ActionToolbar.vue | 12 - .../settings/action-toolbar/index.ts | 5 - src/components/settings/content/index.ts | 5 - src/components/settings/header/index.ts | 5 - src/components/ui/button/Button.vue | 245 +- src/components/ui/button/index.ts | 34 +- .../Content.vue => ui/card/card-content.vue} | 15 +- src/components/ui/card/card-description.vue | 25 + .../card/card-footer.vue} | 16 +- src/components/ui/card/card-header.vue | 26 + .../Content.vue => ui/card/card-title.vue} | 18 +- src/components/ui/card/card.vue | 27 + src/components/ui/card/index.ts | 10 + .../ui/combobox/combobox-anchor.vue | 28 + src/components/ui/combobox/combobox-empty.vue | 30 + src/components/ui/combobox/combobox-group.vue | 52 + src/components/ui/combobox/combobox-input.vue | 67 + src/components/ui/combobox/combobox-item.vue | 56 + src/components/ui/combobox/combobox-list.vue | 173 + .../ui/combobox/combobox-separator.vue | 29 + .../ui/combobox/combobox-trigger.vue | 23 + src/components/ui/combobox/combobox.vue | 19 + src/components/ui/combobox/index.ts | 14 + .../dropdown-menu-checkbox-item.vue | 76 + .../dropdown-menu/dropdown-menu-content.vue | 88 + .../ui/dropdown-menu/dropdown-menu-group.vue | 16 + .../ui/dropdown-menu/dropdown-menu-item.vue | 52 + .../ui/dropdown-menu/dropdown-menu-label.vue | 36 + .../dropdown-menu-radio-group.vue | 24 + .../dropdown-menu-radio-item.vue | 77 + .../dropdown-menu/dropdown-menu-separator.vue | 28 + .../dropdown-menu/dropdown-menu-shortcut.vue | 27 + .../dropdown-menu-sub-content.vue | 85 + .../dropdown-menu-sub-trigger.vue | 63 + .../ui/dropdown-menu/dropdown-menu-sub.vue | 24 + .../dropdown-menu/dropdown-menu-trigger.vue | 21 + .../ui/dropdown-menu/dropdown-menu.vue | 19 + src/components/ui/dropdown-menu/index.ts | 20 + .../{home/title => ui/input}/index.ts | 2 +- src/components/ui/input/input.vue | 54 + src/components/ui/menu-button/MenuButton.vue | 140 - src/components/ui/menu-button/index.ts | 5 - src/components/ui/popover/index.ts | 7 + src/components/ui/popover/popover-content.vue | 139 + .../popover/popover-trigger.vue} | 17 +- src/components/ui/popover/popover.vue | 20 + .../scroll-area}/index.ts | 3 +- src/components/ui/scroll-area/scroll-area.vue | 45 + src/components/ui/scroll-area/scroll-bar.vue | 65 + src/components/ui/select/index.ts | 15 + src/components/ui/select/select-content.vue | 141 + src/components/ui/select/select-group.vue | 26 + .../select/select-item-text.vue} | 16 +- src/components/ui/select/select-item.vue | 77 + src/components/ui/select/select-label.vue | 27 + .../ui/select/select-scroll-down-button.vue | 40 + .../ui/select/select-scroll-up-button.vue | 39 + src/components/ui/select/select-separator.vue | 25 + src/components/ui/select/select-trigger.vue | 64 + .../Title.vue => ui/select/select-value.vue} | 11 +- src/components/ui/select/select.vue | 20 + src/components/ui/spacer/index.ts | 5 - src/components/ui/tooltip/index.ts | 8 + src/components/ui/tooltip/tooltip-content.vue | 142 + .../ui/tooltip/tooltip-provider.vue | 16 + src/components/ui/tooltip/tooltip-trigger.vue | 16 + src/components/ui/tooltip/tooltip.vue | 19 + src/data/external-links.ts | 6 +- src/data/overlay-scrollbars-options.ts | 10 - src/data/user-paths.ts | 10 +- src/localization/data.ts | 32 +- src/localization/index.ts | 9 +- src/localization/messages/ch.json | 590 +- src/localization/messages/de.json | 106 +- src/localization/messages/en.json | 108 +- src/localization/messages/es.json | 108 +- src/localization/messages/fa.json | 106 +- src/localization/messages/fr.json | 110 +- src/localization/messages/it.json | 1419 ++ src/localization/messages/ja.json | 108 +- src/localization/messages/pt.json | 1419 ++ src/localization/messages/ru.json | 108 +- src/localization/messages/tr.json | 108 +- src/localization/messages/vi.json | 108 +- src/localization/plural-rules.ts | 8 +- src/main.ts | 17 +- .../dashboard/pages/dashboard.vue} | 6 +- .../extensions/pages/extensions.vue} | 6 +- .../home/pages/home.vue} | 7 +- .../app/nav-sidebar => modules}/index.ts | 3 +- .../nav-sidebar}/index.ts | 2 +- src/modules/nav-sidebar/nav-sidebar.vue | 117 + src/modules/navigator/pages/navigator.vue | 27 + src/modules/settings/index.ts | 13 + src/modules/settings/pages/settings.vue | 30 + src/modules/settings/stores/store.ts | 166 + src/modules/settings/ui/actions.vue | 113 + .../ui/categories/appearance/index.vue} | 16 +- .../ui/categories/appearance/theme.vue | 82 + .../settings/ui/categories/general/index.vue} | 21 +- .../ui/categories/general/language.vue | 200 + .../ui/categories/general/window-scaling.vue | 162 + src/modules/settings/ui/content.vue | 59 + src/modules/settings/ui/header.vue | 73 + src/modules/settings/ui/item.vue | 94 + src/modules/settings/ui/nav-item.vue | 49 + src/modules/settings/ui/nav.vue | 43 + src/modules/settings/ui/search.vue | 79 + src/modules/settings/ui/view.vue | 141 + src/modules/tab-bar/index.ts | 7 + src/modules/tab-bar/tab-bar.vue | 133 + .../tab-bar/tab-draggable/tab-draggable.vue} | 22 +- src/modules/tab-bar/tab/tab.vue | 203 + .../window-toolbar}/index.ts | 2 +- .../window-toolbar/spacer.vue} | 9 +- src/modules/window-toolbar/window-actions.vue | 80 + .../window-toolbar/window-toolbar.vue} | 49 +- src/pages/dashboard/Dashboard.vue | 17 - src/pages/dashboard/index.ts | 5 - src/pages/extensions/Extensions.vue | 16 - src/pages/extensions/index.ts | 5 - src/pages/home/Home.vue | 16 - src/pages/home/index.ts | 5 - src/pages/navigator/Navigator.vue | 42 - src/pages/navigator/index.ts | 5 - src/pages/settings/Settings.vue | 17 - src/pages/settings/index.ts | 5 - src/router/index.ts | 6 +- src/router/routes.ts | 32 +- src/stores/runtime/app.ts | 23 + src/stores/runtime/navigator.ts | 33 +- src/stores/runtime/runtime.ts | 16 +- src/stores/runtime/view-filter.ts | 68 +- src/stores/runtime/views.ts | 18 - src/stores/storage/use/use-theme.ts | 56 + src/stores/storage/user-paths.ts | 35 +- src/stores/storage/user-settings.ts | 105 +- src/stores/storage/workspaces.ts | 88 +- src/styles/general.css | 16 - src/styles/helpers.css | 72 - src/styles/index.css | 9 +- src/styles/main.css | 87 + src/styles/modern-normalize-reset.css | 275 - src/styles/preflight.css | 396 + src/styles/scrollbars.css | 42 - src/styles/tailwind-reset.css | 57 - src/styles/transitions.css | 253 - src/styles/vars.css | 159 +- src/types/dir-entry.d.ts | 10 +- src/types/runtime.d.ts | 6 +- src/types/user-settings.d.ts | 31 +- src/types/view-filter.d.ts | 22 +- src/types/workspaces.d.ts | 2 +- src/use/init.ts | 25 + src/utils/animate-range.ts | 39 +- src/utils/clone.ts | 2 +- src/utils/disable-web-view-features.ts | 2 +- src/utils/format-date-time.ts | 39 +- src/utils/get-var.ts | 3 +- src/utils/to-local-time.ts | 13 +- src/utils/to-readable-bytes.ts | 2 +- src/utils/unique-id.ts | 4 +- src/utils/view-filter.ts | 30 +- src/vite-env.d.ts | 11 - tsconfig.app.json | 11 + tsconfig.json | 32 +- tsconfig.node.json | 20 + tsconfig.vitest.json | 11 + vite.config.ts | 76 +- vitest.config.ts | 14 + 327 files changed, 19918 insertions(+), 13122 deletions(-) delete mode 100644 .eslintrc.cjs create mode 100644 .gitattributes delete mode 100644 .github/FUNDING.yml delete mode 100644 .github/ISSUE_TEMPLATE/config.yml delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 .github/ISSUE_TEMPLATE/problem_report.yml delete mode 100644 .github/media/get-from-microsoft.png delete mode 100644 .github/media/logo-1024x1024.png delete mode 100644 .github/media/main.png delete mode 100644 .github/media/patreon_button.png delete mode 100644 .github/workflows/bot-comment-support-developer.yml delete mode 100644 .github/workflows/label-supporter.yml delete mode 100644 .husky/pre-commit rename .stylelintrc.json => .stylelintrc (90%) create mode 100644 .vscode/extensions.json delete mode 100644 BAKERS.md delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE.md delete mode 100644 PRIVACY_POLICY.md create mode 100644 eslint.config.ts create mode 100644 public/favicon.ico delete mode 100644 rustfmt.toml create mode 100644 sigma-ui.config.json create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/icons/64x64.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png delete mode 100644 src-tauri/src/app_state.rs delete mode 100644 src-tauri/src/dev.rs delete mode 100644 src-tauri/src/fs_api.rs create mode 100644 src-tauri/src/lib.rs delete mode 100644 src-tauri/src/listeners.rs delete mode 100644 src-tauri/src/media_processor.rs delete mode 100644 src-tauri/src/storage_info.rs delete mode 100644 src-tauri/src/system_info.rs delete mode 100644 src-tauri/src/user_settings.rs delete mode 100644 src/components/app/dynamic-text/DynamicText.vue delete mode 100644 src/components/app/filter-input/FilterInput.vue delete mode 100644 src/components/app/nav-sidebar/NavSidebar.vue delete mode 100644 src/components/app/router-view/index.ts delete mode 100644 src/components/app/window-toolbar/WindowToolbarControls.vue delete mode 100644 src/components/app/window-toolbar/index.ts delete mode 100644 src/components/dashboard/action-toolbar/ActionToolbar.vue delete mode 100644 src/components/dashboard/action-toolbar/index.ts delete mode 100644 src/components/dashboard/content/index.ts delete mode 100644 src/components/dashboard/title/index.ts delete mode 100644 src/components/extensions/action-toolbar/ActionToolbar.vue delete mode 100644 src/components/extensions/action-toolbar/index.ts delete mode 100644 src/components/extensions/content/index.ts delete mode 100644 src/components/extensions/title/index.ts delete mode 100644 src/components/home/action-toolbar/ActionToolbar.vue delete mode 100644 src/components/home/action-toolbar/index.ts delete mode 100644 src/components/home/content/index.ts delete mode 100644 src/components/navigator/action-toolbar/ActionToolbar.vue delete mode 100644 src/components/navigator/action-toolbar/index.ts delete mode 100644 src/components/navigator/content-pane/ContentPane.vue delete mode 100644 src/components/navigator/content-pane/index.ts delete mode 100644 src/components/navigator/content/Content.vue delete mode 100644 src/components/navigator/content/index.ts delete mode 100644 src/components/navigator/dir-entry-section/DirEntrySection.vue delete mode 100644 src/components/navigator/dir-entry-section/grid/DirEntryGridSection.vue delete mode 100644 src/components/navigator/dir-entry-section/grid/index.ts delete mode 100644 src/components/navigator/dir-entry-section/index.ts delete mode 100644 src/components/navigator/dir-entry-section/list/DirEntryListSection.vue delete mode 100644 src/components/navigator/dir-entry-section/list/index.ts delete mode 100644 src/components/navigator/dir-entry/base/DirEntryBase.vue delete mode 100644 src/components/navigator/dir-entry/base/index.ts delete mode 100644 src/components/navigator/dir-entry/divider/DirEntryDivider.vue delete mode 100644 src/components/navigator/dir-entry/divider/index.ts delete mode 100644 src/components/navigator/dir-entry/grid-dir/DirEntryGridDir.vue delete mode 100644 src/components/navigator/dir-entry/grid-dir/index.ts delete mode 100644 src/components/navigator/dir-entry/grid-file/DirEntryGridFile.vue delete mode 100644 src/components/navigator/dir-entry/grid-file/index.ts delete mode 100644 src/components/navigator/dir-entry/index.ts delete mode 100644 src/components/navigator/dir-entry/list-dir/DirEntryListDir.vue delete mode 100644 src/components/navigator/dir-entry/list-dir/index.ts delete mode 100644 src/components/navigator/dir-entry/list-file/DirEntryListFile.vue delete mode 100644 src/components/navigator/dir-entry/list-file/index.ts delete mode 100644 src/components/navigator/dir-entry/spacer/DirEntrySpacer.vue delete mode 100644 src/components/navigator/dir-entry/spacer/index.ts delete mode 100644 src/components/navigator/info-panel/InfoPanel.vue delete mode 100644 src/components/navigator/info-panel/header/index.ts delete mode 100644 src/components/navigator/info-panel/index.ts delete mode 100644 src/components/navigator/info-panel/preview/InfoPanelPreview.vue delete mode 100644 src/components/navigator/info-panel/preview/index.ts delete mode 100644 src/components/navigator/info-panel/properties/InfoPanelProperties.vue delete mode 100644 src/components/navigator/info-panel/properties/index.ts delete mode 100644 src/components/navigator/tab-bar/TabBar.vue delete mode 100644 src/components/navigator/tab-bar/index.ts delete mode 100644 src/components/navigator/tab-bar/tab-draggable/index.ts delete mode 100644 src/components/navigator/tab-bar/tab/Tab.vue delete mode 100644 src/components/navigator/tab-bar/tab/index.ts delete mode 100644 src/components/navigator/workspace-toolbar/WorkspaceToolbar.vue delete mode 100644 src/components/navigator/workspace-toolbar/index.ts delete mode 100644 src/components/settings/action-toolbar/ActionToolbar.vue delete mode 100644 src/components/settings/action-toolbar/index.ts delete mode 100644 src/components/settings/content/index.ts delete mode 100644 src/components/settings/header/index.ts rename src/components/{home/content/Content.vue => ui/card/card-content.vue} (65%) create mode 100644 src/components/ui/card/card-description.vue rename src/components/{navigator/info-panel/header/InfoPanelHeader.vue => ui/card/card-footer.vue} (63%) create mode 100644 src/components/ui/card/card-header.vue rename src/components/{settings/content/Content.vue => ui/card/card-title.vue} (58%) create mode 100644 src/components/ui/card/card.vue create mode 100644 src/components/ui/card/index.ts create mode 100644 src/components/ui/combobox/combobox-anchor.vue create mode 100644 src/components/ui/combobox/combobox-empty.vue create mode 100644 src/components/ui/combobox/combobox-group.vue create mode 100644 src/components/ui/combobox/combobox-input.vue create mode 100644 src/components/ui/combobox/combobox-item.vue create mode 100644 src/components/ui/combobox/combobox-list.vue create mode 100644 src/components/ui/combobox/combobox-separator.vue create mode 100644 src/components/ui/combobox/combobox-trigger.vue create mode 100644 src/components/ui/combobox/combobox.vue create mode 100644 src/components/ui/combobox/index.ts create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-checkbox-item.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-content.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-group.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-item.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-label.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-radio-group.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-radio-item.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-separator.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-shortcut.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-sub-content.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-sub-trigger.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-sub.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu-trigger.vue create mode 100644 src/components/ui/dropdown-menu/dropdown-menu.vue create mode 100644 src/components/ui/dropdown-menu/index.ts rename src/components/{home/title => ui/input}/index.ts (81%) create mode 100644 src/components/ui/input/input.vue delete mode 100644 src/components/ui/menu-button/MenuButton.vue delete mode 100644 src/components/ui/menu-button/index.ts create mode 100644 src/components/ui/popover/index.ts create mode 100644 src/components/ui/popover/popover-content.vue rename src/components/{app/router-view/RouterView.vue => ui/popover/popover-trigger.vue} (59%) create mode 100644 src/components/ui/popover/popover.vue rename src/components/{app/action-toolbar => ui/scroll-area}/index.ts (64%) create mode 100644 src/components/ui/scroll-area/scroll-area.vue create mode 100644 src/components/ui/scroll-area/scroll-bar.vue create mode 100644 src/components/ui/select/index.ts create mode 100644 src/components/ui/select/select-content.vue create mode 100644 src/components/ui/select/select-group.vue rename src/components/{extensions/content/Content.vue => ui/select/select-item-text.vue} (59%) create mode 100644 src/components/ui/select/select-item.vue create mode 100644 src/components/ui/select/select-label.vue create mode 100644 src/components/ui/select/select-scroll-down-button.vue create mode 100644 src/components/ui/select/select-scroll-up-button.vue create mode 100644 src/components/ui/select/select-separator.vue create mode 100644 src/components/ui/select/select-trigger.vue rename src/components/{extensions/title/Title.vue => ui/select/select-value.vue} (67%) create mode 100644 src/components/ui/select/select.vue delete mode 100644 src/components/ui/spacer/index.ts create mode 100644 src/components/ui/tooltip/index.ts create mode 100644 src/components/ui/tooltip/tooltip-content.vue create mode 100644 src/components/ui/tooltip/tooltip-provider.vue create mode 100644 src/components/ui/tooltip/tooltip-trigger.vue create mode 100644 src/components/ui/tooltip/tooltip.vue delete mode 100644 src/data/overlay-scrollbars-options.ts create mode 100644 src/localization/messages/it.json create mode 100644 src/localization/messages/pt.json rename src/{components/home/title/Title.vue => modules/dashboard/pages/dashboard.vue} (79%) rename src/{components/dashboard/title/Title.vue => modules/extensions/pages/extensions.vue} (76%) rename src/{components/settings/header/Header.vue => modules/home/pages/home.vue} (81%) rename src/{components/app/nav-sidebar => modules}/index.ts (76%) rename src/{components/app/filter-input => modules/nav-sidebar}/index.ts (78%) create mode 100644 src/modules/nav-sidebar/nav-sidebar.vue create mode 100644 src/modules/navigator/pages/navigator.vue create mode 100644 src/modules/settings/index.ts create mode 100644 src/modules/settings/pages/settings.vue create mode 100644 src/modules/settings/stores/store.ts create mode 100644 src/modules/settings/ui/actions.vue rename src/{components/dashboard/content/Content.vue => modules/settings/ui/categories/appearance/index.vue} (59%) create mode 100644 src/modules/settings/ui/categories/appearance/theme.vue rename src/{components/app/action-toolbar/ActionToolbar.vue => modules/settings/ui/categories/general/index.vue} (52%) create mode 100644 src/modules/settings/ui/categories/general/language.vue create mode 100644 src/modules/settings/ui/categories/general/window-scaling.vue create mode 100644 src/modules/settings/ui/content.vue create mode 100644 src/modules/settings/ui/header.vue create mode 100644 src/modules/settings/ui/item.vue create mode 100644 src/modules/settings/ui/nav-item.vue create mode 100644 src/modules/settings/ui/nav.vue create mode 100644 src/modules/settings/ui/search.vue create mode 100644 src/modules/settings/ui/view.vue create mode 100644 src/modules/tab-bar/index.ts create mode 100644 src/modules/tab-bar/tab-bar.vue rename src/{components/navigator/tab-bar/tab-draggable/TabDraggable.vue => modules/tab-bar/tab-draggable/tab-draggable.vue} (84%) create mode 100644 src/modules/tab-bar/tab/tab.vue rename src/{components/app/dynamic-text => modules/window-toolbar}/index.ts (76%) rename src/{components/ui/spacer/Spacer.vue => modules/window-toolbar/spacer.vue} (79%) create mode 100644 src/modules/window-toolbar/window-actions.vue rename src/{components/app/window-toolbar/WindowToolbar.vue => modules/window-toolbar/window-toolbar.vue} (53%) delete mode 100644 src/pages/dashboard/Dashboard.vue delete mode 100644 src/pages/dashboard/index.ts delete mode 100644 src/pages/extensions/Extensions.vue delete mode 100644 src/pages/extensions/index.ts delete mode 100644 src/pages/home/Home.vue delete mode 100644 src/pages/home/index.ts delete mode 100644 src/pages/navigator/Navigator.vue delete mode 100644 src/pages/navigator/index.ts delete mode 100644 src/pages/settings/Settings.vue delete mode 100644 src/pages/settings/index.ts create mode 100644 src/stores/runtime/app.ts delete mode 100644 src/stores/runtime/views.ts create mode 100644 src/stores/storage/use/use-theme.ts delete mode 100644 src/styles/general.css delete mode 100644 src/styles/helpers.css create mode 100644 src/styles/main.css delete mode 100644 src/styles/modern-normalize-reset.css create mode 100644 src/styles/preflight.css delete mode 100644 src/styles/scrollbars.css delete mode 100644 src/styles/tailwind-reset.css delete mode 100644 src/styles/transitions.css create mode 100644 src/use/init.ts delete mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.node.json create mode 100644 tsconfig.vitest.json create mode 100644 vitest.config.ts diff --git a/.editorconfig b/.editorconfig index 7053c49a..5a5809db 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,5 +1,9 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}] +charset = utf-8 indent_size = 2 -trim_trailing_whitespace = true +indent_style = space insert_final_newline = true +trim_trailing_whitespace = true + +end_of_line = lf +max_line_length = 100 diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 809f6cba..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,115 +0,0 @@ -/* eslint-env node */ -module.exports = { - root: true, - env: { - browser: true, - es2024: true - }, - parser: 'vue-eslint-parser', - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module' - }, - plugins: [ - 'import' - ], - extends: [ - 'plugin:vue/vue3-recommended', - 'eslint:recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - 'plugin:@intlify/vue-i18n/recommended', - '@vue/eslint-config-typescript' - ], - rules: { - 'import/no-unresolved': 'off', - 'import/order': [ - 'error', - { - groups: [ - 'builtin', - 'external', - 'internal', - ['sibling', 'parent'], - 'index', - 'unknown', - 'type' - ], - 'newlines-between': 'never', - alphabetize: { - order: 'asc', - caseInsensitive: true - } - } - ], - curly: ['error', 'all'], - semi: ['error', 'always'], - eqeqeq: ['error', 'smart'], - quotes: ['error', 'single'], - indent: ['error', 2], - 'comma-spacing': ['error', {'after': true}], - 'no-console': 'off', - 'no-debugger': 'warn', - 'no-tabs': 'error', - 'no-trailing-spaces': ['error'], - 'no-await-in-loop': 'error', - 'no-eval': 'error', - 'no-implied-eval': 'error', - 'block-spacing': 'error', - 'dot-location': ['error', 'property'], - 'prefer-template': 'error', - 'comma-dangle': ['error', 'never'], - 'object-curly-spacing': ['error', 'never'], - 'object-shorthand': ['error', 'always'], - 'prefer-const': 'off', - 'func-style': ['error', 'declaration', {'allowArrowFunctions': true}], - '@typescript-eslint/consistent-type-imports': ['error'], - '@typescript-eslint/no-shadow': 'error', - '@typescript-eslint/array-type': ['error', { - default: 'array-simple' - }], - '@typescript-eslint/member-delimiter-style': ['error', { - multiline: { - delimiter: 'semi', - requireLast: true - }, - singleline: { - delimiter: 'semi', - requireLast: false - } - }], - '@typescript-eslint/no-explicit-any': ['warn'], - '@typescript-eslint/brace-style': ['error'], - '@typescript-eslint/no-unused-vars': 'warn', - 'vue/html-indent': 'error', - 'vue/require-default-prop': 'off', - 'vue/multi-word-component-names': 'off', - 'vue/component-api-style': ['error', ['script-setup', 'composition']], - 'vue/component-name-in-template-casing': ['error', 'PascalCase', { - 'registeredComponentsOnly': false, - // Allow namespaced component names, e.g. - ignores: ['/^[A-Z][a-zA-Z]*(\\.[A-Z][a-zA-Z]*)*$/'] - }], - 'vue/max-attributes-per-line': 'error', - 'vue/object-curly-spacing': ['error', 'always'], - 'vue/component-tags-order': ['error', { - 'order': [ 'script', 'template', 'style' ] - }], - '@intlify/vue-i18n/no-raw-text': [ - 'warn', - { - 'ignoreText': [ - '(', ')', '(+', '[', ']', '{', '}', ' ', - ',', '.', '...', ';', ':', '"', '\'', '—', - '+', '-', '=', '%', '@', '|', '/', '\\', - 'Alt', 'Ctrl', 'Shift', 'Meta', 'Enter' - ] - } - ] - }, - settings: { - 'vue-i18n': { - localeDir: 'localization/messages' - } - } -}; \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..6313b56c --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index ad642a6f..00000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,2 +0,0 @@ -patreon: sigma_file_manager -custom: ['buymeacoffee.com/alekseyhoffman'] diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 0086358d..00000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1 +0,0 @@ -blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index cc9bc84d..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -name: Feature Request -about: Suggest a feature or improvement idea for the app -labels: enhancement ---- - - -## Feature request: - - diff --git a/.github/ISSUE_TEMPLATE/problem_report.yml b/.github/ISSUE_TEMPLATE/problem_report.yml deleted file mode 100644 index c14be1c8..00000000 --- a/.github/ISSUE_TEMPLATE/problem_report.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Problem Report -description: Create a problem report to help improve the app -labels: [bug] -body: -- type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search [opened issues](https://github.com/aleksey-hoffman/sigma-file-manager/issues) to see if an issue already exists for this problem. - options: - - label: I have searched the opened issues - required: true -- type: textarea - attributes: - label: Problem description - description: A clear & concise description of what you're experiencing. - validations: - required: false -- type: textarea - attributes: - label: Steps to reproduce - description: Specify steps to reproduce the behavior. - value: | - 1. - validations: - required: false -- type: textarea - attributes: - label: Environment - description: | - Examples: - - **OS**: Windows 10 - - **App version**: 1.0.0 - value: | - - OS: - - App version: - validations: - required: false diff --git a/.github/media/get-from-microsoft.png b/.github/media/get-from-microsoft.png deleted file mode 100644 index b9be197e48cfe9e5e4733b7c36dfa17af377986d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7361 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 diff --git a/.github/media/logo-1024x1024.png b/.github/media/logo-1024x1024.png deleted file mode 100644 index b0dad4d835ca39e090f18d5026ee6ee3ca4a7f61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26463 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 a@?fPa*#T+uy_980bV@{Y__0ZeX@3GR?!smO diff --git a/.github/media/main.png b/.github/media/main.png deleted file mode 100644 index 9c6f0126653d80aa40d4d5812b5c1caef13e3227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65477 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 diff --git a/.github/media/patreon_button.png b/.github/media/patreon_button.png deleted file mode 100644 index c7856d1b5eab447000fec27d2e53ed89cac9b2e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3954 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 h8K=ch{B2>https://github.com/aleksey-hoffman/sigma-file-manager/wiki/Supporter-rewards - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/label-supporter.yml b/.github/workflows/label-supporter.yml deleted file mode 100644 index 7494a82d..00000000 --- a/.github/workflows/label-supporter.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Label supporter - -on: - issues: - types: [opened, edited] - -jobs: - add_label_tier_1: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-ecosystem/action-add-labels@v1.1.0 - if: - ${{ - contains( - fromJson('[ - "theoob", - "julienripet", - "valentimarco", - "HarkTu" - ]'), - github.actor - ) - }} - with: - github_token: ${{ github.token }} - labels: | - supporter 💖 - priority +1 - - add_label_tier_2: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-ecosystem/action-add-labels@v1.1.0 - if: - ${{ - contains( - fromJson('[ - "andyundso", - "exploitacious" - ]'), - github.actor - ) - }} - with: - github_token: ${{ github.token }} - labels: | - supporter 💖 - priority +2 - - add_label_tier_3: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-ecosystem/action-add-labels@v1.1.0 - if: - ${{ - contains( - fromJson('[ - "photoancestry" - ]'), - github.actor - ) - }} - with: - github_token: ${{ github.token }} - labels: | - supporter 💖 - priority +3 diff --git a/.gitignore b/.gitignore index 29858e4e..8ee54e8d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,17 +8,23 @@ pnpm-debug.log* lerna-debug.log* node_modules +.DS_Store dist dist-ssr +coverage *.local -.stylelintcache + +/cypress/videos/ +/cypress/screenshots/ # Editor directories and files -.vscode +.vscode/* +!.vscode/extensions.json .idea -.DS_Store *.suo *.ntvs* *.njsproj *.sln *.sw? + +*.tsbuildinfo diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100644 index a0ec8830..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,3 +0,0 @@ -npm run sync-i18n -npm run sync-license -npx lint-staged --concurrent false \ No newline at end of file diff --git a/.stylelintrc.json b/.stylelintrc similarity index 90% rename from .stylelintrc.json rename to .stylelintrc index 307c973e..118b0ea7 100644 --- a/.stylelintrc.json +++ b/.stylelintrc @@ -26,6 +26,7 @@ "no-descending-specificity": null, "color-hex-length": "long", "color-function-notation": "modern", - "property-no-vendor-prefix": null + "property-no-vendor-prefix": null, + "import-notation": "string" } } \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..8f8a11f9 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + "Vue.volar", + "vitest.explorer", + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "oxc.oxc-vscode" + ] +} diff --git a/BAKERS.md b/BAKERS.md deleted file mode 100644 index 9c1bf03d..00000000 --- a/BAKERS.md +++ /dev/null @@ -1,70 +0,0 @@ -# Supporters - -These wonderful people and companies are currently funding this project. Thanks to them I can keep improving this app, they are the reason good quality free software can exist. - -### SPONSORS - LEVEL 2 -Become the first supporter - -### SPONSORS - LEVEL 1 -Become the first supporter - -### GENEROUS SUPPORTERS - - - - - - - - - -
- - - -
- ⭐ Houston Photo Restoration -
- -### GRATEFUL SUPPORTERS - - - -### THOUGHTFUL SUPPORTERS - - - -## Join - -#### 🎉 Supporter goal: 4 of 300 people joined - -See the list of rewards and consider joining our community on Patreon: - - - - - -- Supporters are added to the list from top to bottom. The earlier you start supporting the project, the higher your name will be on the list. -- "3+ months" supporters will have the ⭐ badge displayed next to their name. -- The funding will be used for: - - Fund the development of this project; - - Fund the development of my other big research project: advanced tools / algorithms that will help scientists speed up development of new medications and treatments for diseases, reducing the time need to find a new medication from 10 years (current average) to just a few months, and hopefully help humanity get rid of diseases; - - Support other open-source and open-content creators (developers, educators, digital artists, etc); diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 1d7c5580..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,144 +0,0 @@ -# Contributing - -If you'd like to contribute your skills to improve this project, follow this guide. - -## How to contribute - -Before you write any code, please create a new issue or a discussion and describe the feature / fix / changes you want to implement so we can discuss it first. - -Then, follow one of the following 2 methods, to add the changes. - -After you send your changes, I will review and merge it into the project, if they are beneficial. - -## Method 1 - -`For new developers` - -If you are new to contributing code, try this method. - -If you are new and you want to learn and try the more advanced "method 2" below, you should watch several video tutorials about "Git", look up "beginner guides to contributing to a GitHub project", then practice working with branches and committing / pushing changes to your own test repository, make sure you understand what you are doing. Then you can try contributing using the "method 2" below. - -### Steps - -1. Go to the [main project page (v2 branch)](https://github.com/aleksey-hoffman/sigma-file-manager/tree/v2), press `.` (dot) button on your keyboard. Github will open an online code editor and allow you to modify any file and commit the changes for review. -2. Implement your changes into the code. -3. Commit the code changes with a short descriptive message, for example: "improved navigator list layout" - -## Method 2 - -`For experienced developers` - - -### Prerequisites - -- Install Node.js version >= `20.10.0` (you can use tools like nvm to install and manage multiple Node versions on your computer). - -- Use the links below to install Rust and other required libs for your platform. Then relaunch the terminal if needed. Instructions: - - [For Windows](https://tauri.app/v1/guides/getting-started/prerequisites/#setting-up-windows) - - [For Linux](https://tauri.app/v1/guides/getting-started/prerequisites/#setting-up-linux) - - [For MacOS](https://tauri.app/v1/guides/getting-started/prerequisites/#setting-up-macos) - -### Steps - -1. Switch to `Node v20` or newer. -2. Clone the project -``` -git clone https://github.com/aleksey-hoffman/sigma-file-manager.git -``` -3. Change working directory -``` -cd sigma-file-manager -``` -3. Change branch to v2 -``` -git checkout v2 -``` -4. Install dependencies: -``` -npm i -``` -5. Don't forget to setup your git config locally (for this project) if you are not using the global config: -``` -git config user.name "Your Name Here" -git config user.email your@email.example -``` - -⚠️ These are publicly visible and will be used in your changes. - -6. Run the app in dev mode - -``` -npm run tauri:dev -``` - -Or the following, on Linux, if you see any visual issues - -``` -npm run tauri:dev:webkit-igpu -``` - -### Create build - -This is optional. Run this command if you want to create the production build with yor changes and install the app. - -``` -npm run tauri:build -``` - -The build can be configured in the `./vite.config.js` file. - -### ⚡ Pull changes - -The code base is updated frequently, so make sure you pull the latest changes from Github and install dependencies before sending your changes or running / building the app to make sure you are using the latest code: - -``` -git checkout v2 && git pull && npm i -``` - -### Send your changes - -1. Pull the latest changes from git -``` -git checkout v2 && git pull && npm i -``` -2. Make sure you are on the v2 branch. Create a new branch for your feature / fix with a short meaningful name (without spaces), for example: -``` -git checkout -b add-new-navigator-layout -``` -3. Make sure there's no conflicts between your changes and the pulled changes. - -4. Add all your changes to "staged": -``` -git add . -``` -5. Create a commit with your changes with a short descriptive message: -``` -git commit -m "fixed problem X" -``` -6. Push the commit to Github: -``` -git push -``` -7. Create a new pull request on Github. - -## Notes: - -These notes are mostly relevant when you are contributing via `method 2` described above. - -- Formatter: Use Eslint formatter plugin to format the code. Disable prettier if it's enabled in your IDE. - -- Try to stick to the project code style. - -- If you are fixing a known problem (specific issue), reference the issue # that the PR resolves at the top of the body of the PR, for example: "Fixes #1234" or "Resolves #6458" (see [closing issues using keywords](https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue)) - -## Known issues with the app - -### Linux - -When running on proprietary Nvidia (or unsupported) drivers, you may encounter different visual issues. - -To run the AppImage build on a Linux system with unsupported drivers, run the app with the compositing flag, for example: - -``` -env WEBKIT_DISABLE_COMPOSITING_MODE=1 ./sigma-file-manager-v2_2.0.0-alpha.1_amd64.AppImage -``` \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 9954af1b..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,204 +0,0 @@ -# NOTICE: -"Sigma file manager" is free, open-source software licensed under GNU GPLv3 or later. -Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -Source code of this program can be found on GitHub. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see - -# THE PROJECT LICENSE: -GNU GENERAL PUBLIC LICENSE -Version 3, 29 June 2007 - -Copyright © 2007 Free Software Foundation, Inc. - -Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - -Preamble -The GNU General Public License is a free, copyleft license for software and other kinds of works. - -The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. - -For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. - -Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. - -Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. - -Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and modification follow. - -TERMS AND CONDITIONS -0. Definitions. -“This License” refers to version 3 of the GNU General Public License. - -“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. - -“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. - -To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. - -A “covered work” means either the unmodified Program or a work based on the Program. - -To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. - -To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. - -An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. - -1. Source Code. -The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. - -A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. - -The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. - -The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same work. - -2. Basic Permissions. -All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. - -Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - -3. Protecting Users' Legal Rights From Anti-Circumvention Law. -No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. - -When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. - -4. Conveying Verbatim Copies. -You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. - -You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. - -5. Conveying Modified Source Versions. -You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: - -a) The work must carry prominent notices stating that you modified it, and giving a relevant date. -b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. -c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. -d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. -A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. - -6. Conveying Non-Source Forms. -You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: - -a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. -b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. -c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. -d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. -e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. -A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. - -A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. - -“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. - -If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). - -The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. - -7. Additional Terms. -“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: - -a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or -b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or -c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or -d) Limiting the use for publicity purposes of names of licensors or authors of the material; or -e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or -f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. -All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. - -If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. - -8. Termination. -You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). - -However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. - -Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. - -9. Acceptance Not Required for Having Copies. -You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. - -10. Automatic Licensing of Downstream Recipients. -Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. - -An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. - -11. Patents. -A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. - -A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. - -In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. - -If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. - -A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. - -12. No Surrender of Others' Freedom. -If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - -13. Use with the GNU Affero General Public License. -Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. - -14. Revised Versions of this License. -The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. - -If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. - -Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. - -15. Disclaimer of Warranty. -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -16. Limitation of Liability. -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -17. Interpretation of Sections 15 and 16. -If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - -END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/PRIVACY_POLICY.md b/PRIVACY_POLICY.md deleted file mode 100644 index 1f1035e5..00000000 --- a/PRIVACY_POLICY.md +++ /dev/null @@ -1,4 +0,0 @@ -## Privacy policy -This app doesn't collect or send any of your personal data anywhere. All your data is stored and processed locally on your device. - -In case an error occures, the app will generate an automatic report containing your computer's stats like free memory, OS version, the error message, etc. and show you the instructions on how to review the report and post it manually yourself on the project's page on Github, if you want to share it. \ No newline at end of file diff --git a/README.md b/README.md index 8f8c5daa..5a4c1682 100644 --- a/README.md +++ b/README.md @@ -1,105 +1,45 @@ -> [!NOTE] -> -> [Sigma File Manager:](https://github.com/aleksey-hoffman/sigma-file-manager) development is paused
-> [Sigma File Manager v2.0 (current page):](https://github.com/aleksey-hoffman/sigma-file-manager/tree/v2) development is active +# sigma-file-manager -

- -   Sigma File Manager v2 -

+This template should help get you started developing with Vue 3 in Vite. -"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows and Linux. +## Recommended IDE Setup -Designed, developed, and maintained by [Aleksey Hoffman](https://github.com/aleksey-hoffman) +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). - +## Type Support for `.vue` Imports in TS -## Community links -[Discord](https://discord.gg/sxZTztFVwX) | [Reddit](https://www.reddit.com/r/SigmaFileManager) | [YouTube](https://www.youtube.com/@sigma-dev) | [X (Twitter)](https://twitter.com/sigma__dev) | [Telegram](https://t.me/sigma_devs) -
Thanks to everyone who has been sharing this project with others! +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. -## Supporters +## Customize configuration -Consider supporting the project on Patreon: +See [Vite Configuration Reference](https://vite.dev/config/). - - - -
- - See other methods - +## Project Setup -### Sponsors +```sh +npm install +``` - - - - - - - -
- - - - - Hover is a popular service where you buy domain names for your website. -
Use my Hover link and we'll both get $2 off their domains. -
+### Compile and Hot-Reload for Development - - - - - - - -
- - - - - Houston's #1 Photo Restoration Service -
photoancestry.com -
+```sh +npm run dev +``` -### Supporters +### Type-Check, Compile and Minify for Production - - - - - - - -
- - - Andy Pfister - - - - - Alex Ivantsov - -
+```sh +npm run build +``` -
+### Run Unit Tests with [Vitest](https://vitest.dev/) -

- See the full list of supporters → -

+```sh +npm run test:unit +``` -The funding will be used for funding the development of this and my other big projects. I'm also working in collaboration with a few universities on a project that will help scientists speed up development of new medications and treatments for diseases, reducing the time need to find a new medication from 10 years (current average) to just a few months, and hopefully help humanity get rid of diseases (the project will be open-sourced later); +### Lint with [ESLint](https://eslint.org/) -## Download - -[See releases](https://github.com/aleksey-hoffman/sigma-file-manager/releases) - -## For developers - -If you'd like to contribute your skills to improve this project, follow this guide: [CONTRIBUTING.md](./CONTRIBUTING.md) \ No newline at end of file +```sh +npm run lint +``` diff --git a/eslint.config.ts b/eslint.config.ts new file mode 100644 index 00000000..8f23d4ae --- /dev/null +++ b/eslint.config.ts @@ -0,0 +1,87 @@ +import { globalIgnores } from 'eslint/config'; +import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; +import pluginVue from 'eslint-plugin-vue'; +import pluginVitest from '@vitest/eslint-plugin'; +import pluginOxlint from 'eslint-plugin-oxlint'; +import pluginStylistic from '@stylistic/eslint-plugin'; +import checkFile from 'eslint-plugin-check-file'; + +export default defineConfigWithVueTs( + globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**', 'src-tauri/**']), + pluginVue.configs['flat/strongly-recommended'], + vueTsConfigs.recommended, + pluginStylistic.configs.customize({ + semi: true, + }), + { + ...pluginVitest.configs.recommended, + files: ['src/**/__tests__/*'], + }, + ...pluginOxlint.configs['flat/recommended'], + { + files: ['**/*.{ts,mts,tsx,vue}'], + plugins: { + 'check-file': checkFile, + }, + rules: { + 'func-style': ['error', 'declaration', { allowTypeAnnotation: true }], + 'vue/max-attributes-per-line': 'error', + 'vue/multi-word-component-names': 'off', + 'vue/component-name-in-template-casing': ['error', 'PascalCase', { + registeredComponentsOnly: true, + ignores: [], + globals: ['RouterView', 'Teleport', 'Component', 'Transition', 'TransitionGroup'], + }], + '@stylistic/object-curly-spacing': ['error', 'always'], + '@stylistic/object-property-newline': ['error', { allowAllPropertiesOnSameLine: false }], + '@stylistic/object-curly-newline': [ + 'error', + { + ObjectExpression: { + multiline: true, + consistent: true, + }, + ObjectPattern: { multiline: true }, + ImportDeclaration: { + multiline: true, + minProperties: 5, + }, + ExportDeclaration: { multiline: true }, + }, + ], + '@stylistic/padding-line-between-statements': [ + 'error', + { + blankLine: 'always', + prev: 'block-like', + next: '*', + }, + { + blankLine: 'always', + prev: '*', + next: 'block-like', + }, + ], + 'check-file/filename-naming-convention': [ + 'error', + { + '**/*': 'KEBAB_CASE', + }, + { + ignoreMiddleExtensions: true, + }, + ], + 'check-file/folder-naming-convention': [ + 'error', + { + '**/': 'KEBAB_CASE', + }, + ], + }, + settings: { + 'vue-i18n': { + localeDir: 'localization/messages', + }, + }, + }, +); diff --git a/index.html b/index.html index 75162ab9..9e5fc8f0 100644 --- a/index.html +++ b/index.html @@ -1,16 +1,13 @@ - - - - - - - Sigma File Manager v2 - - - -
- - - - \ No newline at end of file + + + + + + Vite App + + +
+ + + diff --git a/package-lock.json b/package-lock.json index 9c47867d..43df4432 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,285 +1,424 @@ { - "name": "sigma-file-manager-v2", - "version": "2.0.0-alpha.1", + "name": "sigma-file-manager", + "version": "2.0.0-alpha.2", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "sigma-file-manager-v2", - "version": "2.0.0-alpha.1", - "license": "GPL-3.0-or-later", + "name": "sigma-file-manager", + "version": "2.0.0-alpha.2", "dependencies": { - "@tauri-apps/api": "^1.5.3", - "@vueuse/core": "^10.8.0", - "dayjs": "^1.11.10", + "@tailwindcss/vite": "^4.1.11", + "@tauri-apps/api": "^2.6.0", + "@tauri-apps/plugin-opener": "^2.5.0", + "@tauri-apps/plugin-store": "^2.3.0", + "@vueuse/core": "^13.9.0", + "class-variance-authority": "^0.7.1", + "dayjs": "^1.11.13", "lodash.clonedeep": "^4.5.0", - "minimatch": "^9.0.3", - "overlayscrollbars": "^2.5.0", - "overlayscrollbars-vue": "^0.5.7", - "pinia": "^2.1.7", - "radix-vue": "^1.4.8", - "sigma-scrollkit": "^1.0.16", - "splitpanes": "^3.1.5", - "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store", - "vue": "^3.4.19", - "vue-i18n": "^9.9.1", - "vue-router": "^4.3.0", + "lucide-vue-next": "^0.525.0", + "pinia": "^3.0.3", + "reka-ui": "^2.6.0", + "tailwindcss": "^4.1.11", + "v-wave": "^3.0.3", + "vue": "^3.5.17", + "vue-i18n": "^11.1.9", + "vue-router": "^4.5.1", "vue3-smooth-dnd": "^0.0.6" }, "devDependencies": { - "@iconify/vue": "^4.1.1", - "@intlify/eslint-plugin-vue-i18n": "^2.0.0", - "@tauri-apps/cli": "^1.5.10", - "@tsconfig/node20": "^20.1.2", - "@types/node": "^20.11.20", - "@vitejs/plugin-vue": "^5.0.4", - "@vue/eslint-config-typescript": "^12.0.0", - "@vue/tsconfig": "^0.5.1", - "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-import-newlines": "^1.3.4", - "eslint-plugin-vue": "^9.22.0", - "husky": "^9.0.11", - "lint-staged": "^15.2.2", - "npm-run-all": "^4.1.5", - "readdirp": "^3.6.0", - "stylelint": "^16.2.1", - "stylelint-config-css-modules": "^4.4.0", + "@stylistic/eslint-plugin": "^5.1.0", + "@tauri-apps/cli": "^2.6.2", + "@tsconfig/node22": "^22.0.2", + "@types/jsdom": "^21.1.7", + "@types/lodash.clonedeep": "^4.5.9", + "@types/node": "^24.0.10", + "@vitejs/plugin-vue": "^6.0.0", + "@vitest/eslint-plugin": "^1.3.4", + "@vue/eslint-config-typescript": "^14.6.0", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.7.0", + "eslint": "^9.30.1", + "eslint-plugin-better-tailwindcss": "^3.4.4", + "eslint-plugin-check-file": "^3.3.0", + "eslint-plugin-oxlint": "~1.5.0", + "eslint-plugin-vue": "~10.3.0", + "jiti": "^2.4.2", + "jsdom": "^26.1.0", + "npm-run-all2": "^8.0.4", + "oxlint": "~1.5.0", + "readdirp": "^4.1.2", + "stylelint": "^16.21.1", + "stylelint-config-css-modules": "^4.5.1", "stylelint-config-idiomatic-order": "^10.0.0", - "stylelint-config-recommended-vue": "^1.5.0", - "stylelint-config-standard": "^36.0.0", - "stylelint-selector-bem-pattern": "^3.0.1", - "typescript": "^5.3.3", - "vite": "^5.1.4", - "vite-plugin-eslint": "^1.8.1", - "vite-plugin-stylelint": "^5.3.1", - "vue-tsc": "^1.8.27" + "stylelint-config-recommended-vue": "^1.6.1", + "stylelint-config-standard": "^38.0.0", + "stylelint-selector-bem-pattern": "^4.0.1", + "typescript": "~5.8.3", + "vite": "npm:rolldown-vite@latest", + "vite-plugin-run": "^0.6.1", + "vite-plugin-vue-devtools": "^7.7.7", + "vitest": "^3.2.4", + "vue-eslint-parser": "^10.2.0", + "vue-tsc": "^3.0.1" }, "engines": { - "node": ">=20.10.0" + "node": ">=22.13.1" } }, - "../sigma-virtual-scroller": { - "version": "1.0.0", - "extraneous": true, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { - "rollup-plugin-typescript2": "^0.34.1", - "vite-plugin-css-injected-by-js": "^3.1.1", - "vue": "^3.3.2" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, - "devDependencies": { - "@rushstack/eslint-patch": "^1.2.0", - "@tsconfig/node18": "^2.0.1", - "@types/node": "^20.1.3", - "@vitejs/plugin-vue": "^4.2.3", - "@vue/eslint-config-typescript": "^11.0.3", - "@vue/tsconfig": "^0.4.0", - "eslint": "^8.40.0", - "eslint-plugin-vue": "^9.12.0", - "npm-run-all": "^4.1.5", - "typescript": "~5.0.4", - "vite": "^4.2.0", - "vue-tsc": "^1.6.4" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", + "node_modules/@antfu/utils": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.10.tgz", + "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@asamuzakjp/css-color": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz", + "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@csstools/css-calc": "^2.1.3", + "@csstools/css-color-parser": "^3.0.9", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3", + "lru-cache": "^10.4.3" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@babel/compat-data": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.7.tgz", + "integrity": "sha512-xgu/ySj2mTiUFmdE9yCMfBxLp4DHd5DwmbbD05YAuICfodYT3VvRxbrh81LGQ/8UpSdtMdfKMn3KouYDX59DGQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.7.tgz", + "integrity": "sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==", + "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.6", + "@babel/parser": "^7.27.7", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.27.7", + "@babel/types": "^7.27.7", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.27.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz", + "integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/parser": "^7.27.5", + "@babel/types": "^7.27.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" + "@babel/types": "^7.27.3" }, "engines": { - "node": ">=4" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@babel/helpers": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.6.tgz", + "integrity": "sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.6" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.7.tgz", + "integrity": "sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.7" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -287,21 +426,336 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/runtime": { - "version": "7.20.6", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.27.1.tgz", + "integrity": "sha512-DTxe4LBPrtFdsWzgpmbBKevg3e9PBy+dXRt19kSbucbZvL2uqtdqwwpluL1jfxYE0wIDTFp1nTy/q6gNLsxXrg==", "dev": true, "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.11" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz", + "integrity": "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.5.0.tgz", - "integrity": "sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==", + "node_modules/@babel/traverse": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.7.tgz", + "integrity": "sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.5", + "@babel/parser": "^7.27.7", + "@babel/template": "^7.27.2", + "@babel/types": "^7.27.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.7.tgz", + "integrity": "sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@biomejs/biome": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.1.2.tgz", + "integrity": "sha512-yq8ZZuKuBVDgAS76LWCfFKHSYIAgqkxVB3mGVVpOe2vSkUTs7xG46zXZeNPRNVjiJuw0SZ3+J2rXiYx0RUpfGg==", + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "2.1.2", + "@biomejs/cli-darwin-x64": "2.1.2", + "@biomejs/cli-linux-arm64": "2.1.2", + "@biomejs/cli-linux-arm64-musl": "2.1.2", + "@biomejs/cli-linux-x64": "2.1.2", + "@biomejs/cli-linux-x64-musl": "2.1.2", + "@biomejs/cli-win32-arm64": "2.1.2", + "@biomejs/cli-win32-x64": "2.1.2" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.1.2.tgz", + "integrity": "sha512-leFAks64PEIjc7MY/cLjE8u5OcfBKkcDB0szxsWUB4aDfemBep1WVKt0qrEyqZBOW8LPHzrFMyDl3FhuuA0E7g==", + "cpu": [ + "arm64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.1.2.tgz", + "integrity": "sha512-Nmmv7wRX5Nj7lGmz0FjnWdflJg4zii8Ivruas6PBKzw5SJX/q+Zh2RfnO+bBnuKLXpj8kiI2x2X12otpH6a32A==", + "cpu": [ + "x64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.1.2.tgz", + "integrity": "sha512-NWNy2Diocav61HZiv2enTQykbPP/KrA/baS7JsLSojC7Xxh2nl9IczuvE5UID7+ksRy2e7yH7klm/WkA72G1dw==", + "cpu": [ + "arm64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.2.tgz", + "integrity": "sha512-qgHvafhjH7Oca114FdOScmIKf1DlXT1LqbOrrbR30kQDLFPEOpBG0uzx6MhmsrmhGiCFCr2obDamu+czk+X0HQ==", + "cpu": [ + "arm64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.1.2.tgz", + "integrity": "sha512-Km/UYeVowygTjpX6sGBzlizjakLoMQkxWbruVZSNE6osuSI63i4uCeIL+6q2AJlD3dxoiBJX70dn1enjQnQqwA==", + "cpu": [ + "x64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.2.tgz", + "integrity": "sha512-xlB3mU14ZUa3wzLtXfmk2IMOGL+S0aHFhSix/nssWS/2XlD27q+S6f0dlQ8WOCbYoXcuz8BCM7rCn2lxdTrlQA==", + "cpu": [ + "x64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.1.2.tgz", + "integrity": "sha512-G8KWZli5ASOXA3yUQgx+M4pZRv3ND16h77UsdunUL17uYpcL/UC7RkWTdkfvMQvogVsAuz5JUcBDjgZHXxlKoA==", + "cpu": [ + "arm64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.1.2.tgz", + "integrity": "sha512-9zajnk59PMpjBkty3bK2IrjUsUHvqe9HWwyAWQBjGLE7MIBjbX2vwv1XPEhmO2RRuGoTkVx3WCanHrjAytICLA==", + "cpu": [ + "x64" + ], + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@csstools/color-helpers": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", + "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", "dev": true, "funding": [ { @@ -313,17 +767,90 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" + } + }, + "node_modules/@csstools/css-calc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz", + "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-color-parser": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", + "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/color-helpers": "^5.0.2", + "@csstools/css-calc": "^2.1.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" + } + }, + "node_modules/@csstools/css-parser-algorithms": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz", + "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^3.0.4" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz", - "integrity": "sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz", + "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==", "dev": true, "funding": [ { @@ -335,14 +862,15 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.7.tgz", - "integrity": "sha512-lHPKJDkPUECsyAvD60joYfDmp8UERYxHGkFfyLJFTVK/ERJe0sVlIFLXU5XFxdjNDTerp5L4KeaKG+Z5S94qxQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz", + "integrity": "sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ==", "dev": true, "funding": [ { @@ -354,413 +882,598 @@ "url": "https://opencollective.com/csstools" } ], + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18" + "node": ">=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.5.0", - "@csstools/css-tokenizer": "^2.2.3" + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@csstools/selector-specificity": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz", - "integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==", + "node_modules/@dual-bundle/import-meta-resolve": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^6.0.13" + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz", + "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", + "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz", + "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz", - "integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", + "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "aix" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz", - "integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", + "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz", - "integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", + "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz", - "integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", + "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "android" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz", - "integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", + "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz", - "integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", + "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz", - "integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", + "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz", - "integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", + "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz", - "integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", + "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz", - "integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", + "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz", - "integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", + "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz", - "integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", + "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", "cpu": [ "loong64" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz", - "integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", + "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", "cpu": [ "mips64el" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz", - "integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", + "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", "cpu": [ "ppc64" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz", - "integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", + "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", "cpu": [ "riscv64" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz", - "integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", + "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz", - "integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", + "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz", - "integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", + "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", "cpu": [ - "x64" + "arm64" ], + "license": "MIT", "optional": true, "os": [ "netbsd" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz", - "integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", + "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", "cpu": [ "x64" ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", + "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", + "cpu": [ + "arm64" + ], + "license": "MIT", "optional": true, "os": [ "openbsd" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz", - "integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", + "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", "cpu": [ "x64" ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", + "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", + "cpu": [ + "x64" + ], + "license": "MIT", "optional": true, "os": [ "sunos" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz", - "integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", + "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz", - "integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", + "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz", - "integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", + "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" ], + "peer": true, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", + "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/css-tree": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@eslint/css-tree/-/css-tree-3.6.1.tgz", + "integrity": "sha512-5DIsBME23tUQD5zHD+T38lC2DG4jB8x8JRa+yDncLne2TIZA0VuCpcSazOX1EC+sM/q8w24qeevXfmfsIxAeqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.21.0", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -768,14 +1481,16 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -785,6 +1500,8 @@ }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -795,51 +1512,97 @@ } }, "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.1.tgz", + "integrity": "sha512-zXhuECFlyep42KZUhWjfvsmXGX39W8K8LFb8AWXM9gSV9dQB+MrJGLKvW6Zw0Ggnbpw0VHTtrhFXYe3Gym18jg==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.3.tgz", + "integrity": "sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.15.1", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.1.tgz", + "integrity": "sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.2.tgz", + "integrity": "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==", + "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.1" + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.2.tgz", + "integrity": "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==", + "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" + "@floating-ui/core": "^1.7.2", + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" }, "node_modules/@floating-ui/vue": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.0.6.tgz", - "integrity": "sha512-EdrOljjkpkkqZnrpqUcPoz9NvHxuTjUtSInh6GMv3+Mcy+giY2cE2pHh9rpacRcZ2eMSCxel9jWkWXTjLmY55w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.7.tgz", + "integrity": "sha512-idmAtbAIigGXN2SI5gItiXYBYtNfDTP9yIiObxgu13dgtG7ARCHlNfnR29GxP4LI4o13oiwsJ8wVgghj1lNqcw==", + "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.6.1", - "@floating-ui/utils": "^0.2.1", + "@floating-ui/dom": "^1.7.2", + "@floating-ui/utils": "^0.2.10", "vue-demi": ">=0.13.0" } }, "node_modules/@floating-ui/vue/node_modules/vue-demi": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", - "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", "hasInstallScript": true, + "license": "MIT", "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", "vue-demi-switch": "bin/vue-demi-switch.js" @@ -860,44 +1623,48 @@ } } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10.10.0" + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": "*" + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -908,38 +1675,46 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@iconify/types": { - "version": "2.0.0", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "license": "MIT" - }, - "node_modules/@iconify/vue": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@iconify/types": "^2.0.0" + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" }, "funding": { - "url": "https://github.com/sponsors/cyberalien" - }, - "peerDependencies": { - "vue": ">=3" + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@internationalized/date": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", + "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.3.tgz", + "integrity": "sha512-p+Zh1sb6EfrfVaS86jlHGQ9HA66fJhV9x5LiE5vCbZtXEHAuhcmUZUdZ4WrFpUBfNalr2OkAJI5AcKEQF+Lebw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" } }, "node_modules/@intlify/core-base": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.9.1.tgz", - "integrity": "sha512-qsV15dg7jNX2faBRyKMgZS8UcFJViWEUPLdzZ9UR0kQZpFVeIpc0AG7ZOfeP7pX2T9SQ5jSiorq/tii9nkkafA==", + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-11.1.9.tgz", + "integrity": "sha512-Lrdi4wp3XnGhWmB/mMD/XtfGUw1Jt+PGpZI/M63X1ZqhTDjNHRVCs/i8vv8U1cwaj1A9fb0bkCQHLSL0SK+pIQ==", + "license": "MIT", "dependencies": { - "@intlify/message-compiler": "9.9.1", - "@intlify/shared": "9.9.1" + "@intlify/message-compiler": "11.1.9", + "@intlify/shared": "11.1.9" }, "engines": { "node": ">= 16" @@ -948,69 +1723,13 @@ "url": "https://github.com/sponsors/kazupon" } }, - "node_modules/@intlify/eslint-plugin-vue-i18n": { - "version": "2.0.0", - "dev": true, + "node_modules/@intlify/message-compiler": { + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-11.1.9.tgz", + "integrity": "sha512-84SNs3Ikjg0rD1bOuchzb3iK1vR2/8nxrkyccIl5DjFTeMzE/Fxv6X+A7RN5ZXjEWelc1p5D4kHA6HEOhlKL5Q==", "license": "MIT", "dependencies": { - "@eslint/eslintrc": "^1.2.0", - "@intlify/core-base": "^9.1.9", - "@intlify/message-compiler": "^9.1.9", - "debug": "^4.3.1", - "glob": "^8.0.0", - "ignore": "^5.0.5", - "is-language-code": "^3.1.0", - "js-yaml": "^4.0.0", - "json5": "^2.1.3", - "jsonc-eslint-parser": "^2.0.0", - "lodash": "^4.17.11", - "parse5": "^7.0.0", - "semver": "^7.3.4", - "vue-eslint-parser": "^9.0.0", - "yaml-eslint-parser": "^1.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/glob": { - "version": "8.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@intlify/eslint-plugin-vue-i18n/node_modules/minimatch": { - "version": "5.1.6", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@intlify/message-compiler": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.9.1.tgz", - "integrity": "sha512-zTvP6X6HeumHOXuAE1CMMsV6tTX+opKMOxO1OHTCg5N5Sm/F7d8o2jdT6W6L5oHUsJ/vvkGefHIs7Q3hfowmsA==", - "dependencies": { - "@intlify/shared": "9.9.1", + "@intlify/shared": "11.1.9", "source-map-js": "^1.0.2" }, "engines": { @@ -1021,9 +1740,10 @@ } }, "node_modules/@intlify/shared": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.9.1.tgz", - "integrity": "sha512-b3Pta1nwkz5rGq434v0psHwEwHGy1pYCttfcM22IE//K9owbpkEvFptx9VcuRAxjQdrO2If249cmDDjBu5wMDA==", + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-11.1.9.tgz", + "integrity": "sha512-H/83xgU1l8ox+qG305p6ucmoy93qyjIPnvxGWRA7YdOoHe1tIiW9IlEu4lTdsOR7cfP1ecrwyflQSqXdXBacXA==", + "license": "MIT", "engines": { "node": ">= 16" }, @@ -1031,11 +1751,35 @@ "url": "https://github.com/sponsors/kazupon" } }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1048,63 +1792,92 @@ "node": ">=12" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@keyv/serialize": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", + "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^6.0.3" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz", + "integrity": "sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.9.0" + } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "license": "MIT", "dependencies": { @@ -1117,6 +1890,8 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "license": "MIT", "engines": { @@ -1125,6 +1900,8 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "license": "MIT", "dependencies": { @@ -1135,203 +1912,1098 @@ "node": ">= 8" } }, + "node_modules/@nuxt/kit": { + "version": "3.17.7", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.7.tgz", + "integrity": "sha512-JLno3ur7Pix2o/StxIMlEHRkMawA6h7uzjZBDgxdeKXRWTYY8ID9YekSkN4PBlEFGXBfCBOcPd5+YqcyBUAMkw==", + "license": "MIT", + "dependencies": { + "c12": "^3.0.4", + "consola": "^3.4.2", + "defu": "^6.1.4", + "destr": "^2.0.5", + "errx": "^0.1.0", + "exsolve": "^1.0.7", + "ignore": "^7.0.5", + "jiti": "^2.4.2", + "klona": "^2.0.6", + "knitwork": "^1.2.0", + "mlly": "^1.7.4", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "pkg-types": "^2.2.0", + "scule": "^1.3.0", + "semver": "^7.7.2", + "std-env": "^3.9.0", + "tinyglobby": "^0.2.14", + "ufo": "^1.6.1", + "unctx": "^2.4.1", + "unimport": "^5.1.0", + "untyped": "^2.0.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@nuxt/kit/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@oxc-project/runtime": { + "version": "0.75.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.75.0.tgz", + "integrity": "sha512-gzRmVI/vorsPmbDXt7GD4Uh2lD3rCOku/1xWPB4Yx48k0EP4TZmzQudWapjN4+7Vv+rgXr0RqCHQadeaMvdBuw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.75.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.75.0.tgz", + "integrity": "sha512-QMW+06WOXs7+F301Y3X0VpmWhwuQVc/X/RP2zF9OIwvSMmsif3xURS2wxbakFIABYsytgBcHpUcFepVS0Qnd3A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@oxlint/darwin-arm64": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/darwin-arm64/-/darwin-arm64-1.5.0.tgz", + "integrity": "sha512-CxzOtmOwQfaXXwAAJzPInNHhzldMeFsga7oe9mUp5bYIa/mm/Aqs0lxyAP9RZXoxaUHJTbfJovSsl6PU6gbCHw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@oxlint/darwin-x64": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/darwin-x64/-/darwin-x64-1.5.0.tgz", + "integrity": "sha512-awD5yNGIRy2DrfzbrfeTSjZ+ITKr9+FGGvufquAB7kzfveFZNa621FpmCJ8MQY8hzXFD99iP7ClMNbaCzDfV/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@oxlint/linux-arm64-gnu": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-gnu/-/linux-arm64-gnu-1.5.0.tgz", + "integrity": "sha512-Nr8oUAEo20WIBo/qi76dBo5IGw2bQcl7d2YbaigOSQoAGfHR9xE9hAySYhIsnv7W0jtAZu1YTn0So7Tg0idExw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxlint/linux-arm64-musl": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/linux-arm64-musl/-/linux-arm64-musl-1.5.0.tgz", + "integrity": "sha512-H2MBL0LZnl3GP09r12tFfcv3Y2fvetMD1TYbf5cetYCQ7hG7aIYTsuOTENjZ0SDK+L9Id35YWFNP3YES+3tsgw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxlint/linux-x64-gnu": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-gnu/-/linux-x64-gnu-1.5.0.tgz", + "integrity": "sha512-pRu77WJ+Uy0l6OkCjljnHuzOlSbMsN1mFDeAyzh8R69O44Mc2C7f1Fe+fbbW2kjgIwFQq8JkUffvPWr1MCMa+A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxlint/linux-x64-musl": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/linux-x64-musl/-/linux-x64-musl-1.5.0.tgz", + "integrity": "sha512-qHG2YR+06pEAF4Gfp3T8hSaiI/IchdbuditnnVYxy32pN43vNMVDO7fU5hnNzJpxh6HozAD3uRrskBNvxgeSrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@oxlint/win32-arm64": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/win32-arm64/-/win32-arm64-1.5.0.tgz", + "integrity": "sha512-/YRDPf1sPCF6B026buZTvh1vOF/pS+75aBDnxrDWIFhP1w3flqcI9v5QVjtq/sOZEWAoP2ee46CrxcxK5UuYag==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@oxlint/win32-x64": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@oxlint/win32-x64/-/win32-x64-1.5.0.tgz", + "integrity": "sha512-4HmkdYgDmejTxXESV1EBXd0zFLsoNJad+VrWZizzpTCmBnWEL5+tueEmEBBb4F55/sFZt8bdD//RbaTM9aOQJA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" } }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", + "node_modules/@pkgr/core": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.7.tgz", + "integrity": "sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==", "dev": true, "license": "MIT", - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, "engines": { - "node": ">= 8.0.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/pkgr" } }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.1.tgz", - "integrity": "sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ] + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.1.tgz", - "integrity": "sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.1.tgz", - "integrity": "sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.21.tgz", + "integrity": "sha512-FFkhqqq4kz7UCa4mGkexdsPK5++31zBTnhUTYhDUX+hdCwcYOlh2r2WsjHY+fQCMbIJ2UqOdAIocVGirs6/f7w==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.1.tgz", - "integrity": "sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.21.tgz", + "integrity": "sha512-To/Ma+/5rxSoCVO/EInVCpQBB5YA4PDme0yYsbC5b76d+1OzuENaY4iq8vmCcEDZVnTU+xnfwfiMR9X+gB8W/w==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.1.tgz", - "integrity": "sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==", + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.21.tgz", + "integrity": "sha512-Z1lct0slFVDp08xzmRX6dPI7/uh6JG8dAswVdM4h5jjeXksC2AQpzBj4YgeX6t0OI428PC7FKP1k6T8HZS7Frg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.21.tgz", + "integrity": "sha512-XKfjZLMODXpgHW1gZUkP/3giahuZD+35ft92nJX6qzEAjcwsZRNsAW2mlWPH68Kp97TBw09+zkNuL8vP66L9uw==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.1.tgz", - "integrity": "sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==", + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.21.tgz", + "integrity": "sha512-Q+5C4gUakWccecCmsr3ts6ypQzGPHUp+ooUQhQAf7L6bTv6037gsRYGDdkxla77S5+VfLXBwNXKZFsndDOuZoQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.1.tgz", - "integrity": "sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==", + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.21.tgz", + "integrity": "sha512-xf30hS7YvyZlkqR3NZAWm+so0m9Rrp24TRq1F4UmNWpDL5Cwbmgak/Cn4IYUEY6PE960+ZejuAhbCDPt5Bxaeg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.1.tgz", - "integrity": "sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.1.tgz", - "integrity": "sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==", + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.21.tgz", + "integrity": "sha512-/X3MvmRcIQSxmHF/TxO2SI0snHjGlY2uO3BKwgPA100hSmvVDuz6cFB80tcGNCUVSJAtRHt/FniNTmbMHfdHLQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.1.tgz", - "integrity": "sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==", + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.21.tgz", + "integrity": "sha512-z5rjicKLgYiffiHOQgM3kROyEUILRZx3GeLtRnrf9yjgMDdpguRl3ggB67ej5ytgRXn5K5F13lsIv5R0i9KRFQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.1.tgz", - "integrity": "sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==", + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.21.tgz", + "integrity": "sha512-v5eFQYJcD4a2FBb/KDzS+bhVW2tf5aolJCbAiqlVnJwD3dbYMQtwJRwej2kISDerGplx6yQIHp5R5Y7GRoEGhw==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.10" + }, + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.21.tgz", + "integrity": "sha512-1QZIJXSlbIlHJT6xY1YCuyF54sSOoOlsUaX3pWlJvuZs4fbgl894gN4wZATYd0V7KT62qfRdB40wg0yfrTkfFQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.1.tgz", - "integrity": "sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==", + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.21.tgz", + "integrity": "sha512-JXTN7gKNmQoFtqYrCK0If4HuZagvBQ7ThY6fl2rAMbUXpq3mtVd+Z2k0TzzeWB7Nxwo6FusLYYlbmPYS5QCl1w==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.1.tgz", - "integrity": "sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==", + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.21.tgz", + "integrity": "sha512-wp7kF6IpuVVqQVzkaDxrxJqBByMSEJ8uAa9LTW1fK2x8TulNRjlxPRpjeDNji2uiEGa+QbdQDfRm/WS8ROnutg==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@tauri-apps/api": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.5.3.tgz", - "integrity": "sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==", - "engines": { - "node": ">= 14.6.0", - "npm": ">= 6.6.0", - "yarn": ">= 1.19.1" + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", + "integrity": "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.2.0.tgz", + "integrity": "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", + "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", + "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", + "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", + "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", + "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", + "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", + "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", + "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", + "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", + "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", + "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", + "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", + "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", + "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", + "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", + "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", + "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", + "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", + "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", + "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@stylistic/eslint-plugin": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-5.1.0.tgz", + "integrity": "sha512-TJRJul4u/lmry5N/kyCU+7RWWOk0wyXN+BncRlDYBqpLFnzXkd7QGVfN7KewarFIXv0IX0jSF/Ksu7aHWEDeuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/types": "^8.34.1", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=9.0.0" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz", + "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.11" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.11.tgz", + "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.11", + "@tailwindcss/oxide-darwin-arm64": "4.1.11", + "@tailwindcss/oxide-darwin-x64": "4.1.11", + "@tailwindcss/oxide-freebsd-x64": "4.1.11", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", + "@tailwindcss/oxide-linux-x64-musl": "4.1.11", + "@tailwindcss/oxide-wasm32-wasi": "4.1.11", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.11.tgz", + "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.11.tgz", + "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.11.tgz", + "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.11.tgz", + "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.11.tgz", + "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.11.tgz", + "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.11.tgz", + "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.11.tgz", + "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.11.tgz", + "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.11.tgz", + "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.11", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.11.tgz", + "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.11.tgz", + "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.11.tgz", + "integrity": "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.11", + "@tailwindcss/oxide": "4.1.11", + "tailwindcss": "4.1.11" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", + "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.12", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", + "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.13.12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, + "node_modules/@tauri-apps/api": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.9.0.tgz", + "integrity": "sha512-qD5tMjh7utwBk9/5PrTA/aGr3i5QaJ/Mlt7p8NilQ45WgbifUNPyKWsA63iQ8YfQq6R8ajMapU+/Q8nMcPRLNw==", + "license": "Apache-2.0 OR MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/tauri" } }, "node_modules/@tauri-apps/cli": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.5.10.tgz", - "integrity": "sha512-8+6NJgqSXqsFAEuUERDDRWrLh24TMT4aisn1qpADvKVX4KlBAKE17KTXHI54XQFR8qLbkUFNzprU4M9PV8ighw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.6.2.tgz", + "integrity": "sha512-s1/eyBHxk0wG1blLeOY2IDjgZcxVrkxU5HFL8rNDwjYGr0o7yr3RAtwmuUPhz13NO+xGAL1bJZaLFBdp+5joKg==", "dev": true, + "license": "Apache-2.0 OR MIT", "bin": { "tauri": "tauri.js" }, @@ -1343,26 +3015,28 @@ "url": "https://opencollective.com/tauri" }, "optionalDependencies": { - "@tauri-apps/cli-darwin-arm64": "1.5.10", - "@tauri-apps/cli-darwin-x64": "1.5.10", - "@tauri-apps/cli-linux-arm-gnueabihf": "1.5.10", - "@tauri-apps/cli-linux-arm64-gnu": "1.5.10", - "@tauri-apps/cli-linux-arm64-musl": "1.5.10", - "@tauri-apps/cli-linux-x64-gnu": "1.5.10", - "@tauri-apps/cli-linux-x64-musl": "1.5.10", - "@tauri-apps/cli-win32-arm64-msvc": "1.5.10", - "@tauri-apps/cli-win32-ia32-msvc": "1.5.10", - "@tauri-apps/cli-win32-x64-msvc": "1.5.10" + "@tauri-apps/cli-darwin-arm64": "2.6.2", + "@tauri-apps/cli-darwin-x64": "2.6.2", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.6.2", + "@tauri-apps/cli-linux-arm64-gnu": "2.6.2", + "@tauri-apps/cli-linux-arm64-musl": "2.6.2", + "@tauri-apps/cli-linux-riscv64-gnu": "2.6.2", + "@tauri-apps/cli-linux-x64-gnu": "2.6.2", + "@tauri-apps/cli-linux-x64-musl": "2.6.2", + "@tauri-apps/cli-win32-arm64-msvc": "2.6.2", + "@tauri-apps/cli-win32-ia32-msvc": "2.6.2", + "@tauri-apps/cli-win32-x64-msvc": "2.6.2" } }, "node_modules/@tauri-apps/cli-darwin-arm64": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.5.10.tgz", - "integrity": "sha512-8dqHaGFKFUEMv3CfEyRP0Ebq28X4Oz74bdi393nBZVqbZM8SN6JdB7kXNb3o3W1TMNSu0M71e6x06YvXSNWvXQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.6.2.tgz", + "integrity": "sha512-YlvT+Yb7u2HplyN2Cf/nBplCQARC/I4uedlYHlgtxg6rV7xbo9BvG1jLOo29IFhqA2rOp5w1LtgvVGwsOf2kxw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "darwin" @@ -1372,13 +3046,14 @@ } }, "node_modules/@tauri-apps/cli-darwin-x64": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.5.10.tgz", - "integrity": "sha512-qb/9H2FgGRAZPlPj5ingwgpI9B1BUWBUjJpjP+XzSkgjfSQVs3mbdCFz+knGIfrbpw/rBfdOt9BM7biWqIml3Q==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.6.2.tgz", + "integrity": "sha512-21gdPWfv1bP8rkTdCL44in70QcYcPaDM70L+y78N8TkBuC+/+wqnHcwwjzb+mUyck6UoEw2DORagSI/oKKUGJw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "darwin" @@ -1388,13 +3063,14 @@ } }, "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.5.10.tgz", - "integrity": "sha512-iYwfKHGQU0Ezvj5OOhILDiv9VSNm3oouctsvUC4ygOLhpVKXDqQ6nQwJzUZey1KjpBPeM7spOOEYZYxNUgAdZA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.6.2.tgz", + "integrity": "sha512-MW8Y6HqHS5yzQkwGoLk/ZyE1tWpnz/seDoY4INsbvUZdknuUf80yn3H+s6eGKtT/0Bfqon/W9sY7pEkgHRPQgA==", "cpu": [ "arm" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "linux" @@ -1404,13 +3080,14 @@ } }, "node_modules/@tauri-apps/cli-linux-arm64-gnu": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.5.10.tgz", - "integrity": "sha512-kz4tI6Rr8wRuSVrDYpT6mAzHDW/rwPosb2wGatnhKRPb5v9LGPAZflUUUj+AAXnyl6XmD86Rbu7ekkm9BGm1Vw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.6.2.tgz", + "integrity": "sha512-9PdINTUtnyrnQt9hvC4y1m0NoxKSw/wUB9OTBAQabPj8WLAdvySWiUpEiqJjwLhlu4T6ltXZRpNTEzous3/RXg==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "linux" @@ -1420,13 +3097,31 @@ } }, "node_modules/@tauri-apps/cli-linux-arm64-musl": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.10.tgz", - "integrity": "sha512-HswFaeTplIVY6YSjx+awXfLqB4zwzW3D/8WpmxHY3kyxaE4VnXBhKT86YnlA+qX0qZxgsYr0L0EXxk940lHtKQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.2.tgz", + "integrity": "sha512-LrcJTRr7FrtQlTDkYaRXIGo/8YU/xkWmBPC646WwKNZ/S6yqCiDcOMoPe7Cx4ZvcG6sK6LUCLQMfaSNEL7PT0A==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.6.2.tgz", + "integrity": "sha512-GnTshO/BaZ9KGIazz2EiFfXGWgLur5/pjqklRA/ck42PGdUQJhV/Ao7A7TdXPjqAzpFxNo6M/Hx0GCH2iMS7IA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "linux" @@ -1436,13 +3131,14 @@ } }, "node_modules/@tauri-apps/cli-linux-x64-gnu": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.5.10.tgz", - "integrity": "sha512-sOh7slboFQxJCBH5QFNe1Iw3JF2GPWYsq2TlQ6T8GgFh/cb13bK/a1TJG/gOrsRA7/pkIweaSufjpKpPBzAoGQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.6.2.tgz", + "integrity": "sha512-QDG3WeJD6UJekmrtVPCJRzlKgn9sGzhvD58oAw5gIU+DRovgmmG2U1jH9fS361oYGjWWO7d/KM9t0kugZzi4lQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "linux" @@ -1452,13 +3148,14 @@ } }, "node_modules/@tauri-apps/cli-linux-x64-musl": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.10.tgz", - "integrity": "sha512-fbTZa3Q01ttIKg6s9rhWGRfdOI23zIPa6loVz6YafHAzr3WLLEXSuG2fI/+01TdX9xdr6glttu8j3H5xE5oDgw==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.2.tgz", + "integrity": "sha512-TNVTDDtnWzuVqWBFdZ4+8ZTg17tc21v+CT5XBQ+KYCoYtCrIaHpW04fS5Tmudi+vYdBwoPDfwpKEB6LhCeFraQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "linux" @@ -1468,13 +3165,14 @@ } }, "node_modules/@tauri-apps/cli-win32-arm64-msvc": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.5.10.tgz", - "integrity": "sha512-Hntd66+Rrjn2dPPHqCVhZSXotNn5u7lfSff/1riIFbR4hZysB1OPlMOEjh51lBYhmcrvhseMfGfwH6D9i7WYKg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.6.2.tgz", + "integrity": "sha512-z77C1oa/hMLO/jM1JF39tK3M3v9nou7RsBnQoOY54z5WPcpVAbS0XdFhXB7sSN72BOiO3moDky9lQANQz6L3CA==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "win32" @@ -1484,13 +3182,14 @@ } }, "node_modules/@tauri-apps/cli-win32-ia32-msvc": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.5.10.tgz", - "integrity": "sha512-Kgd3qojNhH7qRsS2RKD1rKgUzk4y/v+SWW8Yr/xNo6FIYZzJChawW+WrYyBBtRoftrhLwm09LSnkR21KlGZxbA==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.6.2.tgz", + "integrity": "sha512-TmD8BbzbjluBw8+QEIWUVmFa9aAluSkT1N937n1mpYLXcPbTpbunqRFiIznTwupoJNJIdtpF/t7BdZDRh5rrcg==", "cpu": [ "ia32" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "win32" @@ -1500,13 +3199,14 @@ } }, "node_modules/@tauri-apps/cli-win32-x64-msvc": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.5.10.tgz", - "integrity": "sha512-pvuot24ZeLqQYD3rQHSzHJvUDX/kE18F98yl2mO9IHrHQyasdqlLhr/6kkmOWIvFDqyQNhpFXDzGNPm7yRbB1g==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.6.2.tgz", + "integrity": "sha512-ItB8RCKk+nCmqOxOvbNtltz6x1A4QX6cSM21kj3NkpcnjT9rHSMcfyf8WVI2fkoMUJR80iqCblUX6ARxC3lj6w==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 OR MIT", "optional": true, "os": [ "win32" @@ -1515,444 +3215,277 @@ "node": ">= 10" } }, - "node_modules/@tsconfig/node20": { - "version": "20.1.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", - "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", - "dev": true + "node_modules/@tauri-apps/plugin-opener": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-opener/-/plugin-opener-2.5.0.tgz", + "integrity": "sha512-B0LShOYae4CZjN8leiNDbnfjSrTwoZakqKaWpfoH6nXiJwt6Rgj6RnVIffG3DoJiKsffRhMkjmBV9VeilSb4TA==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.8.0" + } }, - "node_modules/@types/eslint": { - "version": "8.21.0", + "node_modules/@tauri-apps/plugin-store": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-store/-/plugin-store-2.3.0.tgz", + "integrity": "sha512-mre8er0nXPhyEWQzWCpUd+UnEoBQYcoA5JYlwpwOV9wcxKqlXTGfminpKsE37ic8NUb2BIZqf0QQ9/U3ib2+/A==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.6.0" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.2.tgz", + "integrity": "sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@types/deep-eql": "*" } }, - "node_modules/@types/estree": { - "version": "1.0.0", + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, "license": "MIT" }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/jsdom": { + "version": "21.1.7", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz", + "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "node_modules/@types/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "dev": true, + "license": "MIT" }, - "node_modules/@types/node": { - "version": "20.11.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", - "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", - "devOptional": true, + "node_modules/@types/lodash.clonedeep": { + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.9.tgz", + "integrity": "sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==", + "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "@types/lodash": "*" } }, - "node_modules/@types/semver": { - "version": "7.5.0", + "node_modules/@types/node": { + "version": "24.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.10.tgz", + "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true, "license": "MIT" }, "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" + "version": "0.0.21", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz", - "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.1.tgz", + "integrity": "sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/type-utils": "6.19.1", - "@typescript-eslint/utils": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.35.1", + "@typescript-eslint/type-utils": "8.35.1", + "@typescript-eslint/utils": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^7.0.0", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.35.1", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", - "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1" - }, + "license": "MIT", "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", - "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", - "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", - "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/typescript-estree": "6.19.1", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", - "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 4" } }, "node_modules/@typescript-eslint/parser": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", - "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.1.tgz", + "integrity": "sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/typescript-estree": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", + "@typescript-eslint/scope-manager": "8.35.1", + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/typescript-estree": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1", "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", - "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.1.tgz", + "integrity": "sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1" + "@typescript-eslint/tsconfig-utils": "^8.35.1", + "@typescript-eslint/types": "^8.35.1", + "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", - "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", - "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", - "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.59.5", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.1.tgz", + "integrity": "sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5" + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.1.tgz", + "integrity": "sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz", - "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.1.tgz", + "integrity": "sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "6.19.1", - "@typescript-eslint/utils": "6.19.1", + "@typescript-eslint/typescript-estree": "8.35.1", + "@typescript-eslint/utils": "8.35.1", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", - "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", - "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", - "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", - "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/typescript-estree": "6.19.1", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", - "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.19.1", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/types": { - "version": "5.59.5", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.1.tgz", + "integrity": "sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==", "dev": true, "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1960,207 +3493,617 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.59.5", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.1.tgz", + "integrity": "sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/visitor-keys": "5.59.5", + "@typescript-eslint/project-service": "8.35.1", + "@typescript-eslint/tsconfig-utils": "8.35.1", + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.1.tgz", + "integrity": "sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.35.1", + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/typescript-estree": "8.35.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.1.tgz", + "integrity": "sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.35.1", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.0.tgz", + "integrity": "sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-beta.19" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitest/eslint-plugin": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@vitest/eslint-plugin/-/eslint-plugin-1.3.4.tgz", + "integrity": "sha512-EOg8d0jn3BAiKnR55WkFxmxfWA3nmzrbIIuOXyTe6A72duryNgyU+bdBEauA97Aab3ho9kLmAwgPX63Ckj4QEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.24.1" + }, + "peerDependencies": { + "eslint": ">= 8.57.0", + "typescript": ">= 5.0.0", + "vitest": "*" + }, "peerDependenciesMeta": { "typescript": { "optional": true + }, + "vitest": { + "optional": true } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.59.5", + "node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.59.5", - "@typescript-eslint/types": "5.59.5", - "@typescript-eslint/typescript-estree": "5.59.5", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "url": "https://opencollective.com/vitest" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.59.5", + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.59.5", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", - "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", - "dev": true, - "engines": { - "node": "^18.0.0 || >=20.0.0" + "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vite": "^5.0.0", - "vue": "^3.2.25" + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.17.tgz", + "integrity": "sha512-chmRZMbKmcGpKMoO7Reb70uiLrzo0KWC2CkFttKUuKvrE+VYgi+fL9vWMJ07Fv5ulX0V1TAyyacN9q3nc5/ecA==", "dev": true, + "license": "MIT", "dependencies": { - "@volar/source-map": "1.11.1" + "@volar/source-map": "2.4.17" } }, "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.17.tgz", + "integrity": "sha512-QDybtQyO3Ms/NjFqNHTC5tbDN2oK5VH7ZaKrcubtfHBDj63n2pizHC3wlMQ+iT55kQXZUUAbmBX5L1C8CHFeBw==", "dev": true, - "dependencies": { - "muggle-string": "^0.3.1" - } + "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "version": "2.4.17", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.17.tgz", + "integrity": "sha512-3paEFNh4P5DkgNUB2YkTRrfUekN4brAXxd3Ow1syMqdIPtCZHbUy4AW99S5RO/7mzyTWPMdDSo3mqTpB/LPObQ==", "dev": true, + "license": "MIT", "dependencies": { - "@volar/language-core": "1.11.1", - "path-browserify": "^1.0.1" + "@volar/language-core": "2.4.17", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz", + "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz", + "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "@vue/babel-helper-vue-transform-on": "1.4.0", + "@vue/babel-plugin-resolve-type": "1.4.0", + "@vue/shared": "^3.5.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz", + "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/parser": "^7.26.9", + "@vue/compiler-sfc": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/compiler-core": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.19.tgz", - "integrity": "sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", + "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/shared": "3.4.19", + "@babel/parser": "^7.27.5", + "@vue/shared": "3.5.17", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.19.tgz", - "integrity": "sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", + "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", + "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.4.19", - "@vue/shared": "3.4.19" + "@vue/compiler-core": "3.5.17", + "@vue/shared": "3.5.17" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.19.tgz", - "integrity": "sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.17.tgz", + "integrity": "sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/compiler-core": "3.4.19", - "@vue/compiler-dom": "3.4.19", - "@vue/compiler-ssr": "3.4.19", - "@vue/shared": "3.4.19", + "@babel/parser": "^7.27.5", + "@vue/compiler-core": "3.5.17", + "@vue/compiler-dom": "3.5.17", + "@vue/compiler-ssr": "3.5.17", + "@vue/shared": "3.5.17", "estree-walker": "^2.0.2", - "magic-string": "^0.30.6", - "postcss": "^8.4.33", - "source-map-js": "^1.0.2" + "magic-string": "^0.30.17", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.19.tgz", - "integrity": "sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.17.tgz", + "integrity": "sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.19", - "@vue/shared": "3.4.19" + "@vue/compiler-dom": "3.5.17", + "@vue/shared": "3.5.17" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" } }, "node_modules/@vue/devtools-api": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz", - "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" - }, - "node_modules/@vue/eslint-config-typescript": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-12.0.0.tgz", - "integrity": "sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==", - "dev": true, + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.7.tgz", + "integrity": "sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==", + "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.0", - "vue-eslint-parser": "^9.3.1" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" + "@vue/devtools-kit": "^7.7.7" + } + }, + "node_modules/@vue/devtools-core": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-7.7.7.tgz", + "integrity": "sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.7", + "@vue/devtools-shared": "^7.7.7", + "mitt": "^3.0.1", + "nanoid": "^5.1.0", + "pathe": "^2.0.3", + "vite-hot-client": "^2.0.4" }, "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", - "eslint-plugin-vue": "^9.0.0", - "typescript": "*" + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-core/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@vue/devtools-core/node_modules/vite": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/@vue/devtools-core/node_modules/vite-hot-client": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.0.4.tgz", + "integrity": "sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.7.tgz", + "integrity": "sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.7", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.7.tgz", + "integrity": "sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/eslint-config-typescript": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.6.0.tgz", + "integrity": "sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.35.1", + "fast-glob": "^3.3.3", + "typescript-eslint": "^8.35.1", + "vue-eslint-parser": "^10.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^9.10.0", + "eslint-plugin-vue": "^9.28.0 || ^10.0.0", + "typescript": ">=4.8.4" }, "peerDependenciesMeta": { "typescript": { @@ -2169,20 +4112,20 @@ } }, "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.0.1.tgz", + "integrity": "sha512-sq+/Mc1IqIexWEQ+Q2XPiDb5SxSvY5JPqHnMOl/PlF5BekslzduX8dglSkpC17VeiAQB6dpS+4aiwNLJRduCNw==", "dev": true, + "license": "MIT", "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", - "computeds": "^0.0.1", - "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" + "@volar/language-core": "2.4.17", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^2.0.5", + "minimatch": "^10.0.1", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" }, "peerDependencies": { "typescript": "*" @@ -2193,142 +4136,166 @@ } } }, - "node_modules/@vue/reactivity": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.19.tgz", - "integrity": "sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==", + "node_modules/@vue/language-core/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", "dependencies": { - "@vue/shared": "3.4.19" + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.17.tgz", + "integrity": "sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.17" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.19.tgz", - "integrity": "sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.17.tgz", + "integrity": "sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.4.19", - "@vue/shared": "3.4.19" + "@vue/reactivity": "3.5.17", + "@vue/shared": "3.5.17" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.19.tgz", - "integrity": "sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.17.tgz", + "integrity": "sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==", + "license": "MIT", "dependencies": { - "@vue/runtime-core": "3.4.19", - "@vue/shared": "3.4.19", + "@vue/reactivity": "3.5.17", + "@vue/runtime-core": "3.5.17", + "@vue/shared": "3.5.17", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.19.tgz", - "integrity": "sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.17.tgz", + "integrity": "sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==", + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.4.19", - "@vue/shared": "3.4.19" + "@vue/compiler-ssr": "3.5.17", + "@vue/shared": "3.5.17" }, "peerDependencies": { - "vue": "3.4.19" + "vue": "3.5.17" } }, "node_modules/@vue/shared": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.19.tgz", - "integrity": "sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==" + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", + "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==", + "license": "MIT" }, - "node_modules/@vue/tsconfig": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", - "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", - "dev": true - }, - "node_modules/@vueuse/core": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.8.0.tgz", - "integrity": "sha512-G9Ok9fjx10TkNIPn8V1dJmK1NcdJCtYmDRyYiTMUyJ1p0Tywc1zmOoCQ2xhHYyz8ULBU4KjIJQ9n+Lrty74iVw==", + "node_modules/@vue/test-utils": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz", + "integrity": "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.8.0", - "@vueuse/shared": "10.8.0", - "vue-demi": ">=0.14.7" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^2.0.0" } }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", - "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" + "typescript": "5.x", + "vue": "^3.4.0" }, "peerDependenciesMeta": { - "@vue/composition-api": { + "typescript": { + "optional": true + }, + "vue": { "optional": true } } }, + "node_modules/@vueuse/core": { + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.9.0.tgz", + "integrity": "sha512-ts3regBQyURfCE2BcytLqzm8+MmLlo5Ln/KLoxDVcsZ2gzIwVNnQpQOL/UKV8alUqjSZOlpFZcRNsLRqj+OzyA==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "13.9.0", + "@vueuse/shared": "13.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/@vueuse/core/node_modules/@vueuse/shared": { + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.9.0.tgz", + "integrity": "sha512-e89uuTLMh0U5cZ9iDpEI2senqPGfbPRTHM/0AaQkcxnpqjkZqDYP8rpfm7edOz8s+pOCOROEy1PIveSW8+fL5g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, "node_modules/@vueuse/metadata": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.8.0.tgz", - "integrity": "sha512-Nim/Vle5OgXcXhAvGOgkJQXB1Yb+Kq/fMbLuv3YYDYbiQrwr39ljuD4k9fPeq4yUyokYRo2RaNQmbbIMWB/9+w==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.9.0.tgz", + "integrity": "sha512-1AFRvuiGphfF7yWixZa0KwjYH8ulyjDCC0aFgrGRz8+P4kvDFSdXLVfTk5xAN9wEuD1J6z4/myMoYbnHoX07zg==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.8.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.8.0.tgz", - "integrity": "sha512-dUdy6zwHhULGxmr9YUg8e+EnB39gcM4Fe2oKBSrh3cOsV30JcMPtsyuspgFCUo5xxFNaeMf/W2yyKfST7Bg8oQ==", + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "license": "MIT", "dependencies": { - "vue-demi": ">=0.14.7" + "vue": "^3.5.13" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", - "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "license": "ISC", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/acorn": { - "version": "8.10.0", - "dev": true, + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -2339,14 +4306,28 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", "dependencies": { @@ -2360,43 +4341,30 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-escapes": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", + "node_modules/alien-signals": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-2.0.5.tgz", + "integrity": "sha512-PdJB6+06nUNAClInE3Dweq7/2xVAYM64vvvS1IHVHSJmgeOtEdrAGyp7Z2oJtYm0B342/Exd2NT0uMJaThcjLQ==", "dev": true, - "dependencies": { - "type-fest": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, "node_modules/ansi-regex": { - "version": "5.0.1", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -2409,217 +4377,316 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "dev": true, + "node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, "engines": { - "node": ">= 8" + "node": ">=14" } }, "node_modules/argparse": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, "license": "Python-2.0" }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" + "tslib": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, "node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, "node_modules/astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/balanced-match": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, "license": "MIT" }, - "node_modules/binary-extensions": { - "version": "2.2.0", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/birpc": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.4.0.tgz", + "integrity": "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==", "license": "MIT", - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, "node_modules/boolbase": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true, "license": "ISC" }, "node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/braces": { - "version": "3.0.2", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "node_modules/browserslist": { + "version": "4.25.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.1.tgz", + "integrity": "sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "caniuse-lite": "^1.0.30001726", + "electron-to-chromium": "^1.5.173", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c12": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/c12/-/c12-3.1.0.tgz", + "integrity": "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.3", + "confbox": "^0.2.2", + "defu": "^6.1.4", + "dotenv": "^16.6.1", + "exsolve": "^1.0.7", + "giget": "^2.0.0", + "jiti": "^2.4.2", + "ohash": "^2.0.11", + "pathe": "^2.0.3", + "perfect-debounce": "^1.0.0", + "pkg-types": "^2.2.0", + "rc9": "^2.1.2" + }, + "peerDependencies": { + "magicast": "^0.3.5" + }, + "peerDependenciesMeta": { + "magicast": { + "optional": true + } + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.1.tgz", + "integrity": "sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hookified": "^1.10.0", + "keyv": "^5.3.4" + } + }, + "node_modules/cacheable/node_modules/keyv": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.4.tgz", + "integrity": "sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.0.3" } }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/caniuse-lite": { + "version": "1.0.30001726", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz", + "integrity": "sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chai": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -2633,126 +4700,74 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chokidar": { - "version": "3.5.3", + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">= 14.16.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "dev": true, + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "consola": "^3.2.3" } }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" + "clsx": "^2.1.1" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://polar.sh/cva" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" } }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2764,45 +4779,89 @@ }, "node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, "license": "MIT" }, "node_modules/colord": { "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true, "license": "MIT" }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, "node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16" + "node": ">=14" } }, - "node_modules/computeds": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", - "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", - "dev": true - }, "node_modules/concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, "license": "MIT" }, + "node_modules/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/consola": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", + "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, + "license": "MIT", "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -2824,43 +4883,10 @@ } } }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cross-env": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.1" - }, - "bin": { - "cross-env": "src/bin/cross-env.js", - "cross-env-shell": "src/bin/cross-env-shell.js" - }, - "engines": { - "node": ">=10.14", - "npm": ">=6", - "yarn": ">=1" - } - }, "node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -2873,28 +4899,40 @@ } }, "node_modules/css-functions-list": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", - "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", + "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12 || >=16" } }, "node_modules/css-tree": { - "version": "2.3.1", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", "dev": true, "license": "MIT", "dependencies": { - "mdn-data": "2.0.30", + "mdn-data": "2.12.2", "source-map-js": "^1.0.1" }, "engines": { "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, + "node_modules/css-tree/node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/cssesc": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, "license": "MIT", "bin": { @@ -2904,28 +4942,61 @@ "node": ">=4" } }, + "node_modules/cssstyle": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^3.2.0", + "rrweb-cssom": "^0.8.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" + }, + "engines": { + "node": ">=18" + } }, "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" }, "node_modules/de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2936,44 +5007,98 @@ } } }, - "node_modules/deep-is": { - "version": "0.1.4", + "node_modules/decimal.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", + "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", "dev": true, "license": "MIT" }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=6" } }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, + "license": "MIT" + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", + "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", + "dev": true, + "license": "MIT", "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", + "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "license": "MIT" + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" } }, "node_modules/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "license": "MIT", "dependencies": { @@ -2983,19 +5108,10 @@ "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dom-serializer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "license": "MIT", "peer": true, @@ -3008,8 +5124,24 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/domelementtype": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { @@ -3022,6 +5154,8 @@ }, "node_modules/domhandler": { "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "license": "BSD-2-Clause", "peer": true, @@ -3036,34 +5170,108 @@ } }, "node_modules/domutils": { - "version": "3.0.1", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "license": "BSD-2-Clause", "peer": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", "dev": true, "license": "MIT" }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.177", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.177.tgz", + "integrity": "sha512-7EH2G59nLsEMj97fpDuvVcYi6lwTcM1xuWw3PssD8xzboAW7zj7iB3COEEEATUfjLHrs5uKBLQT03V/8URx06g==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", + "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -3076,148 +5284,100 @@ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", + "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", "dev": true, "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/antfu" } }, + "node_modules/errx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/errx/-/errx-0.1.0.tgz", + "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==", + "license": "MIT" + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz", - "integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==", + "version": "0.25.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", + "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", + "devOptional": true, "hasInstallScript": true, + "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.10", - "@esbuild/android-arm": "0.19.10", - "@esbuild/android-arm64": "0.19.10", - "@esbuild/android-x64": "0.19.10", - "@esbuild/darwin-arm64": "0.19.10", - "@esbuild/darwin-x64": "0.19.10", - "@esbuild/freebsd-arm64": "0.19.10", - "@esbuild/freebsd-x64": "0.19.10", - "@esbuild/linux-arm": "0.19.10", - "@esbuild/linux-arm64": "0.19.10", - "@esbuild/linux-ia32": "0.19.10", - "@esbuild/linux-loong64": "0.19.10", - "@esbuild/linux-mips64el": "0.19.10", - "@esbuild/linux-ppc64": "0.19.10", - "@esbuild/linux-riscv64": "0.19.10", - "@esbuild/linux-s390x": "0.19.10", - "@esbuild/linux-x64": "0.19.10", - "@esbuild/netbsd-x64": "0.19.10", - "@esbuild/openbsd-x64": "0.19.10", - "@esbuild/sunos-x64": "0.19.10", - "@esbuild/win32-arm64": "0.19.10", - "@esbuild/win32-ia32": "0.19.10", - "@esbuild/win32-x64": "0.19.10" + "@esbuild/aix-ppc64": "0.25.5", + "@esbuild/android-arm": "0.25.5", + "@esbuild/android-arm64": "0.25.5", + "@esbuild/android-x64": "0.25.5", + "@esbuild/darwin-arm64": "0.25.5", + "@esbuild/darwin-x64": "0.25.5", + "@esbuild/freebsd-arm64": "0.25.5", + "@esbuild/freebsd-x64": "0.25.5", + "@esbuild/linux-arm": "0.25.5", + "@esbuild/linux-arm64": "0.25.5", + "@esbuild/linux-ia32": "0.25.5", + "@esbuild/linux-loong64": "0.25.5", + "@esbuild/linux-mips64el": "0.25.5", + "@esbuild/linux-ppc64": "0.25.5", + "@esbuild/linux-riscv64": "0.25.5", + "@esbuild/linux-s390x": "0.25.5", + "@esbuild/linux-x64": "0.25.5", + "@esbuild/netbsd-arm64": "0.25.5", + "@esbuild/netbsd-x64": "0.25.5", + "@esbuild/openbsd-arm64": "0.25.5", + "@esbuild/openbsd-x64": "0.25.5", + "@esbuild/sunos-x64": "0.25.5", + "@esbuild/win32-arm64": "0.25.5", + "@esbuild/win32-ia32": "0.25.5", + "@esbuild/win32-x64": "0.25.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -3228,272 +5388,169 @@ } }, "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz", + "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.0", + "@eslint/core": "^0.14.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.30.1", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "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", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "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" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-import-resolver-alias": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-alias/-/eslint-import-resolver-alias-1.1.2.tgz", - "integrity": "sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==", - "dev": true, - "engines": { - "node": ">= 4" + "url": "https://eslint.org/donate" }, "peerDependencies": { - "eslint-plugin-import": ">=1.4.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" + "jiti": "*" }, "peerDependenciesMeta": { - "eslint": { + "jiti": { "optional": true } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import-newlines": { - "version": "1.3.4", + "node_modules/eslint-plugin-better-tailwindcss": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-better-tailwindcss/-/eslint-plugin-better-tailwindcss-3.4.4.tgz", + "integrity": "sha512-Zi3B0sKOm8o6R7ezytjdubpDmF9RmSEej8ikteuCY/eUKECc/FFP/ldPuceuEWmYZzX9KiEaJwKt9kmzSR2B0w==", "dev": true, "license": "MIT", - "bin": { - "import-linter": "lib/index.js" + "dependencies": { + "@eslint/css-tree": "^3.6.1", + "enhanced-resolve": "^5.18.2", + "jiti": "^2.4.2", + "postcss": "^8.5.6", + "postcss-import": "^16.1.1", + "synckit": "^0.11.8", + "tailwind-csstree": "^0.1.1" }, "engines": { - "node": ">=10.0.0" + "node": "^20.11.0 || >=21.2.0" }, "peerDependencies": { - "eslint": ">=6.0.0" + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", + "tailwindcss": "^3.3.0 || ^4.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/eslint-plugin-check-file": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-check-file/-/eslint-plugin-check-file-3.3.0.tgz", + "integrity": "sha512-D57NBJRZt/8KzROsYgvRJzzItztWsP5B/9TssGhLHrrZzOMIFDn3RLnZN4kD7i5B4FduR040eOEqzKEcfFA9mQ==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "27.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz", - "integrity": "sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^5.10.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0", - "eslint": "^7.0.0 || ^8.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true + "funding": [ + { + "type": "ko_fi", + "url": "https://ko-fi.com/huanluo" }, - "jest": { - "optional": true + { + "type": "github", + "url": "https://github.com/sponsors/dukeluo" } + ], + "license": "Apache-2.0", + "workspaces": [ + "examples/basic" + ], + "dependencies": { + "is-glob": "^4.0.3", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": ">=9.0.0" + } + }, + "node_modules/eslint-plugin-oxlint": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-oxlint/-/eslint-plugin-oxlint-1.5.0.tgz", + "integrity": "sha512-+Um4akCxGOSJ8ozILC7GEU6xbKB1P8nYhLTfsvLiLot6Tt0VtM3oR/PH7SzHYgKb0HNpD5+8bXcaD5KErlIkIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.3.1" } }, "node_modules/eslint-plugin-vue": { - "version": "9.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.22.0.tgz", - "integrity": "sha512-7wCXv5zuVnBtZE/74z4yZ0CM8AjH6bk4MQGm7hZjUC2DBppKU5ioeOk5LGSg/s9a1ZJnIsdPLJpXnu1Rc+cVHg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.3.0.tgz", + "integrity": "sha512-A0u9snqjCfYaPnqqOaH6MBLVWDUIN4trXn8J3x67uDcXvR7X6Ut8p16N+nYhMCQ9Y7edg2BIRGzfyZsY0IdqoQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "natural-compare": "^1.4.0", "nth-check": "^2.1.1", "postcss-selector-parser": "^6.0.15", - "semver": "^7.6.0", - "vue-eslint-parser": "^9.4.2", + "semver": "^7.6.3", "xml-name-validator": "^4.0.0" }, "engines": { - "node": "^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0 || ^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", + "vue-eslint-parser": "^10.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/parser": { + "optional": true + } } }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3504,29 +5561,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "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" - }, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -3535,17 +5570,302 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "node_modules/eslint/node_modules/find-up": { + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.6", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.1", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.2.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expect-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", + "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/exsolve": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.7.tgz", + "integrity": "sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "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.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -3559,238 +5879,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.4.2", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.13.0", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.3" - } + "license": "ISC" }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, + "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -3800,16 +5917,27 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3823,42 +5951,31 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "dev": true, "engines": { "node": ">=18" }, @@ -3866,50 +5983,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "dev": true, + "node_modules/giget": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz", + "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "citty": "^0.1.6", + "consola": "^3.4.0", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.6", + "nypm": "^0.6.0", + "pathe": "^2.0.3" }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "giget": "dist/cli.mjs" } }, "node_modules/glob": { - "version": "7.2.3", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "license": "ISC", "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" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3917,6 +6023,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { @@ -3926,28 +6034,10 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/global-modules": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dev": true, "license": "MIT", "dependencies": { @@ -3959,6 +6049,8 @@ }, "node_modules/global-prefix": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dev": true, "license": "MIT", "dependencies": { @@ -3972,6 +6064,8 @@ }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", "dependencies": { @@ -3982,35 +6076,22 @@ } }, "node_modules/globals": { - "version": "13.20.0", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "license": "MIT", "dependencies": { @@ -4030,110 +6111,40 @@ }, "node_modules/globjoin": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", "dev": true, "license": "MIT" }, - "node_modules/gopd": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/graceful-fs": { - "version": "4.2.10", - "dev": true, + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, "license": "MIT" }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -4146,12 +6157,41 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, + "license": "MIT", "bin": { "he": "bin/he" } }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/hookified": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.10.0.tgz", + "integrity": "sha512-dJw0492Iddsj56U1JsSTm9E/0B/29a1AuoSLRAte8vQg/kaTGF3IgjEWT8c8yG4cC10+HisE1x5QAwR0Xwc+DA==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-encoding-sniffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^3.1.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/html-tags": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", "dev": true, "license": "MIT", "engines": { @@ -4162,7 +6202,9 @@ } }, "node_modules/htmlparser2": { - "version": "8.0.1", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -4175,37 +6217,111 @@ "peer": true, "dependencies": { "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "domutils": "^3.0.1", - "entities": "^4.3.0" + "entities": "^4.4.0" } }, - "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", + "node_modules/htmlparser2/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "bin": { - "husky": "bin.mjs" - }, + "license": "BSD-2-Clause", + "peer": true, "engines": { - "node": ">=18" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/sponsors/typicode" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4221,130 +6337,36 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, "node_modules/ini": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, "license": "ISC" }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true, "license": "MIT" }, - "node_modules/is-bigint": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -4353,8 +6375,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { @@ -4363,6 +6403,8 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -4371,6 +6413,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { @@ -4380,165 +6424,135 @@ "node": ">=0.10.0" } }, - "node_modules/is-language-code": { - "version": "3.1.0", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.14.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "dev": true, - "license": "MIT", + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-plain-object": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-regex": { - "version": "1.1.4", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, "license": "ISC" }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -4546,14 +6560,58 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/js-tokens": { - "version": "8.0.1", + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-beautify": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz", + "integrity": "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==", "dev": true, "license": "MIT", - "peer": true + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.4.2", + "js-cookie": "^3.0.5", + "nopt": "^7.2.1" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -4563,35 +6621,104 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsdom": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", + "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssstyle": "^4.2.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.5.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.6", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.16", + "parse5": "^7.2.1", + "rrweb-cssom": "^0.8.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^5.1.1", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.1.1", + "ws": "^8.18.0", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", "dev": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, "node_modules/json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, "license": "MIT" }, "node_modules/json5": { - "version": "2.2.1", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", "bin": { @@ -4601,21 +6728,24 @@ "node": ">=6" } }, - "node_modules/jsonc-eslint-parser": { - "version": "2.1.0", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.5.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "semver": "^7.3.5" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, "node_modules/keyv": { @@ -4623,26 +6753,54 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.2.0.tgz", + "integrity": "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==", + "license": "MIT" + }, "node_modules/known-css-properties": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", - "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", - "dev": true + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4653,476 +6811,337 @@ "node": ">= 0.8.0" } }, - "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", - "dev": true, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, "engines": { - "node": ">=14" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/lint-staged": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", - "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", "dev": true, + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "license": "MIT", "dependencies": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.1", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" }, "engines": { - "node": ">=18.12.0" + "node": ">=14" }, "funding": { - "url": "https://opencollective.com/lint-staged" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", - "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/onetime": { + "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", - "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", - "dev": true, - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.3.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true, "license": "MIT" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, "node_modules/lodash.truncate": { "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, "license": "MIT" }, - "node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", + "node_modules/loupe": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", "dev": true, - "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/string-width": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz", - "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } + "license": "MIT" }, "node_modules/lru-cache": { - "version": "6.0.0", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, + "license": "ISC" + }, + "node_modules/lucide-vue-next": { + "version": "0.525.0", + "resolved": "https://registry.npmjs.org/lucide-vue-next/-/lucide-vue-next-0.525.0.tgz", + "integrity": "sha512-Xf8+x8B2DrnGDV/rxylS+KBp2FIe6ljwDn2JsGTZZvXIfhmm/q+nv8RuGO1OyoMjOVkkz7CqtUqJfwtFPRbB2w==", "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "peerDependencies": { + "vue": ">=3.0.1" } }, "node_modules/magic-string": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", - "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/mathml-tag-names": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", "dev": true, "license": "MIT", "funding": { @@ -5131,22 +7150,27 @@ } }, "node_modules/mdn-data": { - "version": "2.0.30", + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz", + "integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==", "dev": true, "license": "CC0-1.0" }, "node_modules/memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "dev": true, "engines": { "node": ">= 0.10.0" } }, "node_modules/meow": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.1.0.tgz", - "integrity": "sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", + "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -5158,10 +7182,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", "engines": { @@ -5169,11 +7196,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -5185,12 +7214,16 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimatch": { - "version": "9.0.3", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -5202,45 +7235,112 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { - "version": "2.1.2", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", - "dev": true + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -5250,217 +7350,173 @@ }, "node_modules/natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, "license": "MIT" }, - "node_modules/nice-try": { - "version": "1.0.5", + "node_modules/node-fetch-native": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", + "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, "license": "MIT" }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", "dev": true, "license": "ISC", + "dependencies": { + "abbrev": "^2.0.0" + }, "bin": { - "semver": "bin/semver" + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/npm-run-all": { - "version": "4.1.5", + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz", + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" + "picomatch": "^4.0.2", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" }, "bin": { "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", "run-p": "bin/run-p/index.js", "run-s": "bin/run-s/index.js" }, "engines": { - "node": ">= 4" + "node": "^20.5.0 || >=22.0.0", + "npm": ">= 10" } }, - "node_modules/npm-run-all/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/npm-run-all2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm-run-all2/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", "engines": { - "node": ">=4" + "node": ">=16" } }, - "node_modules/npm-run-all/node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/npm-run-all2/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/npm-run-all/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "engines": { + "node": ">=12" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/npm-run-all/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/npm-run-all/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/npm-run-all/node_modules/cross-spawn": { - "version": "6.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/npm-run-all/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/npm-run-all/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/npm-run-all2/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/npm-run-all/node_modules/path-key": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/semver": { - "version": "5.7.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/npm-run-all/node_modules/shebang-command": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-all/node_modules/shebang-regex": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-all/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/which": { - "version": "1.3.1", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" }, "bin": { - "which": "bin/which" + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/nth-check": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -5470,99 +7526,44 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "node_modules/nwsapi": { + "version": "2.2.20", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", + "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "dev": true, + "node_modules/nypm": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.0.tgz", + "integrity": "sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "citty": "^0.1.6", + "consola": "^3.4.0", + "pathe": "^2.0.3", + "pkg-types": "^2.0.0", + "tinyexec": "^0.3.2" + }, + "bin": { + "nypm": "dist/cli.mjs" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.16.0 || >=16.10.0" } }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" }, "node_modules/onetime": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -5573,38 +7574,113 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { - "version": "0.9.3", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "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" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/overlayscrollbars": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-2.5.0.tgz", - "integrity": "sha512-CWVC2dwS07XZfLHDm5GmZN1iYggiJ8Vufnvzwt0gwR9Yz1hVckKeTxg7VILZeYVGhDYJHZ1Xc8Xfys5dWZ1qiA==" - }, - "node_modules/overlayscrollbars-vue": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/overlayscrollbars-vue/-/overlayscrollbars-vue-0.5.7.tgz", - "integrity": "sha512-i+jjyFXcCWlDhN3nOo0kt81NgwaixEvY60H/G2iixF2pAm4BnXi/i6muSWb5+rATd4I5TYnA+k5QYHmdI/Wvew==", - "peerDependencies": { - "overlayscrollbars": "^2.0.0", - "vue": "^3.2.25" + "node_modules/oxlint": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.5.0.tgz", + "integrity": "sha512-Oh48XZy6BY2jE9xKwN4DjwpK/l7LOUHfPJsZ/rUKudWN1RXHXBnJkubsgIHlfTwWJGYJU2LAlyXKZcE46mD4OQ==", + "dev": true, + "license": "MIT", + "bin": { + "oxc_language_server": "bin/oxc_language_server", + "oxlint": "bin/oxlint" + }, + "engines": { + "node": ">=8.*" + }, + "funding": { + "url": "https://github.com/sponsors/Boshen" + }, + "optionalDependencies": { + "@oxlint/darwin-arm64": "1.5.0", + "@oxlint/darwin-x64": "1.5.0", + "@oxlint/linux-arm64-gnu": "1.5.0", + "@oxlint/linux-arm64-musl": "1.5.0", + "@oxlint/linux-x64-gnu": "1.5.0", + "@oxlint/linux-x64-musl": "1.5.0", + "@oxlint/win32-arm64": "1.5.0", + "@oxlint/win32-x64": "1.5.0" } }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -5615,23 +7691,52 @@ } }, "node_modules/parse-json": { - "version": "4.0.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "license": "MIT", "dependencies": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse5": { - "version": "7.1.2", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" @@ -5641,26 +7746,23 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -5669,48 +7771,70 @@ }, "node_modules/path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", - "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/picocolors": { + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/perfect-debounce": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { @@ -5721,7 +7845,9 @@ } }, "node_modules/pidtree": { - "version": "0.3.1", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, "license": "MIT", "bin": { @@ -5732,66 +7858,51 @@ } }, "node_modules/pify": { - "version": "3.0.0", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/pinia": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz", - "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.3.tgz", + "integrity": "sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==", + "license": "MIT", "dependencies": { - "@vue/devtools-api": "^6.5.0", - "vue-demi": ">=0.14.5" + "@vue/devtools-api": "^7.7.2" }, "funding": { "url": "https://github.com/sponsors/posva" }, "peerDependencies": { - "@vue/composition-api": "^1.4.0", "typescript": ">=4.4.4", - "vue": "^2.6.14 || ^3.3.0" + "vue": "^2.7.0 || ^3.5.11" }, "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - }, "typescript": { "optional": true } } }, - "node_modules/pinia/node_modules/vue-demi": { - "version": "0.14.5", - "hasInstallScript": true, + "node_modules/pkg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.2.0.tgz", + "integrity": "sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==", "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } + "dependencies": { + "confbox": "^0.2.2", + "exsolve": "^1.0.7", + "pathe": "^2.0.3" } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "funding": [ { "type": "opencollective", @@ -5806,10 +7917,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -5820,6 +7932,7 @@ "resolved": "https://registry.npmjs.org/postcss-bem-linter/-/postcss-bem-linter-4.0.1.tgz", "integrity": "sha512-jTG3uMo6n2YyxLBPLsRN+5R9djNJZ3mirAugvnYbZaZOwPmLb/MaQ2uql0fSdVYegjZBmX8tW5B0mfZigiXZ9Q==", "dev": true, + "license": "MIT", "dependencies": { "minimatch": "^3.1.2", "postcss-resolve-nested-selector": "^0.1.1" @@ -5829,10 +7942,11 @@ } }, "node_modules/postcss-bem-linter/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5843,6 +7957,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5851,34 +7966,34 @@ } }, "node_modules/postcss-html": { - "version": "1.5.0", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.8.0.tgz", + "integrity": "sha512-5mMeb1TgLWoRKxZ0Xh9RZDfwUUIqRrcxO2uXO+Ezl1N5lqpCiSU5Gk6+1kZediBfBHFtPCdopr2UZ2SgUsKcgQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { "htmlparser2": "^8.0.0", - "js-tokens": "^8.0.0", - "postcss": "^8.4.0", + "js-tokens": "^9.0.0", + "postcss": "^8.5.0", "postcss-safe-parser": "^6.0.0" }, "engines": { "node": "^12 || >=14" } }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "node_modules/postcss-html/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "dev": true, - "optional": true + "license": "MIT", + "peer": true }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-safe-parser": { + "node_modules/postcss-html/node_modules/postcss-safe-parser": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", + "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", "dev": true, "license": "MIT", "peer": true, @@ -5893,11 +8008,72 @@ "postcss": "^8.3.3" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "node_modules/postcss-import": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-16.1.1.tgz", + "integrity": "sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ==", "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", + "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -5911,33 +8087,81 @@ "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", "dev": true, + "license": "MIT", "peerDependencies": { "postcss": "^8.4.20" } }, "node_modules/postcss-value-parser": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.8.0" } }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true, + "license": "ISC" + }, "node_modules/punycode": { - "version": "2.1.1", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -5955,66 +8179,121 @@ ], "license": "MIT" }, - "node_modules/radix-vue": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/radix-vue/-/radix-vue-1.4.8.tgz", - "integrity": "sha512-DDCA9QjyBpV9iOyUrSWjK8B5j78aFKZFl8DRGKYeR7l4nIejtxulVyWzaCk4lv+KXmupyP9SXC4LlC3AGjeR5w==", + "node_modules/rc9": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", + "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==", + "license": "MIT", "dependencies": { - "@floating-ui/dom": "^1.5.4", - "@floating-ui/vue": "^1.0.4", - "fast-deep-equal": "^3.1.3" + "defu": "^6.1.4", + "destr": "^2.0.3" } }, - "node_modules/read-pkg": { - "version": "3.0.0", + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, "license": "MIT", "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" + "pify": "^2.3.0" } }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "pify": "^3.0.0" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", "engines": { - "node": ">=8.10.0" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dev": true, + "node_modules/reka-ui": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.6.0.tgz", + "integrity": "sha512-NrGMKrABD97l890mFS3TNUzB0BLUfbL3hh0NjcJRIUSUljb288bx3Mzo31nOyUcdiiW0HqFGXJwyCBh9cWgb0w==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "@floating-ui/dom": "^1.6.13", + "@floating-ui/vue": "^1.1.6", + "@internationalized/date": "^3.5.0", + "@internationalized/number": "^3.5.0", + "@tanstack/vue-virtual": "^3.12.0", + "@vueuse/core": "^12.5.0", + "@vueuse/shared": "^12.5.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.4", + "ohash": "^2.0.11" + }, + "peerDependencies": { + "vue": ">= 3.2.0" + } + }, + "node_modules/reka-ui/node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/reka-ui/node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { "node": ">= 0.4" @@ -6023,63 +8302,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/require-from-string": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, "node_modules/reusify": { - "version": "1.0.4", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, "license": "MIT", "engines": { @@ -6088,41 +8324,111 @@ } }, "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", - "dev": true + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" }, - "node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", + "node_modules/rolldown": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.21.tgz", + "integrity": "sha512-pjU+yNElXbreaNNz2EDOPrf5Yj6aoT8cTfd4pViBSdO7Nr0MOqHV0vDR9w3V8venZmjzF4LAfs03Cbl46YsdVw==", + "license": "MIT", "dependencies": { - "glob": "^7.1.3" + "@oxc-project/runtime": "=0.75.0", + "@oxc-project/types": "=0.75.0", + "@rolldown/pluginutils": "1.0.0-beta.21", + "ansis": "^4.0.0" }, "bin": { - "rimraf": "bin.js" + "rolldown": "bin/cli.mjs" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "optionalDependencies": { + "@rolldown/binding-darwin-arm64": "1.0.0-beta.21", + "@rolldown/binding-darwin-x64": "1.0.0-beta.21", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.21", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.21", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.21", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.21", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.21", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.21", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.21", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.21", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.21", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.21" } }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.21.tgz", + "integrity": "sha512-OTjWr7XYqRZaSzi6dTe0fP25EEsYEQ2H04xIedXG3D0Hrs+Bpe3V5L48R6y+R5ohTygp1ijC09mbrd7vlslpzA==", + "license": "MIT" + }, "node_modules/rollup": { - "version": "2.79.1", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", + "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "1.0.8" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.44.1", + "@rollup/rollup-android-arm64": "4.44.1", + "@rollup/rollup-darwin-arm64": "4.44.1", + "@rollup/rollup-darwin-x64": "4.44.1", + "@rollup/rollup-freebsd-arm64": "4.44.1", + "@rollup/rollup-freebsd-x64": "4.44.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", + "@rollup/rollup-linux-arm-musleabihf": "4.44.1", + "@rollup/rollup-linux-arm64-gnu": "4.44.1", + "@rollup/rollup-linux-arm64-musl": "4.44.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", + "@rollup/rollup-linux-riscv64-gnu": "4.44.1", + "@rollup/rollup-linux-riscv64-musl": "4.44.1", + "@rollup/rollup-linux-s390x-gnu": "4.44.1", + "@rollup/rollup-linux-x64-gnu": "4.44.1", + "@rollup/rollup-linux-x64-musl": "4.44.1", + "@rollup/rollup-win32-arm64-msvc": "4.44.1", + "@rollup/rollup-win32-ia32-msvc": "4.44.1", + "@rollup/rollup-win32-x64-msvc": "4.44.1", "fsevents": "~2.3.2" } }, + "node_modules/rrweb-cssom": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz", + "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", + "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -6143,45 +8449,37 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-array-concat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", - "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, + "license": "MIT" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "xmlchars": "^2.2.0" }, "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=v12.22.7" } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "license": "MIT" }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -6189,38 +8487,10 @@ "node": ">=10" } }, - "node_modules/set-function-length": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", - "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.1", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.2", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -6232,6 +8502,8 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { @@ -6239,41 +8511,31 @@ } }, "node_modules/shell-quote": { - "version": "1.8.0", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sigma-scrollkit": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/sigma-scrollkit/-/sigma-scrollkit-1.0.16.tgz", - "integrity": "sha512-VPHwJ7EnA9V/csgq3Bg4agIWk6rncIbl87cvkzCCNA+Fk6Sd40Rj6Lhz3dyDg/j4Ixaik63vNGXEfSTk34sVHA==", - "dependencies": { - "vite-plugin-css-injected-by-js": "^3.3.1", - "vue": "^3.4.15" - } + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -6281,8 +8543,25 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", "engines": { @@ -6290,111 +8569,76 @@ } }, "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/smooth-dnd": { "version": "0.12.1", + "resolved": "https://registry.npmjs.org/smooth-dnd/-/smooth-dnd-0.12.1.tgz", + "integrity": "sha512-Dndj/MOG7VP83mvzfGCLGzV2HuK1lWachMtWl/Iuk6zV7noDycIBnflwaPuDzoaapEl3Pc4+ybJArkkx9sxPZg==", "license": "MIT" }, "node_modules/source-map-js": { - "version": "1.0.2", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.12", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/splitpanes": { - "version": "3.1.5", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antoniandre" - } - }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", "engines": { - "node": ">=0.6.19" + "node": ">=0.10.0" } }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "license": "MIT" + }, "node_modules/string-width": { - "version": "4.2.3", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/string-width-cjs": { @@ -6403,6 +8647,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6412,69 +8657,27 @@ "node": ">=8" } }, - "node_modules/string.prototype.padend": { - "version": "3.1.4", + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { + "node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -6484,12 +8687,29 @@ "node": ">=8" } }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6497,16 +8717,33 @@ "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { @@ -6516,49 +8753,78 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stylelint": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.2.1.tgz", - "integrity": "sha512-SfIMGFK+4n7XVAyv50CpVfcGYWG4v41y6xG7PqOgQSY8M/PgdK0SQbjWFblxjJZlN9jNq879mB4BCZHJRIJ1hA==", - "dev": true, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "license": "MIT", "dependencies": { - "@csstools/css-parser-algorithms": "^2.5.0", - "@csstools/css-tokenizer": "^2.2.3", - "@csstools/media-query-list-parser": "^2.1.7", - "@csstools/selector-specificity": "^3.0.1", + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, + "node_modules/stylelint": { + "version": "16.21.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.21.1.tgz", + "integrity": "sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", + "dependencies": { + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", + "@csstools/selector-specificity": "^5.0.0", + "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.1", - "css-tree": "^2.3.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", + "css-functions-list": "^3.2.3", + "css-tree": "^3.1.0", + "debug": "^4.4.1", + "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^10.1.1", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^5.3.0", + "ignore": "^7.0.5", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.29.0", + "known-css-properties": "^0.37.0", "mathml-tag-names": "^2.1.3", - "meow": "^13.1.0", - "micromatch": "^4.0.5", + "meow": "^13.2.0", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.33", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^7.0.0", - "postcss-selector-parser": "^6.0.15", + "picocolors": "^1.1.1", + "postcss": "^8.5.6", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-safe-parser": "^7.0.1", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0", "resolve-from": "^5.0.0", "string-width": "^4.2.3", - "strip-ansi": "^7.1.0", - "supports-hyperlinks": "^3.0.0", + "supports-hyperlinks": "^3.2.0", "svg-tags": "^1.0.0", - "table": "^6.8.1", + "table": "^6.9.0", "write-file-atomic": "^5.0.1" }, "bin": { @@ -6566,19 +8832,16 @@ }, "engines": { "node": ">=18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" } }, "node_modules/stylelint-config-css-modules": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/stylelint-config-css-modules/-/stylelint-config-css-modules-4.4.0.tgz", - "integrity": "sha512-J93MtxPjRzs/TjwbJ5y9SQy4iIqULXwL1CF1yx2tQCJfS/VZUcDAmoGOwqlLbhHXSQtZO5XQiA75NVWUR3KDCQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/stylelint-config-css-modules/-/stylelint-config-css-modules-4.5.1.tgz", + "integrity": "sha512-xRMvAOVWa8h3Dw2NmanJHuPqMUInmMoBy14kkJDT2xs2xevxl7WnQOe/nDAMvgf9NkodzKrhKZ97E61yQOKkDA==", "dev": true, + "license": "Unlicense", "optionalDependencies": { - "stylelint-scss": "^6.0.0" + "stylelint-scss": "^6.12.1" }, "peerDependencies": { "stylelint": "^14.5.1 || ^15.0.0 || ^16.0.0" @@ -6586,6 +8849,8 @@ }, "node_modules/stylelint-config-html": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-html/-/stylelint-config-html-1.1.0.tgz", + "integrity": "sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==", "dev": true, "license": "MIT", "engines": { @@ -6604,6 +8869,7 @@ "resolved": "https://registry.npmjs.org/stylelint-config-idiomatic-order/-/stylelint-config-idiomatic-order-10.0.0.tgz", "integrity": "sha512-gJjT1nwhgnHS52+mRn+5Iw6keZIPRN4W+vbzct9Elb+tWOo61jC/CzXzAJHvvOYQZqUYItfs2aQ8fU5hnCvuGg==", "dev": true, + "license": "MIT", "dependencies": { "stylelint-order": "^6.0.2" }, @@ -6615,19 +8881,32 @@ } }, "node_modules/stylelint-config-recommended": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.0.tgz", - "integrity": "sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz", + "integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", "engines": { "node": ">=18.12.0" }, "peerDependencies": { - "stylelint": "^16.0.0" + "stylelint": "^16.16.0" } }, "node_modules/stylelint-config-recommended-vue": { - "version": "1.5.0", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.6.1.tgz", + "integrity": "sha512-lLW7hTIMBiTfjenGuDq2kyHA6fBWd/+Df7MO4/AWOxiFeXP9clbpKgg27kHfwA3H7UNMGC7aeP3mNlZB5LMmEQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6647,18 +8926,29 @@ } }, "node_modules/stylelint-config-standard": { - "version": "36.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.0.tgz", - "integrity": "sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==", + "version": "38.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz", + "integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + }, + { + "type": "github", + "url": "https://github.com/sponsors/stylelint" + } + ], + "license": "MIT", "dependencies": { - "stylelint-config-recommended": "^14.0.0" + "stylelint-config-recommended": "^16.0.0" }, "engines": { "node": ">=18.12.0" }, "peerDependencies": { - "stylelint": "^16.1.0" + "stylelint": "^16.18.0" } }, "node_modules/stylelint-order": { @@ -6666,6 +8956,7 @@ "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.4.tgz", "integrity": "sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==", "dev": true, + "license": "MIT", "dependencies": { "postcss": "^8.4.32", "postcss-sorting": "^8.0.2" @@ -6675,16 +8966,20 @@ } }, "node_modules/stylelint-scss": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.0.0.tgz", - "integrity": "sha512-N1xV/Ef5PNRQQt9E45unzGvBUN1KZxCI8B4FgN/pMfmyRYbZGVN4y9qWlvOMdScU17c8VVCnjIHTVn38Bb6qSA==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.1.tgz", + "integrity": "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { - "known-css-properties": "^0.29.0", + "css-tree": "^3.0.1", + "is-plain-object": "^5.0.0", + "known-css-properties": "^0.36.0", + "mdn-data": "^2.21.0", "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-selector-parser": "^6.0.13", + "postcss-resolve-nested-selector": "^0.1.6", + "postcss-selector-parser": "^7.1.0", "postcss-value-parser": "^4.2.0" }, "engines": { @@ -6694,153 +8989,194 @@ "stylelint": "^16.0.2" } }, - "node_modules/stylelint-selector-bem-pattern": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/stylelint-selector-bem-pattern/-/stylelint-selector-bem-pattern-3.0.1.tgz", - "integrity": "sha512-eh0tyyVyS62IOVzyi5oN0BKLJTHnolMWIqzpe0n3Wk26HxZegp/PiVKSUpK7vzVIAdAROemhypfMaH/xZorZrg==", + "node_modules/stylelint-scss/node_modules/known-css-properties": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stylelint-selector-bem-pattern": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/stylelint-selector-bem-pattern/-/stylelint-selector-bem-pattern-4.0.1.tgz", + "integrity": "sha512-zpyC52/aqwbxbtliyTKdV3gv+h/ExZUTIn7tKMt9nfILtMhYIeJNF5a3UE1dtv9L826ulXU+83YA83Ymx3jW0A==", + "dev": true, + "license": "MIT", "dependencies": { - "eslint-plugin-jest": "^27.2.2", "lodash": ">=4.17.21", "postcss": "^8.4.24", - "postcss-bem-linter": "^4.0.1", - "stylelint": ">=15.9.0" - } - }, - "node_modules/stylelint/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "dependencies": { - "flat-cache": "^4.0.0" + "postcss-bem-linter": "^4.0.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.12.0" + }, + "peerDependencies": { + "stylelint": "^16.2.1" } }, - "node_modules/stylelint/node_modules/flat-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.0.tgz", - "integrity": "sha512-EryKbCE/wxpxKniQlyas6PY1I9vwtF3uCBweX+N8KYTCn3Y12RTGtQAJ/bd5pl7kxUAc8v/R3Ake/N17OZiFqA==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4", - "rimraf": "^5.0.5" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/stylelint/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "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" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/stylelint/node_modules/postcss-safe-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.0.tgz", - "integrity": "sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==", + "node_modules/stylelint/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", "dev": true, "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" - }, { "type": "github", - "url": "https://github.com/sponsors/ai" + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" } ], + "license": "MIT-0", "engines": { - "node": ">=18.0" + "node": ">=18" }, "peerDependencies": { - "postcss": "^8.4.31" + "postcss-selector-parser": "^7.0.0" } }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", + "node_modules/stylelint/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/stylelint/node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.1.tgz", + "integrity": "sha512-zcmsHjg2B2zjuBgjdnB+9q0+cWcgWfykIcsDkWDB4GTPtl1eXUA+gTI6sO0u01AqK3cliHryTU55/b2Ow1hfZg==", + "dev": true, + "license": "MIT", "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" + "flat-cache": "^6.1.10" + } + }, + "node_modules/stylelint/node_modules/flat-cache": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.11.tgz", + "integrity": "sha512-zfOAns94mp7bHG/vCn9Ru2eDCmIxVQ5dELUHKjHfDEOJmHNzE+uGa6208kfkgmtym4a0FFjEuFksCXFacbVhSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cacheable": "^1.10.1", + "flatted": "^3.3.3", + "hookified": "^1.10.0" + } + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": ">=14" + "node": ">=4" + } + }, + "node_modules/stylelint/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, "node_modules/stylelint/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "engines": { + "node": ">=16" } }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -6851,7 +9187,9 @@ } }, "node_modules/supports-hyperlinks": { - "version": "3.0.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, "license": "MIT", "dependencies": { @@ -6860,10 +9198,15 @@ }, "engines": { "node": ">=14.18" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "license": "MIT", "engines": { @@ -6875,10 +9218,37 @@ }, "node_modules/svg-tags": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, + "node_modules/synckit": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.8.tgz", + "integrity": "sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.2.4" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/synckit" + } + }, "node_modules/table": { - "version": "6.8.1", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -6893,70 +9263,238 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.12.0", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", + "node_modules/table/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/tauri-plugin-store-api": { - "version": "0.0.0", - "resolved": "git+ssh://git@github.com/tauri-apps/tauri-plugin-store.git#e08b8fdf6adb27a437b71ede4f7e572e7d11cc2d", - "license": "MIT or APACHE-2.0", + "node_modules/table/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", "dependencies": { - "@tauri-apps/api": "1.4.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/tauri-plugin-store-api/node_modules/@tauri-apps/api": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.4.0.tgz", - "integrity": "sha512-Jd6HPoTM1PZSFIzq7FB8VmMu3qSSyo/3lSwLpoapW+lQ41CL5Dow2KryLg+gyazA/58DRWI9vu/XpEeHK4uMdw==", + "node_modules/tailwind-csstree": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/tailwind-csstree/-/tailwind-csstree-0.1.1.tgz", + "integrity": "sha512-Tv5IXRHtlb7LanNXjmGg0vu84Iu+/sKDqTLJBO0kP/rggfjJDKnS/HV+e0qn8yIrRByhGg+908rSOxT/7o1diw==", + "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 14.6.0", - "npm": ">= 6.6.0", - "yarn": ">= 1.19.1" + "node": ">=18.18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/text-table": { - "version": "0.2.0", + "node_modules/tailwindcss": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", + "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", + "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.86" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.86", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", + "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6966,63 +9504,65 @@ "node": ">=8.0" } }, - "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" + "node": ">=6" } }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" + "tldts": "^6.1.32" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=16" } }, - "node_modules/tslib": { - "version": "1.14.1", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^1.8.1" + "punycode": "^2.3.1" }, "engines": { - "node": ">= 6" + "node": ">=18" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" }, "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" + "typescript": ">=4.8.4" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -7032,86 +9572,12 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "devOptional": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7120,28 +9586,249 @@ "node": ">=14.17" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", + "node_modules/typescript-eslint": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.35.1.tgz", + "integrity": "sha512-xslJjFzhOmHYQzSB/QTeASAHbjmxOGEP6Coh93TXmUBFQoJ1VU35UHIDmG06Jd6taf3wqqC1ntBnCMeymy5Ovw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "@typescript-eslint/eslint-plugin": "8.35.1", + "@typescript-eslint/parser": "8.35.1", + "@typescript-eslint/utils": "8.35.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "license": "MIT" + }, + "node_modules/unctx": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.4.1.tgz", + "integrity": "sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17", + "unplugin": "^2.1.0" + } + }, + "node_modules/unctx/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "devOptional": true + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.2.0.tgz", + "integrity": "sha512-bTuAMMOOqIAyjV4i4UH7P07pO+EsVxmhOzQ2YJ290J6mkLUdozNhb5I/YoOEheeNADC03ent3Qj07X0fWfUpmw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.15.0", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "pkg-types": "^2.2.0", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.14", + "unplugin": "^2.3.5", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unimport/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.5.tgz", + "integrity": "sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==", + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "picomatch": "^4.0.2", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-utils/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/unplugin/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/untyped": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-2.0.0.tgz", + "integrity": "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==", + "license": "MIT", + "dependencies": { + "citty": "^0.1.6", + "defu": "^6.1.4", + "jiti": "^2.4.2", + "knitwork": "^1.2.0", + "scule": "^1.3.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -7150,32 +9837,44 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, "license": "MIT" }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "license": "Apache-2.0", + "node_modules/v-wave": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/v-wave/-/v-wave-3.0.3.tgz", + "integrity": "sha512-OgZeUD3O4NAvtX9si+AJw3E0kDu3GKPwNv7NCt2wLId8HxcD+xp0sPqrj1khCvtba6suZo97wrM5mLjdFisV2Q==", + "license": "MIT", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "@biomejs/biome": "^2.0.5", + "@nuxt/kit": "^3.13.1" + }, + "peerDependencies": { + "vue": "^2.0.0 || ^3.0.0" } }, "node_modules/vite": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", - "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", + "name": "rolldown-vite", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/rolldown-vite/-/rolldown-vite-7.0.3.tgz", + "integrity": "sha512-Bg5i1Du+reIljLk5sB/+iOXkhW541NcbS1Ntqd+0EpzdXnl+uxiZDEOUGmVFT8Z94FTpEld2BvoXN80+o2LKAA==", + "license": "MIT", "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" + "@oxc-project/runtime": "0.75.0", + "fdir": "^6.4.6", + "lightningcss": "^1.30.1", + "picomatch": "^4.0.2", + "postcss": "^8.5.6", + "rolldown": "1.0.0-beta.21", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -7184,25 +9883,35 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "@types/node": "^20.19.0 || >=22.12.0", + "esbuild": "^0.25.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, "less": { "optional": true }, - "lightningcss": { + "sass": { "optional": true }, - "sass": { + "sass-embedded": { "optional": true }, "stylus": { @@ -7213,123 +9922,347 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, - "node_modules/vite-plugin-css-injected-by-js": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/vite-plugin-css-injected-by-js/-/vite-plugin-css-injected-by-js-3.3.1.tgz", - "integrity": "sha512-PjM/X45DR3/V1K1fTRs8HtZHEQ55kIfdrn+dzaqNBFrOYO073SeSNCxp4j7gSYhV9NffVHaEnOL4myoko0ePAg==", - "peerDependencies": { - "vite": ">2.0.0-0" - } - }, - "node_modules/vite-plugin-eslint": { - "version": "1.8.1", + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^4.2.1", - "@types/eslint": "^8.4.5", - "rollup": "^2.77.2" + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, - "peerDependencies": { - "eslint": ">=7", - "vite": ">=2" - } - }, - "node_modules/vite-plugin-stylelint": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/vite-plugin-stylelint/-/vite-plugin-stylelint-5.3.1.tgz", - "integrity": "sha512-M/hSdfOwnOVghbJDeuuYIU2xO/MMukYR8QcEyNKFPG8ro1L+DlTdViix2B2d/FvAw14WPX88ckA5A7NvUjJz8w==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.1.0", - "chokidar": "^3.5.3", - "debug": "^4.3.4" - }, - "engines": { - "node": ">=14.18" - }, - "peerDependencies": { - "@types/stylelint": "^13.0.0", - "postcss": "^7.0.0 || ^8.0.0", - "rollup": "^2.0.0 || ^3.0.0 || ^4.0.0", - "stylelint": "^13.0.0 || ^14.0.0 || ^15.0.0 || ^16.0.0", - "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "@types/stylelint": { - "optional": true - }, - "postcss": { - "optional": true - }, - "rollup": { - "optional": true - } - } - }, - "node_modules/vite-plugin-stylelint/node_modules/@rollup/pluginutils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", - "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/rollup": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.1.tgz", - "integrity": "sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==", "bin": { - "rollup": "dist/bin/rollup" + "vite-node": "vite-node.mjs" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.1", - "@rollup/rollup-android-arm64": "4.9.1", - "@rollup/rollup-darwin-arm64": "4.9.1", - "@rollup/rollup-darwin-x64": "4.9.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.1", - "@rollup/rollup-linux-arm64-gnu": "4.9.1", - "@rollup/rollup-linux-arm64-musl": "4.9.1", - "@rollup/rollup-linux-riscv64-gnu": "4.9.1", - "@rollup/rollup-linux-x64-gnu": "4.9.1", - "@rollup/rollup-linux-x64-musl": "4.9.1", - "@rollup/rollup-win32-arm64-msvc": "4.9.1", - "@rollup/rollup-win32-ia32-msvc": "4.9.1", - "@rollup/rollup-win32-x64-msvc": "4.9.1", - "fsevents": "~2.3.2" + "funding": { + "url": "https://opencollective.com/vitest" } }, + "node_modules/vite-plugin-run": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/vite-plugin-run/-/vite-plugin-run-0.6.1.tgz", + "integrity": "sha512-mXEEQHWhk/OD8XuK7V517eDPnXS5OrzjGsihHihSbWNFXqEBy6WNkdLNIfPY1o86JLLRDVq3VeVus3YOTiJeGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "debug": "^4.3.7", + "execa": "5.1.1", + "minimatch": "^9.0.5", + "picocolors": "^1.1.0" + } + }, + "node_modules/vite-plugin-run/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/vite-plugin-run/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vite-plugin-run/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/vite-plugin-run/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vite-plugin-run/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-run/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/vite-plugin-run/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.7.7", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.7.tgz", + "integrity": "sha512-d0fIh3wRcgSlr4Vz7bAk4va1MkdqhQgj9ANE/rBhsAjOnRfTLs2ocjFMvSUOsv6SRRXU9G+VM7yMgqDb6yI4iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.7.7", + "@vue/devtools-kit": "^7.7.7", + "@vue/devtools-shared": "^7.7.7", + "execa": "^9.5.2", + "sirv": "^3.0.1", + "vite-plugin-inspect": "0.8.9", + "vite-plugin-vue-inspector": "^5.3.1" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite-plugin-vue-devtools/node_modules/vite-plugin-inspect": { + "version": "0.8.9", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", + "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.3", + "debug": "^4.3.7", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.1.1", + "sirv": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, "node_modules/vue": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.19.tgz", - "integrity": "sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz", + "integrity": "sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.19", - "@vue/compiler-sfc": "3.4.19", - "@vue/runtime-dom": "3.4.19", - "@vue/server-renderer": "3.4.19", - "@vue/shared": "3.4.19" + "@vue/compiler-dom": "3.5.17", + "@vue/compiler-sfc": "3.5.17", + "@vue/runtime-dom": "3.5.17", + "@vue/server-renderer": "3.5.17", + "@vue/shared": "3.5.17" }, "peerDependencies": { "typescript": "*" @@ -7340,37 +10273,58 @@ } } }, - "node_modules/vue-eslint-parser": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", - "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", + "node_modules/vue-component-type-helpers": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.10.tgz", + "integrity": "sha512-iDUO7uQK+Sab2tYuiP9D1oLujCWlhHELHMgV/cB13cuGbG4qwkLHvtfWb6FzvxrIOPDnU0oHsz2MlQjhYDeaHA==", "dev": true, + "license": "MIT" + }, + "node_modules/vue-eslint-parser": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz", + "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", + "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" + "debug": "^4.4.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.6.0", + "semver": "^7.6.3" }, "engines": { - "node": "^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://github.com/sponsors/mysticatea" }, "peerDependencies": { - "eslint": ">=6.0.0" + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/vue-i18n": { - "version": "9.9.1", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.9.1.tgz", - "integrity": "sha512-xyQ4VspLdNSPTKBFBPWa1tvtj+9HuockZwgFeD2OhxxXuC2CWeNvV4seu2o9+vbQOyQbhAM5Ez56oxUrrnTWdw==", + "version": "11.1.9", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.1.9.tgz", + "integrity": "sha512-N9ZTsXdRmX38AwS9F6Rh93RtPkvZTkSy/zNv63FTIwZCUbLwwrpqlKz9YQuzFLdlvRdZTnWAUE5jMxr8exdl7g==", + "license": "MIT", "dependencies": { - "@intlify/core-base": "9.9.1", - "@intlify/shared": "9.9.1", + "@intlify/core-base": "11.1.9", + "@intlify/shared": "11.1.9", "@vue/devtools-api": "^6.5.0" }, "engines": { @@ -7383,12 +10337,19 @@ "vue": "^3.0.0" } }, + "node_modules/vue-i18n/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, "node_modules/vue-router": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz", - "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", "dependencies": { - "@vue/devtools-api": "^6.5.1" + "@vue/devtools-api": "^6.6.4" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -7397,37 +10358,34 @@ "vue": "^3.2.0" } }, - "node_modules/vue-template-compiler": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", - "dev": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" }, "node_modules/vue-tsc": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", - "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.0.1.tgz", + "integrity": "sha512-UvMLQD0hAGL1g/NfEQelnSVB4H5gtf/gz2lJKjMMwWNOUmSNyWkejwJagAxEbSjtV5CPPJYslOtoSuqJ63mhdg==", "dev": true, + "license": "MIT", "dependencies": { - "@volar/typescript": "~1.11.1", - "@vue/language-core": "1.8.27", - "semver": "^7.5.4" + "@volar/typescript": "2.4.17", + "@vue/language-core": "3.0.1" }, "bin": { "vue-tsc": "bin/vue-tsc.js" }, "peerDependencies": { - "typescript": "*" + "typescript": ">=5.0.0" } }, "node_modules/vue3-smooth-dnd": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/vue3-smooth-dnd/-/vue3-smooth-dnd-0.0.6.tgz", "integrity": "sha512-CH9ZZhEfE7qU1ef2rlfgBG+nZtQX8PnWlspB2HDDz1uVGU7fXM0Pr65DftBMz4X81S+edw2H+ZFG6Dyb5J81KA==", + "license": "MIT", "dependencies": { "smooth-dnd": "^0.12.1" }, @@ -7435,8 +10393,86 @@ "vue": "^3.0.11" } }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "license": "MIT" + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { @@ -7449,38 +10485,31 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "license": "MIT", "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" + "siginfo": "^2.0.0", + "stackback": "0.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "bin": { + "why-is-node-running": "cli.js" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { @@ -7488,6 +10517,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -7506,6 +10536,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -7518,16 +10549,49 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/wrap-ansi/node_modules/ansi-styles": { @@ -7535,6 +10599,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -7542,51 +10607,10 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "dev": true, - "license": "ISC" - }, "node_modules/write-file-atomic": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "license": "ISC", "dependencies": { @@ -7597,46 +10621,70 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/xml-name-validator": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", "dev": true, "license": "Apache-2.0", "engines": { "node": ">=12" } }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true, + "license": "MIT" + }, "node_modules/yallist": { - "version": "4.0.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "license": "ISC" }, "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yaml-eslint-parser": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.0.0", - "lodash": "^4.17.21", - "yaml": "^2.0.0" + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" }, "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ota-meshi" + "node": ">= 14.6" } }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { @@ -7645,6 +10693,19 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 43527d7f..861caafc 100644 --- a/package.json +++ b/package.json @@ -1,104 +1,88 @@ { - "engines": { - "node": ">=20.10.0" - }, - "type": "module", - "name": "sigma-file-manager-v2", - "productName": "Sigma File Manager v2", - "version": "2.0.0-alpha.1", + "name": "sigma-file-manager", + "version": "2.0.0-alpha.2", "private": true, - "license": "GPL-3.0-or-later", - "author": "Aleksey Hoffman", - "email": "aleksey.hoffman.public@gmail.com", - "homepage": "https://github.com/aleksey-hoffman/sigma-file-manager/tree/v2", - "description": "", - "keywords": [ - "open-source", - "app", - "file", - "manager", - "explorer", - "browser", - "modern", - "cross-platform", - "vue", - "tauri", - "rust", - "js" - ], + "type": "module", + "engines": { + "node": ">=22.13.1" + }, + "volta": { + "node": "22.13.1" + }, "scripts": { "dev": "vite", - "build": "npm run ts:check && vite build", + "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", + "test:unit": "vitest", + "build-only": "vite build", + "type-check": "vue-tsc --build", + "lint:oxlint": "oxlint . --fix -D correctness --ignore-path .gitignore", + "lint:eslint": "eslint . --fix", + "lint:stylelint": "stylelint \"src/**/*.{css,vue}\" --fix", + "lint": "run-s lint:*", "tauri": "tauri", "tauri:dev": "tauri dev", "tauri:dev:webkit-igpu": "env WEBKIT_DISABLE_COMPOSITING_MODE=1 npm run tauri dev", "tauri:build": "tauri build", - "gen-icons": "tauri icon ./src/assets/icons/logo-1024x1024.png", - "cargo-update": "cd ./src-tauri && cargo update", - "cargo-build": "cd ./src-tauri && cargo build", - "lint": "eslint --fix --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts src/", - "stylelint": "npx stylelint --fix --ext .css,.scss,.vue src/", - "ts:check": "vue-tsc --noEmit -p tsconfig.json", + "tauri:gen-icons": "tauri icon ./src/assets/icons/logo-1024x1024.png", + "tauri:cargo-update": "cd ./src-tauri && cargo update", + "tauri:cargo-build": "cd ./src-tauri && cargo build", "sync-i18n": "npx tsx ./scripts/sync-i18n.js", - "sync-license": "npx tsx ./scripts/sync-license.js", - "prepare": "husky" - }, - "lint-staged": { - "src/**/*.{vue,js,jsx,cjs,mjs,ts,tsx,cts,mts}": [ - "eslint --fix" - ], - "src/**/*.{css,scss,vue}": [ - "stylelint --fix" - ] + "sync-license": "npx tsx ./scripts/sync-license.js" }, "dependencies": { - "@tauri-apps/api": "^1.5.3", - "@vueuse/core": "^10.8.0", - "dayjs": "^1.11.10", + "@tailwindcss/vite": "^4.1.11", + "@tauri-apps/api": "^2.6.0", + "@tauri-apps/plugin-opener": "^2.5.0", + "@tauri-apps/plugin-store": "^2.3.0", + "@vueuse/core": "^13.9.0", + "class-variance-authority": "^0.7.1", + "dayjs": "^1.11.13", "lodash.clonedeep": "^4.5.0", - "minimatch": "^9.0.3", - "overlayscrollbars": "^2.5.0", - "overlayscrollbars-vue": "^0.5.7", - "pinia": "^2.1.7", - "radix-vue": "^1.4.8", - "sigma-scrollkit": "^1.0.16", - "splitpanes": "^3.1.5", - "tauri-plugin-store-api": "github:tauri-apps/tauri-plugin-store", - "vue": "^3.4.19", - "vue-i18n": "^9.9.1", - "vue-router": "^4.3.0", + "lucide-vue-next": "^0.525.0", + "pinia": "^3.0.3", + "reka-ui": "^2.6.0", + "tailwindcss": "^4.1.11", + "v-wave": "^3.0.3", + "vue": "^3.5.17", + "vue-i18n": "^11.1.9", + "vue-router": "^4.5.1", "vue3-smooth-dnd": "^0.0.6" }, "devDependencies": { - "@iconify/vue": "^4.1.1", - "@intlify/eslint-plugin-vue-i18n": "^2.0.0", - "@tauri-apps/cli": "^1.5.10", - "@tsconfig/node20": "^20.1.2", - "@types/node": "^20.11.20", - "@vitejs/plugin-vue": "^5.0.4", - "@vue/eslint-config-typescript": "^12.0.0", - "@vue/tsconfig": "^0.5.1", - "cross-env": "^7.0.3", - "eslint": "^8.56.0", - "eslint-import-resolver-alias": "^1.1.2", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-import-newlines": "^1.3.4", - "eslint-plugin-vue": "^9.22.0", - "husky": "^9.0.11", - "lint-staged": "^15.2.2", - "npm-run-all": "^4.1.5", - "readdirp": "^3.6.0", - "stylelint": "^16.2.1", - "stylelint-config-css-modules": "^4.4.0", + "@stylistic/eslint-plugin": "^5.1.0", + "@tauri-apps/cli": "^2.6.2", + "@tsconfig/node22": "^22.0.2", + "@types/jsdom": "^21.1.7", + "@types/lodash.clonedeep": "^4.5.9", + "@types/node": "^24.0.10", + "@vitejs/plugin-vue": "^6.0.0", + "@vitest/eslint-plugin": "^1.3.4", + "@vue/eslint-config-typescript": "^14.6.0", + "@vue/test-utils": "^2.4.6", + "@vue/tsconfig": "^0.7.0", + "eslint": "^9.30.1", + "eslint-plugin-better-tailwindcss": "^3.4.4", + "eslint-plugin-check-file": "^3.3.0", + "eslint-plugin-oxlint": "~1.5.0", + "eslint-plugin-vue": "~10.3.0", + "jiti": "^2.4.2", + "jsdom": "^26.1.0", + "npm-run-all2": "^8.0.4", + "oxlint": "~1.5.0", + "readdirp": "^4.1.2", + "stylelint": "^16.21.1", + "stylelint-config-css-modules": "^4.5.1", "stylelint-config-idiomatic-order": "^10.0.0", - "stylelint-config-recommended-vue": "^1.5.0", - "stylelint-config-standard": "^36.0.0", - "stylelint-selector-bem-pattern": "^3.0.1", - "typescript": "^5.3.3", - "vite": "^5.1.4", - "vite-plugin-eslint": "^1.8.1", - "vite-plugin-stylelint": "^5.3.1", - "vue-tsc": "^1.8.27" + "stylelint-config-recommended-vue": "^1.6.1", + "stylelint-config-standard": "^38.0.0", + "stylelint-selector-bem-pattern": "^4.0.1", + "typescript": "~5.8.3", + "vite": "npm:rolldown-vite@latest", + "vite-plugin-run": "^0.6.1", + "vite-plugin-vue-devtools": "^7.7.7", + "vitest": "^3.2.4", + "vue-eslint-parser": "^10.2.0", + "vue-tsc": "^3.0.1" } } \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/rustfmt.toml b/rustfmt.toml deleted file mode 100644 index 866c7561..00000000 --- a/rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -max_width = 120 \ No newline at end of file diff --git a/scripts/sync-i18n.js b/scripts/sync-i18n.js index c73a1fa1..62a44bb1 100644 --- a/scripts/sync-i18n.js +++ b/scripts/sync-i18n.js @@ -2,13 +2,13 @@ // License: GNU GPLv3 or later. See the license file in the project root for more information. // Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -import {messages} from 'src/localization/data'; +import { messages } from 'src/localization/data'; import fs from 'node:fs'; import path from 'node:path'; const localeDirPath = path.resolve('src/localization/messages'); -async function syncFiles () { +async function syncFiles() { for (const locale in messages) { if (locale !== 'en') { let otherLocaleData = messages[locale]; @@ -17,9 +17,11 @@ async function syncFiles () { const otherLocalePath = path.join(localeDirPath, `${locale}.json`); let currentState = {}; + try { currentState = JSON.parse(fs.readFileSync(otherLocalePath, 'utf8')); - } catch (error) { + } + catch (error) { console.error(`Error reading file ${otherLocalePath}:`, error); } @@ -30,26 +32,30 @@ async function syncFiles () { } } -function addMissingKeys (enLocale, otherLocale) { +function addMissingKeys(enLocale, otherLocale) { for (const key in enLocale) { if (!otherLocale[key]) { otherLocale[key] = enLocale[key]; - } else if (typeof enLocale[key] === 'object') { + } + else if (typeof enLocale[key] === 'object') { addMissingKeys(enLocale[key], otherLocale[key]); } } + return otherLocale; } -function removeUneededKeys (enLocale, otherLocale) { +function removeUneededKeys(enLocale, otherLocale) { for (const key in otherLocale) { if (!enLocale[key]) { delete otherLocale[key]; - } else if (typeof otherLocale[key] === 'object') { + } + else if (typeof otherLocale[key] === 'object') { removeUneededKeys(enLocale[key], otherLocale[key]); } } + return otherLocale; } -syncFiles(); \ No newline at end of file +syncFiles(); diff --git a/scripts/sync-license.js b/scripts/sync-license.js index a15c142e..47100d61 100644 --- a/scripts/sync-license.js +++ b/scripts/sync-license.js @@ -14,52 +14,79 @@ const SPDXIdentifier = 'SPDX-License-Identifier'; const licenseText = [ 'SPDX-License-Identifier: GPL-3.0-or-later', 'License: GNU GPLv3 or later. See the license file in the project root for more information.', - 'Copyright © 2021 - present Aleksey Hoffman. All rights reserved.' + 'Copyright © 2021 - present Aleksey Hoffman. All rights reserved.', ]; -async function initAppendLicense () { - directories.forEach(dirPath => { - readdirp(dirPath, { - fileFilter: files, - directoryFilter: ['!resources'], - type: 'files', - alwaysStat: true, - depth: Infinity - }) - .on('data', (entry) => { +async function initAppendLicense() { + console.log('🔍 Starting license sync...'); + + for (const dirPath of directories) { + console.log(`📂 Scanning directory: ${dirPath}`); + + try { + const stream = readdirp(dirPath, { + fileFilter: (entry) => { + const ext = path.extname(entry.basename); + return ['.vue', '.html', '.js', '.ts', '.rs'].includes(ext); + }, + directoryFilter: (entry) => { + // Exclude specific directories but allow recursion into others + const shouldExclude = ['target', 'node_modules', 'dist', '.git', 'resources'].includes(entry.basename); + return !shouldExclude; + }, + type: 'files', + depth: Infinity, + }); + + const entries = []; + + for await (const entry of stream) { + entries.push(entry); + const licenseLines = getLicenseLines(entry).reverse(); const fileLines = fs.readFileSync(entry.fullPath).toString().split('\n'); const alreadyHasLicense = fileLines[0].includes(SPDXIdentifier); + if (!alreadyHasLicense) { - licenseLines.forEach(licenseLine => { + console.log(` ✅ Adding license to: ${entry.path}`); + licenseLines.forEach((licenseLine) => { fileLines.unshift(licenseLine); }); fs.writeFileSync(entry.fullPath, fileLines.join('\n')); } - }) - .on('warn', error => console.error('non-fatal error', error)) - .on('error', error => console.error('fatal error', error)); - }); + } + + console.log(`📊 Found ${entries.length} files in ${dirPath}`); + } + catch (error) { + console.error(`❌ Error scanning ${dirPath}:`, error); + } + } + + console.log('🎉 License sync completed!'); } -function getLicenseLines (dirItem) { +function getLicenseLines(dirItem) { const parsedFileName = path.parse(dirItem.basename); + if (htmlTypeCommentExtensions.includes(parsedFileName.ext)) { return [ `', - '' + '', ]; - } else if (lineTypeCommentExtensions.includes(parsedFileName.ext)) { + } + else if (lineTypeCommentExtensions.includes(parsedFileName.ext)) { return [ `// ${licenseText[0]}`, `// ${licenseText[1]}`, `// ${licenseText[2]}`, - '' + '', ]; - } else { + } + else { return []; } } diff --git a/sigma-ui.config.json b/sigma-ui.config.json new file mode 100644 index 00000000..f1cab49e --- /dev/null +++ b/sigma-ui.config.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://sigma-ui.dev/schema.json", + "styleSystem": "css", + "tsConfigPath": "./tsconfig.json", + "setupTailwind": false, + "framework": "vite", + "cssPath": "src/assets/index.css", + "baseColor": "frosted-glass", + "tailwind": { + "config": "" + }, + "aliases": { + "utils": "", + "components": "@/components/ui" + }, + "generatePreflight": true +} \ No newline at end of file diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore index aba21e24..502406b4 100644 --- a/src-tauri/.gitignore +++ b/src-tauri/.gitignore @@ -1,3 +1,4 @@ # Generated by Cargo # will have compiled files and executables /target/ +/gen/schemas diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 567f6c35..0809f0d6 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1,27 +1,38 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.16", + "once_cell", + "version_check", +] [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -47,6 +58,23 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" +[[package]] +name = "android_log-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" + +[[package]] +name = "android_logger" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" +dependencies = [ + "android_log-sys", + "env_filter", + "log", +] + [[package]] name = "android_system_properties" version = "0.1.5" @@ -58,223 +86,168 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] -name = "arboard" -version = "3.3.1" +name = "arrayvec" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1faa3c733d9a3dd6fbaf85da5d162a2e03b2e0033a90dceb0e2a90fdd1e5380a" -dependencies = [ - "clipboard-win", - "core-graphics 0.23.1", - "image", - "log", - "objc", - "objc-foundation", - "objc_id", - "parking_lot", - "thiserror", - "windows-sys 0.48.0", - "wl-clipboard-rs", - "x11rb", -] +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "async-broadcast" -version = "0.5.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ - "event-listener 2.5.3", + "event-listener", + "event-listener-strategy", "futures-core", + "pin-project-lite", ] [[package]] name = "async-channel" -version = "2.2.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" dependencies = [ "concurrent-queue", - "event-listener 5.1.0", - "event-listener-strategy 0.5.0", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.8.0" +version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" dependencies = [ - "async-lock 3.3.0", "async-task", "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.2.0", + "fastrand", + "futures-lite", + "pin-project-lite", "slab", ] -[[package]] -name = "async-fs" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "blocking", - "futures-lite 1.13.0", -] - [[package]] name = "async-io" -version = "1.13.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" dependencies = [ - "async-lock 2.8.0", "autocfg", "cfg-if", "concurrent-queue", - "futures-lite 1.13.0", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", -] - -[[package]] -name = "async-io" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" -dependencies = [ - "async-lock 3.3.0", - "cfg-if", - "concurrent-queue", "futures-io", - "futures-lite 2.2.0", + "futures-lite", "parking", - "polling 3.5.0", - "rustix 0.38.31", + "polling", + "rustix", "slab", - "tracing", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "async-lock" -version = "2.8.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" dependencies = [ - "event-listener 2.5.3", -] - -[[package]] -name = "async-lock" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" -dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener", + "event-listener-strategy", "pin-project-lite", ] [[package]] name = "async-process" -version = "1.8.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" dependencies = [ - "async-io 1.13.0", - "async-lock 2.8.0", + "async-channel", + "async-io", + "async-lock", "async-signal", + "async-task", "blocking", "cfg-if", - "event-listener 3.1.0", - "futures-lite 1.13.0", - "rustix 0.38.31", - "windows-sys 0.48.0", + "event-listener", + "futures-lite", + "rustix", ] [[package]] name = "async-recursion" -version = "1.0.5" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "async-signal" -version = "0.2.5" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" dependencies = [ - "async-io 2.3.1", - "async-lock 2.8.0", + "async-io", + "async-lock", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.31", + "rustix", "signal-hook-registry", "slab", - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] name = "async-task" -version = "4.7.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "atk" -version = "0.15.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" dependencies = [ "atk-sys", - "bitflags 1.3.2", "glib", "libc", ] [[package]] name = "atk-sys" -version = "0.15.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.0", + "system-deps", ] [[package]] @@ -285,37 +258,37 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.1.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - [[package]] name = "base64" version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "bitflags" version = "1.3.2" @@ -324,15 +297,24 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +dependencies = [ + "serde", +] [[package]] -name = "block" -version = "0.1.6" +name = "bitvec" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] [[package]] name = "block-buffer" @@ -344,26 +326,64 @@ dependencies = [ ] [[package]] -name = "blocking" -version = "1.5.1" +name = "block2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2 0.5.2", +] + +[[package]] +name = "block2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "340d2f0bdb2a43c1d3cd40513185b2bd7def0aa1052f956455114bc98f82dcf2" +dependencies = [ + "objc2 0.6.1", +] + +[[package]] +name = "blocking" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" dependencies = [ "async-channel", - "async-lock 3.3.0", "async-task", - "fastrand 2.0.1", "futures-io", - "futures-lite 2.2.0", + "futures-lite", "piper", - "tracing", +] + +[[package]] +name = "borsh" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" +dependencies = [ + "borsh-derive", + "cfg_aliases", +] + +[[package]] +name = "borsh-derive" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" +dependencies = [ + "once_cell", + "proc-macro-crate 3.3.0", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "brotli" -version = "3.4.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "516074a47ef4bce09577a3b379392300159ce5b1ba2e501ff1c819950066100f" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -372,41 +392,58 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.5.1" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", ] [[package]] -name = "bstr" -version = "1.9.0" +name = "bumpalo" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" + +[[package]] +name = "byte-unit" +version = "5.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cd29c3c585209b0cbc7309bfe3ed7efd8c84c21b7af29c8bfae908f8777174" dependencies = [ - "memchr", + "rust_decimal", "serde", + "utf8-width", ] [[package]] -name = "bumpalo" -version = "3.15.2" +name = "bytecheck" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b1be7772ee4501dba05acbe66bb1e8760f6a6c474a36035631638e4415f130" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] [[package]] -name = "bytecount" -version = "0.6.7" +name = "bytecheck_derive" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] [[package]] name = "bytemuck" -version = "1.14.3" +version = "1.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" +checksum = "5c76a5792e44e4abe34d3abf15636779261d45a7450612059293d1d2cfc63422" [[package]] name = "byteorder" @@ -415,59 +452,95 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] -name = "bytes" -version = "1.5.0" +name = "byteorder-lite" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" dependencies = [ "serde", ] -[[package]] -name = "bytesize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" - [[package]] name = "cairo-rs" -version = "0.15.12" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "cairo-sys-rs", "glib", "libc", - "thiserror", + "once_cell", + "thiserror 1.0.69", ] [[package]] name = "cairo-sys-rs" -version = "0.15.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" dependencies = [ "glib-sys", "libc", - "system-deps 6.2.0", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.12", ] [[package]] name = "cargo_toml" -version = "0.15.3" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" +checksum = "02260d489095346e5cafd04dea8e8cb54d1d74fcd759022a9b72986ebe9a1257" dependencies = [ "serde", - "toml 0.7.8", + "toml 0.8.23", ] [[package]] name = "cc" -version = "1.0.86" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" +dependencies = [ + "shlex", +] [[package]] name = "cesu8" @@ -488,18 +561,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.9.1" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" -dependencies = [ - "smallvec", -] - -[[package]] -name = "cfg-expr" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" dependencies = [ "smallvec", "target-lexicon", @@ -507,75 +571,34 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", - "js-sys", "num-traits", "serde", - "wasm-bindgen", - "windows-targets 0.52.0", + "windows-link 0.1.3", ] -[[package]] -name = "clipboard-win" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f9a0700e0127ba15d1d52dd742097f821cd9c65939303a44d970465040a297" -dependencies = [ - "error-code", -] - -[[package]] -name = "cocoa" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics 0.22.3", - "foreign-types 0.3.2", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-types", - "libc", - "objc", -] - -[[package]] -name = "color_quant" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" - [[package]] name = "combine" -version = "4.6.6" +version = "4.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" dependencies = [ "bytes", "memchr", @@ -583,9 +606,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -597,10 +620,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] -name = "core-foundation" -version = "0.9.4" +name = "cookie" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -608,98 +641,66 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core-graphics" -version = "0.22.3" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "core-foundation", "core-graphics-types", - "foreign-types 0.3.2", - "libc", -] - -[[package]] -name = "core-graphics" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types 0.5.0", + "foreign-types", "libc", ] [[package]] name = "core-graphics-types" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "core-foundation", "libc", ] [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.11" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crypto-common" @@ -713,15 +714,15 @@ dependencies = [ [[package]] name = "cssparser" -version = "0.27.2" +version = "0.29.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" dependencies = [ "cssparser-macros", "dtoa-short", - "itoa 0.4.8", + "itoa", "matches", - "phf 0.8.0", + "phf 0.10.1", "proc-macro2", "quote", "smallvec", @@ -735,24 +736,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "ctor" -version = "0.2.6" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d2b3721e861707777e3195b0158f950ae6dc4a27e4d02ff9f67e3eb3de199e" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" dependencies = [ "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "darling" -version = "0.20.6" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ "darling_core", "darling_macro", @@ -760,72 +761,50 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.6" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "darling_macro" -version = "0.20.6" +version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "deranged" -version = "0.3.11" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", "serde", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive-new" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3418329ca0ad70234b9735dc4ceed10af4df60eff9c8e7b06cb5e520d92c3535" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_more" -version = "0.99.17" +version = "0.99.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" dependencies = [ "convert_case", "proc-macro2", "quote", "rustc_version", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] @@ -839,24 +818,24 @@ dependencies = [ ] [[package]] -name = "dirs-next" -version = "2.0.0" +name = "dirs" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "cfg-if", - "dirs-sys-next", + "dirs-sys", ] [[package]] -name = "dirs-sys-next" -version = "0.1.2" +name = "dirs-sys" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", + "option-ext", "redox_users", - "winapi", + "windows-sys 0.60.2", ] [[package]] @@ -866,59 +845,97 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] -name = "dlib" -version = "0.5.2" +name = "dispatch2" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "libloading 0.8.1", + "bitflags 2.9.1", + "objc2 0.6.1", ] [[package]] -name = "downcast-rs" -version = "1.2.0" +name = "displaydoc" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "dlopen2" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b54f373ccf864bf587a89e880fb7610f8d73f3045f13580948ccbcaff26febff" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] [[package]] name = "dtoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" +checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" [[package]] name = "dtoa-short" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" dependencies = [ "dtoa", ] [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] -name = "either" -version = "1.10.0" +name = "dyn-clone" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" [[package]] name = "embed-resource" -version = "2.4.1" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bde55e389bea6a966bd467ad1ad7da0ae14546a5bc794d16d1e55e7fca44881" +checksum = "0963f530273dc3022ab2bdc3fcd6d488e850256f2284a82b7413cb9481ee85dd" dependencies = [ "cc", "memchr", "rustc_version", - "toml 0.8.10", + "toml 0.8.23", "vswhom", - "winreg 0.51.0", + "winreg", ] [[package]] @@ -928,19 +945,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" [[package]] -name = "encoding_rs" -version = "0.8.33" +name = "endi" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" -dependencies = [ - "cfg-if", -] +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" dependencies = [ "enumflags2_derive", "serde", @@ -948,70 +962,56 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", +] + +[[package]] +name = "env_filter" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +dependencies = [ + "log", + "regex", ] [[package]] name = "equivalent" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" +dependencies = [ + "serde", + "typeid", +] [[package]] name = "errno" -version = "0.3.8" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "error-code" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "281e452d3bad4005426416cdba5ccfd4f5c1280e10099e21db27f7c1c28347fc" - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", + "windows-sys 0.60.2", ] [[package]] name = "event-listener" -version = "4.0.3" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7ad6fd685ce13acd6d9541a30f6db6567a7a24c9ffd4ba2955d29e3f22c8b27" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -1020,81 +1020,53 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" -dependencies = [ - "event-listener 5.1.0", + "event-listener", "pin-project-lite", ] [[package]] name = "fastrand" -version = "1.9.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fastrand" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fdeflate" -version = "0.3.4" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" dependencies = [ "simd-adler32", ] +[[package]] +name = "fern" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29" +dependencies = [ + "log", +] + [[package]] name = "field-offset" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" dependencies = [ - "memoffset 0.9.0", + "memoffset", "rustc_version", ] -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "windows-sys 0.52.0", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" -version = "1.0.28" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -1106,15 +1078,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared 0.1.1", -] - [[package]] name = "foreign-types" version = "0.5.0" @@ -1122,7 +1085,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" dependencies = [ "foreign-types-macros", - "foreign-types-shared 0.3.1", + "foreign-types-shared", ] [[package]] @@ -1133,15 +1096,9 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "foreign-types-shared" version = "0.3.1" @@ -1157,6 +1114,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + [[package]] name = "futf" version = "0.1.5" @@ -1169,24 +1132,24 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -1195,32 +1158,17 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "1.13.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "futures-lite" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" -dependencies = [ - "fastrand 2.0.1", + "fastrand", "futures-core", "futures-io", "parking", @@ -1229,32 +1177,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-core", "futures-io", @@ -1278,11 +1226,10 @@ dependencies = [ [[package]] name = "gdk" -version = "0.15.4" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk-pixbuf", "gdk-sys", @@ -1294,35 +1241,35 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.15.11" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", "glib", "libc", + "once_cell", ] [[package]] name = "gdk-pixbuf-sys" -version = "0.15.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" dependencies = [ "gio-sys", "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.0", + "system-deps", ] [[package]] name = "gdk-sys" -version = "0.15.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1332,47 +1279,48 @@ dependencies = [ "libc", "pango-sys", "pkg-config", - "system-deps 6.2.0", + "system-deps", ] [[package]] name = "gdkwayland-sys" -version = "0.15.3" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" dependencies = [ "gdk-sys", "glib-sys", "gobject-sys", "libc", "pkg-config", - "system-deps 6.2.0", + "system-deps", ] [[package]] -name = "gdkx11-sys" -version = "0.15.1" +name = "gdkx11" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" dependencies = [ - "gdk-sys", - "glib-sys", + "gdk", + "gdkx11-sys", + "gio", + "glib", "libc", - "system-deps 6.2.0", "x11", ] [[package]] -name = "generator" -version = "0.7.5" +name = "gdkx11-sys" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" dependencies = [ - "cc", + "gdk-sys", + "glib-sys", "libc", - "log", - "rustversion", - "windows 0.48.0", + "system-deps", + "x11", ] [[package]] @@ -1385,16 +1333,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "gethostname" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" -dependencies = [ - "libc", - "windows-targets 0.48.5", -] - [[package]] name = "getrandom" version = "0.1.16" @@ -1408,134 +1346,136 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] name = "gimli" -version = "0.28.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "gio" -version = "0.15.12" +version = "0.18.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" dependencies = [ - "bitflags 1.3.2", "futures-channel", "futures-core", "futures-io", + "futures-util", "gio-sys", "glib", "libc", "once_cell", - "thiserror", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", ] [[package]] name = "gio-sys" -version = "0.15.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.0", + "system-deps", "winapi", ] [[package]] name = "glib" -version = "0.15.12" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "futures-channel", "futures-core", "futures-executor", "futures-task", + "futures-util", + "gio-sys", "glib-macros", "glib-sys", "gobject-sys", "libc", + "memchr", "once_cell", "smallvec", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "glib-macros" -version = "0.15.13" +version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" dependencies = [ - "anyhow", "heck 0.4.1", - "proc-macro-crate", + "proc-macro-crate 2.0.0", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] name = "glib-sys" -version = "0.15.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" dependencies = [ "libc", - "system-deps 6.2.0", + "system-deps", ] [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "globset" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.5", - "regex-syntax 0.8.2", -] +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gobject-sys" -version = "0.15.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" dependencies = [ "glib-sys", "libc", - "system-deps 6.2.0", + "system-deps", ] [[package]] name = "gtk" -version = "0.15.5" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" dependencies = [ "atk", - "bitflags 1.3.2", "cairo-rs", "field-offset", "futures-channel", @@ -1546,16 +1486,15 @@ dependencies = [ "gtk-sys", "gtk3-macros", "libc", - "once_cell", "pango", "pkg-config", ] [[package]] name = "gtk-sys" -version = "0.15.3" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" dependencies = [ "atk-sys", "cairo-sys-rs", @@ -1566,40 +1505,20 @@ dependencies = [ "gobject-sys", "libc", "pango-sys", - "system-deps 6.2.0", + "system-deps", ] [[package]] name = "gtk3-macros" -version = "0.15.6" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" dependencies = [ - "anyhow", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", -] - -[[package]] -name = "h2" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.2.3", - "slab", - "tokio", - "tokio-util", - "tracing", + "syn 2.0.104", ] [[package]] @@ -1607,21 +1526,15 @@ name = "hashbrown" version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" [[package]] name = "heck" @@ -1630,10 +1543,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] -name = "hermit-abi" -version = "0.3.6" +name = "heck" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -1643,107 +1562,112 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "html5ever" -version = "0.26.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" dependencies = [ "log", "mac", "markup5ever", - "proc-macro2", - "quote", - "syn 1.0.109", + "match_token", ] [[package]] name = "http" -version = "0.2.11" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", - "itoa 1.0.10", + "itoa", ] [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", "pin-project-lite", ] -[[package]] -name = "http-range" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" - [[package]] name = "httparse" -version = "1.8.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" [[package]] name = "hyper" -version = "0.14.28" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", - "h2", "http", "http-body", "httparse", - "httpdate", - "itoa 1.0.10", + "itoa", "pin-project-lite", - "socket2 0.5.5", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] -name = "hyper-tls" -version = "0.5.0" +name = "hyper-util" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ + "base64 0.22.1", "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", "hyper", - "native-tls", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", "tokio", - "tokio-native-tls", + "tower-service", + "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", + "log", "wasm-bindgen", - "windows-core 0.52.0", + "windows-core", ] [[package]] @@ -1757,14 +1681,100 @@ dependencies = [ [[package]] name = "ico" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" +checksum = "cc50b891e4acf8fe0e71ef88ec43ad82ee07b3810ad09de10f1d01f072ed4b98" dependencies = [ "byteorder", "png", ] +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -1773,42 +1783,35 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec", + "utf8_iter", ] [[package]] -name = "ignore" -version = "0.4.22" +name = "idna_adapter" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata 0.4.5", - "same-file", - "walkdir", - "winapi-util", + "icu_normalizer", + "icu_properties", ] [[package]] name = "image" -version = "0.24.8" +version = "0.25.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034bbe799d1909622a74d1193aa50147769440040ff36cb2baa947609b0a4e23" +checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" dependencies = [ "bytemuck", - "byteorder", - "color_quant", + "byteorder-lite", "num-traits", "png", - "tiff", ] [[package]] @@ -1824,67 +1827,81 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.3" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.15.4", "serde", ] [[package]] name = "infer" -version = "0.13.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" dependencies = [ "cfb", ] [[package]] -name = "instant" -version = "0.1.12" +name = "io-uring" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013" dependencies = [ + "bitflags 2.9.1", "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi", "libc", - "windows-sys 0.48.0", ] [[package]] name = "ipnet" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] [[package]] name = "itoa" -version = "0.4.8" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "javascriptcore-rs" -version = "0.16.0" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" dependencies = [ "bitflags 1.3.2", "glib", @@ -1893,28 +1910,30 @@ dependencies = [ [[package]] name = "javascriptcore-rs-sys" -version = "0.4.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 5.0.0", + "system-deps", ] [[package]] name = "jni" -version = "0.20.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" dependencies = [ "cesu8", + "cfg-if", "combine", "jni-sys", "log", - "thiserror", + "thiserror 1.0.69", "walkdir", + "windows-sys 0.45.0", ] [[package]] @@ -1923,57 +1942,72 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" -[[package]] -name = "jpeg-decoder" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" - [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] [[package]] name = "json-patch" -version = "1.2.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" dependencies = [ "serde", "serde_json", - "thiserror", - "treediff", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.9.1", + "serde", + "unicode-segmentation", ] [[package]] name = "kuchikiki" -version = "0.8.2" +version = "0.8.8-speedreader" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" dependencies = [ "cssparser", "html5ever", - "indexmap 1.9.3", - "matches", + "indexmap 2.10.0", "selectors", ] [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libappindicator" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2d3cb96d092b4824cb306c9e544c856a4cb6210c1081945187f7f1924b47e8" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" dependencies = [ "glib", "gtk", @@ -1984,20 +2018,20 @@ dependencies = [ [[package]] name = "libappindicator-sys" -version = "0.7.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1b3b6681973cea8cc3bce7391e6d7d5502720b80a581c9a95c9cbaf592826aa" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading 0.7.4", + "libloading", "once_cell", ] [[package]] name = "libc" -version = "0.2.153" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libloading" @@ -2009,53 +2043,33 @@ dependencies = [ "winapi", ] -[[package]] -name = "libloading" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "libredox" -version = "0.0.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.9.1", "libc", - "redox_syscall", -] - -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", ] [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] -name = "linux-raw-sys" -version = "0.4.13" +name = "litemap" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -2063,23 +2077,11 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" - -[[package]] -name = "loom" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" dependencies = [ - "cfg-if", - "generator", - "scoped-tls", - "serde", - "serde_json", - "tracing", - "tracing-subscriber", + "value-bag", ] [[package]] @@ -2088,49 +2090,29 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" -[[package]] -name = "mac-notification-sys" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51fca4d74ff9dbaac16a01b924bc3693fa2bba0862c2c633abc73f9a8ea21f64" -dependencies = [ - "cc", - "dirs-next", - "objc-foundation", - "objc_id", - "time", -] - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - [[package]] name = "markup5ever" -version = "0.11.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" dependencies = [ "log", - "phf 0.10.1", - "phf_codegen 0.10.0", + "phf 0.11.3", + "phf_codegen 0.11.3", "string_cache", "string_cache_codegen", "tendril", ] [[package]] -name = "matchers" +name = "match_token" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" dependencies = [ - "regex-automata 0.1.10", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] @@ -2141,24 +2123,15 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "memoffset" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -2169,72 +2142,61 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ - "adler", + "adler2", "simd-adler32", ] [[package]] name = "mio" -version = "0.8.10" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] -name = "native-tls" -version = "0.2.11" +name = "muda" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "58b89bf91c19bf036347f1ab85a81c560f08c0667c8601bece664d860a600988" dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation 0.3.1", + "once_cell", + "png", + "serde", + "thiserror 2.0.12", + "windows-sys 0.59.0", ] [[package]] name = "ndk" -version = "0.6.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "jni-sys", + "log", "ndk-sys", "num_enum", - "thiserror", + "raw-window-handle", + "thiserror 1.0.69", ] [[package]] @@ -2245,30 +2207,30 @@ checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" [[package]] name = "ndk-sys" -version = "0.3.0" +version = "0.6.0+11769913" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" dependencies = [ "jni-sys", ] [[package]] name = "new_debug_unreachable" -version = "1.0.4" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" [[package]] name = "nix" -version = "0.26.4" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", "cfg-if", + "cfg_aliases", "libc", - "memoffset 0.7.1", - "pin-utils", + "memoffset", ] [[package]] @@ -2277,48 +2239,6 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "notify-rust" -version = "4.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "827c5edfa80235ded4ab3fe8e9dc619b4f866ef16fe9b1c6b8a7f8692c0f2226" -dependencies = [ - "log", - "mac-notification-sys", - "serde", - "tauri-winrt-notification", - "zbus", -] - -[[package]] -name = "ntapi" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" -dependencies = [ - "winapi", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - [[package]] name = "num-conv" version = "0.1.0" @@ -2327,151 +2247,313 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] -name = "objc" -version = "0.2.7" +name = "num_threads" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" dependencies = [ - "malloc_buf", - "objc_exception", + "libc", ] [[package]] -name = "objc-foundation" +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" + +[[package]] +name = "objc2" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" +dependencies = [ + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c6597e14493ab2e44ce58f2fdecf095a51f12ca57bec060a11c57332520551" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" +dependencies = [ + "bitflags 2.9.1", + "block2 0.6.1", + "libc", + "objc2 0.6.1", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-foundation 0.3.1", + "objc2-quartz-core 0.3.1", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17614fdcd9b411e6ff1117dfb1d0150f908ba83a7df81b1f118005fe0a8ea15d" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-foundation 0.3.1", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291fbbf7d29287518e8686417cf7239c74700fd4b607623140a7d4a3c834329d" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-foundation 0.3.1", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" +dependencies = [ + "bitflags 2.9.1", + "dispatch2", + "objc2 0.6.1", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" +dependencies = [ + "bitflags 2.9.1", + "dispatch2", + "objc2 0.6.1", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79b3dc0cc4386b6ccf21c157591b34a7f44c8e75b064f85502901ab2188c007e" +dependencies = [ + "objc2 0.6.1", + "objc2-foundation 0.3.1", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -dependencies = [ - "block", - "objc", - "objc_id", -] - -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" dependencies = [ "cc", ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "objc2-foundation" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "objc", + "bitflags 2.9.1", + "block2 0.5.1", + "libc", + "objc2 0.5.2", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" +dependencies = [ + "bitflags 2.9.1", + "block2 0.6.1", + "libc", + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-javascript-core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9052cb1bb50a4c161d934befcf879526fb87ae9a68858f241e693ca46225cf5a" +dependencies = [ + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.9.1", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.9.1", + "block2 0.5.1", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-metal", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ffb6a0cd5f182dc964334388560b12a57f7b74b3e2dec5e2722aa2dfb2ccd5" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-foundation 0.3.1", +] + +[[package]] +name = "objc2-security" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1f8e0ef3ab66b08c42644dcb34dba6ec0a574bbd8adbb8bdbdc7a2779731a44" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25b1312ad7bc8a0e92adae17aa10f90aae1fb618832f9b993b022b591027daed" +dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", + "objc2-core-foundation", + "objc2-foundation 0.3.1", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91672909de8b1ce1c2252e95bbee8c1649c9ad9d14b9248b3d7b4c47903c47ad" +dependencies = [ + "bitflags 2.9.1", + "block2 0.6.1", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation 0.3.1", + "objc2-javascript-core", + "objc2-security", ] [[package]] name = "object" -version = "0.32.2" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "open" -version = "3.2.0" +version = "5.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" +checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95" dependencies = [ + "dunce", + "is-wsl", + "libc", "pathdiff", - "windows-sys 0.42.0", ] [[package]] -name = "openssl" -version = "0.10.64" +name = "option-ext" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" -dependencies = [ - "bitflags 2.4.2", - "cfg-if", - "foreign-types 0.3.2", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.50", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae94056a791d0e1217d18b6cbdccb02c61e3054fc69893607f4067e3bb0b1fd1" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "ordered-stream" @@ -2483,40 +2565,13 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "os_info" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" -dependencies = [ - "log", - "serde", - "winapi", -] - -[[package]] -name = "os_pipe" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "pango" -version = "0.15.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" dependencies = [ - "bitflags 1.3.2", + "gio", "glib", "libc", "once_cell", @@ -2525,27 +2580,27 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.15.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" dependencies = [ "glib-sys", "gobject-sys", "libc", - "system-deps 6.2.0", + "system-deps", ] [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -2553,22 +2608,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "pathdiff" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "percent-encoding" @@ -2576,25 +2631,13 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" -[[package]] -name = "petgraph" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" -dependencies = [ - "fixedbitset", - "indexmap 2.2.3", -] - [[package]] name = "phf" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" dependencies = [ - "phf_macros 0.8.0", "phf_shared 0.8.0", - "proc-macro-hack", ] [[package]] @@ -2603,17 +2646,19 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" dependencies = [ + "phf_macros 0.10.0", "phf_shared 0.10.0", + "proc-macro-hack", ] [[package]] name = "phf" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ - "phf_macros 0.11.2", - "phf_shared 0.11.2", + "phf_macros 0.11.3", + "phf_shared 0.11.3", ] [[package]] @@ -2628,12 +2673,12 @@ dependencies = [ [[package]] name = "phf_codegen" -version = "0.10.0" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", + "phf_generator 0.11.3", + "phf_shared 0.11.3", ] [[package]] @@ -2658,22 +2703,22 @@ dependencies = [ [[package]] name = "phf_generator" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_shared 0.11.2", + "phf_shared 0.11.3", "rand 0.8.5", ] [[package]] name = "phf_macros" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", + "phf_generator 0.10.0", + "phf_shared 0.10.0", "proc-macro-hack", "proc-macro2", "quote", @@ -2682,15 +2727,15 @@ dependencies = [ [[package]] name = "phf_macros" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ - "phf_generator 0.11.2", - "phf_shared 0.11.2", + "phf_generator 0.11.3", + "phf_shared 0.11.3", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] @@ -2699,7 +2744,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] [[package]] @@ -2708,23 +2753,23 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] [[package]] name = "phf_shared" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ - "siphasher", + "siphasher 1.0.1", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "pin-utils" @@ -2734,40 +2779,39 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand", "futures-io", ] [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "plist" -version = "1.6.0" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5699cc8a63d1aa2b1ee8e12b9ad70ac790d65788cd36101fa37f87ea46c4cef" +checksum = "3d77244ce2d584cd84f6a15f86195b8c9b2a0dfbfd817c09e0464244091a58ed" dependencies = [ - "base64 0.21.7", - "indexmap 2.2.3", - "line-wrap", - "quick-xml 0.31.0", + "base64 0.22.1", + "indexmap 2.10.0", + "quick-xml", "serde", "time", ] [[package]] name = "png" -version = "0.17.13" +version = "0.17.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" dependencies = [ "bitflags 1.3.2", "crc32fast", @@ -2778,32 +2822,25 @@ dependencies = [ [[package]] name = "polling" -version = "2.8.0" +version = "3.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" dependencies = [ - "autocfg", - "bitflags 1.3.2", "cfg-if", "concurrent-queue", - "libc", - "log", + "hermit-abi", "pin-project-lite", - "windows-sys 0.48.0", + "rustix", + "windows-sys 0.61.2", ] [[package]] -name = "polling" -version = "3.5.0" +name = "potential_utf" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" dependencies = [ - "cfg-if", - "concurrent-queue", - "pin-project-lite", - "rustix 0.38.31", - "tracing", - "windows-sys 0.52.0", + "zerovec", ] [[package]] @@ -2814,9 +2851,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] [[package]] name = "precomputed-hash" @@ -2834,6 +2874,24 @@ dependencies = [ "toml_edit 0.19.15", ] +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit 0.22.27", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -2866,40 +2924,63 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] [[package]] -name = "quick-xml" -version = "0.30.0" +name = "ptr_meta" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" dependencies = [ - "memchr", + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.37.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" dependencies = [ "memchr", ] [[package]] name = "quote" -version = "1.0.35" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + [[package]] name = "rand" version = "0.7.3" @@ -2960,7 +3041,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.16", ] [[package]] @@ -2983,228 +3064,207 @@ dependencies = [ [[package]] name = "raw-window-handle" -version = "0.5.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "rayon" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.9.1", ] [[package]] name = "redox_users" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.2.16", "libredox", - "thiserror", + "thiserror 2.0.12", +] + +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "regex" -version = "1.10.3" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.5", - "regex-syntax 0.8.2", + "regex-automata", + "regex-syntax", ] [[package]] name = "regex-automata" -version = "0.1.10" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax", ] [[package]] name = "regex-syntax" -version = "0.6.29" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] -name = "regex-syntax" -version = "0.8.2" +name = "rend" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] [[package]] name = "reqwest" -version = "0.11.24" +version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2", "http", "http-body", + "http-body-util", "hyper", - "hyper-tls", - "ipnet", + "hyper-util", "js-sys", "log", - "mime", - "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "sync_wrapper", - "system-configuration", "tokio", - "tokio-native-tls", "tokio-util", + "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "web-sys", - "winreg 0.50.0", ] [[package]] -name = "rfd" -version = "0.10.0" +name = "rkyv" +version = "0.7.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" dependencies = [ - "block", - "dispatch", - "glib-sys", - "gobject-sys", - "gtk-sys", - "js-sys", - "lazy_static", - "log", - "objc", - "objc-foundation", - "objc_id", - "raw-window-handle", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows 0.37.0", + "bitvec", + "bytecheck", + "bytes", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "rust_decimal" +version = "1.37.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b203a6425500a03e0919c42d3c47caca51e79f1132046626d2c8871c5092035d" +dependencies = [ + "arrayvec", + "borsh", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustix" -version = "0.37.27" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" -dependencies = [ - "bitflags 2.4.2", + "bitflags 2.9.1", "errno", "libc", - "linux-raw-sys 0.4.13", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", + "linux-raw-sys", + "windows-sys 0.60.2", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" - -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "same-file" @@ -3216,19 +3276,55 @@ dependencies = [ ] [[package]] -name = "schannel" -version = "0.1.23" +name = "schemars" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" dependencies = [ - "windows-sys 0.52.0", + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", ] [[package]] -name = "scoped-tls" -version = "1.0.1" +name = "schemars" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1375ba8ef45a6f15d83fa8748f1079428295d403d6ea991d09ab100155fbc06d" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.104", +] [[package]] name = "scopeguard" @@ -3237,109 +3333,131 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] -name = "security-framework" -version = "2.9.2" +name = "seahash" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" -dependencies = [ - "core-foundation-sys", - "libc", -] +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "selectors" -version = "0.22.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" dependencies = [ "bitflags 1.3.2", "cssparser", "derive_more", "fxhash", "log", - "matches", "phf 0.8.0", "phf_codegen 0.8.0", "precomputed-hash", "servo_arc", "smallvec", - "thin-slice", ] [[package]] name = "semver" -version = "1.0.22" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.197" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "299d9c19d7d466db4ab10addd5703e4c615dec2a5a16dbbafe191045e87ee66e" +dependencies = [ + "erased-serde", + "serde", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ - "indexmap 2.2.3", - "itoa 1.0.10", + "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "serde_repr" -version = "0.1.18" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -3347,22 +3465,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa 1.0.10", + "itoa", "ryu", "serde", ] [[package]] name = "serde_with" -version = "3.6.1" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.3", + "indexmap 2.10.0", + "schemars 0.9.0", + "schemars 1.0.3", "serde", "serde_derive", "serde_json", @@ -3372,21 +3492,21 @@ dependencies = [ [[package]] name = "serde_with_macros" -version = "3.6.1" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865f9743393e638991566a8b7a479043c2c8da94a33e0a31f18214c9cae0a64d" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "serialize-to-javascript" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" dependencies = [ "serde", "serde_json", @@ -3395,41 +3515,30 @@ dependencies = [ [[package]] name = "serialize-to-javascript-impl" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] name = "servo_arc" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" dependencies = [ "nodrop", "stable_deref_trait", ] -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -3437,47 +3546,30 @@ dependencies = [ ] [[package]] -name = "sharded-slab" -version = "0.1.7" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] -name = "shared_child" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "sigma-file-manager-v2" +name = "sigma-file-manager" version = "2.0.0-alpha.1" dependencies = [ - "chrono", - "lazy_static", - "mime_guess", + "log", "serde", "serde_json", - "sysinfo", - "systemstat", "tauri", "tauri-build", + "tauri-plugin-log", + "tauri-plugin-opener", "tauri-plugin-store", - "winapi", - "winreg 0.52.0", ] [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -3488,6 +3580,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "simdutf8" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" + [[package]] name = "siphasher" version = "0.3.11" @@ -3495,66 +3593,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "slab" -version = "0.4.9" +name = "siphasher" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "slab" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.13.1" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "socket2" -version = "0.4.10" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] -name = "socket2" -version = "0.5.5" +name = "softbuffer" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08" dependencies = [ - "libc", - "windows-sys 0.48.0", + "bytemuck", + "cfg_aliases", + "core-graphics", + "foreign-types", + "js-sys", + "log", + "objc2 0.5.2", + "objc2-foundation 0.2.2", + "objc2-quartz-core 0.2.2", + "raw-window-handle", + "redox_syscall", + "wasm-bindgen", + "web-sys", + "windows-sys 0.59.0", ] [[package]] -name = "soup2" -version = "0.2.1" +name = "soup3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" dependencies = [ - "bitflags 1.3.2", + "futures-channel", "gio", "glib", "libc", - "once_cell", - "soup2-sys", + "soup3-sys", ] [[package]] -name = "soup2-sys" -version = "0.2.0" +name = "soup3-sys" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" dependencies = [ - "bitflags 1.3.2", "gio-sys", "glib-sys", "gobject-sys", "libc", - "system-deps 5.0.0", + "system-deps", ] [[package]] @@ -3563,15 +3674,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" -[[package]] -name = "state" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" -dependencies = [ - "loom", -] - [[package]] name = "static_assertions" version = "1.1.0" @@ -3580,35 +3682,45 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "string_cache" -version = "0.8.7" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" dependencies = [ "new_debug_unreachable", - "once_cell", "parking_lot", - "phf_shared 0.10.0", + "phf_shared 0.11.3", "precomputed-hash", "serde", ] [[package]] name = "string_cache_codegen" -version = "0.5.2" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", + "phf_generator 0.11.3", + "phf_shared 0.11.3", "proc-macro2", "quote", ] [[package]] name = "strsim" -version = "0.10.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "swift-rs" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] [[package]] name = "syn" @@ -3623,9 +3735,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.50" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -3634,260 +3746,181 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "sys-locale" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a11bd9c338fdba09f7881ab41551932ad42e405f61d01e8406baea71c07aee" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" dependencies = [ - "js-sys", - "libc", - "wasm-bindgen", - "web-sys", - "windows-sys 0.45.0", + "futures-core", ] [[package]] -name = "sysinfo" -version = "0.30.5" +name = "synstructure" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb4f3438c8f6389c864e61221cbc97e9bca98b4daf39a5beb7bea660f528bb2" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ - "cfg-if", - "core-foundation-sys", - "libc", - "ntapi", - "once_cell", - "rayon", - "windows 0.52.0", -] - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "system-deps" -version = "5.0.0" +version = "6.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" dependencies = [ - "cfg-expr 0.9.1", - "heck 0.3.3", + "cfg-expr", + "heck 0.5.0", "pkg-config", - "toml 0.5.11", - "version-compare 0.0.11", -] - -[[package]] -name = "system-deps" -version = "6.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" -dependencies = [ - "cfg-expr 0.15.7", - "heck 0.4.1", - "pkg-config", - "toml 0.8.10", - "version-compare 0.1.1", -] - -[[package]] -name = "systemstat" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24aec24a9312c83999a28e3ef9db7e2afd5c64bf47725b758cdc1cafd5b0bd2" -dependencies = [ - "bytesize", - "lazy_static", - "libc", - "nom", - "time", - "winapi", + "toml 0.8.23", + "version-compare", ] [[package]] name = "tao" -version = "0.16.7" +version = "0.34.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22205b267a679ca1c590b9f178488d50981fc3e48a1b91641ae31593db875ce" +checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "cc", - "cocoa", + "bitflags 2.9.1", + "block2 0.6.1", "core-foundation", - "core-graphics 0.22.3", + "core-graphics", "crossbeam-channel", - "dirs-next", "dispatch", - "gdk", - "gdk-pixbuf", - "gdk-sys", + "dlopen2", + "dpi", "gdkwayland-sys", "gdkx11-sys", - "gio", - "glib", - "glib-sys", "gtk", - "image", - "instant", "jni", "lazy_static", - "libappindicator", "libc", "log", "ndk", "ndk-context", "ndk-sys", - "objc", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-foundation 0.3.1", "once_cell", "parking_lot", - "png", "raw-window-handle", "scopeguard", - "serde", "tao-macros", "unicode-segmentation", - "uuid", - "windows 0.39.0", - "windows-implement", + "url", + "windows", + "windows-core", + "windows-version", "x11-dl", ] [[package]] name = "tao-macros" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" +checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] -name = "tar" -version = "0.4.40" +name = "tap" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.13" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tauri" -version = "1.6.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0da520ff07c0745199204f7a7a62a8c6ee1666313b792b051ca170eca04649aa" +checksum = "c9871670c6711f50fddd4e20350be6b9dd6e6c2b5d77d8ee8900eb0d58cd837a" dependencies = [ "anyhow", "bytes", - "cocoa", - "dirs-next", + "cookie", + "dirs", "dunce", "embed_plist", - "encoding_rs", - "flate2", - "futures-util", - "glib", + "getrandom 0.3.3", "glob", "gtk", - "heck 0.4.1", + "heck 0.5.0", "http", - "ignore", - "indexmap 1.9.3", - "nix", - "notify-rust", - "objc", - "once_cell", - "open", - "os_info", - "os_pipe", + "image", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-foundation 0.3.1", + "objc2-ui-kit", + "objc2-web-kit", "percent-encoding", - "rand 0.8.5", + "plist", "raw-window-handle", - "regex", "reqwest", - "rfd", - "semver", "serde", "serde_json", "serde_repr", "serialize-to-javascript", - "shared_child", - "state", - "sys-locale", - "tar", + "swift-rs", + "tauri-build", "tauri-macros", "tauri-runtime", "tauri-runtime-wry", "tauri-utils", - "tempfile", - "thiserror", + "thiserror 2.0.12", "tokio", + "tray-icon", "url", - "uuid", "webkit2gtk", "webview2-com", - "windows 0.39.0", + "window-vibrancy", + "windows", ] [[package]] name = "tauri-build" -version = "1.5.1" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9914a4715e0b75d9f387a285c7e26b5bbfeb1249ad9f842675a82481565c532" +checksum = "a924b6c50fe83193f0f8b14072afa7c25b7a72752a2a73d9549b463f5fe91a38" dependencies = [ "anyhow", "cargo_toml", - "dirs-next", - "heck 0.4.1", + "dirs", + "glob", + "heck 0.5.0", "json-patch", + "schemars 0.8.22", "semver", "serde", "serde_json", "tauri-utils", "tauri-winres", + "toml 0.9.6", "walkdir", ] [[package]] name = "tauri-codegen" -version = "1.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1554c5857f65dbc377cefb6b97c8ac77b1cb2a90d30d3448114d5d6b48a77fc" +checksum = "6c1fe64c74cc40f90848281a90058a6db931eb400b60205840e09801ee30f190" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "brotli", "ico", "json-patch", @@ -3895,146 +3928,222 @@ dependencies = [ "png", "proc-macro2", "quote", - "regex", "semver", "serde", "serde_json", "sha2", + "syn 2.0.104", "tauri-utils", - "thiserror", + "thiserror 2.0.12", "time", + "url", "uuid", "walkdir", ] [[package]] name = "tauri-macros" -version = "1.4.3" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "277abf361a3a6993ec16bcbb179de0d6518009b851090a01adfea12ac89fa875" +checksum = "260c5d2eb036b76206b9fca20b7be3614cfd21046c5396f7959e0e64a4b07f2f" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", "tauri-codegen", "tauri-utils", ] [[package]] -name = "tauri-plugin-store" -version = "0.0.0" -source = "git+https://github.com/tauri-apps/plugins-workspace?branch=v1#58176114f98c977e3435aba3aa910b61115a394e" +name = "tauri-plugin" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076c78a474a7247c90cad0b6e87e593c4c620ed4efdb79cbe0214f0021f6c39d" dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "toml 0.9.6", + "walkdir", +] + +[[package]] +name = "tauri-plugin-log" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a59139183e0907cec1499dddee4e085f5a801dc659efa0848ee224f461371426" +dependencies = [ + "android_logger", + "byte-unit", + "fern", "log", + "objc2 0.6.1", + "objc2-foundation 0.3.1", + "serde", + "serde_json", + "serde_repr", + "swift-rs", + "tauri", + "tauri-plugin", + "thiserror 2.0.12", + "time", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786156aa8e89e03d271fbd3fe642207da8e65f3c961baa9e2930f332bf80a1f5" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation 0.3.1", + "open", + "schemars 0.8.22", "serde", "serde_json", "tauri", - "thiserror", + "tauri-plugin", + "thiserror 2.0.12", + "url", + "windows", + "zbus", +] + +[[package]] +name = "tauri-plugin-store" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5916c609664a56c82aeaefffca9851fd072d4d41f73d63f22ee3ee451508194f" +dependencies = [ + "dunce", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.12", + "tokio", + "tracing", ] [[package]] name = "tauri-runtime" -version = "0.14.2" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2d0652aa2891ff3e9caa2401405257ea29ab8372cce01f186a5825f1bd0e76" +checksum = "9368f09358496f2229313fccb37682ad116b7f46fa76981efe116994a0628926" dependencies = [ + "cookie", + "dpi", "gtk", "http", - "http-range", - "rand 0.8.5", + "jni", + "objc2 0.6.1", + "objc2-ui-kit", + "objc2-web-kit", "raw-window-handle", "serde", "serde_json", "tauri-utils", - "thiserror", + "thiserror 2.0.12", "url", - "uuid", + "webkit2gtk", "webview2-com", - "windows 0.39.0", + "windows", ] [[package]] name = "tauri-runtime-wry" -version = "0.14.4" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561ae38c6b27510c77a3ab4cf65bebe18fba51ca4569e023fb9e194ff4995fb" +checksum = "929f5df216f5c02a9e894554401bcdab6eec3e39ec6a4a7731c7067fc8688a93" dependencies = [ - "arboard", - "cocoa", "gtk", + "http", + "jni", + "log", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-foundation 0.3.1", + "once_cell", "percent-encoding", - "rand 0.8.5", "raw-window-handle", + "softbuffer", + "tao", "tauri-runtime", "tauri-utils", - "uuid", + "url", "webkit2gtk", "webview2-com", - "windows 0.39.0", + "windows", "wry", ] [[package]] name = "tauri-utils" -version = "1.5.3" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ad0bbb31fccd1f4c56275d0a5c3abdf1f59999f72cb4ef8b79b4ed42082a21" +checksum = "f6b8bbe426abdbf52d050e52ed693130dbd68375b9ad82a3fb17efb4c8d85673" dependencies = [ + "anyhow", "brotli", + "cargo_metadata", "ctor", "dunce", "glob", - "heck 0.4.1", "html5ever", + "http", "infer", "json-patch", "kuchikiki", "log", "memchr", - "phf 0.11.2", + "phf 0.11.3", "proc-macro2", "quote", + "regex", + "schemars 0.8.22", "semver", "serde", + "serde-untagged", "serde_json", "serde_with", - "thiserror", + "swift-rs", + "thiserror 2.0.12", + "toml 0.9.6", "url", + "urlpattern", + "uuid", "walkdir", - "windows-version", ] [[package]] name = "tauri-winres" -version = "0.1.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +checksum = "e8d321dbc6f998d825ab3f0d62673e810c861aac2d0de2cc2c395328f1d113b4" dependencies = [ "embed-resource", - "toml 0.7.8", -] - -[[package]] -name = "tauri-winrt-notification" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "006851c9ccefa3c38a7646b8cec804bb429def3da10497bfa977179869c3e8e2" -dependencies = [ - "quick-xml 0.30.0", - "windows 0.51.1", + "indexmap 2.10.0", + "toml 0.8.23", ] [[package]] name = "tempfile" -version = "3.10.0" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ - "cfg-if", - "fastrand 2.0.1", - "rustix 0.38.31", - "windows-sys 0.52.0", + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix", + "windows-sys 0.60.2", ] [[package]] @@ -4049,61 +4158,56 @@ dependencies = [ ] [[package]] -name = "thin-slice" -version = "0.1.1" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] [[package]] name = "thiserror" -version = "1.0.57" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "thiserror-impl", + "thiserror-impl 2.0.12", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] -name = "thread_local" -version = "1.1.8" +name = "thiserror-impl" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "tiff" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" -dependencies = [ - "flate2", - "jpeg-decoder", - "weezl", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "time" -version = "0.3.34" +version = "0.3.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" dependencies = [ "deranged", - "itoa 1.0.10", + "itoa", + "libc", "num-conv", + "num_threads", "powerfmt", "serde", "time-core", @@ -4112,25 +4216,35 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" dependencies = [ "num-conv", "time-core", ] [[package]] -name = "tinyvec" -version = "1.6.0" +name = "tinystr" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" dependencies = [ "tinyvec_macros", ] @@ -4143,123 +4257,198 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1140bb80481756a8cbe10541f37433b459c5aa1e727b4c020fbfebdc25bf3ec4" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", - "num_cpus", "pin-project-lite", - "socket2 0.5.5", - "windows-sys 0.48.0", + "slab", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", ] [[package]] -name = "tokio-native-tls" -version = "0.3.1" +name = "tokio-macros" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ - "native-tls", - "tokio", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] name = "toml" -version = "0.5.11" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", + "toml_edit 0.22.27", ] [[package]] name = "toml" -version = "0.7.8" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "ae2a4cf385da23d1d53bc15cdfa5c2109e93d8d362393c801e87da2f72f0e201" dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.19.15", -] - -[[package]] -name = "toml" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.6", + "indexmap 2.10.0", + "serde_core", + "serde_spanned 1.0.3", + "toml_datetime 0.7.3", + "toml_parser", + "toml_writer", + "winnow 0.7.11", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" +dependencies = [ + "serde_core", +] + [[package]] name = "toml_edit" version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.3", - "serde", - "serde_spanned", - "toml_datetime", + "indexmap 2.10.0", + "toml_datetime 0.6.11", "winnow 0.5.40", ] [[package]] name = "toml_edit" -version = "0.22.6" +version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.2.3", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.2", + "indexmap 2.10.0", + "toml_datetime 0.6.11", + "winnow 0.5.40", ] [[package]] -name = "tower-service" -version = "0.3.2" +name = "toml_edit" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" +dependencies = [ + "indexmap 2.10.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", + "toml_write", + "winnow 0.7.11", +] + +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow 0.7.11", +] + +[[package]] +name = "toml_write" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "toml_writer" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.9.1", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -4268,75 +4457,44 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", - "valuable", ] [[package]] -name = "tracing-log" -version = "0.2.0" +name = "tray-icon" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "2da75ec677957aa21f6e0b361df0daab972f13a5bee3606de0638fd4ee1c666a" dependencies = [ - "log", + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation 0.3.1", "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "tree_magic_mini" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91adfd0607cacf6e4babdb870e9bec4037c1c4b151cfd279ccefc5e0c7feaa6d" -dependencies = [ - "bytecount", - "fnv", - "lazy_static", - "nom", - "once_cell", - "petgraph", -] - -[[package]] -name = "treediff" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d127780145176e2b5d16611cc25a900150e86e9fd79d3bde6ff3a37359c9cb5" -dependencies = [ - "serde_json", + "png", + "serde", + "thiserror 2.0.12", + "windows-sys 0.59.0", ] [[package]] @@ -4346,10 +4504,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] -name = "typenum" -version = "1.17.0" +name = "typeid" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" [[package]] name = "uds_windows" @@ -4357,52 +4521,69 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ - "memoffset 0.9.0", + "memoffset", "tempfile", "winapi", ] [[package]] -name = "unicase" -version = "2.7.0" +name = "unic-char-property" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" dependencies = [ - "version_check", + "unic-char-range", ] [[package]] -name = "unicode-bidi" -version = "0.3.15" +name = "unic-char-range" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "url" -version = "2.5.0" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -4410,6 +4591,18 @@ dependencies = [ "serde", ] +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + [[package]] name = "utf-8" version = "0.7.6" @@ -4417,43 +4610,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] -name = "uuid" -version = "1.7.0" +name = "utf8-width" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" +checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ - "getrandom 0.2.12", + "getrandom 0.3.3", + "js-sys", + "serde", + "wasm-bindgen", ] [[package]] -name = "valuable" -version = "0.1.0" +name = "value-bag" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5" [[package]] name = "version-compare" -version = "0.0.11" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" - -[[package]] -name = "version-compare" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vswhom" @@ -4467,25 +4663,19 @@ dependencies = [ [[package]] name = "vswhom-sys" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" dependencies = [ "cc", "libc", ] -[[package]] -name = "waker-fn" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" - [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -4508,52 +4698,63 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.41" +version = "0.4.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4561,28 +4762,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -4591,84 +4795,11 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wayland-backend" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" -dependencies = [ - "cc", - "downcast-rs", - "rustix 0.38.31", - "scoped-tls", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-client" -version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" -dependencies = [ - "bitflags 2.4.2", - "rustix 0.38.31", - "wayland-backend", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols" -version = "0.31.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" -dependencies = [ - "bitflags 2.4.2", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" -dependencies = [ - "bitflags 2.4.2", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" -dependencies = [ - "proc-macro2", - "quick-xml 0.31.0", - "quote", -] - -[[package]] -name = "wayland-sys" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" -dependencies = [ - "dlib", - "log", - "pkg-config", -] - [[package]] name = "web-sys" -version = "0.3.68" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" dependencies = [ "js-sys", "wasm-bindgen", @@ -4676,9 +4807,9 @@ dependencies = [ [[package]] name = "webkit2gtk" -version = "0.18.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" +checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" dependencies = [ "bitflags 1.3.2", "cairo-rs", @@ -4694,20 +4825,18 @@ dependencies = [ "javascriptcore-rs", "libc", "once_cell", - "soup2", + "soup3", "webkit2gtk-sys", ] [[package]] name = "webkit2gtk-sys" -version = "0.18.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" +checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" dependencies = [ - "atk-sys", "bitflags 1.3.2", "cairo-sys-rs", - "gdk-pixbuf-sys", "gdk-sys", "gio-sys", "glib-sys", @@ -4715,56 +4844,47 @@ dependencies = [ "gtk-sys", "javascriptcore-rs-sys", "libc", - "pango-sys", "pkg-config", - "soup2-sys", - "system-deps 6.2.0", + "soup3-sys", + "system-deps", ] [[package]] name = "webview2-com" -version = "0.19.1" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" +checksum = "d4ba622a989277ef3886dd5afb3e280e3dd6d974b766118950a08f8f678ad6a4" dependencies = [ "webview2-com-macros", "webview2-com-sys", - "windows 0.39.0", + "windows", + "windows-core", "windows-implement", + "windows-interface", ] [[package]] name = "webview2-com-macros" -version = "0.6.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" +checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", ] [[package]] name = "webview2-com-sys" -version = "0.19.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" +checksum = "36695906a1b53a3bf5c4289621efedac12b73eeb0b89e7e1a89b517302d5d75c" dependencies = [ - "regex", - "serde", - "serde_json", - "thiserror", - "windows 0.39.0", - "windows-bindgen", - "windows-metadata", + "thiserror 2.0.12", + "windows", + "windows-core", ] -[[package]] -name = "weezl" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" - [[package]] name = "winapi" version = "0.3.9" @@ -4783,11 +4903,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -4797,118 +4917,126 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.37.0" +name = "window-vibrancy" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" dependencies = [ - "windows_aarch64_msvc 0.37.0", - "windows_i686_gnu 0.37.0", - "windows_i686_msvc 0.37.0", - "windows_x86_64_gnu 0.37.0", - "windows_x86_64_msvc 0.37.0", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation 0.3.1", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", ] [[package]] name = "windows" -version = "0.39.0" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", - "windows_aarch64_msvc 0.39.0", - "windows_i686_gnu 0.39.0", - "windows_i686_msvc 0.39.0", - "windows_x86_64_gnu 0.39.0", - "windows_x86_64_msvc 0.39.0", + "windows-interface", + "windows-link 0.1.3", + "windows-result", + "windows-strings", ] [[package]] -name = "windows" -version = "0.48.0" +name = "windows-future" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" -dependencies = [ - "windows-core 0.51.1", - "windows-targets 0.48.5", -] - -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-targets 0.52.0", -] - -[[package]] -name = "windows-bindgen" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" -dependencies = [ - "windows-metadata", - "windows-tokens", -] - -[[package]] -name = "windows-core" -version = "0.51.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.0", + "windows-core", + "windows-link 0.1.3", + "windows-threading", ] [[package]] name = "windows-implement" -version = "0.39.0" +version = "0.60.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" +checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ - "syn 1.0.109", - "windows-tokens", + "proc-macro2", + "quote", + "syn 2.0.104", ] [[package]] -name = "windows-metadata" -version = "0.39.0" +name = "windows-interface" +version = "0.59.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" +checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] [[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows-link" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-core", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -4920,22 +5048,40 @@ dependencies = [ "windows-targets 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.2", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", ] [[package]] @@ -4955,47 +5101,52 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.53.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", ] [[package]] -name = "windows-tokens" -version = "0.39.0" +name = "windows-threading" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] [[package]] name = "windows-version" -version = "0.1.0" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75aa004c988e080ad34aff5739c39d0312f4684699d6d71fc8a198d057b8b9b4" +checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" dependencies = [ - "windows-targets 0.52.0", + "windows-link 0.1.3", ] [[package]] @@ -5006,27 +5157,15 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" [[package]] name = "windows_aarch64_msvc" @@ -5036,27 +5175,15 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" - -[[package]] -name = "windows_i686_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" - -[[package]] -name = "windows_i686_gnu" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" [[package]] name = "windows_i686_gnu" @@ -5066,27 +5193,27 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" [[package]] -name = "windows_i686_msvc" -version = "0.37.0" +name = "windows_i686_gnullvm" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] -name = "windows_i686_msvc" -version = "0.39.0" +name = "windows_i686_gnullvm" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" [[package]] name = "windows_i686_msvc" @@ -5096,27 +5223,15 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" [[package]] name = "windows_x86_64_gnu" @@ -5126,15 +5241,15 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" [[package]] name = "windows_x86_64_gnullvm" @@ -5144,27 +5259,15 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" [[package]] name = "windows_x86_64_msvc" @@ -5174,15 +5277,15 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" @@ -5195,99 +5298,90 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.2" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178" +checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" dependencies = [ "memchr", ] [[package]] name = "winreg" -version = "0.50.0" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] -name = "winreg" -version = "0.51.0" +name = "wit-bindgen-rt" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "cfg-if", - "windows-sys 0.48.0", + "bitflags 2.9.1", ] [[package]] -name = "winreg" -version = "0.52.0" +name = "writeable" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wl-clipboard-rs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57af79e973eadf08627115c73847392e6b766856ab8e3844a59245354b23d2fa" -dependencies = [ - "derive-new", - "libc", - "log", - "nix", - "os_pipe", - "tempfile", - "thiserror", - "tree_magic_mini", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-protocols-wlr", -] +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "wry" -version = "0.24.7" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ad85d0e067359e409fcb88903c3eac817c392e5d638258abfb3da5ad8ba6fc4" +checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" dependencies = [ - "base64 0.13.1", - "block", - "cocoa", - "core-graphics 0.22.3", + "base64 0.22.1", + "block2 0.6.1", + "cookie", "crossbeam-channel", + "dirs", + "dpi", "dunce", - "gdk", - "gio", - "glib", + "gdkx11", "gtk", "html5ever", "http", + "javascriptcore-rs", + "jni", "kuchikiki", "libc", - "log", - "objc", - "objc_id", + "ndk", + "objc2 0.6.1", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation 0.3.1", + "objc2-ui-kit", + "objc2-web-kit", "once_cell", - "serde", - "serde_json", + "percent-encoding", + "raw-window-handle", "sha2", - "soup2", - "tao", - "thiserror", + "soup3", + "tao-macros", + "thiserror 2.0.12", "url", "webkit2gtk", "webkit2gtk-sys", "webview2-com", - "windows 0.39.0", - "windows-implement", + "windows", + "windows-core", + "windows-version", + "x11-dl", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", ] [[package]] @@ -5312,79 +5406,58 @@ dependencies = [ ] [[package]] -name = "x11rb" -version = "0.13.0" +name = "yoke" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f25ead8c7e4cba123243a6367da5d3990e0d3affa708ea19dce96356bd9f1a" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ - "gethostname", - "rustix 0.38.31", - "x11rb-protocol", + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", ] [[package]] -name = "x11rb-protocol" -version = "0.13.0" +name = "yoke-derive" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e63e71c4b8bd9ffec2c963173a4dc4cbde9ee96961d4fcb4429db9929b606c34" - -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ - "libc", - "linux-raw-sys 0.4.13", - "rustix 0.38.31", -] - -[[package]] -name = "xdg-home" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" -dependencies = [ - "libc", - "winapi", + "proc-macro2", + "quote", + "syn 2.0.104", + "synstructure", ] [[package]] name = "zbus" -version = "3.15.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c45d06ae3b0f9ba1fb2671268b975557d8f5a84bb5ec6e43964f87e763d8bca8" +checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" dependencies = [ "async-broadcast", "async-executor", - "async-fs", - "async-io 1.13.0", - "async-lock 2.8.0", + "async-io", + "async-lock", "async-process", "async-recursion", "async-task", "async-trait", "blocking", - "byteorder", - "derivative", "enumflags2", - "event-listener 2.5.3", + "event-listener", "futures-core", - "futures-sink", - "futures-util", + "futures-lite", "hex", "nix", - "once_cell", "ordered-stream", - "rand 0.8.5", "serde", "serde_repr", - "sha1", - "static_assertions", "tracing", "uds_windows", - "winapi", - "xdg-home", + "uuid", + "windows-sys 0.61.2", + "winnow 0.7.11", "zbus_macros", "zbus_names", "zvariant", @@ -5392,63 +5465,141 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "3.15.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4a1ba45ed0ad344b85a2bb5a1fe9830aed23d67812ea39a586e7d0136439c7d" +checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "regex", - "syn 1.0.109", + "syn 2.0.104", + "zbus_names", + "zvariant", "zvariant_utils", ] [[package]] name = "zbus_names" -version = "2.6.0" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9" +checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" dependencies = [ "serde", "static_assertions", + "winnow 0.7.11", "zvariant", ] [[package]] -name = "zvariant" -version = "3.15.0" +name = "zerocopy" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + +[[package]] +name = "zvariant" +version = "5.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" +dependencies = [ + "endi", "enumflags2", - "libc", "serde", - "static_assertions", + "winnow 0.7.11", "zvariant_derive", + "zvariant_utils", ] [[package]] name = "zvariant_derive" -version = "3.15.0" +version = "5.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" +checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 3.3.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.104", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "1.0.1" +version = "3.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "serde", + "syn 2.0.104", + "winnow 0.7.11", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 26820d38..57468de0 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,37 +1,27 @@ [package] -version = "2.0.0-alpha.1" -name = "sigma-file-manager-v2" +name = "sigma-file-manager" description = "Sigma File Manager v2" -authors = ["Aleksey Hoffman"] +version = "2.0.0-alpha.1" license = "GPL-3.0-or-later" +authors = ["Aleksey Hoffman"] repository = "https://github.com/aleksey-hoffman/sigma-file-manager/tree/v2" edition = "2021" -rust-version = "1.75" +rust-version = "1.87.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[lib] +name = "sigma_file_manager_tauri_v2_own_frontend_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + [build-dependencies] -tauri-build = { version = "1.5.1", features = [] } +tauri-build = { version = "2.3.0", features = [] } [dependencies] -tauri = { version = "1.5.4", features = [ "window-unminimize", "fs-create-dir", "window-center", "clipboard-write-text", "shell-execute", "shell-open", "window-maximize", "window-set-min-size", "window-set-content-protected", "dialog-save", "os-all", "window-set-always-on-top", "window-set-closable", "window-set-cursor-grab", "window-set-icon", "window-create", "fs-remove-dir", "window-set-focus", "process-exit", "window-close", "fs-exists", "app-hide", "app-show", "window-set-minimizable", "window-start-dragging", "window-set-skip-taskbar", "window-set-maximizable", "window-set-cursor-position", "window-print", "http-request", "window-set-position", "fs-read-file", "window-set-resizable", "window-set-decorations", "protocol-asset", "process-relaunch", "fs-rename-file", "window-set-size", "process-relaunch-dangerous-allow-symlink-macos", "dialog-ask", "fs-read-dir", "window-request-user-attention", "window-set-max-size", "global-shortcut-all", "window-hide", "path-all", "shell-sidecar", "fs-remove-file", "window-minimize", "fs-write-file", "fs-copy-file", "clipboard-read-text", "window-show", "notification-all", "window-unmaximize", "window-set-cursor-visible", "window-set-title", "window-set-cursor-icon", "dialog-message", "window-set-fullscreen", "window-set-ignore-cursor-events", "dialog-open", "dialog-confirm", "devtools", "system-tray"] } -serde_json = "1.0.95" -serde = { version = "1.0.159", features = ["derive"] } -sysinfo = "0.30.5" -systemstat = "0.2.3" -lazy_static = "1.4.0" -mime_guess = "2.0.4" -chrono = "0.4.23" -tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } - -[target.'cfg(windows)'.dependencies] -winapi = "0.3.9" -winreg = "0.52.0" - -[features] -# by default Tauri runs in production mode -# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL -default = ["custom-protocol"] -# this feature is used for production builds where `devPath` points to the filesystem -# DO NOT remove this -custom-protocol = ["tauri/custom-protocol"] +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } +log = "0.4" +tauri = { version = "2.6.1", features = ["tray-icon", "image-png"] } +tauri-plugin-log = "2" +tauri-plugin-store = "2" +tauri-plugin-opener = "2.5.0" diff --git a/src-tauri/build.rs b/src-tauri/build.rs index 8f329e23..096b1829 100644 --- a/src-tauri/build.rs +++ b/src-tauri/build.rs @@ -3,5 +3,5 @@ // Copyright © 2021 - present Aleksey Hoffman. All rights reserved. fn main() { - tauri_build::build() + tauri_build::build() } diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json new file mode 100644 index 00000000..f880a696 --- /dev/null +++ b/src-tauri/capabilities/default.json @@ -0,0 +1,27 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "enables the default permissions", + "windows": [ + "main" + ], + "permissions": [ + "core:default", + "core:window:allow-close", + "core:window:allow-minimize", + "core:window:allow-toggle-maximize", + "core:window:allow-start-dragging", + "core:window:allow-set-fullscreen", + "core:webview:allow-set-webview-zoom", + "core:tray:default", + "store:default", + { + "identifier": "opener:allow-open-url", + "allow": [ + { + "url": "https://github.com/**" + } + ] + } + ] +} \ No newline at end of file diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png index e197871b3ed253a1f831a9f2326fca929f9c5f5d..716d4be1a0fae65510653b32140cf2d84c67b9f4 100644 GIT binary patch literal 3310 zcmZ{nXEYm*8i$iekPsu3n6av;P3;kzB6iIfe|xo7jiPo+RZykΞsoV%MzIDr(do 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

6^LKfGM4Zm(OL;V>?|Fg%`ynR_{*H!ipLX@r zuwAP+evsMuYVHOfW`ivie4b*M3#Md)=Ft;m5S9qGY1{f$mtM=-IF1V49SXd4mnW{m z;<GlQ-pTFdK$!x;J^#)Xghu1t9h+|T+XW)z$iFOW^ABS&A z4-IwlZVBQh8fhhjzvd=T`mfQBJ+ty^;_}U9l2L_AYDd;m3PGvPMtG#FKMsx%*{U@J zzKq=^%1_QeTmzW?a6E4+7;~|1H+a4Q_OKiZKezj6*IE%d@f%+kHMJrpBkSthrwZjg zAhP;-Cw9j8e;9vTiBsBG&$xMaldj=qt&!oCV$=1^QCg9iU!1$#>Pfav^R@PIHJGhZ zmb!~AG`>U})|Asb)E7>n!+yS~Z=CGBDRt?y04<<_oIZph}L_qRy|#vQ@f~arNSirfdPGQd%j%B_Jgp+tVYZ>qv>$V$C>{0gEhtaF|ii5Yy_`TKEVuY-Idzv;J#x z??g@wLwwDEIFM zCo7zp=jV3K1|N^F?$S#*YD*(4Ln_q_v!O0~f_3jUo7%an5bIp(04|Mz6K(~DzW;BW cDXnKHWxX&1D)J}D-yQ=n(7|ZG)pU;k7na8lj{pDw literal 3375 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 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png index 238e24fde0680aa8918ff4d407e48ca830b6b35f..72cc4e0c6798b200d872dfc79e6e53c55034dc30 100644 GIT binary patch literal 6878 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 literal 7393 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 W_Uj%EQFj!eYmp&F;GHuC9Mj^B<8wIDa>@yGW?J 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 A`2YX_ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png index 4c7c42285183110ce333763c1c9779ac280be634..99caab4292e3a0a2066af55e851eb4d3d25cac49 100644 GIT binary patch delta 2723 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 delta 2790 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 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png index 8a99d8e01f688e15b7573ed65635fef82a239dd1..58061fa0eea39968b6760f05f558fdd89017452f 100644 GIT binary patch literal 3663 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 HtzP~g1I^kA literal 3737 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ð{=DA3GNq|xyQ5dK>?TpULknr({F#+d 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 JI88+4e*jEsbrJvo diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png index fb356dda3d36f4da6b2a5d38ccc64f9fa7332579..a801eb98368bca10f62f430b1307a18fe98d0cde 100644 GIT binary patch literal 7658 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 P1ppNVkbJGIW$1qaoeAX7 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png index 094263a6b3d795630ff66a61c0c84429eba2161a..b2e450969f85af94053e27776f6c8fc777935b82 100644 GIT binary patch delta 801 zcmV++1K#|<2Db)~BYy(^NklF&MLH{(hVvN_A% zuvwP9Gxvit=X~FHW>#R8hG2|wlRzn@<0ddO4x~{?{7O97(SMHfy_|EQCd*kmj_`Pc z)8D_n@9*h4>#Ee7sIq4+xRH)3Q#%MSWglXy9j>A%!{8?f2De-zt zTV!S694Nv;KYun>l+$LN9J@bEIXz@-8Q&U+VaLF(`j71 zeiIqmn3X3b1p&((?>K=k&1dE!`nx6+LYA0%gupb-9eP%hOE(xRX@dbD20x6Wr?(Hs z4js@c-0pmgPZM7WJgC7f0=KB=EzZpT9a?+TDjw5KAQVJNYkwEy`hJ zK8F4EHGeqQeq68JdC-j)14C4N0p$rOZ&&5a!0#fyGKm#KYN96IE-X! z0f}T9*{r$T!r*W~dLe_#4eM~_%t<{T7#_vo=r~&THR`#_ziOi&RN=GH7=(fB2F}IE zl~UNdqZ%QqW;L4XYth_Lw=A~v=}UAye~r>`NPpXGan2=`7ce{mysJckkm^r@;-wU^;<92-{6yLpzX0A@TWm7=I@^FZD6TxSXtHY1`c6 z4bJ@f`DviH`+}>f-der0jne3pUU07$UVmUyu(YgdiF6S(B~t^;%4QQr=Z)K0tqclb zxsYK&nlUSriE+kEQ&VFTE)A1=HgNs53c)B(!l6P%P8zLY+t31*e{9*dk;*u$V$i3= z>(OnI{J=R-gnxs6Y^kiE#o9S`|Cutn$XFJprvE^fbY5U;HN=uhwCvf1%V*miedF@a6gJd_;XqLm^~|sfTmS(A=hLnR4Lcnc|XP{ zr!YMiK`(&33fz+pAdrosYun;ecjgsoE)^kBO0q z@``fY?RtvQ@o%bquAVy$AN^XEUC<7~P)IPPav`2X`>`WvsI5`=9z1!DSR$dGiM0SW zNyErO41b3jYH_jSl)88SaSvV(4pZ?3q$i+|J%s5pjmF}ruil1hogM1lLt^^qw9X7$sZ-?@lJdNG5l%^Pw3{24VL92vvV*aTV+HmSMPU$)V2s_?mJ3|u4a z8qQ^qE2VH?cMU>R&2lt1)S;!Zeno88i#OCr-?M8+&nGkt-B)XtNM$0weH-~n00000NkvXXu0mjfs9Tfa diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png index ad637d642833e8b473c2a0fd921b46173ef37661..d0cac84c1c11df7175dec8937fb596e34264a90d 100644 GIT binary patch literal 8239 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 Nsj99@m9llje*jQV&w~H} literal 8905 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 delta 1197 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 N002ovPDHLkV1i$ZfQJA8 delta 1856 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 diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png index 71f126da47cf1f63976f0c3f415c725a3e5a0e9e..77dc502dc223cee56b7b7023fc7bab31f1b76dbc 100644 GIT binary patch delta 1312 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 AzyJUM literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..b23e432cdadd867fc43dfb5e7481168b9555364a GIT binary patch literal 4122 zcmaji=RX^cx4`k(v7<^*YO4_{My;r=s9Cj(qOnJfYV6obYSi8pdpAan8nrhuTf1t; zY;E$z{r(=@2lv6f_rW>m^E&^*`-8sjGinMJ3IG5=t*N2<;@^w@&j3mP-QCBG4*&q# zHBD8emxzUfTtAeh5!*n>_6mMwG#gjtRzUC|rO}7XJgtD>1A$UD2!&PV)+Yo~(AjF; zClQ2Rk{L*3Xefm#he7zlIEbB!IQZd0gu=okT2ivPzUM((?E$durOn(X?Eq_L`xW^k zyxYTig_Y5prB#{jCRt)7I0sn>A&^5Eq!=;8 zdG)>cV|qqXXG$9eVAlq*owgC*8aJOgR#_E1Mywi*E?iyiGT7O9x*d=Eq{-Z?nj z%-}w{^KlDn2BzDO4|(2e2$`sv$ZtJ5oaa_iS>6SIvPKTCav9IgJfS)DO`ve;whifv zAgOY3eu}Q~+?_nA{w5W(7~8izY(f0^1d?gLU(@(A1^s`IM9*_T}{(CJx(c(58a_8Rt6tgdk zreWJ|F>&3e9UizD^0G$zD3edY(HpIaSELeA`vbo-RxJW1)Z9)g%t1qRqn%^ z7mB#yMeV>;7daa+esE|-$J3&0uU_XaprNzrkuci=%*=?ltRV@)hjnNkbC;{jQ zV?e|pP9*UEOASmlyvWNfmk>lvmSAuN7TD?>*CL#Tw)-02dRwNePcs`K^My?}Hs{qA zYD0B+SnrLEF`!cQv)v#uO5OsK^SLE6MUMW4;e=wZ6Vr9{*wb!2zH`-=RTsvQMn#jL zR;b}nN{)U8<$3ku&Jbi8BtvDj6X8@99Q}>mKWAm>lx{XQTVqABRil}I{jfLZ_dwn3)nq}1$-^qOuwX`m){e3=# zG*Zmv?c7Z9JX9v{liT{Zoj*HCfa>vpFX*3`zw%!LG4i%wU|aY<9guvhpAG3I#_0wF zKjE2%OjF*h+lfo;1W2-QcNne8ZVOXovq)h)Cdl&!n_;&&(^_j8WG+FQz*+$8s4e^! z?Rz*cq#W^4@YaIYT>cU9&*Px0rFAzpx4RYy!y-`(=8?fT`jbIy)~?{fpEcv_j5Lp_impnMEd3Ujml~MFuf|_96uxW!%a&`o?6Z;?hbs|E+ca(C zH#XQE54h9Vo9op1c=j%Zkz1*aNSGEKvk(=ZI?8pznUV~e!T)w^Y!2N>>&CZr%8N=r z7=TXD9Pg{8Rc1FJ2?tA}{QcKvrS3~gS+>AF!BecgNw8j-Z8!auk;Qd8n^IExhCxK| zUT?uCfmx=GYg)O~>vw@)zzo0q#69Zj?U=;xW?Ub`@NKi|2h`!@#eOzWayu>4%!{T# zWxT8`4wbx>N?aHiF!wvz(PZ!G!aq3QR0jH1ql`_3=!;+tyazvI5f$t+}+(3l;+ufotJH5#X_#`L`O7oIlWh-&*-xJ;6Y028H9UU z{d9}DADD*1B|5#{R&n%_2{mJc+KMSvv}Uc`?a(h+SHMp@9fkxb9rYH27mnw3D>RFh zDebQUU}tkv=YeGYgZY#fF{5`f)XHpcRjLazIh;qtAB^rD%guMafT%2O6v5TYFN zVAd^>PbisY#SV@xssKgbE1=HnG>v_xmt6#wp|#%SOu-t}^a);tMZjG{vrGa=f9B0R4vB`5FgYVfDD=1FixETWezsJj+z=yI@<3H84wMp?u`rcr{oi7zl5@nBRN zF_Rvh==u3YT;lJq-9%JXwwqy04C+(nJ2RIb?ztVX5%ymd_ekRr1nbB!1HN`$RZd1l zlpM;>6ITVVLVvVqn%u4qz-cFi_HdOTNcxOQM`iM&)T2^eO0`m0-Xb-&z(3Og+#^r; zAThLL<(5if;lfW3cMm3f4+NoG($W&I^sfel%C#ss(tw5eLQK73@EeWQ?;N>^eG^=| zlyxcc<%o!y%K&%&R_LSrg6+HZycg&l!BVw{(!?=#htmy=HFa8g=5@8B(kNqmqfkv= zW)KJH<_JHcFgLYo?XPp+T4z%BN0=fK@mZDJt&{(`T=X;b@&b2?>W($Rippw(O@evC zQcUU)V)bIb^~cVngZ2FhgXix3ee5h8FEq!v-t_y(<{FcnDRka?$p)I&hmFJ&+o+q3 zo2bsN-XthgUn6<|guPR;TbCkWr>i&ACl!@x(@^mQsx{e+sa?G5!WSpXxmTnjEsgT_o zy-CrWd$DvDtx#_0Wv5~Zw9#$%q66Ac3$gXWfOxVf$E~&LojDg1e&ogrmsBk8 z`9%Uupf#fX`4}~|8IZ`u5l*>#24@BtOUL-rs*x{Zu|UZW#itHGg7u31)jnns;|HSe z&ROM8rYg}b$&Q0O3Z)nAld}E>kqtBiF}%wBoGi?249nJTt!G&b5<1$CKR%TF`#Na1 zFI{ctFdr>ss)7(5Y6^>$Q3QhGWU6?HItL@N0}arqlf7i}RNIVmw*Sq0p%}lNpJRA4!Zg zhcnlRT)O33n%vHfh8+WX1)nAhpKI%&qwwLzWNn@}k)ghB1Ts1ve?8a#IdJ)1Y<|0rs?IeT*-e>dUTq?j#pNv3B0Ri%P*CoC|7BQ@`D|tkcKK8C z)|4dp@yDFgd#0lWYjgx_EVC(w>N*?bEoHS>u4;zmg3{TDpzq%OXd6cBHnzE2FW6mk zA#T7V?TH=lpGUX9SIBmzbH9;97|w_ZcO}QW7&spl-;CJ*4fY2+sRW`62m5dJVdbo% zJZlnuwYZEx=_IhOdA*(eLnVcl>pJW(+o%njcEG3Lez{(+e-`A9%AJVC%9R)mG=(xj z(F`8DDN;1TxJ&x76tkkobFWhBqFMbkoEd_^X9PP;m-O|Jz0bpkWFsQ?*M~nPElYIS z{^ay$3oe91Esqbpjan2dWXov;G|BT2gA!z+?NV< zb8sorsYk_^_jtFH^l!M!A>$>EKc|{;ZjhL$4foe{W7J6wgOrz*wA>Prj=@a}boHGmlEic6O-{;wqnm#>!c_Y6(ncJ<2m4gNkQ1EI79040}&+I_Q)E z5>IW0(-4JDlSvTqjx`meG!&dHP+E(Mfs!nStS*;*B6~AE`u!1@Z|vAh8vEt#jGFG= z8|F?%(cv^-tF8A|U??eQB=|KVqnPVqT}w%&v(b_$GuMEW2`LBZNzoaV2MO9^wr4FV z%05`Gq=|d0yKa!mX}o8K;7Igy75p!6kXTjo(;*3jne&6L4CBuU#WGgLlX|*;T04dz ztd9fCX|HfY^;h#E$F#9FrS>a@_|icN_0uFv?5jC`_`?0i4kFb zQQJj|6H*^=ZDqj3)tXS(B6U9@sa~(pam#N?WSiKM9ZHBtd~_2bQQ*3J{sOY85-Sig z4Xe4Np;)1Y_kvz^_tmuks=$A-p%}q|1pcee|B?ExaL;j>TPl!_7hMxvE`AWaDRRq# z<$>;qjo9lt>>a){On~j~^$^|kpnd0}{30CD!&s6CU9n77=AG59EZS`7JDibJO|_e= z6~9Xew1P6LEKRV^Nzors_U^!rHm|g-(jzY`>wW(Z54yRxC70Ly>by$ySQD*%ii5+1 z6|=j&_HSR0=t!~m$QZ!^s*cBLP8i-(7oQZ@_&@_kbSWQDsEh`3nXE`0{p9~L^M9k7 czyDgnfy84WU=D!%*ZcrYHC@#j<=0{V1uc-zX#fBK literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8a149c089fbddf769e1bf480333e355a4048c8 GIT binary patch literal 1290 zcmV+l1@-!gP)_!`XNOteo8)GKyX4&0Y z=9}}K?|f%QVHpgy0%ECv5Wj21MQe_|5~i<5ZP)bg?54 zmSyLsrbhb?^|TlA)8m3dO7V;UND!!7)~wr7_9oKTg(cw4&SLQB!B-eWnVVoX61nWS z7Zd@Ng`RWC^So)>j@4L}bfr>uP$wLJrS)JYxx=#4sY!E~!tsZ9m@WqZ~DZ)T75V>MI z{uYo56h2rwAbeVk?|BqjQ63M%iHbQ8yqm6L!?BeHBg&XJIh`*L_`dd`Mx1Dlj1t-`8OA|6No$(cAwGKIGFk0_gt3PvN4j$Urg7d?_ z_z&bv!F z!gM)vb_hQY|AxEoSVbU&26E4xtBGzS7#_VuYG&55Suo}%g;pAlNMl1iKL2_UU-lo@ ziJPC9Aw`mS>XFU5wgiUFy9J}Rm{dpExJ&;ai{Wm zq^NT5e(p&m$pkWe7+B}WhtNCltxj}0<0&~@akX#JRX6Rs`s+OylxPeig7@)H{dF<%kbYoKso#f^5-$Fyz zUD6pFy>LP-i<}^xmd0DHYs#l+Z>m-#cG-dW151y>@gK}r{Qv*}07*qoM6N<$f}yc) AzyJUM literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a3cba5b62e564c69bfb7ac055c1f07a36e3868 GIT binary patch literal 1228 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..41cdc862dcd6040e7cbb635c759c7b0aa0b1a260 GIT binary patch literal 2470 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..7c120eed331520e499f3042b78e6c45d62a22c68 GIT binary patch literal 8935 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..99b4e7d6777ba22b4de1f3209dfa0dbea302e86f GIT binary patch literal 5058 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 yM(%@M(4xpr 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 yM(%@RuQd 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⁣=+D#a!x|A?^AskCTXgC=t&X7cr#WpWV3p`v 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 literal 82121 zcmeFZS6EYB^f!1y4IKppMVgIXL(}&d0{|0v%LG8#z(2cBMkwG*kFM)!TRfR0Omk!^ScZ_c@D`+X zk^=(5`qo5kq6sCV?Bweh!xb&51i6v>_{H^$UDD<8c3Qtga82b2T)8qE^0%BXik#lK zKR&{B3L3qRW!-45G7WAHbYGinY$$MRDDEeEJY6X&+rXOp-|olU%)0VN5CEJq&t-r# z?C^sZ6@CbKWj^vhxBv0Mg$2mJF~wiV1f%i+PF|Oy*}E%0+{cFEdw4~3oizvp`;$_D z6HmP+5L$rsuC?A>*y<{>_oUfyXhLiZySvagf7soboTGnwyR?W>!?FUSPb*Kn*a|AC z{&skJUz7g6;OgOYBVn)8+4@}?K8se~{>KuuEHL-LOYKdqq;~x3jlXHbK^B`Vq+BM{r8G{U zg2~aMm+-m=^{{a}vh$AA=%_-Y81+U8_;i3fsJBR`-&$Tpf^k%Tf4 zx_zX9!uM3b%(bJXI}1MevE?lTFJZ%us8pQD=iQD$IC0zqfY2chKvU2^ViKVdM)xh1 zYzBT+g!!n6#gF8u&e#XiUsWDCeS$5w08}H#Kj??~HahVKneFB=QmKFLH9Y8upr_o! z?y!Gejh^w1OgOghUD|1v7Qq9EoQ*i{f%qdMQnMO$Z9OuDrmy+7drd zrG(rKkhJi2eaIfe>BSI4?OeK4bxToMu{gh-^-=8|xp3`mo^Do1C^OJ1oD8|f_g(2j zjmc|y;j8*gDz9(1=aDSJ%@FT3V;q?5ls#Z=RbNu5UsiZTr(emK>zK2V5$J(>j zz{h;YB>B0IJ@5ojgQG5QBdd1a+D}>f82;s4uPPK^<9_I4l#eyO8J5r_Lk}fY&+P0} z!R`=7je5e2CIrlfYXsQVQn{xavEQdWdt~X9ia+jOe)1-a7}F_P6Q=0naqs!qS448kVh$PU0n z9xo}r-r73-;?PG-G{9TbC4r@UxHv-pid7BAgU4`Q7{ckHf)`5U8Ih z=m>m9@Rh?GJrm_Md;TWG&Y}yAxRKqrhuba%8J3U7lclPrcdS;1#52yQsJa5cjj;*Q z;{Ej+ubXYw1!BnUN796f{>TF4ULFzibD~@=D-@I47e0(7d?lNjXh`2k6%Uy{-pdLA ztEJUVO(WxhwbK%Hdy|fuq!K)a`0VC{k4;-WU{Bq%jj53U?P=?^he;_W-!>ZY*;yn_ z>atJfW-nfXsNk{U!TjLfYZh#3f5V`oDb`drm0;l$joC{VLxv(11j^oQS_mq-1UP( zU3&M?k~Z!L0C?XRs!m6=Klz8agb3FrX1z3QQ z$p&$PfJ(9M7yHM_HL_w%Z%;v;E*=5Q?7SK^>(qza?TO2>+k0la!JPDDW|=AN{@1*a zU8vItKVSx9UfJjm)oe%Vop>(B5dY&Q1DzCYhKQU6yG@uml1A7d1&s#X|B0M;%fHe*3E{dS|Wba+UWCipfciH~yNwisz5oA|BaV)jUx;Bq*iiXLeHKj~Puwr$8 zsiy9|S=}e?7&7dviZE4J(N;?(NZYM zt)NtXt#R>@qz+&JfdHvv=3AuTStR|n`Qj{X|6P0jQqoS1%U^Q-j;mtx7;fC7cz98##4nqk>~LGwHX#=)U}_dnJ0v32-OCWft` z?OWPeotaQqP60WUo-4FY_<(y@8nh;hNSRW4Ip!Sz;WIo~n*osZwTRRwTspvNJb>z! zizsq*2OK|TSPyC^GDXf=-Rr6NamW_uRbu=&W!erXJi`0J?0SSS65E)WXn#J`$G=Us zAW53-k3$rv6p-U*6ijmyM823$X(?O}N^MlA2LHRK10a^(PQLmph-66L6NHEQJQ+&o zE>7WZotD0(4lao4tu2x%WPF!72lFd+y39!31f(VgKpCwxFe_f&CZSy=k{tA1d6H`? zEW$ns1E*vEJ#%6IaCIB+s%4}9gNq%QEa8SA?7@|n2!XjU9zPMd{0qn_|0`54H6o|e zitsV#DV1UZn43G&{IYYaG?f4Zt=KC(EKkxZM#_BbY5Ch-8^RqTx|5uR?MRFexr@o4DnJ>1W6>`Ok*{P5cG z0>~MnJMbNFe-5DL)`pk|2vnrI?BRXxhWO%#CFTe6z$G1Uut3>yqd@P`>@3zgL4Ib> zr$JW1$iE*# zR2xM*%1JXLKES=O>m1_j#8QLp1mV7!g+a`Gop@f7IFQ5=4Y297V~-Lz^O6A6D}LDR zJlHXy0rXW7t;x@>--I~51<8NC%!26mGGG|GC@>oc#sKGU@ABF?A_g8lnW#xN^!3t| zj%Xy%PtD;|w3O~VwY=^0dDEC0NhzKE1&-|4ZudUco!7$fjvF)+pRT(jef;~ zmujLfCOx?{@li`>-_JPUn=kK8E8dg4)oGx5dG}CsVnffoUQtnDy_k$1!hYaKeE?$? z@@{06llcA&&a}(0Wi#*qYrS#iaHIO!w>yNdhB@5EytZK_c;++ALzC|A$$vW zRV+5_#|eJJ5Udw$yNVDPjLmXsOWQDTynE+$mfDRT9EP$!8H=i6Or%*`Eg~_b7{8@U zm{%qjE>sS=hhQ==_MS+4`)}WISd6t!0PG_5EB~%wtkm}d^(h^q_yLG;8BqmIm>Xf@5_y~k3yG_h*`;BugD054M;b;WGu=2hJ+kmf3a)%5PaJ}u! znpCr)Xuj&0OQ+);`Q9g%j*Y_CbXEoH;@b5mLVhGsX&&x^Oqu->;rq4JwP#Dk9%cT~ zNy1F8S*2yB=8!+4$BqxU8ityz|5W24W*6pWG(|VE2px#QxSad-S=({glU9pf7ONK5 zzm^{1&>LKuaW2_0ZP$rfjASGFgNno+B*I=<6PP)I{KSr!he%q@Qu9_q3SMsH>b83H z7X?Dc7pc68jNsq7m7M0`apaUDygx2v8JkzP$&TFVs}C1qlQKSK`qXeQ%jDyIL(1H( zmdFRTuUuZWTB-ttdi~61mwuXa+r#l0RY5IA`N4G!POIAfcD4Q8Sor4S`jt`a^nAH4 zB6VdRw+}yr&5-3ZR=?^#z^;3G`>q5ml`IMzEqYGh?_1Rxb5>Gq`ElZJ3GtSoL@mlkAMHDLjS=R>RD3562MbH+OKZKWXvX?J$>eEIeL_x+=Wu{rlr^J6eIF9gJ*X|75Y1(xR#i-ECM|h9KH6siAjwYfoT= z%tCDOx1AGDEwH{`V}rA&K{wuKq#2h_p30Dj$hrCeZ{iIdX#doWY2<}aUN^r<)-;Or zAO7OE<5k<3My}4o*POleGgO8wS1TY{GQhhde~@148ymSTeESt@q?&A)7@6kJuqCF& zK~RNP?#L8tf7#ZbW@|n02rFPdw@4@4G;KZXFSj>s9k(%`*{8r?IrG9T#C;>5J%u|v zHEr6(iC&c1Xn4-%xS}K4tD!>8l@PpNK5qBwG;Mv0x9dC3e5?O52|W{ewt*3KLK4WC zR5fM(gzVgqy0$(}EBAHE@xLiFk4@IE+JLUirrV-CkrROfg3v-cMOi%(wH`{S}3FXr%qHYrvW*4t}bZLuFZeeU6) z!18iYAQ9JMPyhH?YF5I5)ZsVf%$w!~`FUWIFGzE0JlmfZtYPxXsCY&je&iT5AsncdoH3Sg9^^-?R1N?7pjO67tPxI%PvU`@eK?kN8 zJ|P78%xpkY#n*6k74^jFc6=UX+#o?{v{NHGGdp^3nbJ=WjxKtcDtMP7a*(xslYKGk z*k+_cy`93c%eBw2X+8H``6><|g zPH~FRZN)WHJT>TrKU@x{GGX~%ZpWIa8=Iv%?}PO;cjw2J-fGtlyxeQ7*EA?%a;#j# zIEATDBm&!9P=(w}ecPiy)@3)QAwQncNqzP#T;r-A>(R-MPAcshLVu?p^d=4+f z^vU`yzaBzx_Z|jg`MKcS!mzw_!;hG;zd;`j9mYu3zDB=RNt)4P!swu{3i3Oo6}5Ac zquZzMJ-XD6v1?>52EC}zEnnc?c4@YTo-jbPuz8<4d=f!SD;*CifE1AjJoyyLRe ztWrJwFLr8z&kLE2YN|h?TI>I-D9YRMUG*<#=A&r))XSQ$sLdAI(1c4>e*}?#8HO(g ztmE8QLTakX2OGP?6U>;`1x(*H@LpKOOwyn2093F%78A16v-C4B#W%V)6MMnTVl&$7 zeXzS^!?aOKgX5c^BgcX99=B^rKF{Go@KuSQ8ps6r>OZ&d*0j=fE{S6)tk)clyu2i- zVk;8u-|B@$tJMWbAzWfnw#XX@dNnabAERz^+X zsh272tFh)lA?BKJMeTypAPu*4;56x^d2aSLKA`nh^%XIvM)cNCXYtdu(;+E$gLl4c zNOp`Urg3p1M=LFY5BM1~6>Z4l)~XM@(n=r2z^o0*%E%tvblquCm1}I|G&QxM&Ne)3 zMa=onoRqDd4y?Tk>ROd^t&Fpc_Po}vs2rnSi5!Xu{A;m8 z)Kq^OvK-}`EF~X-iH%Ie1RKSR10!4zU@xzG>a0o_!fB35oNLH>%-ZmBH7W|0$-g;V zQqy^a9c~mf?Sh|-1!%O`yp*?C;&vEQ0Q8z?xdR*Y99Os%)CP~csIb|^5&JqqaIT~3 z)7nyQg>WE)CG*fw5!?|b`KAZwTmupnYn^>8FY<+lrgL%`@H4sM@k?&jbfe@EsadH@ z9FQ7ererwf`8DYKPFk}+`|ZD(rpgrNztiIdxI@U|Z{GKT7}WA3S|9DzkRf%Bn5JG~ z#t}fvD+9O7r?TlH%}mahO-hUrioFiX|B6%4y*3Vrox3R0M%|%ig|TZcX-6$#qXM)jt%r%)}RrvnzKPIHe?B3A62n5t>Rz zc6Cwvlr;1?(+KKd<&Oig(xy{rJ8G4WMyC2JwD?2e@IClxCkLkGZ?C_rS@$jQ~@HKXGa_XyDQK(W?M}{lq zZy3(S(6e$=!al$yFWh*0s4hzvVci9CC@;QYB}<}r#*4C1(LJ~!L)z&Xfz8U{McEWs zch-58Q311Dat9Z(J{o;V#Gn5S^WK$PW^jGnA+_5pQ4pEL848&3X|DTM`7oE>XEk1G z`t>s#^@RkVP3Cyt*&K}c6@HKo|HQ~zymY9)pv*?*3TnY;t1U-lJT8(j;DG?u13i|I zuBAckC|hvfiS6O93OlNukeYpLC@x2W*O^2{Ed2I{Ui0qno!IfK3Bi%rm)&T&6%b~* z(UW`5pnq;A8Y9Ao0L9Z3&T=yBXWlfw?+aeY!a~vB5CoAQ>S82B^VV;~Lr@-H?Wy8? z#HUtgx`TkOl~=l=RSIgJyPHQ7)J-_mmGIuatjCgt+!f|MBN_p7^oF@<(cf7XUx z{;ML*vOa#~DS&)IcC~CDhVrfZpXGeADqr#yU#eTdeg%|&MV;13&*7WU%XI=wx0#vq z4{0KySxyCoFO8|sHTU71umNF^=okE7)vy;~EJ^w5D?ljZyD>p#u@#JNa`vGRk1CTq zDW@Rsn>ACu=2uusRRNiM(PBjXZN6G3y%meR8?V7s`So%rg6bunKQRYJD zNv1^2fl+6!hb$Swf<&;@gOQY@vv)$DutXH5tQC@?At zrf{D9N6rbRW10Po9^A~bgV=!A?fk{>p#Q(a2LJY;jQ3}e+AyQ76{J;n(O{f3YoYh&N1YLnr0f(JqfvWt97@X6vI80k-Fc_nGh4*byv zQ0M<+Pz=BC%1aj*Jr9*DE|)@T~XQ6`l8DWFy6KNi)5)s-*$O0&pFv)lz8MDlya zNwE7?=%LQI*%kXSGxg#s$z)Lzucf{%H?$NK*spWuL);5+0aBO*kYx;@7% z8NY$IU3kW?$l^U~z)xY?vs3rx7@Po|_p*AI6Ct^_%>?fFv zz-EGAz^VhaY5X_hsS9kX;(*8rCSdk7OX(jqLM)1-fPHq`qwGzE3d?vBJMc6X0QA7M zbI+LESTH1FQf?%{q-Nc902NObK=Pi9RBO$JY-6R8FzDvVp|dP!l!d^&MkXgfF#rHn z3n`XQ@RYICGPh~bIDQokt#fJhQaLNak6~eEPHi|HOtJ%z0|)!*2z`d~W(2tnF2|yZ z;?LJpKdj{sKK!Irn=1_1n6m&mh-%Pbr}=O3Z)Uh7 zB=r-do_`UYc~~pJ^jCPXz&cO|C9Yz#^nE$v+Y>1H;2rLA0duL%6Imgq%RInt5&*pY zc1}tXk6TugQQ0yDW$DH}BKUEK{7Uf`X6L3fV$<09CZ7Io$7KUWQ#g?n5S@gIfSDU{F z&VRh0KmD%4z`QSfqw2x^@TP4|;12d6>7C2`N2()A88^Thdbc-|877b#-3$8V_` zlUmfpQLC;SN~q7FGiyo#K*Z`jS9SpZQBUJ^TIP&13p&e6AP3s~3FY#Ab z^hkvbyzOvuk_2sNY>D04`_+qK^P5{f))ar{yl4O@)xk+gZi(x!9V0Qx1dmYn>or2? z=Gl_US_j8ptuYrXUUp)9M}}L|7oNe>UR)R+@=L^sIcj%jvCRqs1ENg8S0nqBZ~mN5 z{uTi}-I2u1>yLN2L$SfVU2i0i-@A?kb zPWjU}w!&=I50xpqOu*6+00mhN6$|xFi^Pjnj{XkiqlHHFIhs=Q%Ci_5@Q8X*w&=W7 zx#0_ftNoD^f5y7&(aqO>O^ZTY#Fh)VLW+8h7cmfzSO6!46sB^<6<1-FB6l| zX|T{g;t%ay<>~wYbQTnJ+TU?_m!;mNEhD^5SVk54Cm+cp=t?q0zF?>SX(<@2he0=|U z5e}gpCpI!5A!8xv*X%V!-$uH1U^x>TJ5vd$3)l)h`4FQA>*E%XBK%vsYj%BWGynXC z0p@)!u(iVFOXt-wk__@IuBDnrVro%*eBUd0+{u5cNrgMzuqDf7PImKJ#9f;^udTD_ zS2etM?%hiZP1P?TM~sCCckij=&WV2h+~h%9`Of|{8C*l%zps3P%2DDI<%U$uIv?mW z!RR)%YfY=u^g-E3+)hP*x6s&KeBXBMd~DP_uI>yI%U5@h@zBb?hz`{#MvVAw0oZxl z8`GD>h&X}4pGyA5j@$1P zUTg?rHWZMCUA6^RrSCc{Q6y*t<)&r$q8*M=1Zyu3^G9=cm7E;v53af4Ii)w_(aHMX zvcC*fL<~wwX06Qy3N!X6G(y(ro^`G{gcf7!*bEu;Tl6vd+TnJ)52My|K%G=!+}EGh z&~tBlvBV#LFb;VJ&po7W6 zRz;$%A6cQVwVX*pi%0|~HXSzpo$9={q>y5ocz4B7wD2DzfS?KONAA!rYn$3iHU3m2vtBBO31taNTFFTD8ayZ) zQ&sA}OAI8ImzH)e+6=Gk!*%zkBGid@7$0tIh3$9+cQ$HKuiJWmxmGo?PVGK!cqoV8 z?-ZkDF$xYPmOPs8 zjcc(@%-?$qIrAK8eUpTAjUrZOn=_)aL0h2}s7S9@{wCnYMGTpfy z7p8*wDx(ZPc(nbq!;6>8BX#9;xTey*kP!WugO8@2d+O8k_8a(Pj6OH(v+RtbaUwSV z5WT}_ZT&~ft|e6<;9f>nMw)rHUv4J#lR(po|C&mBIa2?7V}GMr8D%dJ6gscQEZf32 z&5%KyW`jdO`t2eAkN9PYWibe_{K^X(@tZ8HNg2}*I9xBiN~p_QIx7utR>K6FeZrBt zlsi+D82O$bwmy^hlBaeW={;G8j_rf+J&9%8HzvSa^}>0~Z;jx{sUy$2(amJmxdzMZ zWob&u-OVMR&f3UL^NHn?2VrO!;~M<#xxv%aHVGP-T;EL=2Xa0+Bq04lzLAOVGv54= zs7`6xO1bHuR_*aPMxs2CA&;Z`91PWBq%RB))6c+%9LJFBk3W$RXZ-Dx=}~Q<9y_}W z@{o4uW(t3=QR|zy0F7); z^{(Gw3n8+i{o&=jstzKzr~3~L-?@DeUDJHt{Eg~@w1fvTSsaG|ofXCN#9-PQ69@sQ zGb~2Zhs<3Vh8vb8^T^>ZwLS2NMIBp*L366w&y4y3Ihp05oe)M#BVCr>S`5kocZ?jJ zLV2Qjug|0JN!iJePDu3!9HT6(_Nh5_b>6Ib*vWeu>K|euu6pMjNK_m2!eZex00` zP#CM-*E~Gve=CrzRe7$88iIa|O|}i`sFz5C5hvupROy^cLL4)-l1cmiGEKC{GinV5y-_Hj>3bCCD* z!}Q?~;S!8Y>Tb7UejHmKF zSDqp&YT+xSh&q(o>_DQ;Ru;7$Xe;8|cI21!gUk=aAV0UZEZD zzSR`3Ooa8|c1PY?Q$2j^(exx7g>Jei;7I%2d&4xuoVwV%Ev&o6?hZ#Pq*L;t=4MZQxe0M2*Y6$Jgm( z*8X>l>VvO$KJkgvISQmW z3gis;{RBtNWz+uc;BASM(gmPBroVVxqF8rIn`G0pFvYbPTstE*Z2o5MB&+@fioQge zB7Lxok(~%XO^*uH1yD!W)Y^$trI`V}NBs6>`#I3%euJE$(!0dnvXt=KHFuGDo-*&} z#}3s#$wq>^42*i67WXa=nu5yYUDzUWSBkxR%`w!S++vAdQhxt@*->l%_&=Y2S~e2v zQb1Oeq2Jiz8j%1a$}f0Z`l%l0D(dgwUD}81XOSVJiBqTDiO_~sb80A>*wpWM21o01 zsq8|}*X}AHPkk4}v@V0=J>Yrp4qia+S61kDXoOqLgzqQ1xcd#k3mmp&Bilaag2Sh z^z;wgrq;`D>GQ&A$Lzrtj#r!x#yxK?gpiXkFQYB zA9g>Jg+7y6UxLXagKkN;gJFAGIc!Hz;|U|e-I7|~^jCcwsZ4IVm|;S+&`)Vc%SJ*j z@B=Eh*=|u|Z0Ypf5qxKb;nfDKc1ErG^eLhiad<92;r?WeICf>V&~}InwQHURG4NI+{~IbAp}=)9FO8=Bo1EmaZ4n+t;;| z9nf@@QDnNw)@K?14XM&jWX9I?!1|jJ8_f*ubP*yl0XNjR|o(>;PL#&UHHM{ zjHRXiFxNVxRAVc*1e|_wBqPHIV-DuAzjGucoZGYAqtd(hepJ&D1Td-U5tFgxW0kDA z?i4~WzR7{BR zD4Yg0K%pd<$Z<2PqADsVcIm2n`MMooA1yrnw@s;|Xc`6Ct&gL9^yK#5a9)!59c=fm zHko8&74f#5;b31r0DRqe&%s}<3hKOfR_|QgJ#WxgONU)jrh~tNN$%q{5BLzf zX#xnRE8vWr|IJ8Ixo6FR8mQ9{vNW;FvEU*XqsBQIEcKZSx!kk zGKWu!O`1x&SHOHt^)f%d$|{%yi_^ZlCegbc+{cwIi}YRp>w7dyjw^vt?o)T2zS6|i z9>n=Id%l){n=bc%26wcIQj(i2!W#uK3~LXc-{pA8&8r>86%C03@}6p=3Y#1ZsQCWv zf+<_N19?Qc)Bom`nZ~ze=RhSEil5#t<3oNI`*wNMv!NYl9{JL7#y|ce$~NQMPl?Wr zE!In($Qt#RuiBFS!GbKZr%fMU|Glj)ZwjZ2XzcKztrBq>%UR=;R<)20cCEjWXc4q; znn&|VTFGloz=d~_i*ZbwUt~^YmhMHBbV?x;;|Dur0gFj@1FA>Eb8r6y1|zih<96{d zTB6K)#g3E{qw`L zzp^A4*1pz1AdKB{@8OLg`WP@NTfk;!2&RlH8-mpFSA(P}j}w;HsZHy(V?UNm+|W`c z5gSeO0yMn>G7X;+X{3bpd*L}GAXq&a`k}?Q*a$%Vci9<9mj5b`pXd$r=0SQ-59s`z2i*y@Qln--+8t1|$Rql=w?5&d zXO)kBB&qkHfBN*7tZ2WO`5k_$nW>LBW;;fle%JTvi5YpyTyj3GF^B8w?WrdHS9uXI zhZFuViKh-k3Imu9wTLGCd8qcFX(A%+coNT7K{uOQUZ9xVoXBG=h9H}z9S5tZ8e!|| zE$bE&q$6RYU?lQJkcJIbdet9JgS-5K<8dn!o8nk62GoKT)3}}Zf^1oOVeS<@>&w%# zFARQ!ts_}e_O58Z6cH7DQ?zwHIQk<8KCEgmKpF0NrTkBtm=(>h>$b&#kokgS7UR;F zr&EWsF@8V1f>US2DQ^KOz|sK3RqgtvVU{arm-qe@z^#)nlTjZ8k>zWQ4BX+X@L6-m zx9LT)!SxQKyNR`xO~gQ?+UMWag?Lj3a zd~ht!1x4z7-BVV7)o+tQZm_qRkXPp+g{mMvDjzTUlSP0o<1;yBBC5vXVL>wQHe4^8bQL7^Bif&l^=#010afi; z$Xbxw9Scm#$br>L_fD+xu^SYDFsGhQTpX{^qk?}ZHA|2-4$VDaJgb`E%L@cG*`x%W zI5Z8y%3rWoF@yX=f~1Sx4~nYw7iabuxcMgS&i;e|h!F$Zsf2?y{k$Ge*utYmYzBn+ zVKLncNw_I&u~_fm?W7ND-vmv10FA)y#gWiVaMbNr5?ULu8J3a^wr|{wK;1hH<} z4Z`QS`PU}z9$v+xrxPAkh$w-RSM;Aj!e}wUW0!&oZPwV*J>N_;0|*d0r()53k~M$7 zeBHNV=Iz@nc*oU?z;9t)P-yoSGZ`sV{sSM+BPy|KCstVbm00y6K(1((G&rAtS(XaH z&O-+ryAgsTf)L=3`FJ&Y;|}2lyJu@nn{S3|Y5L@=d|PMB1~glaFz`bUgq8(h4_t86 z0LT0+9l(s`_Q5M7(qxEd}A|U;-IKAp(x$@%^0Ify8X(f$ufVlK(QaM zCpx17{{iI+x8)6fAn=%0icxjr_#+_40aRuRVTd(A*W(BG4edBkMwky^w?fTsWxY%H zE-)I@xdozjEVvAB6o!Po=wk={vtkgA=05kF!_qZParK+C1?Y$V8Cp1E?&cL#XVdTM zPTI+RHFc~|nF%P)f53+_3U|9KX^`*5ycP$x>$+-WM7%6Z0=`}WyER^vk-ZXqW#SJy ziDm8vL+<=3uy)Zu=QL;SmhMs;z&llJ2iz#3Mi#jl0Z7#U9Z zXzi`yjgkjf*@{1dAUex-_vYaGgzSGawqUvE4^NYUsV)oZj0G1y)sqHtp=rX)ltW;yx?%7+vDA+%z9}8dVIs z%TI=?!!4D^VA%Xr7t&U8eaIu5%(?HY)r6Yf8zx=fhmH>NpVrUXdq*0;#eW=xjoko& zl$MQR_J85t!49|}arF!y5Zjg&I9V~)h|449qigpt=-{={pZ4s8annKtAs9cOMDe=H zLtDD#*+G1ksq{N&!jF;PH>p={0s#u*~$zY*h|&H(xzzJ0i*OW zFr#}G#O_tr)t%(y(1tz?ei!1*ex>JvaoD1!UhZ*}q}c@9spHez>2cP=L?;^giuSEw zu4cyAC`7xwJS_Elv{>VV>YbK}1t!0QtJM;qAR+PtMcH3o<;m$EUZvF@o|uO5x6H_H zhhoHcS@hl|F0lewG+wh>puY|eJCbvsaK_`h=g$@~3qO)6Hl$m5S-WyKF|t6obw4dX zM(?j_@mRkJQ|l%u`o{NEuI&O(@))$!hn@b~Jhjb2dG^qIZkX*7o$UbaMaN4IxyBN+ z8daQI3t94Z6fs^u3(`3aHn4+1OUi4b`Do8PL@K!XExHw3&!!ZlVrs10&#tpx+dawx zH%v23yS~}o>ED)O#9F>HdVjm-L#;A=B+$KrGwrOEQ5LB`RH^>ze#1|{9MD4(DQl94 zs3x!P;7&Jt-{R9I+rXdivalR(NJ3e9=1IX4U6}977Yl3%$);U-mFKo@ZD~L0nn#oF z;wz3eF#gr#M-n+3+?u0o+a4k{edX&;`HC_%~n2JGkrjiTI+d(NB+R zuA0KdG;qojhUDUrL1Z7s;jab6ivv^>t!8@xoUKUx^-;v&Ow@QiP0t7MRb|4Qze$Or zHK@WLQqBuIdEu#h_2>D5VOIO4q;czz0@k-idkV2WCNYTLAXDu_3LvMNfuagvUh~ye zA+vxDoZVX+X}JYCmi@iJhwwS%?KrLSO}9PHMKs&j?`eS%#NHIc)8BpnX;GIj$Q3Ec z2`+vOA+w8{%C%Tb&rKL5`!y6Az{+iUAKO7!le2fQj6_B>ZL;_186`oUHyO@^F$?K~ z+C<2NBXfB)MalZrElS0Av>G%46zmlNb5vKcSK3#Wp4FT#~T83Z}bLaZ` zP7!k2It9!R27*Z1fjw1T$&fyHsBKP~&?zZNzqjaW=j46fYuiRKNds+x(}6w@?K#6| z{42tY&J<8nr^bYy>V7yXhXN5YGTe|Z2S7;T9a@y>b{Zu=jD;#ey*_`+ndwtcb3&c? z*ZVxzmcGefr+K~ck|N?uA;^k(2|Cvj+;m`c1%eO)`NlK7!7U=j|Nd^ZF%+7z;UA6I z4zF-TRa9&+GSDZCpm1E~RFPo^@Ts4}`N<3Eqkqp}L>fPqEtd<`^C7}3 zQmF+AiO5>n=ts(hP*6|iJ#zqv9l8Ac>ve>Yi*0R(pKkK$jdfA+jlI{N sH(ju%X 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 VV~D8yzQf&EB6M(BJAY@d{SPxdO_~4z diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico index 06f2ccf066d0cae16d7c825143e4a28f8fe3093c..852682bb47367d777aa4c150de22e179d311343a 100644 GIT binary patch literal 12314 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 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png index 43c46287e503250285909d20694e99a96b8aab70..9f2de00752db00fc3e9c1457186c658196491aca 100644 GIT binary patch literal 15286 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 XJ8L5i3=~IbL*CLcyis!9@#+5p8v6SM literal 16546 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

*&MRiePK&UHb-kzB4j_pXLA$AKxO zLQX3aFlAiT7^;oG7^*;fkg&W?Z(gq(|Gs4IiIz8y-e{f|VHg%t8TgbKQ#EYh3!h;T z(VD4<_pJdfHe2e#qD)eYOtv@vHW!N{o>9fLXt(8EYnQICusdz2zNfR#|E&EY7nw6x z?O%>R=PqrnSy7eAXO>vCuLkROMQ`7p{4?;zerH}*G&u;)IMJ}^nens(?mR^@S;f1~ zj_c^=Cb+!5X=2n`@Kfp|+?uRjmGfA`-@zTfT|^xPiowF*)>3NhC#NR<^5b&s|D8O3 zWHvHehM2v*p!0VcbSKbiO}fDuH$c^*jvC?8{G%vOtL}eK((Xn7@E<5$(R(rbE9z(q zw4XTcI8K~-)1Ug#iaKpAH=ogz%XjhmbhA-vel*PGNDxf+i3^d&0%js?;t0R*Y29g_ zjLtZmB=AMl)8U#gs3sPZ`K-loWQ&69P&HjAa$UQ1-DZ+iLGPu6q~z=3t8=RQA~-v1LH_}w=weO88+2FL@p#$a6) zIWPmWT=i#p=XW98KKVQq^A z)YFh6O|U+y05AE2U4*IVKQ(PGsm1PZBiT3s->P?~P1rGsL?lsF z?|W5*bOA6&ir@feAl)KUqu@u*|GlH=eVlXZ-SAZ&h{S>Q5UazX&)+StPb~DSe2?rq z1BZ>}f4=(|b&!B9A8AlZx(KrR0UgB3emZ2ffU5B+;wa4Pc?3);Dubt$UR_xALsw}c zk#4_ zK{9OKgBGtdZtPBqfHh)ZKaD8xOh3QZ2exp(37ZLFyH~>WMG`E;Z5A6`{M?LS9h;y@ z4`vYfeR&dE2(AVLYGP}H4kPk%Va`pP(WqO;fLu})C(8qUz^x+T+^2bgp^Z>wxeD{w zz<=Y~zVimDA8nfI+vx%vu$+?8!8eYw56WG;1u~V<(kOnKUwCcm=Ke)IdM4q1rGy$d z`BOo&NEjnNZ2Vkkk;5A2JD=B+EdT;6ozt*sk>V)WtymAJoJ~u+fOlOz3;Yr{0F`!U zF^iQ#7vA&tIiT@K>&Oa+uo{P9G$<9_(nj|qFxxUQ*lF%T*B*rEs3-*ZZ9P$g-nc=y z%H`8m+a8d4x9r_iYJsD>Z6lg9R~-0m2$q%wWA{98^g^oiB>MKRDQ_!0f!?hcXmHP^ z;t)a10Q_Pzcyh0}E1~$E{p)d7wL-^*b5rF(Rw2^gUrlz!hWsm(DTU!2p}&V04p@8ohSoa_-1VYt=cP^`DpH36B?WhcP^M9y z=jDtGeA(6>gZ;WMnwk>ND^Y+i7eKORi;7AY;x0`7Mkle)U4=;9x#j%+zO29t@YGrY zl)B2=MelmtuL(#{x7e5g?pM<8^91k=tIFo*LRq{bFMO=-TFFM~or|0$pTHtI+YYZ5 z(xK%WvQGfk)Afc)f-Sjz*cSGlrqUT&c&#AQ*p6zmHGU9kWecveWnCsj2R2T=52Q!j zBIov9cPX^19&+g5a?f~?`~>$&wb%5VfbFLB;FH)A&|Q8wToYxhJ`TecqHjDFD{C zWrs{vjyK`*i3RAo9Sk~bZS03L7h%G(NL36bEF@d9u5r(iX?tP_pDlM-s=)+Pm$h5> zwR!!LV8&DVGqfW-mI6N_fGW;%V;8P6ZSZJQvVD(L_5heQI04q~Rn^x^3GwK0-wS&a z?#^|g_l#NOqOM`yVU(QJB~NC|lZ-2yJzYWVDW)71+hey$ zweRcH;iDm5mAn}z>`b#M0}*Ns7k3+f1m=PsnnZcC3Pdw`eH(YI#qXMs9@PQ%LETkLxU>#VebR(lGCG9p$GH5p zf%x)(FwthU6U^I&G+G}+49&()G%yVP5nnVWt%aM_XqSdGgu^QYVNz$Fc-4HGFC5`; zUP_v<4=?0MGu=^r4z&F*)`v;2(;5L_#je%T4kL>xfyM-Bho`VtOrLw47Jm z+`%0DmbbB;Of6++7uy(Qbn_-xuc2uYC@w4PYm84R7Qan zGK&0=ZWlmI_6=GRdOd?y5XnxLrC*sp>JI(b+mcW(^X0a{<)yDGR~WvpedUSxG6=GA zUY5zX1h*UF2v~d#Up&Ltvcg zk+#aAco;fOc~0g$9*^+p^v4!Ik0Y_dL;vjDx6~n+B;W~_hnNAs54v+U#+;lI`p;e~ z1(~)Oa&PwYnb;?CLY}jZ4V?y_$HtzPVvK(jD0Vob9Qiuuo;`B$^Fg5tzG{&jd7sR; zOlrWnDiw4>?>qu1A%c#Pj@B4mSl!K3)} zuT#Rg9vl$Lt*>9O-I{1I-aMavcAMH?i;Q1+1LCSGjj91+9q4078!_)a~7^ zj>CF#jjj6=7%-=m;C%Lgur{>B9+r^AaTzC-YdErs+2kU;4Pq53gJz|7W^ZZ<&)L=F zk06yJpL@FF;yNo;=sJrP-fX6f`(|}bYDCA?Xu}8O6!1tZcbLWtxnVJ+CdlSIE0RCi zI+iP7MZd-cnlBeW`<9*P(YRP(XTpxQr!9)7Uz7cJSEDtnCsbi&Wt)1@n`=NPX8T749~kgI z7)?0>hPR<{`DL~ou~f-Ja9L5_IDO|MmmB6Uq2fN%59CYjhJi@02gbgrvNbYv8u)dbW}KT^J$PhME%9@B)$Win3ZdMVrl)$+eoabWsdap^>#oUbwG@T@bCYnRR zI+E&;0T!8@^!wpvYg2{JW|w=;3K_D#dT}VURTRqwmP_O(vZ&NYjoV@43^VtAhEtuE z-*%91Z&ffL2i{lGxM7!eT_Dn9%ifhS7-?CV#o^UEfTZixRFSu~wz`e6 zbE@uFK`xHzKll2qs;({DxaKG1g6t@$xN+k~+LOR!YKFM@`sc7|+Rm{Q*e!Iy(o(+D z=Qn4M2skbC06^}>jox0f7tUc=Ml8;CI}z_f@33S}IF8*rufYCeWw)+&HYg){oQR~< z{OUx1MSE#!!wT8b3d-InWGyGNFOMkj`B!Q>G-@@=1YI^he8@q&@l&yiKrUg*lNRaMm@ z@>6&H!AtHX1EEa3XjsjyyMIZa!)7BkQZPF;{?jod0*U=cdv$XBxkP|Z{ab6Lz!ag@ zWmX3LcGQIR+QR0ou-XBzWJBx7i@&vx8z%q!&xOdvAihQ!@juSOa#DM2fR&{{MOL9F zoe*ePVOqup0Lq=x{4bH;(NFGU!CwI|H}KY@A-EL(d*AN=aoLc}g4p*q#s7i{~eD1KFjiJ49>tnmYnK`hmXCPn6bd-|8F=p;Xj-1I<{e zggcULD#2Rrf(f~%*?NoF#$p>o_MgGnR2*Y#_dA`}e*mu+Apk$>AafU`qQ%DK0q=O$eK4ESBBPPq|aOhwU zmfzQG1u$eMo@W^}DKL=A+bZTOuW@GhCsPqMc+K&w}Vt!)japAjL8s2ON0p!r?XvTZwT-fQ}W={Bs> f9h-NOXIQ@gPq^99x%nxk00000NkvXXu0mjf-!lzU literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/src-tauri/icons/ios/AppIcon-20x20@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ea96d176d611048e3315429cb58d41c63b2cfe4f GIT binary patch literal 1009 zcmVB4|MG-+QA|fcd(7j?8BIrh4h(9VS zsNiSg2Srr;A}&-AghFkxwv(j!%#8QGw82HC$s3Yp;SEE`BrkK`x%ZxX?~@)G>ewXe z+@#|;6)!Rj144+J02I0|=4G`2DUY5w7%_7cEFfq=1DmQ{TQvuT^$1+NTff`7;FJ$LS*acUfnMak%3Qxg zqu~eKkZoge%UtZ=zNvKo%#|B>^zt2=5{>XCYwTpE>~tD)W;EeY=ay1UzIyi|?mm8j z=H_Iv1s_cj2C6Da&1!KjhXl3!M|NyeZe+WB`vJ~gyM;s|fuU5oSd~W$GuP?})!~`| z~&;3VgGc4I&wUT7)k6ks*iBddHWZ7I^ZKOsq2sL}2yl@4k z5Tk9>IDLI7{tP(WebZGbdwKx*MGyV*qgQpx6Dl!n!ldpy5)Nz4TADIrq9Ga`mpF`1 zr1s<_eT=MSJ=60o)b)OV83=_%-J;{utp$mQ*Y|5ku+Y{EnVd{~c+?n=>K|a%^$~DQ f+5CUX@6-MOU}9&+=?RU>00000NkvXXu0mjf+wI;m literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@2x.png b/src-tauri/icons/ios/AppIcon-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ea96d176d611048e3315429cb58d41c63b2cfe4f GIT binary patch literal 1009 zcmVB4|MG-+QA|fcd(7j?8BIrh4h(9VS zsNiSg2Srr;A}&-AghFkxwv(j!%#8QGw82HC$s3Yp;SEE`BrkK`x%ZxX?~@)G>ewXe z+@#|;6)!Rj144+J02I0|=4G`2DUY5w7%_7cEFfq=1DmQ{TQvuT^$1+NTff`7;FJ$LS*acUfnMak%3Qxg zqu~eKkZoge%UtZ=zNvKo%#|B>^zt2=5{>XCYwTpE>~tD)W;EeY=ay1UzIyi|?mm8j z=H_Iv1s_cj2C6Da&1!KjhXl3!M|NyeZe+WB`vJ~gyM;s|fuU5oSd~W$GuP?})!~`| z~&;3VgGc4I&wUT7)k6ks*iBddHWZ7I^ZKOsq2sL}2yl@4k z5Tk9>IDLI7{tP(WebZGbdwKx*MGyV*qgQpx6Dl!n!ldpy5)Nz4TADIrq9Ga`mpF`1 zr1s<_eT=MSJ=60o)b)OV83=_%-J;{utp$mQ*Y|5ku+Y{EnVd{~c+?n=>K|a%^$~DQ f+5CUX@6-MOU}9&+=?RU>00000NkvXXu0mjf+wI;m literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-20x20@3x.png b/src-tauri/icons/ios/AppIcon-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..09e43a137622810e67314bcd9fdf27d3cb1f2963 GIT binary patch literal 1458 zcmV;j1x@;iP)-U=HF%@KO}CNU?YlFAAc)RG|kiw$OtQ zD5hHQQ4lOD^ia^)#;Tau(6l56En*wB4?>dN?Ck8!`1}25ce8!zCi|Z-o9sXi*=2|M z?CA)&F46L%F2E5{dbGe+dlL;Z9>w2Jph3clor(^KIM)>`~qex{ku2#WS z@<+2)4%;^O;j#W5a2yAkrUestbZSOkb45`lz(_2P>t}wEz+5JV5xn-mfiW`kbDW2z zIk}`0*>(<1F)ym&a5%UrZRhMIgD!kYaD`@zlxbmNViNP23_<~lundS}qo=zYhOX%l zmDd|LKU^~f-u~pP%Dz0G4vnTqLx@sZC~huX&p|xwoP}vOw3>v6fMZ*$O=*dmmaYNU zfXf*HH1{ge(>&B1pSr!Fe#ir9(}YFZdZ~hyb$C1)4L&f#nwEu!`!=AntpyfoYOx4v z5^Qq4oK2-MeD=J|5&;qH2%BaW1KS_M*1nBPKF9Rz9EN`#m#M9K)l>@X=9N||Jum;~ z2$!yjrFD6`$T=iQ!yyARb7>L@wv>a41FSm2t_0?bF4Ur40<4!QW8-xZc^=mX_r!qe z5YsVrMM;~NotfSfGM&{E>ksxnzE9~~a=p>Q5&iDR5v*-ZVEwwa zl+rH2IrM)Lz3cD6>Ctl>P8n$i)CiuxERoL!2G@iZY+zAs~33}+KQ6w7bvEkm%JhY3pWE1Z1>B7kQNo2`}VUNvMZ_8hQ!K+Jd zPElG0IEs@O|G25>fzI|8L`bYS%ixD;{+lX7rt0)u3ImUB!%Mq%7G)$WFEg9P-UA=t z@;_ILW2&lwIh|(+cFTR;cy;$P@--G91)2Hgp~Lw7(iGOjV>iy^Y6R9afw^=FT^+4> zeb2KVti1rc|J^~Ho%{`rRM#G?sNR%j*fiaNND|E67oS5U9Fnm7IvHB6g{PjtBbztnYu1Ch^!F8vj8EXnfgOm^ z3K@xn=}w;UpT5=)V;7YBT87%_l02k~eW16e*tiOfsG}u;eJ}4R-`AS)d@U$$W{MpT zS^+7gGi1|xE(eVot@Nh3BO_Sqj@;4LN~NSh;H7+kYnWY+Xe8p*p?+iM)%EhPye{gG zujNaZzWC>qe9ptnTF@359ZCv0voGg;v0!)U{Bv3dKKdLvGUR217O9O377v>OVagN{ z_&H4L9bYILb*{JVFZxT9jz@k*BgjTPt0hO{MpN?Kh`SV@2*vp<6e}=8{hdRNv~hmx zaVs&$;L9>$_~v%N7nikmL%arD4zO6zKUlfX?+B^l4A#5hXdEm3rw`oqt*i+#bn3MG z^VoP`ANN&sN5suJj@YtkqxuKL17E|upsyBYDO+p5TdD!qfUElW7m0oguI8n>y#N3J M07*qoM6N<$f_A&mO#lD@ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-29x29@1x.png b/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..d2058172332ca5339264b20123ea472b1f239e3d GIT binary patch literal 792 zcmV+z1LypSP)6#gc6?jw&Pwr-Rn)vC1=(%=)RkcuzFjdh`-8<%c${FU4fTOmW0U4_?|5cHtI#H$w3iNqgnK9Ro$ov6d}p}lc>>EU#u)ru z-0uUmK!p&HpIR#r2*7n+|3I%?zlnd4Vv(!`SKvtJ4xBlC%0JLqVG!2ROg-VjcEU(b zrZAdFAe;RIgIKS0d4v-Vg-Bknx@%TD-=*FyG!aKv4XY*lk;UeK?_t>aH)juJyC3J-iTtU zjQ`tAep{xA!I1>g)8EwZ<$(1-iDmchDB8AcuDWmXQwASW890^&ceSANz$3|V1uDya z;ME&q^%d(P5t6(N+cGhk&cL#`dcSIU$(s?O-g-PRsPfixG>&N7HuODziK)yNM8YAs zw5Ndru;{%`PK{Xn*fkxtwrykR-56|>V_#E1;=yJy|8wZewjw>A%6C zgSVqeI^097eLK2h9T@+Z!u0nUaKq5!{x|MDz%Uh9$Z@m^s4h?`?F^ayuC`WOKHsCB-Fn!Ep|SUr&qh^j z@RO-*m$_mQJ6oD@_2OCe?Ea&tc=mc28=4x`oKAKG)jLw<|6*Z|%HnBnZCSK$Q!cN@mM=_Y)FxHz-QFj# zxS^OW5Mh<5WX_AONBev-{7U6=WPbcoGFKZj1_k8UjxJNZ0tk_;U{00W15=E3+lF(~ z){;ca-ZX~?Z!pRRlI(?n&FtRG{qFhB zIo~-mkqQSafgxduj3&@U2h_4GZHpO(;aQ+!$poV}-syvUsiF)4qS3ReC?(=SKfLnX z)8O~}fzD0{;Vqz}B@=*PHaZ9sQugohJdBNvK{}m=QmN!A8q=Z6LN5CsdmCXfGr<5U z6eJP}zC~8`9Cejt;Z_A%rcsOXbfho5zk81g1p>?tfh74q-CsDEDwd_zth_}?Q~IC= zv{3@HPfGatuRN|_@K&_Nactg-;nsf41%lR$M zQ58$OpBg$dv%NXxSV%Qgw2SJ2dDlm6U6jigu4?Ub7e*i$2tcqUz@Vnv8pSt6!(pE9 zMlCCKM%zdz2!{qv!K$7c;lX>?^5$vN241JnorfK}KZ6+hp3f&|R)qK)(=-8RKseaK zR>eYB8&LE14G(PBokPDregYEF2=w+W=L4W|b5|!UyCDhtj}CxB02RDlLSHOf&V@Hh zL|OdKl#)T}w5-%uC14PtN**^Ei$$S-&pxEAf`>M&W6M_1XE)w+Ck81AeV^M9UIrEb^hdvmMfHNjP+35Gm|qx)Lb1AT_R- z>iPwPR-oKf5jJ4jIEjaPuo#%ovfUlapaW@qa9|K=YN8S{Yx9LmrJjBt1&4l)m1Z|b(eqHiv5PeBh__xRwi z9EA-RTcn12EezY=$nPldkn%bI=fxQnO0qR>iv*=yZNnJu_G|1YJf6wIeRtmh&p)xb zCJrQ0b!7AsY}>huMS^JvSE=hNP)Z*Y2=cbx74Xv5$M{~kQelvnC$7MoJ9a@fSAdp) zzm{(o98dz8nVf{~_BMF+$;WMwWgBFnScGkTAHb!{6A+Dr!EzyQUK5~Ho=xWSkc>y+ z^{2LQlDc(nv0UPs^yRIOLPsiD2eSXuFW@jLqGa-VPCZ=3OjAL^sdjYN zquN_376N-=%fl=Vrh!I7@5(zxn- z39M!|ZCpR=wT4DU`57xO&r)^)!(`6*_ z(?14ivTad_GcCln)^mtTPY;k_hY4UW@wmGOe2GQ_`>KIuSIL>%CAx* zb2-TT{>L!<^vh{3vgaB|gj2M)V9zKN3Tb`mL+TU?q;f(SK!Ni=~rfqHuU3tUPX$^P8>CIA2c M07*qoM6N<$f~N+stN;K2 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-29x29@2x.png b/src-tauri/icons/ios/AppIcon-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1773a94509fda2f63e7aa3bd8dfdc2899e855797 GIT binary patch literal 1458 zcmV;j1x@;iP)RlI(?n&FtRG{qFhB zIo~-mkqQSafgxduj3&@U2h_4GZHpO(;aQ+!$poV}-syvUsiF)4qS3ReC?(=SKfLnX z)8O~}fzD0{;Vqz}B@=*PHaZ9sQugohJdBNvK{}m=QmN!A8q=Z6LN5CsdmCXfGr<5U z6eJP}zC~8`9Cejt;Z_A%rcsOXbfho5zk81g1p>?tfh74q-CsDEDwd_zth_}?Q~IC= zv{3@HPfGatuRN|_@K&_Nactg-;nsf41%lR$M zQ58$OpBg$dv%NXxSV%Qgw2SJ2dDlm6U6jigu4?Ub7e*i$2tcqUz@Vnv8pSt6!(pE9 zMlCCKM%zdz2!{qv!K$7c;lX>?^5$vN241JnorfK}KZ6+hp3f&|R)qK)(=-8RKseaK zR>eYB8&LE14G(PBokPDregYEF2=w+W=L4W|b5|!UyCDhtj}CxB02RDlLSHOf&V@Hh zL|OdKl#)T}w5-%uC14PtN**^Ei$$S-&pxEAf`>M&W6M_1XE)w+Ck81AeV^M9UIrEb^hdvmMfHNjP+35Gm|qx)Lb1AT_R- z>iPwPR-oKf5jJ4jIEjaPuo#%ovfUlapaW@qa9|K=YN8S{Yx9LmrJjBt1&4l)m1Z|b(eqHiv5PeBh__xRwi z9EA-RTcn12EezY=$nPldkn%bI=fxQnO0qR>iv*=yZNnJu_G|1YJf6wIeRtmh&p)xb zCJrQ0b!7AsY}>huMS^JvSE=hNP)Z*Y2=cbx74Xv5$M{~kQelvnC$7MoJ9a@fSAdp) zzm{(o98dz8nVf{~_BMF+$;WMwWgBFnScGkTAHb!{6A+Dr!EzyQUK5~Ho=xWSkc>y+ z^{2LQlDc(nv0UPs^yRIOLPsiD2eSXuFW@jLqGa-VPCZ=3OjAL^sdjYN zquN_376N-=%fl=Vrh!I7@5(zxn- z39M!|ZCpR=wT4DU`57xO&r)^)!(`6*_ z(?14ivTad_GcCln)^mtTPY;k_hY4UW@wmGOe2GQ_`>KIuSIL>%CAx* zb2-TT{>L!<^vh{3vgaB|gj2M)V9zKN3Tb`mL+TU?q;f(SK!Ni=~rfqHuU3tUPX$^P8>CIA2c M07*qoM6N<$f~N+stN;K2 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-29x29@3x.png b/src-tauri/icons/ios/AppIcon-29x29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..74514a8e5d4bdd6f2aa4fbba23a8c3878a69d977 GIT binary patch literal 2165 zcmV-*2#WWKP)e*TFO@lASf6`)M7wGu_9m^`e3XN5LECp;FC{;L=t20fy76G7=vFC z;Q_G^1~e!tK~f_kRz!$^6lhCZ0Wiolm!_Ukf!Sp0Mjaq1TY>qK{^a*<&SEG_XR$m z4{DZGf??1TKuw+^X50sZnC{26s7~ML2~p?OAYb0nVEf*K9HF5&>13BFlOq<30>+~G zn?pwDPt1P!YX=XgatmrGxC*XKB;HshED!2;n$a4)^W@8D{v>iu-F=XVw0|xLD{#Cu5Q?K;0K6X zCgqW}!hp-EO`fiPpAJhFlxOU7x@lH?PH=f@Sd{WZ57HS%w!umhU_m?b{ z$nB=V&f3cDy4fRV1jF^H+H81`?xd47#R=>7g2v^Zbe%ie=~G@TxunG3vQ^*Lp%mrX~HOEvdzBwXG?ATm0E-#=}aNYt>Q+fyn{0Z6vr0Y!O|66`9E(*(QW)%ut zE_#?;V=|!adIual@+&M`IA17O*KrWo+Wp_d@2CHQDU&A90%$D=NJ2-WK6Mm52Pq$Fk6O+q;@V6 z7Dpmf6!os?p_ebN+LS${XwOn<7IcDe_?O>cQdue7HGQgp#|sgwmQ@!ZK+7Ln2raFD z!{xSrVf?rf2nIt?L_TuZIl@UtDC|BD27>}JA57hgU?Qt<9d`^}Gbwycpfw~x6pA#fD;#pVF_@FL%3VQ^Uz!ci+VSpC$3o5;W{%~sMrR~QQG07^)Rt) z9LyRD@Pc`8vE?e9Z@B_R;V{Ry^d6n2z2>&1I!cwU9eN7Z6S$b5>pBR-1zb7*L1?^u z6&fxvV5wlVK_(vpDklEEAZ+e{^12NHhY47E5RX3efDQOEnTTM*Wy8Uc(c=ofCvZm( z_t_i@LTFk|6bx+|A4{)gf?7(x}GzW0= z)oXCJ@sb3bY||Co)PUJdt2=fa#ugXB-7}}(7H~!RT==KGLo9N9L2{{6O3S6DVe!ST z6hURse!m~0)Fgenp>gmJPOozVHIIphmJna)JmD^|!cC?6H%7!j>JMQJx`~}1s1-pjE>g^?<47RPk6N(~X zp>@sBg((5RoD6?8uNN>z!YMN@jLv`gNu1ek4ZD^a{`vgv$Jr5;g$Jk(P#d=g>$mtrI3%271 zR4-ZptE!hu6(@mprunvAweZvNlQ5og3=UXMkh_IPOl4_hdy`k&Ukz_uE@=uX%ICnk z6;HyT-F`OMcRt+%yTAGl%Epz_V%BAY)!hU+q^x$x-m?I?YktF57;yQNdwcs~_OvOm z{)LqZ+iJsdRD14XvslE|t*W7Y!hQ(RUSZxZ9Ps;GzZX-sHE~~r557H852wg4=6|2< z050pjV$86=KMK<(PY@6Xmed_Z&YCd|HmqGe>d!oN?jjsN(;(sIwQ{Y*69#-svStLW zOgK!xnNyJc6qv{+V9PCt=C5+?yN29K9Ea#U*V58DCA%H7-;C!;mt*q19pWQww1Z){ z?3;Gd$MzOH@EAOE#bnh0+{bhe$6xkQleK`0klzcMBV0eN_?IXF^G)4R=%XxH`tL^| zr+$#?YK<+e)WqlWLb%z5E4yq=;d@@7&Y3@UH3)lXQIbaX(pqWx3{f(&{bBCT3EI_R z$Z|AiWWSY3hOGg=^jU>RU?x`c^n3)0@K`R0n$!N6w(j-ZRW8Ud*Wz2anVMv+NzIP> zRxp-xj}8f#LK6WQHE$B>hG(~i5+N+B6>sAQkG|2*^`ULK7Q}`V$0iCJiCP*R$~-7z}l--44PP00000NkvXXu0mjf+PfOQ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@1x.png b/src-tauri/icons/ios/AppIcon-40x40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ea96d176d611048e3315429cb58d41c63b2cfe4f GIT binary patch literal 1009 zcmVB4|MG-+QA|fcd(7j?8BIrh4h(9VS zsNiSg2Srr;A}&-AghFkxwv(j!%#8QGw82HC$s3Yp;SEE`BrkK`x%ZxX?~@)G>ewXe z+@#|;6)!Rj144+J02I0|=4G`2DUY5w7%_7cEFfq=1DmQ{TQvuT^$1+NTff`7;FJ$LS*acUfnMak%3Qxg zqu~eKkZoge%UtZ=zNvKo%#|B>^zt2=5{>XCYwTpE>~tD)W;EeY=ay1UzIyi|?mm8j z=H_Iv1s_cj2C6Da&1!KjhXl3!M|NyeZe+WB`vJ~gyM;s|fuU5oSd~W$GuP?})!~`| z~&;3VgGc4I&wUT7)k6ks*iBddHWZ7I^ZKOsq2sL}2yl@4k z5Tk9>IDLI7{tP(WebZGbdwKx*MGyV*qgQpx6Dl!n!ldpy5)Nz4TADIrq9Ga`mpF`1 zr1s<_eT=MSJ=60o)b)OV83=_%-J;{utp$mQ*Y|5ku+Y{EnVd{~c+?n=>K|a%^$~DQ f+5CUX@6-MOU}9&+=?RU>00000NkvXXu0mjf+wI;m literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/src-tauri/icons/ios/AppIcon-40x40@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3d9fe1a8f92acbf4a5b8510203f5968bc48be0ce GIT binary patch literal 2002 zcmV;@2QB!CP)NklB7#7aA_8I*qeMx(H6|K^k3JZQ!3znAZyJ1%n20EgTMeZ01ZF`(2Q#an9Jorha(mun7VayN(WBbls@b8(kU~yh_No0&c z&bFZ@nS}e7E&-0;5jcP!wH*XYgi3RF{6Xj^;g$uX8{6TI*|UI5hK1LG0hrCCfsT^d z2*k)mh;{e$cuXA#g4H1Hk^mh~N(v>XIOM#W$*)phNN4qWxDV1M>4izvK>l+|Ab}3p z%z{iNBd_T^oFUTxn}m+eWQthJ%WpW`5-!BjeJez{1A;U97DDF?W7TDj?I1JGnx{_z z;X9BLOGJi;AloZ;!&`?r(PFUe$7A|3kz6(d0Wp2~Av6=Zy;hJ2(ws~#Y>Ej6paEzA znqdHrD1fC1Xq=G(kn%{o1XT-GrdU%eKwBo^0G5}K7fTii9Nn7^t{I}nOa!2->k_P3 z(hLtY&xI7eF2-aDS~4DkExW#fEv;=(m577Ra-$Z2R3@Y3n@VR@IN3xjDvx50WGp7{ zpZ|TqkwCB3h-DziX0!57St{)pp+`bJ7lC!TY%c4W1-G`TtKK8@IuKi`+?6WRHUd%R zkqyu($+JyAkPW)K1zJ^@CK(BZ3MSrn47PKpJ|7B+vh-SnuDFjTCxit@fBysSn?FaY zohpsz_ZYT*y;uIduDTk+VF4j5`1bE>TyLI0yZYD3Q}|g?RPSCvD$Jz%(nMSLwL>f% zg6AJ!UeI5lGxZq8Ha5Vk>)u6MX+ty``5)xI;R{0vn@gcp;TSh|_$CWY5SuH`dj{ty6D=J?#e}jo0CDSO$`e zx?l>DCwcB`b(Z-E#+N)`5|}56%(GjhZXJhzaV2qjFGMR3;*6;`z}^FgAcNN=ar7CI zN-p7fAmz2I%DUlc1tf8q+Ih2OF8k9tWco@=|EQHW@f*1ZsnDWf? zuJy0I(JFzx5Sa%N`i009#9D+nWfHV?9D*K#7!op2=6T?B+Pw0r@HIlLuc>w+qB?h{ zGcLpm8QK931>y`(61#ArQb<@8(Vs61!2TeTW0BtZVwWG{sBD8E){!Jmo&@bje?v)3 zOXpE;h-F>zD2=`fhAmg3Mm5yK2cPeNUEl8ab7T2SuiN!SFd$;bjZ&f`xN$FUWOsIUB%8s;kmF zdjI03Zg}nO4REIO0y>7_VPPczM~8LSq)u=L!V`x(gy2I!Xe z84_9b%wy0rx=}g`1y8|wbK_>%_tO!m$K068vRoAu%9wqW9U$2~Qp0pl8eV951SU@y z?`?nJ1>NEeAASlu+V*2kT<5C0@ZdpZz$*(twUC{h#>y4TVAjo3T*>qHj!655(nYc0 zC);;JeSNJ|S6avI!>gdhnnE``ntUgE(v}Ao!##6m`XP!Rt{|i@_k0KMZTSKk5FXX~ z2p+dwyT?_x>2j5O2ef-4%mUEHbjaqQTF{j>E=}KZA+mn;;&K z%SvLr02C1{TOs_YOVvdOf@a< z5IQ}tOwX<|slIK=fk;yR?j0LFI_?1UOJ%|F!rrE%O>fV8k18F&j434XlzAY@4kEcFKC)N^m?}`^XD+l!8iB^pB z(pW%ne03Xoc%&Nb)b^~x#|!ApR5UFv!r~}%Ct8IS7ocTsw&UByp?B-u9x-@T8r8rL z4nVd3h0_u@Z@(xn)+TQT-j;Z;zrwt~1v>(y)f}pyBy6J+>j3+GZJXx kKm*VKGyu&o0LwJ~1N|IBvLGRusQ>@~07*qoM6N<$f`U-7x&QzG literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@2x.png b/src-tauri/icons/ios/AppIcon-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3d9fe1a8f92acbf4a5b8510203f5968bc48be0ce GIT binary patch literal 2002 zcmV;@2QB!CP)NklB7#7aA_8I*qeMx(H6|K^k3JZQ!3znAZyJ1%n20EgTMeZ01ZF`(2Q#an9Jorha(mun7VayN(WBbls@b8(kU~yh_No0&c z&bFZ@nS}e7E&-0;5jcP!wH*XYgi3RF{6Xj^;g$uX8{6TI*|UI5hK1LG0hrCCfsT^d z2*k)mh;{e$cuXA#g4H1Hk^mh~N(v>XIOM#W$*)phNN4qWxDV1M>4izvK>l+|Ab}3p z%z{iNBd_T^oFUTxn}m+eWQthJ%WpW`5-!BjeJez{1A;U97DDF?W7TDj?I1JGnx{_z z;X9BLOGJi;AloZ;!&`?r(PFUe$7A|3kz6(d0Wp2~Av6=Zy;hJ2(ws~#Y>Ej6paEzA znqdHrD1fC1Xq=G(kn%{o1XT-GrdU%eKwBo^0G5}K7fTii9Nn7^t{I}nOa!2->k_P3 z(hLtY&xI7eF2-aDS~4DkExW#fEv;=(m577Ra-$Z2R3@Y3n@VR@IN3xjDvx50WGp7{ zpZ|TqkwCB3h-DziX0!57St{)pp+`bJ7lC!TY%c4W1-G`TtKK8@IuKi`+?6WRHUd%R zkqyu($+JyAkPW)K1zJ^@CK(BZ3MSrn47PKpJ|7B+vh-SnuDFjTCxit@fBysSn?FaY zohpsz_ZYT*y;uIduDTk+VF4j5`1bE>TyLI0yZYD3Q}|g?RPSCvD$Jz%(nMSLwL>f% zg6AJ!UeI5lGxZq8Ha5Vk>)u6MX+ty``5)xI;R{0vn@gcp;TSh|_$CWY5SuH`dj{ty6D=J?#e}jo0CDSO$`e zx?l>DCwcB`b(Z-E#+N)`5|}56%(GjhZXJhzaV2qjFGMR3;*6;`z}^FgAcNN=ar7CI zN-p7fAmz2I%DUlc1tf8q+Ih2OF8k9tWco@=|EQHW@f*1ZsnDWf? zuJy0I(JFzx5Sa%N`i009#9D+nWfHV?9D*K#7!op2=6T?B+Pw0r@HIlLuc>w+qB?h{ zGcLpm8QK931>y`(61#ArQb<@8(Vs61!2TeTW0BtZVwWG{sBD8E){!Jmo&@bje?v)3 zOXpE;h-F>zD2=`fhAmg3Mm5yK2cPeNUEl8ab7T2SuiN!SFd$;bjZ&f`xN$FUWOsIUB%8s;kmF zdjI03Zg}nO4REIO0y>7_VPPczM~8LSq)u=L!V`x(gy2I!Xe z84_9b%wy0rx=}g`1y8|wbK_>%_tO!m$K068vRoAu%9wqW9U$2~Qp0pl8eV951SU@y z?`?nJ1>NEeAASlu+V*2kT<5C0@ZdpZz$*(twUC{h#>y4TVAjo3T*>qHj!655(nYc0 zC);;JeSNJ|S6avI!>gdhnnE``ntUgE(v}Ao!##6m`XP!Rt{|i@_k0KMZTSKk5FXX~ z2p+dwyT?_x>2j5O2ef-4%mUEHbjaqQTF{j>E=}KZA+mn;;&K z%SvLr02C1{TOs_YOVvdOf@a< z5IQ}tOwX<|slIK=fk;yR?j0LFI_?1UOJ%|F!rrE%O>fV8k18F&j434XlzAY@4kEcFKC)N^m?}`^XD+l!8iB^pB z(pW%ne03Xoc%&Nb)b^~x#|!ApR5UFv!r~}%Ct8IS7ocTsw&UByp?B-u9x-@T8r8rL z4nVd3h0_u@Z@(xn)+TQT-j;Z;zrwt~1v>(y)f}pyBy6J+>j3+GZJXx kKm*VKGyu&o0LwJ~1N|IBvLGRusQ>@~07*qoM6N<$f`U-7x&QzG literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-40x40@3x.png b/src-tauri/icons/ios/AppIcon-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b86de532c92bdd3e2d1f92d91026aee443200f32 GIT binary patch literal 3062 zcmVnR8#!}lh!n8QvN_oVrtL|Qmj_1F{F>EwGVs* z=|7ebwUE|S`;SGMm|BezOWIf)R2pfa56YvgMUXbIFZMAzbC2J5&bjx_EVJXXJ3DjF z@O^Nz?6R4;IluYN`QF!8D8N#;;`0(PU={|g^= zp=hgSnW6^g#`^e|UAmy`>Uja8s(5^Uso2=m>9Nz$^sw)6EP(d--TCb_n zwmk$0H=obzACVy#8ek!KcA?5`f=b&gbkPBfN1ifT9BPc_tZJaV0?c20cZ8ctnJv1p zv5~1wK}bRTd@g6TK@@GzqRKn9DBMH@oxwRc^6tN3?+g22cw_{mklK}_Kc2@HbvZY4 z4BgD`tGi%%R~Pv713#56x8zmcpW~0$JLj`-?3KezZ7Rxg;E4Ln^(%y58g8vEtOE z$c3Gh|JOAVF=S!3d~%8iu6`W{0L$cdC5d=}adAmAX`9U9te6M4@6y{f!OhtK$oTV` z0wc5AX2I5bz77lK&4Ixo{BU@_1_UC!q`Bn9ml8%pmG*VRuV#cu2sge@V8Byv7!J2e zsTVktNuwqrm2QVmrEjEi!kQ>ml&MVU7U6X^{ItzaE?K@#{=RCN8XL-s`nRC^X zG3+A1#*mU0?0C&}C0!_!-X9!lNoedy3xdu?f*f1|QguDbbd0=QLic}SSpz1`VOVeX233*m?6Fl;b4X~6T4_=5M*W2(l>Dq{( z%0vD#EJYV8gdAp!7;v3HrU=&-)Z{A{)+c1?>aee}kTVxUHmSbSked-QY4Wl~ozOQh zsNFLKNhs5uzIZEdxcOmMAr~clL~I%n7OlBBa0$4yEmOAWpNHOr?Z4U$O{lrTxvHzn0C4Ei(Dpo% z&7$km01tj`y^dJrCwQPo-WChIb^Ii3-TCXNlt+zA1G*m7lI{=QRJO&1<|Ly=;@9tf z!j>IRXyc1gh|zX0${g4XxcYU~X z3=Suark|5_P5ETX4^w_wYp#?<*`j)gNlVwaX8RNeG^&Q-uG`kY$FBKsq@hrvR*N)x zcyv_5eZRL)7tzIVWpO!T&qLofb)^Pmd)P&|YYt`k^w z+1kIgJ=Hu7wDMXW@?)~FUmm0m6D<^AGRf3ny^D~ zDFnF)ecbP%uj}bFVCg7T7=qmU^55YJoU1`+u7((u%NCcx$~t|Lnsg%nNOB+^U zJaFe1bt-QUzb9VZ(|5@+pedvGqFL}Kr0~%tmW_#i7J9@b_tji5Rn?piSYMsNuO(4zOT z2AK=S&x&+`^!$ zJB<{DeClKGohlhGWx@PLxy)WT7-z@Eu#)1uO?~t0wsbnfnBiiW#pyy?! zaIjjVe(NY;A{g-0SW`$bFZ86kCh8mv-IM4XR8@IS1K0#bm_JrR@-WhAk216kWuzrR zAPm@OQKi*%RlQ-+c2*YH7Ma3yBL_OB1DUo*kY*T}4P92-H!hlNC)^o^<|nz|D2^0S zn$Lh0%7zB3vOO1vIHNRS0bKTjr!^-_#*ftrwMG?$1XXn>?v-j$!h81c40luvSPq2448!hGhh}5%))?KAW^|0P`nED3>aJOpw1=- zv4D*QVbsrWZ}4F-Cq#C1#Ei9P)NYGSp?ZEwq@_~gWKWO!`R?DtfBS|^5}lXG{kc*Y z!0%{jRO?sYAh5wsDQf0Ae&WQ86^ye~SE#LK$&$s`kA;)_5Uygd^(mydT7zrUdCDa6xtaauJ`s`=#_x<+S=f@f2`*9dUj4N~A^DfuC+nmcg7Dx6= zh%OU_AV|XWz@B3e#1B65L&AdKFX9TVUjBar@P^1rRMDr`3vcGcZ&~}!n0F1UtUYkxNMV`BV$47#-zWx z-|<{a;pmd>$1s>&%>CW#*W%4&WcnH8JA&os`U8jq%$fO_kLnL=*OXCfJLUt)Y@dX( z?5h~Sif5j&Hu|?F_ya)#=r0QT3z9>Bk+A4*3-lL+iUQ%$vH$$|zn%C0LE_)fqoCCP z+ok_y-v5wg-n>Qb|AoZA7xiDH{@>2~zbESdcIkgH$^Si3|Gl>UyY(oL5;LC}*r>(t znV!1Iw?GjCkscgXR@PwgX##)^UNS1j;RCwB=JRPwv%<=y{4AP@Us_&py!Sm7<7X@-|CKm)Gh%~s2xI~^e=k( z7l>1M!~Tzi`tKmuX$6HpxbJ%mZ({UTMH@)BEftdP3UW!xvABcoCw!sM?mN62xc z^|93JdpA?0(e0@A*u*P!YJwl5As#w|X*#tZ`g-Z41@K9YGgwM*)`n*$o;_#TF%J`WEu{dpQdn5Z z3-?L^Keg|ab1p5)%wR+H@}JE7v`~E1Ytp_&Ws1u}Nlyd= zF{&;vWmX>EWwGa*ekYGY+9HJl0$&V6nV!&97Sq(G{I(3vE=xG&#?G*7vK*Pbi?!=B zN7yx`04|R&d;0eTw$kt=o|rPhtU zH8%Hr*=$FbD_58wn=^X;`p#h0SiQAT1UhdCF=Mojpk6_I`R4)n=qjN$INnCYuW9 zI)DDLf}5vzXUU8uhU`1L6`! z+o!Zyz^M2U1q^+DpjbmvaJj*+mYSC2SpLDd;e^rJ9#uf=b`(yzJ71M9+x!FqE)zW2 zlk!Z=B2E*N{9Uqf>-^1S^}fa#l(y>0ypT@%zeY^ zWG_g8>7KWmvYWp58Ql1KD=dtxkI~uYSKpps0yu$4b2zyx71d$YWvu%XqwqvPaRtH} zBofTi=PDmn*slab2Bndrfc<0SKt_YC7WZx0U}mXljz{UtVO^Byz}?DO4+x@Z76SePfidiz#h$w2K@u95tLmqQRx3=CO{$o znuPto%;euk;Qyl_&KpcY_4_}~H~){4Fpw=DaPYkJ^&X@?{Cd`V37SN!H3m~3CF-C_ zG>IeyKM1>qX56GKDQ|NNaWn&$W(8&VPgn@^J}(4q@*^A-T>Ol2;-xYnffP%67zm?) zJUV-{Z&D+r#%7s0RUd=y zFm=^YaFMLVkaA9A~(l$Uq6s^vEPnvU;;RJfGV zyJc}Gp5@-$t^LE~Es-p$EfRZNFh&p+RT$a0Y(XHvW$Ym(@+=sP7eSYohU1oVLIVcF z&#Kw1%Nm$|a++TggQ~xr82X-?L(4otdNmaS*Aff1%46l_(C7^G!yue}waIWsjA_wD zkH1;Y>>^HBMq^~D);yY&cRdIW4r{Brs%`Y;p2Xw+yA1*BF2C#3INHArqzV+D5;ivP zB8w~xTmJ}h>3JP`qiB^pAd9cNMI>2kV$6JT$FQi9Lx?@9gU>`eH4^92qxx#j?ZSp{>?1)Fhm(2Jo0?LQa$I9C z8eUO5aKsRj4DAN5zVazMdBiYKtnrLGX&w3i@A+w%c#|RJ05VLzrRj<)*n!_hUW_an-7^8>+{z?#iFYAY&$S!k4q7PVjr?|qoA%lRDdS8 zKID3thyslHvy5UmjB>HKWMd2QLfHicIOvELhDT#$n97jKd(+g^)O(P$+}$M~gQ}!x z6DMMRtci4U59DqW&wXo)0L zN!QSo@fw}t7Bg}rH&lnDxfNWmUR>k*0Za@}h7;U|>I%9y| zb_O6gyq-DctDo!fb6D`;d7L|RAm?L$+bcZZ9pB;ypVQ1Hsat;n94MJY6`w7=ZEll0R#st374wrLphiE zG~eh5pggGvL0HcrUC8|obVdw<&Tv#Ak`8!2`M&EFj?&GKj=8Fgj3GiHo~S*ckS#pP z4G0()1m|#17PU_6mf<*S($r}ea!4Czv1TFV}wi)c+Sf~0dL3s!n$zJR+;MXkO z%2F0_X=nKs(@PiIF{)GC~)2?GnX&c{Mw;hW^D}3xoPD&oIY;iTz&Hj1RZl zur5sn>*&^~!k?Y9yWK&|G2T?%?_ox|>lWZ|JNn~oomfx>gb{WI^xdR%bgf4RIO8~E z&Dj!u?}4Q$dkOBDitn(@G%5}r?jwgMO#U_ClN)xn_0!YM?&Hs54E(G=J>9`-lX>r=>{y(ya?#$dB&urJHpcC!VgH;iCY#VZB~QzwIKj>a-6} z+N#L$rDl{g+UETm?=egI(mK^?Q8g+Z+&;xPU2gxkJw=gUarXS5RJA4h8{!nF&r4K) zn#^&ya;18!S;)z)HArW8P|Rky!K6=htD{4;<=)+N?`)mP=>&t10;nPnpJ*j7Z%oz6 zUeTTT1bPw$MRVp2dP|AiJ4z~nTP#^*#?SirNe1i2&9DN)*pY^21NhT`=MexS2J{ETigu`%}25{fPCQ zh~W@3hUHaL!q8F2hmIGyb1l{JQCP~y=0-o?<><_ly$*k?-W)S8)z`D`0T<`#~|3aa@s*pf`SpA5u1_yL<9L_6FBB3ObAy&oNZ}1eIb}w+e7VP-|m(`tz4R+STdHu zehj6bz^)O8lldd@ytN#g8vX4;on=Ke*GEU~xeN zK$wzR;d}I+t7+L)>R7$s6Da*Sc8&LWznjET5mNcww6l2j8t)4!^M5(N#o4ej)t7V4 z-!XAREMh6adXLB%1c#Cs$@maEtfsAw2VlQ5!kr4Yia4@Ud`sI!;;k!$>D6r!7ot9H z&77N9!O6XaL=|2%f6d=`%{O8v{B~k`3$&ZbvI^WBH6QogGch2oCmri!7EFLIdT@H9 zrN+vN>S4x|kt-sQJ<~W)xe>>?8h%7hTYq;$<+Ry~9~X!AHOUIK|J>SBjU0?gj#VqT6u6hsTeE_eQ^fVt{-85DZn^Ai2z~p|QJs=E@#H>uwU?JaH}4T1r?-?O2W6vFi38KeYhXt)=&H24=kBA8NVt~?jY z%opK44JLkP&>ftNKMzwUiKyq)m%@I^Ii}l^c@%rxwRYvbzRY@@o}jaYx+t^)OY2bC=IW&naNh4b;OZOEAmFj81l{B6~zEu8J_|UDxaL)bY=)kZp;C z?unR2@(z}{=#)=6@gXzrMJn=|3CGEyPAac?I8ckzH4A2o$eEE^H8C=o3+78WNu=VR zuZ;&&M7U@lLXE7;agOJAX&t6&L74K55VZGzzZiaH2b9bzUE3*WQFo<-HiN?{P+2XR zebG{vuNmO?Dtsae9o6pBj``YHMkq#w>cTm^oWc;rKKueOnxTVFtnpc zt>eNxU&a!|FbTO}LhSD*9AlBEq?{kBePQO}U zN^<$KhW3I%ZFoZr(&Fq*vv)pKwbrNGTzWxP07fd-k>iay%w{+z`LouaFF9cUXPhdThOo@Qk>Beoo(jEtQysj;Q9n3 zo{ylt;jnX{qa`nsFFK=)f6mPlDZt2W7ohOF*o)|RJ?H-*{jvFn7QtoET-MisyFZ?m z@GG43bwK2t;hL<=Ly=B&YUu*1ejloJ=RlnfIx$hkq1B=1JvEO+-on@k>6~mgpB?e| zAsMO8(etl+?J`S;QOM&DW{%rjRdU$)Yhpz{U!I$Yg*PMfrLvXwOeK5MI*gd#*u}R$ z-s4b8>e0_`g6G)Z=Kazol{jP8#A81c%i~2FW7TOv(*x%vk=GTD>9MKU z;$OqGoMfOZ_{DqrN7U7mlA{F#4r9)>i#84#Lh5+2C(t?#+?&GnI_5EYOD*c&9@ac; zdP193@G*f1vSc*ZZWpwm$>F>BF!#QTO4swd%$t%<_fYFyhzS(ceegkT!!K!b&ZlM@ z*w+Qn1@2OhCS3c3qqmUEND9D>omP&Xb6q`l-7_@gL>T70DCa@}e~TDwx*tvzM?k9v z_|14f1^it;%+|x0$DS%A8Oj}XT8VyhpwUZ-3m1+gXz%=Cd8FH1mSek-gXTnoKRO`M zB899-)Ij+gFjKdX-QzKe<6>e9K3JqHk=kUP5TJ7OUdW;VkR_yFlP2pX@WERXAVFW9 zRy9CYz9)Gia^7{zL^`HCu#8038%(hq%Pbyt|D{TCol&{YaitG9K`zU0R97RJOH1Fo zmtj;pnDqPiUmA34Ul5U=B_f@fRdU)@)kL2iD*i5(%RRp4Og_g`Pv<`k4!-*79zhyc zGScPk&wg;cEyu}dN7m9rqL;;uwX|(P)TrlKriz@nC2%^-2l8CBAke(7g@5SIQobah zBht7N_1F{KM+Msx_&+R#?@8v~x2~!?vCkz1e(S1wGg}z?`Q)MW+ zEktt*?4EcnEY7>?ZMH|-Cc-xPC`gP+*KTPuiDeKx+f$y=2zq@Q!tm>af^1%(bGj^W zfT)F!GQmuDiR<*tf!?5MA;;1TEo`ra`+!hf9+)3V)?*Baz_0hgVv@fNmXDRolcx-t zU>-$5BjcT@pD`un*$B37@n0dzoizzah$Op|;F`?yt3QCk5H;FIEzG@k(a3&7($_HT zddyA`nN~V>`w1Y{qOG4fN3Dq`yq@4p2F(NVga6|3HlG6B1rvtFNw<3JMbMJ*mOT6- zC@al%^o@9H`hsqg&Zyoqw)PHIv>d8QkhSmh6Q%T~L*FV&Whk;{q^gGRIJ;NoOW-)4 z4|W=%>`Hy({oM`zaVF`l*3HM!Z0(Z3foqx$Ut}mvBhUF=UdwcABR@yIyK<4k*@P4$ zBex~2MD?XvjE|(o4w{NPJ53(o&2%4;o>Ql_Iie* zN`A-1dFstZLX$lxWKn0Ng)dKs_C`T}oxv5#P&^KjPKmtNKFHACpj^;7Mcf>OoAyZS zZdk`bh4|p3f?pDbU0bSRA=0=MB({+;=Vx(%i}Y8U=c80Gni``6n=Y^SEd~8y0DyHQ zY(3ur<@U#5Gvs8BXlPKHDcr6_4KYO|<1GRXWcc?*Oa4EJx+Du+uhP%65lcv;x24|L(? ziHBCF)xrMGSs8sQ{kmlNNJthPn;B%qv-ja0aykttjq&vun2HOuHAM8OmfweoM|-GR z6@ki~*VMpy9|Rr3Y#Xw`t3#%rWA&8~pV_!RMliW^=6R~tZsHeL@s6LwTpmHN&PNl> z6DaSXNaPky!8y$ac2aQH06%XrGvNBdom0?F3^oSGCCqz}H+*;; zL>NR}JB8l@%Q!A_1@7p|E9QTtClKkP3>}tOz~Ug73W8{hJUHf5$NxGnE^cUr%^Pl` zMrsf8++*502vu^eIxS~FB~_{vBh|_QpSs* z>&5W9RFI_53?kMZyKTW+9dddMolJqMPo3L|rwIWh<2#-}Z-+i&)S<(gnD0(6RnfE; zCH%8pvhkxObQ6t*5LgG2iGuc<7p=_qDAA2dgW)?yA}rH3>y^~STalW&ru zW5F}P2Cym07_U=^suBE)*E#w9oWdK0jzH}NWc!U2o^5#p(NEwx<^JEy4~iF0ltyGL ztjAm|cDEr0#Rw%G9T@A6E}X!L)q=9#0YGFS3L9e)xHKYxU1+^dc*BfwKUWCymu z-`M!A_}}{c0~lCFZLIAzuMG+|lczfE@yY`tcvE$}+ehd2XCoMZPk_h4H!=?2)n4#Z zXfhNpPSB44q#@-Q*2P-H0Z90JF#&_#Mw7EynRXqz)a$h7(7V3GPR+ zd3X_v*>qHQZyNj5Axb0?c5Gzbb5qSM{+NXZ%aI{d`LZdxcx3PO`LUXeV&?$=?kV%C zdb?u(Ggd!C=m96w?6VCYCUk%_kL1H#=_jpe_6-W&i6bTLSCU;_I*>F3^EUs5q- z*c6o1Gp3|B$q=}2BE1%L7DXa6`9FB5;2+Av8^EA-U}@>jEh0KQb%#Sy7fb>Oym;X+ zb^K9V%td|s2vzuJiWv#GqZ;bDq2}ggmf>#U`WvNDn8}^MzF7J+aG$hxGQZ{xExdU$ zIM8jF%?*Rq^WEq@_uj1X>MSru4?DgEW}jU|CaE_W`m($=+DqPe+M0Az{F72R6CTpf zc7P2D7V;+$S~ZKYop8J9ucPl(&^7W*L?X9^Md!;?Kq^vJ2D9qCo-MhjxN#=*c+g=f z_Xo(;&jXGFj04Yq;6U9c?iA$l8%)3sE}`jAEuzP)ET-pgiBc)6RJ0JtH(WSzdV!jG zhuE3_`5xM%g-*TY*X*^Ry~)RdLdU!2nij>Ue+ZJ^qlGSayHHH2q==Rd{j4~Aya3Iea}Kh0(m z=z6Id?Sg9UXo5i66oY;BvePV*vL*)SXMLLWV5{SMj!&8N`YUY#BYp11(=T0q2?PjX z&;t&ziMm(%AFWy!EHN|3tRV)lZ5=0{hn7L>v*4inldu+U`fDKfIdjYaoZ168Y#TaH zDzSw2E*IS4W~u{|kzZ-ej-Z8R#1g#(%B0gp{R^O-Gj|q38Od*5ZwZMMNN^@U%3qzy zS#4M#ddX)do0Y0%yrSdAs0%Cmbv;ISkr7gB0@mf&lI($oss2Y%H6m2@7O7&attwq% zg31~8{@JuYi4n{d@IzHC?Y4QNMWrq&4<3{X)VAJ$>)QH?26lEYYWYi?mh*nIAewlK zK!dN=k=9<~JK!NnOSRA0V4W~?N~#cBv3m7nPijU4`4Y=#N1+r-aZkYpmLB3yN{ZOA zt=?|-*5Jt4EPnl!`Rn8e)z0GguZ&TLO4%8vlBd~qy?>~jxHqG8GWBX*QE}{)Uz{e2 z80fIExQ{O7l`@(tu`Thy-l{}wXD4CUms~Am8 zEM$y1SKgeTHjEbi!Ref+x$a6G59MikP3?FUhguW#{(a$<*|@VkL2SRHT3O@ue!YEU zZjK@rN^Sy2KcwE-2NSbMrgOZ)LCKS&Rj+6ZLb}yL#9ae08WM^MPCOtx_ePzf${R z*QXmh-v;++Mck1!X9Z}V705R(+qj8KZ>y|`xO~5Lr^)mF9^P0=EI(ni=CJ>uOW(2X zkmxeauAE-FA6F|YphouU&@Y>sVCuqKX-U*)YnBMbwALjcB`3Jm^7fxZ#UsKik)nmI z+3*1Mkjlac=UL7o-oCj!ILcXX1ZoA@3ICCyCcVHZ+^;aCE@S>QhcQmRwK)KdUHH-B zkA(W!D^w3!;8pmfmSZ)I1kP%R?5ekuW7oZOjb?DOuO9{;3FU)&r16l;YajT95OhRN zbh^L(zF57zyoa-tPp8(EzQgqJO#f+vmtiBP%p2sWq3%y1VOfBtuywnqE`=oxYFCgE$In-!$sanLHs<= zUEf1AEx9_MdUpP5jc>XZ&$vzdGj7+A+rKf?%F_Cf+7uyQ(V{INxPex)^kI80`67on z(SqQ-=l{w+J3py%Y|++bmkwY0R+Jv;VARPXrj8>*=%FErL4VeQL{k}AJ4PPkW+K<~ z%sjb2GyHIz>V?`;?iORz(zjceaT|&ks5L!8ID>lI>t?_u`lcV$HQXYjTGSico;CTt z6DdteiE#tON&#bbc&d0B-Aa1omT=z|) zIVyfYWudL3O;Ir;&~k%)ULzoUm|nCogTS8sy0T<66?uNU89hKng9rn6>WePINkxzg zzwVy6_TjA5Yb>4J6hAp>PMmy-DQp@VIpW8$_j4E1LR9eR0HZ_Uh!vXw|Xp8N7Y3PA=TEZ-32~bXem@ z9Ra}QuSK1xrNPd0Ci&bfay`@AH0?xSiO^#7K4^TyY4peBp5Z2BkkLY9^Nv*1IBlh^ z+Vnw0D@sK{%iK2|4Bi-Fte{B9Uz>lKY|LpBo4al^t?YkjyajnEh47(hD<|#>gAY4> z^N_mhaRjHo;Ol4f;-Q-=VUmb|ji3BE;#`rhcEcd@Shb_sk~7ackq4JU;4-8(6%kS` zR73shW=98_$@*`oD>tz@Evu|+T-eZHwRwSXP^l~K-GVzfuI4Rui$QmpK}h;0ljAL^ z-~e`))a!G=t6%+=Vk`^#RTg?2J--<`xL5|@;}XUo_cl`XO-!!#bTr%+m>%#sAb(=| zn{r==*N;ve&P474c@4)|iECcEKzLt^cEEs@)i@~}*1jHUL8kVm9eonn3>w!6*dc4q zbuyx$D`BUTeBW-~JAIVzR=)@&S z$mi2so_i=K)-!NEv&f2+c)5d8gx-}_-L|;G)vZ4mPe9vsC<&3@45KAGY5dVZO6!{l6~QsV%$Flt5&pYMoT{iy(qas# zt;q=2@EZH50BfWVw}~Ma=D7R6CH<|N=qsIsyA0w?qEOASUIqh9`qfm^+gsOK**a!^ z&R~-I{s8fNE@oLe+%}wEVzX@lH0^noLp(ueSvzhyEM?$w<{2}p`FUnR8?gA?3iC>~ zHgzYcv|nV&BDu>KqMhl)mL%Se#x2I|k!$80 zZAK&2T8Ue*z`GpKgL7h$FV#0%oW3%*=mOS%V|+MpS~u`JQsk$1Tm=@x%`^=1K=Nu6 zM{j}kI)dMOpXyCz4 z_)Vuzdg*a3D;NZv{{T?)5l*JT0$KM{9PfGx^eY5;jf0=|An6*VYai%ed`^g}-?-J`P zu}awku1|y=&*3?efS-5Ui@0~9fW#SW*VaVhpG~J>_@Au2=nl{_V6STF`ut0sQR_TY zO2@U`SlYcsxG)$!ivvz1h=Kct@wnBiU2n9tzg}f3(k$PjEu(N|Dz&BtL00fInwxy0#3eE8cu-v?+y4jL=NG#SPLTjd{5)S6zZBNE**TvI zn{3cOmkma_x^pga=pC(2Vu-2Dq-+Rcr~wa%B49X*qpC2TmG@Q-%h&Y{I_>wquaz~| zZ`(Ild#ow#mHvE;kHV3%$8> zdZsD$Y+b9{%P{1t4S(xNa3u^4qxiT`r1reHWVL{EW;oC7t9QI}wK?rO-_qBIAP+B8 z8M(2@<9%OlAr~^)vWs)J_fVT^%mY-qn~72HVYrZyrdJKJI1tPJi3Pnv0 zNN>uCrLu@}D00VvsgZ&l{cZIB42_fJ#P6~Q*mnR-!bnRPBI1twb^UjI_aB}nJV5+9 ziju>ALqq>As%sGJ;*aUpTnhrm}v8!L?9iO&I)A0%;zYo#`QdZ}KvY2;M^$wCosG5yZ_lyFm(i<|s7?<{BKM60ho>PjoGT8h zUIFKll?p0_RN$V*3=(eN!}&U0`p!9!EYI8qE-=Ukoy_jFZ$|?zSDAbCB0m{a7wS7+#kQEmDXV^$i}vp= zQd)|e2iFn)iw6O`f$P54{w1s@hw0UzzT?Jt`(IihX_^5Mf^3|bB84;u2L6HV+&}&O zpYjbjo{_!|Ug{E+-f;?WRj{y#D3XFOGAqe-m4p4N`RMb`&t%Z97YHqAG5fp9sm<$6 zSj$N%TcuNX2i$u_n*=Tq3|vpVyMF*$&jCR7OqTwgqTC9D<(I%I?85SLV#uQIM4xQt zm~$r^#1VI+q3u^c9jz;={zqjq5Q5}sfa|dk2z0`!$je3N4@~Ze)^vFJ!l_%@H5=*F zq}M&folioLDMvh$5Q$*_+8*5J&)7w^ zgdjN;$TkhwT#}dU*W+BBJ}D_NBF%1~Jt;mL`)FV{iH_Ob-dzm(U=i+*(H>PG=Y&2j zy^A^nv_?OmZVOtJg+FE6ss;y7WH89*=)}?%xI|-0PZV*oV+!$j)cw!doZ_?6E#S<3 z02sTuBChXYgxyjDFT=mo90qWcI5$>9-URN~S8%2RYGC-_j!EiK*2LJzJuw^VItA@h zgTG@F>PXT%$SxybPraK^UG(Ei%aJ`1m-QlWUFHK&0uh!lG#~6R|*WHH$hCS%kXT+C=ZwLDHt z+AZf#K9^^ss;I#kuQR0Z0+ADW;SgH+&TGKYB@@&q<^JQZm!T{*O0HCQXA$5j#hSan zYW(njS2`TthTkw-}N+g zZsbk{u_GKVVA1vW@{S>P>iyp7L`INUubp#(%2q)^5V-?JguE(amCIym6>Cyexe+(b zF==l;0Fsa>b_IEuauf*h5py8MkW3Lc3}w(V?@Y;R$- z$`IzsrGX4PUPG-~NcAEs+f)j!+j*DZ8vSI}h)}W?v$H?Id?k-N(>8ADxV$#6ahK^{ zdu#u`-U=H#Rpw=HhlVe{Wi1Gn2`g@g$v2A4-rydMK`TxQYx1E{-Wt&=8lQNwzf6tS zG)>`^K|kOIFO7xvH%z$TGYjb=G=3yK@Fg7QNB11?J)joaIY~r204?sPm!PPys72eP zlTx5Ra?xC4>d z?Kn%luy@zZZ0>1wd=f}%eoq=RULX%t^0EY6K;3IzHE5Y*dzqkU<3E0oTKjydHImxi zOz_l?bV`L2G6%}<-OaOgK4ljzzw9pBR|Lt=I^wsk9^&uv@PrOAAuJhGHprT z2vbU*t<0LbK$5$UzpxkYIk(LsMN#A~M7roxAmEZ6(0uX;2ZajrS?(4zb5P7aH=^3E zG=WsUW&bF&Xl)_RVm(ftDe6M<1IqST3bx(JoXkFATk8IHRbp4fCWC_lyleNDlaSdm z_lc#r&s@&dBX_FqDfsHBcl<|_wm6|Hm>xcfSlj;koTcY5)mB_fT5G;6k2d1Yd+o-7 zP7Id+?o~E9n?1u&S2?tZyqUkWdb4W^ zNYk}=t3DZrkCzIWiWx2Jk7g0a4hF9^vINa*aE|O~jWj=iC(tAE>em`&)gz~Jdj9&0 z#jt9tF+wI_&C5;&+si+-4|*3)4At6Ux1DCWCpJx8-XtNqQE2@pzQ<^bkTf`B`6k7d zOZ>JZtomC@Sr^}H+OM_%<1()ryQb}qbbT{Y<-4p<)G zsy7>O!^g^~O_vi32omjSnL*Dl zJHDa_U)iAsWKcWhJ4>Z$Aqr!9dVc~N-s}e2OQtF#O_mzV3o2mbPG&B6Nq0`}=*j%e zU+b6(h=+n&sBvGmzY~7%UT_!&{xKCW( zy+(folBC)-Z*AUM{7@=sO_-I;HW6i+P&Jv&f+9By4#>&vVo++9mk2iaG6y$nEHU(% z>@{Vq72RiQA>$}{M`d1(X+PU1~t;J8z#VsIR5eat< zubtN4DQY7%R}TBDNJ>eS_rQi5B&8~v7CPo7gDU3j+vDio=T3}HgmGsH@A{HLku!x= z?g+!*duUeg@d^k7sh!|v7S7^S3lq3q1?BMt^nTpFx`L=7*#+YkgUy1HEEBA;g20Y+YGIQz*8=duYg4Brn4 zH7ry)eNm(_7<7szyde@eCvE~Cm#7KngIRc`xnZOg9MmZ&Rrph7FrdE=r6M=Vv8zam zy8vGfyAx@xL-$MbjL#s%3D95B+1iFDm3BI30I!l<_X~+BFwM$TS zP$sl&uh#H`R^lrB8GaWf;pKejN;}{6eBZ68h8;ELtrfD#<_>R&m_f!U79CL31rr9o zwR}6_a63x*?D<3dj94MSRQOpoj+SRHWqTX4cf^1kB{3cDfTeCj#hoJEN~lg6JA_P% zMM&%RL&fO-l|p(CZcHwK0lz#-l6czfejrlFk#g|hZ=XF1)u3ab4s*=T+t34^1ZP|Z zkdE)Ly9T5)n>>6S90WmGTvbYgcCc;l`FKDANC}0jVZU|>Sgckm6hfJORcg~RM&8zl0mBHbIk$ z;M>8OPi2X!G5sShH|-#M9On7w01;@x2PS}6tJV&hKzOA_$=B_U&|Y^D&2TJWBuQUv zq(>oUVKd||B#f$O?tN>c6u>)BgiaIlg@OPSjma;_nTSW1Bn6J`mdB8SR6Q;_Dw6P` z(j~yMgV$zj_`tOc(4c-V0H*Qp2l5H`l|VYWmvzg8@OuORXM)^TYe=?30v(|9w4fGC zbJYMJA<{~8FGD0XK}ZcCre{}c@RsgzIiLelC+_~jGRV_&iNh~1;KCb!M1%3Da)2y5 zz+%w*__gSw@}JLdCGeBFyA)7LP%*&eI67!?sPF@jZ$ASWJ5PS_&;TgW$`3pQO$N{1 zyVh<1uyS_C zkj#iyi;qs1^`Q65Q`_8u3W3Yq{p^e9C4C)w=BY+f(VA{Mp3~ zFl&@uK18n=!d+$!9HcXQBJ4P`(REfFD(z*2UFSkAS4v<-)rW6YIZDW~n9scp^h{!B zoz{3k8jUQ_crr%}+Bn4r7Ia8;ZDP7}-<=$)AijUJ5c>Y?jk?CoY=*WPw~^Y@(3bX| zK^U4UJ>0aicl+!5d1O6Rs0sqYD1BY}^fS(okm#Z-YVWDwk z*Zi^Dr1wy4>5EE^{w2o_B&zXg@05`jg=emPSC=>_I+F^FDEr6xU-_?bXddp1ipMD1 zYzVp^95_UdlOT4TQidH1VE1Q`pPf(%(L<){!2CAcq<$?#Pp@mTTX<6=}az zQ;TKQj+d%sx$K?#GN6c|^pIcg48E+JdZVkXIyCUn?M&3LRVF^Aj!<@ucr46m#;ExS zAJ|a>ag|`pbhsd&OVEU_@Iwy5TGnwYw-2hmN?k6XId9~qEV!N^BRq4SLC^n%`^Hd} z=@QB68$(cgLJu=b+)N}3$(Tc^U=PRoXJ%AhrQn{NIxuG|$*y(&; zqs0%`1P;hTfcL=}nOD8(*+X8Kuk+l;cH&C8ySPnVrSbcv#VH= zgAlkFG#9}4E1J{ktM@)MLL~8uo=MXK(&5zmH-zv^E$)-B;hS~v8*$|5k}cO}kx>&@ zP67&MU$1Kp9h*rxUi`1F$#qAKA!q9TB7KmykmJjjP=5~P84R}Bn`(EwAzWo;Qf=2M z&x~t>?cwm830+$LRrbeHi#cnO(-MlO9zK-rd`bM30S(&dPR=x7wUwx4&4F?r#G~V0 zn8y+`*-O+e>fvi2keJ7n`|we_H-I8tkkxFJG-m)!?#cSYY3Y< zLjoq8{7y)*7hl;#dLuQ{3ypf)`v1IQzcWv7IeJ|ic(6zQ2DD@i?DN(53*Lp-^=Q9@ zSUZccKV~G1yxs0DA9oZ&bZ;T&K(PzPnurQoMPMuUki_`>djyDaCin~D2c-E)GknBP zSaJ;Pd4?s z?qG%OR215m1`}9Uz!GQ>Z8U;5dtr|2i(05-w*}NuW0bPSg8W_Ogl)A27&w)$N|#gZ z^7LHC9@5JD1n%U+#oKuMYTORm{s4PiLgHmK$EvVfd#zxlBGmSHnxQH|nNes&m(O23^VC}1yElG-)9cd7U;6I)iY(ILKv>WLxlPetkxR6p@! z*jLLiM{bSZl(txy3%ujb)?UVMozF5EFu)!w+vqU#>!v^jF+Lr6zLEsI;;m~^_?}Iq z*d>(u%cRDi`G}xNNtl;#ux}V?t^3jw*I78W=k;5}%#En9M0&q_!4k@skHnS&*uzIP ze0U?KV>xFefi1OhpFQftt-Uaw@|d$W@T1NdZE^g-#4_pP>GM(D)7w=3*zcW~+Em}i zRrsb-$SMMQ9N(#3BHS3PKeKR|bn=b2^wlN;{TBKX23QaG0Q-zx=%#8vrx0Xif`9S^ zNp?pD&f*9A$HR{oV`4KFG?u~`6iBKOm^HVdxEo)i_mbAHRMQoF;myWLu^Kb4ShzCr zpRJH{71TCK6v(fnh5>x*sHb3?=lDw zK9Jq({zO$!MJy++Jo8D_=P_#-%_7zjMBCS3ze-@N9P!^widq7dn&L4httZ>+d(Y2F zHlS|?0k&>1qevU~lh)T@k5vIYGge_{m}TK_Oo(@_kU=7jCnW8$7xq%o@~q*@r2Mm_ z)fgR8bkYV_hO_=Xa+{ydA3{_ywVo={=3>ln2+1vYm+et#5TOxV83j{PY7pcts@)|Z zEsv?+h$xN;7IJ817o~OfU}EYi1gF6XHt+2w;9YJg;+uuDob>QVg%2#{dn3LK@Z(3L z|LO)WumE45B}@6aOaF!*{*tiEYC%tRCF}DwoAluqa(ov>Dp)+yVLW5=vxYbR;TusFK>qpVGU;wJobNoXTMk}9&!S&Z zo2ctX-|qs^Y_=4NQ=!?kNU`>tFE}-fV=*&V3f(VAldZVRZ=t4FYZr+8c>w=Vsqu;! z$*xoc%s1x;qCZ4!IhBv0sfDp$m{57&NMnjbFmWoqHf|Eb`53&? z4ci!r-s?05DpxoTyGp;51E5ft1+Qjk49)=ZFzpLgRhT>JXwgRYFiO zjs!t8;Rk|{(gI2_|ABL2u3iLy27rL+u(wX4{1cb4WU?95bUmJ$p!;*HP-_!Vt z@sQFKI@fSi=shGpgIZo`EieCq(3}$dfSmz;{_96D1wvgT`1zlG{P$%3{nP&$#l_YC zD`Wqj;y<4LUn0K9&HoRG$K-9OJ6{HFy+CM!1%3oK6^}gV2)08%>-3KyxsgV*m5x0h z&t^~k0*^>nKMug7V&qbl2M-kT(LuBWzdVRh#6FL<2`N>5W001DpM7h|%;|T?8pyv- zD4 zRJ0@|S?Sh+3J}ao6e7*~lX+jSgnpKBTQts-iLCcJ^bT3nqz;s+cgEz2X?W7NC`+*FtF#&=f`jp^iQw*}Jl652}=7$+@wb%>td zLv)39sA5$7elDy>*3`9pu>p7aAm6p*w&{09WO{)F^3JD8L;pU61Ts4r-<91%^}2iw zN|5(L^M`Mim4mU3lik#=DOKaZn*9|v{dTTvr`o9)m`**&2{r{uu>xKXQ zm_Ge*(aS8Lat03B{GatdE`M)ZZ~ybhN&EQSzmr?->*YRs`rDs;sb2eW>HhZb*Q^;^ zKx%LNeNew4?q~gjeg1RKyi9GbU$KcW`<7i6%&rTJg&?JO*$ z|H$w89;IRRdcF-vnBlPDcU2G#3Nsv88!4}VnGPVO1Dwmj`3l`(_&hnR8#!}lh!n8QvN_oVrtL|Qmj_1F{F>EwGVs* z=|7ebwUE|S`;SGMm|BezOWIf)R2pfa56YvgMUXbIFZMAzbC2J5&bjx_EVJXXJ3DjF z@O^Nz?6R4;IluYN`QF!8D8N#;;`0(PU={|g^= zp=hgSnW6^g#`^e|UAmy`>Uja8s(5^Uso2=m>9Nz$^sw)6EP(d--TCb_n zwmk$0H=obzACVy#8ek!KcA?5`f=b&gbkPBfN1ifT9BPc_tZJaV0?c20cZ8ctnJv1p zv5~1wK}bRTd@g6TK@@GzqRKn9DBMH@oxwRc^6tN3?+g22cw_{mklK}_Kc2@HbvZY4 z4BgD`tGi%%R~Pv713#56x8zmcpW~0$JLj`-?3KezZ7Rxg;E4Ln^(%y58g8vEtOE z$c3Gh|JOAVF=S!3d~%8iu6`W{0L$cdC5d=}adAmAX`9U9te6M4@6y{f!OhtK$oTV` z0wc5AX2I5bz77lK&4Ixo{BU@_1_UC!q`Bn9ml8%pmG*VRuV#cu2sge@V8Byv7!J2e zsTVktNuwqrm2QVmrEjEi!kQ>ml&MVU7U6X^{ItzaE?K@#{=RCN8XL-s`nRC^X zG3+A1#*mU0?0C&}C0!_!-X9!lNoedy3xdu?f*f1|QguDbbd0=QLic}SSpz1`VOVeX233*m?6Fl;b4X~6T4_=5M*W2(l>Dq{( z%0vD#EJYV8gdAp!7;v3HrU=&-)Z{A{)+c1?>aee}kTVxUHmSbSked-QY4Wl~ozOQh zsNFLKNhs5uzIZEdxcOmMAr~clL~I%n7OlBBa0$4yEmOAWpNHOr?Z4U$O{lrTxvHzn0C4Ei(Dpo% z&7$km01tj`y^dJrCwQPo-WChIb^Ii3-TCXNlt+zA1G*m7lI{=QRJO&1<|Ly=;@9tf z!j>IRXyc1gh|zX0${g4XxcYU~X z3=Suark|5_P5ETX4^w_wYp#?<*`j)gNlVwaX8RNeG^&Q-uG`kY$FBKsq@hrvR*N)x zcyv_5eZRL)7tzIVWpO!T&qLofb)^Pmd)P&|YYt`k^w z+1kIgJ=Hu7wDMXW@?)~FUmm0m6D<^AGRf3ny^D~ zDFnF)ecbP%uj}bFVCg7T7=qmU^55YJoU1`+u7((u%NCcx$~t|Lnsg%nNOB+^U zJaFe1bt-QUzb9VZ(|5@+pedvGqFL}Kr0~%tmW_#i7J9@b_tji5Rn?piSYMsNuO(4zOT z2AK=S&x&+`^!$ zJB<{DeClKGohlhGWx@PLxy)WT7-z@Eu#)1uO?~t0wsbnfnBiiW#pyy?! zaIjjVe(NY;A{g-0SW`$bFZ86kCh8mv-IM4XR8@IS1K0#bm_JrR@-WhAk216kWuzrR zAPm@OQKi*%RlQ-+c2*YH7Ma3yBL_OB1DUo*kY*T}4P92-H!hlNC)^o^<|nz|D2^0S zn$Lh0%7zB3vOO1vIHNRS0bKTjr!^-_#*ftrwMG?$1XXn>?v-j$!h81c40luvSPq2448!hGhh}5%))?KAW^|0P`nED3>aJOpw1=- zv4D*QVbsrWZ}4F-Cq#C1#Ei9P)NYGSp?ZEwq@_~gWKWO!`R?DtfBS|^5}lXG{kc*Y z!0%{jRO?sYAh5wsDQf0Ae&WQ86^ye~SE#LK$&$s`kA;)_5Uygd^(mydT7zrI!dl7>uDn%qnZwk^op^1V73?NmibflvoRZ4(JlOhSd3lWrJ z5<>3?p#(yaq7*s)d(YYDzd09ct(oU)t@+-WHSZH|WT3-9$3q7I02m(J*EIQaqW`mK zssHRs!_?9M05kc4rkdG{>FxYWX|`J2{axfhl;xY@)yQx}vu=u+*ep9)0~A4diAtRk z6Z(pY-iWLR)>8PZg-RjXDuHj6!tJZN-l`c@@0F&AXi?!O>058-wjRznbdlwEhKF39 z-a$QIJG}5rZc}_BpOe3EIzO?%4ZaaslmYIp1yEv{sEUMXRW+ExV*#>M6t1-Y5&%!+ ze-i+M+9926teyz&1<&Eu1LdKHtN?6*=S{5M>8S@lu7+KtMij z8u(9(+u=kXpu+%PXVjrV-rytQlzqu-{2(1lQ<(I9LQ|03A!+xCgM)*w>XRZ0|8v2U zxl``)kah1}9Szhq^%j9@f97{@=B{mfC&A%JA=)9Ju0v)^d+QoYF@H$Us+SxB8y39`X6m zq_A=mE8G`kLX&z)#;jZn>~~9lEYyQo3H~Gtc8DMb;tZ6OI!;KRXmf+IO+}n8`Z?bh zaA-12c{!%F+*6`f++}wm-YHr5x!p9c-kWyCT=ufvSWmX&Z+YsV0pinbN!OmMiNk9y z;Yy4MHWt-WN*QQfyFgF@{8^Dgzku4XezMm1 z&TIbD*3h$-0@6=HkhZ)qoM7mxz0yF(3+j5s*%N=q%k2=V&*3ScnDK-M#&Mlb?b&9T zkaUcvkPtK;Z&}^LiV}@Ka3hU#9NVp> zHd1!uC#r$HHfUtMBjH-5Rs^NPx9D~+)Kl}DH=rNi*!X?TmWdhb-gYFfZxvq|oQ5qo zeTntF%ezsjDi3aU?o&5x6!y4hao2s2df_%Ms8Bs$#F^(3l|+3@ z=3pq_t5$2*$u{`)?t&mzM^Cv-{5*hbqJOlwbbZ2id38e4^Q)G5HvbB=0YAvY9X~?$ za2p*zJYCCIgR@pfK?-a-x85smY;dlPPTnp#hI(i=9CcP&?BAdJcq9#_Uf?t#e&yVRIMDMSFr^->~n zw_7|Bk)%S6#*5VBza$D%S?d~exCmCGER}uZk=}?}k)lZxl(S3W$tRL$8AdP5e8V)( z2qgtMe*v#9!_)Csfg*=^03&SI;a@~qeQrt{`}RiI-UW+4I`TtD$a6phQVnc2KB?*U zL6nxs{pbqQhh6sOnbWZc{xiQN5BA<55vRD>?7L~&nU;|uOBSFtk=TJ-ja*qkL+^&IE?@!;Wdj z8F2b{?V=Bz`&L3RUGb4oVels$dS`@ZGX=z2W?<{cZexDDllr?l_*WdYAlJ)O<~LE;qAClwYF`x6N2<5 zzmWTiR7DdI1Ab?=??y98P6m0KxEn~LwI9DK5z61!d)M9Db~LvoA=G@Y>6sJK$FFG> zfX^fhtY`3}R%)a47h%bbGsHpJ8o!4aQ8+*0?0MW5D86!Dc}{Hibp>7n$9(;uPLR#+ zxly}r%Aj_C3b+2wjk9cl^Y4XKM=yH~4zT7^FQ-A`8!S!xbyz^qixRHYjV&%C%&swWn9O- zezivIrfHL7&BU5QoYUNgK^ggkxcXjQ;QA8j#YZjuoTSqE&M{g0)1ifYAKl4B*U!9W zv@)qzP%*j_v%dfxwRV}fR=8xA#uK0_<1uku`jES-!M(d`NlKAKr4#{+q_{2WjOleN z?XarpI2F#lAhx|veI2^73$uCx=m1sUfjaqfO5JnjfGfj96-%`(lo}5D8I{xxFG%b> zWsGmnWawYBYsvv+87>Mq+1b(GM~SZ2NfT4U zNL5rdd5hg4i$h>BlO&-h1DZ_)O}X2!Am~P)*Q{-XS^zzhB1=lEwP`}^J3Q|4)3eXMfXtmN);`qK?2}IYGU7o&x?EIo zWU6N;s~)#x;X2q(YMjC5w5F9mbO|vU9EwkupFgiH&^s@RH`nvXOisN71rqKD1J`rA zhibI7dkHw4e!BcZbf*t~2pncB@kBhM?9uPt?-<`h_%U}d@48W8!Z*BQ6UJhXo%eC~ zz@q0@U!C~s=7rAb85F`ffad9ct=NF%na;mL$vB@96@u|@<5cUP!s`5qRuy?yKl+sLMMp~$8{IhNSVTnE;sF~6#oOwhSinJAefY;s1rL+_K&-OwqKBeo z;a_OylGL*$i62~^j_<{W_N=ke)~G)>@f`+5T$Tw)Jfx84vxBv{CfM60&|sNm3u?BlbP+cu4L6D{M_=6tJ=7-N3^I z)|foBOYD2_)RGb2h~wNSHhqd&?tj}mlo{BgQ-~dFT5!J(ksqv-#%M2<_&WT|4GF45 zr)vw9tn*`6LtI8E8%-geHypG$uw$w(8$aaN5Uf=_yx_Qw@JG6ejY6a2u;z%> zkpK=STK2Qz$cgeZKL^T%VxGP0MHEJ5^*6^3xkJJSSE~job2I!?4PXmrtoeBRimYdM za&W-Qwb)GPRAlH{5IA66&(|^@A@`oG2|Wp;v7QSpSXGRMtM4*wbx*Xq7-Y!009zMV za?rRFxW-q?8p0{f&CcI`|4y{bmhj2m=ywY?ED-E3Orcq=K4ugjI)poxl{P9dW;r`v^7)D2%vG|b!XKO zfW4qu0?!QOy((tYG6VQ_^zzBPjoHn%I&BFMrD9=DoZtOfrx}`{kalvLSuJSQW3mSR z;~mPe;vRrx72J6swAE{SZ^M`gvYZ{8)?J=Ove2qEe+wbe#eF(x;rqB|W^>av`1s?5 z$4ZwZ@1?jHgS;E2AEQhYcC?j80xyR=p32MOw)-%^rp^@p9>Nzx0>wJhBvvu2)IkvK z+uF6hKRCh-`U&27)S%Gy_n&W>4s2`&Wl2^_PZ=TsXhX9#h9QQ7Zxi#fK*#1y1I@o4 zO3li7moyr88aGQ5Zav4BCL-p4dA*(=#;blEUBX8&R*5aU*8345pql95Un)DQ>wuO4|ujIV1^hiaeRk)rNo_k@Tw!C zSuU1(yFDRRIkP&Gr4GB{t>84~Y1~8`kkx$cUZ*~E@H)$CmgudzC40Rb;tbX%i^HHt zy=*+SF*Gy~)+^xenGn@lKB$$nm>=(v={q@nMeotkz}zm)y4BFsTnRrxcu<5A+Ly44 zxv#_}PL>sc2)zMcgB^MibrwgLhnh)CMgC!~RE=Ktm4{`RS1StK-K@9uY(XyShL0eY zypp==cFS3xmE(Et5e6PIgV6QGNefBhQyDuX1A=Ir-Hgk#BU>+ zkggArLzDUbOlCW>dfZ000;8U9RwL(%Yug3~A1E3@Vy9`Q#Bt*+U__aDCGXC;LPyt! z#1qTfqsCE+%7rDeNia9OgvWK{W1J7K-MZ(!Gt$-d!+?be)9W$&-d_dH;#hQ3)j4=Q zo0W$P!now*<$vgIzO%{7GZ1!d?n8Y{j&TvK?m2Q3x|C6)L~hTuiOxTzeXbhaNB4iu ncXnA(liRS(zfB+A)3^Z%h9V7n-Z!P_( literal 0 HcmV?d00001 diff --git a/src-tauri/icons/ios/AppIcon-76x76@1x.png b/src-tauri/icons/ios/AppIcon-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..6286ca764f51d663bcc3e11bea6fc214f10dcd68 GIT binary patch literal 1925 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 c*YG*uQx=Xai-;!ut+_OYx@I~Jx7}j@3ux#jM4X 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 literal 0 HcmV?d00001 diff --git a/src-tauri/src/app_state.rs b/src-tauri/src/app_state.rs deleted file mode 100644 index 97fddea4..00000000 --- a/src-tauri/src/app_state.rs +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -use crate::media_processor::MediaProcessor; -use std::error::Error; - -pub struct AppPaths { - pub ffmpeg: String, -} - -pub struct AppState { - pub app_paths: AppPaths, - pub media_processor: MediaProcessor, -} - -pub fn create_app_state(_app: &mut tauri::App) -> Result> { - let app_paths = get_app_paths(); - let media_processor = MediaProcessor::new(&app_paths.ffmpeg)?; - - let app_state = AppState { - app_paths, - media_processor, - }; - - Ok(app_state) -} - -pub fn init(app: &mut tauri::App) -> Result> { - let app_state = match create_app_state(app) { - Ok(state) => state, - Err(error) => { - eprintln!("Error initializing AppState: {}", error); - return Err(error.into()); - } - }; - - Ok(app_state) -} - -fn get_app_paths() -> AppPaths { - AppPaths { ffmpeg: "".to_string() } -} diff --git a/src-tauri/src/dev.rs b/src-tauri/src/dev.rs deleted file mode 100644 index 8b0625b2..00000000 --- a/src-tauri/src/dev.rs +++ /dev/null @@ -1,9 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -pub fn auto_open_devtools(main_window: &mut tauri::Window) -> Result<(), Box> { - #[cfg(debug_assertions)] - main_window.open_devtools(); - Ok(()) -} diff --git a/src-tauri/src/fs_api.rs b/src-tauri/src/fs_api.rs deleted file mode 100644 index fb2ff6b7..00000000 --- a/src-tauri/src/fs_api.rs +++ /dev/null @@ -1,200 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -// use chrono::{DateTime, Local}; -use mime_guess::MimeGuess; -use serde::{ser::Serializer, Deserialize, Serialize}; -use std::{ - fs, io, - path::Path, - time::{Duration, SystemTime}, -}; -#[cfg(windows)] -use winapi::um::winnt::FILE_ATTRIBUTE_HIDDEN; - -#[derive(Default, Debug, Serialize, Deserialize, PartialEq)] -pub struct DirEntry { - name: String, - ext: Option, - path: String, - size: u64, - item_count: Option, - modified_time: u128, - accessed_time: u128, - created_time: u128, - mime: Option, - is_file: bool, - is_dir: bool, - is_symlink: bool, - is_hidden: bool, -} - -#[derive(Debug)] -pub enum CommandError { - IoError(io::Error), -} - -impl std::fmt::Display for CommandError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - CommandError::IoError(e) => write!(f, "{}", e), - } - } -} - -impl std::error::Error for CommandError { - fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { - match self { - CommandError::IoError(e) => Some(e), - } - } -} - -impl From for CommandError { - fn from(error: io::Error) -> Self { - CommandError::IoError(error) - } -} - -impl Serialize for CommandError { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self.to_string().as_ref()) - } -} - -pub type CommandResult = Result; - -#[cfg(windows)] -fn is_hidden>(path: P) -> bool { - use std::os::windows::fs::MetadataExt; - let metadata = match fs::metadata(path) { - Ok(metadata) => metadata, - Err(_) => return false, - }; - metadata.file_attributes() & FILE_ATTRIBUTE_HIDDEN != 0 -} - -#[cfg(unix)] -fn is_hidden>(path: P) -> bool { - path.as_ref() - .file_name() - .map(|name| name.to_str().map_or(false, |s| s.starts_with('.'))) - .unwrap_or(false) -} - -fn get_mime_type>(path: P) -> Option { - let mime_type = MimeGuess::from_path(path).first_raw().map(|mime| mime.to_string()); - mime_type -} - -fn count_items_in_dir>(path: P) -> io::Result { - let mut count = 0; - for entry in fs::read_dir(path)? { - if entry.is_ok() { - count += 1; - } - } - Ok(count) -} - -fn create_dir_item>(path: P) -> Result { - let metadata = fs::metadata(&path)?; - let name = path - .as_ref() - .file_name() - .unwrap_or_default() - .to_string_lossy() - .to_string(); - let ext = path - .as_ref() - .extension() - .and_then(|ext| ext.to_str()) - .map(|ext| ext.to_string()); - let full_path = path.as_ref().to_string_lossy().to_string(); - let size = metadata.len(); - let modified_time = metadata.modified()?; - let accessed_time = metadata.accessed()?; - let created_time = metadata.created()?; - let modified_time_ms = system_time_to_unix_ms(modified_time); - let accessed_time_ms = system_time_to_unix_ms(accessed_time); - let creation_time_ms = system_time_to_unix_ms(created_time); - let mime = get_mime_type(&path); - let is_file = metadata.is_file(); - let is_dir = metadata.is_dir(); - let is_symlink = metadata.file_type().is_symlink(); - let is_hidden = is_hidden(&path); - let formatted_full_path = full_path.replace(|c| c == '/' || c == '\\', &std::path::MAIN_SEPARATOR.to_string()); - - let item_count = if is_dir { Some(count_items_in_dir(&path)?) } else { None }; - - Ok(DirEntry { - name, - ext, - path: formatted_full_path, - size, - item_count, - modified_time: modified_time_ms, - accessed_time: accessed_time_ms, - created_time: creation_time_ms, - mime, - is_file, - is_dir, - is_symlink, - is_hidden, - }) -} - -fn system_time_to_unix_ms(time: SystemTime) -> u128 { - match time.duration_since(SystemTime::UNIX_EPOCH) { - Ok(duration) => duration_to_unix_ms(duration), - Err(_) => 0, - } -} - -fn duration_to_unix_ms(duration: Duration) -> u128 { - duration.as_secs() as u128 * 1000 + duration.subsec_nanos() as u128 / 1_000_000 -} - -#[tauri::command] -pub fn get_dir_paths(path: &str) -> CommandResult> { - let entries = fs::read_dir(&path)?; - let paths = entries - .filter_map(|entry| { - let entry = entry.ok()?; - let path = entry.path(); - if path.is_dir() { - Some(path.to_string_lossy().to_string() + "/") - } else { - Some(path.to_string_lossy().to_string()) - } - }) - .collect(); - Ok(paths) -} -#[tauri::command] -pub fn get_dir_entries(path: String) -> CommandResult> { - let entries = fs::read_dir(&path)?; - let items = entries - .filter_map(|entry| { - let entry = match entry { - Ok(e) => e, - Err(_) => return None, - }; - let path = entry.path(); - get_dir_entry(path.to_string_lossy().to_string()).ok().flatten() - }) - .collect(); - Ok(items) -} - -#[tauri::command] -pub fn get_dir_entry(path: String) -> CommandResult> { - match create_dir_item(&path) { - Ok(item) => Ok(Some(item)), - Err(_) => Ok(None), - } -} diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs new file mode 100644 index 00000000..35bec1f9 --- /dev/null +++ b/src-tauri/src/lib.rs @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +// License: GNU GPLv3 or later. See the license file in the project root for more information. +// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. + +mod system_tray; + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_store::Builder::new().build()) + .plugin(tauri_plugin_opener::init()) + .setup(setup_handler) + .on_menu_event(system_tray::handle_menu_event) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} + +fn setup_handler(app: &mut tauri::App) -> Result<(), Box> { + if cfg!(debug_assertions) { + app.handle().plugin( + tauri_plugin_log::Builder::default() + .level(log::LevelFilter::Info) + .build(), + )?; + } + + // Initialize system tray for Tauri v2 + system_tray::setup_system_tray(&app.handle())?; + + Ok(()) +} diff --git a/src-tauri/src/listeners.rs b/src-tauri/src/listeners.rs deleted file mode 100644 index e1b22796..00000000 --- a/src-tauri/src/listeners.rs +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -pub fn init_main_window_listeners(main_window: &mut tauri::Window) -> Result<(), Box> { - let _main_window_listener_id = main_window.listen("event-name", |event| { - println!("got window event-name with payload {:?}", event.payload()); - }); - Ok(()) -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 602a1c72..3b9c6c9f 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -2,53 +2,9 @@ // License: GNU GPLv3 or later. See the license file in the project root for more information. // Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -#![cfg_attr(all(not(debug_assertions), target_os = "windows"), windows_subsystem = "windows")] - -use tauri::Manager; - -mod app_state; -mod dev; -mod fs_api; -mod listeners; -mod media_processor; -mod storage_info; -mod system_info; -mod system_tray; -mod user_settings; +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] fn main() { - tauri::Builder::default() - .setup(setup_handler) - .plugin(tauri_plugin_store::Builder::default().build()) - .on_system_tray_event(system_tray::on_system_tray_event) - .invoke_handler(tauri::generate_handler![ - system_info::get_system_stats, - storage_info::get_storage_stats, - fs_api::get_dir_paths, - fs_api::get_dir_entries, - fs_api::get_dir_entry, - media_processor::generate_image_preview_command, - ]) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); -} - -fn setup_handler(app: &mut tauri::App) -> Result<(), Box> { - let app_state = app_state::init(app)?; - let tray = system_tray::get_system_tray(&app.handle()).build(app)?; - app.manage(app_state); - app.manage(tray); - - match user_settings::create_user_settings(app.handle().clone()) { - Ok(_) => {} - Err(error) => { - eprintln!("Error creating user settings: {}", error); - } - } - - let mut main_window = app.get_window("main").unwrap(); - listeners::init_main_window_listeners(&mut main_window)?; - dev::auto_open_devtools(&mut main_window)?; - - Ok(()) + sigma_file_manager_tauri_v2_own_frontend_lib::run(); } diff --git a/src-tauri/src/media_processor.rs b/src-tauri/src/media_processor.rs deleted file mode 100644 index bf7b92d5..00000000 --- a/src-tauri/src/media_processor.rs +++ /dev/null @@ -1,85 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -use crate::app_state::AppState; -use serde::{Deserialize, Serialize}; -use std::error::Error; -use std::path::Path; -use std::process::Command; -use tauri::State; - -#[derive(Serialize, Deserialize)] -pub struct PreviewResult { - output_image_path: String, -} - -pub struct MediaProcessor { - ffmpeg_path: String, -} - -impl MediaProcessor { - pub fn new(ffmpeg_path: &str) -> Result> { - Ok(Self { - ffmpeg_path: ffmpeg_path.to_string(), - }) - } - - pub fn generate_image_preview( - &self, - image_path: &str, - output_image_path: &str, - output_image_width: u32, - ) -> Result> { - let output_image_path = Path::new(output_image_path); - let output_dir = output_image_path.parent().unwrap(); - - if output_image_path.exists() { - return Err(Box::new(std::io::Error::new( - std::io::ErrorKind::AlreadyExists, - format!("AlreadyExists: {}", output_image_path.display()), - ))); - } - - if !output_dir.exists() { - std::fs::create_dir_all(output_dir).map_err(|e| format!("Error creating output directory: {}", e))?; - } - - let ffmpeg_command = Command::new(&self.ffmpeg_path) - .args(&[ - "-i", - image_path, - "-vf", - &format!("scale={}:-1", output_image_width), - "-vframes", - "1", - "-y", - output_image_path.to_str().unwrap(), - ]) - .output()?; - - if !ffmpeg_command.status.success() { - return Err(Box::new(std::io::Error::new( - std::io::ErrorKind::Other, - format!("FFMPEG Error: {}", String::from_utf8_lossy(&ffmpeg_command.stderr)), - ))); - } - - Ok(PreviewResult { - output_image_path: output_image_path.to_string_lossy().into_owned(), - }) - } -} - -#[tauri::command] -pub fn generate_image_preview_command( - app_state: State, - image_path: String, - output_image_path: String, - output_image_width: u32, -) -> Result { - app_state - .media_processor - .generate_image_preview(&image_path, &output_image_path, output_image_width) - .map_err(|error| error.to_string()) -} diff --git a/src-tauri/src/storage_info.rs b/src-tauri/src/storage_info.rs deleted file mode 100644 index 5b02f8a0..00000000 --- a/src-tauri/src/storage_info.rs +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -use serde::Serialize; -use sysinfo::Disks; - -#[derive(Clone, Serialize)] -pub struct DiskStats { - kind: String, - name: String, - file_system: String, - mount_point: String, - total_space: u64, - available_space: u64, - used_space: u64, - is_removable: bool, -} - -lazy_static::lazy_static! { - pub static ref STORAGE_STATS: Vec = { - let mut storage_stats = Vec::new(); - let disks = Disks::new_with_refreshed_list(); - for disk in disks.list() { - let stats = DiskStats { - kind: format!("{:?}", disk.kind()), - name: disk.name().to_string_lossy().to_string(), - file_system: disk.file_system().to_string_lossy().to_string(), - mount_point: disk.mount_point().to_string_lossy().to_string(), - total_space: disk.total_space(), - available_space: disk.available_space(), - used_space: disk.total_space() - disk.available_space(), - is_removable: disk.is_removable(), - }; - storage_stats.push(stats); - } - storage_stats - }; -} - -#[tauri::command] -pub async fn get_storage_stats() -> Result, String> { - Ok(STORAGE_STATS.clone()) -} diff --git a/src-tauri/src/system_info.rs b/src-tauri/src/system_info.rs deleted file mode 100644 index 369d74ca..00000000 --- a/src-tauri/src/system_info.rs +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -use serde::Serialize; -use sysinfo::System; - -#[derive(Clone, Serialize)] -pub struct SystemStats { - name: String, - long_os_version: String, - host_name: String, - kernel_version: String, - os_version: String, - total_memory: u64, - available_memory: u64, - used_memory: u64, -} - -lazy_static::lazy_static! { - pub static ref SYSTEM_STATS: SystemStats = { - let sys = System::new_all(); - SystemStats { - name: System::name().unwrap_or_default(), - long_os_version: System::long_os_version().unwrap_or_default(), - host_name: System::host_name().unwrap_or_default(), - kernel_version: System::kernel_version().unwrap_or_default(), - os_version: System::os_version().unwrap_or_default(), - total_memory: sys.total_memory(), - available_memory: sys.available_memory(), - used_memory: sys.used_memory(), - } - }; -} - -#[tauri::command] -pub async fn get_system_stats() -> Result { - Ok(SYSTEM_STATS.clone()) -} diff --git a/src-tauri/src/system_tray.rs b/src-tauri/src/system_tray.rs index 10aaa15f..6debfa00 100644 --- a/src-tauri/src/system_tray.rs +++ b/src-tauri/src/system_tray.rs @@ -2,76 +2,120 @@ // License: GNU GPLv3 or later. See the license file in the project root for more information. // Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -// use serde_json::json; -use tauri::{AppHandle, CustomMenuItem, Manager, SystemTray, SystemTrayEvent, SystemTrayMenu, SystemTrayMenuItem}; +use tauri::{ + menu::{Menu, MenuItem, PredefinedMenuItem}, + tray::{TrayIconBuilder, TrayIconEvent}, + AppHandle, Manager, Runtime, +}; -pub fn get_system_tray(app: &AppHandle) -> SystemTray { +pub fn setup_system_tray(app: &AppHandle) -> tauri::Result<()> { let app_version = app.package_info().version.to_string(); let app_name = app.package_info().name.to_string(); let main_title_text = format!("{} – v{}", app_name, app_version); - let actions_title_text = "App actions".to_uppercase(); - let main_title_item = CustomMenuItem::new("title".to_string(), main_title_text.clone()).disabled(); - let actions_title_item = CustomMenuItem::new("title".to_string(), actions_title_text.clone()).disabled(); - let show_main_window_item = CustomMenuItem::new("show_main_window".to_string(), "Open window"); - let reload_main_window_item = CustomMenuItem::new("reload_main_window".to_string(), "Reload window"); - let quit_item = CustomMenuItem::new("quit".to_string(), "Quit"); - let tray_menu = SystemTrayMenu::new() - .add_item(main_title_item) - .add_native_item(SystemTrayMenuItem::Separator) - .add_item(actions_title_item) - .add_item(show_main_window_item) - .add_item(reload_main_window_item) - .add_item(quit_item); - SystemTray::new() - .with_menu(tray_menu) - .with_tooltip(main_title_text.as_str()) + let tooltip_text = &main_title_text; + + let title_item = MenuItem::with_id(app, "title", &main_title_text, false, None::<&str>)?; + let show_item = MenuItem::with_id(app, "show_main_window", "Open window", true, None::<&str>)?; + let reload_item = MenuItem::with_id( + app, + "reload_main_window", + "Reload window", + true, + None::<&str>, + )?; + let quit_item = MenuItem::with_id(app, "quit", "Quit", true, None::<&str>)?; + + let menu = Menu::with_items( + app, + &[ + &title_item, + &PredefinedMenuItem::separator(app)?, + &show_item, + &reload_item, + &PredefinedMenuItem::separator(app)?, + &quit_item, + ], + )?; + + let _tray = TrayIconBuilder::with_id("main") + .tooltip(&tooltip_text) + .icon(app.default_window_icon().unwrap().clone()) + .menu(&menu) + .show_menu_on_left_click(false) + .on_tray_icon_event(|tray, event| { + on_system_tray_event(tray.app_handle(), event); + }) + .build(app)?; + + Ok(()) } -pub fn on_system_tray_event(app: &AppHandle, event: SystemTrayEvent) { - return match event { - SystemTrayEvent::LeftClick { - position: _, size: _, .. +pub fn on_system_tray_event(app: &AppHandle, event: TrayIconEvent) { + match event { + TrayIconEvent::Click { + button: tauri::tray::MouseButton::Left, + button_state: tauri::tray::MouseButtonState::Up, + .. } => { focus_main_window(app); } - SystemTrayEvent::RightClick { - position: _, size: _, .. - } => {} - SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() { - "show_main_window" => show_main_window(app), - "reload_main_window" => reload_main_window(app), - "quit" => quit_app(), - _ => {} - }, + TrayIconEvent::Click { + button: tauri::tray::MouseButton::Right, + button_state: tauri::tray::MouseButtonState::Up, + .. + } => { + // Right click handled by context menu + } + TrayIconEvent::Enter { .. } => { + // Mouse entered tray icon area + } + TrayIconEvent::Leave { .. } => { + // Mouse left tray icon area + } _ => {} - }; -} - -pub fn show_main_window(app: &AppHandle) { - let window = app.get_window("main").unwrap(); - window.show().unwrap(); - window.set_focus().unwrap(); -} - -pub fn focus_main_window(app: &AppHandle) { - let window: tauri::Window = app.get_window("main").unwrap(); - let is_focused = window.is_focused().unwrap(); - let is_minimized = window.is_minimized().unwrap(); - if is_minimized { - window.unminimize().unwrap(); - show_main_window(app); - return; - } - if !is_focused { - show_main_window(app) } } -pub fn reload_main_window(app: &AppHandle) { - let result = app.emit_to("main", "reload-window", "payload".to_string()); - match result { - Ok(_) => {} - Err(error) => eprintln!("failed to emit event: {:?}", error), +pub fn handle_menu_event(app: &AppHandle, event: tauri::menu::MenuEvent) { + match event.id.as_ref() { + "show_main_window" => show_main_window(app), + "reload_main_window" => reload_main_window(app), + "quit" => quit_app(), + _ => {} + } +} + +pub fn show_main_window(app: &AppHandle) { + if let Some(window) = app.get_webview_window("main") { + let _ = window.show(); + let _ = window.set_focus(); + } +} + +pub fn focus_main_window(app: &AppHandle) { + if let Some(window) = app.get_webview_window("main") { + let is_focused = window.is_focused().unwrap_or(false); + let is_minimized = window.is_minimized().unwrap_or(false); + + if is_minimized { + let _ = window.unminimize(); + show_main_window(app); + return; + } + + if !is_focused { + show_main_window(app); + } + } +} + +pub fn reload_main_window(app: &AppHandle) { + if let Some(window) = app.get_webview_window("main") { + if let Err(error) = window.reload() { + eprintln!("Failed to reload window: {:?}", error); + } + } else { + eprintln!("Main window not found"); } } diff --git a/src-tauri/src/user_settings.rs b/src-tauri/src/user_settings.rs deleted file mode 100644 index 3336de25..00000000 --- a/src-tauri/src/user_settings.rs +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -use serde::{Deserialize, Serialize}; -use tauri::AppHandle; -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct UserSettings { - pub theme: String, -} - -#[tauri::command] -pub fn create_user_settings(_app: AppHandle) -> Result<(), String> { - Ok(()) -} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index ae266a7e..adb41085 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,183 +1,42 @@ { - "$schema": "../node_modules/@tauri-apps/cli/schema.json", + "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", + "productName": "sigma-file-manager", + "version": "0.1.0", + "identifier": "com.sigma-file-manager.app", "build": { - "beforeBuildCommand": "npm run build", + "frontendDist": "../dist", + "devUrl": "http://localhost:1420", "beforeDevCommand": "npm run dev", - "devPath": "http://localhost:5180", - "distDir": "../dist" + "beforeBuildCommand": "npm run build" }, - "package": { - "productName": "Sigma File Manager v2", - "version": "../package.json" - }, - "tauri": { - "bundle": { - "active": true, - "identifier": "com.alekseyhoffman.sigma-file-manager-v2", - "category": "Productivity", - "copyright": "Copyright © 2021 - present Aleksey Hoffman", - "shortDescription": "File manager", - "longDescription": "\"Sigma File Manager\" is a free, open-source, quickly evolving, modern file manager (explorer / browser) app for Windows and Linux.", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ], - "resources": [], - "externalBin": [], - "targets": [ - "nsis", - "deb", - "appimage", - "app", - "dmg", - "updater" - ], - "windows": { - "certificateThumbprint": null, - "digestAlgorithm": "sha256", - "timestampUrl": "", - "nsis": { - "installerIcon": "icons/icon.ico" - } - }, - "deb": { - "depends": [] - }, - "macOS": { - "entitlements": null, - "exceptionDomain": "", - "frameworks": [], - "providerShortName": null, - "signingIdentity": null - } - }, - "security": { - "csp": null - }, - "allowlist": { - "all": false, - "app": { - "all": false, - "hide": true, - "show": true - }, - "clipboard": { - "all": false, - "readText": true, - "writeText": true - }, - "dialog": { - "all": false, - "ask": true, - "confirm": true, - "message": true, - "open": true, - "save": true - }, - "fs": { - "all": false, - "copyFile": true, - "createDir": true, - "exists": true, - "readDir": true, - "readFile": true, - "removeDir": true, - "removeFile": true, - "renameFile": true, - "scope": [ - "**" - ], - "writeFile": true - }, - "globalShortcut": { - "all": true - }, - "http": { - "all": false, - "request": true, - "scope": [] - }, - "notification": { - "all": true - }, - "os": { - "all": true - }, - "path": { - "all": true - }, - "process": { - "all": false, - "exit": true, - "relaunch": true - }, - "protocol": { - "all": false, - "asset": true, - "assetScope": [ - "**" - ] - }, - "shell": { - "all": false, - "execute": true, - "open": true, - "scope": [], - "sidecar": true - }, - "window": { - "all": false, - "center": true, - "close": true, - "create": true, - "hide": true, - "maximize": true, - "minimize": true, - "print": true, - "requestUserAttention": true, - "setAlwaysOnTop": true, - "setClosable": true, - "setCursorGrab": true, - "setCursorIcon": true, - "setCursorPosition": true, - "setCursorVisible": true, - "setDecorations": true, - "setFocus": true, - "setFullscreen": true, - "setIcon": true, - "setIgnoreCursorEvents": true, - "setMaxSize": true, - "setMaximizable": true, - "setMinSize": true, - "setMinimizable": true, - "setPosition": true, - "setResizable": true, - "setSize": true, - "setSkipTaskbar": true, - "setTitle": true, - "show": true, - "startDragging": true, - "unmaximize": true, - "unminimize": true - } - }, + "app": { "windows": [ { - "title": "Sigma File Manager v2", + "label": "main", + "title": "sigma-file-manager", "width": 1280, "height": 720, "minWidth": 500, "minHeight": 300, - "fullscreen": false, "resizable": true, - "decorations": false + "fullscreen": false, + "decorations": false, + "shadow": true } ], - "systemTray": { - "iconPath": "icons/icon.png" + "security": { + "csp": null } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] } } \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index eef4e7d1..2431fd72 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,30 +4,11 @@ Copyright © 2021 - present Aleksey Hoffman. All rights reserved. --> @@ -41,17 +22,15 @@ init(); \ No newline at end of file + diff --git a/src/components/app/dynamic-text/DynamicText.vue b/src/components/app/dynamic-text/DynamicText.vue deleted file mode 100644 index 70c1c794..00000000 --- a/src/components/app/dynamic-text/DynamicText.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/app/filter-input/FilterInput.vue b/src/components/app/filter-input/FilterInput.vue deleted file mode 100644 index c9a02c98..00000000 --- a/src/components/app/filter-input/FilterInput.vue +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/app/nav-sidebar/NavSidebar.vue b/src/components/app/nav-sidebar/NavSidebar.vue deleted file mode 100644 index ddcf71f6..00000000 --- a/src/components/app/nav-sidebar/NavSidebar.vue +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/app/router-view/index.ts b/src/components/app/router-view/index.ts deleted file mode 100644 index d7595d27..00000000 --- a/src/components/app/router-view/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as RouterView} from './RouterView.vue'; \ No newline at end of file diff --git a/src/components/app/window-toolbar/WindowToolbarControls.vue b/src/components/app/window-toolbar/WindowToolbarControls.vue deleted file mode 100644 index 81a23119..00000000 --- a/src/components/app/window-toolbar/WindowToolbarControls.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/app/window-toolbar/index.ts b/src/components/app/window-toolbar/index.ts deleted file mode 100644 index 8f159034..00000000 --- a/src/components/app/window-toolbar/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as WindowToolbar} from './WindowToolbar.vue'; -export {default as WindowToolbarControls} from './WindowToolbarControls.vue'; \ No newline at end of file diff --git a/src/components/dashboard/action-toolbar/ActionToolbar.vue b/src/components/dashboard/action-toolbar/ActionToolbar.vue deleted file mode 100644 index 3cc41a46..00000000 --- a/src/components/dashboard/action-toolbar/ActionToolbar.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/dashboard/action-toolbar/index.ts b/src/components/dashboard/action-toolbar/index.ts deleted file mode 100644 index 87bb566b..00000000 --- a/src/components/dashboard/action-toolbar/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as ActionToolbar} from './ActionToolbar.vue'; \ No newline at end of file diff --git a/src/components/dashboard/content/index.ts b/src/components/dashboard/content/index.ts deleted file mode 100644 index aef88559..00000000 --- a/src/components/dashboard/content/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Content} from './Content.vue'; \ No newline at end of file diff --git a/src/components/dashboard/title/index.ts b/src/components/dashboard/title/index.ts deleted file mode 100644 index b87a9353..00000000 --- a/src/components/dashboard/title/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Title} from './Title.vue'; \ No newline at end of file diff --git a/src/components/extensions/action-toolbar/ActionToolbar.vue b/src/components/extensions/action-toolbar/ActionToolbar.vue deleted file mode 100644 index 3cc41a46..00000000 --- a/src/components/extensions/action-toolbar/ActionToolbar.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/extensions/action-toolbar/index.ts b/src/components/extensions/action-toolbar/index.ts deleted file mode 100644 index 87bb566b..00000000 --- a/src/components/extensions/action-toolbar/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as ActionToolbar} from './ActionToolbar.vue'; \ No newline at end of file diff --git a/src/components/extensions/content/index.ts b/src/components/extensions/content/index.ts deleted file mode 100644 index aef88559..00000000 --- a/src/components/extensions/content/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Content} from './Content.vue'; \ No newline at end of file diff --git a/src/components/extensions/title/index.ts b/src/components/extensions/title/index.ts deleted file mode 100644 index b87a9353..00000000 --- a/src/components/extensions/title/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Title} from './Title.vue'; \ No newline at end of file diff --git a/src/components/home/action-toolbar/ActionToolbar.vue b/src/components/home/action-toolbar/ActionToolbar.vue deleted file mode 100644 index 3cc41a46..00000000 --- a/src/components/home/action-toolbar/ActionToolbar.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/home/action-toolbar/index.ts b/src/components/home/action-toolbar/index.ts deleted file mode 100644 index 87bb566b..00000000 --- a/src/components/home/action-toolbar/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as ActionToolbar} from './ActionToolbar.vue'; \ No newline at end of file diff --git a/src/components/home/content/index.ts b/src/components/home/content/index.ts deleted file mode 100644 index aef88559..00000000 --- a/src/components/home/content/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Content} from './Content.vue'; \ No newline at end of file diff --git a/src/components/navigator/action-toolbar/ActionToolbar.vue b/src/components/navigator/action-toolbar/ActionToolbar.vue deleted file mode 100644 index ef43d9d8..00000000 --- a/src/components/navigator/action-toolbar/ActionToolbar.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/navigator/action-toolbar/index.ts b/src/components/navigator/action-toolbar/index.ts deleted file mode 100644 index 87bb566b..00000000 --- a/src/components/navigator/action-toolbar/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as ActionToolbar} from './ActionToolbar.vue'; \ No newline at end of file diff --git a/src/components/navigator/content-pane/ContentPane.vue b/src/components/navigator/content-pane/ContentPane.vue deleted file mode 100644 index 3bbf5c2a..00000000 --- a/src/components/navigator/content-pane/ContentPane.vue +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/content-pane/index.ts b/src/components/navigator/content-pane/index.ts deleted file mode 100644 index ff3307a5..00000000 --- a/src/components/navigator/content-pane/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as ContentPane} from './ContentPane.vue'; \ No newline at end of file diff --git a/src/components/navigator/content/Content.vue b/src/components/navigator/content/Content.vue deleted file mode 100644 index e4fe6f7f..00000000 --- a/src/components/navigator/content/Content.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/content/index.ts b/src/components/navigator/content/index.ts deleted file mode 100644 index aef88559..00000000 --- a/src/components/navigator/content/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Content} from './Content.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry-section/DirEntrySection.vue b/src/components/navigator/dir-entry-section/DirEntrySection.vue deleted file mode 100644 index c66fb804..00000000 --- a/src/components/navigator/dir-entry-section/DirEntrySection.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry-section/grid/DirEntryGridSection.vue b/src/components/navigator/dir-entry-section/grid/DirEntryGridSection.vue deleted file mode 100644 index cf8745c0..00000000 --- a/src/components/navigator/dir-entry-section/grid/DirEntryGridSection.vue +++ /dev/null @@ -1,300 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry-section/grid/index.ts b/src/components/navigator/dir-entry-section/grid/index.ts deleted file mode 100644 index 1cf13050..00000000 --- a/src/components/navigator/dir-entry-section/grid/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryGridSection} from './DirEntryGridSection.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry-section/index.ts b/src/components/navigator/dir-entry-section/index.ts deleted file mode 100644 index 6594efc2..00000000 --- a/src/components/navigator/dir-entry-section/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntrySection} from './DirEntrySection.vue'; -export {DirEntryListSection} from './list'; -export {DirEntryGridSection} from './grid'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry-section/list/DirEntryListSection.vue b/src/components/navigator/dir-entry-section/list/DirEntryListSection.vue deleted file mode 100644 index 8bc559ed..00000000 --- a/src/components/navigator/dir-entry-section/list/DirEntryListSection.vue +++ /dev/null @@ -1,301 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry-section/list/index.ts b/src/components/navigator/dir-entry-section/list/index.ts deleted file mode 100644 index d0b1102b..00000000 --- a/src/components/navigator/dir-entry-section/list/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryListSection} from './DirEntryListSection.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/base/DirEntryBase.vue b/src/components/navigator/dir-entry/base/DirEntryBase.vue deleted file mode 100644 index dd8452be..00000000 --- a/src/components/navigator/dir-entry/base/DirEntryBase.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/base/index.ts b/src/components/navigator/dir-entry/base/index.ts deleted file mode 100644 index 0271b307..00000000 --- a/src/components/navigator/dir-entry/base/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryBase} from './DirEntryBase.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/divider/DirEntryDivider.vue b/src/components/navigator/dir-entry/divider/DirEntryDivider.vue deleted file mode 100644 index c49df538..00000000 --- a/src/components/navigator/dir-entry/divider/DirEntryDivider.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/divider/index.ts b/src/components/navigator/dir-entry/divider/index.ts deleted file mode 100644 index 7f46dd76..00000000 --- a/src/components/navigator/dir-entry/divider/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryDivider} from './DirEntryDivider.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/grid-dir/DirEntryGridDir.vue b/src/components/navigator/dir-entry/grid-dir/DirEntryGridDir.vue deleted file mode 100644 index e255c794..00000000 --- a/src/components/navigator/dir-entry/grid-dir/DirEntryGridDir.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/grid-dir/index.ts b/src/components/navigator/dir-entry/grid-dir/index.ts deleted file mode 100644 index eb9499ac..00000000 --- a/src/components/navigator/dir-entry/grid-dir/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryGridDir} from './DirEntryGridDir.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/grid-file/DirEntryGridFile.vue b/src/components/navigator/dir-entry/grid-file/DirEntryGridFile.vue deleted file mode 100644 index a8ed0a76..00000000 --- a/src/components/navigator/dir-entry/grid-file/DirEntryGridFile.vue +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/grid-file/index.ts b/src/components/navigator/dir-entry/grid-file/index.ts deleted file mode 100644 index a639b36d..00000000 --- a/src/components/navigator/dir-entry/grid-file/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryGridFile} from './DirEntryGridFile.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/index.ts b/src/components/navigator/dir-entry/index.ts deleted file mode 100644 index f36f4164..00000000 --- a/src/components/navigator/dir-entry/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {DirEntryBase} from './base'; -export {DirEntryGridDir} from './grid-dir'; -export {DirEntryGridFile} from './grid-file'; -export {DirEntryListDir} from './list-dir'; -export {DirEntryListFile} from './list-file'; -export {DirEntrySpacer} from './spacer'; -export {DirEntryDivider} from './divider'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/list-dir/DirEntryListDir.vue b/src/components/navigator/dir-entry/list-dir/DirEntryListDir.vue deleted file mode 100644 index fd8d2a2f..00000000 --- a/src/components/navigator/dir-entry/list-dir/DirEntryListDir.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/list-dir/index.ts b/src/components/navigator/dir-entry/list-dir/index.ts deleted file mode 100644 index 5a2cbd4d..00000000 --- a/src/components/navigator/dir-entry/list-dir/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryListDir} from './DirEntryListDir.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/list-file/DirEntryListFile.vue b/src/components/navigator/dir-entry/list-file/DirEntryListFile.vue deleted file mode 100644 index 1e8ff60d..00000000 --- a/src/components/navigator/dir-entry/list-file/DirEntryListFile.vue +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/list-file/index.ts b/src/components/navigator/dir-entry/list-file/index.ts deleted file mode 100644 index ccab59fb..00000000 --- a/src/components/navigator/dir-entry/list-file/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntryListFile} from './DirEntryListFile.vue'; \ No newline at end of file diff --git a/src/components/navigator/dir-entry/spacer/DirEntrySpacer.vue b/src/components/navigator/dir-entry/spacer/DirEntrySpacer.vue deleted file mode 100644 index 043b1281..00000000 --- a/src/components/navigator/dir-entry/spacer/DirEntrySpacer.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/dir-entry/spacer/index.ts b/src/components/navigator/dir-entry/spacer/index.ts deleted file mode 100644 index 641c2ae0..00000000 --- a/src/components/navigator/dir-entry/spacer/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as DirEntrySpacer} from './DirEntrySpacer.vue'; \ No newline at end of file diff --git a/src/components/navigator/info-panel/InfoPanel.vue b/src/components/navigator/info-panel/InfoPanel.vue deleted file mode 100644 index 5d55eedf..00000000 --- a/src/components/navigator/info-panel/InfoPanel.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/info-panel/header/index.ts b/src/components/navigator/info-panel/header/index.ts deleted file mode 100644 index 3e25cce9..00000000 --- a/src/components/navigator/info-panel/header/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as InfoPanelHeader} from './InfoPanelHeader.vue'; \ No newline at end of file diff --git a/src/components/navigator/info-panel/index.ts b/src/components/navigator/info-panel/index.ts deleted file mode 100644 index ca3c4154..00000000 --- a/src/components/navigator/info-panel/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as InfoPanel} from './InfoPanel.vue'; -export {InfoPanelHeader} from './header'; -export {InfoPanelPreview} from './preview'; -export {InfoPanelProperties} from './properties'; \ No newline at end of file diff --git a/src/components/navigator/info-panel/preview/InfoPanelPreview.vue b/src/components/navigator/info-panel/preview/InfoPanelPreview.vue deleted file mode 100644 index 3d1f5f27..00000000 --- a/src/components/navigator/info-panel/preview/InfoPanelPreview.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/info-panel/preview/index.ts b/src/components/navigator/info-panel/preview/index.ts deleted file mode 100644 index cd9f5c0c..00000000 --- a/src/components/navigator/info-panel/preview/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as InfoPanelPreview} from './InfoPanelPreview.vue'; \ No newline at end of file diff --git a/src/components/navigator/info-panel/properties/InfoPanelProperties.vue b/src/components/navigator/info-panel/properties/InfoPanelProperties.vue deleted file mode 100644 index b21c305e..00000000 --- a/src/components/navigator/info-panel/properties/InfoPanelProperties.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/info-panel/properties/index.ts b/src/components/navigator/info-panel/properties/index.ts deleted file mode 100644 index ba52b36f..00000000 --- a/src/components/navigator/info-panel/properties/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as InfoPanelProperties} from './InfoPanelProperties.vue'; \ No newline at end of file diff --git a/src/components/navigator/tab-bar/TabBar.vue b/src/components/navigator/tab-bar/TabBar.vue deleted file mode 100644 index 821e6062..00000000 --- a/src/components/navigator/tab-bar/TabBar.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/tab-bar/index.ts b/src/components/navigator/tab-bar/index.ts deleted file mode 100644 index 0c6b98b3..00000000 --- a/src/components/navigator/tab-bar/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as TabBar} from './TabBar.vue'; -export {Tab} from './tab'; -export {TabDraggable} from './tab-draggable'; \ No newline at end of file diff --git a/src/components/navigator/tab-bar/tab-draggable/index.ts b/src/components/navigator/tab-bar/tab-draggable/index.ts deleted file mode 100644 index 5dfb0db9..00000000 --- a/src/components/navigator/tab-bar/tab-draggable/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as TabDraggable} from './TabDraggable.vue'; \ No newline at end of file diff --git a/src/components/navigator/tab-bar/tab/Tab.vue b/src/components/navigator/tab-bar/tab/Tab.vue deleted file mode 100644 index 1089f9e5..00000000 --- a/src/components/navigator/tab-bar/tab/Tab.vue +++ /dev/null @@ -1,186 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/tab-bar/tab/index.ts b/src/components/navigator/tab-bar/tab/index.ts deleted file mode 100644 index 0e53182d..00000000 --- a/src/components/navigator/tab-bar/tab/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Tab} from './Tab.vue'; \ No newline at end of file diff --git a/src/components/navigator/workspace-toolbar/WorkspaceToolbar.vue b/src/components/navigator/workspace-toolbar/WorkspaceToolbar.vue deleted file mode 100644 index 8f5224ef..00000000 --- a/src/components/navigator/workspace-toolbar/WorkspaceToolbar.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/navigator/workspace-toolbar/index.ts b/src/components/navigator/workspace-toolbar/index.ts deleted file mode 100644 index 63e802f5..00000000 --- a/src/components/navigator/workspace-toolbar/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as WorkspaceToolbar} from './WorkspaceToolbar.vue'; \ No newline at end of file diff --git a/src/components/settings/action-toolbar/ActionToolbar.vue b/src/components/settings/action-toolbar/ActionToolbar.vue deleted file mode 100644 index 3cc41a46..00000000 --- a/src/components/settings/action-toolbar/ActionToolbar.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/settings/action-toolbar/index.ts b/src/components/settings/action-toolbar/index.ts deleted file mode 100644 index 87bb566b..00000000 --- a/src/components/settings/action-toolbar/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as ActionToolbar} from './ActionToolbar.vue'; \ No newline at end of file diff --git a/src/components/settings/content/index.ts b/src/components/settings/content/index.ts deleted file mode 100644 index aef88559..00000000 --- a/src/components/settings/content/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Content} from './Content.vue'; \ No newline at end of file diff --git a/src/components/settings/header/index.ts b/src/components/settings/header/index.ts deleted file mode 100644 index 4564916f..00000000 --- a/src/components/settings/header/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -// License: GNU GPLv3 or later. See the license file in the project root for more information. -// Copyright © 2021 - present Aleksey Hoffman. All rights reserved. - -export {default as Header} from './Header.vue'; \ No newline at end of file diff --git a/src/components/ui/button/Button.vue b/src/components/ui/button/Button.vue index 7dd6abb7..13fa6f82 100644 --- a/src/components/ui/button/Button.vue +++ b/src/components/ui/button/Button.vue @@ -4,95 +4,176 @@ Copyright © 2021 - present Aleksey Hoffman. All rights reserved. --> + + diff --git a/src/components/ui/button/index.ts b/src/components/ui/button/index.ts index e9c8f71a..282ba72d 100644 --- a/src/components/ui/button/index.ts +++ b/src/components/ui/button/index.ts @@ -2,4 +2,36 @@ // License: GNU GPLv3 or later. See the license file in the project root for more information. // Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -export {default as Button} from './Button.vue'; \ No newline at end of file +import { type VariantProps, cva } from 'class-variance-authority'; + +export { default as Button } from './button.vue'; + +export const buttonVariants = cva( + 'sigma-ui-button', + { + variants: { + variant: { + default: 'sigma-ui-button--default', + destructive: 'sigma-ui-button--destructive', + outline: 'sigma-ui-button--outline', + secondary: 'sigma-ui-button--secondary', + tertiary: 'sigma-ui-button--tertiary', + ghost: 'sigma-ui-button--ghost', + link: 'sigma-ui-button--link', + }, + size: { + default: 'sigma-ui-button--size-default', + xs: 'sigma-ui-button--size-xs', + sm: 'sigma-ui-button--size-sm', + lg: 'sigma-ui-button--size-lg', + icon: 'sigma-ui-button--size-icon', + }, + }, + defaultVariants: { + variant: 'default', + size: 'default', + }, + }, +); + +export type ButtonVariants = VariantProps; diff --git a/src/components/home/content/Content.vue b/src/components/ui/card/card-content.vue similarity index 65% rename from src/components/home/content/Content.vue rename to src/components/ui/card/card-content.vue index f27f4170..0fac3666 100644 --- a/src/components/home/content/Content.vue +++ b/src/components/ui/card/card-content.vue @@ -4,17 +4,20 @@ Copyright © 2021 - present Aleksey Hoffman. All rights reserved. -->