From af044bca82a265d58cf23161ffbe070757869ddc Mon Sep 17 00:00:00 2001 From: FTCHD Date: Wed, 22 Jan 2025 14:47:24 +0200 Subject: [PATCH] build status: failing --- .env.example | 5 + .gitignore | 32 + .vscode/extensions.json | 3 + README.md | 64 + biome.json | 60 + index.html | 29 + lib/format.ts | 28 + lib/fs.ts | 15 + lib/menu.ts | 358 + lib/rclone.ts | 514 ++ lib/store.ts | 126 + lib/tray.ts | 82 + lib/window.ts | 125 + main.ts | 100 + package-lock.json | 6458 +++++++++++++++++ package.json | 58 + postcss.config.js | 6 + public/browse.html | 495 ++ public/out.js | 3 + public/tauri.svg | 6 + public/tray.html | 9 + public/vite.svg | 1 + scripts/buildExternal.js | 60 + src-tauri/.gitignore | 4 + src-tauri/Cargo.lock | 6430 ++++++++++++++++ src-tauri/Cargo.toml | 43 + src-tauri/Entitlements.plist | 8 + src-tauri/Info.plist | 12 + src-tauri/_e.plist | 16 + src-tauri/_i.plist | 16 + src-tauri/binaries/.gitkeep | 0 src-tauri/build.rs | 3 + src-tauri/capabilities/default.json | 222 + src-tauri/icons/128x128.png | Bin 0 -> 10259 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 21890 bytes src-tauri/icons/32x32.png | Bin 0 -> 2060 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 8426 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 11598 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 12310 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 25817 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1932 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 28655 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 3044 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 5266 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 6727 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 3578 bytes .../icons/favicon/frame_00_delay-0.1s.png | Bin 0 -> 384 bytes .../icons/favicon/frame_01_delay-0.1s.png | Bin 0 -> 381 bytes .../icons/favicon/frame_02_delay-0.1s.png | Bin 0 -> 382 bytes .../icons/favicon/frame_03_delay-0.1s.png | Bin 0 -> 383 bytes .../icons/favicon/frame_04_delay-0.1s.png | Bin 0 -> 382 bytes .../icons/favicon/frame_05_delay-0.1s.png | Bin 0 -> 378 bytes .../icons/favicon/frame_06_delay-0.1s.png | Bin 0 -> 385 bytes .../icons/favicon/frame_07_delay-0.1s.png | Bin 0 -> 384 bytes .../icons/favicon/frame_08_delay-0.1s.png | Bin 0 -> 381 bytes .../icons/favicon/frame_09_delay-0.1s.png | Bin 0 -> 380 bytes .../icons/favicon/frame_10_delay-0.1s.png | Bin 0 -> 379 bytes .../icons/favicon/frame_11_delay-0.1s.png | Bin 0 -> 378 bytes .../icons/favicon/frame_12_delay-0.1s.png | Bin 0 -> 378 bytes .../icons/favicon/frame_13_delay-0.1s.png | Bin 0 -> 378 bytes .../icons/favicon/frame_14_delay-0.1s.png | Bin 0 -> 379 bytes .../icons/favicon/frame_15_delay-0.1s.png | Bin 0 -> 378 bytes .../icons/favicon/frame_16_delay-0.1s.png | Bin 0 -> 380 bytes .../icons/favicon/frame_17_delay-0.1s.png | Bin 0 -> 384 bytes src-tauri/icons/icon.icns | Bin 0 -> 236476 bytes src-tauri/icons/icon.ico | Bin 0 -> 39352 bytes src-tauri/icons/icon.png | Bin 0 -> 13117 bytes src-tauri/src/lib.rs | 106 + src-tauri/src/main.rs | 7 + src-tauri/tauri.conf.json | 84 + src/assets/favicon.ico | Bin 0 -> 4581 bytes src/assets/react.svg | 1 + src/components/OptionsSection.tsx | 151 + src/components/PathFinder.tsx | 311 + src/components/RemoteCreateDrawer.tsx | 316 + src/components/RemoteDefaultsDrawer.tsx | 539 ++ src/components/RemoteEditDrawer.tsx | 282 + src/components/TauriWatcher.tsx | 6 + src/global.css | 22 + src/main.tsx | 72 + src/pages/Copy.tsx | 204 + src/pages/Home.tsx | 11 + src/pages/Jobs.tsx | 159 + src/pages/Mount.tsx | 253 + src/pages/Settings.tsx | 156 + src/pages/Sync.tsx | 189 + src/pages/Test.tsx | 52 + src/vite-env.d.ts | 1 + tailwind.config.js | 14 + tsconfig.json | 25 + tsconfig.node.json | 10 + types/rclone.d.ts | 26 + vite.config.ts | 37 + 93 files changed, 18425 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 biome.json create mode 100644 index.html create mode 100644 lib/format.ts create mode 100644 lib/fs.ts create mode 100644 lib/menu.ts create mode 100644 lib/rclone.ts create mode 100644 lib/store.ts create mode 100644 lib/tray.ts create mode 100644 lib/window.ts create mode 100644 main.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/browse.html create mode 100644 public/out.js create mode 100644 public/tauri.svg create mode 100644 public/tray.html create mode 100644 public/vite.svg create mode 100644 scripts/buildExternal.js create mode 100644 src-tauri/.gitignore create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/Entitlements.plist create mode 100644 src-tauri/Info.plist create mode 100644 src-tauri/_e.plist create mode 100644 src-tauri/_i.plist create mode 100644 src-tauri/binaries/.gitkeep create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/favicon/frame_00_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_01_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_02_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_03_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_04_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_05_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_06_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_07_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_08_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_09_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_10_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_11_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_12_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_13_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_14_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_15_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_16_delay-0.1s.png create mode 100644 src-tauri/icons/favicon/frame_17_delay-0.1s.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/src/lib.rs create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/assets/favicon.ico create mode 100644 src/assets/react.svg create mode 100644 src/components/OptionsSection.tsx create mode 100644 src/components/PathFinder.tsx create mode 100644 src/components/RemoteCreateDrawer.tsx create mode 100644 src/components/RemoteDefaultsDrawer.tsx create mode 100644 src/components/RemoteEditDrawer.tsx create mode 100644 src/components/TauriWatcher.tsx create mode 100644 src/global.css create mode 100644 src/main.tsx create mode 100644 src/pages/Copy.tsx create mode 100644 src/pages/Home.tsx create mode 100644 src/pages/Jobs.tsx create mode 100644 src/pages/Mount.tsx create mode 100644 src/pages/Settings.tsx create mode 100644 src/pages/Sync.tsx create mode 100644 src/pages/Test.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 types/rclone.d.ts create mode 100644 vite.config.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..77c8713 --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +# TAURI_DEV_HOST="0.0.0.0" # needed on macOS +APPLE_SIGNING_IDENTITY= +APPLE_ID= +APPLE_PASSWORD= +APPLE_TEAM_ID= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ec321e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +.env* +!.env.example +.cursorignore +.work +.work/* +src-tauri/binaries/* +!src-tauri/binaries/.gitkeep \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..24d7cc6 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..28e3c23 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Issue & Goal +- opening the app in release mode does not show the tray icon or do anything +- tauri looks to be working and sending the `applicationDidFinishLaunching` event but nothing happens +- the goal is to have this run on macOS (no sandboxing needed) + + +# Notes +### Overall +- you will have to download the `rclone` binary from the [rclone website](https://rclone.org/downloads/) and put it in the `src-tauri/binaries` directory. if you already have rclone installed, it will be used instead of the binary. +- the main window runs the `main.ts` file that's at the project root, it is not related to the vite app. it gets compiled by the `buildExternal.js` script and added to the vite bundle through the `public` directory. +- sometimes `rclone` binary does not start correctly and the loading tray icons is stuck forever, i'd like to solve that too but this is more of a notice to restart the app if that happens + +### Tauri Info +[✔] Environment + - OS: Mac OS 14.7.2 arm64 (X64) + ✔ Xcode Command Line Tools: installed + ✔ rustc: 1.82.0 (f6e511eec 2024-10-15) + ✔ cargo: 1.82.0 (8f40fc59f 2024-08-21) + ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24) + ✔ Rust toolchain: stable-aarch64-apple-darwin (default) + - node: 20.8.1 + - npm: 10.1.0 + +[-] Packages + - tauri 🦀: 2.2.0 + - tauri-build 🦀: 2.0.4 + - wry 🦀: 0.48.0 + - tao 🦀: 0.31.1 + - @tauri-apps/api : 2.2.0 + - @tauri-apps/cli : 2.2.5 + +[-] Plugins + - tauri-plugin-log 🦀: 2.2.0 + - @tauri-apps/plugin-log : 2.2.0 + - tauri-plugin-notification 🦀: 2.2.0 + - @tauri-apps/plugin-notification : 2.2.1 + - tauri-plugin-process 🦀: 2.2.0 + - @tauri-apps/plugin-process : 2.2.0 + - tauri-plugin-http 🦀: 2.2.0 + - @tauri-apps/plugin-http : 2.2.0 + - tauri-plugin-store 🦀: 2.2.0 + - @tauri-apps/plugin-store : 2.2.0 + - tauri-plugin-os 🦀: 2.2.0 + - @tauri-apps/plugin-os : 2.2.0 + - tauri-plugin-shell 🦀: 2.2.0 + - @tauri-apps/plugin-shell : 2.2.0 + - tauri-plugin-single-instance 🦀: 2.2.0 + - @tauri-apps/plugin-single-instance : not installed! + - tauri-plugin-dialog 🦀: 2.2.0 + - @tauri-apps/plugin-dialog : 2.2.0 + - tauri-plugin-fs 🦀: 2.2.0 + - @tauri-apps/plugin-fs : 2.2.0 + - tauri-plugin-opener 🦀: 2.2.3 + - @tauri-apps/plugin-opener : 2.2.5 + - tauri-plugin-positioner 🦀: 2.2.0 + - @tauri-apps/plugin-positioner : 2.2.0 + +[-] App + - build-type: bundle + - CSP: unset + - frontendDist: ../dist + - devUrl: http://localhost:1420/ + - framework: React + - bundler: Vite \ No newline at end of file diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..7dad501 --- /dev/null +++ b/biome.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "a11y": { + "all": true, + "noSvgWithoutTitle": "off" + }, + "complexity": { + "all": true, + "noUselessTypeConstraint": "off", + "useSimplifiedLogicExpression": "off" + }, + "correctness": { + "all": true + }, + "performance": { + "all": true + }, + "security": { + "all": true + }, + "style": { + "all": true, + "useTemplate": "off", + "noNonNullAssertion": "off", + "useBlockStatements": "off", + "noInferrableTypes": "off", + "noDefaultExport": "off", + "useNamingConvention": "off", + "useForOf": "off" + }, + "suspicious": { + "all": false + } + }, + "ignore": ["node_modules/*", "dist/*", ".work/*", "*.js"] + }, + "formatter": { + "enabled": true, + "formatWithErrors": true, + "indentStyle": "space", + "indentWidth": 4, + "lineWidth": 100, + "ignore": ["node_modules/*", "dist/*", ".work/*"] + }, + "javascript": { + "formatter": { + "quoteStyle": "single", + "quoteProperties": "preserve", + "trailingComma": "es5", + "semicolons": "asNeeded" + }, + "globals": ["it", "describe", "expect", "test"] + } +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..3072edd --- /dev/null +++ b/index.html @@ -0,0 +1,29 @@ + + + + + + + Rclone UI + + + + + +
+ + + diff --git a/lib/format.ts b/lib/format.ts new file mode 100644 index 0000000..0906127 --- /dev/null +++ b/lib/format.ts @@ -0,0 +1,28 @@ +export function formatBytes(bytes: number) { + // format bytes in to a readable format like (MB, GB, etc), depending on how big the number is + if (bytes < 1024) { + return `${bytes} B` + } + + if (bytes < 1024 * 1024) { + return `${(bytes / 1024).toFixed(2)} KB` + } + + if (bytes < 1024 * 1024 * 1024) { + return `${(bytes / 1024 / 1024).toFixed(2)} MB` + } + + return `${(bytes / 1024 / 1024 / 1024).toFixed(2)} GB` +} + +export function replaceSmartQuotes(value: string) { + const replacements: { [key: string]: string } = { + '‘': "'", + '’': "'", + '‚': "'", + '“': '"', + '”': '"', + '„': '"', + } + return value.replace(/[‘’‚“”„]/g, (match) => replacements[match]) +} diff --git a/lib/fs.ts b/lib/fs.ts new file mode 100644 index 0000000..8418aff --- /dev/null +++ b/lib/fs.ts @@ -0,0 +1,15 @@ +import { readDir } from '@tauri-apps/plugin-fs' + +export async function isDirectoryEmpty(path: string): Promise { + try { + const entries = await readDir(path) + return entries.length === 0 + } catch (err) { + console.error('Error checking directory:', err) + return false + } +} + +export function isRemotePath(path: string): boolean { + return path.includes(':/') && !path.startsWith('/') +} diff --git a/lib/menu.ts b/lib/menu.ts new file mode 100644 index 0000000..69fed12 --- /dev/null +++ b/lib/menu.ts @@ -0,0 +1,358 @@ +import { Menu, MenuItem, PredefinedMenuItem, Submenu } from '@tauri-apps/api/menu' +import { ask, confirm, message, open } from '@tauri-apps/plugin-dialog' +import { isPermissionGranted, requestPermission } from '@tauri-apps/plugin-notification' +import { sendNotification } from '@tauri-apps/plugin-notification' +import { revealItemInDir } from '@tauri-apps/plugin-opener' +import { exit } from '@tauri-apps/plugin-process' +import { isDirectoryEmpty } from './fs' +import { deleteRemote, mountRemote, unmountRemote } from './rclone' +import { usePersistedStore, useStore } from './store' +import { getLoadingTray, getMainTray } from './tray' +import { lockWindows, openFullWindow, openTrayWindow, openWindow, unlockWindows } from './window' + +// Function to rebuild and update the menu +export async function buildMenu() { + const storeState = useStore.getState() + + const persistedStoreState = usePersistedStore.getState() + + const remotes = storeState.remotes + + const menuItems: (MenuItem | Submenu | PredefinedMenuItem)[] = [] + + // Add remote submenus + for (const remote of remotes) { + const remoteConfig = persistedStoreState.remoteConfigList?.[remote] + if (remoteConfig?.hideTray) { + continue + } + + const submenuItems: (MenuItem | Submenu | PredefinedMenuItem)[] = [] + + const alreadyMounted = storeState.mountedRemotes[remote] + + if (alreadyMounted) { + const unmountMenuItem = await MenuItem.new({ + id: `unmount-${remote}`, + text: 'Unmount', + action: async () => { + try { + const mountPoint = storeState.mountedRemotes[remote] + if (!mountPoint) { + console.error(`No mount point found for remote ${remote}`) + return + } + await unmountRemote(mountPoint) + delete storeState.mountedRemotes[remote] + // await rebuildTrayMenu() + await message(`Successfully unmounted ${remote} from ${mountPoint}`, { + title: 'Unmount Success', + }) + } catch (err) { + console.error('Unmount operation failed:', err) + await message(`Failed to unmount ${remote}: ${err}`, { + title: 'Unmount Error', + }) + } + }, + }) + submenuItems.push(unmountMenuItem) + + // Add "Open in Finder" option for mounted remotes + const mountPoint = storeState.mountedRemotes[remote] + console.log('Adding Open in Finder', mountPoint) + const openInFinderItem = await MenuItem.new({ + id: `open-${remote}`, + + text: 'Open in Finder', + action: async () => { + console.log('Open in Finder') + console.log(mountPoint) + if (mountPoint) { + console.log('Opening in Finder') + await revealItemInDir(mountPoint) + console.log('Opened in Finder') + } + }, + }) + submenuItems.push(openInFinderItem) + } + + if (!alreadyMounted && !remoteConfig?.disabledActions?.includes('mount')) { + const mountMenuItem = await MenuItem.new({ + id: `mount-${remote}`, + text: 'Quick Mount', + action: async () => { + await getMainTray().then((t) => t?.setVisible(false)) + + await getLoadingTray().then((t) => t?.setVisible(true)) + + try { + await lockWindows() + + let selectedPath = remoteConfig.defaultMountPoint || null + + if (!selectedPath) { + selectedPath = await open({ + title: `Select a directory to mount "${remote}"`, + multiple: false, + directory: true, + }) + } + + if (!selectedPath) { + // await resetMainWindow() + return + } + + console.log('selectedPath', selectedPath) + + // Check if directory is empty + const isEmpty = await isDirectoryEmpty(selectedPath) + if (!isEmpty) { + // await resetMainWindow() + + await message( + 'The selected directory must be empty to mount a remote.', + { + title: 'Mount Error', + kind: 'error', + } + ) + + return + } + + // Mount the remote + await mountRemote({ + remotePath: `${remote}:${remoteConfig.defaultRemotePath || ''}`, + mountPoint: selectedPath, + mountOptions: remoteConfig.mountDefaults, + vfsOptions: remoteConfig.vfsDefaults, + }) + storeState.mountedRemotes[remote] = selectedPath + + // await rebuildTrayMenu() + + let permissionGranted = await isPermissionGranted() + + if (!permissionGranted) { + const permission = await requestPermission() + permissionGranted = permission === 'granted' + } + + if (permissionGranted) { + sendNotification({ + title: 'Mounted', + body: `Successfully mounted ${remote} to ${selectedPath}`, + }) + } + + if (!remoteConfig.defaultMountPoint) { + const answer = await ask( + `Mount successful! Do you want to set ${selectedPath} as the default mount point for ${remote}? You can always change it later in Remote settings.`, + { + title: 'Set Default?', + okLabel: 'Set', + cancelLabel: 'Cancel', + } + ) + if (answer) { + usePersistedStore.setState((state) => ({ + remoteConfigList: { + ...state.remoteConfigList, + [remote]: { + ...state.remoteConfigList[remote], + defaultMountPoint: selectedPath, + }, + }, + })) + } + } + } catch (err) { + // await resetMainWindow() + console.error('Mount operation failed:', err) + await message(`Failed to mount ${remote}: ${err}`, { + title: 'Mount Error', + }) + } finally { + await unlockWindows() + await getLoadingTray().then((t) => t?.setVisible(false)) + await getMainTray().then((t) => t?.setVisible(true)) + } + }, + }) + + submenuItems.push(mountMenuItem) + } + + if (!remoteConfig?.disabledActions?.includes('browse')) { + const browseMenuItem = await MenuItem.new({ + id: `browse-${remote}`, + text: 'Browse', + action: async () => { + // await openBrowser(`http://localhost:5572/[${remote}:]/`) + await openFullWindow({ + name: 'Browse', + // url: 'browse.html?url=https%3A%2F%2Fwww.google.com%2F', + url: + 'browse.html?url=' + + encodeURIComponent(`http://localhost:5572/[${remote}:]/`), + }) + }, + }) + submenuItems.push(browseMenuItem) + } + + if (!remoteConfig?.disabledActions?.includes('remove')) { + const removeMenuItem = await MenuItem.new({ + id: `remove-${remote}`, + text: 'Remove', + action: async () => { + const confirmation = await confirm( + `Are you sure you want to remove ${remote}? This action cannot be reverted.`, + { title: `Removing ${remote}`, kind: 'warning' } + ) + + if (!confirmation) { + return + } + + await deleteRemote(remote) + // await rebuildTrayMenu() + }, + }) + submenuItems.push(removeMenuItem) + } + + const sub = await Submenu.new({ + items: submenuItems, + text: remote, + }) + + menuItems.push(sub) + } + + await PredefinedMenuItem.new({ + item: 'Separator', + }).then((item) => { + menuItems.push(item) + }) + + if (!persistedStoreState.disabledActions?.includes('mount')) { + const mountToMenuItem = await MenuItem.new({ + id: 'mount', + text: 'Mount', + action: async () => { + await openWindow({ + name: 'Mount', + url: '/mount', + }) + }, + }) + menuItems.push(mountToMenuItem) + } + + if (!persistedStoreState.disabledActions?.includes('copy')) { + const copyMenuItem = await MenuItem.new({ + id: 'copy', + text: 'Copy', + action: async () => { + await openWindow({ + name: 'Copy', + url: '/copy', + }) + }, + }) + menuItems.push(copyMenuItem) + } + + if (!persistedStoreState.disabledActions?.includes('sync')) { + const syncMenuItem = await MenuItem.new({ + id: 'sync', + text: 'Sync', + action: async () => { + await openWindow({ + name: 'Sync', + url: '/sync', + }) + }, + }) + menuItems.push(syncMenuItem) + } + + const jobsMenuItem = await MenuItem.new({ + id: 'jobs', + text: 'Jobs', + action: async () => { + await openTrayWindow({ + name: 'Jobs', + url: '/jobs', + }) + }, + }) + menuItems.push(jobsMenuItem) + + await PredefinedMenuItem.new({ + item: 'Separator', + }).then((item) => { + menuItems.push(item) + }) + + const settingsItem = await MenuItem.new({ + id: 'settings', + text: 'Settings', + action: async () => { + await openWindow({ + name: 'Settings', + url: '/settings', + }) + }, + }) + + menuItems.push(settingsItem) + + const quitItem = await MenuItem.new({ + id: 'quit', + text: 'Quit', + action: async () => { + await exit(0) + }, + }) + + menuItems.push(quitItem) + + const testItem = await MenuItem.new({ + id: 'test', + text: 'Test', + action: async () => { + await openWindow({ + name: 'Test', + url: '/test', + width: 400, + height: 400, + }) + }, + }) + menuItems.push(testItem) + + const test2Item = await MenuItem.new({ + id: 'test2', + text: 'Test2', + action: async () => { + await openWindow({ + name: 'Test2', + url: '/test', + width: 400, + height: 400, + }) + }, + }) + menuItems.push(test2Item) + + return await Menu.new({ + id: 'main-menu', + + items: menuItems, + }) +} diff --git a/lib/rclone.ts b/lib/rclone.ts new file mode 100644 index 0000000..1b4646d --- /dev/null +++ b/lib/rclone.ts @@ -0,0 +1,514 @@ +import { ask } from '@tauri-apps/plugin-dialog' +import { fetch } from '@tauri-apps/plugin-http' +import { Command } from '@tauri-apps/plugin-shell' + +/* DATA */ + +export async function listRemotes() { + const r = await fetch('http://localhost:5572/config/listremotes', { + method: 'POST', + }).then((res) => res.json() as Promise<{ remotes: string[] }>) + // .catch((e) => { + // console.log("error", e); + // throw e; + // }); + + if (typeof r?.remotes === 'undefined') { + throw new Error('Failed to fetch remotes') + } + + return r.remotes +} + +export async function getRemote(remote: string) { + const r = await fetch(`http://localhost:5572/config/get?name=${remote}`, { + method: 'POST', + }).then( + (res) => res.json() as Promise<{ type: string } & Record> + ) + // .catch((e) => { + // console.log("error", e); + // throw e; + // }); + + console.log(JSON.stringify(r, null, 2)) + + return r +} + +export async function updateRemote( + remote: string, + parameters: Record +) { + console.log('updateRemote', remote, parameters) + + const options = new URLSearchParams() + options.set('name', remote) + options.set('parameters', JSON.stringify(parameters)) + + await fetch(`http://localhost:5572/config/update?${options.toString()}`, { + method: 'POST', + }) + + // console.log(JSON.stringify(r, null, 2)) +} + +export async function createRemote( + name: string, + type: string, + parameters: Record +) { + console.log('createRemote', name, type, parameters) + + const options = new URLSearchParams() + options.set('name', name) + options.set('type', type) + options.set('parameters', JSON.stringify(parameters)) + + await fetch(`http://localhost:5572/config/create?${options.toString()}`, { + method: 'POST', + }) + + // console.log(JSON.stringify(r, null, 2)) +} + +export async function deleteRemote(remote: string) { + await fetch(`http://localhost:5572/config/delete?name=${remote}`, { + method: 'POST', + }) + + // console.log(JSON.stringify(r, null, 2)) +} + +export async function getMountPoints() { + const r = await fetch('http://localhost:5572/mount/listmounts', { + method: 'POST', + }).then( + (res) => + res.json() as Promise<{ + mountPoints: string[] + }> + ) + + // console.log('Mount points:', r) + + if (!Array.isArray(r?.mountPoints)) { + throw new Error('Failed to get mount points') + } + + return r.mountPoints +} + +const SUPPORRTED_BACKENDS = ['sftp', 's3', 'b2', 'drive'] + +export async function getBackends() { + const providers = await fetch('http://localhost:5572/config/providers', { + method: 'POST', + }) + .then((res) => res.json() as Promise) + .then((r) => r.providers) + + return providers.filter((b: any) => SUPPORRTED_BACKENDS.includes(b.Name)) +} + +export interface ListOptions { + recurse?: boolean + noModTime?: boolean + showEncrypted?: boolean + showOrigIDs?: boolean + showHash?: boolean + noMimeType?: boolean + dirsOnly?: boolean + filesOnly?: boolean + metadata?: boolean + hashTypes?: string[] +} + +export async function listPath(remote: string, path: string = '', options: ListOptions = {}) { + const params = new URLSearchParams() + params.set('fs', `${remote}:`) + params.set('remote', path) + + // Add optional parameters + for (const [key, value] of Object.entries(options)) { + if (Array.isArray(value)) { + for (const v of value) { + params.append(key, v) + } + } else if (value !== undefined) { + params.set(key, value.toString()) + } + } + + const response = await fetch(`http://localhost:5572/operations/list?${params.toString()}`, { + method: 'POST', + }).then( + (res) => + res.json() as Promise<{ + list: { + Hashes?: Record + ID?: string + OrigID?: string + IsBucket?: boolean + IsDir: boolean + MimeType?: string + ModTime?: string + Name: string + Encrypted?: string + EncryptedPath?: string + Path: string + Size?: number + Tier?: string + }[] + }> + ) + + return response?.list || [] +} +/* JOBS */ + +export async function listJobs() { + const allStats = await fetch('http://localhost:5572/core/stats', { + method: 'POST', + }).then((res) => res.json() as any) + + const transferring = allStats?.transferring + + const transferredStats = await fetch('http://localhost:5572/core/transferred', { + method: 'POST', + }).then((res) => res.json() as any) + + const transferred = transferredStats?.transferred + + const jobs = { + active: [] as any[], + inactive: [] as any[], + } + + const activeJobIds = new Set( + transferring + ?.filter((t: any) => t.group.startsWith('job/')) + .map((t: any) => Number(t.group.split('/')[1])) + .sort((a: number, b: number) => a - b) + ) + + for (const jobId of activeJobIds) { + const job = await fetch(`http://localhost:5572/core/stats?group=job/${jobId}`, { + method: 'POST', + }).then((res) => res.json() as Promise) + + jobs.active.push({ + id: jobId, + bytes: job.bytes, + totalBytes: job.totalBytes, + speed: job.speed, + + done: job.bytes === job.totalBytes, + progress: Math.round((job.bytes / job.totalBytes) * 100), + fatal: job.fatalError, + + srcFs: transferred.find((t: any) => t.group === `job/${jobId}`)?.srcFs, + dstFs: transferred.find((t: any) => t.group === `job/${jobId}`)?.dstFs, + }) + } + + const inactiveJobIds = new Set( + transferred + ?.filter((t: any) => t.group.startsWith('job/')) + .map((t: any) => Number(t.group.split('/')[1])) + .filter((id: number) => !activeJobIds.has(id)) + .sort((a: number, b: number) => a - b) + ) + + for (const jobId of inactiveJobIds) { + const job = await fetch(`http://localhost:5572/core/stats?group=job/${jobId}`, { + method: 'POST', + }).then((res) => res.json() as Promise) + + jobs.inactive.push({ + id: jobId, + bytes: job.bytes, + totalBytes: job.totalBytes, + speed: 0, + + done: job.bytes === job.totalBytes, + progress: Math.round((job.bytes / job.totalBytes) * 100), + fatal: job.fatalError, + + srcFs: transferred.find((t: any) => t.group === `job/${jobId}`)?.srcFs, + dstFs: transferred.find((t: any) => t.group === `job/${jobId}`)?.dstFs, + }) + } + + return jobs +} + +export async function stopJob(jobId: number) { + await fetch(`http://localhost:5572/job/stopgroup?group=job/${jobId}`, { + method: 'POST', + }) +} + +/* OPERATIONS */ + +export async function mountRemote({ + remotePath, + mountPoint, + mountOptions, + vfsOptions, +}: { + remotePath: string + mountPoint: string + mountOptions?: Record + vfsOptions?: Record +}) { + const options = new URLSearchParams() + options.set('fs', remotePath) + options.set('mountPoint', mountPoint) + + if (mountOptions && Object.keys(mountOptions).length > 0) { + options.set('mountOpt', JSON.stringify(mountOptions)) + } + + if (vfsOptions && Object.keys(vfsOptions).length > 0) { + options.set('vfsOpt', JSON.stringify(vfsOptions)) + } + + const r = await fetch(`http://localhost:5572/mount/mount?${options.toString()}`, { + method: 'POST', + }).then((res) => res.json() as Promise<{ remotes: string[] } | Promise<{ error: string }>>) + + if ('error' in r) { + throw new Error(r.error) + } + + return +} + +export async function unmountRemote(mountPoint: string, force = false) { + const command = Command.create('umount', [force ? '-f' : '', mountPoint]) + + const output = await command.execute() + + // console.log('output') + // console.log(JSON.stringify(output, null, 2)) + + if (output.code !== 0) { + if (output.stderr.toLowerCase().includes('busy')) { + const answer = await ask('This resource is busy, do you want to force unmount?', { + title: 'Could not unmount', + kind: 'warning', + }) + if (answer) { + return await unmountRemote(mountPoint, true) + } + throw new Error(output.stderr) + } + + if (output.stderr.toLowerCase().includes('not currently mounted')) { + return + } + + throw new Error(output.stderr) + } + + return +} + +export async function startCopy({ + source, + dest, + copyOptions, + filterOptions, +}: { + source: string + dest: string + copyOptions: Record | undefined + filterOptions: Record | undefined +}) { + const params = new URLSearchParams() + params.set('srcFs', source) + params.set('dstFs', dest) + // params.set('b2_disable_checksum', 'true') + params.set('_async', 'true') + + console.log('params', params.toString()) + + if (copyOptions && Object.keys(copyOptions).length > 0) { + params.set('_config', JSON.stringify(copyOptions)) + } + console.log('copyOptions', copyOptions) + + if (filterOptions && Object.keys(filterOptions).length > 0) { + params.set('_filter', JSON.stringify(filterOptions)) + } + console.log('filterOptions', filterOptions) + + const r = await fetch(`http://localhost:5572/sync/copy?${params.toString()}`, { + method: 'POST', + }).then((res) => res.json() as Promise<{ jobid: string }>) + + console.log('Copy operation started:', r) + return + + // if (!r.jobid) { + // throw new Error("Failed to start copy job"); + // } + + // Monitor job status + // while (true) { + // const status = await fetch( + // `http://localhost:5572/job/status/${r.jobid}`, + // { + // method: "POST", + // }, + // ).then((res) => res.json() as Promise); + + // if (status.finished) { + // return status.success; + // } + + // // Wait a bit before checking again + // await new Promise((resolve) => setTimeout(resolve, 1000)); + // } +} + +export async function startSync({ + source, + dest, + syncOptions, + filterOptions, +}: { + source: string + dest: string + syncOptions: Record | undefined + filterOptions: Record | undefined +}) { + const params = new URLSearchParams() + params.set('srcFs', source) + params.set('dstFs', dest) + // params.set('b2_disable_checksum', 'true') + params.set('_async', 'true') + + console.log('params', params.toString()) + + if (syncOptions && Object.keys(syncOptions).length > 0) { + params.set('_config', JSON.stringify(syncOptions)) + } + console.log('syncOptions', syncOptions) + + if (filterOptions && Object.keys(filterOptions).length > 0) { + params.set('_filter', JSON.stringify(filterOptions)) + } + console.log('filterOptions', filterOptions) + + const r = await fetch(`http://localhost:5572/sync/sync?${params.toString()}`, { + method: 'POST', + }).then((res) => res.json() as Promise<{ jobid: string }>) + + console.log('Sync operation started:', r) + return + + // if (!r.jobid) { + // throw new Error("Failed to start copy job"); + // } + + // Monitor job status + // while (true) { + // const status = await fetch( + // `http://localhost:5572/job/status/${r.jobid}`, + // { + // method: "POST", + // }, + // ).then((res) => res.json() as Promise); + + // if (status.finished) { + // return status.success; + // } + + // // Wait a bit before checking again + // await new Promise((resolve) => setTimeout(resolve, 1000)); + // } +} + +/* FLAGS */ + +export async function getGlobalFlags() { + const r = await fetch('http://localhost:5572/options/get', { + method: 'POST', + }).then((res) => res.json() as Promise) + + return r +} + +export async function getCopyFlags() { + const r = await fetch('http://localhost:5572/options/info', { + method: 'POST', + }).then((res) => res.json() as Promise) + + const mainFlags = r.main + + const copyFlags = mainFlags.filter( + (flag: any) => flag?.Groups?.includes('Copy') || flag?.Groups?.includes('Performance') + ) + + return copyFlags +} + +export async function getSyncFlags() { + const r = await fetch('http://localhost:5572/options/info', { + method: 'POST', + }).then((res) => res.json() as Promise) + + const mainFlags = r.main + + const syncFlags = mainFlags.filter( + (flag: any) => + flag?.Groups?.includes('Copy') || + flag?.Groups?.includes('Sync') || + flag?.Groups?.includes('Performance') + ) + + return syncFlags +} + +export async function getFilterFlags() { + const r = await fetch('http://localhost:5572/options/info', { + method: 'POST', + }).then((res) => res.json() as Promise) + + const filterFlags = r.filter + + // ignore "Metadata" fields as they have the same FieldNames as the normal non-metadata filters + const filteredFlags = filterFlags.filter((flag: any) => !flag.Groups.includes('Metadata')) + + return filteredFlags +} + +export async function getVfsFlags() { + const r = await fetch('http://localhost:5572/options/info', { + method: 'POST', + }).then((res) => res.json() as Promise) + + const vfsFlags = r.vfs + + const IGNORED_FLAGS = ['NONE'] + + const filteredFlags = vfsFlags.filter((flag: any) => !IGNORED_FLAGS.includes(flag.Name)) + + return filteredFlags +} + +export async function getMountFlags() { + const r = await fetch('http://localhost:5572/options/info', { + method: 'POST', + }).then((res) => res.json() as Promise) + + const mountFlags = r.mount + + const IGNORED_FLAGS = ['debug_fuse', 'daemon', 'daemon_timeout'] + + const filteredFlags = mountFlags.filter((flag: any) => !IGNORED_FLAGS.includes(flag.Name)) + + return filteredFlags +} diff --git a/lib/store.ts b/lib/store.ts new file mode 100644 index 0000000..e3ad5ad --- /dev/null +++ b/lib/store.ts @@ -0,0 +1,126 @@ +import { LazyStore } from '@tauri-apps/plugin-store' +import { shared } from 'use-broadcast-ts' +import { create } from 'zustand' +import { type StateStorage, createJSONStorage, persist } from 'zustand/middleware' + +// const { LazyStore } = window.__TAURI__.store +const store = new LazyStore('store.json') + +export interface RemoteConfig { + hideTray?: boolean + + disabledActions?: ('mount' | 'browse' | 'remove')[] + + defaultRemotePath?: string + defaultMountPoint?: string + mountOnStart?: boolean + + mountDefaults?: Record + vfsDefaults?: Record + filterDefaults?: Record + copyDefaults?: Record + syncDefaults?: Record +} + +interface State { + count: number + anotherCount: number + increment: () => void + + rcloneLoaded: boolean + mountedRemotes: Record + + serveList: { pid: number; protocol: string; remote: string }[] + setServeList: (serve: { pid: number; protocol: string; remote: string }) => void + removeServeList: (pid: number) => void + + remotes: string[] + setRemotes: (remotes: string[]) => void + addRemote: (remote: string) => void + removeRemote: (remote: string) => void +} + +interface PersistedState { + remoteConfigList: Record + setRemoteConfig: (remote: string, config: RemoteConfig) => void + mergeRemoteConfig: (remote: string, config: RemoteConfig) => void + + disabledActions: ('mount' | 'sync' | 'copy' | 'serve')[] +} + +const getStorage = (store: LazyStore): StateStorage => ({ + getItem: async (name: string): Promise => { + console.log('getItem', { name }) + return (await store.get(name)) || null + }, + setItem: async (name: string, value: string): Promise => { + console.log('setItem', { name, value }) + await store.set(name, value) + await store.save() + }, + removeItem: async (name: string): Promise => { + console.log('removeItem', { name }) + await store.delete(name) + await store.save() + }, +}) + +export const useStore = create()( + shared( + (set) => ({ + count: 0, + anotherCount: 0, + increment: () => set((state) => ({ count: state.count + 1 })), + + rcloneLoaded: false, + mountedRemotes: {}, + + serveList: [], + setServeList: (serve: { pid: number; protocol: string; remote: string }) => + set((state) => ({ serveList: [...state.serveList, serve] })), + removeServeList: (pid: number) => + set((state) => ({ serveList: state.serveList.filter((s) => s.pid !== pid) })), + + remotes: [], + setRemotes: (remotes: string[]) => set((_) => ({ remotes })), + addRemote: (remote: string) => + set((state) => ({ remotes: [...state.remotes, remote] })), + removeRemote: (remote: string) => + set((state) => ({ remotes: state.remotes.filter((r) => r !== remote) })), + }), + { name: 'shared-store' } + ) +) + +export const usePersistedStore = create()( + persist( + (set) => ({ + remoteConfigList: {}, + setRemoteConfig: (remote: string, config: Record) => + set((state) => ({ + remoteConfigList: { ...state.remoteConfigList, [remote]: config }, + })), + mergeRemoteConfig: (remote: string, config: Record) => + set((state) => ({ + remoteConfigList: { + ...state.remoteConfigList, + [remote]: { ...state.remoteConfigList[remote], ...config }, + }, + })), + + disabledActions: [], + }), + { + name: 'store', + storage: createJSONStorage(() => getStorage(store)), + } + ) +) + +// useStore.persist.onFinishHydration(() => { +// console.log('onFinishHydration') +// }) + +store.onKeyChange('store', async (_) => { + await usePersistedStore.persist.rehydrate() +}) diff --git a/lib/tray.ts b/lib/tray.ts new file mode 100644 index 0000000..850fdd0 --- /dev/null +++ b/lib/tray.ts @@ -0,0 +1,82 @@ +import type { TrayIconEvent } from '@tauri-apps/api/tray' +import { TrayIcon } from '@tauri-apps/api/tray' +import { getAllWindows } from '@tauri-apps/api/window' +import { handleIconState } from '@tauri-apps/plugin-positioner' +import { buildMenu } from './menu' +import { resetMainWindow } from './window' + +export async function getMainTray() { + return await TrayIcon.getById('main-tray') +} + +export async function getLoadingTray() { + return await TrayIcon.getById('loading-tray') +} + +export async function triggerTrayRebuild() { + return getAllWindows().then((windows) => { + windows.find((w) => w.label === 'main')?.emit('rebuild-tray') + }) +} + +// Function to update the tray menu +export async function rebuildTrayMenu() { + const tray = await getMainTray() + if (!tray) { + return + } + const newMenu = await buildMenu() + await tray.setMenu(newMenu) +} + +async function onTrayAction(event: TrayIconEvent) { + await handleIconState(event) + + if (event.type === 'Click') { + console.log('Tray clicked:', event) + + await resetMainWindow() + } +} + +// Initialize the tray +export async function initTray(): Promise { + try { + console.log('initTray') + const menu = await buildMenu() + console.log('built menu') + + await TrayIcon.getById('loading-tray').then((t) => t?.setVisible(false)) + console.log('set loading tray to false') + + await TrayIcon.new({ + id: 'main-tray', + icon: 'icons/icon.png', + tooltip: 'S-Tray App', + menu, + menuOnLeftClick: true, + action: onTrayAction, + }) + } catch (error) { + console.error('Failed to create tray:', error) + } +} + +export async function initLoadingTray() { + const loadingTray = await TrayIcon.new({ + id: 'loading-tray', + icon: 'icons/favicon/frame_00_delay-0.1s.png', + }) + + let currentIcon = 1 + + setInterval(async () => { + if (currentIcon > 17) { + currentIcon = 1 + } + await loadingTray?.setIcon( + `icons/favicon/frame_${currentIcon < 10 ? '0' : ''}${currentIcon}_delay-0.1s.png` + ) + currentIcon = currentIcon + 1 + }, 200) +} diff --git a/lib/window.ts b/lib/window.ts new file mode 100644 index 0000000..b817a9b --- /dev/null +++ b/lib/window.ts @@ -0,0 +1,125 @@ +import { WebviewWindow } from '@tauri-apps/api/webviewWindow' +import { LogicalSize, PhysicalSize, currentMonitor, getAllWindows } from '@tauri-apps/api/window' +import { Position, moveWindow } from '@tauri-apps/plugin-positioner' + +export async function resetMainWindow() { + const window = await getAllWindows().then((w) => w.find((w) => w.label === 'main')) + if (!window) return + + await window.setSize(new PhysicalSize(0, 0)) + await window.center() + await window.hide() + await window.setAlwaysOnTop(true) +} + +export async function openFullWindow({ + name, + url, +}: { + name: string + url: string +}) { + const w = new WebviewWindow(name, { + height: 0, + width: 0, + visibleOnAllWorkspaces: false, + alwaysOnTop: false, + resizable: true, + visible: true, + focus: true, + title: name, + decorations: true, + url: url, + }) + + await new Promise((resolve) => setTimeout(resolve, 1000)) + + const size = await currentMonitor().then((m) => m?.size) + + if (!size) return + + await w.hide() + await w.setSize(size) + await w.center() + await w.show() + + return w +} + +export async function openWindow({ + name, + url, + width = 740, + height = 600, +}: { + name: string + url: string + width?: number + height?: number +}) { + const w = new WebviewWindow(name, { + height: 0, + width: 0, + resizable: false, + visibleOnAllWorkspaces: false, + alwaysOnTop: true, + visible: true, + focus: true, + title: name, + decorations: true, + url: url, + // parent: 'main', + }) + + await new Promise((resolve) => setTimeout(resolve, 1000)) + + await w.hide() + await w.setSize(new LogicalSize(width, height)) + await w.center() + await w.show() + + return w +} + +export async function openTrayWindow({ + name, + url, +}: { + name: string + url: string +}) { + const w = new WebviewWindow(name, { + height: 0, + width: 0, + resizable: false, + visibleOnAllWorkspaces: true, + alwaysOnTop: true, + visible: true, + focus: true, + title: name, + decorations: false, + url: url, + }) + + await new Promise((resolve) => setTimeout(resolve, 1500)) + + await w.hide() + await w.setSize(new LogicalSize(400, 600)) + // await w.center() + await w.show() + await moveWindow(Position.TopRight) + + return w +} + +export async function lockWindows(ids?: string[]) { + const windows = await getAllWindows() + const lockedWindows = ids ? windows.filter((w) => ids.includes(w.label)) : windows + await Promise.all(lockedWindows.map((w) => w.setClosable(false))) +} + +export async function unlockWindows(ids?: string[]) { + const windows = await getAllWindows() + const unlockedWindows = ids ? windows.filter((w) => ids.includes(w.label)) : windows + await Promise.all(unlockedWindows.map((w) => w.setClosable(true))) +} diff --git a/main.ts b/main.ts new file mode 100644 index 0000000..7544e5e --- /dev/null +++ b/main.ts @@ -0,0 +1,100 @@ +import { getCurrentWindow } from '@tauri-apps/api/window' +import { message } from '@tauri-apps/plugin-dialog' +import { debug, error, info, trace, warn } from '@tauri-apps/plugin-log' +import { exit } from '@tauri-apps/plugin-process' +import { Command } from '@tauri-apps/plugin-shell' +import { listRemotes } from './lib/rclone' +import { useStore } from './lib/store' +import { initLoadingTray, initTray, rebuildTrayMenu } from './lib/tray' + +// forward console logs in webviews to the tauri logger, so they show up in the console +function forwardConsole( + fnName: 'log' | 'debug' | 'info' | 'warn' | 'error', + logger: (message: string) => Promise +) { + const original = console[fnName] + console[fnName] = (message, ...args) => { + original(message, ...args) + logger( + `${message} ${args?.map((arg) => (typeof arg === 'string' ? arg : JSON.stringify(arg))).join(' ')}` + ) + } +} + +forwardConsole('log', trace) +forwardConsole('debug', debug) +forwardConsole('info', info) +forwardConsole('warn', warn) +forwardConsole('error', error) + +console.log('main') +console.error('main') + +async function startRclone() { + try { + const remotes = await listRemotes() + console.log('rclone already running', remotes) + useStore.setState({ rcloneLoaded: true }) + useStore.setState({ remotes: remotes }) + return + } catch (e) { + console.error('Failed to start rclone', e) + } + + const command = Command.sidecar('binaries/rclone', [ + 'rcd', + '--rc-no-auth', + '--rc-serve', + // '-rc-addr', + // ':5572', + ]) + + command.addListener('close', async (event) => { + console.log('close', event) + + if (event.code === 1 || event.code === 143) { + await message('Rclone has crashed', { + title: 'Error', + kind: 'error', + }) + await exit(0) + } + }) + + command.addListener('error', (event) => { + console.log('error', event) + }) + + // console.log('command', command) + + const childProcess = await command.spawn() + + await new Promise((resolve) => setTimeout(resolve, 100)) + + useStore.setState({ rcloneLoaded: true }) + + const remotes = await listRemotes() + console.log('remotes', remotes) + useStore.setState({ remotes: remotes }) + + // console.log('childProcess', JSON.stringify(childProcess)) // prints `pid` + + // console.log('command', JSON.stringify(command)) +} + +getCurrentWindow().listen('tauri://close-requested', async (e) => { + console.log('MAIN window close requested') +}) + +getCurrentWindow().listen('rebuild-tray', async (e) => { + console.log('MAIN window rebuild-tray requested') + await rebuildTrayMenu() +}) + +initLoadingTray() + .then(() => startRclone()) + .then(() => initTray()) + +// await initLoadingTray() +// await startRclone() +// await initTray() diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0594941 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6458 @@ +{ + "name": "s-tray", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "s-tray", + "version": "0.1.0", + "dependencies": { + "@nextui-org/react": "^2.6.11", + "@tauri-apps/api": "~2.2.0", + "@tauri-apps/plugin-dialog": "^2.2.0", + "@tauri-apps/plugin-fs": "^2.2.0", + "@tauri-apps/plugin-http": "^2.2.0", + "@tauri-apps/plugin-log": "^2.2.0", + "@tauri-apps/plugin-notification": "^2.2.1", + "@tauri-apps/plugin-opener": "^2.2.5", + "@tauri-apps/plugin-os": "^2.2.0", + "@tauri-apps/plugin-positioner": "^2.2.0", + "@tauri-apps/plugin-process": "^2.2.0", + "@tauri-apps/plugin-shell": "^2.2.0", + "@tauri-apps/plugin-store": "^2.2.0", + "@tauri-apps/plugin-window-state": "^2.2.0", + "framer-motion": "^11.17.0", + "lucide-react": "^0.471.0", + "p-retry": "^6.2.1", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.28.1", + "use-broadcast-ts": "^2.0.0", + "zustand": "^5.0.3" + }, + "devDependencies": { + "@biomejs/biome": "^1.9.4", + "@tauri-apps/cli": "~2.2.5", + "@types/node": "^22.10.7", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.4", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.49", + "tailwindcss": "^3.4.17", + "typescript": "~5.6.2", + "vite": "^6.0.3" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", + "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "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": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", + "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.26.3", + "@babel/types": "^7.26.3", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", + "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.26.3" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", + "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.3", + "@babel/parser": "^7.26.3", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.3", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", + "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@biomejs/biome": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz", + "integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==", + "dev": true, + "hasInstallScript": true, + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.9.4", + "@biomejs/cli-darwin-x64": "1.9.4", + "@biomejs/cli-linux-arm64": "1.9.4", + "@biomejs/cli-linux-arm64-musl": "1.9.4", + "@biomejs/cli-linux-x64": "1.9.4", + "@biomejs/cli-linux-x64-musl": "1.9.4", + "@biomejs/cli-win32-arm64": "1.9.4", + "@biomejs/cli-win32-x64": "1.9.4" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz", + "integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz", + "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz", + "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz", + "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz", + "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz", + "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz", + "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz", + "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@formatjs/ecma402-abstract": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.2.tgz", + "integrity": "sha512-6sE5nyvDloULiyOMbOTJEEgWL32w+VHkZQs8S02Lnn8Y/O5aQhjOEXwWzvR7SsBE/exxlSpY2EsWZgqHbtLatg==", + "dependencies": { + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/intl-localematcher": "0.5.10", + "decimal.js": "10", + "tslib": "2" + } + }, + "node_modules/@formatjs/fast-memoize": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz", + "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==", + "dependencies": { + "tslib": "2" + } + }, + "node_modules/@formatjs/icu-messageformat-parser": { + "version": "2.9.8", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.9.8.tgz", + "integrity": "sha512-hZlLNI3+Lev8IAXuwehLoN7QTKqbx3XXwFW1jh0AdIA9XJdzn9Uzr+2LLBspPm/PX0+NLIfykj/8IKxQqHUcUQ==", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/icu-skeleton-parser": "1.8.12", + "tslib": "2" + } + }, + "node_modules/@formatjs/icu-skeleton-parser": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.12.tgz", + "integrity": "sha512-QRAY2jC1BomFQHYDMcZtClqHR55EEnB96V7Xbk/UiBodsuFc5kujybzt87+qj1KqmJozFhk6n4KiT1HKwAkcfg==", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.2", + "tslib": "2" + } + }, + "node_modules/@formatjs/intl-localematcher": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz", + "integrity": "sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==", + "dependencies": { + "tslib": "2" + } + }, + "node_modules/@internationalized/date": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.6.0.tgz", + "integrity": "sha512-+z6ti+CcJnRlLHok/emGEsWQhe7kfSmEW+/6qCzvKY67YPh7YOBfvc7+/+NXq+zJlbArg30tYpqLjNgcAYv2YQ==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/message": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@internationalized/message/-/message-3.1.6.tgz", + "integrity": "sha512-JxbK3iAcTIeNr1p0WIFg/wQJjIzJt9l/2KNY/48vXV7GRGZSv3zMxJsce008fZclk2cDC8y0Ig3odceHO7EfNQ==", + "dependencies": { + "@swc/helpers": "^0.5.0", + "intl-messageformat": "^10.1.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.0.tgz", + "integrity": "sha512-PtrRcJVy7nw++wn4W2OuePQQfTqDzfusSuY1QTtui4wa7r+rGVtR75pO8CyKvHvzyQYi3Q1uO5sY0AsB4e65Bw==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/string": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@internationalized/string/-/string-3.2.5.tgz", + "integrity": "sha512-rKs71Zvl2OKOHM+mzAFMIyqR5hI1d1O6BBkMK2/lkfg3fkmVh9Eeg0awcA8W2WqYqDOv6a86DIOlFpggwLtbuw==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "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==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "engines": { + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "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==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nextui-org/accordion": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/accordion/-/accordion-2.2.7.tgz", + "integrity": "sha512-jdobOwUxSi617m+LpxHFzg64UhDuOfDJI2CMk3MP+b2WBJ7SNW4hmN2NW5Scx5JiY+kyBGmlxJ4Y++jZpZgQjQ==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/divider": "2.2.5", + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-aria-accordion": "2.2.2", + "@react-aria/button": "3.11.0", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-stately/tree": "3.8.6", + "@react-types/accordion": "3.0.0-alpha.25", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/alert": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@nextui-org/alert/-/alert-2.2.9.tgz", + "integrity": "sha512-SjMZewEqknx/jqmMcyQdbeo6RFg40+A3b1lGjnj/fdkiJozQoTesiOslzDsacqiSgvso2F+8u1emC2tFBAU3hw==", + "dependencies": { + "@nextui-org/button": "2.2.9", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/utils": "3.26.0", + "@react-stately/utils": "3.10.5" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/aria-utils": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/aria-utils/-/aria-utils-2.2.7.tgz", + "integrity": "sha512-QgMZ8fii6BCI/+ZIkgXgkm/gMNQ92pQJn83q90fBT6DF+6j4hsCpJwLNCF5mIJkX/cQ/4bHDsDaj7w1OzkhQNg==", + "dependencies": { + "@nextui-org/react-rsc-utils": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system": "2.4.6", + "@react-aria/utils": "3.26.0", + "@react-stately/collections": "3.12.0", + "@react-stately/overlays": "3.6.12", + "@react-types/overlays": "3.8.11", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/autocomplete": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@nextui-org/autocomplete/-/autocomplete-2.3.9.tgz", + "integrity": "sha512-1AizOvL8lERoWjm8WiA0NPJWB3h0gqYlbV/qGZeacac5356hb8cNzWUlxGzr9bNkhn9slIoEUyGMgtYeKq7ptg==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/button": "2.2.9", + "@nextui-org/form": "2.1.8", + "@nextui-org/input": "2.4.8", + "@nextui-org/listbox": "2.3.9", + "@nextui-org/popover": "2.3.9", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/scroll-shadow": "2.3.5", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/spinner": "2.2.6", + "@nextui-org/use-aria-button": "2.2.4", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/combobox": "3.11.0", + "@react-aria/focus": "3.19.0", + "@react-aria/i18n": "3.12.4", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/combobox": "3.10.1", + "@react-types/combobox": "3.13.1", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/avatar": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/avatar/-/avatar-2.2.6.tgz", + "integrity": "sha512-QRNCAMXnSZrFJYKo78lzRPiAPRq5pn1LIHUVvX/mCRiTvbu1FXrMakAvOWz/n1X1mLndnrfQMRNgmtC8YlHIdg==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-image": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/badge": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@nextui-org/badge/-/badge-2.2.5.tgz", + "integrity": "sha512-8pLbuY+RVCzI/00CzNudc86BiuXByPFz2yHh00djKvZAXbT0lfjvswClJxSC2FjUXlod+NtE+eHmlhSMo3gmpw==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/breadcrumbs": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/breadcrumbs/-/breadcrumbs-2.2.6.tgz", + "integrity": "sha512-TlAUSiIClmm02tJqOvtwySpKDOENduXCXkKzCbmSaqEFhziHnhyE0eM8IVEprBoK6z1VP+sUrX6C2gZ871KUSw==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/breadcrumbs": "3.5.19", + "@react-aria/focus": "3.19.0", + "@react-aria/utils": "3.26.0", + "@react-types/breadcrumbs": "3.7.9", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/button": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@nextui-org/button/-/button-2.2.9.tgz", + "integrity": "sha512-RrfjAZHoc6nmaqoLj40M0Qj3tuDdv2BMGCgggyWklOi6lKwtOaADPvxEorDwY3GnN54Xej+9SWtUwE8Oc3SnOg==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/ripple": "2.2.7", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/spinner": "2.2.6", + "@nextui-org/use-aria-button": "2.2.4", + "@react-aria/button": "3.11.0", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-types/button": "3.10.1", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/calendar": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@nextui-org/calendar/-/calendar-2.2.9.tgz", + "integrity": "sha512-tx1401HLnwadoDHNkmEIZNeAw9uYW6KsgIRRQnXTNVstBXdMmPWjoMBj8fkQqF55+U58k6a+w3N4tTpgRGOpaQ==", + "dependencies": { + "@internationalized/date": "3.6.0", + "@nextui-org/button": "2.2.9", + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-aria-button": "2.2.4", + "@react-aria/calendar": "3.6.0", + "@react-aria/focus": "3.19.0", + "@react-aria/i18n": "3.12.4", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/calendar": "3.6.0", + "@react-stately/utils": "3.10.5", + "@react-types/button": "3.10.1", + "@react-types/calendar": "3.5.0", + "@react-types/shared": "3.26.0", + "@types/lodash.debounce": "^4.0.7", + "scroll-into-view-if-needed": "3.0.10" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/card": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@nextui-org/card/-/card-2.2.9.tgz", + "integrity": "sha512-Ltvb5Uy4wwkBJj3QvVQmoB6PwLYUNSoWAFo2xxu7LUHKWcETYI0YbUIuwL2nFU2xfJYeBTGjXGQO1ffBsowrtQ==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/ripple": "2.2.7", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-aria-button": "2.2.4", + "@react-aria/button": "3.11.0", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/checkbox": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@nextui-org/checkbox/-/checkbox-2.3.8.tgz", + "integrity": "sha512-T5+AhzQfbg53qZnPn5rgMcJ7T5rnvSGYTx17wHWtdF9Q4QflZOmLGoxqoTWbTVpM4XzUUPyi7KVSKZScWdBDAA==", + "dependencies": { + "@nextui-org/form": "2.1.8", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-callback-ref": "2.1.1", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/checkbox": "3.15.0", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/checkbox": "3.6.10", + "@react-stately/toggle": "3.8.0", + "@react-types/checkbox": "3.9.0", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.3", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/chip": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/chip/-/chip-2.2.6.tgz", + "integrity": "sha512-HrSYagbrD4u4nblsNMIu7WGnDj9A8YnYCt30tasJmNSyydUVHFkxKOc3S8k+VU3BHPxeENxeBT7w0OlYoKbFIQ==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-types/checkbox": "3.9.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/code": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/code/-/code-2.2.6.tgz", + "integrity": "sha512-8qvAywIKAVh1thy/YHNwqH2xjTcwPiOWwNdKqvJMSk0CNtLHYJmDK8i2vmKZTM3zfB08Q/G94H0Wf+YsyrZdDg==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system-rsc": "2.3.5" + }, + "peerDependencies": { + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/date-input": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@nextui-org/date-input/-/date-input-2.3.8.tgz", + "integrity": "sha512-phj0Y8F/GpsKjKSiratFwh7HDzmMsIf6G2L2ljgWqA79PvP+RYf/ogEfaMIq1knF8OlssMo5nsFFJNsNB+xKGg==", + "dependencies": { + "@internationalized/date": "3.6.0", + "@nextui-org/form": "2.1.8", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/datepicker": "3.12.0", + "@react-aria/i18n": "3.12.4", + "@react-aria/utils": "3.26.0", + "@react-stately/datepicker": "3.11.0", + "@react-types/datepicker": "3.9.0", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/date-picker": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@nextui-org/date-picker/-/date-picker-2.3.9.tgz", + "integrity": "sha512-RzdVTl/tulTyE5fwGkQfn0is5hsTkPPRJFJZXMqYeci85uhpD+bCreWnTXrGFIXcqUo0ZBJWx3EdtBJZnGp4xQ==", + "dependencies": { + "@internationalized/date": "3.6.0", + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/button": "2.2.9", + "@nextui-org/calendar": "2.2.9", + "@nextui-org/date-input": "2.3.8", + "@nextui-org/form": "2.1.8", + "@nextui-org/popover": "2.3.9", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/datepicker": "3.12.0", + "@react-aria/i18n": "3.12.4", + "@react-aria/utils": "3.26.0", + "@react-stately/datepicker": "3.11.0", + "@react-stately/overlays": "3.6.12", + "@react-stately/utils": "3.10.5", + "@react-types/datepicker": "3.9.0", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/divider": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@nextui-org/divider/-/divider-2.2.5.tgz", + "integrity": "sha512-OB8b3CU4nQ5ARIGL48izhzrAHR0mnwws+Kd5LqRCZ/1R9uRMqsq7L0gpG9FkuV2jf2FuA7xa/GLOLKbIl4CEww==", + "dependencies": { + "@nextui-org/react-rsc-utils": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system-rsc": "2.3.5", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/dom-animation": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/dom-animation/-/dom-animation-2.1.1.tgz", + "integrity": "sha512-xLrVNf1EV9zyyZjk6j3RptOvnga1WUCbMpDgJLQHp+oYwxTfBy0SkXHuN5pRdcR0XpR/IqRBDIobMdZI0iyQyg==", + "peerDependencies": { + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1" + } + }, + "node_modules/@nextui-org/drawer": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/drawer/-/drawer-2.2.7.tgz", + "integrity": "sha512-a1Sr3sSjOZD0SiXDYSySKkOelTyCYExPvUsIckzjF5A3TNlBw4KFKnJzaXvabC3SNRy6/Ocq7oqz6VRv37wxQg==", + "dependencies": { + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/modal": "2.2.7", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/dropdown": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@nextui-org/dropdown/-/dropdown-2.3.9.tgz", + "integrity": "sha512-ElZxiP+nG0CKC+tm6LMZX42cRWXQ0LLjWBZXymupPsEH3XcQpCF9GWb9efJ2hh+qGROg7i0bnFH7P0GTyCyNBA==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/menu": "2.2.9", + "@nextui-org/popover": "2.3.9", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/menu": "3.16.0", + "@react-aria/utils": "3.26.0", + "@react-stately/menu": "3.9.0", + "@react-types/menu": "3.9.13" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/form": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@nextui-org/form/-/form-2.1.8.tgz", + "integrity": "sha512-Xn/dUO5zDG7zukbql1MDYh4Xwe1vnIVMRTHgckbkBtXXVNqgoTU09TTfy8WOJ0pMDX4GrZSBAZ86o37O+IHbaA==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system": "2.4.6", + "@nextui-org/theme": "2.4.5", + "@react-aria/utils": "3.26.0", + "@react-stately/form": "3.1.0", + "@react-types/form": "3.7.8", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@nextui-org/framer-utils": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@nextui-org/framer-utils/-/framer-utils-2.1.6.tgz", + "integrity": "sha512-b+BxKFox8j9rNAaL+CRe2ZMb1/SKjz9Kl2eLjDSsq3q82K/Hg7lEjlpgE8cu41wIGjH1unQxtP+btiJgl067Ow==", + "dependencies": { + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system": "2.4.6", + "@nextui-org/use-measure": "2.1.1" + }, + "peerDependencies": { + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/image": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@nextui-org/image/-/image-2.2.5.tgz", + "integrity": "sha512-A6DnEqG+/cMrfvqFKKJIdGD7gD88tVkqGxRkfysVMJJR96sDIYCJlP1jsAEtYKh4PfhmtJWclUvY/x9fMw0H1w==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-image": "2.1.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/input": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/@nextui-org/input/-/input-2.4.8.tgz", + "integrity": "sha512-wfkjyl7vRqT3HDXeybhfZ+IAz+Z02U5EiuWPpc9NbdwhJ/LpDRDa6fYcTDr/6j6MiyrEZsM24CtZZKAKBVBquQ==", + "dependencies": { + "@nextui-org/form": "2.1.8", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/textfield": "3.15.0", + "@react-aria/utils": "3.26.0", + "@react-stately/utils": "3.10.5", + "@react-types/shared": "3.26.0", + "@react-types/textfield": "3.10.0", + "react-textarea-autosize": "^8.5.3" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/input-otp": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@nextui-org/input-otp/-/input-otp-2.1.8.tgz", + "integrity": "sha512-J5Pz0aSfWD+2cSgLTKQamCNF/qHILIj8L0lY3t1R/sgK1ApN3kDNcUGnVm6EDh+dOXITKpCfnsCQw834nxZhsg==", + "dependencies": { + "@nextui-org/form": "2.1.8", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/form": "3.0.11", + "@react-aria/utils": "3.26.0", + "@react-stately/form": "3.1.0", + "@react-stately/utils": "3.10.5", + "@react-types/textfield": "3.10.0", + "input-otp": "1.4.1" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@nextui-org/kbd": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/kbd/-/kbd-2.2.6.tgz", + "integrity": "sha512-IwzvvwYLMbhyqX5PjEZyDBO4iNEHY6Nek4ZrVR+Z2dOSj/oZXHWiabNDrvOcGKgUBE6xc95Fi1jVubE9b5ueuA==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system-rsc": "2.3.5", + "@react-aria/utils": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/link": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/link/-/link-2.2.7.tgz", + "integrity": "sha512-SAeBBCUtdaKtHfZgRD6OH0De/+cKUEuThiErSuFW+sNm/y8m3cUhQH8UqVBPu6HwmqVTEjvZzp/4uhG6lcSZjA==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-aria-link": "2.2.5", + "@react-aria/focus": "3.19.0", + "@react-aria/link": "3.7.7", + "@react-aria/utils": "3.26.0", + "@react-types/link": "3.5.9" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/listbox": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@nextui-org/listbox/-/listbox-2.3.9.tgz", + "integrity": "sha512-iGJ8xwkXf8K7chk1iZgC05KGpHiWJXY1dnV7ytIJ7yu4BbsRIHb0QknK5j8A74YeGpouJQ9+jsmCERmySxlqlg==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/divider": "2.2.5", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-is-mobile": "2.2.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/listbox": "3.13.6", + "@react-aria/utils": "3.26.0", + "@react-stately/list": "3.11.1", + "@react-types/menu": "3.9.13", + "@react-types/shared": "3.26.0", + "@tanstack/react-virtual": "3.11.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/menu": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/@nextui-org/menu/-/menu-2.2.9.tgz", + "integrity": "sha512-Fztvi3GRYl5a5FO/0LRzcAdnw8Yeq6NX8yLQh8XmwkWCrH0S6nTn69CP/j+EMWQR6G2UK5AbNDmX1Sx9aTQdHQ==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/divider": "2.2.5", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-is-mobile": "2.2.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/menu": "3.16.0", + "@react-aria/utils": "3.26.0", + "@react-stately/menu": "3.9.0", + "@react-stately/tree": "3.8.6", + "@react-types/menu": "3.9.13", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/modal": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/modal/-/modal-2.2.7.tgz", + "integrity": "sha512-xxk6B+5s8//qYI4waLjdWoJFwR6Zqym/VHFKkuZAMpNABgTB0FCK022iUdOIP2F2epG69un8zJF0qwMBJF8XAA==", + "dependencies": { + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-aria-button": "2.2.4", + "@nextui-org/use-aria-modal-overlay": "2.2.3", + "@nextui-org/use-disclosure": "2.2.2", + "@nextui-org/use-draggable": "2.1.2", + "@react-aria/dialog": "3.5.20", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/overlays": "3.24.0", + "@react-aria/utils": "3.26.0", + "@react-stately/overlays": "3.6.12", + "@react-types/overlays": "3.8.11" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/navbar": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@nextui-org/navbar/-/navbar-2.2.8.tgz", + "integrity": "sha512-XutioQ75jonZk6TBtjFdV6N3eLe8y85tetjOdOg6X3mKTPZlQuBb+rtb6pVNOOvcuQ7zKigWIq2ammvF9VNKaQ==", + "dependencies": { + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-scroll-position": "2.1.1", + "@react-aria/button": "3.11.0", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/overlays": "3.24.0", + "@react-aria/utils": "3.26.0", + "@react-stately/toggle": "3.8.0", + "@react-stately/utils": "3.10.5" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/pagination": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@nextui-org/pagination/-/pagination-2.2.8.tgz", + "integrity": "sha512-sZcriQq/ssOItX3r54tysnItjcb7dw392BNulJxrMMXi6FA6sUGImpJF1jsbtYJvaq346IoZvMrcrba8PXEk0g==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-intersection-observer": "2.2.2", + "@nextui-org/use-pagination": "2.2.3", + "@react-aria/focus": "3.19.0", + "@react-aria/i18n": "3.12.4", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "scroll-into-view-if-needed": "3.0.10" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/popover": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@nextui-org/popover/-/popover-2.3.9.tgz", + "integrity": "sha512-glLYKlFJ4EkFrNMBC3ediFPpQwKzaFlzKoaMum2G3HUtmC4d1HLTSOQJOd2scUzZxD3/K9dp1XHYbEcCnCrYpQ==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/button": "2.2.9", + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-aria-button": "2.2.4", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/dialog": "3.5.20", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/overlays": "3.24.0", + "@react-aria/utils": "3.26.0", + "@react-stately/overlays": "3.6.12", + "@react-types/button": "3.10.1", + "@react-types/overlays": "3.8.11" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/progress": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/progress/-/progress-2.2.6.tgz", + "integrity": "sha512-FTicOncNcXKpt9avxQWWlVATvhABKVMBgsB81SozFXRcn8QsFntjdMp0l3688DJKBY0GxT+yl/S/by0TwY1Z1A==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-is-mounted": "2.1.1", + "@react-aria/i18n": "3.12.4", + "@react-aria/progress": "3.4.18", + "@react-aria/utils": "3.26.0", + "@react-types/progress": "3.5.8" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/radio": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@nextui-org/radio/-/radio-2.3.8.tgz", + "integrity": "sha512-ntwjpQ/WT8zQ3Fw5io65VeH2Q68LOgZ4lII7a6x35NDa7Eda1vlYroMAw/vxK8iyZYlUBSJdsoj2FU/10hBPmg==", + "dependencies": { + "@nextui-org/form": "2.1.8", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/radio": "3.10.10", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/radio": "3.10.9", + "@react-types/radio": "3.8.5", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.3", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/react": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@nextui-org/react/-/react-2.6.11.tgz", + "integrity": "sha512-MOkBMWI+1nHB6A8YLXakdXrNRFvy5whjFJB1FthwqbP8pVEeksS1e29AbfEFkrzLc5zjN7i24wGNSJ8DKMt9WQ==", + "dependencies": { + "@nextui-org/accordion": "2.2.7", + "@nextui-org/alert": "2.2.9", + "@nextui-org/autocomplete": "2.3.9", + "@nextui-org/avatar": "2.2.6", + "@nextui-org/badge": "2.2.5", + "@nextui-org/breadcrumbs": "2.2.6", + "@nextui-org/button": "2.2.9", + "@nextui-org/calendar": "2.2.9", + "@nextui-org/card": "2.2.9", + "@nextui-org/checkbox": "2.3.8", + "@nextui-org/chip": "2.2.6", + "@nextui-org/code": "2.2.6", + "@nextui-org/date-input": "2.3.8", + "@nextui-org/date-picker": "2.3.9", + "@nextui-org/divider": "2.2.5", + "@nextui-org/drawer": "2.2.7", + "@nextui-org/dropdown": "2.3.9", + "@nextui-org/form": "2.1.8", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/image": "2.2.5", + "@nextui-org/input": "2.4.8", + "@nextui-org/input-otp": "2.1.8", + "@nextui-org/kbd": "2.2.6", + "@nextui-org/link": "2.2.7", + "@nextui-org/listbox": "2.3.9", + "@nextui-org/menu": "2.2.9", + "@nextui-org/modal": "2.2.7", + "@nextui-org/navbar": "2.2.8", + "@nextui-org/pagination": "2.2.8", + "@nextui-org/popover": "2.3.9", + "@nextui-org/progress": "2.2.6", + "@nextui-org/radio": "2.3.8", + "@nextui-org/ripple": "2.2.7", + "@nextui-org/scroll-shadow": "2.3.5", + "@nextui-org/select": "2.4.9", + "@nextui-org/skeleton": "2.2.5", + "@nextui-org/slider": "2.4.7", + "@nextui-org/snippet": "2.2.10", + "@nextui-org/spacer": "2.2.6", + "@nextui-org/spinner": "2.2.6", + "@nextui-org/switch": "2.2.8", + "@nextui-org/system": "2.4.6", + "@nextui-org/table": "2.2.8", + "@nextui-org/tabs": "2.2.7", + "@nextui-org/theme": "2.4.5", + "@nextui-org/tooltip": "2.2.7", + "@nextui-org/user": "2.2.6", + "@react-aria/visually-hidden": "3.8.18" + }, + "peerDependencies": { + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/react-rsc-utils": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/react-rsc-utils/-/react-rsc-utils-2.1.1.tgz", + "integrity": "sha512-9uKH1XkeomTGaswqlGKt0V0ooUev8mPXtKJolR+6MnpvBUrkqngw1gUGF0bq/EcCCkks2+VOHXZqFT6x9hGkQQ==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/react-utils": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nextui-org/react-utils/-/react-utils-2.1.3.tgz", + "integrity": "sha512-o61fOS+S8p3KtgLLN7ub5gR0y7l517l9eZXJabUdnVcZzZjTqEijWjzjIIIyAtYAlL4d+WTXEOROuc32sCmbqw==", + "dependencies": { + "@nextui-org/react-rsc-utils": "2.1.1", + "@nextui-org/shared-utils": "2.1.2" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/ripple": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/ripple/-/ripple-2.2.7.tgz", + "integrity": "sha512-cphzlvCjdROh1JWQhO/wAsmBdlU9kv/UA2YRQS4viaWcA3zO+qOZVZ9/YZMan6LBlOLENCaE9CtV2qlzFtVpEg==", + "dependencies": { + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/scroll-shadow": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@nextui-org/scroll-shadow/-/scroll-shadow-2.3.5.tgz", + "integrity": "sha512-2H5qro6RHcWo6ZfcG2hHZHsR1LrV3FMZP5Lkc9ZwJdWPg4dXY4erGRE4U+B7me6efj5tBOFmZkIpxVUyMBLtZg==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-data-scroll-overflow": "2.2.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/select": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/@nextui-org/select/-/select-2.4.9.tgz", + "integrity": "sha512-R8HHKDH7dA4Dv73Pl80X7qfqdyl+Fw4gi/9bmyby0QJG8LN2zu51xyjjKphmWVkAiE3O35BRVw7vMptHnWFUgQ==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/form": "2.1.8", + "@nextui-org/listbox": "2.3.9", + "@nextui-org/popover": "2.3.9", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/scroll-shadow": "2.3.5", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/spinner": "2.2.6", + "@nextui-org/use-aria-button": "2.2.4", + "@nextui-org/use-aria-multiselect": "2.4.3", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/focus": "3.19.0", + "@react-aria/form": "3.0.11", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-types/shared": "3.26.0", + "@tanstack/react-virtual": "3.11.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/shared-icons": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/shared-icons/-/shared-icons-2.1.1.tgz", + "integrity": "sha512-mkiTpFJnCzB2M8Dl7IwXVzDKKq9ZW2WC0DaQRs1eWgqboRCP8DDde+MJZq331hC7pfH8BC/4rxXsKECrOUUwCg==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/shared-utils": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nextui-org/shared-utils/-/shared-utils-2.1.2.tgz", + "integrity": "sha512-5n0D+AGB4P9lMD1TxwtdRSuSY0cWgyXKO9mMU11Xl3zoHNiAz/SbCSTc4VBJdQJ7Y3qgNXvZICzf08+bnjjqqA==" + }, + "node_modules/@nextui-org/skeleton": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@nextui-org/skeleton/-/skeleton-2.2.5.tgz", + "integrity": "sha512-CK1O9dqS0xPW3o1SIekEEOjSosJkXNzU0Zd538Nn1XhY1RjNuIPchpY9Pv5YZr2QSKy0zkwPQt/NalwErke0Jg==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/slider": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/@nextui-org/slider/-/slider-2.4.7.tgz", + "integrity": "sha512-/RnjnmAPvssebhtElG+ZI8CCot2dEBcEjw7LrHfmVnJOd5jgceMtnXhdJSppQuLvcC4fPpkhd6dY86IezOZwfw==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/tooltip": "2.2.7", + "@react-aria/focus": "3.19.0", + "@react-aria/i18n": "3.12.4", + "@react-aria/interactions": "3.22.5", + "@react-aria/slider": "3.7.14", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/slider": "3.6.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/snippet": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@nextui-org/snippet/-/snippet-2.2.10.tgz", + "integrity": "sha512-mVjf8muq4TX2PlESN7EeHgFmjuz7PNhrKFP+fb8Lj9J6wvUIUDm5ENv9bs72cRsK+zse6OUNE4JF1er6HllKug==", + "dependencies": { + "@nextui-org/button": "2.2.9", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/tooltip": "2.2.7", + "@nextui-org/use-clipboard": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/utils": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/spacer": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/spacer/-/spacer-2.2.6.tgz", + "integrity": "sha512-1qYtZ6xICfSrFV0MMB/nUH1K2X9mHzIikrjC/okzyzWywibsVNbyRfu5vObVClYlVGY0r4M4+7fpV2QV1tKRGw==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system-rsc": "2.3.5" + }, + "peerDependencies": { + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/spinner": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/spinner/-/spinner-2.2.6.tgz", + "integrity": "sha512-0V0H8jVpgRolgLnCuKDbrQCSK0VFPAZYiyGOE1+dfyIezpta+Nglh+uEl2sEFNh6B9Z8mARB8YEpRnTcA0ePDw==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/system-rsc": "2.3.5" + }, + "peerDependencies": { + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/switch": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@nextui-org/switch/-/switch-2.2.8.tgz", + "integrity": "sha512-wk9qQSOfUEtmdWR1omKjmEYzgMjJhVizvfW6Z0rKOiMUuSud2d4xYnUmZhU22cv2WtoPV//kBjXkYD/E/t6rdg==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/switch": "3.6.10", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/toggle": "3.8.0", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.3", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/system": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/@nextui-org/system/-/system-2.4.6.tgz", + "integrity": "sha512-6ujAriBZMfQ16n6M6Ad9g32KJUa1CzqIVaHN/tymadr/3m8hrr7xDw6z50pVjpCRq2PaaA1hT8Hx7EFU3f2z3Q==", + "dependencies": { + "@internationalized/date": "3.6.0", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/system-rsc": "2.3.5", + "@react-aria/i18n": "3.12.4", + "@react-aria/overlays": "3.24.0", + "@react-aria/utils": "3.26.0", + "@react-stately/utils": "3.10.5", + "@react-types/datepicker": "3.9.0" + }, + "peerDependencies": { + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/system-rsc": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@nextui-org/system-rsc/-/system-rsc-2.3.5.tgz", + "integrity": "sha512-DpVLNV9LkeP1yDULFCXm2mxA9m4ygS7XYy3lwgcF9M1A8QAWB+ut+FcP+8a6va50oSHOqwvUwPDUslgXTPMBfQ==", + "dependencies": { + "@react-types/shared": "3.26.0", + "clsx": "^1.2.1" + }, + "peerDependencies": { + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/table": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@nextui-org/table/-/table-2.2.8.tgz", + "integrity": "sha512-XNM0/Ed7Re3BA1eHL31rzALea9hgsBwD0rMR2qB2SAl2e8KaV2o+4bzgYhpISAzHQtlG8IsXanxiuNDH8OPVyw==", + "dependencies": { + "@nextui-org/checkbox": "2.3.8", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-icons": "2.1.1", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/spacer": "2.2.6", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/table": "3.16.0", + "@react-aria/utils": "3.26.0", + "@react-aria/visually-hidden": "3.8.18", + "@react-stately/table": "3.13.0", + "@react-stately/virtualizer": "4.2.0", + "@react-types/grid": "3.2.10", + "@react-types/table": "3.10.3" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/tabs": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/tabs/-/tabs-2.2.7.tgz", + "integrity": "sha512-EDPK0MOR4DPTfud9Khr5AikLbyEhHTlkGfazbOxg7wFaHysOnV5Y/E6UfvaN69kgIeT7NQcDFdaCKJ/AX1N7AA==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-is-mounted": "2.1.1", + "@nextui-org/use-update-effect": "2.1.1", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/tabs": "3.9.8", + "@react-aria/utils": "3.26.0", + "@react-stately/tabs": "3.7.0", + "@react-types/shared": "3.26.0", + "@react-types/tabs": "3.3.11", + "scroll-into-view-if-needed": "3.0.10" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/theme": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@nextui-org/theme/-/theme-2.4.5.tgz", + "integrity": "sha512-c7Y17n+hBGiFedxMKfg7Qyv93iY5MteamLXV4Po4c1VF1qZJI6I+IKULFh3FxPWzAoz96r6NdYT7OLFjrAJdWg==", + "dependencies": { + "@nextui-org/shared-utils": "2.1.2", + "clsx": "^1.2.1", + "color": "^4.2.3", + "color2k": "^2.0.2", + "deepmerge": "4.3.1", + "flat": "^5.0.2", + "tailwind-merge": "^2.5.2", + "tailwind-variants": "^0.1.20" + }, + "peerDependencies": { + "tailwindcss": ">=3.4.0" + } + }, + "node_modules/@nextui-org/tooltip": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/@nextui-org/tooltip/-/tooltip-2.2.7.tgz", + "integrity": "sha512-NgoaxcNwuCq/jvp77dmGzyS7JxzX4dvD/lAYi/GUhyxEC3TK3teZ3ADRhrC6tb84OpaelPLaTkhRNSaxVAQzjQ==", + "dependencies": { + "@nextui-org/aria-utils": "2.2.7", + "@nextui-org/dom-animation": "2.1.1", + "@nextui-org/framer-utils": "2.1.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@nextui-org/use-safe-layout-effect": "2.1.1", + "@react-aria/interactions": "3.22.5", + "@react-aria/overlays": "3.24.0", + "@react-aria/tooltip": "3.7.10", + "@react-aria/utils": "3.26.0", + "@react-stately/tooltip": "3.5.0", + "@react-types/overlays": "3.8.11", + "@react-types/tooltip": "3.4.13" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "framer-motion": ">=11.5.6 || >=12.0.0-alpha.1", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-aria-accordion": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-aria-accordion/-/use-aria-accordion-2.2.2.tgz", + "integrity": "sha512-M8gjX6XmB83cIAZKV2zI1KvmTuuOh+Si50F3SWvYjBXyrDIM5775xCs2PG6AcLjf6OONTl5KwuZ2cbSDHiui6A==", + "dependencies": { + "@react-aria/button": "3.11.0", + "@react-aria/focus": "3.19.0", + "@react-aria/selection": "3.21.0", + "@react-aria/utils": "3.26.0", + "@react-stately/tree": "3.8.6", + "@react-types/accordion": "3.0.0-alpha.25", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-aria-button": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@nextui-org/use-aria-button/-/use-aria-button-2.2.4.tgz", + "integrity": "sha512-Bz8l4JGzRKh6V58VX8Laq4rKZDppsnVuNCBHpMJuLo2F9ht7UKvZAEJwXcdbUZ87aui/ZC+IPYqgjvT+d8QlQg==", + "dependencies": { + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-types/button": "3.10.1", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-aria-link": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@nextui-org/use-aria-link/-/use-aria-link-2.2.5.tgz", + "integrity": "sha512-LBWXLecvuET4ZcpoHyyuS3yxvCzXdkmFcODhYwUmC8PiFSEUHkuFMC+fLwdXCP5GOqrv6wTGYHf41wNy1ugX1w==", + "dependencies": { + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/interactions": "3.22.5", + "@react-aria/utils": "3.26.0", + "@react-types/link": "3.5.9", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-aria-modal-overlay": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@nextui-org/use-aria-modal-overlay/-/use-aria-modal-overlay-2.2.3.tgz", + "integrity": "sha512-55DIVY0u+Ynxy1/DtzZkMsdVW63wC0mafKXACwCi0xV64D0Ggi9MM7BRePLK0mOboSb3gjCwYqn12gmRiy+kmg==", + "dependencies": { + "@react-aria/overlays": "3.24.0", + "@react-aria/utils": "3.26.0", + "@react-stately/overlays": "3.6.12", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-aria-multiselect": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@nextui-org/use-aria-multiselect/-/use-aria-multiselect-2.4.3.tgz", + "integrity": "sha512-PwDA4Y5DOx0SMxc277JeZi8tMtaINTwthPhk8SaDrtOBhP+r9owS3T/W9t37xKnmrTerHwaEq4ADGQtm5/VMXQ==", + "dependencies": { + "@react-aria/i18n": "3.12.4", + "@react-aria/interactions": "3.22.5", + "@react-aria/label": "3.7.13", + "@react-aria/listbox": "3.13.6", + "@react-aria/menu": "3.16.0", + "@react-aria/selection": "3.21.0", + "@react-aria/utils": "3.26.0", + "@react-stately/form": "3.1.0", + "@react-stately/list": "3.11.1", + "@react-stately/menu": "3.9.0", + "@react-types/button": "3.10.1", + "@react-types/overlays": "3.8.11", + "@react-types/select": "3.9.8", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-callback-ref": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/use-callback-ref/-/use-callback-ref-2.1.1.tgz", + "integrity": "sha512-DzlKJ9p7Tm0x3HGjynZ/CgS1jfoBILXKFXnYPLr/SSETXqVaCguixolT/07BRB1yo9AGwELaCEt91BeI0Rb6hQ==", + "dependencies": { + "@nextui-org/use-safe-layout-effect": "2.1.1" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-clipboard": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-clipboard/-/use-clipboard-2.1.2.tgz", + "integrity": "sha512-MUITEPaQAvu9VuMCUQXMc4j3uBgXoD8LVcuuvUVucg/8HK/Xia0dQ4QgK30QlCbZ/BwZ047rgMAgpMZeVKw4MQ==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-data-scroll-overflow": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-data-scroll-overflow/-/use-data-scroll-overflow-2.2.2.tgz", + "integrity": "sha512-TFB6BuaLOsE++K1UEIPR9StkBgj9Cvvc+ccETYpmn62B7pK44DmxjkwhK0ei59wafJPIyytZ3DgdVDblfSyIXA==", + "dependencies": { + "@nextui-org/shared-utils": "2.1.2" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-disclosure": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-disclosure/-/use-disclosure-2.2.2.tgz", + "integrity": "sha512-ka+5Fic2MIYtOMHi3zomtkWxCWydmJmcq7+fb6RHspfr0tGYjXWYO/lgtGeHFR1LYksMPLID3c7shT5bqzxJcA==", + "dependencies": { + "@nextui-org/use-callback-ref": "2.1.1", + "@react-aria/utils": "3.26.0", + "@react-stately/utils": "3.10.5" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-draggable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-draggable/-/use-draggable-2.1.2.tgz", + "integrity": "sha512-gN4G42uuRyFlAZ3FgMSeZLBg3LIeGlKTOLRe3JvyaBn1D1mA2+I3XONY1oKd9KKmtYCJNwY/2x6MVsBfy8nsgw==", + "dependencies": { + "@react-aria/interactions": "3.22.5" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-image": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-image/-/use-image-2.1.2.tgz", + "integrity": "sha512-I46M5gCJK4rZ0qYHPx3kVSF2M2uGaWPwzb3w4Cmx8K9QS+LbUQtRMbD8KOGTHZGA3kBDPvFbAi53Ert4eACrZQ==", + "dependencies": { + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/use-safe-layout-effect": "2.1.1" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-intersection-observer": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-intersection-observer/-/use-intersection-observer-2.2.2.tgz", + "integrity": "sha512-fS/4m8jnXO7GYpnp/Lp+7bfBEAXPzqsXgqGK6qrp7sfFEAbLzuJp0fONkbIB3F6F3FJrbFOlY+Y5qrHptO7U/Q==", + "dependencies": { + "@react-aria/interactions": "3.22.5", + "@react-aria/ssr": "3.9.7", + "@react-aria/utils": "3.26.0", + "@react-types/shared": "3.26.0" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-is-mobile": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@nextui-org/use-is-mobile/-/use-is-mobile-2.2.2.tgz", + "integrity": "sha512-gcmUL17fhgGdu8JfXF12FZCGATJIATxV4jSql+FNhR+gc+QRRWBRmCJSpMIE2RvGXL777tDvvoh/tjFMB3pW4w==", + "dependencies": { + "@react-aria/ssr": "3.9.7" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-is-mounted": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/use-is-mounted/-/use-is-mounted-2.1.1.tgz", + "integrity": "sha512-osJB3E/DCu4Le0f+pb21ia9/TaSHwme4r0fHjO5/nUBYk/RCvGlRUUCJClf/wi9WfH8QyjuJ27+zBcUSm6AMMg==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-measure": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/use-measure/-/use-measure-2.1.1.tgz", + "integrity": "sha512-2RVn90gXHTgt6fvzBH4fzgv3hMDz+SEJkqaCTbd6WUNWag4AaLb2WU/65CtLcexyu10HrgYf2xG07ZqtJv0zSg==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-pagination": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@nextui-org/use-pagination/-/use-pagination-2.2.3.tgz", + "integrity": "sha512-V2WGIq4LLkTpq6EUhJg3MVvHY2ZJ63AYV9N0d52Dc3Qqok0tTRuY51dd1P+F58HyTPW84W2z4q2R8XALtzFxQw==", + "dependencies": { + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/i18n": "3.12.4" + }, + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-safe-layout-effect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/use-safe-layout-effect/-/use-safe-layout-effect-2.1.1.tgz", + "integrity": "sha512-p0vezi2eujC3rxlMQmCLQlc8CNbp+GQgk6YcSm7Rk10isWVlUII5T1L3y+rcFYdgTPObCkCngPPciNQhD7Lf7g==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-scroll-position": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/use-scroll-position/-/use-scroll-position-2.1.1.tgz", + "integrity": "sha512-RgY1l2POZbSjnEirW51gdb8yNPuQXHqJx3TS8Ut5dk+bhaX9JD3sUdEiJNb3qoHAJInzyjN+27hxnACSlW0gzg==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/use-update-effect": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@nextui-org/use-update-effect/-/use-update-effect-2.1.1.tgz", + "integrity": "sha512-fKODihHLWcvDk1Sm8xDua9zjdbstxTOw9shB7k/mPkeR3E7SouSpN0+LW67Bczh1EmbRg1pIrFpEOLnbpgMFzA==", + "peerDependencies": { + "react": ">=18 || >=19.0.0-rc.0" + } + }, + "node_modules/@nextui-org/user": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@nextui-org/user/-/user-2.2.6.tgz", + "integrity": "sha512-iimFoP3DVK85p78r0ekC7xpVPQiBIbWnyBPdrnBj1UEgQdKoUzGhVbhYUnA8niBz/AS5xLt6aQixsv9/B0/msw==", + "dependencies": { + "@nextui-org/avatar": "2.2.6", + "@nextui-org/react-utils": "2.1.3", + "@nextui-org/shared-utils": "2.1.2", + "@react-aria/focus": "3.19.0", + "@react-aria/utils": "3.26.0" + }, + "peerDependencies": { + "@nextui-org/system": ">=2.4.0", + "@nextui-org/theme": ">=2.4.0", + "react": ">=18 || >=19.0.0-rc.0", + "react-dom": ">=18 || >=19.0.0-rc.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==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 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==", + "engines": { + "node": ">= 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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@react-aria/breadcrumbs": { + "version": "3.5.19", + "resolved": "https://registry.npmjs.org/@react-aria/breadcrumbs/-/breadcrumbs-3.5.19.tgz", + "integrity": "sha512-mVngOPFYVVhec89rf/CiYQGTfaLRfHFtX+JQwY7sNYNqSA+gO8p4lNARe3Be6bJPgH+LUQuruIY9/ZDL6LT3HA==", + "dependencies": { + "@react-aria/i18n": "^3.12.4", + "@react-aria/link": "^3.7.7", + "@react-aria/utils": "^3.26.0", + "@react-types/breadcrumbs": "^3.7.9", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/button": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-aria/button/-/button-3.11.0.tgz", + "integrity": "sha512-b37eIV6IW11KmNIAm65F3SEl2/mgj5BrHIysW6smZX3KoKWTGYsYfcQkmtNgY0GOSFfDxMCoolsZ6mxC00nSDA==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/interactions": "^3.22.5", + "@react-aria/toolbar": "3.0.0-beta.11", + "@react-aria/utils": "^3.26.0", + "@react-stately/toggle": "^3.8.0", + "@react-types/button": "^3.10.1", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/calendar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-aria/calendar/-/calendar-3.6.0.tgz", + "integrity": "sha512-tZ3nd5DP8uxckbj83Pt+4RqgcTWDlGi7njzc7QqFOG2ApfnYDUXbIpb/Q4KY6JNlJskG8q33wo0XfOwNy8J+eg==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/utils": "^3.26.0", + "@react-stately/calendar": "^3.6.0", + "@react-types/button": "^3.10.1", + "@react-types/calendar": "^3.5.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/checkbox": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@react-aria/checkbox/-/checkbox-3.15.0.tgz", + "integrity": "sha512-z/8xd4em7o0MroBXwkkwv7QRwiJaA1FwqMhRUb7iqtBGP2oSytBEDf0N7L09oci32a1P4ZPz2rMK5GlLh/PD6g==", + "dependencies": { + "@react-aria/form": "^3.0.11", + "@react-aria/interactions": "^3.22.5", + "@react-aria/label": "^3.7.13", + "@react-aria/toggle": "^3.10.10", + "@react-aria/utils": "^3.26.0", + "@react-stately/checkbox": "^3.6.10", + "@react-stately/form": "^3.1.0", + "@react-stately/toggle": "^3.8.0", + "@react-types/checkbox": "^3.9.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/combobox": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-aria/combobox/-/combobox-3.11.0.tgz", + "integrity": "sha512-s88YMmPkMO1WSoiH1KIyZDLJqUwvM2wHXXakj3cYw1tBHGo4rOUFq+JWQIbM5EDO4HOR4AUUqzIUd0NO7t3zyg==", + "dependencies": { + "@react-aria/i18n": "^3.12.4", + "@react-aria/listbox": "^3.13.6", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/menu": "^3.16.0", + "@react-aria/overlays": "^3.24.0", + "@react-aria/selection": "^3.21.0", + "@react-aria/textfield": "^3.15.0", + "@react-aria/utils": "^3.26.0", + "@react-stately/collections": "^3.12.0", + "@react-stately/combobox": "^3.10.1", + "@react-stately/form": "^3.1.0", + "@react-types/button": "^3.10.1", + "@react-types/combobox": "^3.13.1", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/datepicker": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@react-aria/datepicker/-/datepicker-3.12.0.tgz", + "integrity": "sha512-VYNXioLfddIHpwQx211+rTYuunDmI7VHWBRetCpH3loIsVFuhFSRchTQpclAzxolO3g0vO7pMVj9VYt7Swp6kg==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@internationalized/number": "^3.6.0", + "@internationalized/string": "^3.2.5", + "@react-aria/focus": "^3.19.0", + "@react-aria/form": "^3.0.11", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/label": "^3.7.13", + "@react-aria/spinbutton": "^3.6.10", + "@react-aria/utils": "^3.26.0", + "@react-stately/datepicker": "^3.11.0", + "@react-stately/form": "^3.1.0", + "@react-types/button": "^3.10.1", + "@react-types/calendar": "^3.5.0", + "@react-types/datepicker": "^3.9.0", + "@react-types/dialog": "^3.5.14", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/dialog": { + "version": "3.5.20", + "resolved": "https://registry.npmjs.org/@react-aria/dialog/-/dialog-3.5.20.tgz", + "integrity": "sha512-l0GZVLgeOd3kL3Yj8xQW7wN3gn9WW3RLd/SGI9t7ciTq+I/FhftjXCWzXLlOCCTLMf+gv7eazecECtmoWUaZWQ==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/overlays": "^3.24.0", + "@react-aria/utils": "^3.26.0", + "@react-types/dialog": "^3.5.14", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/focus": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/@react-aria/focus/-/focus-3.19.0.tgz", + "integrity": "sha512-hPF9EXoUQeQl1Y21/rbV2H4FdUR2v+4/I0/vB+8U3bT1CJ+1AFj1hc/rqx2DqEwDlEwOHN+E4+mRahQmlybq0A==", + "dependencies": { + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/focus/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-aria/form": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@react-aria/form/-/form-3.0.11.tgz", + "integrity": "sha512-oXzjTiwVuuWjZ8muU0hp3BrDH5qjVctLOF50mjPvqUbvXQTHhoDxWweyIXPQjGshaqBd2w4pWaE4A2rG2O/apw==", + "dependencies": { + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-stately/form": "^3.1.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/grid": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-aria/grid/-/grid-3.11.0.tgz", + "integrity": "sha512-lN5FpQgu2Rq0CzTPWmzRpq6QHcMmzsXYeClsgO3108uVp1/genBNAObYVTxGOKe/jb9q99trz8EtIn05O6KN1g==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/selection": "^3.21.0", + "@react-aria/utils": "^3.26.0", + "@react-stately/collections": "^3.12.0", + "@react-stately/grid": "^3.10.0", + "@react-stately/selection": "^3.18.0", + "@react-types/checkbox": "^3.9.0", + "@react-types/grid": "^3.2.10", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/i18n": { + "version": "3.12.4", + "resolved": "https://registry.npmjs.org/@react-aria/i18n/-/i18n-3.12.4.tgz", + "integrity": "sha512-j9+UL3q0Ls8MhXV9gtnKlyozq4aM95YywXqnmJtzT1rYeBx7w28hooqrWkCYLfqr4OIryv1KUnPiCSLwC2OC7w==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@internationalized/message": "^3.1.6", + "@internationalized/number": "^3.6.0", + "@internationalized/string": "^3.2.5", + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/interactions": { + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/@react-aria/interactions/-/interactions-3.22.5.tgz", + "integrity": "sha512-kMwiAD9E0TQp+XNnOs13yVJghiy8ET8L0cbkeuTgNI96sOAp/63EJ1FSrDf17iD8sdjt41LafwX/dKXW9nCcLQ==", + "dependencies": { + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/label": { + "version": "3.7.13", + "resolved": "https://registry.npmjs.org/@react-aria/label/-/label-3.7.13.tgz", + "integrity": "sha512-brSAXZVTey5RG/Ex6mTrV/9IhGSQFU4Al34qmjEDho+Z2qT4oPwf8k7TRXWWqzOU0ugYxekYbsLd2zlN3XvWcg==", + "dependencies": { + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/link": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@react-aria/link/-/link-3.7.7.tgz", + "integrity": "sha512-eVBRcHKhNSsATYWv5wRnZXRqPVcKAWWakyvfrYePIKpC3s4BaHZyTGYdefk8ZwZdEOuQZBqLMnjW80q1uhtkuA==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-types/link": "^3.5.9", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/listbox": { + "version": "3.13.6", + "resolved": "https://registry.npmjs.org/@react-aria/listbox/-/listbox-3.13.6.tgz", + "integrity": "sha512-6hEXEXIZVau9lgBZ4VVjFR3JnGU+fJaPmV3HP0UZ2ucUptfG0MZo24cn+ZQJsWiuaCfNFv5b8qribiv+BcO+Kg==", + "dependencies": { + "@react-aria/interactions": "^3.22.5", + "@react-aria/label": "^3.7.13", + "@react-aria/selection": "^3.21.0", + "@react-aria/utils": "^3.26.0", + "@react-stately/collections": "^3.12.0", + "@react-stately/list": "^3.11.1", + "@react-types/listbox": "^3.5.3", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/live-announcer": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@react-aria/live-announcer/-/live-announcer-3.4.1.tgz", + "integrity": "sha512-4X2mcxgqLvvkqxv2l1n00jTzUxxe0kkLiapBGH1LHX/CxA1oQcHDqv8etJ2ZOwmS/MSBBiWnv3DwYHDOF6ubig==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-aria/menu": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@react-aria/menu/-/menu-3.16.0.tgz", + "integrity": "sha512-TNk+Vd3TbpBPUxEloAdHRTaRxf9JBK7YmkHYiq0Yj5Lc22KS0E2eTyhpPM9xJvEWN2TlC5TEvNfdyui2kYWFFQ==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/overlays": "^3.24.0", + "@react-aria/selection": "^3.21.0", + "@react-aria/utils": "^3.26.0", + "@react-stately/collections": "^3.12.0", + "@react-stately/menu": "^3.9.0", + "@react-stately/selection": "^3.18.0", + "@react-stately/tree": "^3.8.6", + "@react-types/button": "^3.10.1", + "@react-types/menu": "^3.9.13", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/overlays": { + "version": "3.24.0", + "resolved": "https://registry.npmjs.org/@react-aria/overlays/-/overlays-3.24.0.tgz", + "integrity": "sha512-0kAXBsMNTc/a3M07tK9Cdt/ea8CxTAEJ223g8YgqImlmoBBYAL7dl5G01IOj67TM64uWPTmZrOklBchHWgEm3A==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/ssr": "^3.9.7", + "@react-aria/utils": "^3.26.0", + "@react-aria/visually-hidden": "^3.8.18", + "@react-stately/overlays": "^3.6.12", + "@react-types/button": "^3.10.1", + "@react-types/overlays": "^3.8.11", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/progress": { + "version": "3.4.18", + "resolved": "https://registry.npmjs.org/@react-aria/progress/-/progress-3.4.18.tgz", + "integrity": "sha512-FOLgJ9t9i1u3oAAimybJG6r7/soNPBnJfWo4Yr6MmaUv90qVGa1h6kiuM5m9H/bm5JobAebhdfHit9lFlgsCmg==", + "dependencies": { + "@react-aria/i18n": "^3.12.4", + "@react-aria/label": "^3.7.13", + "@react-aria/utils": "^3.26.0", + "@react-types/progress": "^3.5.8", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/radio": { + "version": "3.10.10", + "resolved": "https://registry.npmjs.org/@react-aria/radio/-/radio-3.10.10.tgz", + "integrity": "sha512-NVdeOVrsrHgSfwL2jWCCXFsWZb+RMRZErj5vthHQW4nkHECGOzeX56VaLWTSvdoCPqi9wdIX8A6K9peeAIgxzA==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/form": "^3.0.11", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/label": "^3.7.13", + "@react-aria/utils": "^3.26.0", + "@react-stately/radio": "^3.10.9", + "@react-types/radio": "^3.8.5", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/selection": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/@react-aria/selection/-/selection-3.21.0.tgz", + "integrity": "sha512-52JJ6hlPcM+gt0VV3DBmz6Kj1YAJr13TfutrKfGWcK36LvNCBm1j0N+TDqbdnlp8Nue6w0+5FIwZq44XPYiBGg==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-stately/selection": "^3.18.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/slider": { + "version": "3.7.14", + "resolved": "https://registry.npmjs.org/@react-aria/slider/-/slider-3.7.14.tgz", + "integrity": "sha512-7rOiKjLkEZ0j7mPMlwrqivc+K4OSfL14slaQp06GHRiJkhiWXh2/drPe15hgNq55HmBQBpA0umKMkJcqVgmXPA==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/label": "^3.7.13", + "@react-aria/utils": "^3.26.0", + "@react-stately/slider": "^3.6.0", + "@react-types/shared": "^3.26.0", + "@react-types/slider": "^3.7.7", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/spinbutton": { + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/@react-aria/spinbutton/-/spinbutton-3.6.10.tgz", + "integrity": "sha512-nhYEYk7xUNOZDaqiQ5w/nHH9ouqjJbabTWXH+KK7UR1oVGfo4z1wG94l8KWF3Z6SGGnBxzLJyTBguZ4g9aYTSg==", + "dependencies": { + "@react-aria/i18n": "^3.12.4", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/utils": "^3.26.0", + "@react-types/button": "^3.10.1", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/ssr": { + "version": "3.9.7", + "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.9.7.tgz", + "integrity": "sha512-GQygZaGlmYjmYM+tiNBA5C6acmiDWF52Nqd40bBp0Znk4M4hP+LTmI0lpI1BuKMw45T8RIhrAsICIfKwZvi2Gg==", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/switch": { + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/@react-aria/switch/-/switch-3.6.10.tgz", + "integrity": "sha512-FtaI9WaEP1tAmra1sYlAkYXg9x75P5UtgY8pSbe9+1WRyWbuE1QZT+RNCTi3IU4fZ7iJQmXH6+VaMyzPlSUagw==", + "dependencies": { + "@react-aria/toggle": "^3.10.10", + "@react-stately/toggle": "^3.8.0", + "@react-types/shared": "^3.26.0", + "@react-types/switch": "^3.5.7", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/table": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/@react-aria/table/-/table-3.16.0.tgz", + "integrity": "sha512-9xF9S3CJ7XRiiK92hsIKxPedD0kgcQWwqTMtj3IBynpQ4vsnRiW3YNIzrn9C3apjknRZDTSta8O2QPYCUMmw2A==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/grid": "^3.11.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/interactions": "^3.22.5", + "@react-aria/live-announcer": "^3.4.1", + "@react-aria/utils": "^3.26.0", + "@react-aria/visually-hidden": "^3.8.18", + "@react-stately/collections": "^3.12.0", + "@react-stately/flags": "^3.0.5", + "@react-stately/table": "^3.13.0", + "@react-types/checkbox": "^3.9.0", + "@react-types/grid": "^3.2.10", + "@react-types/shared": "^3.26.0", + "@react-types/table": "^3.10.3", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/tabs": { + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/@react-aria/tabs/-/tabs-3.9.8.tgz", + "integrity": "sha512-Nur/qRFBe+Zrt4xcCJV/ULXCS3Mlae+B89bp1Gl20vSDqk6uaPtGk+cS5k03eugOvas7AQapqNJsJgKd66TChw==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/selection": "^3.21.0", + "@react-aria/utils": "^3.26.0", + "@react-stately/tabs": "^3.7.0", + "@react-types/shared": "^3.26.0", + "@react-types/tabs": "^3.3.11", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", + "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/textfield": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@react-aria/textfield/-/textfield-3.15.0.tgz", + "integrity": "sha512-V5mg7y1OR6WXYHdhhm4FC7QyGc9TideVRDFij1SdOJrIo5IFB7lvwpOS0GmgwkVbtr71PTRMjZnNbrJUFU6VNA==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/form": "^3.0.11", + "@react-aria/label": "^3.7.13", + "@react-aria/utils": "^3.26.0", + "@react-stately/form": "^3.1.0", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.26.0", + "@react-types/textfield": "^3.10.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/toggle": { + "version": "3.10.10", + "resolved": "https://registry.npmjs.org/@react-aria/toggle/-/toggle-3.10.10.tgz", + "integrity": "sha512-QwMT/vTNrbrILxWVHfd9zVQ3mV2NdBwyRu+DphVQiFAXcmc808LEaIX2n0lI6FCsUDC9ZejCyvzd91/YemdZ1Q==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-stately/toggle": "^3.8.0", + "@react-types/checkbox": "^3.9.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/toolbar": { + "version": "3.0.0-beta.11", + "resolved": "https://registry.npmjs.org/@react-aria/toolbar/-/toolbar-3.0.0-beta.11.tgz", + "integrity": "sha512-LM3jTRFNDgoEpoL568WaiuqiVM7eynSQLJis1hV0vlVnhTd7M7kzt7zoOjzxVb5Uapz02uCp1Fsm4wQMz09qwQ==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/i18n": "^3.12.4", + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/tooltip": { + "version": "3.7.10", + "resolved": "https://registry.npmjs.org/@react-aria/tooltip/-/tooltip-3.7.10.tgz", + "integrity": "sha512-Udi3XOnrF/SYIz72jw9bgB74MG/yCOzF5pozHj2FH2HiJlchYv/b6rHByV/77IZemdlkmL/uugrv/7raPLSlnw==", + "dependencies": { + "@react-aria/focus": "^3.19.0", + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-stately/tooltip": "^3.5.0", + "@react-types/shared": "^3.26.0", + "@react-types/tooltip": "^3.4.13", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/utils": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@react-aria/utils/-/utils-3.26.0.tgz", + "integrity": "sha512-LkZouGSjjQ0rEqo4XJosS4L3YC/zzQkfRM3KoqK6fUOmUJ9t0jQ09WjiF+uOoG9u+p30AVg3TrZRUWmoTS+koQ==", + "dependencies": { + "@react-aria/ssr": "^3.9.7", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-aria/utils/node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@react-aria/visually-hidden": { + "version": "3.8.18", + "resolved": "https://registry.npmjs.org/@react-aria/visually-hidden/-/visually-hidden-3.8.18.tgz", + "integrity": "sha512-l/0igp+uub/salP35SsNWq5mGmg3G5F5QMS1gDZ8p28n7CgjvzyiGhJbbca7Oxvaw1HRFzVl9ev+89I7moNnFQ==", + "dependencies": { + "@react-aria/interactions": "^3.22.5", + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/calendar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/calendar/-/calendar-3.6.0.tgz", + "integrity": "sha512-GqUtOtGnwWjtNrJud8nY/ywI4VBP5byToNVRTnxbMl+gYO1Qe/uc5NG7zjwMxhb2kqSBHZFdkF0DXVqG2Ul+BA==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@react-stately/utils": "^3.10.5", + "@react-types/calendar": "^3.5.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/checkbox": { + "version": "3.6.10", + "resolved": "https://registry.npmjs.org/@react-stately/checkbox/-/checkbox-3.6.10.tgz", + "integrity": "sha512-LHm7i4YI8A/RdgWAuADrnSAYIaYYpQeZqsp1a03Og0pJHAlZL0ymN3y2IFwbZueY0rnfM+yF+kWNXjJqbKrFEQ==", + "dependencies": { + "@react-stately/form": "^3.1.0", + "@react-stately/utils": "^3.10.5", + "@react-types/checkbox": "^3.9.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/collections": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/@react-stately/collections/-/collections-3.12.0.tgz", + "integrity": "sha512-MfR9hwCxe5oXv4qrLUnjidwM50U35EFmInUeFf8i9mskYwWlRYS0O1/9PZ0oF1M0cKambaRHKEy98jczgb9ycA==", + "dependencies": { + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/combobox": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-stately/combobox/-/combobox-3.10.1.tgz", + "integrity": "sha512-Rso+H+ZEDGFAhpKWbnRxRR/r7YNmYVtt+Rn0eNDNIUp3bYaxIBCdCySyAtALs4I8RZXZQ9zoUznP7YeVwG3cLg==", + "dependencies": { + "@react-stately/collections": "^3.12.0", + "@react-stately/form": "^3.1.0", + "@react-stately/list": "^3.11.1", + "@react-stately/overlays": "^3.6.12", + "@react-stately/select": "^3.6.9", + "@react-stately/utils": "^3.10.5", + "@react-types/combobox": "^3.13.1", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/datepicker": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/@react-stately/datepicker/-/datepicker-3.11.0.tgz", + "integrity": "sha512-d9MJF34A0VrhL5y5S8mAISA8uwfNCQKmR2k4KoQJm3De1J8SQeNzSjLviAwh1faDow6FXGlA6tVbTrHyDcBgBg==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@internationalized/string": "^3.2.5", + "@react-stately/form": "^3.1.0", + "@react-stately/overlays": "^3.6.12", + "@react-stately/utils": "^3.10.5", + "@react-types/datepicker": "^3.9.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/flags": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.0.5.tgz", + "integrity": "sha512-6wks4csxUwPCp23LgJSnkBRhrWpd9jGd64DjcCTNB2AHIFu7Ab1W59pJpUL6TW7uAxVxdNKjgn6D1hlBy8qWsA==", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@react-stately/form": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@react-stately/form/-/form-3.1.0.tgz", + "integrity": "sha512-E2wxNQ0QaTyDHD0nJFtTSnEH9A3bpJurwxhS4vgcUmESHgjFEMLlC9irUSZKgvOgb42GAq+fHoWBsgKeTp9Big==", + "dependencies": { + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/grid": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@react-stately/grid/-/grid-3.10.0.tgz", + "integrity": "sha512-ii+DdsOBvCnHMgL0JvUfFwO1kiAPP19Bpdpl6zn/oOltk6F5TmnoyNrzyz+2///1hCiySI3FE1O7ujsAQs7a6Q==", + "dependencies": { + "@react-stately/collections": "^3.12.0", + "@react-stately/selection": "^3.18.0", + "@react-types/grid": "^3.2.10", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/list": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@react-stately/list/-/list-3.11.1.tgz", + "integrity": "sha512-UCOpIvqBOjwLtk7zVTYWuKU1m1Oe61Q5lNar/GwHaV1nAiSQ8/yYlhr40NkBEs9X3plEfsV28UIpzOrYnu1tPg==", + "dependencies": { + "@react-stately/collections": "^3.12.0", + "@react-stately/selection": "^3.18.0", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/menu": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-stately/menu/-/menu-3.9.0.tgz", + "integrity": "sha512-++sm0fzZeUs9GvtRbj5RwrP+KL9KPANp9f4SvtI3s+MP+Y/X3X7LNNePeeccGeyikB5fzMsuyvd82bRRW9IhDQ==", + "dependencies": { + "@react-stately/overlays": "^3.6.12", + "@react-types/menu": "^3.9.13", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/overlays": { + "version": "3.6.12", + "resolved": "https://registry.npmjs.org/@react-stately/overlays/-/overlays-3.6.12.tgz", + "integrity": "sha512-QinvZhwZgj8obUyPIcyURSCjTZlqZYRRCS60TF8jH8ZpT0tEAuDb3wvhhSXuYA3Xo9EHLwvLjEf3tQKKdAQArw==", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/overlays": "^3.8.11", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/radio": { + "version": "3.10.9", + "resolved": "https://registry.npmjs.org/@react-stately/radio/-/radio-3.10.9.tgz", + "integrity": "sha512-kUQ7VdqFke8SDRCatw2jW3rgzMWbvw+n2imN2THETynI47NmNLzNP11dlGO2OllRtTrsLhmBNlYHa3W62pFpAw==", + "dependencies": { + "@react-stately/form": "^3.1.0", + "@react-stately/utils": "^3.10.5", + "@react-types/radio": "^3.8.5", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/select": { + "version": "3.6.9", + "resolved": "https://registry.npmjs.org/@react-stately/select/-/select-3.6.9.tgz", + "integrity": "sha512-vASUDv7FhEYQURzM+JIwcusPv7/x/l3zHc/oKJPvoCl3aa9pwS8hZwS82SC00o2iFnrDscfDJju4IE/cd4hucg==", + "dependencies": { + "@react-stately/form": "^3.1.0", + "@react-stately/list": "^3.11.1", + "@react-stately/overlays": "^3.6.12", + "@react-types/select": "^3.9.8", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/selection": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/@react-stately/selection/-/selection-3.18.0.tgz", + "integrity": "sha512-6EaNNP3exxBhW2LkcRR4a3pg+3oDguZlBSqIVVR7lyahv/D8xXHRC4dX+m0mgGHJpsgjs7664Xx6c8v193TFxg==", + "dependencies": { + "@react-stately/collections": "^3.12.0", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/slider": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@react-stately/slider/-/slider-3.6.0.tgz", + "integrity": "sha512-w5vJxVh267pmD1X+Ppd9S3ZzV1hcg0cV8q5P4Egr160b9WMcWlUspZPtsthwUlN7qQe/C8y5IAhtde4s29eNag==", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.26.0", + "@react-types/slider": "^3.7.7", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/table": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@react-stately/table/-/table-3.13.0.tgz", + "integrity": "sha512-mRbNYrwQIE7xzVs09Lk3kPteEVFVyOc20vA8ph6EP54PiUf/RllJpxZe/WUYLf4eom9lUkRYej5sffuUBpxjCA==", + "dependencies": { + "@react-stately/collections": "^3.12.0", + "@react-stately/flags": "^3.0.5", + "@react-stately/grid": "^3.10.0", + "@react-stately/selection": "^3.18.0", + "@react-stately/utils": "^3.10.5", + "@react-types/grid": "^3.2.10", + "@react-types/shared": "^3.26.0", + "@react-types/table": "^3.10.3", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/tabs": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@react-stately/tabs/-/tabs-3.7.0.tgz", + "integrity": "sha512-ox4hTkfZCoR4Oyr3Op3rBlWNq2Wxie04vhEYpTZQ2hobR3l4fYaOkd7CPClILktJ3TC104j8wcb0knWxIBRx9w==", + "dependencies": { + "@react-stately/list": "^3.11.1", + "@react-types/shared": "^3.26.0", + "@react-types/tabs": "^3.3.11", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/toggle": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@react-stately/toggle/-/toggle-3.8.0.tgz", + "integrity": "sha512-pyt/k/J8BwE/2g6LL6Z6sMSWRx9HEJB83Sm/MtovXnI66sxJ2EfQ1OaXB7Su5PEL9OMdoQF6Mb+N1RcW3zAoPw==", + "dependencies": { + "@react-stately/utils": "^3.10.5", + "@react-types/checkbox": "^3.9.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/tooltip": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-stately/tooltip/-/tooltip-3.5.0.tgz", + "integrity": "sha512-+xzPNztJDd2XJD0X3DgWKlrgOhMqZpSzsIssXeJgO7uCnP8/Z513ESaipJhJCFC8fxj5caO/DK4Uu8hEtlB8cQ==", + "dependencies": { + "@react-stately/overlays": "^3.6.12", + "@react-types/tooltip": "^3.4.13", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/tree": { + "version": "3.8.6", + "resolved": "https://registry.npmjs.org/@react-stately/tree/-/tree-3.8.6.tgz", + "integrity": "sha512-lblUaxf1uAuIz5jm6PYtcJ+rXNNVkqyFWTIMx6g6gW/mYvm8GNx1G/0MLZE7E6CuDGaO9dkLSY2bB1uqyKHidA==", + "dependencies": { + "@react-stately/collections": "^3.12.0", + "@react-stately/selection": "^3.18.0", + "@react-stately/utils": "^3.10.5", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/utils": { + "version": "3.10.5", + "resolved": "https://registry.npmjs.org/@react-stately/utils/-/utils-3.10.5.tgz", + "integrity": "sha512-iMQSGcpaecghDIh3mZEpZfoFH3ExBwTtuBEcvZ2XnGzCgQjeYXcMdIUwAfVQLXFTdHUHGF6Gu6/dFrYsCzySBQ==", + "dependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-stately/virtualizer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@react-stately/virtualizer/-/virtualizer-4.2.0.tgz", + "integrity": "sha512-aTMpa9AQoz/xLqn8AI1BR/caUUY7/OUo9GbuF434w2u5eGCL7+SAn3Fmq7WSCwqYyDsO+jEIERek4JTX7pEW0A==", + "dependencies": { + "@react-aria/utils": "^3.26.0", + "@react-types/shared": "^3.26.0", + "@swc/helpers": "^0.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/accordion": { + "version": "3.0.0-alpha.25", + "resolved": "https://registry.npmjs.org/@react-types/accordion/-/accordion-3.0.0-alpha.25.tgz", + "integrity": "sha512-nPTRrMA5jS4QcwQ0H8J9Tzzw7+yq+KbwsPNA1ukVIfOGIB45by/1ke/eiZAXGqXxkElxi2fQuaXuWm79BWZ8zg==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/breadcrumbs": { + "version": "3.7.9", + "resolved": "https://registry.npmjs.org/@react-types/breadcrumbs/-/breadcrumbs-3.7.9.tgz", + "integrity": "sha512-eARYJo8J+VfNV8vP4uw3L2Qliba9wLV2bx9YQCYf5Lc/OE5B/y4gaTLz+Y2P3Rtn6gBPLXY447zCs5i7gf+ICg==", + "dependencies": { + "@react-types/link": "^3.5.9", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/button": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/@react-types/button/-/button-3.10.1.tgz", + "integrity": "sha512-XTtap8o04+4QjPNAshFWOOAusUTxQlBjU2ai0BTVLShQEjHhRVDBIWsI2B2FKJ4KXT6AZ25llaxhNrreWGonmA==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/calendar": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@react-types/calendar/-/calendar-3.5.0.tgz", + "integrity": "sha512-O3IRE7AGwAWYnvJIJ80cOy7WwoJ0m8GtX/qSmvXQAjC4qx00n+b5aFNBYAQtcyc3RM5QpW6obs9BfwGetFiI8w==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/checkbox": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-types/checkbox/-/checkbox-3.9.0.tgz", + "integrity": "sha512-9hbHx0Oo2Hp5a8nV8Q75LQR0DHtvOIJbFaeqESSopqmV9EZoYjtY/h0NS7cZetgahQgnqYWQi44XGooMDCsmxA==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/combobox": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/@react-types/combobox/-/combobox-3.13.1.tgz", + "integrity": "sha512-7xr+HknfhReN4QPqKff5tbKTe2kGZvH+DGzPYskAtb51FAAiZsKo+WvnNAvLwg3kRoC9Rkn4TAiVBp/HgymRDw==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/datepicker": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/@react-types/datepicker/-/datepicker-3.9.0.tgz", + "integrity": "sha512-dbKL5Qsm2MQwOTtVQdOcKrrphcXAqDD80WLlSQrBLg+waDuuQ7H+TrvOT0thLKloNBlFUGnZZfXGRHINpih/0g==", + "dependencies": { + "@internationalized/date": "^3.6.0", + "@react-types/calendar": "^3.5.0", + "@react-types/overlays": "^3.8.11", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/dialog": { + "version": "3.5.14", + "resolved": "https://registry.npmjs.org/@react-types/dialog/-/dialog-3.5.14.tgz", + "integrity": "sha512-OXWMjrALwrlgw8aHD8SeRm/s3tbAssdaEh2h73KUSeFau3fU3n5mfKv+WnFqsEaOtN261o48l7hTlS6615H9AA==", + "dependencies": { + "@react-types/overlays": "^3.8.11", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/form": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/@react-types/form/-/form-3.7.8.tgz", + "integrity": "sha512-0wOS97/X0ijTVuIqik1lHYTZnk13QkvMTKvIEhM7c6YMU3vPiirBwLbT2kJiAdwLiymwcCkrBdDF1NTRG6kPFA==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/grid": { + "version": "3.2.10", + "resolved": "https://registry.npmjs.org/@react-types/grid/-/grid-3.2.10.tgz", + "integrity": "sha512-Z5cG0ITwqjUE4kWyU5/7VqiPl4wqMJ7kG/ZP7poAnLmwRsR8Ai0ceVn+qzp5nTA19cgURi8t3LsXn3Ar1FBoog==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/link": { + "version": "3.5.9", + "resolved": "https://registry.npmjs.org/@react-types/link/-/link-3.5.9.tgz", + "integrity": "sha512-JcKDiDMqrq/5Vpn+BdWQEuXit4KN4HR/EgIi3yKnNbYkLzxBoeQZpQgvTaC7NEQeZnSqkyXQo3/vMUeX/ZNIKw==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/listbox": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@react-types/listbox/-/listbox-3.5.3.tgz", + "integrity": "sha512-v1QXd9/XU3CCKr2Vgs7WLcTr6VMBur7CrxHhWZQQFExsf9bgJ/3wbUdjy4aThY/GsYHiaS38EKucCZFr1QAfqA==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/menu": { + "version": "3.9.13", + "resolved": "https://registry.npmjs.org/@react-types/menu/-/menu-3.9.13.tgz", + "integrity": "sha512-7SuX6E2tDsqQ+HQdSvIda1ji/+ujmR86dtS9CUu5yWX91P25ufRjZ72EvLRqClWNQsj1Xl4+2zBDLWlceznAjw==", + "dependencies": { + "@react-types/overlays": "^3.8.11", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/overlays": { + "version": "3.8.11", + "resolved": "https://registry.npmjs.org/@react-types/overlays/-/overlays-3.8.11.tgz", + "integrity": "sha512-aw7T0rwVI3EuyG5AOaEIk8j7dZJQ9m34XAztXJVZ/W2+4pDDkLDbJ/EAPnuo2xGYRGhowuNDn4tDju01eHYi+w==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/progress": { + "version": "3.5.8", + "resolved": "https://registry.npmjs.org/@react-types/progress/-/progress-3.5.8.tgz", + "integrity": "sha512-PR0rN5mWevfblR/zs30NdZr+82Gka/ba7UHmYOW9/lkKlWeD7PHgl1iacpd/3zl/jUF22evAQbBHmk1mS6Mpqw==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/radio": { + "version": "3.8.5", + "resolved": "https://registry.npmjs.org/@react-types/radio/-/radio-3.8.5.tgz", + "integrity": "sha512-gSImTPid6rsbJmwCkTliBIU/npYgJHOFaI3PNJo7Y0QTAnFelCtYeFtBiWrFodSArSv7ASqpLLUEj9hZu/rxIg==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/select": { + "version": "3.9.8", + "resolved": "https://registry.npmjs.org/@react-types/select/-/select-3.9.8.tgz", + "integrity": "sha512-RGsYj2oFjXpLnfcvWMBQnkcDuKkwT43xwYWZGI214/gp/B64tJiIUgTM5wFTRAeGDX23EePkhCQF+9ctnqFd6g==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/shared": { + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@react-types/shared/-/shared-3.26.0.tgz", + "integrity": "sha512-6FuPqvhmjjlpEDLTiYx29IJCbCNWPlsyO+ZUmCUXzhUv2ttShOXfw8CmeHWHftT/b2KweAWuzqSlfeXPR76jpw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/slider": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@react-types/slider/-/slider-3.7.7.tgz", + "integrity": "sha512-lYTR9zXQV2fSEm/G3gwDENWiki1IXd/oorsgf0zu1DBi2SQDbOsLsGUXiwvD24Xy6OkUuhAqjLPPexezo7+u9g==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/switch": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/@react-types/switch/-/switch-3.5.7.tgz", + "integrity": "sha512-1IKiq510rPTHumEZuhxuazuXBa2Cuxz6wBIlwf3NCVmgWEvU+uk1ETG0sH2yymjwCqhtJDKXi+qi9HSgPEDwAg==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/table": { + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/@react-types/table/-/table-3.10.3.tgz", + "integrity": "sha512-Ac+W+m/zgRzlTU8Z2GEg26HkuJFswF9S6w26r+R3MHwr8z2duGPvv37XRtE1yf3dbpRBgHEAO141xqS2TqGwNg==", + "dependencies": { + "@react-types/grid": "^3.2.10", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/tabs": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/@react-types/tabs/-/tabs-3.3.11.tgz", + "integrity": "sha512-BjF2TqBhZaIcC4lc82R5pDJd1F7kstj1K0Nokhz99AGYn8C0ITdp6lR+DPVY9JZRxKgP9R2EKfWGI90Lo7NQdA==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/textfield": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@react-types/textfield/-/textfield-3.10.0.tgz", + "integrity": "sha512-ShU3d6kLJGQjPXccVFjM3KOXdj3uyhYROqH9YgSIEVxgA9W6LRflvk/IVBamD9pJYTPbwmVzuP0wQkTDupfZ1w==", + "dependencies": { + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@react-types/tooltip": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@react-types/tooltip/-/tooltip-3.4.13.tgz", + "integrity": "sha512-KPekFC17RTT8kZlk7ZYubueZnfsGTDOpLw7itzolKOXGddTXsrJGBzSB4Bb060PBVllaDO0MOrhPap8OmrIl1Q==", + "dependencies": { + "@react-types/overlays": "^3.8.11", + "@react-types/shared": "^3.26.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" + } + }, + "node_modules/@remix-run/router": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.21.0.tgz", + "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", + "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", + "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", + "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", + "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", + "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", + "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", + "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", + "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", + "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", + "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", + "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", + "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", + "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", + "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", + "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", + "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", + "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", + "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", + "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.11.2.tgz", + "integrity": "sha512-OuFzMXPF4+xZgx8UzJha0AieuMihhhaWG0tCqpp6tDzlFwOmNBPYMuLOtMJ1Tr4pXLHmgjcWhG6RlknY2oNTdQ==", + "dependencies": { + "@tanstack/virtual-core": "3.11.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.11.2.tgz", + "integrity": "sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tauri-apps/api": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.2.0.tgz", + "integrity": "sha512-R8epOeZl1eJEl603aUMIGb4RXlhPjpgxbGVEaqY+0G5JG9vzV/clNlzTeqc+NLYXVqXcn8mb4c5b9pJIUDEyAg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.2.5.tgz", + "integrity": "sha512-PaefTQUCYYqvZWdH8EhXQkyJEjQwtoy/OHGoPcZx7Gk3D3K6AtGSxZ9OlHIz3Bu5LDGgVBk36vKtHW0WYsWnbw==", + "dev": true, + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "2.2.5", + "@tauri-apps/cli-darwin-x64": "2.2.5", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.2.5", + "@tauri-apps/cli-linux-arm64-gnu": "2.2.5", + "@tauri-apps/cli-linux-arm64-musl": "2.2.5", + "@tauri-apps/cli-linux-x64-gnu": "2.2.5", + "@tauri-apps/cli-linux-x64-musl": "2.2.5", + "@tauri-apps/cli-win32-arm64-msvc": "2.2.5", + "@tauri-apps/cli-win32-ia32-msvc": "2.2.5", + "@tauri-apps/cli-win32-x64-msvc": "2.2.5" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.2.5.tgz", + "integrity": "sha512-qdPmypQE7qj62UJy3Wl/ccCJZwsv5gyBByOrAaG7u5c/PB3QSxhNPegice2k4EHeIuApaVJOoe/CEYVgm/og2Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.2.5.tgz", + "integrity": "sha512-8JVlCAb2c3n0EcGW7n/1kU4Rq831SsoLDD/0hNp85Um8HGIH2Mg/qos/MLOc8Qv2mOaoKcRKf4hd0I1y0Rl9Cg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.2.5.tgz", + "integrity": "sha512-mzxQCqZg7ljRVgekPpXQ5TOehCNgnXh/DNWU6kFjALaBvaw4fGzc369/hV94wOt29htNFyxf8ty2DaQaYljEHw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.2.5.tgz", + "integrity": "sha512-M9nkzx5jsSJSNpp7aSza0qv0/N13SUNzH8ysYSZ7IaCN8coGeMg2KgQ5qC6tqUVij2rbg8A/X1n0pPo/gtLx0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.2.5.tgz", + "integrity": "sha512-tFhZu950HNRLR1RM5Q9Xj5gAlA6AhyyiZgeoXGFAWto+s2jpWmmA3Qq2GUxnVDr7Xui8PF4UY5kANDIOschuwg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.2.5.tgz", + "integrity": "sha512-eaGhTQLr3EKeksGsp2tK/Ndi7/oyo3P53Pye6kg0zqXiqu8LQjg1CgvDm1l+5oit04S60zR4AqlDFpoeEtDGgw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.2.5.tgz", + "integrity": "sha512-NLAO/SymDxeGuOWWQZCpwoED1K1jaHUvW+u9ip+rTetnxFPLvf3zXthx4QVKfCZLdj2WLQz4cLjHyQdMDXAM+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.2.5.tgz", + "integrity": "sha512-yG5KFbqrHfGjkAQAaaCD4i7cJklBjmMxZ2C92DEnqCOujSsEuLxrwwoKxQ4+hqEHOmF3lyX0vfqhgZcS03H38w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.2.5.tgz", + "integrity": "sha512-G5lq+2EdxOc8ttg3uhME5t9U3hMGTxwaKz0X4DplTG2Iv4lcNWqw/AESIJVHa5a+EB+ZCC8I+yOfIykp/Cd5mQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.2.5.tgz", + "integrity": "sha512-vw4fPVOo0rIQIlqw6xUvK2nwiRFBHNgayDE2Z/SomJlQJAJ1q4VgpHOPl12ouuicmTjK1gWKm7RTouQe3Nig0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/plugin-dialog": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.2.0.tgz", + "integrity": "sha512-6bLkYK68zyK31418AK5fNccCdVuRnNpbxquCl8IqgFByOgWFivbiIlvb79wpSXi0O+8k8RCSsIpOquebusRVSg==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-fs": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-fs/-/plugin-fs-2.2.0.tgz", + "integrity": "sha512-+08mApuONKI8/sCNEZ6AR8vf5vI9DXD4YfrQ9NQmhRxYKMLVhRW164vdW5BSLmMpuevftpQ2FVoL9EFkfG9Z+g==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-http": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-http/-/plugin-http-2.2.0.tgz", + "integrity": "sha512-ZY6sIHhgu8hcu6BkkegoiOEbvOsQFSVcK8J7l+g9RNHrkhl5uzpNIytR4R/H50fj7gyG80DJvrXDx/LBo7Easw==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-log": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-log/-/plugin-log-2.2.0.tgz", + "integrity": "sha512-g6CsQAR1lsm5ABSZZxpM/iCn86GrMDTTlhj7GPkZkYBRSm3+WczfOAl7SV7HDn77tOKCzhZffwI5uHfRoHutrw==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-notification": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-notification/-/plugin-notification-2.2.1.tgz", + "integrity": "sha512-QF8Zod6XDhxD6xkD5nU/BjbOpJ6+3gxGCrVULOdLpvMuMSN2Z2IdObV/qgnrEJk1UamUCF1ClQUqNCbk4zTJNQ==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-opener": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-opener/-/plugin-opener-2.2.5.tgz", + "integrity": "sha512-hHsJ9RPWpZvZEPVFaL+d25gABMUMOf/A6ESXnvf/ii9guTukj58WXsAE/SOysXRIhej7kseRCxnOnIMpSCdUsQ==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-os": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-os/-/plugin-os-2.2.0.tgz", + "integrity": "sha512-HszbCdbisMlu5QhCNAN8YIWyz2v33abAWha6+uvV2CKX8P5VSct/y+kEe22JeyqrxCnWlQ3DRx7s49Byg7/0EA==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-positioner": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-positioner/-/plugin-positioner-2.2.0.tgz", + "integrity": "sha512-3JIWqV4U1US4nmM4PGmAHODq0ltkJ91MyANR033elKSSpX3AqKnVQnLz76xThBFHjChJrZwsXASpc2Inpu+cTg==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-process": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-process/-/plugin-process-2.2.0.tgz", + "integrity": "sha512-uypN2Crmyop9z+KRJr3zl71OyVFgTuvHFjsJ0UxxQ/J5212jVa5w4nPEYjIewcn8bUEXacRebwE6F7owgrbhSw==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-shell": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-shell/-/plugin-shell-2.2.0.tgz", + "integrity": "sha512-iC3Ic1hLmasoboG7BO+7p+AriSoqAwKrIk+Hpk+S/bjTQdXqbl2GbdclghI4gM32X0bls7xHzIFqhRdrlvJeaA==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-store": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-store/-/plugin-store-2.2.0.tgz", + "integrity": "sha512-hJTRtuJis4w5fW1dkcgftsYxKXK0+DbAqurZ3CURHG5WkAyyZgbxpeYctw12bbzF9ZbZREXZklPq8mocCC3Sgg==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@tauri-apps/plugin-window-state": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-window-state/-/plugin-window-state-2.2.0.tgz", + "integrity": "sha512-PFZ/vkZ6UPaRyuggEn8jWc/xwpiEw3Id8i6bin54zUR3vHY0MOK+ovvpvp6SEHKryCJbZMigYJz0OUT2eZ4YmQ==", + "dependencies": { + "@tauri-apps/api": "^2.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==" + }, + "node_modules/@types/lodash.debounce": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/lodash.debounce/-/lodash.debounce-4.0.9.tgz", + "integrity": "sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "22.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", + "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", + "dev": true, + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "devOptional": true + }, + "node_modules/@types/react": { + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", + "devOptional": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", + "dev": true, + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/retry": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "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==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", + "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001690", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", + "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", + "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" + } + ] + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color2k": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz", + "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.1.tgz", + "integrity": "sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==" + }, + "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 + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "devOptional": true + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.76", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz", + "integrity": "sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==", + "dev": true + }, + "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==" + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "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==", + "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", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/framer-motion": { + "version": "11.17.0", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.17.0.tgz", + "integrity": "sha512-uTNLH9JPMD3ad14WBt3KYRTR+If4tGPLgKTKTIIPaEBMkvazs6EkWNcmCh65qA/tyinOqIbQiuCorXX0qQsNoQ==", + "dependencies": { + "motion-dom": "^11.16.4", + "motion-utils": "^11.16.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, + "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, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "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" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/input-otp": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/input-otp/-/input-otp-1.4.1.tgz", + "integrity": "sha512-+yvpmKYKHi9jIGngxagY9oWiiblPB7+nEO75F2l2o4vs+6vpPZZmUl4tBNYuTCvQjhvEIbdNeJu70bhfYP2nbw==", + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/intl-messageformat": { + "version": "10.7.11", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.11.tgz", + "integrity": "sha512-IB2N1tmI24k2EFH3PWjU7ivJsnWyLwOWOva0jnXFa29WzB6fb0JZ5EMQGu+XN5lDtjHYFo0/UooP67zBwUg7rQ==", + "dependencies": { + "@formatjs/ecma402-abstract": "2.3.2", + "@formatjs/fast-memoize": "2.2.6", + "@formatjs/icu-messageformat-parser": "2.9.8", + "tslib": "2" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=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==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-network-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", + "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", + "engines": { + "node": ">=16" + }, + "funding": { + "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==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "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==" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "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==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.471.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.471.0.tgz", + "integrity": "sha512-3L0OOJClsKDETJGK7nABqW8ftaVmUjWzluzPpw/6dGdI1bOmzsLsCjZpAEpg24Xs/U7xdYveQU+CBkHxWy7MrA==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/motion-dom": { + "version": "11.16.4", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.16.4.tgz", + "integrity": "sha512-2wuCie206pCiP2K23uvwJeci4pMFfyQKpWI0Vy6HrCTDzDCer4TsYtT7IVnuGbDeoIV37UuZiUr6SZMHEc1Vww==", + "dependencies": { + "motion-utils": "^11.16.0" + } + }, + "node_modules/motion-utils": { + "version": "11.16.0", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-11.16.0.tgz", + "integrity": "sha512-ngdWPjg31rD4WGXFi0eZ00DQQqKKu04QExyv/ymlC+3k+WIgYVFbt6gS5JsFPbJODTF/r8XiE/X+SsoT9c0ocw==" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "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 + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/p-retry": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", + "dependencies": { + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=16.17" + }, + "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==" + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "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==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "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==" + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.1.tgz", + "integrity": "sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA==", + "dependencies": { + "@remix-run/router": "1.21.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.1.tgz", + "integrity": "sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ==", + "dependencies": { + "@remix-run/router": "1.21.0", + "react-router": "6.28.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.5.7", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.7.tgz", + "integrity": "sha512-2MqJ3p0Jh69yt9ktFIaZmORHXw4c4bxSIhCeWiFwmJ9EYKgLmuNII3e9c9b2UO+ijl4StnpZdqpxNIhTdHvqtQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.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==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "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==", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", + "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.31.0", + "@rollup/rollup-android-arm64": "4.31.0", + "@rollup/rollup-darwin-arm64": "4.31.0", + "@rollup/rollup-darwin-x64": "4.31.0", + "@rollup/rollup-freebsd-arm64": "4.31.0", + "@rollup/rollup-freebsd-x64": "4.31.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", + "@rollup/rollup-linux-arm-musleabihf": "4.31.0", + "@rollup/rollup-linux-arm64-gnu": "4.31.0", + "@rollup/rollup-linux-arm64-musl": "4.31.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", + "@rollup/rollup-linux-riscv64-gnu": "4.31.0", + "@rollup/rollup-linux-s390x-gnu": "4.31.0", + "@rollup/rollup-linux-x64-gnu": "4.31.0", + "@rollup/rollup-linux-x64-musl": "4.31.0", + "@rollup/rollup-win32-arm64-msvc": "4.31.0", + "@rollup/rollup-win32-ia32-msvc": "4.31.0", + "@rollup/rollup-win32-x64-msvc": "4.31.0", + "fsevents": "~2.3.2" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.0.10.tgz", + "integrity": "sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg==", + "dependencies": { + "compute-scroll-into-view": "^3.0.2" + } + }, + "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/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==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=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==", + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "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==", + "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/string-width-cjs": { + "name": "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "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==", + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwind-merge": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz", + "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwind-variants": { + "version": "0.1.20", + "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-0.1.20.tgz", + "integrity": "sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ==", + "dependencies": { + "tailwind-merge": "^1.14.0" + }, + "engines": { + "node": ">=16.x", + "pnpm": ">=7.x" + }, + "peerDependencies": { + "tailwindcss": "*" + } + }, + "node_modules/tailwind-variants/node_modules/tailwind-merge": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", + "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/terser": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", + "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "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==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "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==" + }, + "node_modules/typescript": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "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" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-broadcast-ts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/use-broadcast-ts/-/use-broadcast-ts-2.0.0.tgz", + "integrity": "sha512-RcoHx6izzD7NZBsFhCMxmZSJymTOgKa8gGN9IjjbTCDkPL+o3MAShulTVe7nqLKZPcAC67O0oge8dtG1JVSRvQ==", + "optionalDependencies": { + "react": ">=18.0", + "zustand": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/use-composed-ref": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.4.0.tgz", + "integrity": "sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz", + "integrity": "sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.3.0.tgz", + "integrity": "sha512-mhg3xdm9NaM8q+gLT8KryJPnRFOz1/5XPBhmDEVZK1webPzDjrPk7f/mbpeLqTgB9msytYWANxgALOCJKnLvcQ==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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==" + }, + "node_modules/vite": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.6.tgz", + "integrity": "sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.4.49", + "rollup": "^4.23.0" + }, + "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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==" + }, + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/zustand": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.3.tgz", + "integrity": "sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5582d87 --- /dev/null +++ b/package.json @@ -0,0 +1,58 @@ +{ + "name": "s-tray", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "node scripts/buildExternal.js && vite", + "build": "node scripts/buildExternal.js && tsc && vite build", + "preview": "node scripts/buildExternal.js && vite preview", + "tauri": "tauri", + "info": "tauri info", + "build:mac": "tauri build --target aarch64-apple-darwin --debug", + "build:mac:universal": "tauri build --target universal-apple-darwin", + "build:mac:intel": "tauri build --target x86_64-apple-darwin", + "build:windows": "tauri build --runner cargo-xwin --target x86_64-pc-windows-msvc", + "below targets do not work": "echo 'you heard me'", + "build:windows:arm": "tauri build --runner cargo-xwin --target aarch64-pc-windows-msvc", + "build:linux:arm": "tauri build --target aarch64-unknown-linux-gnu", + "build:wasm": "tauri build --target wasm32-unknown-unknown" + }, + "dependencies": { + "@nextui-org/react": "^2.6.11", + "@tauri-apps/api": "~2.2.0", + "@tauri-apps/plugin-dialog": "^2.2.0", + "@tauri-apps/plugin-fs": "^2.2.0", + "@tauri-apps/plugin-http": "^2.2.0", + "@tauri-apps/plugin-log": "^2.2.0", + "@tauri-apps/plugin-notification": "^2.2.1", + "@tauri-apps/plugin-opener": "^2.2.5", + "@tauri-apps/plugin-os": "^2.2.0", + "@tauri-apps/plugin-positioner": "^2.2.0", + "@tauri-apps/plugin-process": "^2.2.0", + "@tauri-apps/plugin-shell": "^2.2.0", + "@tauri-apps/plugin-store": "^2.2.0", + "@tauri-apps/plugin-window-state": "^2.2.0", + "framer-motion": "^11.17.0", + "lucide-react": "^0.471.0", + "p-retry": "^6.2.1", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "react-router-dom": "^6.28.1", + "use-broadcast-ts": "^2.0.0", + "zustand": "^5.0.3" + }, + "devDependencies": { + "@biomejs/biome": "^1.9.4", + "@tauri-apps/cli": "~2.2.5", + "@types/node": "^22.10.7", + "@types/react": "^18.3.1", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.4", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.49", + "tailwindcss": "^3.4.17", + "typescript": "~5.6.2", + "vite": "^6.0.3" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..387612e --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} \ No newline at end of file diff --git a/public/browse.html b/public/browse.html new file mode 100644 index 0000000..9415b3a --- /dev/null +++ b/public/browse.html @@ -0,0 +1,495 @@ + + + + + + + + + +
+ + diff --git a/public/out.js b/public/out.js new file mode 100644 index 0000000..f89492f --- /dev/null +++ b/public/out.js @@ -0,0 +1,3 @@ +var un=Object.create;var it=Object.defineProperty;var cn=Object.getOwnPropertyDescriptor;var dn=Object.getOwnPropertyNames;var fn=Object.getPrototypeOf,pn=Object.prototype.hasOwnProperty;var rt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var hn=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of dn(e))!pn.call(t,o)&&o!==n&&it(t,o,{get:()=>e[o],enumerable:!(i=cn(e,o))||i.enumerable});return t};var ot=(t,e,n)=>(n=t!=null?un(fn(t)):{},hn(e||!t||!t.__esModule?it(n,"default",{value:t,enumerable:!0}):n,t));var Et=rt(p=>{"use strict";var ce=Symbol.for("react.element"),gn=Symbol.for("react.portal"),bn=Symbol.for("react.fragment"),_n=Symbol.for("react.strict_mode"),vn=Symbol.for("react.profiler"),Sn=Symbol.for("react.provider"),kn=Symbol.for("react.context"),Rn=Symbol.for("react.forward_ref"),Ln=Symbol.for("react.suspense"),Tn=Symbol.for("react.memo"),xn=Symbol.for("react.lazy"),_t=Symbol.iterator;function Cn(t){return t===null||typeof t!="object"?null:(t=_t&&t[_t]||t["@@iterator"],typeof t=="function"?t:null)}var kt={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Rt=Object.assign,Lt={};function ie(t,e,n){this.props=t,this.context=e,this.refs=Lt,this.updater=n||kt}ie.prototype.isReactComponent={};ie.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};ie.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Tt(){}Tt.prototype=ie.prototype;function $e(t,e,n){this.props=t,this.context=e,this.refs=Lt,this.updater=n||kt}var Ne=$e.prototype=new Tt;Ne.constructor=$e;Rt(Ne,ie.prototype);Ne.isPureReactComponent=!0;var vt=Array.isArray,xt=Object.prototype.hasOwnProperty,Be={current:null},Ct={key:!0,ref:!0,__self:!0,__source:!0};function At(t,e,n){var i,o={},s=null,a=null;if(e!=null)for(i in e.ref!==void 0&&(a=e.ref),e.key!==void 0&&(s=""+e.key),e)xt.call(e,i)&&!Ct.hasOwnProperty(i)&&(o[i]=e[i]);var c=arguments.length-2;if(c===1)o.children=n;else if(1{"use strict";Pt.exports=Et()});function S(t,e,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(t):i?i.value:e.get(t)}function j(t,e,n,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(t,n):o?o.value=n:e.set(t,n),n}var Y,D,X,me,T="__TAURI_TO_IPC_KEY__";function Oe(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}var U=class{constructor(){this.__TAURI_CHANNEL_MARKER__=!0,Y.set(this,()=>{}),D.set(this,0),X.set(this,[]),this.id=Oe(({message:e,id:n})=>{if(n==S(this,D,"f"))for(S(this,Y,"f").call(this,e),j(this,D,S(this,D,"f")+1,"f");S(this,D,"f")in S(this,X,"f");){let i=S(this,X,"f")[S(this,D,"f")];S(this,Y,"f").call(this,i),delete S(this,X,"f")[S(this,D,"f")],j(this,D,S(this,D,"f")+1,"f")}else S(this,X,"f")[n]=e})}set onmessage(e){j(this,Y,e,"f")}get onmessage(){return S(this,Y,"f")}[(Y=new WeakMap,D=new WeakMap,X=new WeakMap,T)](){return`__CHANNEL__:${this.id}`}toJSON(){return this[T]()}};async function r(t,e={},n){return window.__TAURI_INTERNALS__.invoke(t,e,n)}var F=class{get rid(){return S(this,me,"f")}constructor(e){me.set(this,void 0),j(this,me,e,"f")}async close(){return r("plugin:resources|close",{rid:this.rid})}};me=new WeakMap;var z=class{constructor(...e){this.type="Logical",e.length===1?"Logical"in e[0]?(this.width=e[0].Logical.width,this.height=e[0].Logical.height):(this.width=e[0].width,this.height=e[0].height):(this.width=e[0],this.height=e[1])}toPhysical(e){return new x(this.width*e,this.height*e)}[T](){return{width:this.width,height:this.height}}toJSON(){return this[T]()}},x=class{constructor(...e){this.type="Physical",e.length===1?"Physical"in e[0]?(this.width=e[0].Physical.width,this.height=e[0].Physical.height):(this.width=e[0].width,this.height=e[0].height):(this.width=e[0],this.height=e[1])}toLogical(e){return new z(this.width/e,this.height/e)}[T](){return{width:this.width,height:this.height}}toJSON(){return this[T]()}},P=class{constructor(e){this.size=e}toLogical(e){return this.size instanceof z?this.size:this.size.toLogical(e)}toPhysical(e){return this.size instanceof x?this.size:this.size.toPhysical(e)}[T](){return{[`${this.size.type}`]:{width:this.size.width,height:this.size.height}}}toJSON(){return this[T]()}},ae=class{constructor(...e){this.type="Logical",e.length===1?"Logical"in e[0]?(this.x=e[0].Logical.x,this.y=e[0].Logical.y):(this.x=e[0].x,this.y=e[0].y):(this.x=e[0],this.y=e[1])}toPhysical(e){return new w(this.x*e,this.y*e)}[T](){return{x:this.x,y:this.y}}toJSON(){return this[T]()}},w=class{constructor(...e){this.type="Physical",e.length===1?"Physical"in e[0]?(this.x=e[0].Physical.x,this.y=e[0].Physical.y):(this.x=e[0].x,this.y=e[0].y):(this.x=e[0],this.y=e[1])}toLogical(e){return new ae(this.x/e,this.y/e)}[T](){return{x:this.x,y:this.y}}toJSON(){return this[T]()}},L=class{constructor(e){this.position=e}toLogical(e){return this.position instanceof ae?this.position:this.position.toLogical(e)}toPhysical(e){return this.position instanceof w?this.position:this.position.toPhysical(e)}[T](){return{[`${this.position.type}`]:{x:this.position.x,y:this.position.y}}}toJSON(){return this[T]()}};var b;(function(t){t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WINDOW_CREATED="tauri://window-created",t.WEBVIEW_CREATED="tauri://webview-created",t.DRAG_ENTER="tauri://drag-enter",t.DRAG_OVER="tauri://drag-over",t.DRAG_DROP="tauri://drag-drop",t.DRAG_LEAVE="tauri://drag-leave"})(b||(b={}));async function st(t,e){await r("plugin:event|unlisten",{event:t,eventId:e})}async function I(t,e,n){var i;let o=typeof n?.target=="string"?{kind:"AnyLabel",label:n.target}:(i=n?.target)!==null&&i!==void 0?i:{kind:"Any"};return r("plugin:event|listen",{event:t,target:o,handler:Oe(e)}).then(s=>async()=>st(t,s))}async function ee(t,e,n){return I(t,i=>{st(t,i.id),e(i)},n)}async function ye(t,e){await r("plugin:event|emit",{event:t,payload:e})}async function we(t,e,n){await r("plugin:event|emit_to",{target:typeof t=="string"?{kind:"AnyLabel",label:t}:t,event:e,payload:n})}var Ee=class t extends F{constructor(e){super(e)}static async new(e,n,i){return r("plugin:image|new",{rgba:C(e),width:n,height:i}).then(o=>new t(o))}static async fromBytes(e){return r("plugin:image|from_bytes",{bytes:C(e)}).then(n=>new t(n))}static async fromPath(e){return r("plugin:image|from_path",{path:e}).then(n=>new t(n))}async rgba(){return r("plugin:image|rgba",{rid:this.rid}).then(e=>new Uint8Array(e))}async size(){return r("plugin:image|size",{rid:this.rid})}};function C(t){return t==null?null:typeof t=="string"?t:t instanceof Ee?t.rid:t}var Me;(function(t){t[t.Critical=1]="Critical",t[t.Informational=2]="Informational"})(Me||(Me={}));var Fe=class{constructor(e){this._preventDefault=!1,this.event=e.event,this.id=e.id}preventDefault(){this._preventDefault=!0}isPreventDefault(){return this._preventDefault}},at;(function(t){t.None="none",t.Normal="normal",t.Indeterminate="indeterminate",t.Paused="paused",t.Error="error"})(at||(at={}));function te(){return new N(window.__TAURI_INTERNALS__.metadata.currentWindow.label,{skip:!0})}async function $(){return r("plugin:window|get_all_windows").then(t=>t.map(e=>new N(e,{skip:!0})))}var Pe=["tauri://created","tauri://error"],N=class{constructor(e,n={}){var i;this.label=e,this.listeners=Object.create(null),n?.skip||r("plugin:window|create",{options:{...n,parent:typeof n.parent=="string"?n.parent:(i=n.parent)===null||i===void 0?void 0:i.label,label:e}}).then(async()=>this.emit("tauri://created")).catch(async o=>this.emit("tauri://error",o))}static async getByLabel(e){var n;return(n=(await $()).find(i=>i.label===e))!==null&&n!==void 0?n:null}static getCurrent(){return te()}static async getAll(){return $()}static async getFocusedWindow(){for(let e of await $())if(await e.isFocused())return e;return null}async listen(e,n){return this._handleTauriEvent(e,n)?()=>{let i=this.listeners[e];i.splice(i.indexOf(n),1)}:I(e,n,{target:{kind:"Window",label:this.label}})}async once(e,n){return this._handleTauriEvent(e,n)?()=>{let i=this.listeners[e];i.splice(i.indexOf(n),1)}:ee(e,n,{target:{kind:"Window",label:this.label}})}async emit(e,n){if(Pe.includes(e)){for(let i of this.listeners[e]||[])i({event:e,id:-1,payload:n});return}return ye(e,n)}async emitTo(e,n,i){if(Pe.includes(n)){for(let o of this.listeners[n]||[])o({event:n,id:-1,payload:i});return}return we(e,n,i)}_handleTauriEvent(e,n){return Pe.includes(e)?(e in this.listeners?this.listeners[e].push(n):this.listeners[e]=[n],!0):!1}async scaleFactor(){return r("plugin:window|scale_factor",{label:this.label})}async innerPosition(){return r("plugin:window|inner_position",{label:this.label}).then(e=>new w(e))}async outerPosition(){return r("plugin:window|outer_position",{label:this.label}).then(e=>new w(e))}async innerSize(){return r("plugin:window|inner_size",{label:this.label}).then(e=>new x(e))}async outerSize(){return r("plugin:window|outer_size",{label:this.label}).then(e=>new x(e))}async isFullscreen(){return r("plugin:window|is_fullscreen",{label:this.label})}async isMinimized(){return r("plugin:window|is_minimized",{label:this.label})}async isMaximized(){return r("plugin:window|is_maximized",{label:this.label})}async isFocused(){return r("plugin:window|is_focused",{label:this.label})}async isDecorated(){return r("plugin:window|is_decorated",{label:this.label})}async isResizable(){return r("plugin:window|is_resizable",{label:this.label})}async isMaximizable(){return r("plugin:window|is_maximizable",{label:this.label})}async isMinimizable(){return r("plugin:window|is_minimizable",{label:this.label})}async isClosable(){return r("plugin:window|is_closable",{label:this.label})}async isVisible(){return r("plugin:window|is_visible",{label:this.label})}async title(){return r("plugin:window|title",{label:this.label})}async theme(){return r("plugin:window|theme",{label:this.label})}async center(){return r("plugin:window|center",{label:this.label})}async requestUserAttention(e){let n=null;return e&&(e===Me.Critical?n={type:"Critical"}:n={type:"Informational"}),r("plugin:window|request_user_attention",{label:this.label,value:n})}async setResizable(e){return r("plugin:window|set_resizable",{label:this.label,value:e})}async setEnabled(e){return r("plugin:window|set_enabled",{label:this.label,value:e})}async isEnabled(){return r("plugin:window|is_enabled",{label:this.label})}async setMaximizable(e){return r("plugin:window|set_maximizable",{label:this.label,value:e})}async setMinimizable(e){return r("plugin:window|set_minimizable",{label:this.label,value:e})}async setClosable(e){return r("plugin:window|set_closable",{label:this.label,value:e})}async setTitle(e){return r("plugin:window|set_title",{label:this.label,value:e})}async maximize(){return r("plugin:window|maximize",{label:this.label})}async unmaximize(){return r("plugin:window|unmaximize",{label:this.label})}async toggleMaximize(){return r("plugin:window|toggle_maximize",{label:this.label})}async minimize(){return r("plugin:window|minimize",{label:this.label})}async unminimize(){return r("plugin:window|unminimize",{label:this.label})}async show(){return r("plugin:window|show",{label:this.label})}async hide(){return r("plugin:window|hide",{label:this.label})}async close(){return r("plugin:window|close",{label:this.label})}async destroy(){return r("plugin:window|destroy",{label:this.label})}async setDecorations(e){return r("plugin:window|set_decorations",{label:this.label,value:e})}async setShadow(e){return r("plugin:window|set_shadow",{label:this.label,value:e})}async setEffects(e){return r("plugin:window|set_effects",{label:this.label,value:e})}async clearEffects(){return r("plugin:window|set_effects",{label:this.label,value:null})}async setAlwaysOnTop(e){return r("plugin:window|set_always_on_top",{label:this.label,value:e})}async setAlwaysOnBottom(e){return r("plugin:window|set_always_on_bottom",{label:this.label,value:e})}async setContentProtected(e){return r("plugin:window|set_content_protected",{label:this.label,value:e})}async setSize(e){return r("plugin:window|set_size",{label:this.label,value:e instanceof P?e:new P(e)})}async setMinSize(e){return r("plugin:window|set_min_size",{label:this.label,value:e instanceof P?e:e?new P(e):null})}async setMaxSize(e){return r("plugin:window|set_max_size",{label:this.label,value:e instanceof P?e:e?new P(e):null})}async setSizeConstraints(e){function n(i){return i?{Logical:i}:null}return r("plugin:window|set_size_constraints",{label:this.label,value:{minWidth:n(e?.minWidth),minHeight:n(e?.minHeight),maxWidth:n(e?.maxWidth),maxHeight:n(e?.maxHeight)}})}async setPosition(e){return r("plugin:window|set_position",{label:this.label,value:e instanceof L?e:new L(e)})}async setFullscreen(e){return r("plugin:window|set_fullscreen",{label:this.label,value:e})}async setFocus(){return r("plugin:window|set_focus",{label:this.label})}async setIcon(e){return r("plugin:window|set_icon",{label:this.label,value:C(e)})}async setSkipTaskbar(e){return r("plugin:window|set_skip_taskbar",{label:this.label,value:e})}async setCursorGrab(e){return r("plugin:window|set_cursor_grab",{label:this.label,value:e})}async setCursorVisible(e){return r("plugin:window|set_cursor_visible",{label:this.label,value:e})}async setCursorIcon(e){return r("plugin:window|set_cursor_icon",{label:this.label,value:e})}async setBackgroundColor(e){return r("plugin:window|set_background_color",{color:e})}async setCursorPosition(e){return r("plugin:window|set_cursor_position",{label:this.label,value:e instanceof L?e:new L(e)})}async setIgnoreCursorEvents(e){return r("plugin:window|set_ignore_cursor_events",{label:this.label,value:e})}async startDragging(){return r("plugin:window|start_dragging",{label:this.label})}async startResizeDragging(e){return r("plugin:window|start_resize_dragging",{label:this.label,value:e})}async setBadgeCount(e){return r("plugin:window|set_badge_count",{label:this.label,value:e})}async setBadgeLabel(e){return r("plugin:window|set_badge_label",{label:this.label,value:e})}async setOverlayIcon(e){return r("plugin:window|set_overlay_icon",{label:this.label,value:e?C(e):void 0})}async setProgressBar(e){return r("plugin:window|set_progress_bar",{label:this.label,value:e})}async setVisibleOnAllWorkspaces(e){return r("plugin:window|set_visible_on_all_workspaces",{label:this.label,value:e})}async setTitleBarStyle(e){return r("plugin:window|set_title_bar_style",{label:this.label,value:e})}async setTheme(e){return r("plugin:window|set_theme",{label:this.label,value:e})}async onResized(e){return this.listen(b.WINDOW_RESIZED,n=>{n.payload=new x(n.payload),e(n)})}async onMoved(e){return this.listen(b.WINDOW_MOVED,n=>{n.payload=new w(n.payload),e(n)})}async onCloseRequested(e){return this.listen(b.WINDOW_CLOSE_REQUESTED,async n=>{let i=new Fe(n);await e(i),i.isPreventDefault()||await this.destroy()})}async onDragDropEvent(e){let n=await this.listen(b.DRAG_ENTER,a=>{e({...a,payload:{type:"enter",paths:a.payload.paths,position:new w(a.payload.position)}})}),i=await this.listen(b.DRAG_OVER,a=>{e({...a,payload:{type:"over",position:new w(a.payload.position)}})}),o=await this.listen(b.DRAG_DROP,a=>{e({...a,payload:{type:"drop",paths:a.payload.paths,position:new w(a.payload.position)}})}),s=await this.listen(b.DRAG_LEAVE,a=>{e({...a,payload:{type:"leave"}})});return()=>{n(),o(),i(),s()}}async onFocusChanged(e){let n=await this.listen(b.WINDOW_FOCUS,o=>{e({...o,payload:!0})}),i=await this.listen(b.WINDOW_BLUR,o=>{e({...o,payload:!1})});return()=>{n(),i()}}async onScaleChanged(e){return this.listen(b.WINDOW_SCALE_FACTOR_CHANGED,e)}async onThemeChanged(e){return this.listen(b.WINDOW_THEME_CHANGED,e)}},lt;(function(t){t.AppearanceBased="appearanceBased",t.Light="light",t.Dark="dark",t.MediumLight="mediumLight",t.UltraDark="ultraDark",t.Titlebar="titlebar",t.Selection="selection",t.Menu="menu",t.Popover="popover",t.Sidebar="sidebar",t.HeaderView="headerView",t.Sheet="sheet",t.WindowBackground="windowBackground",t.HudWindow="hudWindow",t.FullScreenUI="fullScreenUI",t.Tooltip="tooltip",t.ContentBackground="contentBackground",t.UnderWindowBackground="underWindowBackground",t.UnderPageBackground="underPageBackground",t.Mica="mica",t.Blur="blur",t.Acrylic="acrylic",t.Tabbed="tabbed",t.TabbedDark="tabbedDark",t.TabbedLight="tabbedLight"})(lt||(lt={}));var ut;(function(t){t.FollowsWindowActiveState="followsWindowActiveState",t.Active="active",t.Inactive="inactive"})(ut||(ut={}));function mn(t){return t===null?null:{name:t.name,scaleFactor:t.scaleFactor,position:new w(t.position),size:new x(t.size)}}async function ct(){return r("plugin:window|current_monitor").then(mn)}async function dt(t={}){return typeof t=="object"&&Object.freeze(t),await r("plugin:dialog|open",{options:t})}async function V(t,e){let n=typeof e=="string"?{title:e}:e;await r("plugin:dialog|message",{message:t.toString(),title:n?.title?.toString(),kind:n?.kind,okButtonLabel:n?.okLabel?.toString()})}async function ge(t,e){let n=typeof e=="string"?{title:e}:e;return await r("plugin:dialog|ask",{message:t.toString(),title:n?.title?.toString(),kind:n?.kind,yesButtonLabel:n?.okLabel?.toString(),noButtonLabel:n?.cancelLabel?.toString()})}async function ft(t,e){let n=typeof e=="string"?{title:e}:e;return await r("plugin:dialog|confirm",{message:t.toString(),title:n?.title?.toString(),kind:n?.kind,okButtonLabel:n?.okLabel?.toString(),cancelButtonLabel:n?.cancelLabel?.toString()})}var q;(function(t){t[t.Trace=1]="Trace",t[t.Debug=2]="Debug",t[t.Info=3]="Info",t[t.Warn=4]="Warn",t[t.Error=5]="Error"})(q||(q={}));function yn(t){if(t)if(t.startsWith("Error")){let n=t.split(` +`)[3]?.trim();if(!n)return;let i=/at\s+(?.*?)\s+\((?.*?):(?\d+):(?\d+)\)/,o=n.match(i);if(o){let{functionName:s,fileName:a,lineNumber:c,columnNumber:d}=o.groups;return`${s}@${a}:${c}:${d}`}else{let s=/at\s+(?.*?):(?\d+):(?\d+)/,a=n.match(s);if(a){let{fileName:c,lineNumber:d,columnNumber:l}=a.groups;return`@${c}:${d}:${l}`}}}else return t.split(` +`).map(i=>i.split("@")).filter(([i,o])=>i.length>0&&o!=="[native code]")[2]?.filter(i=>i.length>0).join("@")}async function le(t,e,n){let i=yn(new Error().stack),{file:o,line:s,keyValues:a}=n??{};await r("plugin:log|log",{level:t,message:e,location:i,file:o,line:s,keyValues:a})}async function pt(t,e){await le(q.Error,t,e)}async function ht(t,e){await le(q.Warn,t,e)}async function mt(t,e){await le(q.Info,t,e)}async function yt(t,e){await le(q.Debug,t,e)}async function wt(t,e){await le(q.Trace,t,e)}async function be(t=0){await r("plugin:process|exit",{code:t})}var ue=class{constructor(){this.eventListeners=Object.create(null)}addListener(e,n){return this.on(e,n)}removeListener(e,n){return this.off(e,n)}on(e,n){return e in this.eventListeners?this.eventListeners[e].push(n):this.eventListeners[e]=[n],this}once(e,n){let i=o=>{this.removeListener(e,i),n(o)};return this.addListener(e,i)}off(e,n){return e in this.eventListeners&&(this.eventListeners[e]=this.eventListeners[e].filter(i=>i!==n)),this}removeAllListeners(e){return e?delete this.eventListeners[e]:this.eventListeners=Object.create(null),this}emit(e,n){if(e in this.eventListeners){let i=this.eventListeners[e];for(let o of i)o(n);return!0}return!1}listenerCount(e){return e in this.eventListeners?this.eventListeners[e].length:0}prependListener(e,n){return e in this.eventListeners?this.eventListeners[e].unshift(n):this.eventListeners[e]=[n],this}prependOnceListener(e,n){let i=o=>{this.removeListener(e,i),n(o)};return this.prependListener(e,i)}},Ie=class{constructor(e){this.pid=e}async write(e){await r("plugin:shell|stdin_write",{pid:this.pid,buffer:e})}async kill(){await r("plugin:shell|kill",{cmd:"killChild",pid:this.pid})}},ne=class t extends ue{constructor(e,n=[],i){super(),this.stdout=new ue,this.stderr=new ue,this.program=e,this.args=typeof n=="string"?[n]:n,this.options=i??{}}static create(e,n=[],i){return new t(e,n,i)}static sidecar(e,n=[],i){let o=new t(e,n,i);return o.options.sidecar=!0,o}async spawn(){let e=this.program,n=this.args,i=this.options;typeof n=="object"&&Object.freeze(n);let o=new U;return o.onmessage=s=>{switch(s.event){case"Error":this.emit("error",s.payload);break;case"Terminated":this.emit("close",s.payload);break;case"Stdout":this.stdout.emit("data",s.payload);break;case"Stderr":this.stderr.emit("data",s.payload);break}},await r("plugin:shell|spawn",{program:e,args:n,options:i,onEvent:o}).then(s=>new Ie(s))}async execute(){let e=this.program,n=this.args,i=this.options;return typeof n=="object"&&Object.freeze(n),await r("plugin:shell|execute",{program:e,args:n,options:i})}};var De="Request canceled";async function _e(t,e){let n=e?.signal;if(n?.aborted)throw new Error(De);let i=e?.maxRedirections,o=e?.connectTimeout,s=e?.proxy;e&&(delete e.maxRedirections,delete e.connectTimeout,delete e.proxy);let a=e?.headers?e.headers instanceof Headers?e.headers:new Headers(e.headers):new Headers,c=new Request(t,e),d=await c.arrayBuffer(),l=d.byteLength!==0?Array.from(new Uint8Array(d)):null;for(let[Z,se]of c.headers)a.get(Z)||a.set(Z,se);let y=(a instanceof Headers?Array.from(a.entries()):Array.isArray(a)?a:Object.entries(a)).map(([Z,se])=>[Z,typeof se=="string"?se:se.toString()]);if(n?.aborted)throw new Error(De);let k=await r("plugin:http|fetch",{clientConfig:{method:c.method,url:c.url,headers:y,data:l,maxRedirections:i,connectTimeout:o,proxy:s}}),R=()=>r("plugin:http|fetch_cancel",{rid:k});if(n?.aborted)throw R(),new Error(De);n?.addEventListener("abort",()=>void R());let{status:O,statusText:u,url:f,headers:m,rid:v}=await r("plugin:http|fetch_send",{rid:k}),g=await r("plugin:http|fetch_read_body",{rid:v}),J=new Response(g instanceof ArrayBuffer&&g.byteLength!==0?g:g instanceof Array&&g.length>0?new Uint8Array(g):null,{status:O,statusText:u});return Object.defineProperty(J,"url",{value:f}),Object.defineProperty(J,"headers",{value:new Headers(m)}),J}async function Ue(){let t=await _e("http://localhost:5572/config/listremotes",{method:"POST"}).then(e=>e.json());if(typeof t?.remotes>"u")throw new Error("Failed to fetch remotes");return t.remotes}async function gt(t){await _e(`http://localhost:5572/config/delete?name=${t}`,{method:"POST"})}async function bt({remotePath:t,mountPoint:e,mountOptions:n,vfsOptions:i}){let o=new URLSearchParams;o.set("fs",t),o.set("mountPoint",e),n&&Object.keys(n).length>0&&o.set("mountOpt",JSON.stringify(n)),i&&Object.keys(i).length>0&&o.set("vfsOpt",JSON.stringify(i));let s=await _e(`http://localhost:5572/mount/mount?${o.toString()}`,{method:"POST"}).then(a=>a.json());if("error"in s)throw new Error(s.error)}async function We(t,e=!1){let i=await ne.create("umount",[e?"-f":"",t]).execute();if(i.code!==0){if(i.stderr.toLowerCase().includes("busy")){if(await ge("This resource is busy, do you want to force unmount?",{title:"Could not unmount",kind:"warning"}))return await We(t,!0);throw new Error(i.stderr)}if(i.stderr.toLowerCase().includes("not currently mounted"))return;throw new Error(i.stderr)}}async function wn(t,e){return await je.load(t,e)}var ve=class{get store(){return this._store||(this._store=wn(this.path,this.options)),this._store}constructor(e,n){this.path=e,this.options=n}async init(){await this.store}async set(e,n){return(await this.store).set(e,n)}async get(e){return(await this.store).get(e)}async has(e){return(await this.store).has(e)}async delete(e){return(await this.store).delete(e)}async clear(){await(await this.store).clear()}async reset(){await(await this.store).reset()}async keys(){return(await this.store).keys()}async values(){return(await this.store).values()}async entries(){return(await this.store).entries()}async length(){return(await this.store).length()}async reload(){await(await this.store).reload()}async save(){await(await this.store).save()}async onKeyChange(e,n){return(await this.store).onKeyChange(e,n)}async onChange(e){return(await this.store).onChange(e)}async close(){this._store&&await(await this._store).close()}},je=class t extends F{constructor(e){super(e)}static async load(e,n){let i=await r("plugin:store|load",{path:e,...n});return new t(i)}static async get(e){return await r("plugin:store|get_store",{path:e}).then(n=>n?new t(n):null)}async set(e,n){await r("plugin:store|set",{rid:this.rid,key:e,value:n})}async get(e){let[n,i]=await r("plugin:store|get",{rid:this.rid,key:e});return i?n:void 0}async has(e){return await r("plugin:store|has",{rid:this.rid,key:e})}async delete(e){return await r("plugin:store|delete",{rid:this.rid,key:e})}async clear(){await r("plugin:store|clear",{rid:this.rid})}async reset(){await r("plugin:store|reset",{rid:this.rid})}async keys(){return await r("plugin:store|keys",{rid:this.rid})}async values(){return await r("plugin:store|values",{rid:this.rid})}async entries(){return await r("plugin:store|entries",{rid:this.rid})}async length(){return await r("plugin:store|length",{rid:this.rid})}async reload(){await r("plugin:store|reload",{rid:this.rid})}async save(){await r("plugin:store|save",{rid:this.rid})}async onKeyChange(e,n){return await I("store://change",i=>{i.payload.resourceId===this.rid&&i.payload.key===e&&n(i.payload.exists?i.payload.value:void 0)})}async onChange(e){return await I("store://change",n=>{n.payload.resourceId===this.rid&&e(n.payload.key,n.payload.exists?n.payload.value:void 0)})}};var Je=ot(He(),1);var Mn=(t,e)=>(n,i,o)=>{var s;if(typeof window>"u"&&!(typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope))return console.warn("BroadcastChannel is not supported in this environment. The store will not be shared."),t(n,i,o);if(typeof BroadcastChannel>"u")return console.warn("BroadcastChannel is not supported in this browser. The store will not be shared."),t(n,i,o);let a=i()!==void 0,c=!1,d=(s=e?.name)!=null?s:t.toString(),l=0,h=[0],y=new BroadcastChannel(d),k=()=>{let f=i();e!=null&&e.partialize&&(f=e.partialize(f)),e!=null&&e.skipSerialization||(f=JSON.parse(JSON.stringify(f))),y.postMessage({action:"change",state:f})},R=(...f)=>{n(...f),!(e!=null&&e.unsync)&&k()};y.onmessage=f=>{if(f.data.action==="sync"){if(!c)return;k();let m=h[h.length-1]+1;h.push(m),e==null||e.onTabsChange==null||e.onTabsChange(h),y.postMessage({action:"add_new_tab",id:m});return}if(f.data.action==="add_new_tab"&&!c&&l===0){l=f.data.id;return}if(f.data.action==="change"&&(n(m=>e!=null&&e.merge?e.merge(m,f.data.state):f.data.state),a=!0),f.data.action==="close"){if(!c)return;let m=h.indexOf(f.data.id);m!==-1&&(h.splice(m,1),e==null||e.onTabsChange==null||e.onTabsChange(h))}f.data.action==="change_main"&&f.data.id===l&&(c=!0,h.splice(0,h.length,...f.data.tabs),e==null||e.onBecomeMain==null||e.onBecomeMain(l))};let O=()=>{var f;y.postMessage({action:"sync"}),setTimeout(()=>{a||(c=!0,a=!0,e==null||e.onBecomeMain==null||e.onBecomeMain(l))},(f=e?.mainTimeout)!=null?f:100)},u=()=>{if(y.postMessage({action:"close",id:l}),c){if(h.length===1){y.close();return}let f=h.filter(m=>m!==l);y.postMessage({action:"change_main",id:f[0],tabs:f});return}};return typeof window<"u"&&window.addEventListener("beforeunload",u),a||O(),o.setState=R,t(R,i,o)},Mt=Mn;var Ft=t=>{let e,n=new Set,i=(l,h)=>{let y=typeof l=="function"?l(e):l;if(!Object.is(y,e)){let k=e;e=h??(typeof y!="object"||y===null)?y:Object.assign({},e,y),n.forEach(R=>R(e,k))}},o=()=>e,c={setState:i,getState:o,getInitialState:()=>d,subscribe:l=>(n.add(l),()=>n.delete(l))},d=e=t(i,o,c);return c},It=t=>t?Ft(t):Ft;var Ve=ot(He(),1);var Fn=t=>t;function In(t,e=Fn){let n=Ve.default.useSyncExternalStore(t.subscribe,()=>e(t.getState()),()=>e(t.getInitialState()));return Ve.default.useDebugValue(n),n}var Dt=t=>{let e=It(t),n=i=>In(e,i);return Object.assign(n,e),n},qe=t=>t?Dt(t):Dt;function Qe(t,e){let n;try{n=t()}catch{return}return{getItem:o=>{var s;let a=d=>d===null?null:JSON.parse(d,e?.reviver),c=(s=n.getItem(o))!=null?s:null;return c instanceof Promise?c.then(a):a(c)},setItem:(o,s)=>n.setItem(o,JSON.stringify(s,e?.replacer)),removeItem:o=>n.removeItem(o)}}var Ke=t=>e=>{try{let n=t(e);return n instanceof Promise?n:{then(i){return Ke(i)(n)},catch(i){return this}}}catch(n){return{then(i){return this},catch(i){return Ke(i)(n)}}}},Dn=(t,e)=>(n,i,o)=>{let s={storage:Qe(()=>localStorage),partialize:u=>u,version:0,merge:(u,f)=>({...f,...u}),...e},a=!1,c=new Set,d=new Set,l=s.storage;if(!l)return t((...u)=>{console.warn(`[zustand persist middleware] Unable to update item '${s.name}', the given storage is currently unavailable.`),n(...u)},i,o);let h=()=>{let u=s.partialize({...i()});return l.setItem(s.name,{state:u,version:s.version})},y=o.setState;o.setState=(u,f)=>{y(u,f),h()};let k=t((...u)=>{n(...u),h()},i,o);o.getInitialState=()=>k;let R,O=()=>{var u,f;if(!l)return;a=!1,c.forEach(v=>{var g;return v((g=i())!=null?g:k)});let m=((f=s.onRehydrateStorage)==null?void 0:f.call(s,(u=i())!=null?u:k))||void 0;return Ke(l.getItem.bind(l))(s.name).then(v=>{if(v)if(typeof v.version=="number"&&v.version!==s.version){if(s.migrate){let g=s.migrate(v.state,v.version);return g instanceof Promise?g.then(J=>[!0,J]):[!0,g]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,v.state];return[!1,void 0]}).then(v=>{var g;let[J,Z]=v;if(R=s.merge(Z,(g=i())!=null?g:k),n(R,!0),J)return h()}).then(()=>{m?.(R,void 0),R=i(),a=!0,d.forEach(v=>v(R))}).catch(v=>{m?.(void 0,v)})};return o.persist={setOptions:u=>{s={...s,...u},u.storage&&(l=u.storage)},clearStorage:()=>{l?.removeItem(s.name)},getOptions:()=>s,rehydrate:()=>O(),hasHydrated:()=>a,onHydrate:u=>(c.add(u),()=>{c.delete(u)}),onFinishHydration:u=>(d.add(u),()=>{d.delete(u)})},s.skipHydration||O(),R||k},Ut=Dn;var Wt=new ve("store.json"),Un=t=>({getItem:async e=>(console.log("getItem",{name:e}),await t.get(e)||null),setItem:async(e,n)=>{console.log("setItem",{name:e,value:n}),await t.set(e,n),await t.save()},removeItem:async e=>{console.log("removeItem",{name:e}),await t.delete(e),await t.save()}}),K=qe()(Mt(t=>({count:0,anotherCount:0,increment:()=>t(e=>({count:e.count+1})),rcloneLoaded:!1,mountedRemotes:{},serveList:[],setServeList:e=>t(n=>({serveList:[...n.serveList,e]})),removeServeList:e=>t(n=>({serveList:n.serveList.filter(i=>i.pid!==e)})),remotes:[],setRemotes:e=>t(n=>({remotes:e})),addRemote:e=>t(n=>({remotes:[...n.remotes,e]})),removeRemote:e=>t(n=>({remotes:n.remotes.filter(i=>i!==e)}))}),{name:"shared-store"})),Le=qe()(Ut(t=>({remoteConfigList:{},setRemoteConfig:(e,n)=>t(i=>({remoteConfigList:{...i.remoteConfigList,[e]:n}})),mergeRemoteConfig:(e,n)=>t(i=>({remoteConfigList:{...i.remoteConfigList,[e]:{...i.remoteConfigList[e],...n}}})),disabledActions:[]}),{name:"store",storage:Qe(()=>Un(Wt))}));Wt.onKeyChange("store",async t=>{await Le.persist.rehydrate()});var B=class t extends F{constructor(e,n){super(e),this.id=n}static async getById(e){return r("plugin:tray|get_by_id",{id:e}).then(n=>n?new t(n,e):null)}static async removeById(e){return r("plugin:tray|remove_by_id",{id:e})}static async new(e){e?.menu&&(e.menu=[e.menu.rid,e.menu.kind]),e?.icon&&(e.icon=C(e.icon));let n=new U;if(e?.action){let i=e.action;n.onmessage=o=>i(Wn(o)),delete e.action}return r("plugin:tray|new",{options:e??{},handler:n}).then(([i,o])=>new t(i,o))}async setIcon(e){let n=null;return e&&(n=C(e)),r("plugin:tray|set_icon",{rid:this.rid,icon:n})}async setMenu(e){return e&&(e=[e.rid,e.kind]),r("plugin:tray|set_menu",{rid:this.rid,menu:e})}async setTooltip(e){return r("plugin:tray|set_tooltip",{rid:this.rid,tooltip:e})}async setTitle(e){return r("plugin:tray|set_title",{rid:this.rid,title:e})}async setVisible(e){return r("plugin:tray|set_visible",{rid:this.rid,visible:e})}async setTempDirPath(e){return r("plugin:tray|set_temp_dir_path",{rid:this.rid,path:e})}async setIconAsTemplate(e){return r("plugin:tray|set_icon_as_template",{rid:this.rid,asTemplate:e})}async setMenuOnLeftClick(e){return r("plugin:tray|set_show_menu_on_left_click",{rid:this.rid,onLeft:e})}async setShowMenuOnLeftClick(e){return r("plugin:tray|set_show_menu_on_left_click",{rid:this.rid,onLeft:e})}};function Wn(t){let e=t;return e.position=new w(t.position),e.rect.position=new w(t.rect.position),e.rect.size=new x(t.rect.size),e}var Te;(function(t){t[t.TopLeft=0]="TopLeft",t[t.TopRight=1]="TopRight",t[t.BottomLeft=2]="BottomLeft",t[t.BottomRight=3]="BottomRight",t[t.TopCenter=4]="TopCenter",t[t.BottomCenter=5]="BottomCenter",t[t.LeftCenter=6]="LeftCenter",t[t.RightCenter=7]="RightCenter",t[t.Center=8]="Center",t[t.TrayLeft=9]="TrayLeft",t[t.TrayBottomLeft=10]="TrayBottomLeft",t[t.TrayRight=11]="TrayRight",t[t.TrayBottomRight=12]="TrayBottomRight",t[t.TrayCenter=13]="TrayCenter",t[t.TrayBottomCenter=14]="TrayBottomCenter"})(Te||(Te={}));async function jt(t){await r("plugin:positioner|move_window",{position:t})}async function zt(t){await r("plugin:positioner|set_tray_icon_state",{position:t.rect.position,size:t.rect.size})}var xe,Ce;function $t(t){var e;if("items"in t)t.items=(e=t.items)===null||e===void 0?void 0:e.map(n=>"rid"in n?n:$t(n));else if("action"in t&&t.action){let n=new U;return n.onmessage=t.action,delete t.action,{...t,handler:n}}return t}async function M(t,e){let n=new U;if(e&&typeof e=="object"&&("action"in e&&e.action&&(n.onmessage=e.action,delete e.action),"item"in e&&e.item&&typeof e.item=="object"&&"About"in e.item&&e.item.About&&typeof e.item.About=="object"&&"icon"in e.item.About&&e.item.About.icon&&(e.item.About.icon=C(e.item.About.icon)),"icon"in e&&e.icon&&(e.icon=C(e.icon)),"items"in e&&e.items)){let i=function(o){var s;return"rid"in o?[o.rid,o.kind]:("item"in o&&typeof o.item=="object"&&(!((s=o.item.About)===null||s===void 0)&&s.icon)&&(o.item.About.icon=C(o.item.About.icon)),"icon"in o&&o.icon&&(o.icon=C(o.icon)),"items"in o&&o.items&&(o.items=o.items.map(i)),$t(o))};e.items=e.items.map(i)}return r("plugin:menu|new",{kind:t,options:e,handler:n})}var E=class extends F{get id(){return S(this,xe,"f")}get kind(){return S(this,Ce,"f")}constructor(e,n,i){super(e),xe.set(this,void 0),Ce.set(this,void 0),j(this,xe,n,"f"),j(this,Ce,i,"f")}};xe=new WeakMap,Ce=new WeakMap;var _=class t extends E{constructor(e,n){super(e,n,"MenuItem")}static async new(e){return M("MenuItem",e).then(([n,i])=>new t(n,i))}async text(){return r("plugin:menu|text",{rid:this.rid,kind:this.kind})}async setText(e){return r("plugin:menu|set_text",{rid:this.rid,kind:this.kind,text:e})}async isEnabled(){return r("plugin:menu|is_enabled",{rid:this.rid,kind:this.kind})}async setEnabled(e){return r("plugin:menu|set_enabled",{rid:this.rid,kind:this.kind,enabled:e})}async setAccelerator(e){return r("plugin:menu|set_accelerator",{rid:this.rid,kind:this.kind,accelerator:e})}};var de=class t extends E{constructor(e,n){super(e,n,"Check")}static async new(e){return M("Check",e).then(([n,i])=>new t(n,i))}async text(){return r("plugin:menu|text",{rid:this.rid,kind:this.kind})}async setText(e){return r("plugin:menu|set_text",{rid:this.rid,kind:this.kind,text:e})}async isEnabled(){return r("plugin:menu|is_enabled",{rid:this.rid,kind:this.kind})}async setEnabled(e){return r("plugin:menu|set_enabled",{rid:this.rid,kind:this.kind,enabled:e})}async setAccelerator(e){return r("plugin:menu|set_accelerator",{rid:this.rid,kind:this.kind,accelerator:e})}async isChecked(){return r("plugin:menu|is_checked",{rid:this.rid})}async setChecked(e){return r("plugin:menu|set_checked",{rid:this.rid,checked:e})}};var Ze;(function(t){t.Add="Add",t.Advanced="Advanced",t.Bluetooth="Bluetooth",t.Bookmarks="Bookmarks",t.Caution="Caution",t.ColorPanel="ColorPanel",t.ColumnView="ColumnView",t.Computer="Computer",t.EnterFullScreen="EnterFullScreen",t.Everyone="Everyone",t.ExitFullScreen="ExitFullScreen",t.FlowView="FlowView",t.Folder="Folder",t.FolderBurnable="FolderBurnable",t.FolderSmart="FolderSmart",t.FollowLinkFreestanding="FollowLinkFreestanding",t.FontPanel="FontPanel",t.GoLeft="GoLeft",t.GoRight="GoRight",t.Home="Home",t.IChatTheater="IChatTheater",t.IconView="IconView",t.Info="Info",t.InvalidDataFreestanding="InvalidDataFreestanding",t.LeftFacingTriangle="LeftFacingTriangle",t.ListView="ListView",t.LockLocked="LockLocked",t.LockUnlocked="LockUnlocked",t.MenuMixedState="MenuMixedState",t.MenuOnState="MenuOnState",t.MobileMe="MobileMe",t.MultipleDocuments="MultipleDocuments",t.Network="Network",t.Path="Path",t.PreferencesGeneral="PreferencesGeneral",t.QuickLook="QuickLook",t.RefreshFreestanding="RefreshFreestanding",t.Refresh="Refresh",t.Remove="Remove",t.RevealFreestanding="RevealFreestanding",t.RightFacingTriangle="RightFacingTriangle",t.Share="Share",t.Slideshow="Slideshow",t.SmartBadge="SmartBadge",t.StatusAvailable="StatusAvailable",t.StatusNone="StatusNone",t.StatusPartiallyAvailable="StatusPartiallyAvailable",t.StatusUnavailable="StatusUnavailable",t.StopProgressFreestanding="StopProgressFreestanding",t.StopProgress="StopProgress",t.TrashEmpty="TrashEmpty",t.TrashFull="TrashFull",t.User="User",t.UserAccounts="UserAccounts",t.UserGroup="UserGroup",t.UserGuest="UserGuest"})(Ze||(Ze={}));var fe=class t extends E{constructor(e,n){super(e,n,"Icon")}static async new(e){return M("Icon",e).then(([n,i])=>new t(n,i))}async text(){return r("plugin:menu|text",{rid:this.rid,kind:this.kind})}async setText(e){return r("plugin:menu|set_text",{rid:this.rid,kind:this.kind,text:e})}async isEnabled(){return r("plugin:menu|is_enabled",{rid:this.rid,kind:this.kind})}async setEnabled(e){return r("plugin:menu|set_enabled",{rid:this.rid,kind:this.kind,enabled:e})}async setAccelerator(e){return r("plugin:menu|set_accelerator",{rid:this.rid,kind:this.kind,accelerator:e})}async setIcon(e){return r("plugin:menu|set_icon",{rid:this.rid,icon:C(e)})}};var G=class t extends E{constructor(e,n){super(e,n,"Predefined")}static async new(e){return M("Predefined",e).then(([n,i])=>new t(n,i))}async text(){return r("plugin:menu|text",{rid:this.rid,kind:this.kind})}async setText(e){return r("plugin:menu|set_text",{rid:this.rid,kind:this.kind,text:e})}};function H([t,e,n]){switch(n){case"Submenu":return new re(t,e);case"Predefined":return new G(t,e);case"Check":return new de(t,e);case"Icon":return new fe(t,e);case"MenuItem":default:return new _(t,e)}}var re=class t extends E{constructor(e,n){super(e,n,"Submenu")}static async new(e){return M("Submenu",e).then(([n,i])=>new t(n,i))}async text(){return r("plugin:menu|text",{rid:this.rid,kind:this.kind})}async setText(e){return r("plugin:menu|set_text",{rid:this.rid,kind:this.kind,text:e})}async isEnabled(){return r("plugin:menu|is_enabled",{rid:this.rid,kind:this.kind})}async setEnabled(e){return r("plugin:menu|set_enabled",{rid:this.rid,kind:this.kind,enabled:e})}async append(e){return r("plugin:menu|append",{rid:this.rid,kind:this.kind,items:(Array.isArray(e)?e:[e]).map(n=>"rid"in n?[n.rid,n.kind]:n)})}async prepend(e){return r("plugin:menu|prepend",{rid:this.rid,kind:this.kind,items:(Array.isArray(e)?e:[e]).map(n=>"rid"in n?[n.rid,n.kind]:n)})}async insert(e,n){return r("plugin:menu|insert",{rid:this.rid,kind:this.kind,items:(Array.isArray(e)?e:[e]).map(i=>"rid"in i?[i.rid,i.kind]:i),position:n})}async remove(e){return r("plugin:menu|remove",{rid:this.rid,kind:this.kind,item:[e.rid,e.kind]})}async removeAt(e){return r("plugin:menu|remove_at",{rid:this.rid,kind:this.kind,position:e}).then(H)}async items(){return r("plugin:menu|items",{rid:this.rid,kind:this.kind}).then(e=>e.map(H))}async get(e){return r("plugin:menu|get",{rid:this.rid,kind:this.kind,id:e}).then(n=>n?H(n):null)}async popup(e,n){var i;return r("plugin:menu|popup",{rid:this.rid,kind:this.kind,window:(i=n?.label)!==null&&i!==void 0?i:null,at:e instanceof L?e:e?new L(e):null})}async setAsWindowsMenuForNSApp(){return r("plugin:menu|set_as_windows_menu_for_nsapp",{rid:this.rid})}async setAsHelpMenuForNSApp(){return r("plugin:menu|set_as_help_menu_for_nsapp",{rid:this.rid})}};var pe=class t extends E{constructor(e,n){super(e,n,"Menu")}static async new(e){return M("Menu",e).then(([n,i])=>new t(n,i))}static async default(){return r("plugin:menu|create_default").then(([e,n])=>new t(e,n))}async append(e){return r("plugin:menu|append",{rid:this.rid,kind:this.kind,items:(Array.isArray(e)?e:[e]).map(n=>"rid"in n?[n.rid,n.kind]:n)})}async prepend(e){return r("plugin:menu|prepend",{rid:this.rid,kind:this.kind,items:(Array.isArray(e)?e:[e]).map(n=>"rid"in n?[n.rid,n.kind]:n)})}async insert(e,n){return r("plugin:menu|insert",{rid:this.rid,kind:this.kind,items:(Array.isArray(e)?e:[e]).map(i=>"rid"in i?[i.rid,i.kind]:i),position:n})}async remove(e){return r("plugin:menu|remove",{rid:this.rid,kind:this.kind,item:[e.rid,e.kind]})}async removeAt(e){return r("plugin:menu|remove_at",{rid:this.rid,kind:this.kind,position:e}).then(H)}async items(){return r("plugin:menu|items",{rid:this.rid,kind:this.kind}).then(e=>e.map(H))}async get(e){return r("plugin:menu|get",{rid:this.rid,kind:this.kind,id:e}).then(n=>n?H(n):null)}async popup(e,n){var i;return r("plugin:menu|popup",{rid:this.rid,kind:this.kind,window:(i=n?.label)!==null&&i!==void 0?i:null,at:e instanceof L?e:e?new L(e):null})}async setAsAppMenu(){return r("plugin:menu|set_as_app_menu",{rid:this.rid}).then(e=>e?new t(e[0],e[1]):null)}async setAsWindowMenu(e){var n;return r("plugin:menu|set_as_window_menu",{rid:this.rid,window:(n=e?.label)!==null&&n!==void 0?n:null}).then(i=>i?new t(i[0],i[1]):null)}};var Nt;(function(t){t.Year="year",t.Month="month",t.TwoWeeks="twoWeeks",t.Week="week",t.Day="day",t.Hour="hour",t.Minute="minute",t.Second="second"})(Nt||(Nt={}));var Bt;(function(t){t[t.None=0]="None",t[t.Min=1]="Min",t[t.Low=2]="Low",t[t.Default=3]="Default",t[t.High=4]="High"})(Bt||(Bt={}));var Gt;(function(t){t[t.Secret=-1]="Secret",t[t.Private=0]="Private",t[t.Public=1]="Public"})(Gt||(Gt={}));async function Ht(){return window.Notification.permission!=="default"?await Promise.resolve(window.Notification.permission==="granted"):await r("plugin:notification|is_permission_granted")}async function Jt(){return await window.Notification.requestPermission()}function Vt(t){typeof t=="string"?new window.Notification(t):new window.Notification(t.title,t)}async function qt(t){return r("plugin:opener|reveal_item_in_dir",{path:t})}var Ye;(function(t){t[t.Audio=1]="Audio",t[t.Cache=2]="Cache",t[t.Config=3]="Config",t[t.Data=4]="Data",t[t.LocalData=5]="LocalData",t[t.Document=6]="Document",t[t.Download=7]="Download",t[t.Picture=8]="Picture",t[t.Public=9]="Public",t[t.Video=10]="Video",t[t.Resource=11]="Resource",t[t.Temp=12]="Temp",t[t.AppConfig=13]="AppConfig",t[t.AppData=14]="AppData",t[t.AppLocalData=15]="AppLocalData",t[t.AppCache=16]="AppCache",t[t.AppLog=17]="AppLog",t[t.Desktop=18]="Desktop",t[t.Executable=19]="Executable",t[t.Font=20]="Font",t[t.Home=21]="Home",t[t.Runtime=22]="Runtime",t[t.Template=23]="Template"})(Ye||(Ye={}));var Kt;(function(t){t[t.Start=0]="Start",t[t.Current=1]="Current",t[t.End=2]="End"})(Kt||(Kt={}));async function Qt(t,e){if(t instanceof URL&&t.protocol!=="file:")throw new TypeError("Must be a file URL.");return await r("plugin:fs|read_dir",{path:t instanceof URL?t.toString():t,options:e})}async function Zt(t){try{return(await Qt(t)).length===0}catch(e){return console.error("Error checking directory:",e),!1}}function et(){return new oe(te(),window.__TAURI_INTERNALS__.metadata.currentWebview.label,{skip:!0})}async function Yt(){return r("plugin:webview|get_all_webviews").then(t=>t.map(e=>new oe(new N(e.windowLabel,{skip:!0}),e.label,{skip:!0})))}var Xe=["tauri://created","tauri://error"],oe=class{constructor(e,n,i){this.window=e,this.label=n,this.listeners=Object.create(null),i?.skip||r("plugin:webview|create_webview",{windowLabel:e.label,label:n,options:i}).then(async()=>this.emit("tauri://created")).catch(async o=>this.emit("tauri://error",o))}static async getByLabel(e){var n;return(n=(await Yt()).find(i=>i.label===e))!==null&&n!==void 0?n:null}static getCurrent(){return et()}static async getAll(){return Yt()}async listen(e,n){return this._handleTauriEvent(e,n)?()=>{let i=this.listeners[e];i.splice(i.indexOf(n),1)}:I(e,n,{target:{kind:"Webview",label:this.label}})}async once(e,n){return this._handleTauriEvent(e,n)?()=>{let i=this.listeners[e];i.splice(i.indexOf(n),1)}:ee(e,n,{target:{kind:"Webview",label:this.label}})}async emit(e,n){if(Xe.includes(e)){for(let i of this.listeners[e]||[])i({event:e,id:-1,payload:n});return}return ye(e,n)}async emitTo(e,n,i){if(Xe.includes(n)){for(let o of this.listeners[n]||[])o({event:n,id:-1,payload:i});return}return we(e,n,i)}_handleTauriEvent(e,n){return Xe.includes(e)?(e in this.listeners?this.listeners[e].push(n):this.listeners[e]=[n],!0):!1}async position(){return r("plugin:webview|webview_position",{label:this.label}).then(e=>new w(e))}async size(){return r("plugin:webview|webview_size",{label:this.label}).then(e=>new x(e))}async close(){return r("plugin:webview|close",{label:this.label})}async setSize(e){return r("plugin:webview|set_webview_size",{label:this.label,value:e instanceof P?e:new P(e)})}async setPosition(e){return r("plugin:webview|set_webview_position",{label:this.label,value:e instanceof L?e:new L(e)})}async setFocus(){return r("plugin:webview|set_webview_focus",{label:this.label})}async hide(){return r("plugin:webview|webview_hide",{label:this.label})}async show(){return r("plugin:webview|webview_show",{label:this.label})}async setZoom(e){return r("plugin:webview|set_webview_zoom",{label:this.label,value:e})}async reparent(e){return r("plugin:webview|reparent",{label:this.label,window:typeof e=="string"?e:e.label})}async clearAllBrowsingData(){return r("plugin:webview|clear_all_browsing_data")}async setBackgroundColor(e){return r("plugin:webview|set_webview_background_color",{color:e})}async onDragDropEvent(e){let n=await this.listen(b.DRAG_ENTER,a=>{e({...a,payload:{type:"enter",paths:a.payload.paths,position:new w(a.payload.position)}})}),i=await this.listen(b.DRAG_OVER,a=>{e({...a,payload:{type:"over",position:new w(a.payload.position)}})}),o=await this.listen(b.DRAG_DROP,a=>{e({...a,payload:{type:"drop",paths:a.payload.paths,position:new w(a.payload.position)}})}),s=await this.listen(b.DRAG_LEAVE,a=>{e({...a,payload:{type:"leave"}})});return()=>{n(),o(),i(),s()}}};function jn(){let t=et();return new W(t.label,{skip:!0})}async function Xt(){return r("plugin:window|get_all_windows").then(t=>t.map(e=>new W(e,{skip:!0})))}var W=class t{constructor(e,n={}){var i;this.label=e,this.listeners=Object.create(null),n?.skip||r("plugin:webview|create_webview_window",{options:{...n,parent:typeof n.parent=="string"?n.parent:(i=n.parent)===null||i===void 0?void 0:i.label,label:e}}).then(async()=>this.emit("tauri://created")).catch(async o=>this.emit("tauri://error",o))}static async getByLabel(e){var n;let i=(n=(await Xt()).find(o=>o.label===e))!==null&&n!==void 0?n:null;return i?new t(i.label,{skip:!0}):null}static getCurrent(){return jn()}static async getAll(){return Xt()}async listen(e,n){return this._handleTauriEvent(e,n)?()=>{let i=this.listeners[e];i.splice(i.indexOf(n),1)}:I(e,n,{target:{kind:"WebviewWindow",label:this.label}})}async once(e,n){return this._handleTauriEvent(e,n)?()=>{let i=this.listeners[e];i.splice(i.indexOf(n),1)}:ee(e,n,{target:{kind:"WebviewWindow",label:this.label}})}async setBackgroundColor(e){return r("plugin:window|set_background_color",{color:e}).then(()=>r("plugin:webview|set_webview_background_color",{color:e}))}};zn(W,[N,oe]);function zn(t,e){(Array.isArray(e)?e:[e]).forEach(n=>{Object.getOwnPropertyNames(n.prototype).forEach(i=>{var o;typeof t.prototype=="object"&&t.prototype&&i in t.prototype||Object.defineProperty(t.prototype,i,(o=Object.getOwnPropertyDescriptor(n.prototype,i))!==null&&o!==void 0?o:Object.create(null))})})}async function en(){let t=await $().then(e=>e.find(n=>n.label==="main"));t&&(await t.setSize(new x(0,0)),await t.center(),await t.hide(),await t.setAlwaysOnTop(!0))}async function tn({name:t,url:e}){let n=new W(t,{height:0,width:0,visibleOnAllWorkspaces:!1,alwaysOnTop:!1,resizable:!0,visible:!0,focus:!0,title:t,decorations:!0,url:e});await new Promise(o=>setTimeout(o,1e3));let i=await ct().then(o=>o?.size);if(i)return await n.hide(),await n.setSize(i),await n.center(),await n.show(),n}async function Q({name:t,url:e,width:n=740,height:i=600}){let o=new W(t,{height:0,width:0,resizable:!1,visibleOnAllWorkspaces:!1,alwaysOnTop:!0,visible:!0,focus:!0,title:t,decorations:!0,url:e});return await new Promise(s=>setTimeout(s,1e3)),await o.hide(),await o.setSize(new z(n,i)),await o.center(),await o.show(),o}async function nn({name:t,url:e}){let n=new W(t,{height:0,width:0,resizable:!1,visibleOnAllWorkspaces:!0,alwaysOnTop:!0,visible:!0,focus:!0,title:t,decorations:!1,url:e});return await new Promise(i=>setTimeout(i,1500)),await n.hide(),await n.setSize(new z(400,600)),await n.show(),await jt(Te.TopRight),n}async function rn(t){let e=await $(),n=t?e.filter(i=>t.includes(i.label)):e;await Promise.all(n.map(i=>i.setClosable(!1)))}async function on(t){let e=await $(),n=t?e.filter(i=>t.includes(i.label)):e;await Promise.all(n.map(i=>i.setClosable(!0)))}async function nt(){let t=K.getState(),e=Le.getState(),n=t.remotes,i=[];for(let l of n){let h=e.remoteConfigList?.[l];if(h?.hideTray)continue;let y=[],k=t.mountedRemotes[l];if(k){let O=await _.new({id:`unmount-${l}`,text:"Unmount",action:async()=>{try{let m=t.mountedRemotes[l];if(!m){console.error(`No mount point found for remote ${l}`);return}await We(m),delete t.mountedRemotes[l],await V(`Successfully unmounted ${l} from ${m}`,{title:"Unmount Success"})}catch(m){console.error("Unmount operation failed:",m),await V(`Failed to unmount ${l}: ${m}`,{title:"Unmount Error"})}}});y.push(O);let u=t.mountedRemotes[l];console.log("Adding Open in Finder",u);let f=await _.new({id:`open-${l}`,text:"Open in Finder",action:async()=>{console.log("Open in Finder"),console.log(u),u&&(console.log("Opening in Finder"),await qt(u),console.log("Opened in Finder"))}});y.push(f)}if(!k&&!h?.disabledActions?.includes("mount")){let O=await _.new({id:`mount-${l}`,text:"Quick Mount",action:async()=>{await Ae().then(u=>u?.setVisible(!1)),await tt().then(u=>u?.setVisible(!0));try{await rn();let u=h.defaultMountPoint||null;if(u||(u=await dt({title:`Select a directory to mount "${l}"`,multiple:!1,directory:!0})),!u)return;if(console.log("selectedPath",u),!await Zt(u)){await V("The selected directory must be empty to mount a remote.",{title:"Mount Error",kind:"error"});return}await bt({remotePath:`${l}:${h.defaultRemotePath||""}`,mountPoint:u,mountOptions:h.mountDefaults,vfsOptions:h.vfsDefaults}),t.mountedRemotes[l]=u;let m=await Ht();m||(m=await Jt()==="granted"),m&&Vt({title:"Mounted",body:`Successfully mounted ${l} to ${u}`}),h.defaultMountPoint||await ge(`Mount successful! Do you want to set ${u} as the default mount point for ${l}? You can always change it later in Remote settings.`,{title:"Set Default?",okLabel:"Set",cancelLabel:"Cancel"})&&Le.setState(g=>({remoteConfigList:{...g.remoteConfigList,[l]:{...g.remoteConfigList[l],defaultMountPoint:u}}}))}catch(u){console.error("Mount operation failed:",u),await V(`Failed to mount ${l}: ${u}`,{title:"Mount Error"})}finally{await on(),await tt().then(u=>u?.setVisible(!1)),await Ae().then(u=>u?.setVisible(!0))}}});y.push(O)}if(!h?.disabledActions?.includes("browse")){let O=await _.new({id:`browse-${l}`,text:"Browse",action:async()=>{await tn({name:"Browse",url:"browse.html?url="+encodeURIComponent(`http://localhost:5572/[${l}:]/`)})}});y.push(O)}if(!h?.disabledActions?.includes("remove")){let O=await _.new({id:`remove-${l}`,text:"Remove",action:async()=>{await ft(`Are you sure you want to remove ${l}? This action cannot be reverted.`,{title:`Removing ${l}`,kind:"warning"})&&await gt(l)}});y.push(O)}let R=await re.new({items:y,text:l});i.push(R)}if(await G.new({item:"Separator"}).then(l=>{i.push(l)}),!e.disabledActions?.includes("mount")){let l=await _.new({id:"mount",text:"Mount",action:async()=>{await Q({name:"Mount",url:"/mount"})}});i.push(l)}if(!e.disabledActions?.includes("copy")){let l=await _.new({id:"copy",text:"Copy",action:async()=>{await Q({name:"Copy",url:"/copy"})}});i.push(l)}if(!e.disabledActions?.includes("sync")){let l=await _.new({id:"sync",text:"Sync",action:async()=>{await Q({name:"Sync",url:"/sync"})}});i.push(l)}let o=await _.new({id:"jobs",text:"Jobs",action:async()=>{await nn({name:"Jobs",url:"/jobs"})}});i.push(o),await G.new({item:"Separator"}).then(l=>{i.push(l)});let s=await _.new({id:"settings",text:"Settings",action:async()=>{await Q({name:"Settings",url:"/settings"})}});i.push(s);let a=await _.new({id:"quit",text:"Quit",action:async()=>{await be(0)}});i.push(a);let c=await _.new({id:"test",text:"Test",action:async()=>{await Q({name:"Test",url:"/test",width:400,height:400})}});i.push(c);let d=await _.new({id:"test2",text:"Test2",action:async()=>{await Q({name:"Test2",url:"/test",width:400,height:400})}});return i.push(d),await pe.new({id:"main-menu",items:i})}async function Ae(){return await B.getById("main-tray")}async function tt(){return await B.getById("loading-tray")}async function sn(){let t=await Ae();if(!t)return;let e=await nt();await t.setMenu(e)}async function $n(t){await zt(t),t.type==="Click"&&(console.log("Tray clicked:",t),await en())}async function an(){try{console.log("initTray");let t=await nt();console.log("built menu"),await B.getById("loading-tray").then(e=>e?.setVisible(!1)),console.log("set loading tray to false"),await B.new({id:"main-tray",icon:"icons/icon.png",tooltip:"S-Tray App",menu:t,menuOnLeftClick:!0,action:$n})}catch(t){console.error("Failed to create tray:",t)}}async function ln(){let t=await B.new({id:"loading-tray",icon:"icons/favicon/frame_00_delay-0.1s.png"}),e=1;setInterval(async()=>{e>17&&(e=1),await t?.setIcon(`icons/favicon/frame_${e<10?"0":""}${e}_delay-0.1s.png`),e=e+1},200)}function he(t,e){let n=console[t];console[t]=(i,...o)=>{n(i,...o),e(`${i} ${o?.map(s=>typeof s=="string"?s:JSON.stringify(s)).join(" ")}`)}}he("log",wt);he("debug",yt);he("info",mt);he("warn",ht);he("error",pt);console.log("main");console.error("main");async function Nn(){try{let i=await Ue();console.log("rclone already running",i),K.setState({rcloneLoaded:!0}),K.setState({remotes:i});return}catch(i){console.error("Failed to start rclone",i)}let t=ne.sidecar("binaries/rclone",["rcd","--rc-no-auth","--rc-serve"]);t.addListener("close",async i=>{console.log("close",i),(i.code===1||i.code===143)&&(await V("Rclone has crashed",{title:"Error",kind:"error"}),await be(0))}),t.addListener("error",i=>{console.log("error",i)});let e=await t.spawn();await new Promise(i=>setTimeout(i,100)),K.setState({rcloneLoaded:!0});let n=await Ue();console.log("remotes",n),K.setState({remotes:n})}te().listen("tauri://close-requested",async t=>{console.log("MAIN window close requested")});te().listen("rebuild-tray",async t=>{console.log("MAIN window rebuild-tray requested"),await sn()});ln().then(()=>Nn()).then(()=>an()); diff --git a/public/tauri.svg b/public/tauri.svg new file mode 100644 index 0000000..31b62c9 --- /dev/null +++ b/public/tauri.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/tray.html b/public/tray.html new file mode 100644 index 0000000..eae8416 --- /dev/null +++ b/public/tray.html @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/scripts/buildExternal.js b/scripts/buildExternal.js new file mode 100644 index 0000000..08e65fb --- /dev/null +++ b/scripts/buildExternal.js @@ -0,0 +1,60 @@ +import { execSync } from 'child_process' +import { join } from 'path' +import { fileURLToPath } from 'url' +import { unlink } from 'fs/promises' + +// Get the project root directory +const __dirname = fileURLToPath(new URL('.', import.meta.url)) +const projectRoot = join(__dirname, '..') + +async function buildExternal() { + try { + // Compile TypeScript using local tsc + console.log('Compiling TypeScript...') + execSync( + 'npx tsc main.ts --target es2020 --module esnext --moduleResolution bundler --listEmittedFiles', + { + stdio: 'inherit', + cwd: projectRoot, + } + ) + + // Bundle with esbuild + console.log('Bundling with esbuild...') + execSync( + 'npx esbuild main.js --bundle --format=esm --target=esnext --outfile=out.js --minify --legal-comments=none', + { + stdio: 'inherit', + cwd: projectRoot, + } + ) + + // Move output file to public directory + console.log('Moving output file to public directory...') + execSync('mv ./out.js ./public/out.js', { + stdio: 'inherit', + cwd: projectRoot, + }) + + // Clean up temporary files + console.log('Cleaning up...') + await Promise.all([ + // Remove lib/*.js files + execSync('rm -rf ./lib/**.js', { stdio: 'inherit', cwd: projectRoot }), + // Remove main.js + unlink(join(projectRoot, 'main.js')).catch(() => {}), // Ignore if file doesn't exist + ]) + + console.log('Build completed successfully!') + } catch (error) { + console.error('Build failed:', error) + process.exit(1) + } +} + +// If script is run directly (not imported) +if (import.meta.url === `file://${process.argv[1]}`) { + buildExternal() +} + +export default buildExternal diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore new file mode 100644 index 0000000..5bd1311 --- /dev/null +++ b/src-tauri/.gitignore @@ -0,0 +1,4 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ +/gen/schemas \ No newline at end of file diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..c63b259 --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,6430 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_log-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ecc8056bf6ab9892dcd53216c83d1597487d7dacac16c8df6b877d127df9937" + +[[package]] +name = "android_logger" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b07e8e73d720a1f2e4b6014766e6039fd2e96a4fa44e2a78d0e1fa2ff49826" +dependencies = [ + "android_log-sys", + "env_filter", + "log", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" + +[[package]] +name = "app" +version = "0.1.0" +dependencies = [ + "cocoa", + "fix-path-env", + "log", + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-dialog", + "tauri-plugin-fs", + "tauri-plugin-http", + "tauri-plugin-log", + "tauri-plugin-notification", + "tauri-plugin-opener", + "tauri-plugin-os", + "tauri-plugin-positioner", + "tauri-plugin-process", + "tauri-plugin-shell", + "tauri-plugin-single-instance", + "tauri-plugin-store", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + +[[package]] +name = "ashpd" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d43c03d9e36dd40cab48435be0b09646da362c278223ca535493877b2c1dee9" +dependencies = [ + "enumflags2", + "futures-channel", + "futures-util", + "rand 0.8.5", + "raw-window-handle", + "serde", + "serde_repr", + "tokio", + "url", + "wayland-backend", + "wayland-client", + "wayland-protocols", + "zbus", +] + +[[package]] +name = "async-broadcast" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-channel" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" +dependencies = [ + "concurrent-queue", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" +dependencies = [ + "async-lock", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" +dependencies = [ + "async-lock", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite", + "parking", + "polling", + "rustix", + "slab", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "async-lock" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +dependencies = [ + "event-listener", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" +dependencies = [ + "async-channel", + "async-io", + "async-lock", + "async-signal", + "async-task", + "blocking", + "cfg-if", + "event-listener", + "futures-lite", + "rustix", + "tracing", +] + +[[package]] +name = "async-recursion" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "async-signal" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix", + "signal-hook-registry", + "slab", + "windows-sys 0.59.0", +] + +[[package]] +name = "async-task" +version = "4.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" + +[[package]] +name = "async-trait" +version = "0.1.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" +dependencies = [ + "objc2", +] + +[[package]] +name = "blocking" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" +dependencies = [ + "async-channel", + "async-task", + "futures-io", + "futures-lite", + "piper", +] + +[[package]] +name = "borsh" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d4d6dafc1a3bb54687538972158f07b2c948bc57d5890df22c0739098b3028" +dependencies = [ + "borsh-derive", + "cfg_aliases 0.1.1", +] + +[[package]] +name = "borsh-derive" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0" +dependencies = [ + "once_cell", + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 2.0.95", + "syn_derive", +] + +[[package]] +name = "brotli" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byte-unit" +version = "5.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cd29c3c585209b0cbc7309bfe3ed7efd8c84c21b7af29c8bfae908f8777174" +dependencies = [ + "rust_decimal", + "serde", + "utf8-width", +] + +[[package]] +name = "bytecheck" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "bytemuck" +version = "1.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + +[[package]] +name = "bytes" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.6.0", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8769706aad5d996120af43197bf46ef6ad0fda35216b4505f926a365a232d924" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.10", +] + +[[package]] +name = "cargo_toml" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a969e13a7589e9e3e4207e153bae624ade2b5622fb4684a4923b23ec3d57719" +dependencies = [ + "serde", + "toml 0.8.2", +] + +[[package]] +name = "cc" +version = "1.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" +dependencies = [ + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + +[[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.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.6", +] + +[[package]] +name = "cocoa" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" +dependencies = [ + "bitflags 2.6.0", + "block", + "cocoa-foundation", + "core-foundation 0.10.0", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-foundation 0.10.0", + "core-graphics-types", + "libc", + "objc", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" +dependencies = [ + "cookie", + "document-features", + "idna", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.95", +] + +[[package]] +name = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.95", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.95", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +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_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.95", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "dlib" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" +dependencies = [ + "libloading", +] + +[[package]] +name = "dlopen2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + +[[package]] +name = "downcast-rs" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + +[[package]] +name = "dpi" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + +[[package]] +name = "embed-resource" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68b6f9f63a0b6a38bc447d4ce84e2b388f3ec95c99c641c8ff0dd3ef89a6379" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.8.2", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "endi" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" + +[[package]] +name = "enumflags2" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "erased-serde" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" +dependencies = [ + "serde", + "typeid", +] + +[[package]] +name = "errno" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" +dependencies = [ + "event-listener", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +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", + "rustc_version", +] + +[[package]] +name = "fix-path-env" +version = "0.0.0" +source = "git+https://github.com/tauri-apps/fix-path-env-rs#0e479e2804edc1a7e5f15ece2b48ee30858c2838" +dependencies = [ + "home", + "strip-ansi-escapes", + "thiserror 1.0.69", +] + +[[package]] +name = "flate2" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "gethostname" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30" +dependencies = [ + "rustix", + "windows-targets 0.52.6", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.6.0", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "h2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap 2.7.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +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.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "html5ever" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "http" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.14", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" + +[[package]] +name = "hyper" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "itoa 1.0.14", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core 0.52.0", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "image" +version = "0.25.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b" +dependencies = [ + "bytemuck", + "byteorder-lite", + "num-traits", + "png", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" +dependencies = [ + "equivalent", + "hashbrown 0.15.2", + "serde", +] + +[[package]] +name = "infer" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc150e5ce2330295b8616ce0e3f53250e53af31759a9dbedad1621ba29151847" +dependencies = [ + "cfb", +] + +[[package]] +name = "ipnet" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "js-sys" +version = "0.3.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "json5" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +dependencies = [ + "pest", + "pest_derive", + "serde", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.6.0", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "kuchikiki" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +dependencies = [ + "cssparser", + "html5ever", + "indexmap 1.9.3", + "matches", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.169" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" +dependencies = [ + "value-bag", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "mac-notification-sys" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce8f34f3717aa37177e723df6c1fc5fb02b2a1087374ea3fe0ea42316dc8f91" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +dependencies = [ + "log", + "phf 0.10.1", + "phf_codegen 0.10.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.52.0", +] + +[[package]] +name = "muda" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdae9c00e61cc0579bcac625e8ad22104c60548a025bfc972dc83868a28e1484" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 1.0.69", + "windows-sys 0.59.0", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.6.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nix" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", + "memoffset", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "notify-rust" +version = "4.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5134a72dc570b178bff81b01e81ab14a6fcc015391ed4b3b14853090658cd3a3" +dependencies = [ + "log", + "mac-notification-sys", + "serde", + "tauri-winrt-notification", + "zbus", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate 2.0.2", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" +dependencies = [ + "cc", +] + +[[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-app-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" +dependencies = [ + "bitflags 2.6.0", + "block2", + "libc", + "objc2", + "objc2-core-data", + "objc2-core-image", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-contacts" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-image" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-core-location" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" +dependencies = [ + "block2", + "objc2", + "objc2-contacts", + "objc2-foundation", +] + +[[package]] +name = "objc2-encode" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" + +[[package]] +name = "objc2-foundation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" +dependencies = [ + "bitflags 2.6.0", + "block2", + "dispatch", + "libc", + "objc2", +] + +[[package]] +name = "objc2-link-presentation" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" +dependencies = [ + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc2-metal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-foundation", + "objc2-metal", +] + +[[package]] +name = "objc2-symbols" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-image", + "objc2-core-location", + "objc2-foundation", + "objc2-link-presentation", + "objc2-quartz-core", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-uniform-type-identifiers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" +dependencies = [ + "block2", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-core-location", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68bc69301064cebefc6c4c90ce9cba69225239e4b8ff99d445a2b5563797da65" +dependencies = [ + "bitflags 2.6.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-foundation", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" + +[[package]] +name = "open" +version = "5.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95" +dependencies = [ + "dunce", + "is-wsl", + "libc", + "pathdiff", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "os_info" +version = "3.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e6520c8cc998c5741ee68ec1dc369fc47e5f0ea5320018ecf2a1ccd6328f48b" +dependencies = [ + "log", + "serde", + "windows-sys 0.52.0", +] + +[[package]] +name = "os_pipe" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "pathdiff" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" +dependencies = [ + "memchr", + "thiserror 1.0.69", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "pest_meta" +version = "2.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + +[[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]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_shared 0.10.0", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared 0.11.3", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.1", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "piper" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +dependencies = [ + "atomic-waker", + "fastrand", + "futures-io", +] + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "plist" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" +dependencies = [ + "base64 0.22.1", + "indexmap 2.7.0", + "quick-xml 0.32.0", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "3.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" +dependencies = [ + "cfg-if", + "concurrent-queue", + "hermit-abi", + "pin-project-lite", + "rustix", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "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 = "publicsuffix" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" +dependencies = [ + "idna", + "psl-types", +] + +[[package]] +name = "quick-xml" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +dependencies = [ + "memchr", +] + +[[package]] +name = "quick-xml" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" +dependencies = [ + "memchr", +] + +[[package]] +name = "quick-xml" +version = "0.36.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +dependencies = [ + "memchr", +] + +[[package]] +name = "quinn" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.10", + "tokio", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" +dependencies = [ + "bytes", + "getrandom 0.2.15", + "rand 0.8.5", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.10", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" +dependencies = [ + "cfg_aliases 0.2.1", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" +dependencies = [ + "proc-macro2", +] + +[[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "rend" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.12.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da" +dependencies = [ + "base64 0.22.1", + "bytes", + "cookie", + "cookie_store", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pemfile", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", + "windows-registry", +] + +[[package]] +name = "rfd" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8af382a047821a08aa6bfc09ab0d80ff48d45d8726f7cd8e44891f7cb4a4278e" +dependencies = [ + "ashpd", + "block2", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.15", + "libc", + "spin", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rkyv" +version = "0.7.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +dependencies = [ + "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.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555" +dependencies = [ + "arrayvec", + "borsh", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.23.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] + +[[package]] +name = "rustls-webpki" +version = "0.102.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schemars" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars_derive" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.95", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "selectors" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +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.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.217" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" +dependencies = [ + "erased-serde", + "serde", + "typeid", +] + +[[package]] +name = "serde_derive" +version = "1.0.217" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[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.95", +] + +[[package]] +name = "serde_json" +version = "1.0.135" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9" +dependencies = [ + "itoa 1.0.14", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.14", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.7.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shared_child" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09fa9338aed9a1df411814a5b2252f7cd206c55ae9bf2fa763f8de84603aa60c" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "simd-adler32" +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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "softbuffer" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08" +dependencies = [ + "bytemuck", + "cfg_aliases 0.2.1", + "core-graphics", + "foreign-types", + "js-sys", + "log", + "objc2", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall", + "wasm-bindgen", + "web-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strip-ansi-escapes" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a8f8038e7e7969abb3f1b7c2a811225e9296da208539e0f79c5251d6cac0025" +dependencies = [ + "vte", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[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" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +dependencies = [ + "libc", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.9.4", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3731d04d4ac210cd5f344087733943b9bfb1a32654387dad4d1c70de21aee2c9" +dependencies = [ + "bitflags 2.6.0", + "cocoa", + "core-foundation 0.10.0", + "core-graphics", + "crossbeam-channel", + "dispatch", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "raw-window-handle", + "scopeguard", + "tao-macros", + "unicode-segmentation", + "url", + "windows 0.58.0", + "windows-core 0.58.0", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e2e3349fbb2be7af9fad1b43d61ac83ba55ab48d47fbe1b2732f0c8211610a9" +dependencies = [ + "anyhow", + "bytes", + "dirs", + "dunce", + "embed_plist", + "futures-util", + "getrandom 0.2.15", + "glob", + "gtk", + "heck 0.5.0", + "http", + "image", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.10", + "tokio", + "tray-icon", + "url", + "urlpattern", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows 0.58.0", +] + +[[package]] +name = "tauri-build" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b274ec7239ada504deb615f1c8abd7ba99631e879709e6f10e5d17217058d976" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "toml 0.8.2", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f77894f9ddb5cb6c04fcfe8c8869ebe0aded4dabf19917118d48be4a95599ab5" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.95", + "tauri-utils", + "thiserror 2.0.10", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3240a5caed760a532e8f687be6f05b2c7d11a1d791fb53ccc08cfeb3e5308736" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.95", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5841b9a0200e954ef7457f8d327091424328891e267a97b641dc246cc54d0dec" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars", + "serde", + "serde_json", + "tauri-utils", + "toml 0.8.2", + "walkdir", +] + +[[package]] +name = "tauri-plugin-dialog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b59fd750551b1066744ab956a1cd6b1ea3e1b3763b0b9153ac27a044d596426" +dependencies = [ + "log", + "raw-window-handle", + "rfd", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.10", + "url", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a1edf18000f02903a7c2e5997fb89aca455ecbc0acc15c6535afbb883be223" +dependencies = [ + "anyhow", + "dunce", + "glob", + "percent-encoding", + "schemars", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.10", + "toml 0.8.2", + "url", + "uuid", +] + +[[package]] +name = "tauri-plugin-http" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e62a9bde54d6a0218b63f5a248f02056ad4316ba6ad81dfb9e4f73715df5deb1" +dependencies = [ + "data-url", + "http", + "regex", + "reqwest", + "schemars", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.10", + "tokio", + "url", + "urlpattern", +] + +[[package]] +name = "tauri-plugin-log" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd784c138c08a43954bc3e735402e6b2b2ee8d8c254a7391f4e77c01273dd5" +dependencies = [ + "android_logger", + "byte-unit", + "cocoa", + "fern", + "log", + "objc", + "serde", + "serde_json", + "serde_repr", + "swift-rs", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", + "time", +] + +[[package]] +name = "tauri-plugin-notification" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46ab803095f14ac6521fdb6477210a49e86fed6623c3c97d8e4b2b35e045e922" +dependencies = [ + "log", + "notify-rust", + "rand 0.8.5", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", + "time", + "url", + "win7-notifications", + "windows-version", +] + +[[package]] +name = "tauri-plugin-opener" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d75fdc9ba0391eafb3337aac9d1b34fd353601dd5d4e7498820733f738991e7" +dependencies = [ + "dunce", + "glob", + "objc2-app-kit", + "objc2-foundation", + "open", + "schemars", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", + "url", + "windows 0.58.0", + "zbus", +] + +[[package]] +name = "tauri-plugin-os" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dda2d571a9baf0664c1f2088db227e3072f9028602fafa885deade7547c3b738" +dependencies = [ + "gethostname", + "log", + "os_info", + "serde", + "serde_json", + "serialize-to-javascript", + "sys-locale", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", +] + +[[package]] +name = "tauri-plugin-positioner" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c95b371d489bee3d1be5e5bd1538080ad408317fcc2d8546d24b290249f7bb5" +dependencies = [ + "log", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", +] + +[[package]] +name = "tauri-plugin-process" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40cc553ab29581c8c43dfa5fb0c9d5aee8ba962ad3b42908eea26c79610441b7" +dependencies = [ + "tauri", + "tauri-plugin", +] + +[[package]] +name = "tauri-plugin-shell" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2c50a63e60fb8925956cc5b7569f4b750ac197a4d39f13b8dd46ea8e2bad79" +dependencies = [ + "encoding_rs", + "log", + "open", + "os_pipe", + "regex", + "schemars", + "serde", + "serde_json", + "shared_child", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", + "tokio", +] + +[[package]] +name = "tauri-plugin-single-instance" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f36019ee9832dc99e4450bb55a21cfad8633b19c2c18bd17c7741939b070ede" +dependencies = [ + "serde", + "serde_json", + "tauri", + "thiserror 2.0.10", + "tracing", + "windows-sys 0.59.0", + "zbus", +] + +[[package]] +name = "tauri-plugin-store" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c0c08fae6995909f5e9a0da6038273b750221319f2c0f3b526d6de1cde21505" +dependencies = [ + "dunce", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "thiserror 2.0.10", + "tokio", + "tracing", +] + +[[package]] +name = "tauri-runtime" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2274ef891ccc0a8d318deffa9d70053f947664d12d58b9c0d1ae5e89237e01f7" +dependencies = [ + "dpi", + "gtk", + "http", + "jni", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.10", + "url", + "windows 0.58.0", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3707b40711d3b9f6519150869e358ffbde7c57567fb9b5a8b51150606939b2a0" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows 0.58.0", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96fb10e7cc97456b2d5b9c03e335b5de5da982039a303a20d10006885e4523a0" +dependencies = [ + "brotli", + "cargo_metadata", + "ctor", + "dunce", + "glob", + "html5ever", + "http", + "infer", + "json-patch", + "json5", + "kuchikiki", + "log", + "memchr", + "phf 0.11.3", + "proc-macro2", + "quote", + "regex", + "schemars", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.10", + "toml 0.8.2", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +dependencies = [ + "embed-resource", + "toml 0.7.8", +] + +[[package]] +name = "tauri-winrt-notification" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89f5fb70d6f62381f5d9b2ba9008196150b40b75f3068eb24faeddf1c686871" +dependencies = [ + "quick-xml 0.31.0", + "windows 0.56.0", + "windows-version", +] + +[[package]] +name = "tempfile" +version = "3.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +dependencies = [ + "cfg-if", + "fastrand", + "getrandom 0.2.15", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3ac7f54ca534db81081ef1c1e7f6ea8a3ef428d2fc069097c079443d24124d3" +dependencies = [ + "thiserror-impl 2.0.10", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e9465d30713b56a37ede7185763c3492a91be2f5fa68d958c44e41ab9248beb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "time" +version = "0.3.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" +dependencies = [ + "deranged", + "itoa 1.0.14", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.43.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.7.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[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-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.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d48a05076dd272615d03033bf04f480199f7d1b66a8ac64d75c625fc4a70c06b" +dependencies = [ + "core-graphics", + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 1.0.69", + "windows-sys 0.59.0", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e" + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset", + "tempfile", + "winapi", +] + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +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.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8-width" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +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.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" +dependencies = [ + "getrandom 0.2.15", + "serde", +] + +[[package]] +name = "value-bag" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" + +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "vte" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "231fdcd7ef3037e8330d8e17e61011a2c244126acc0a982f4040ac3f9f0bc077" +dependencies = [ + "memchr", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.95", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.49" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wayland-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" +dependencies = [ + "cc", + "downcast-rs", + "rustix", + "scoped-tls", + "smallvec", + "wayland-sys", +] + +[[package]] +name = "wayland-client" +version = "0.31.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" +dependencies = [ + "bitflags 2.6.0", + "rustix", + "wayland-backend", + "wayland-scanner", +] + +[[package]] +name = "wayland-protocols" +version = "0.32.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" +dependencies = [ + "bitflags 2.6.0", + "wayland-backend", + "wayland-client", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" +dependencies = [ + "proc-macro2", + "quick-xml 0.36.2", + "quote", +] + +[[package]] +name = "wayland-sys" +version = "0.31.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" +dependencies = [ + "dlib", + "log", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webpki-roots" +version = "0.26.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webview2-com" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "823e7ebcfaea51e78f72c87fc3b65a1e602c321f407a0b36dbb327d7bb7cd921" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows 0.58.0", + "windows-core 0.58.0", + "windows-implement 0.58.0", + "windows-interface 0.58.0", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "webview2-com-sys" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a82bce72db6e5ee83c68b5de1e2cd6ea195b9fbff91cb37df5884cbe3222df4" +dependencies = [ + "thiserror 1.0.69", + "windows 0.58.0", + "windows-core 0.58.0", +] + +[[package]] +name = "win7-notifications" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b4745047a00800bd8f2b8fb4b0eb6f7d96822084127f0ff7d68d07f692fe38" +dependencies = [ + "once_cell", + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ea403deff7b51fff19e261330f71608ff2cdef5721d72b64180bb95be7c4150" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1de69df01bdf1ead2f4ac895dc77c9351aefff65b2f3db429a343f9cbf05e132" +dependencies = [ + "windows-core 0.56.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" +dependencies = [ + "windows-core 0.58.0", + "windows-targets 0.52.6", +] + +[[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.6", +] + +[[package]] +name = "windows-core" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4698e52ed2d08f8658ab0c39512a7c00ee5fe2688c65f8c0a4f06750d729f2a6" +dependencies = [ + "windows-implement 0.56.0", + "windows-interface 0.56.0", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-core" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" +dependencies = [ + "windows-implement 0.58.0", + "windows-interface 0.58.0", + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "windows-implement" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "windows-interface" +version = "0.56.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "windows-interface" +version = "0.58.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result 0.2.0", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result 0.2.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +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.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-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +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", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +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", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "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.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "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-version" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c12476c23a74725c539b24eae8bfc0dac4029c39cdb561d9f23616accd4ae26d" +dependencies = [ + "windows-targets 0.53.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "wry" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e644bf458e27b11b0ecafc9e5633d1304fdae82baca1d42185669752fe6ca4f" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dpi", + "dunce", + "gdkx11", + "gtk", + "html5ever", + "http", + "javascriptcore-rs", + "jni", + "kuchikiki", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.10", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.58.0", + "windows-core 0.58.0", + "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]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "xdg-home" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", + "synstructure", +] + +[[package]] +name = "zbus" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "derivative", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix", + "ordered-stream", + "rand 0.8.5", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tokio", + "tracing", + "uds_windows", + "windows-sys 0.52.0", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.95", +] + +[[package]] +name = "zvariant" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65" +dependencies = [ + "endi", + "enumflags2", + "serde", + "static_assertions", + "url", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..d3c68a9 --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,43 @@ +[package] +name = "app" +version = "0.1.0" +description = "A Tauri App" +authors = ["you"] +license = "" +repository = "" +edition = "2021" +rust-version = "1.77.2" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[lib] +name = "app_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[build-dependencies] +tauri-build = { version = "2.0.4", features = [] } + +[dependencies] +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } +log = "0.4" +tauri = { version = "2.2.0", features = [ "tray-icon", "image-ico", + "image-png", "config-json5" ] } +tauri-plugin-log = "2.2.0" +tauri-plugin-shell = "2.2.0" +tauri-plugin-dialog = "2.2.0" +tauri-plugin-fs = "2.2.0" +tauri-plugin-opener = "2.2.3" +tauri-plugin-positioner = { version = "2.2.0", features = ["tray-icon"] } +tauri-plugin-http = "2.2.0" +tauri-plugin-store = "2.2.0" +tauri-plugin-process = "2" +tauri-plugin-notification = { version = "2.0.0", features = [ "windows7-compat" ] } +tauri-plugin-os = "2" +fix-path-env = { git = "https://github.com/tauri-apps/fix-path-env-rs" } + +[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies] +tauri-plugin-single-instance = "2.2.0" + +[target."cfg(target_os = \"macos\")".dependencies] +cocoa = "0.26" diff --git a/src-tauri/Entitlements.plist b/src-tauri/Entitlements.plist new file mode 100644 index 0000000..12ca391 --- /dev/null +++ b/src-tauri/Entitlements.plist @@ -0,0 +1,8 @@ + + + + + com.apple.security.automation.apple-events + com.apple.security.device.audio-input + + diff --git a/src-tauri/Info.plist b/src-tauri/Info.plist new file mode 100644 index 0000000..9ab60d5 --- /dev/null +++ b/src-tauri/Info.plist @@ -0,0 +1,12 @@ + + + + + NSCameraUsageDescription + Please allow camera + NSMicrophoneUsageDescription + Please allow microphone + ITSAppUsesNonExemptEncryption + + + diff --git a/src-tauri/_e.plist b/src-tauri/_e.plist new file mode 100644 index 0000000..5aa74c4 --- /dev/null +++ b/src-tauri/_e.plist @@ -0,0 +1,16 @@ + + + + + com.apple.security.app-sandbox + com.apple.security.network.client + com.apple.security.automation.apple-events + com.apple.security.device.microphone + com.apple.security.device.audio-input + + com.apple.application-identifier + {TEAM_ID}.{BUNDLE_ID} + com.apple.developer.team-identifier + {TEAM_ID} + + diff --git a/src-tauri/_i.plist b/src-tauri/_i.plist new file mode 100644 index 0000000..febf998 --- /dev/null +++ b/src-tauri/_i.plist @@ -0,0 +1,16 @@ + + + + + NSCameraUsageDescription + Please allow camera + NSMicrophoneUsageDescription + Please allow microphone + ITSAppUsesNonExemptEncryption + + NSStatusItem + + LSUIElement + + + diff --git a/src-tauri/binaries/.gitkeep b/src-tauri/binaries/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json new file mode 100644 index 0000000..c4887a0 --- /dev/null +++ b/src-tauri/capabilities/default.json @@ -0,0 +1,222 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "enables the default permissions", + "windows": [ + "main", + "Copy", + "Sync", + "Mount", + "Settings", + "Jobs", + "Browse", + "Test", + "Test2", + "Test3" + ], + "permissions": [ + "core:default", + "core:app:allow-app-hide", + "core:app:allow-app-show", + "core:app:allow-default-window-icon", + "core:app:allow-name", + "core:app:allow-set-app-theme", + "core:app:allow-tauri-version", + "core:app:allow-version", + "core:menu:default", + "core:menu:allow-append", + "core:menu:allow-prepend", + "core:menu:allow-insert", + "core:menu:allow-remove", + "core:menu:allow-set-icon", + "core:menu:allow-create-default", + "core:menu:allow-get", + "core:menu:allow-is-checked", + "core:menu:allow-is-enabled", + "core:menu:allow-items", + "core:menu:allow-new", + "core:menu:allow-popup", + "core:menu:allow-remove-at", + "core:menu:allow-set-accelerator", + "core:menu:allow-set-checked", + "core:menu:allow-set-enabled", + "core:menu:allow-set-as-app-menu", + "core:menu:allow-set-as-help-menu-for-nsapp", + "core:menu:allow-set-as-window-menu", + "core:menu:allow-set-as-windows-menu-for-nsapp", + "core:menu:allow-set-text", + "core:menu:allow-text", + "core:tray:default", + "core:tray:allow-get-by-id", + "core:tray:allow-remove-by-id", + "core:tray:allow-set-icon-as-template", + "core:tray:allow-set-show-menu-on-left-click", + "core:tray:allow-new", + "core:tray:allow-set-icon", + "core:tray:allow-set-menu", + "core:tray:allow-set-tooltip", + "core:tray:allow-set-title", + "core:tray:allow-set-visible", + "core:tray:allow-set-temp-dir-path", + "core:resources:default", + "core:path:default", + "core:event:default", + "core:event:allow-emit", + "core:event:allow-emit-to", + "core:event:allow-listen", + "core:event:allow-unlisten", + "core:image:default", + "core:window:default", + "core:window:allow-set-focus", + "core:window:allow-show", + "core:window:allow-hide", + "core:window:allow-set-always-on-top", + "core:window:allow-set-size", + "core:window:allow-set-position", + "core:window:allow-set-enabled", + "core:window:allow-start-dragging", + "core:window:allow-start-resize-dragging", + "core:window:allow-set-decorations", + "core:window:allow-set-title", + "core:window:allow-set-visible-on-all-workspaces", + "core:window:allow-request-user-attention", + "core:window:allow-set-fullscreen", + "core:window:allow-create", + "core:window:allow-title", + "core:window:allow-center", + "core:window:allow-close", + "core:window:allow-destroy", + "core:window:allow-get-all-windows", + "core:window:allow-maximize", + "core:window:allow-minimize", + "core:window:allow-unminimize", + "core:window:allow-is-minimized", + "core:window:allow-is-closable", + "core:window:allow-is-decorated", + "core:window:allow-is-enabled", + "core:window:allow-is-focused", + "core:window:allow-is-fullscreen", + "core:window:allow-is-maximizable", + "core:window:allow-is-minimizable", + "core:window:allow-is-visible", + "core:window:allow-is-maximized", + "core:window:allow-is-resizable", + "core:window:allow-cursor-position", + "core:window:allow-inner-size", + "core:window:allow-inner-position", + "core:window:allow-internal-toggle-maximize", + "core:window:allow-set-background-color", + "core:window:allow-set-effects", + "core:window:allow-set-icon", + "core:window:allow-set-max-size", + "core:window:allow-set-min-size", + "core:window:allow-set-cursor-grab", + "core:window:allow-set-cursor-icon", + "core:window:allow-set-cursor-position", + "core:window:allow-set-always-on-bottom", + "core:window:allow-set-maximizable", + "core:window:allow-set-theme", + "core:window:allow-set-badge-count", + "core:window:allow-set-badge-label", + "core:window:allow-set-closable", + "core:window:allow-set-content-protected", + "core:window:allow-set-cursor-visible", + "core:window:allow-set-ignore-cursor-events", + "core:window:allow-set-minimizable", + "core:window:allow-set-overlay-icon", + "core:window:allow-set-progress-bar", + "core:window:allow-set-resizable", + "core:window:allow-set-shadow", + "core:window:allow-set-size-constraints", + "core:window:allow-set-skip-taskbar", + "core:window:allow-set-title-bar-style", + "core:window:allow-available-monitors", + "core:window:allow-current-monitor", + "core:window:allow-primary-monitor", + "core:window:allow-monitor-from-point", + "core:window:allow-outer-position", + "core:window:allow-outer-size", + "core:window:allow-scale-factor", + "core:window:allow-theme", + "core:window:allow-toggle-maximize", + "core:window:allow-unmaximize", + "core:webview:default", + "core:webview:allow-create-webview", + "core:webview:allow-create-webview-window", + "core:webview:allow-set-webview-background-color", + "core:webview:allow-set-webview-focus", + "core:webview:allow-set-webview-position", + "core:webview:allow-set-webview-size", + "core:webview:allow-set-webview-zoom", + "core:webview:allow-webview-size", + "core:webview:allow-webview-close", + "core:webview:allow-print", + "core:webview:allow-webview-hide", + "core:webview:allow-webview-position", + "core:webview:allow-webview-show", + "core:webview:allow-clear-all-browsing-data", + "core:webview:allow-reparent", + "core:webview:allow-internal-toggle-devtools", + "core:webview:allow-get-all-webviews", + "shell:default", + "shell:allow-kill", + "shell:allow-spawn", + "shell:allow-stdin-write", + "shell:allow-open", + { + "identifier": "shell:allow-execute", + "allow": [ + { + "name": "rclone", + "cmd": "rclone", + "args": true + }, + { + "name": "umount", + "cmd": "umount", + "args": true + }, + { + "name": "qjs", + "cmd": "qjs", + "args": true + } + ] + }, + { + "identifier": "shell:allow-spawn", + "allow": [ + { + "name": "binaries/rclone", + "args": true, + "sidecar": true + } + ] + }, + "log:default", + "dialog:default", + "fs:read-all", + "fs:write-all", + "fs:allow-open", + "fs:allow-download-write-recursive", + "fs:allow-download-read-recursive", + "fs:allow-download-meta-recursive", + "opener:default", + "positioner:default", + { + "identifier": "http:default", + "allow": [ + { + "url": "http://localhost:5572/**" + }, + { + "url": "https://www.google.com" + } + ] + }, + "store:default", + "process:default", + "notification:default", + "os:default" + ] +} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..2cba09225d490422e340570ee9c2f10b6efc7ae7 GIT binary patch literal 10259 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νi$v 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 CXb@!p literal 0 HcmV?d00001 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a714b1262c7d08133898d9c5138fbbdc0912d2 GIT binary patch literal 21890 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..23d863226271e80b41180dc27da6f4e6d30ce2e0 GIT binary patch literal 11598 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 vme={PwjTkiR`rPKvr>a9EPGSrZ^-+t^p>O4 zXaGa3AQ+JnHc^lY1r!Vdl{QesY6J_+j5Gbd@m~8fqP91gdGFnO?%B_Gj@ITaONFJz zdXB|!KR-XO)vH&pnlopP8@~qz2KsN@xN)fXJ39q#V#-n0Z;ChXaxY^v6*SraU1EzEevXJcbyRbXIX5a~q;+V=GH zba;AtE`cI4Zzi{x7x;8@bDKYJ-aJ=PmpTgNdqze^CZBe8b~*~=kMG<|OG`^vu(2d2 z__*Wes#Nr49$9BIm#eGmTqM)9XV0EJ`4fvw@cy)>rlx`C27|#U@96b<1D~y}t#?85 zc?%GBK4+_HQ3?r@;e5ERe}G%^PS1gsdtx^?ST zs|b@>x)5YqTP!R7W+b^mREh>lnqCpiw5KH~18sbKe9Vp=J0e%ETp2iX=FE4kL$ZDQ z_7K!}CGQC2GKPeN1kp=OELIjvZFF?>FHwqWdWQ5y23#_f8yh!n3`A13=jP`A5F8x5 z4MJzX$R9Jo;W*@&&iC>9J=rKYB)NwiWV+)ZS^&+zc@AM4kzUrAc2tXc|< zjEoGcuC8uGd_7_LIIPf%SeXSpGTSvcn?MQqZ`!nJt@J=jN=h;-fQrd*asR@F3k4fC zY}hn?`gE7t+S*3Skiu1><9Oe`eY>5C@G|yoskNwGt;|R$L)6kL%WBc0MQ%u}76%6h znN(($Qh$GcHw1;(*Vi|})eb~DvRJWVg)cjqh2g1Fr}Bi*aSEjX5)yX>c#L6h3_J-8 z6Ne5RN|DyipFe*th0+sLR%Sd(FAcf!DMB)Xs72nC0a@Q$DrncPT@gh^MI~TvU{a8X z8iVlfqeqXX7Z(?oFq4_RR053ky}i8y%yfZL#)5)^AETqA0Ao9L1WWa(zc{B>S3(G z!NI5KYTGI*Dt-n}0?x};N|~ymp`qVU-lj$=6)BmqpJH_N zxPJY5&8k(amWkRlEMB~L0g$K&6U8r3#EurQ&{>9i_Uzez`t<2sXJ=+{FT*OaZL=iLztU;M`?oS)meoaptQ*?2Tx-zwg|+GnyGgPcfNT^t^~tn~R}< zY_1>IrP(^ z>t$tUXMd*=gSZ78;65VESWr;VR)JnB>%pDwLTH@OkGF<}g@rC(zT6j0!iVJ{>&WI` z7-T|mB(^k}%*;&Y?ALOx(V~eau0CttT>k(Z57&2y S5|qLK0000*}BP>YVqS2lxHc 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

r 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 Yzo&Kgay`%uvj6}907*qoM6N<$g5@qQZU6uP literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7132d2579e4f7e32c4032824f4499ed3f36493ba GIT binary patch literal 6727 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..9bdc61604798bdbb15bc06df9cc86cdfca3c9a60 GIT binary patch literal 3578 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 A3IG5A literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_00_delay-0.1s.png b/src-tauri/icons/favicon/frame_00_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..16f04fdcf8aa6ba9748d7cb0aef36e9519def5dd GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIFdh=l97u~o6YKcOa@TM!PCVtgyVX0f&;@fRtF`Msf~?> zIZK&a5_+SyHZ*EyUu9uiw;_~~CuU(JBacsTqmYkxxTS%CPBiP4gIgI+@-Ue0<=Z;j z;u9m#EY%X%h?11Vl2ohYqEsNoU}Ruqs%v1VYiJN+XkukzWMyioZD3$!U?33leHn^| z-29Zxv`X9>5*huafEqO5Hk4%MrWThZ<`$sqF}5-=gIE$W(Nqwqhr!d;&t;ucLK6VR C5n+b_ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_01_delay-0.1s.png b/src-tauri/icons/favicon/frame_01_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..eda65291e111ac34bd165fd6521a6871b214f99a GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIFdh=l97u~o6YKcOa@TM*3-o?gyVX0f&;@gRtKdLEoSEA zD?#iW2WM@~Vq|{4DwL6DPM~(9i^hZmE@m$S-{_YI4j5#M2C!deQZZ(5F5tVi*8k}# zph2o7t`Q|Ei6yC4$wjF^iowXh$W+(BP}k5P#L&db#K_9jP}{)3%D_M%=KC@f4Y~O# znQ4`{H6$|nO93@#z-=hW%uOvWNz5%k*JEsDU#B_kJ~Hk;M?m<*thou`Xq2*>s01P6v|3Ff)Xi`S2Bk8D=w1`W6kC7HRY#U+Wk1?YN=tqjZ{mV`_+6$I*G@O1TaS?83{1OUZT BV;=wj literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_03_delay-0.1s.png b/src-tauri/icons/favicon/frame_03_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..4f098e33e5f69ef9a12a05532fa70fd3d44815fd GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thy{C&~2*>s01P6v|ED9TQRGFEB zUudx_Y`oOiXl!EA&}eF+)zGMIlFh_?JxJl8iKvRT>FUNtMH8+ix(p|I7zB>54GeV+4MGe}tW1ooObxXS46Foc)I$ztaD0e0sup@ BUvK~b literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_04_delay-0.1s.png b/src-tauri/icons/favicon/frame_04_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..45c371cc43120425ba8b86365fc2fee0bf7e0c1e GIT binary patch literal 382 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thou`Xq2*>s01P6v|oDNCXg4o!O zZJ5gEkhGGSIXfeRVZsTXgazopr08aa2 AmH+?% literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_05_delay-0.1s.png b/src-tauri/icons/favicon/frame_05_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..07f6a6a5deb6a49d45c559d53a68bccbe7d9c918 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thm8Xki2*>s01P6v~3PsvQH x#H}Hb(O(LvK?80>NoHFdh=l97u~o6YKcOa@TM(bL5-gyVX0f&;@gRtKdLQD)}L zS9I7FHm+)H%)YvclP5-dvzS4FZg13q18hnSn|OJAycbJJNQAjDmKLZg%w%L}Q5F!G zV)Zl`Xqak=YeY#(Vo9o1a#1RfVlXl=GSxLO)HO5+F*LC)HX1%GB6N``MwNA zLvDUbW?Cg~4T+5YQa}wFa2rZ8b5n~;5_1dC^%z?jm_aNFnP@5q)WhKE>gTe~DWM4f D+fHBp literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_07_delay-0.1s.png b/src-tauri/icons/favicon/frame_07_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec30aeb93c930ca1ed16f1ff795e6cfcde8d298 GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thgQtsQ2*>s01P6v|3Y-kcp;(Ks^keu6{1-oD!M<>!@L7 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_08_delay-0.1s.png b/src-tauri/icons/favicon/frame_08_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..b684788e715b1629905be30493f572b9f4b5e26c GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*tht*47)2*>s01P6v|3+^L-hLhTQy= z%(P0}8WI`(rGOeV;5L+G=B5^xB<2>N>oK-6FoReUGSO5JsE5JR)z4*}Q$iB}P=R8% literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_09_delay-0.1s.png b/src-tauri/icons/favicon/frame_09_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..be31edfb824dbff22ff4551f22c3f45da452ac11 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thji-xa2*>s01P6v|3<`#(J&lc- znIX)~mqQc|N=a>PXe`Zq!NRs}>OyV>mdlrX*x8m%b!bXVRq>JLVPLTA;ETKxDR&KM zj%tZ(L`h0wNvc(HQ7VvPFfuSQ)ip5GH8cn@G_f)BQ;SOya|_V*7+V>bK`aTGXetQQ!{F)a=d#Wzp$PzRIbdV} literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_10_delay-0.1s.png b/src-tauri/icons/favicon/frame_10_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..d286ca5a754116b67b459c0c0aa415364aa49413 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thwWo_?2*>s01P6v|3<`o$M-Lnj znRWHR0S=`I=gn#c1+8tY1_i#n(F}?+oTi%@82HA%I&i?iRCF0H8^b>)-T>7`OGThD zswJ)wB`Jv|saDBFsX&Us$iT={*T7KM&>+On#LC3T%G6NXz`)ADKp^J(G87HD`6-!c xmAEw|GWtsaHE6(XD9OxCEiOsSEkM^}Y-L~uu_R=osUT1fgQu&X%Q~loCIHsZU#9>7 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_11_delay-0.1s.png b/src-tauri/icons/favicon/frame_11_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1a95a960c248e2ea881aa4b409f0a1decabc10 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thm8Xki2*>s01P6v|3<`p?jvhE5 zv1=8h(}uQnTnP_&dU+BaaP`h&P!cmRX!FfZNZ^`%iy_2DbQv!j1M6E}?W{+I#XwV3 zOI#yLQW8s2t&)pUffR$0fsv`MfuXLUL5QJ=m5Gs+siC%kft7)QK+N}LC>nC}Q!>*k wacf9q^p^r^(16=el9`)YT#}eufUd{b%D@a_NytP~L7*N6Pgg&ebxsLQ07r>nga7~l literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_12_delay-0.1s.png b/src-tauri/icons/favicon/frame_12_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6881f05cdc5ec401a90daa7ba9a05eb39faa0e GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thm8Xki2*>s01P6v|EDD0Vx*8h| zbEY!4B=AN{9ylO1OX|P@$yuywVg?3ouBHr~8`#*|HW*CU#-L)%@FtDN@KI;{GN37{ zC9V-ADTyViR>?)FK#IZ0z{phBz);uFAjHtb%EZXZ)KJ^Nz{#B_kJ~Hk;M?m<*thm8Xki2*>s01P6v|tPV;!qRh<6 zSG?Fc4oYn`X=pSp(dvlcR0{J=NH}wb=~SAVrGbHqThkU+g_(>Dd@(%7J02Bp0Ggs& z;u=wsl30>zm0Xkxq!^40j7)V640R0+LJUo;OpL5d4YdsntPBhUV!kg!(U6;;l9^VC wTSFqFzZ6h|2Hb{{%-q!ClEmBsbUnsa24)aTLMECD0`)L>y85}Sb4q9e0P_}K8UO$Q literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_14_delay-0.1s.png b/src-tauri/icons/favicon/frame_14_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..3078fdfdc5037dae0a9838a74eceab7e85d86457 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fI#B_kJ~Hk;M?m<*thwWo_?2*>s01P6v~tPV<9qRh<6 z*MitN4$d+)ZD=&r5pmIB60zO1hjcpZ$G8654GeV+4MGe}tW1ooObxXS46Foc)I$ztaD0e0svR&T#Wz# literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_15_delay-0.1s.png b/src-tauri/icons/favicon/frame_15_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..ba70a7d9b9e288887f900771503b083f8d684b6f GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIFdh=l97u~o6YKcOa@TM%G1R$gyVX0f&;@f1_eXYp2kK^ zlhuq)1+D9%4jkCZkh#Oe)3Y-kcp;(Ks^keu6{1-oD!MFdh=l97u~o6YKcOa@TM#?!?ygyVX0f&;@f76n16lLrn+ z>^jBhRM56I>c9b0ZWo_eQ$`OL--LviS*%lHXI?#UU_+5;0Q+?&6=MbuPyReXYr`u* zb5u)QBT7;dOH!?pi&B9UgOP!esjh*cuAxDQp^24=k(H^Twt<0_fq_8G_hl#=a`RI% y(<*UmNM!Vv0&38J+fb63n_66wm|K9Z$Joli3}Q*hL{mYa9tKZWKbLh*2~7aQ)?oVp literal 0 HcmV?d00001 diff --git a/src-tauri/icons/favicon/frame_17_delay-0.1s.png b/src-tauri/icons/favicon/frame_17_delay-0.1s.png new file mode 100644 index 0000000000000000000000000000000000000000..16f04fdcf8aa6ba9748d7cb0aef36e9519def5dd GIT binary patch literal 384 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx93dtTpz6=aiY77hwEes65fIFdh=l97u~o6YKcOa@TM!PCVtgyVX0f&;@fRtF`Msf~?> zIZK&a5_+SyHZ*EyUu9uiw;_~~CuU(JBacsTqmYkxxTS%CPBiP4gIgI+@-Ue0<=Z;j z;u9m#EY%X%h?11Vl2ohYqEsNoU}Ruqs%v1VYiJN+XkukzWMyioZD3$!U?33leHn^| z-29Zxv`X9>5*huafEqO5Hk4%MrWThZ<`$sqF}5-=gIE$W(Nqwqhr!d;&t;ucLK6VR C5n+b_ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..c0d83eb1b9c2ddee634edf50b9668468aa8d590e GIT binary patch literal 236476 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­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
l1+q7-i4gdf1ftgaD2}*xE``> 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

vV;yP398rWh9Gzg?!g=`gS@}Ej(>v2;Z0Duwy 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

Z~&o^@_m^#FWVVMA%J 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 z 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 R%LYsYObjmQztMFJ|9@y>{Luga literal 0 HcmV?d00001 diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs new file mode 100644 index 0000000..040b96e --- /dev/null +++ b/src-tauri/src/lib.rs @@ -0,0 +1,106 @@ +// use tauri::Manager; + +// #[derive(Clone, serde::Serialize)] +// struct Payload { +// args: Vec, +// cwd: String, +// } + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + let mut app = tauri::Builder::default() + .plugin(tauri_plugin_os::init()) + .plugin(tauri_plugin_notification::init()) + .plugin(tauri_plugin_process::init()) + // .plugin(tauri_plugin_single_instance::init(|app, argv, cwd| { + // println!("{}, {argv:?}, {cwd}", app.package_info().name); + // // app.emit("single-instance", Payload { args: argv, cwd }).unwrap(); + // })) + // .plugin(tauri_plugin_single_instance::init(|app, _argv, _cwd| { + // let _ = app + // .get_webview_window("main") + // .expect("no main window") + // .set_focus(); + // })) + .plugin(tauri_plugin_store::Builder::new().build()) + .plugin(tauri_plugin_http::init()) + .plugin(tauri_plugin_positioner::init()) + .plugin(tauri_plugin_fs::init()) + .plugin(tauri_plugin_dialog::init()) + .plugin(tauri_plugin_log::Builder::new().build()) + .plugin(tauri_plugin_shell::init()) + .plugin(tauri_plugin_opener::init()) + .setup(|_app| Ok(())) + // .setup(|app| { + // if cfg!(debug_assertions) { + // app.handle().plugin( + // tauri_plugin_log::Builder::default() + // .level(log::LevelFilter::Info) + // .build(), + // )?; + // } + // Ok(()) + // }) + // .setup(|app| { + // let win_builder = + // tauri::WebviewWindowBuilder::new(app, "main", tauri::WebviewUrl::default()) + // .title("Transparent Titlebar Window") + // .inner_size(800.0, 600.0); + // // set transparent title bar only when building for macOS + // #[cfg(target_os = "macos")] + // let win_builder = win_builder.title_bar_style(tauri::TitleBarStyle::Transparent); + // let window = win_builder.build().unwrap(); + // // set background color only when building for macOS + // #[cfg(target_os = "macos")] + // { + // use cocoa::appkit::{NSColor, NSWindow}; + // use cocoa::base::{id, nil}; + // let ns_window = window.ns_window().unwrap() as id; + // unsafe { + // let bg_color = NSColor::colorWithRed_green_blue_alpha_( + // nil, + // 138.0 / 255.0, + // 43.0 / 255.0, + // 226.0 / 255.0, + // 1.0, + // ); + // ns_window.setBackgroundColor_(bg_color); + // } + // } + // Ok(()) + // }) + .build(tauri::generate_context!()) + .expect("error while running tauri application"); + + #[cfg(target_os = "macos")] + app.set_activation_policy(tauri::ActivationPolicy::Accessory); + + // prevents only app close + // app.run(|app_handle, e| { + // if let tauri::RunEvent::ExitRequested { api, .. } = &e { + // // Keep the event loop running even if all windows are closed + // // This allow us to catch system tray events when there is no window + // api.prevent_exit(); + // } + // }); + + // also prevents window close + // RS: https://github.com/tauri-apps/tauri/issues/5500#issuecomment-1300258861 + // JS: https://github.com/tauri-apps/tauri/blob/4cbdf0fb1c0de5004eab51c36d5843a9816f18af/examples/api/src/App.svelte#L26 + // app.run(|app, event| match event { + // tauri::RunEvent::WindowEvent { + // label, + // event: win_event, + // .. + // } => match win_event { + // tauri::WindowEvent::CloseRequested { api, .. } => { + // let win = app.get_webview_window(label.as_str()).unwrap(); + // win.hide().unwrap(); + // api.prevent_close(); + // } + // _ => {} + // }, + // _ => {} + // }) + app.run(|_app, _event| {}) +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs new file mode 100644 index 0000000..0cb3979 --- /dev/null +++ b/src-tauri/src/main.rs @@ -0,0 +1,7 @@ +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + let _ = fix_path_env::fix(); + app_lib::run(); +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..73c3356 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,84 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "s-tray", + "version": "0.1.0", + "identifier": "com.stray.app", + "build": { + "frontendDist": "../dist", + "devUrl": "http://localhost:1420", + "beforeDevCommand": "npm run dev", + "beforeBuildCommand": "npm run build" + }, + "app": { + "windows": [ + { + "title": "STray", + "width": 0, + "height": 0, + "center": true, + "hiddenTitle": false, + "resizable": false, + "fullscreen": false, + "visible": false, + "decorations": false, + "focus": true, + "url": "tray.html" + } + ], + "security": { + "csp": null + }, + "withGlobalTauri": true + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico", + "icons/favicon/frame_00_delay-0.1s.png", + "icons/favicon/frame_01_delay-0.1s.png", + "icons/favicon/frame_02_delay-0.1s.png", + "icons/favicon/frame_03_delay-0.1s.png", + "icons/favicon/frame_04_delay-0.1s.png", + "icons/favicon/frame_05_delay-0.1s.png", + "icons/favicon/frame_06_delay-0.1s.png", + "icons/favicon/frame_07_delay-0.1s.png", + "icons/favicon/frame_08_delay-0.1s.png", + "icons/favicon/frame_09_delay-0.1s.png", + "icons/favicon/frame_10_delay-0.1s.png", + "icons/favicon/frame_11_delay-0.1s.png", + "icons/favicon/frame_12_delay-0.1s.png", + "icons/favicon/frame_13_delay-0.1s.png", + "icons/favicon/frame_14_delay-0.1s.png", + "icons/favicon/frame_15_delay-0.1s.png", + "icons/favicon/frame_16_delay-0.1s.png", + "icons/favicon/frame_17_delay-0.1s.png" + ], + "externalBin": ["binaries/rclone"], + "category": "Utility", + "copyright": "FarFetched", + "macOS": { + "dmg": { + "appPosition": { + "x": 180, + "y": 170 + }, + "applicationFolderPosition": { + "x": 480, + "y": 170 + }, + "windowSize": { + "height": 400, + "width": 660 + } + }, + "hardenedRuntime": true, + "entitlements": "Entitlements.plist", + "minimumSystemVersion": "10.13" + } + } +} diff --git a/src/assets/favicon.ico b/src/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..04d8554b45baed17e656dea75a9f07d8ef078b7d GIT binary patch literal 4581 zcmds*y>8V&5QXne3^F0bmMJKl9w7q~0@2(g3O@}(f(HoVMe@_~P=rW41wA!%RNLc$UI!<<}mLstUT4P@z{meTE7_C5=OTn=u3=5-Kk{k=NMKgM!gu%S+ zMwx0=Z9?9`{w3!8e%GEBX9v+7NJe`^TBss+r;Ryp>=-4BPb7xwx}uxzm!!1$I}}Md z7A{dxr&?8;#NO8Re$uu3&Q3n0Q?y4?ofHbqa$oOM#|w{7S!0%CENDq>X&p$V*$fUv zQa+H3G^AQpo5G&&IxO~fFWG_Qv}A8K_Exjc;i>o-r=wcDnP!iF+^nPy$D;QR2DE%+ z6>-`pu%8Xrd)Fj8(g|9<>q^@;r;97>t-a?tL+EMIdgPR*SrJ-gAIU!39YY59HXC}d zzT9C&F@b&ju1j{LnzYUi#a+!5hCp+^1iL&fzC@|)!K(P{NJxS`+MUS^=*A@qpbu2q z$F&=>@0ZF>K)$_)dz`CaN2$E~xY)c*l)-+_bXvDZ)dkz z9=pBRsd%o7-QI&&~)kz`oXBH_JQO<7`7(?(gxg8z^J9 zz2Dfi`WGIbp)hz<80$c5&J%>j*u*Njn*GJ^y@{5OsJ8AtjXlmbV6W#o67jgEv&~2u zyY2lt&)WA-(AyGu#6sy2zeO?I5?e7%E~OFYju zsmKn+BKElXXpeJrix(6G;idQ~t*@Y%Nv z_xGw`gaU1{+iqy_F-~P&@rEX_gB_zJSd5 z#6DDr%}+X!ckTU!u`y1Y@E)&gqFZ|(Sq~g*$!4vZ>dh{D_F@ht=P{oLbp zVu^3qR0vc%dgNVS^NJ5)2D+_SX#ra3z>*Wu(Av=H0xX$-` Op64;)|AXHyp8p1Xkv)3= literal 0 HcmV?d00001 diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/OptionsSection.tsx b/src/components/OptionsSection.tsx new file mode 100644 index 0000000..b0ba1cd --- /dev/null +++ b/src/components/OptionsSection.tsx @@ -0,0 +1,151 @@ +import { Chip, Textarea, Tooltip } from '@nextui-org/react' +import { XIcon } from 'lucide-react' +import { useCallback, useEffect, useState } from 'react' +import { replaceSmartQuotes } from '../../lib/format' + +export default function OptionsSection({ + optionsJson, + setOptionsJson, + globalOptions, + optionsFetcher, + rows = 14, +}: { + optionsJson: string + setOptionsJson: (value: string) => void + globalOptions: any[] + optionsFetcher: () => Promise + rows?: number +}) { + const [copyAvailableOptions, setCopyAvailableOptions] = useState([]) + + const [options, setOptions] = useState({}) + const [isJsonValid, setIsJsonValid] = useState(true) + + useEffect(() => { + optionsFetcher() + .then((flags) => { + console.log(JSON.stringify(flags, null, 2)) + return flags + }) + .then((flags) => setCopyAvailableOptions(flags)) + }, [optionsFetcher]) + + useEffect(() => { + try { + const parsedOptions = JSON.parse(optionsJson) + setOptions(parsedOptions) + setIsJsonValid(true) + } catch { + setIsJsonValid(false) + } + }, [optionsJson]) + + const isOptionAdded = useCallback( + (option: string) => { + return options[option] !== undefined + }, + [options] + ) + + return ( +

+