diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..63084893 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +**/*.png +**/*.jpg diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index b33247e2..bd969c28 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -10,16 +10,15 @@ export default defineConfig({ // https://vitepress.dev/reference/default-theme-config nav: [ { text: 'Home', link: '/' }, - { text: 'Examples', link: '/markdown-examples' } ], sidebar: [ { - text: 'Examples', - items: [ - { text: 'Markdown Examples', link: '/markdown-examples' }, - { text: 'Runtime API Examples', link: '/api-examples' } - ] + text: 'Preview', + // items: [ + // { text: 'Markdown Examples', link: '/markdown-examples' }, + // { text: 'Runtime API Examples', link: '/api-examples' } + // ] } ], @@ -29,38 +28,14 @@ export default defineConfig({ }, vite: { clearScreen: false, - server: { - // make sure this port matches the devUrl port in tauri.conf.json file - port: 5173, - // Tauri expects a fixed port, fail if that port is not available - strictPort: true, - // if the host Tauri is expecting is set, use it - host: TAURI_HOST || false, - hmr: TAURI_HOST - ? { - protocol: 'ws', - host: TAURI_HOST, - port: 1421, - } - : undefined, - - watch: { - // tell vite to ignore watching `src-tauri` - ignored: ['**/src-tauri/**'], + server: { + proxy: { + '/socket': { + target: 'ws://localhost:8080', + ws: true, + rewriteWsOrigin: true, + } }, }, - // Env variables starting with the item of `envPrefix` will be exposed in tauri's source code through `import.meta.env`. - envPrefix: ['VITE_', 'TAURI_ENV_*'], - build: { - // Tauri uses Chromium on Windows and WebKit on macOS and Linux - target: - process.env.TAURI_ENV_PLATFORM == 'windows' - ? 'chrome105' - : 'safari13', - // don't minify for debug builds - minify: !process.env.TAURI_ENV_DEBUG ? 'esbuild' : false, - // produce sourcemaps for debug builds - sourcemap: !!process.env.TAURI_ENV_DEBUG, - }, } }) diff --git a/docs/.vitepress/theme/components/Downloader.vue b/docs/.vitepress/theme/components/Downloader.vue index d1889d41..b8c8b6a5 100644 --- a/docs/.vitepress/theme/components/Downloader.vue +++ b/docs/.vitepress/theme/components/Downloader.vue @@ -1,69 +1,107 @@ \ No newline at end of file + diff --git a/docs/.vitepress/theme/components/Video.vue b/docs/.vitepress/theme/components/Video.vue new file mode 100644 index 00000000..d42313c6 --- /dev/null +++ b/docs/.vitepress/theme/components/Video.vue @@ -0,0 +1,50 @@ + + + + + \ No newline at end of file diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index d6d713b3..bbbd9a0c 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -1,9 +1,17 @@ import type { Theme } from "vitepress"; import DefaultTheme from "vitepress/theme"; +import { h } from 'vue' + import Downloader from "./components/Downloader.vue"; +import Video from './components/Video.vue' export default { extends: DefaultTheme, + Layout() { + return h(DefaultTheme.Layout, null, { + 'sidebar-nav-after': () => h(Video) + }) + }, enhanceApp({ app }) { // register your custom global components app.component("Downloader", Downloader); diff --git a/docs/15萬緬甸人在台灣的背後,是一段顛沛流離的故事.md b/docs/15萬緬甸人在台灣的背後,是一段顛沛流離的故事.md new file mode 100644 index 00000000..6f42650d --- /dev/null +++ b/docs/15萬緬甸人在台灣的背後,是一段顛沛流離的故事.md @@ -0,0 +1,948 @@ +--- +interval: 2 +video: '/15萬緬甸人在台灣的背後,是一段顛沛流離的故事 [n0qycF8rvVU].mp4' +--- + +![0:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_02.png) + + + +![0:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_04.png) + + + +![0:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_06.png) + + + +![0:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_08.png) + + + +![0:10](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_10.png) + + + +![0:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_12.png) + + + +![0:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_14.png) + + + +![0:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_16.png) + + + +![0:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_18.png) + + + +![0:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_20.png) + + + +![0:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_22.png) + + + +![0:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_24.png) + + + +![0:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_26.png) + + + +![0:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_28.png) + + + +![0:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_30.png) + + + +![0:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_32.png) + + + +![0:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_34.png) + + + +![0:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_36.png) + + + +![0:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_38.png) + + + +![0:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_40.png) + + + +![0:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_42.png) + + + +![0:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_44.png) + + + +![0:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_46.png) + + + +![0:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_48.png) + + + +![0:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_50.png) + + + +![0:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_54.png) + + + +![0:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_56.png) + + + +![0:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/0_58.png) + + + +![1:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_00.png) + + + +![1:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_02.png) + + + +![1:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_04.png) + + + +![1:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_06.png) + + + +![1:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_14.png) + + + +![1:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_16.png) + + + +![1:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_18.png) + + + +![1:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_20.png) + + + +![1:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_22.png) + + + +![1:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_24.png) + + + +![1:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_28.png) + + + +![1:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_30.png) + + + +![1:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_32.png) + + + +![1:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_34.png) + + + +![1:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_36.png) + + + +![1:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_40.png) + + + +![1:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_42.png) + + + +![1:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_44.png) + + + +![1:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_46.png) + + + +![1:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_48.png) + + + +![1:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_50.png) + + + +![1:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_52.png) + + + +![1:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_54.png) + + + +![1:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/1_58.png) + + + +![2:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_00.png) + + + +![2:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_02.png) + + + +![2:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_04.png) + + + +![2:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_06.png) + + + +![2:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_12.png) + + + +![2:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_14.png) + + + +![2:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_16.png) + + + +![2:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_18.png) + + + +![2:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_20.png) + + + +![2:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_22.png) + + + +![2:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_26.png) + + + +![2:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_28.png) + + + +![2:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_30.png) + + + +![2:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_32.png) + + + +![2:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_34.png) + + + +![2:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_36.png) + + + +![2:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_38.png) + + + +![2:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_42.png) + + + +![2:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_44.png) + + + +![2:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_46.png) + + + +![2:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_48.png) + + + +![2:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_50.png) + + + +![2:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_52.png) + + + +![2:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_56.png) + + + +![2:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/2_58.png) + + + +![3:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_00.png) + + + +![3:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_02.png) + + + +![3:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_04.png) + + + +![3:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_06.png) + + + +![3:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_08.png) + + + +![3:10](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_10.png) + + + +![3:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_12.png) + + + +![3:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_14.png) + + + +![3:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_16.png) + + + +![3:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_18.png) + + + +![3:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_20.png) + + + +![3:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_22.png) + + + +![3:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_24.png) + + + +![3:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_26.png) + + + +![3:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_28.png) + + + +![3:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_30.png) + + + +![3:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_32.png) + + + +![3:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_36.png) + + + +![3:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_38.png) + + + +![3:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_40.png) + + + +![3:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_42.png) + + + +![3:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_44.png) + + + +![3:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_48.png) + + + +![3:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_50.png) + + + +![3:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_52.png) + + + +![3:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_54.png) + + + +![3:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_56.png) + + + +![3:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/3_58.png) + + + +![4:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_00.png) + + + +![4:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_02.png) + + + +![4:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_04.png) + + + +![4:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_06.png) + + + +![4:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_08.png) + + + +![4:10](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_10.png) + + + +![4:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_12.png) + + + +![4:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_14.png) + + + +![4:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_16.png) + + + +![4:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_18.png) + + + +![4:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_22.png) + + + +![4:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_24.png) + + + +![4:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_26.png) + + + +![4:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_32.png) + + + +![4:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_34.png) + + + +![4:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_38.png) + + + +![4:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_40.png) + + + +![4:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_44.png) + + + +![4:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_46.png) + + + +![4:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_48.png) + + + +![4:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_52.png) + + + +![4:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_54.png) + + + +![4:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_56.png) + + + +![4:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/4_58.png) + + + +![5:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_00.png) + + + +![5:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_02.png) + + + +![5:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_04.png) + + + +![5:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_06.png) + + + +![5:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_08.png) + + + +![5:10](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_10.png) + + + +![5:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_12.png) + + + +![5:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_16.png) + + + +![5:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_18.png) + + + +![5:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_20.png) + + + +![5:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_22.png) + + + +![5:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_24.png) + + + +![5:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_26.png) + + + +![5:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_28.png) + + + +![5:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_30.png) + + + +![5:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_32.png) + + + +![5:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_34.png) + + + +![5:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_36.png) + + + +![5:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_38.png) + + + +![5:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_40.png) + + + +![5:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_42.png) + + + +![5:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_44.png) + + + +![5:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_48.png) + + + +![5:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_50.png) + + + +![5:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_52.png) + + + +![5:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_54.png) + + + +![5:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_56.png) + + + +![5:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/5_58.png) + + + +![6:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_00.png) + + + +![6:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_02.png) + + + +![6:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_04.png) + + + +![6:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_06.png) + + + +![6:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_08.png) + + + +![6:10](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_10.png) + + + +![6:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_12.png) + + + +![6:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_14.png) + + + +![6:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_16.png) + + + +![6:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_20.png) + + + +![6:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_22.png) + + + +![6:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_24.png) + + + +![6:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_26.png) + + + +![6:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_28.png) + + + +![6:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_30.png) + + + +![6:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_32.png) + + + +![6:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_34.png) + + + +![6:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_36.png) + + + +![6:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_38.png) + + + +![6:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_40.png) + + + +![6:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_42.png) + + + +![6:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_44.png) + + + +![6:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_46.png) + + + +![6:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_48.png) + + + +![6:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_50.png) + + + +![6:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_52.png) + + + +![6:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_54.png) + + + +![6:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_56.png) + + + +![6:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/6_58.png) + + + +![7:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_02.png) + + + +![7:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_04.png) + + + +![7:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_06.png) + + + +![7:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_08.png) + + + +![7:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_12.png) + + + +![7:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_14.png) + + + +![7:16](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_16.png) + + + +![7:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_18.png) + + + +![7:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_20.png) + + + +![7:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_22.png) + + + +![7:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_24.png) + + + +![7:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_26.png) + + + +![7:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_28.png) + + + +![7:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_30.png) + + + +![7:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_32.png) + + + +![7:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_34.png) + + + +![7:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_36.png) + + + +![7:38](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_38.png) + + + +![7:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_40.png) + + + +![7:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_42.png) + + + +![7:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_44.png) + + + +![7:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_46.png) + + + +![7:48](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_48.png) + + + +![7:50](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_50.png) + + + +![7:52](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_52.png) + + + +![7:54](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_54.png) + + + +![7:56](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_56.png) + + + +![7:58](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/7_58.png) + + + +![8:00](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_00.png) + + + +![8:02](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_02.png) + + + +![8:04](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_04.png) + + + +![8:06](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_06.png) + + + +![8:08](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_08.png) + + + +![8:10](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_10.png) + + + +![8:12](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_12.png) + + + +![8:14](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_14.png) + + + +![8:18](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_18.png) + + + +![8:20](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_20.png) + + + +![8:22](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_22.png) + + + +![8:24](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_24.png) + + + +![8:26](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_26.png) + + + +![8:28](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_28.png) + + + +![8:30](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_30.png) + + + +![8:32](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_32.png) + + + +![8:34](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_34.png) + + + +![8:36](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_36.png) + + + +![8:40](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_40.png) + + + +![8:42](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_42.png) + + + +![8:44](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_44.png) + + + +![8:46](./15萬緬甸人在台灣的背後,是一段顛沛流離的故事/8_46.png) + + diff --git a/docs/api-examples.md b/docs/api-examples.md deleted file mode 100644 index 6bd8bb5c..00000000 --- a/docs/api-examples.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -outline: deep ---- - -# Runtime API Examples - -This page demonstrates usage of some of the runtime APIs provided by VitePress. - -The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: - -```md - - -## Results - -### Theme Data -
{{ theme }}
- -### Page Data -
{{ page }}
- -### Page Frontmatter -
{{ frontmatter }}
-``` - - - -## Results - -### Theme Data -
{{ theme }}
- -### Page Data -
{{ page }}
- -### Page Frontmatter -
{{ frontmatter }}
- -## More - -Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/index.md b/docs/index.md index 61ce5f52..a0a13e09 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,22 +5,10 @@ layout: home hero: name: "yt2press" text: "video to vitepress" - tagline: My great project tagline - actions: - - theme: brand - text: Markdown Examples - link: /markdown-examples - - theme: alt - text: API Examples - link: /api-examples - -features: - - title: Feature A - details: Lorem ipsum dolor sit amet, consectetur adipiscing elit - - title: Feature B - details: Lorem ipsum dolor sit amet, consectetur adipiscing elit - - title: Feature C - details: Lorem ipsum dolor sit amet, consectetur adipiscing elit --- + +- [【剥茧The Truth Within】EP02](/qVVhBGT0K7Y) +- [15萬緬甸人在台灣的背後,是一段顛沛流離的故事](/15萬緬甸人在台灣的背後,是一段顛沛流離的故事) +- [美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?](/美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?) diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md deleted file mode 100644 index f9258a55..00000000 --- a/docs/markdown-examples.md +++ /dev/null @@ -1,85 +0,0 @@ -# Markdown Extension Examples - -This page demonstrates some of the built-in markdown extensions provided by VitePress. - -## Syntax Highlighting - -VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: - -**Input** - -````md -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` -```` - -**Output** - -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` - -## Custom Containers - -**Input** - -```md -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: -``` - -**Output** - -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: - -## More - -Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/docs/qVVhBGT0K7Y.md b/docs/qVVhBGT0K7Y.md index a8e249d8..869f5a2f 100644 --- a/docs/qVVhBGT0K7Y.md +++ b/docs/qVVhBGT0K7Y.md @@ -1,581 +1,1164 @@ +--- +title: 【剥茧The Truth Within】EP02:识骨寻凶!罗云熙变天才法医解码诡案 | 罗云熙/刘雅瑟/江奇霖 | 悬疑 剧情 | 优酷 YOUKU +video: /qVVhBGT0K7Y.webm +--- + +![0:14](./qVVhBGT0K7Y/0_14.png) -0:14 Aren't you a forensic? What brings you to our squad? What's your connections to the Raw Diamond case? -0:25 + +![0:25](./qVVhBGT0K7Y/0_25.png) + None. Then why'd you show up at the trading spot? -0:34 + +![0:34](./qVVhBGT0K7Y/0_34.png) + Answer me! Why did you come here? -2:20 + +![2:20](./qVVhBGT0K7Y/2_20.png) + Not just me. Anyone here, and even anyone Lanzi might have met after she left, -2:26 + +![2:26](./qVVhBGT0K7Y/2_26.png) + could be the killer. We're gonna check -2:32 + +![2:32](./qVVhBGT0K7Y/2_32.png) + every suspect. But right now, you're our prime suspect. -2:41 + +![2:41](./qVVhBGT0K7Y/2_41.png) + In the autopsy report, was there any erosive bleeding? -2:52 + +![2:52](./qVVhBGT0K7Y/2_52.png) + Or any foreign objects in Lanzi's stomach? -2:58 + +![2:58](./qVVhBGT0K7Y/2_58.png) + Please go ahead. You've got a person dead from cyanide poisoning, -3:03 + +![3:03](./qVVhBGT0K7Y/3_03.png) + but you can't figure out when or where the poison got slipped to her? -3:09 + +![3:09](./qVVhBGT0K7Y/3_09.png) + It means the poison was already in her body. -3:16 + +![3:16](./qVVhBGT0K7Y/3_16.png) + You mean there's no killer? Qiu Lanzi poisoned and killed herself? -3:25 + +![3:25](./qVVhBGT0K7Y/3_25.png) + You found my fingerprints on that bottle of water. But it's because -3:30 + +![3:30](./qVVhBGT0K7Y/3_30.png) + that one wasn't for Lanzi. -3:36 + +![3:36](./qVVhBGT0K7Y/3_36.png) + Ms. Zhu! Ms. Zhu, what did Mr. Qi say? He thinks the cyanide -3:42 + +![3:42](./qVVhBGT0K7Y/3_42.png) + was already in Qiu Lanzi's body. How did he know? The report was turned in just now. -3:50 + +![3:50](./qVVhBGT0K7Y/3_50.png) + Have you heard of remote case-solving? It's to find out the truth by analyzing crime scenes -3:55 + +![3:55](./qVVhBGT0K7Y/3_55.png) + and examining bodies without physical presence. Only a few forensic doctors can do this, -4:00 + +![4:00](./qVVhBGT0K7Y/4_00.png) + and Qi Sizhe is one of them. -4:06 + +![4:06](./qVVhBGT0K7Y/4_06.png) + Gao Yuan. Check the stuff he used in the lab. Then compare them with that bottle of water. -4:12 + +![4:12](./qVVhBGT0K7Y/4_12.png) + Okay. I go with you. -4:20 + +![4:20](./qVVhBGT0K7Y/4_20.png) + Did you transfer here because of what happened before? -4:27 + +![4:27](./qVVhBGT0K7Y/4_27.png) + You followed Jiang Fei, went to the bar, and visited Li Yiqi in the hospital. -4:33 + +![4:33](./qVVhBGT0K7Y/4_33.png) + What do you wanna do? I've told you. That's not truth. -4:45 + +![4:45](./qVVhBGT0K7Y/4_45.png) + Han Feng. You really think I'd kill a forensic intern -4:51 + +![4:51](./qVVhBGT0K7Y/4_51.png) + I just met? -4:57 + +![4:57](./qVVhBGT0K7Y/4_57.png) + You know very well it couldn't be me. What I think matters not. -5:02 + +![5:02](./qVVhBGT0K7Y/5_02.png) + Figuring out the truth matters. -5:22 + +![5:22](./qVVhBGT0K7Y/5_22.png) + Since he's helping with the case, maybe you could clue him in on some of the stuff we've dug up, -5:29 + +![5:29](./qVVhBGT0K7Y/5_29.png) + just enough to speed things along and catch the killer faster. -5:36 + +![5:36](./qVVhBGT0K7Y/5_36.png) + Okay. Mr. Gao. Please test Mr. Qi's water -5:42 + +![5:42](./qVVhBGT0K7Y/5_42.png) + and effervescent tablets. Tell us what you find out. Okay. Thank you. -6:03 + +![6:03](./qVVhBGT0K7Y/6_03.png) + Mr. Han. Ms. Zhu. The results come out. The report shows each of their saliva -6:08 + +![6:08](./qVVhBGT0K7Y/6_08.png) + in the other's water. So Qiu Lanzi took his water by mistake. -6:13 + +![6:13](./qVVhBGT0K7Y/6_13.png) + Yes. The water Lanzi drank should be Mr. Qi's soda water. And in Mr. Qi's bag -6:19 + +![6:19](./qVVhBGT0K7Y/6_19.png) + was just mineral water. Okay. -6:25 + +![6:25](./qVVhBGT0K7Y/6_25.png) + Gotta go. -6:33 + +![6:33](./qVVhBGT0K7Y/6_33.png) + Mr. Han. Ms. Zhu. -6:42 + +![6:42](./qVVhBGT0K7Y/6_42.png) + I've sure you've known why my fingerprints were on that bottle of water. -6:49 + +![6:49](./qVVhBGT0K7Y/6_49.png) + I wanna know why you said the cyanide was already in Qiu Lanzi's body. -6:55 + +![6:55](./qVVhBGT0K7Y/6_55.png) + I think Lanzi was usually on meds. -7:01 + +![7:01](./qVVhBGT0K7Y/7_01.png) + We did find some stomach meds in her bag. What meds? Omeprazole. -7:07 + +![7:07](./qVVhBGT0K7Y/7_07.png) + What else did the autopsy find? Found two drug capsules in her stomach. The shells looked melted, -7:13 + +![7:13](./qVVhBGT0K7Y/7_13.png) + and one of them had cracked open. Last question. -7:20 + +![7:20](./qVVhBGT0K7Y/7_20.png) + How many pills are left in her medicine bottle? Just one. -7:39 + +![7:39](./qVVhBGT0K7Y/7_39.png) + I think I know how Lanzi was murdered. Lanzi's stomach med, omeprazole, is an enteric-coated capsule. -7:46 + +![7:46](./qVVhBGT0K7Y/7_46.png) + It's designed to pass through the stomach without breaking down in the acid, then get absorbed -7:52 + +![7:52](./qVVhBGT0K7Y/7_52.png) + in the intestines where things are more alkaline. However, it was found in her stomach. -7:59 + +![7:59](./qVVhBGT0K7Y/7_59.png) + Why? Qiu Lanzi took your water by mistake. It was soda water, -8:05 + +![8:05](./qVVhBGT0K7Y/8_05.png) + making the capsule dissolve quicker. The coating on the capsules is slow-release, -8:10 + +![8:10](./qVVhBGT0K7Y/8_10.png) + so they should start working within 4 to 12 hours. But she drank soda, and that cut the time -8:16 + +![8:16](./qVVhBGT0K7Y/8_16.png) + way short. So the cyanide was hidden in Lanzi's stomach med capsules. -8:24 + +![8:24](./qVVhBGT0K7Y/8_24.png) + One of the two capsules in her stomach had cracked open. -8:29 + +![8:29](./qVVhBGT0K7Y/8_29.png) + The killer must've noticed it too when slipping cyanide into the capsules. Once the capsule coating -8:35 + +![8:35](./qVVhBGT0K7Y/8_35.png) + gets partly dissolved by the soda, the cyanide inside comes into contact with the stomach lining. -8:41 + +![8:41](./qVVhBGT0K7Y/8_41.png) + The corrosive poison will definitely cause erosive bleeding in there. -8:48 + +![8:48](./qVVhBGT0K7Y/8_48.png) + How to prove it? There's still one pill left in her medicine bottle. -8:55 + +![8:55](./qVVhBGT0K7Y/8_55.png) + Su. -9:09 + +![9:09](./qVVhBGT0K7Y/9_09.png) + I'm sorry, Ms. Zhao. The cooperation with He City is about to end, and you're going abroad. Sorry we have to call you back. -9:14 + +![9:14](./qVVhBGT0K7Y/9_14.png) + It's fine. I'll be there if you need me. So what happened? What do you want me to check? -9:22 + +![9:22](./qVVhBGT0K7Y/9_22.png) + Mr. Qi figured the victim might take omeprazole capsules laced with cyanide, but then drank soda by accident. -9:27 + +![9:27](./qVVhBGT0K7Y/9_27.png) + That made the capsule dissolve in the stomach instead of the intestines. We've found the capsules in her stomach. -9:34 + +![9:34](./qVVhBGT0K7Y/9_34.png) + So we need you here to test one last pill in the victim's medicine bottle. -9:41 + +![9:41](./qVVhBGT0K7Y/9_41.png) + I got this. Thank you. -10:13 + +![10:13](./qVVhBGT0K7Y/10_13.png) + How is it? Ms. Zhao is testing the pill. It needs some time. -10:20 + +![10:20](./qVVhBGT0K7Y/10_20.png) + Cross-check all the evidence and don't miss any details. I'll wait here. Okay. -10:34 + +![10:34](./qVVhBGT0K7Y/10_34.png) + The dosage of omeprazole is three pills a day, one in the morning and two in the evening. -10:40 + +![10:40](./qVVhBGT0K7Y/10_40.png) + If the killer wanted to make sure Lanzi died that very night, he must've made certain -10:46 + +![10:46](./qVVhBGT0K7Y/10_46.png) + at least one of the two pills she took was poisoned. -10:52 + +![10:52](./qVVhBGT0K7Y/10_52.png) + If he only poisoned one pill, Lanzi might not take it until the second morning. -10:57 + +![10:57](./qVVhBGT0K7Y/10_57.png) + That's a one-in-three chance. But if he poisoned three pills, then there'd always be -11:03 + +![11:03](./qVVhBGT0K7Y/11_03.png) + one poisoned pill left as evidence. So, poisoning exactly -11:10 + +![11:10](./qVVhBGT0K7Y/11_10.png) + two pills was the sweet spot. But if Qiu Lanzi -11:16 + +![11:16](./qVVhBGT0K7Y/11_16.png) + took both the poisoned ones, we couldn't find anything in the left one as evidence. -11:21 + +![11:21](./qVVhBGT0K7Y/11_21.png) + She's got a one-in-three chance of swallowing both poisoned pills, which means -11:27 + +![11:27](./qVVhBGT0K7Y/11_27.png) + the killer only has that same shot at not leaving evidence in the medicine. -11:33 + +![11:33](./qVVhBGT0K7Y/11_33.png) + So we're just gambling on the last one. -11:47 + +![11:47](./qVVhBGT0K7Y/11_47.png) + We've got the result. The pill indeed contains cyanide, same as Mr. Qi supposed. -12:04 + +![12:04](./qVVhBGT0K7Y/12_04.png) + Mr. Qi, you're off the hook for now. You can go. -12:12 + +![12:12](./qVVhBGT0K7Y/12_12.png) + Ms. Zhu. I wanna help with the case and find out Lanzi's murderer. -12:17 + +![12:17](./qVVhBGT0K7Y/12_17.png) + And, something's off with Jiang Fei's autopsy report. -12:24 + +![12:24](./qVVhBGT0K7Y/12_24.png) + I'm afraid you gotta stay outta Jiang Fei and Qiu Lanzi's case. -12:32 + +![12:32](./qVVhBGT0K7Y/12_32.png) + I wanna see Jiang Fei's autopsy report. You're not the only forensic here. You don't gotta handle every single case. -13:02 + +![13:02](./qVVhBGT0K7Y/13_02.png) + Come in. Mr. Bai. -13:12 + +![13:12](./qVVhBGT0K7Y/13_12.png) + Qi Sizhe is off the hook now? Yes. And he found out how Qiu Lanzi died? -13:22 + +![13:22](./qVVhBGT0K7Y/13_22.png) + Qi Sizhe is a brilliant forensic doctor. And he's quite reasonable. -13:28 + +![13:28](./qVVhBGT0K7Y/13_28.png) + So he won't blame you for the necessity of your interrogation of him. -13:36 + +![13:36](./qVVhBGT0K7Y/13_36.png) + Mr. Bai. Do you know about his past? -13:43 + +![13:43](./qVVhBGT0K7Y/13_43.png) + He had a severe car accident. And I thought we'd lose a talented forensic doctor. -13:49 + +![13:49](./qVVhBGT0K7Y/13_49.png) + But I never thought he'd manage to hit rehab milestones in just a year that usually -13:54 + +![13:54](./qVVhBGT0K7Y/13_54.png) + take others three to five years. You can imagine how much this position means to him. -14:03 + +![14:03](./qVVhBGT0K7Y/14_03.png) + But he's quite stubborn. So is Han Feng. Among you three, -14:10 + +![14:10](./qVVhBGT0K7Y/14_10.png) + you're the calmest and most rational one. So I hope you can get them together -14:15 + +![14:15](./qVVhBGT0K7Y/14_15.png) + and handle cases. -14:26 + +![14:26](./qVVhBGT0K7Y/14_26.png) + Where's Xi? I had her check 788 Bar's security footage. I still have some doubts. -14:32 + +![14:32](./qVVhBGT0K7Y/14_32.png) + We found the cyanide in Qiu Lanzi's stomach meds. The killer could -14:38 + +![14:38](./qVVhBGT0K7Y/14_38.png) + get close to her and switch her meds. So it could be someone she knew all along. -14:46 + +![14:46](./qVVhBGT0K7Y/14_46.png) + Qiu Lanzi said something was off with Jiang Fei's body. Ask Mr. Gao to check his autopsy report again. -14:54 + +![14:54](./qVVhBGT0K7Y/14_54.png) + Su. Dig deeper into the social circles around Qiu Lanzi, Jiang Fei, and Li Yiqi, -14:59 + +![14:59](./qVVhBGT0K7Y/14_59.png) + especially Qiu Lanzi's connections. Okay. Mr. Han. Anything to add? -15:05 + +![15:05](./qVVhBGT0K7Y/15_05.png) + Nothing, for now. -16:05 + +![16:05](./qVVhBGT0K7Y/16_05.png) + Xi, got anything? Yeah. Half a month before Li Yiqi's case, -16:10 + +![16:10](./qVVhBGT0K7Y/16_10.png) + Mr. Qi showed up at 788 Bar quite a few times. I cross-checked a few security footages. Every time Mr. Qi showed up, -16:16 + +![16:16](./qVVhBGT0K7Y/16_16.png) + Jiang Fei was there too. Looks like Mr. Qi was following Jiang Fei. -16:35 + +![16:35](./qVVhBGT0K7Y/16_35.png) + Ms. Zhu. Here's Qi Sizhe's info. He had a severe -16:41 + +![16:41](./qVVhBGT0K7Y/16_41.png) + accident two years ago. A woman riding in his car died on the spot. -16:49 + +![16:49](./qVVhBGT0K7Y/16_49.png) + Ms. Zhu. Anything wrong with him? Get back to work. Yes. -18:24 + +![18:24](./qVVhBGT0K7Y/18_24.png) + Why did you come? Why did you follow Li Yiqi and Jiang Fei? -18:40 + +![18:40](./qVVhBGT0K7Y/18_40.png) + You know why. 'Cause it's related to Fei's death. -18:47 + +![18:47](./qVVhBGT0K7Y/18_47.png) + Raw Diamond... -18:57 + +![18:57](./qVVhBGT0K7Y/18_57.png) + You came for the Raw Diamond case. Jiang Fei's death isn't an accident. -19:05 + +![19:05](./qVVhBGT0K7Y/19_05.png) + It's a murder. -19:14 + +![19:14](./qVVhBGT0K7Y/19_14.png) + His body was found at 11:30 or so in the morning. It's the same as room temperature, -19:20 + +![19:20](./qVVhBGT0K7Y/19_20.png) + 22 degrees. He's got these little square marks on his chest, bright red. -19:25 + +![19:25](./qVVhBGT0K7Y/19_25.png) + And the lividity on the side of the body is all patchy, dark red. Any problems? The bright red lividity -19:30 + +![19:30](./qVVhBGT0K7Y/19_30.png) + doesn't match the estimated time of death, and the body's cooling rate is way off. There are two possibilities. -19:36 + +![19:36](./qVVhBGT0K7Y/19_36.png) + First, the killer was trying to mess with the time of death. Second, the way the murder was done -19:43 + +![19:43](./qVVhBGT0K7Y/19_43.png) + messed with the body's temperature. And I think the second one's way more likely. -19:49 + +![19:49](./qVVhBGT0K7Y/19_49.png) + So my guess is, Jiang Fei probably... Froze to death? -19:54 + +![19:54](./qVVhBGT0K7Y/19_54.png) + At his own home? But his place doesn't have such an environment. There is one. -20:09 + +![20:09](./qVVhBGT0K7Y/20_09.png) + No way. It's too small. -20:16 + +![20:16](./qVVhBGT0K7Y/20_16.png) + If the killer stuffed Jiang Fei into the fridge, there gotta be -20:21 + +![20:21](./qVVhBGT0K7Y/20_21.png) + a lot of scratches and marks on Jiang Fei's body. But so far, there aren't any -20:27 + +![20:27](./qVVhBGT0K7Y/20_27.png) + such marks on the body. Only lividity. Lividity is the marks formed by blood -20:33 + +![20:33](./qVVhBGT0K7Y/20_33.png) + due to gravity at the dripping points. Jiang Fei was lying on his side when he died. -20:38 + +![20:38](./qVVhBGT0K7Y/20_38.png) + So, the lividity should only have formed on the side. But look here. -20:45 + +![20:45](./qVVhBGT0K7Y/20_45.png) + There are bright red marks on Jiang Fei's chest. Also, when Jiang Fei died, -20:51 + +![20:51](./qVVhBGT0K7Y/20_51.png) + his clothes were all wrinkled. His clothes look like they got wet and then dried off... -20:58 + +![20:58](./qVVhBGT0K7Y/20_58.png) + His fingers and toes were all wrinkled, a result of prolonged soaking in water -21:04 + +![21:04](./qVVhBGT0K7Y/21_04.png) + and osmosis. Jiang Fei was always a slob, so it's no wonder his clothes were wrinkled. -21:11 + +![21:11](./qVVhBGT0K7Y/21_11.png) + When we found the body, there was water at the bottom of the bathtub. The wrinkles on his skin were probably caused by soaking in the water. -21:17 + +![21:17](./qVVhBGT0K7Y/21_17.png) + Well, going by your logic, his fingers and toes shouldn't have gotten wrinkly since they haven't touched -21:23 + +![21:23](./qVVhBGT0K7Y/21_23.png) + the water at the bottom of the tub. But turns out that's not what happened. -21:35 + +![21:35](./qVVhBGT0K7Y/21_35.png) + So Jiang Fei didn't freeze to death in a freezer, but in the... -21:40 + +![21:40](./qVVhBGT0K7Y/21_40.png) + In the bathtub. -21:49 + +![21:49](./qVVhBGT0K7Y/21_49.png) + The window in Jiang Fei's bathroom has always been open. -22:13 + +![22:13](./qVVhBGT0K7Y/22_13.png) + When the body was found, the ice had already melted, but there were frostbite -22:18 + +![22:18](./qVVhBGT0K7Y/22_18.png) + marks on the body. The bright red mark on his chest is -22:23 + +![22:23](./qVVhBGT0K7Y/22_23.png) + the best proof. This is also caused by the failure of -22:29 + +![22:29](./qVVhBGT0K7Y/22_29.png) + various organs at low temperatures. -22:34 + +![22:34](./qVVhBGT0K7Y/22_34.png) + Judging from the traces at the scene, everything matches what Mr. Qi said. -22:39 + +![22:39](./qVVhBGT0K7Y/22_39.png) + Got it. Han Feng. -22:45 + +![22:45](./qVVhBGT0K7Y/22_45.png) + Are you buying that Jiang Fei's death wasn't an accident but murder now? -23:02 + +![23:02](./qVVhBGT0K7Y/23_02.png) + If Mr. Qi's reasoning holds up, we gotta check this place for any signs of -23:07 + +![23:07](./qVVhBGT0K7Y/23_07.png) + a second person. Search more thoroughly. -24:07 + +![24:07](./qVVhBGT0K7Y/24_07.png) + I wanna learn more from you and become a great forensic doctor like you! -24:30 + +![24:30](./qVVhBGT0K7Y/24_30.png) + Ms. Zhu. Any progress in Jiang Fei's case? -24:37 + +![24:37](./qVVhBGT0K7Y/24_37.png) + You've been cleared of suspicion. So why still look into Jiang Fei? I know you're really concerned about Jiang Fei's case -24:43 + +![24:43](./qVVhBGT0K7Y/24_43.png) + and Li Yiqi's case. I also know you can lead us closer to the truth. -24:49 + +![24:49](./qVVhBGT0K7Y/24_49.png) + But so far, you haven't explained the coincidences of your appearance -24:55 + +![24:55](./qVVhBGT0K7Y/24_55.png) + in these two cases. And this time, -25:00 + +![25:00](./qVVhBGT0K7Y/25_00.png) + why did you go to investigate Jiang Fei alone? -25:06 + +![25:06](./qVVhBGT0K7Y/25_06.png) + I want you to answer my question. And I'm not gonna answer any questions related to this case -25:12 + +![25:12](./qVVhBGT0K7Y/25_12.png) + until I trust you. Ms. Zhu. -25:18 + +![25:18](./qVVhBGT0K7Y/25_18.png) + I'm a forensic doctor. When someone dies, only forensic doctors can tell what they -25:26 + +![25:26](./qVVhBGT0K7Y/25_26.png) + went through before they died. And I believe whoever it is, -25:33 + +![25:33](./qVVhBGT0K7Y/25_33.png) + even drug dealers like Jiang Fei, they all deserve the truth. -25:39 + +![25:39](./qVVhBGT0K7Y/25_39.png) + I saw the possibility of homicide in Jiang Fei's case. So I gotta figure out the truth. -25:48 + +![25:48](./qVVhBGT0K7Y/25_48.png) + But he's quite stubborn. So is Han Feng. -25:54 + +![25:54](./qVVhBGT0K7Y/25_54.png) + So I hope you can get them together and handle cases. -26:03 + +![26:03](./qVVhBGT0K7Y/26_03.png) + So Jiang Fei died a little after 4 am? Yes. -26:08 + +![26:08](./qVVhBGT0K7Y/26_08.png) + If he froze to death, his body temperature was lower than normal. So the time it takes to cool down -26:13 + +![26:13](./qVVhBGT0K7Y/26_13.png) + would be shorter. Mr. Han. -26:19 + +![26:19](./qVVhBGT0K7Y/26_19.png) + Mr. Qi inferred that Jiang Fei froze to death. Let him tell us about it. -26:33 + +![26:33](./qVVhBGT0K7Y/26_33.png) + All we know is that Jiang Fei was frozen to death by the killer, but there aren't any clues -26:39 + +![26:39](./qVVhBGT0K7Y/26_39.png) + to find the killer. The killer made Jiang Fei -26:45 + +![26:45](./qVVhBGT0K7Y/26_45.png) + take cephalosporin when he was drunk, causing a disulfiram-like reaction. -26:50 + +![26:50](./qVVhBGT0K7Y/26_50.png) + Then, when he was unconscious, the killer froze his body with ice, which led to the failure of all his -26:56 + +![26:56](./qVVhBGT0K7Y/26_56.png) + internal organs, especially his heart, and he died. It shows that the killer has some knowledge human physiology. -27:02 + +![27:02](./qVVhBGT0K7Y/27_02.png) + Mr. Gao, after the first autopsy and test, what was in his stomach as food residue? -27:09 + +![27:09](./qVVhBGT0K7Y/27_09.png) + Wine and sausage, no cephalosporin. But the cephalosporin on his table was already opened, -27:15 + +![27:15](./qVVhBGT0K7Y/27_15.png) + and the pharmacological test detected it. The sausage wasn't digested, which means the last thing -27:22 + +![27:22](./qVVhBGT0K7Y/27_22.png) + the victim ate was the sausage. -27:33 + +![27:33](./qVVhBGT0K7Y/27_33.png) + Have you found a knife there? No. There are cuts on the sausage -27:39 + +![27:39](./qVVhBGT0K7Y/27_39.png) + but no knife around. Could someone have taken it? Jiang Fei's body didn't have -27:45 + +![27:45](./qVVhBGT0K7Y/27_45.png) + a scratch on it. The knife couldn't be the murder weapon. So why'd the killer take it away? -27:52 + +![27:52](./qVVhBGT0K7Y/27_52.png) + Did you guys do luminol at the scene? -28:02 + +![28:02](./qVVhBGT0K7Y/28_02.png) + There are no cuts on the body, but the killer had to take the knife from the scene. -28:07 + +![28:07](./qVVhBGT0K7Y/28_07.png) + That means... The knife wasn't used on the victim. But on the killer. -28:48 + +![28:48](./qVVhBGT0K7Y/28_48.png) + If this isn't Jiang Fei's blood, then it gotta be the killer's. -29:01 + +![29:01](./qVVhBGT0K7Y/29_01.png) + Why didn't you ask Mr. Qi to do the bloodstain comparison? -29:06 + +![29:06](./qVVhBGT0K7Y/29_06.png) + The results are out. No records matching in the database. Thank you. -29:24 + +![29:24](./qVVhBGT0K7Y/29_24.png) + So here's the timeline of these cases. On the evening of the 7th, Qiu Lanzi joined us investigating -29:29 + +![29:29](./qVVhBGT0K7Y/29_29.png) + the 788 Bar assault case. Then she teamed up with Mr. Gao and Mr. Qi -29:35 + +![29:35](./qVVhBGT0K7Y/29_35.png) + for the Li Yiqi's blood sample analysis until the next day. We found Jiang Fei's body at noon the next day, -29:42 + +![29:42](./qVVhBGT0K7Y/29_42.png) + and Qiu Lanzi showed up later. That night, she, Mr. Qi and Mr. Gao dissected Jiang Fei's body. -29:49 + +![29:49](./qVVhBGT0K7Y/29_49.png) + We found the remains of stomach meds in Qiu Lanzi's stomach. Based on the dissolution rate of the meds -29:55 + +![29:55](./qVVhBGT0K7Y/29_55.png) + and the timeline, Qiu Lanzi should've taken the stomach meds between the time -30:00 + +![30:00](./qVVhBGT0K7Y/30_00.png) + after the dissection of Jiang Fei's body and her death. The first time Qiu Lanzi left the station -30:06 + +![30:06](./qVVhBGT0K7Y/30_06.png) + and met me was around 9 pm. Two hours later, I got a call from Qiu Lanzi. -30:12 + +![30:12](./qVVhBGT0K7Y/30_12.png) + She said she'd found a lead on Jiang Fei's body. Ten minutes later, when Mr. Han and I got to the forensic office, -30:19 + +![30:19](./qVVhBGT0K7Y/30_19.png) + we found her body. The stomach medicine was found among her belongings. -30:24 + +![30:24](./qVVhBGT0K7Y/30_24.png) + She usually kept her stuff in the locker in the changing room. Got anything from the surveillance over there? -30:29 + +![30:29](./qVVhBGT0K7Y/30_29.png) + No cameras on the floor. There are just people going to and from work there. And Mr. Bai means we shouldn't -30:35 + +![30:35](./qVVhBGT0K7Y/30_35.png) + expand the investigation for now. He wants us to narrow down the suspects first. -30:46 + +![30:46](./qVVhBGT0K7Y/30_46.png) + So the most likely time for Qiu Lanzi to take the pills is between the time -30:51 + +![30:51](./qVVhBGT0K7Y/30_51.png) + she left the station and came back. We just don't know where she went and who she met. -31:04 + +![31:04](./qVVhBGT0K7Y/31_04.png) + What about Jiang Fei? Don't forget Qiu Lanzi said she had info about -31:10 + +![31:10](./qVVhBGT0K7Y/31_10.png) + Jiang Fei's cause of death before she died. Jiang Fei went home after getting drunk. -31:16 + +![31:16](./qVVhBGT0K7Y/31_16.png) + Where did he drink and who did he drink with? Have you found out? He didn't use mobile payment or cards. He always used cash, -31:22 + +![31:22](./qVVhBGT0K7Y/31_22.png) + so it's hard to find his consumption records. People like him are always afraid of leaving any clues. -31:31 + +![31:31](./qVVhBGT0K7Y/31_31.png) + Wan, let's go to the bar to check Jiang Fei's movements before he drank. -31:36 + +![31:36](./qVVhBGT0K7Y/31_36.png) + Xi, go and find out who Qiu Lanzi met after she left the station. Let's split up. -31:42 + +![31:42](./qVVhBGT0K7Y/31_42.png) + Okay. Do as Mr. Han says. -32:04 + +![32:04](./qVVhBGT0K7Y/32_04.png) + It's here, Mr. Han. -32:10 + +![32:10](./qVVhBGT0K7Y/32_10.png) + No, Mr. Han... -32:46 + +![32:46](./qVVhBGT0K7Y/32_46.png) + You're in charge here? This is legit business. Legit business? Then why so serious, -32:52 + +![32:52](./qVVhBGT0K7Y/32_52.png) + needing a guide to find here? Oh, come on! This is a gimmick. More people will wanna come in -32:58 + +![32:58](./qVVhBGT0K7Y/32_58.png) + if they need someone to bring them in. That's smart. Since it's so complicated to get here, -33:04 + +![33:04](./qVVhBGT0K7Y/33_04.png) + you should know who came here the day before yesterday, right? Sir. How the heck can I remember -33:10 + +![33:10](./qVVhBGT0K7Y/33_10.png) + all these guests every day? Take us to the security room. Sir. You need a warrant to do so. -33:17 + +![33:17](./qVVhBGT0K7Y/33_17.png) + A warrant, huh? I'm gonna call my buddies from Public Security Brigade and let them check it out. -33:28 + +![33:28](./qVVhBGT0K7Y/33_28.png) + Sir. You can check whatever you want. -33:35 + +![33:35](./qVVhBGT0K7Y/33_35.png) + We checked Jiang Fei's social circles. Super complicated. He's lived in cities all over the country. A drug dealer like him's gonna -33:41 + +![33:41](./qVVhBGT0K7Y/33_41.png) + have a lot of enemies. If we just look at the motives for murder, there are a bunch of suspects. -33:46 + +![33:46](./qVVhBGT0K7Y/33_46.png) + Here's his hidden ledger we found. There are up to 40 drug addicts listed in it, not to mention those -33:53 + +![33:53](./qVVhBGT0K7Y/33_53.png) + who bought imitation guns, plasma, and illegal drugs. Ms. Zhu. This is Qiu Lanzi's phone. -33:59 + +![33:59](./qVVhBGT0K7Y/33_59.png) + Got anything? I checked Qiu Lanzi's call records. After she left at 9 o'clock, -34:05 + +![34:05](./qVVhBGT0K7Y/34_05.png) + she made four consecutive calls within five minutes, and they were all to the same person. Who? -34:11 + +![34:11](./qVVhBGT0K7Y/34_11.png) + It's a chemical factory's lab. But it was off-work time then, and she called the switchboard, -34:16 + +![34:16](./qVVhBGT0K7Y/34_16.png) + so we still can't find out who she contacted. We gotta find out what relationship this factory has with Qiu Lanzi. -34:22 + +![34:22](./qVVhBGT0K7Y/34_22.png) + Okay. Ms. Zhu. Have you checked Qiu Lanzi's phone? -34:28 + +![34:28](./qVVhBGT0K7Y/34_28.png) + Xi just gave it to me. I watched the videos of Qiu Lanzi before and after she left here. She never stopped checking her phone. -34:36 + +![34:36](./qVVhBGT0K7Y/34_36.png) + I remembered that Mr. Han told me when he saw Qiu Lanzi that day, she was also anxiously checking her phone. -34:43 + +![34:43](./qVVhBGT0K7Y/34_43.png) + There must be some clues on her phone. She just didn't have time to tell us then. -34:54 + +![34:54](./qVVhBGT0K7Y/34_54.png) + Stop. Who's the girl drinking with Jiang Fei? -35:01 + +![35:01](./qVVhBGT0K7Y/35_01.png) + Jiang Fei had introduced her to us. Zhang Lu, I remember. She's into Lolita fashion, close to Jiang Fei. -35:08 + +![35:08](./qVVhBGT0K7Y/35_08.png) + She took photos of Jiang Fei's body? But phones are forbidden in the dissection room... -35:14 + +![35:14](./qVVhBGT0K7Y/35_14.png) + Maybe she had some reason. Check out these last three photos. -35:20 + +![35:20](./qVVhBGT0K7Y/35_20.png) + The first two are of the tattoo on Jiang Fei's arm, one taken without a black light, -35:26 + +![35:26](./qVVhBGT0K7Y/35_26.png) + and the other with a black light. And the last one is of the skin on his wrist. -35:32 + +![35:32](./qVVhBGT0K7Y/35_32.png) + Also, the first two were taken at the same time. But there's a gap of over 20 minutes before the last one. -35:38 + +![35:38](./qVVhBGT0K7Y/35_38.png) + Why did she wait over 20 minutes to take a photo of the skin on the wrist -35:44 + +![35:44](./qVVhBGT0K7Y/35_44.png) + without a black light? What did she find out? -35:51 + +![35:51](./qVVhBGT0K7Y/35_51.png) + I saw some illegal stuff in the bar near Ruixi Building. I just saw it when working. -35:57 + +![35:57](./qVVhBGT0K7Y/35_57.png) + It's fine. You're welcome. Treat me to dinner then. -36:05 + +![36:05](./qVVhBGT0K7Y/36_05.png) + Wan. Thank you. It's nothing. -36:11 + +![36:11](./qVVhBGT0K7Y/36_11.png) + Ms. Zhu asked me to investigate with you. No need to say that. -36:24 + +![36:24](./qVVhBGT0K7Y/36_24.png) + I saw Qiu Lanzi taking those photos, but I just glanced and left. -36:30 + +![36:30](./qVVhBGT0K7Y/36_30.png) + I was in the next room with Ms. Zhao taking samples for toxicology testing. If you also left, -36:37 + +![36:37](./qVVhBGT0K7Y/36_37.png) + then Lanzi was the only one left in the autopsy room. But when she was taking the photos, -36:45 + +![36:45](./qVVhBGT0K7Y/36_45.png) + she asked me what this was. What is this? It should be an old injury -36:51 + +![36:51](./qVVhBGT0K7Y/36_51.png) + or a mark left after having a tattoo removed. No. It seems to be a fluorescent tattoo. -37:10 + +![37:10](./qVVhBGT0K7Y/37_10.png) + There are two photos of the tattoo on the left forearm, one in natural color and the other under a black light. -37:17 + +![37:17](./qVVhBGT0K7Y/37_17.png) + If we follow the logic of the previous two photos, there should be another black-light photo. -37:28 + +![37:28](./qVVhBGT0K7Y/37_28.png) + There are lots of group photos of Jiang Fei with different girls on his phone, and one of them is Zhang Lu, the girl we've been looking for. -37:35 + +![37:35](./qVVhBGT0K7Y/37_35.png) + Zhang Lu, 24 years old, living in Xinhua Road, He City, an intern researcher at an inorganic chemistry institute, -37:40 + +![37:40](./qVVhBGT0K7Y/37_40.png) + majored in chemistry. She knows Qiu Lanzi. They were high school classmates, so they rented an room -37:46 + +![37:46](./qVVhBGT0K7Y/37_46.png) + and were roommates shortly. In the call records we retrieved, the last call Qiu Lanzi made -37:52 + +![37:52](./qVVhBGT0K7Y/37_52.png) + was to Zhang Lu's workplace. -38:08 + +![38:08](./qVVhBGT0K7Y/38_08.png) + You said you saw Zhang Lu and Qiu Lanzi arguing that day, right? Yeah. -38:15 + +![38:15](./qVVhBGT0K7Y/38_15.png) + I did see them arguing. But I didn't catch what they were arguing about. -38:25 + +![38:25](./qVVhBGT0K7Y/38_25.png) + When I left, I saw that girl wasn't feeling well and took some medicine. -38:32 + +![38:32](./qVVhBGT0K7Y/38_32.png) + Are you sure Qiu Lanzi took medicine at that time? I'm sure. -38:46 + +![38:46](./qVVhBGT0K7Y/38_46.png) + Where's Zhang Lu? Mr. Han. We've been searching for her with your info. -39:00 + +![39:00](./qVVhBGT0K7Y/39_00.png) + Excuse me. Your ID card and driving license please. Please open your trunk. -39:12 + +![39:12](./qVVhBGT0K7Y/39_12.png) + You're Zhang Lu, right? Zhang Lu. Please cooperate with us. -39:34 + +![39:34](./qVVhBGT0K7Y/39_34.png) + Zhang Lu, 24 years old. A researcher of the chemistry institute in He City. Were you at the basement bar -39:41 + +![39:41](./qVVhBGT0K7Y/39_41.png) + in Yunjin Building with Jiang Fei on the evening of August 7th? Yeah. -39:47 + +![39:47](./qVVhBGT0K7Y/39_47.png) + Then did you go home with him? No. I just had a few drinks and went back to my own place. -39:53 + +![39:53](./qVVhBGT0K7Y/39_53.png) + Is there anyone who can prove it? Prove it? Why? I live alone. -39:59 + +![39:59](./qVVhBGT0K7Y/39_59.png) + How can there be a witness? So no one can prove you stayed at your own place that night. -40:09 + +![40:09](./qVVhBGT0K7Y/40_09.png) + What was Jiang Fei's state when you saw him for the last time? He... -40:17 + +![40:17](./qVVhBGT0K7Y/40_17.png) + He seemed to catch cold. You're out drinking with a cold? -40:26 + +![40:26](./qVVhBGT0K7Y/40_26.png) + Do you even know that mixing antibiotics with alcohol could kill you? -40:32 + +![40:32](./qVVhBGT0K7Y/40_32.png) + But I just really wanted to have a drink with you. -40:41 + +![40:41](./qVVhBGT0K7Y/40_41.png) + How'd you hurt your finger? Cut it during an experiment. -40:46 + +![40:46](./qVVhBGT0K7Y/40_46.png) + What did Qiu Lanzi say when she came to the lab? What'd she tell you guys? -40:52 + +![40:52](./qVVhBGT0K7Y/40_52.png) + Isn't she interning here? Call her over! I'll confront her! Qiu Lanzi's dead. -40:59 + +![40:59](./qVVhBGT0K7Y/40_59.png) + Did you kill her? Dead... How... How come... -41:12 + +![41:12](./qVVhBGT0K7Y/41_12.png) + Zhang Lu, now we suspect you're the prime suspect in the murder cases of Qiu Lanzi and Jiang Fei. Got anything to say? -41:20 + +![41:20](./qVVhBGT0K7Y/41_20.png) + If Zhang Lu's blood sample matches the one we took from Jiang Fei's place, she's most likely -41:26 + +![41:26](./qVVhBGT0K7Y/41_26.png) + the killer. I didn't! I never killed anyone! -41:31 + +![41:31](./qVVhBGT0K7Y/41_31.png) + I didn't... I really didn't! Then just answer our questions! What did she say to you? -41:37 + +![41:37](./qVVhBGT0K7Y/41_37.png) + She... She told me Jiang Fei was dead, -41:44 + +![41:44](./qVVhBGT0K7Y/41_44.png) + and she saw my name on the body... -41:59 + +![41:59](./qVVhBGT0K7Y/41_59.png) + How is it? Wait a moment. -42:17 + +![42:17](./qVVhBGT0K7Y/42_17.png) + Ms. Zhu. The result is out. -42:23 + +![42:23](./qVVhBGT0K7Y/42_23.png) + Mr. Han. It matches. -42:30 + +![42:30](./qVVhBGT0K7Y/42_30.png) + Su. Arrest her. Xi, untie her. It's her. -42:36 + +![42:36](./qVVhBGT0K7Y/42_36.png) + No... Not me! I didn't kill them! I didn't! -42:42 + +![42:42](./qVVhBGT0K7Y/42_42.png) + It's not me! It's really not me! I never killed anyone! It's not me! I didn't! -42:47 + +![42:47](./qVVhBGT0K7Y/42_47.png) + Don't arrest me! Please! It's not me! You got the wrong person! It's not me! Not me! -42:52 + +![42:52](./qVVhBGT0K7Y/42_52.png) + Really not! I didn't kill them! You got the wrong person! It's not me! Not me! -43:06 + +![43:06](./qVVhBGT0K7Y/43_06.png) + We got the wrong person. It's not her. -43:33 + +![43:33](./qVVhBGT0K7Y/43_33.png) + Raw Diamond case is over! You just can't deal with reality! You never figured out Fei's death! -43:39 + +![43:39](./qVVhBGT0K7Y/43_39.png) + Li Yiqi. Jiang Fei. They're the clue from the case! Hey! Stop! -43:45 + +![43:45](./qVVhBGT0K7Y/43_45.png) + There's an opening here. The kidnapped girl was probably taken inside. -43:50 + +![43:50](./qVVhBGT0K7Y/43_50.png) + The killer set this up to throw us off about the cause of death. He knows way too much about -43:56 + +![43:56](./qVVhBGT0K7Y/43_56.png) + forensic, autopsies, even our police procedures. Wait, are you saying... The killer is one of us? diff --git a/docs/美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?.md b/docs/美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?.md new file mode 100644 index 00000000..0b392c45 --- /dev/null +++ b/docs/美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?.md @@ -0,0 +1,2513 @@ +--- +interval: 2 +video: '/美国突袭委内瑞拉,真的是为了抢那点劣质石油吗? [FBfTEfHWuU8].mp4' +--- + + +![0:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_00.png) + + + +![0:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_02.png) + + + +![0:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_04.png) + + + +![0:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_06.png) + + + +![0:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_08.png) + + + +![0:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_10.png) + + + +![0:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_12.png) + + + +![0:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_14.png) + + + +![0:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_16.png) + + + +![0:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_18.png) + + + +![0:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_20.png) + + + +![0:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_22.png) + + + +![0:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_24.png) + + + +![0:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_26.png) + + + +![0:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_28.png) + + + +![0:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_30.png) + + + +![0:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_32.png) + + + +![0:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_34.png) + + + +![0:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_36.png) + + + +![0:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_38.png) + + + +![0:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_40.png) + + + +![0:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_42.png) + + + +![0:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_44.png) + + + +![0:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_46.png) + + + +![0:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_48.png) + + + +![0:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_50.png) + + + +![0:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_52.png) + + + +![0:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_54.png) + + + +![0:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_56.png) + + + +![0:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/0_58.png) + + + +![1:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_00.png) + + + +![1:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_02.png) + + + +![1:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_04.png) + + + +![1:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_06.png) + + + +![1:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_08.png) + + + +![1:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_10.png) + + + +![1:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_12.png) + + + +![1:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_14.png) + + + +![1:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_16.png) + + + +![1:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_18.png) + + + +![1:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_20.png) + + + +![1:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_22.png) + + + +![1:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_24.png) + + + +![1:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_26.png) + + + +![1:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_28.png) + + + +![1:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_30.png) + + + +![1:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_32.png) + + + +![1:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_34.png) + + + +![1:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_36.png) + + + +![1:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_38.png) + + + +![1:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_40.png) + + + +![1:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_42.png) + + + +![1:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_44.png) + + + +![1:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_46.png) + + + +![1:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_48.png) + + + +![1:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_50.png) + + + +![1:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_52.png) + + + +![1:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_54.png) + + + +![1:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_56.png) + + + +![1:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/1_58.png) + + + +![2:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_00.png) + + + +![2:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_02.png) + + + +![2:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_04.png) + + + +![2:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_06.png) + + + +![2:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_08.png) + + + +![2:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_10.png) + + + +![2:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_12.png) + + + +![2:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_14.png) + + + +![2:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_16.png) + + + +![2:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_18.png) + + + +![2:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_20.png) + + + +![2:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_22.png) + + + +![2:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_24.png) + + + +![2:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_26.png) + + + +![2:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_28.png) + + + +![2:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_30.png) + + + +![2:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_32.png) + + + +![2:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_34.png) + + + +![2:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_36.png) + + + +![2:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_38.png) + + + +![2:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_40.png) + + + +![2:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_42.png) + + + +![2:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_44.png) + + + +![2:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_46.png) + + + +![2:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_48.png) + + + +![2:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_50.png) + + + +![2:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_52.png) + + + +![2:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_54.png) + + + +![2:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_56.png) + + + +![2:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/2_58.png) + + + +![3:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_00.png) + + + +![3:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_02.png) + + + +![3:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_04.png) + + + +![3:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_06.png) + + + +![3:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_08.png) + + + +![3:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_10.png) + + + +![3:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_12.png) + + + +![3:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_14.png) + + + +![3:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_16.png) + + + +![3:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_18.png) + + + +![3:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_20.png) + + + +![3:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_22.png) + + + +![3:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_24.png) + + + +![3:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_26.png) + + + +![3:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_28.png) + + + +![3:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_30.png) + + + +![3:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_32.png) + + + +![3:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_34.png) + + + +![3:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_36.png) + + + +![3:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_38.png) + + + +![3:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_40.png) + + + +![3:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_42.png) + + + +![3:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_44.png) + + + +![3:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_46.png) + + + +![3:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_48.png) + + + +![3:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_50.png) + + + +![3:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_52.png) + + + +![3:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_54.png) + + + +![3:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_56.png) + + + +![3:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/3_58.png) + + + +![4:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_00.png) + + + +![4:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_02.png) + + + +![4:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_04.png) + + + +![4:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_06.png) + + + +![4:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_08.png) + + + +![4:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_10.png) + + + +![4:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_12.png) + + + +![4:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_14.png) + + + +![4:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_16.png) + + + +![4:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_18.png) + + + +![4:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_20.png) + + + +![4:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_22.png) + + + +![4:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_24.png) + + + +![4:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_26.png) + + + +![4:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_28.png) + + + +![4:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_30.png) + + + +![4:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_32.png) + + + +![4:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_34.png) + + + +![4:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_36.png) + + + +![4:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_38.png) + + + +![4:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_40.png) + + + +![4:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_42.png) + + + +![4:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_44.png) + + + +![4:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_46.png) + + + +![4:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_48.png) + + + +![4:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_50.png) + + + +![4:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_52.png) + + + +![4:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_54.png) + + + +![4:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_56.png) + + + +![4:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/4_58.png) + + + +![5:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_00.png) + + + +![5:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_02.png) + + + +![5:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_04.png) + + + +![5:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_06.png) + + + +![5:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_08.png) + + + +![5:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_10.png) + + + +![5:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_12.png) + + + +![5:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_14.png) + + + +![5:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_16.png) + + + +![5:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_18.png) + + + +![5:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_20.png) + + + +![5:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_22.png) + + + +![5:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_24.png) + + + +![5:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_26.png) + + + +![5:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_28.png) + + + +![5:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_30.png) + + + +![5:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_32.png) + + + +![5:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_34.png) + + + +![5:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_36.png) + + + +![5:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_38.png) + + + +![5:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_40.png) + + + +![5:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_42.png) + + + +![5:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_44.png) + + + +![5:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_46.png) + + + +![5:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_48.png) + + + +![5:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_50.png) + + + +![5:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_52.png) + + + +![5:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_54.png) + + + +![5:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_56.png) + + + +![5:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/5_58.png) + + + +![6:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_00.png) + + + +![6:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_02.png) + + + +![6:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_04.png) + + + +![6:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_06.png) + + + +![6:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_08.png) + + + +![6:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_10.png) + + + +![6:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_12.png) + + + +![6:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_14.png) + + + +![6:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_16.png) + + + +![6:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_18.png) + + + +![6:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_20.png) + + + +![6:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_22.png) + + + +![6:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_24.png) + + + +![6:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_26.png) + + + +![6:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_28.png) + + + +![6:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_30.png) + + + +![6:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_32.png) + + + +![6:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_34.png) + + + +![6:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_36.png) + + + +![6:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_38.png) + + + +![6:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_40.png) + + + +![6:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_42.png) + + + +![6:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_44.png) + + + +![6:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_46.png) + + + +![6:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_48.png) + + + +![6:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_50.png) + + + +![6:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_52.png) + + + +![6:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_54.png) + + + +![6:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_56.png) + + + +![6:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/6_58.png) + + + +![7:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_00.png) + + + +![7:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_02.png) + + + +![7:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_04.png) + + + +![7:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_06.png) + + + +![7:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_08.png) + + + +![7:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_10.png) + + + +![7:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_12.png) + + + +![7:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_14.png) + + + +![7:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_16.png) + + + +![7:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_18.png) + + + +![7:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_20.png) + + + +![7:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_22.png) + + + +![7:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_24.png) + + + +![7:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_26.png) + + + +![7:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_28.png) + + + +![7:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_30.png) + + + +![7:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_32.png) + + + +![7:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_34.png) + + + +![7:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_36.png) + + + +![7:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_38.png) + + + +![7:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_40.png) + + + +![7:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_42.png) + + + +![7:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_44.png) + + + +![7:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_46.png) + + + +![7:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_48.png) + + + +![7:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_50.png) + + + +![7:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_52.png) + + + +![7:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_54.png) + + + +![7:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_56.png) + + + +![7:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/7_58.png) + + + +![8:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_00.png) + + + +![8:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_02.png) + + + +![8:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_04.png) + + + +![8:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_06.png) + + + +![8:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_08.png) + + + +![8:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_10.png) + + + +![8:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_12.png) + + + +![8:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_14.png) + + + +![8:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_16.png) + + + +![8:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_18.png) + + + +![8:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_20.png) + + + +![8:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_22.png) + + + +![8:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_24.png) + + + +![8:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_26.png) + + + +![8:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_28.png) + + + +![8:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_30.png) + + + +![8:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_32.png) + + + +![8:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_34.png) + + + +![8:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_36.png) + + + +![8:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_38.png) + + + +![8:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_40.png) + + + +![8:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_42.png) + + + +![8:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_44.png) + + + +![8:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_46.png) + + + +![8:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_48.png) + + + +![8:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_50.png) + + + +![8:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_52.png) + + + +![8:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_54.png) + + + +![8:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_56.png) + + + +![8:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/8_58.png) + + + +![9:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_00.png) + + + +![9:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_02.png) + + + +![9:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_04.png) + + + +![9:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_06.png) + + + +![9:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_08.png) + + + +![9:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_10.png) + + + +![9:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_12.png) + + + +![9:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_14.png) + + + +![9:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_16.png) + + + +![9:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_18.png) + + + +![9:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_20.png) + + + +![9:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_22.png) + + + +![9:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_24.png) + + + +![9:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_26.png) + + + +![9:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_28.png) + + + +![9:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_30.png) + + + +![9:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_32.png) + + + +![9:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_34.png) + + + +![9:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_36.png) + + + +![9:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_38.png) + + + +![9:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_40.png) + + + +![9:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_42.png) + + + +![9:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_44.png) + + + +![9:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_46.png) + + + +![9:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_48.png) + + + +![9:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_50.png) + + + +![9:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_52.png) + + + +![9:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_54.png) + + + +![9:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_56.png) + + + +![9:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/9_58.png) + + + +![10:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_00.png) + + + +![10:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_02.png) + + + +![10:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_04.png) + + + +![10:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_06.png) + + + +![10:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_08.png) + + + +![10:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_10.png) + + + +![10:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_12.png) + + + +![10:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_14.png) + + + +![10:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_16.png) + + + +![10:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_18.png) + + + +![10:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_20.png) + + + +![10:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_22.png) + + + +![10:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_24.png) + + + +![10:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_26.png) + + + +![10:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_28.png) + + + +![10:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_30.png) + + + +![10:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_32.png) + + + +![10:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_34.png) + + + +![10:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_36.png) + + + +![10:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_38.png) + + + +![10:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_40.png) + + + +![10:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_42.png) + + + +![10:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_44.png) + + + +![10:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_46.png) + + + +![10:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_48.png) + + + +![10:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_50.png) + + + +![10:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_52.png) + + + +![10:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_54.png) + + + +![10:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_56.png) + + + +![10:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/10_58.png) + + + +![11:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_00.png) + + + +![11:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_02.png) + + + +![11:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_04.png) + + + +![11:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_06.png) + + + +![11:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_08.png) + + + +![11:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_10.png) + + + +![11:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_12.png) + + + +![11:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_14.png) + + + +![11:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_16.png) + + + +![11:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_18.png) + + + +![11:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_20.png) + + + +![11:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_22.png) + + + +![11:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_24.png) + + + +![11:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_26.png) + + + +![11:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_28.png) + + + +![11:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_30.png) + + + +![11:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_32.png) + + + +![11:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_34.png) + + + +![11:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_36.png) + + + +![11:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_38.png) + + + +![11:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_40.png) + + + +![11:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_42.png) + + + +![11:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_44.png) + + + +![11:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_46.png) + + + +![11:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_48.png) + + + +![11:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_50.png) + + + +![11:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_52.png) + + + +![11:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_54.png) + + + +![11:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_56.png) + + + +![11:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/11_58.png) + + + +![12:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_00.png) + + + +![12:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_02.png) + + + +![12:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_04.png) + + + +![12:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_06.png) + + + +![12:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_08.png) + + + +![12:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_10.png) + + + +![12:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_12.png) + + + +![12:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_14.png) + + + +![12:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_16.png) + + + +![12:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_18.png) + + + +![12:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_20.png) + + + +![12:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_22.png) + + + +![12:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_24.png) + + + +![12:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_26.png) + + + +![12:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_28.png) + + + +![12:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_30.png) + + + +![12:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_32.png) + + + +![12:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_34.png) + + + +![12:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_36.png) + + + +![12:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_38.png) + + + +![12:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_40.png) + + + +![12:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_42.png) + + + +![12:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_44.png) + + + +![12:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_46.png) + + + +![12:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_48.png) + + + +![12:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_50.png) + + + +![12:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_52.png) + + + +![12:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_54.png) + + + +![12:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_56.png) + + + +![12:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/12_58.png) + + + +![13:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_00.png) + + + +![13:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_02.png) + + + +![13:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_04.png) + + + +![13:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_06.png) + + + +![13:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_08.png) + + + +![13:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_10.png) + + + +![13:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_12.png) + + + +![13:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_14.png) + + + +![13:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_16.png) + + + +![13:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_18.png) + + + +![13:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_20.png) + + + +![13:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_22.png) + + + +![13:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_24.png) + + + +![13:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_26.png) + + + +![13:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_28.png) + + + +![13:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_30.png) + + + +![13:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_32.png) + + + +![13:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_34.png) + + + +![13:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_36.png) + + + +![13:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_38.png) + + + +![13:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_40.png) + + + +![13:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_42.png) + + + +![13:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_44.png) + + + +![13:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_46.png) + + + +![13:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_48.png) + + + +![13:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_50.png) + + + +![13:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_52.png) + + + +![13:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_54.png) + + + +![13:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_56.png) + + + +![13:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/13_58.png) + + + +![14:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_00.png) + + + +![14:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_02.png) + + + +![14:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_04.png) + + + +![14:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_06.png) + + + +![14:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_08.png) + + + +![14:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_10.png) + + + +![14:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_12.png) + + + +![14:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_14.png) + + + +![14:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_16.png) + + + +![14:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_18.png) + + + +![14:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_20.png) + + + +![14:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_22.png) + + + +![14:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_24.png) + + + +![14:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_26.png) + + + +![14:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_28.png) + + + +![14:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_30.png) + + + +![14:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_32.png) + + + +![14:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_34.png) + + + +![14:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_36.png) + + + +![14:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_38.png) + + + +![14:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_40.png) + + + +![14:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_42.png) + + + +![14:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_44.png) + + + +![14:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_46.png) + + + +![14:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_48.png) + + + +![14:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_50.png) + + + +![14:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_52.png) + + + +![14:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_54.png) + + + +![14:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_56.png) + + + +![14:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/14_58.png) + + + +![15:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_00.png) + + + +![15:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_02.png) + + + +![15:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_04.png) + + + +![15:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_06.png) + + + +![15:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_08.png) + + + +![15:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_10.png) + + + +![15:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_12.png) + + + +![15:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_14.png) + + + +![15:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_16.png) + + + +![15:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_18.png) + + + +![15:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_20.png) + + + +![15:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_22.png) + + + +![15:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_24.png) + + + +![15:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_26.png) + + + +![15:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_28.png) + + + +![15:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_30.png) + + + +![15:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_32.png) + + + +![15:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_34.png) + + + +![15:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_36.png) + + + +![15:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_38.png) + + + +![15:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_40.png) + + + +![15:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_42.png) + + + +![15:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_44.png) + + + +![15:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_46.png) + + + +![15:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_48.png) + + + +![15:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_50.png) + + + +![15:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_52.png) + + + +![15:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_54.png) + + + +![15:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_56.png) + + + +![15:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/15_58.png) + + + +![16:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_00.png) + + + +![16:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_02.png) + + + +![16:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_04.png) + + + +![16:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_06.png) + + + +![16:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_08.png) + + + +![16:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_10.png) + + + +![16:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_12.png) + + + +![16:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_14.png) + + + +![16:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_16.png) + + + +![16:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_18.png) + + + +![16:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_20.png) + + + +![16:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_22.png) + + + +![16:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_24.png) + + + +![16:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_26.png) + + + +![16:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_28.png) + + + +![16:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_30.png) + + + +![16:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_32.png) + + + +![16:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_34.png) + + + +![16:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_36.png) + + + +![16:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_38.png) + + + +![16:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_40.png) + + + +![16:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_42.png) + + + +![16:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_44.png) + + + +![16:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_46.png) + + + +![16:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_48.png) + + + +![16:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_50.png) + + + +![16:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_52.png) + + + +![16:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_54.png) + + + +![16:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_56.png) + + + +![16:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/16_58.png) + + + +![17:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_00.png) + + + +![17:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_02.png) + + + +![17:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_04.png) + + + +![17:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_06.png) + + + +![17:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_08.png) + + + +![17:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_10.png) + + + +![17:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_12.png) + + + +![17:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_14.png) + + + +![17:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_16.png) + + + +![17:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_18.png) + + + +![17:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_20.png) + + + +![17:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_22.png) + + + +![17:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_24.png) + + + +![17:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_26.png) + + + +![17:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_28.png) + + + +![17:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_30.png) + + + +![17:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_32.png) + + + +![17:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_34.png) + + + +![17:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_36.png) + + + +![17:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_38.png) + + + +![17:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_40.png) + + + +![17:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_42.png) + + + +![17:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_44.png) + + + +![17:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_46.png) + + + +![17:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_48.png) + + + +![17:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_50.png) + + + +![17:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_52.png) + + + +![17:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_54.png) + + + +![17:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_56.png) + + + +![17:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/17_58.png) + + + +![18:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_00.png) + + + +![18:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_02.png) + + + +![18:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_04.png) + + + +![18:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_06.png) + + + +![18:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_08.png) + + + +![18:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_10.png) + + + +![18:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_12.png) + + + +![18:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_14.png) + + + +![18:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_16.png) + + + +![18:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_18.png) + + + +![18:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_20.png) + + + +![18:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_22.png) + + + +![18:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_24.png) + + + +![18:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_26.png) + + + +![18:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_28.png) + + + +![18:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_30.png) + + + +![18:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_32.png) + + + +![18:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_34.png) + + + +![18:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_36.png) + + + +![18:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_38.png) + + + +![18:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_40.png) + + + +![18:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_42.png) + + + +![18:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_44.png) + + + +![18:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_46.png) + + + +![18:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_48.png) + + + +![18:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_50.png) + + + +![18:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_52.png) + + + +![18:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_54.png) + + + +![18:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_56.png) + + + +![18:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/18_58.png) + + + +![19:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_00.png) + + + +![19:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_02.png) + + + +![19:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_04.png) + + + +![19:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_06.png) + + + +![19:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_08.png) + + + +![19:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_10.png) + + + +![19:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_12.png) + + + +![19:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_14.png) + + + +![19:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_16.png) + + + +![19:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_18.png) + + + +![19:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_20.png) + + + +![19:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_22.png) + + + +![19:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_24.png) + + + +![19:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_26.png) + + + +![19:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_28.png) + + + +![19:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_30.png) + + + +![19:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_32.png) + + + +![19:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_34.png) + + + +![19:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_36.png) + + + +![19:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_38.png) + + + +![19:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_40.png) + + + +![19:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_42.png) + + + +![19:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_44.png) + + + +![19:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_46.png) + + + +![19:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_48.png) + + + +![19:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_50.png) + + + +![19:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_52.png) + + + +![19:54](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_54.png) + + + +![19:56](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_56.png) + + + +![19:58](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/19_58.png) + + + +![20:00](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_00.png) + + + +![20:02](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_02.png) + + + +![20:04](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_04.png) + + + +![20:06](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_06.png) + + + +![20:08](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_08.png) + + + +![20:10](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_10.png) + + + +![20:12](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_12.png) + + + +![20:14](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_14.png) + + + +![20:16](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_16.png) + + + +![20:18](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_18.png) + + + +![20:20](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_20.png) + + + +![20:22](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_22.png) + + + +![20:24](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_24.png) + + + +![20:26](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_26.png) + + + +![20:28](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_28.png) + + + +![20:30](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_30.png) + + + +![20:32](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_32.png) + + + +![20:34](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_34.png) + + + +![20:36](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_36.png) + + + +![20:38](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_38.png) + + + +![20:40](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_40.png) + + + +![20:42](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_42.png) + + + +![20:44](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_44.png) + + + +![20:46](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_46.png) + + + +![20:48](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_48.png) + + + +![20:50](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_50.png) + + + +![20:52](./美国突袭委内瑞拉,真的是为了抢那点劣质石油吗?/20_52.png) + + diff --git a/package.json b/package.json index 98f6ab83..fc0f7fef 100644 --- a/package.json +++ b/package.json @@ -1,22 +1,25 @@ { "name": "yt2press", "version": "1.0.0", - "main": "index.js", + "main": "server.js", + "type": "module", "license": "MIT", "dependencies": { - "@tauri-apps/api": "^2", - "@tauri-apps/plugin-opener": "^2" - }, - "devDependencies": { - "@tauri-apps/cli": "^2.9.6", - "@types/node": "^20.19.30", + "gray-matter": "^4.0.3", "vite": "^7.3.1", "vitepress": "2.0.0-alpha.15", - "vue": "^3.5.27" + "vue": "^3.5.27", + "ws": "^8.19.0" + }, + "devDependencies": { + "@types/node": "^20.19.30", + "@types/ws": "^8.18.1", + "concurrently": "^9.2.1" }, "scripts": { - "start": "tauri dev", - "dev": "vitepress dev docs", + "dev": "concurrently 'pnpm:dev:*'", + "dev:server": "node server.js", + "dev:vite": "vitepress dev docs", "build": "vitepress build docs", "preview": "vitepress preview docs" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8dc140db..d1fded94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,19 +8,9 @@ importers: .: dependencies: - '@tauri-apps/api': - specifier: ^2 - version: 2.9.1 - '@tauri-apps/plugin-opener': - specifier: ^2 - version: 2.5.3 - devDependencies: - '@tauri-apps/cli': - specifier: ^2.9.6 - version: 2.9.6 - '@types/node': - specifier: ^20.19.30 - version: 20.19.30 + gray-matter: + specifier: ^4.0.3 + version: 4.0.3 vite: specifier: ^7.3.1 version: 7.3.1(@types/node@20.19.30) @@ -30,6 +20,19 @@ importers: vue: specifier: ^3.5.27 version: 3.5.27 + ws: + specifier: ^8.19.0 + version: 8.19.0 + devDependencies: + '@types/node': + specifier: ^20.19.30 + version: 20.19.30 + '@types/ws': + specifier: ^8.18.1 + version: 8.18.1 + concurrently: + specifier: ^9.2.1 + version: 9.2.1 packages: @@ -507,83 +510,6 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@tauri-apps/api@2.9.1': - resolution: {integrity: sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw==} - - '@tauri-apps/cli-darwin-arm64@2.9.6': - resolution: {integrity: sha512-gf5no6N9FCk1qMrti4lfwP77JHP5haASZgVbBgpZG7BUepB3fhiLCXGUK8LvuOjP36HivXewjg72LTnPDScnQQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@tauri-apps/cli-darwin-x64@2.9.6': - resolution: {integrity: sha512-oWh74WmqbERwwrwcueJyY6HYhgCksUc6NT7WKeXyrlY/FPmNgdyQAgcLuTSkhRFuQ6zh4Np1HZpOqCTpeZBDcw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.6': - resolution: {integrity: sha512-/zde3bFroFsNXOHN204DC2qUxAcAanUjVXXSdEGmhwMUZeAQalNj5cz2Qli2elsRjKN/hVbZOJj0gQ5zaYUjSg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@tauri-apps/cli-linux-arm64-gnu@2.9.6': - resolution: {integrity: sha512-pvbljdhp9VOo4RnID5ywSxgBs7qiylTPlK56cTk7InR3kYSTJKYMqv/4Q/4rGo/mG8cVppesKIeBMH42fw6wjg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tauri-apps/cli-linux-arm64-musl@2.9.6': - resolution: {integrity: sha512-02TKUndpodXBCR0oP//6dZWGYcc22Upf2eP27NvC6z0DIqvkBBFziQUcvi2n6SrwTRL0yGgQjkm9K5NIn8s6jw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tauri-apps/cli-linux-riscv64-gnu@2.9.6': - resolution: {integrity: sha512-fmp1hnulbqzl1GkXl4aTX9fV+ubHw2LqlLH1PE3BxZ11EQk+l/TmiEongjnxF0ie4kV8DQfDNJ1KGiIdWe1GvQ==} - engines: {node: '>= 10'} - cpu: [riscv64] - os: [linux] - - '@tauri-apps/cli-linux-x64-gnu@2.9.6': - resolution: {integrity: sha512-vY0le8ad2KaV1PJr+jCd8fUF9VOjwwQP/uBuTJvhvKTloEwxYA/kAjKK9OpIslGA9m/zcnSo74czI6bBrm2sYA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tauri-apps/cli-linux-x64-musl@2.9.6': - resolution: {integrity: sha512-TOEuB8YCFZTWVDzsO2yW0+zGcoMiPPwcUgdnW1ODnmgfwccpnihDRoks+ABT1e3fHb1ol8QQWsHSCovb3o2ENQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tauri-apps/cli-win32-arm64-msvc@2.9.6': - resolution: {integrity: sha512-ujmDGMRc4qRLAnj8nNG26Rlz9klJ0I0jmZs2BPpmNNf0gM/rcVHhqbEkAaHPTBVIrtUdf7bGvQAD2pyIiUrBHQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@tauri-apps/cli-win32-ia32-msvc@2.9.6': - resolution: {integrity: sha512-S4pT0yAJgFX8QRCyKA1iKjZ9Q/oPjCZf66A/VlG5Yw54Nnr88J1uBpmenINbXxzyhduWrIXBaUbEY1K80ZbpMg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@tauri-apps/cli-win32-x64-msvc@2.9.6': - resolution: {integrity: sha512-ldWuWSSkWbKOPjQMJoYVj9wLHcOniv7diyI5UAJ4XsBdtaFB0pKHQsqw/ItUma0VXGC7vB4E9fZjivmxur60aw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@tauri-apps/cli@2.9.6': - resolution: {integrity: sha512-3xDdXL5omQ3sPfBfdC8fCtDKcnyV7OqyzQgfyT5P3+zY6lcPqIYKQBvUasNvppi21RSdfhy44ttvJmftb0PCDw==} - engines: {node: '>= 10'} - hasBin: true - - '@tauri-apps/plugin-opener@2.5.3': - resolution: {integrity: sha512-CCcUltXMOfUEArbf3db3kCE7Ggy1ExBEBl51Ko2ODJ6GDYHRp1nSNlQm5uNCFY5k7/ufaK5Ib3Du/Zir19IYQQ==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -611,6 +537,9 @@ packages: '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -728,21 +657,52 @@ packages: resolution: {integrity: sha512-n/NdPglzmkcNYZfIT3Fo8pnDR/lKiK1kZ1Yaa315UoLyHymADhWw15+bzN5gBxrCA8KyeNu0JJD6mLtTov43lQ==} engines: {node: '>= 14.0.0'} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + birpc@2.9.0: resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + concurrently@9.2.1: + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + engines: {node: '>=18'} + hasBin: true + copy-anything@4.0.5: resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} engines: {node: '>=18'} @@ -757,6 +717,9 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + entities@7.0.0: resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} engines: {node: '>=0.12'} @@ -766,6 +729,15 @@ packages: engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -773,6 +745,10 @@ packages: resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} engines: {node: '>=18.0.0'} + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -790,6 +766,18 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + hast-util-to-html@9.0.5: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} @@ -805,13 +793,29 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-what@5.5.0: resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} engines: {node: '>=18'} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + json-schema@0.4.0: resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -888,6 +892,10 @@ packages: regex@6.1.0: resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} @@ -896,9 +904,20 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + search-insights@2.17.3: resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + shiki@3.21.0: resolution: {integrity: sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==} @@ -913,13 +932,36 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + superjson@2.2.6: resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} engines: {node: '>=16'} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + swr@2.3.8: resolution: {integrity: sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==} peerDependencies: @@ -936,9 +978,16 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -1031,6 +1080,34 @@ packages: typescript: optional: true + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + ws@8.19.0: + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + zod@4.3.5: resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} @@ -1424,59 +1501,6 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@tauri-apps/api@2.9.1': {} - - '@tauri-apps/cli-darwin-arm64@2.9.6': - optional: true - - '@tauri-apps/cli-darwin-x64@2.9.6': - optional: true - - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.6': - optional: true - - '@tauri-apps/cli-linux-arm64-gnu@2.9.6': - optional: true - - '@tauri-apps/cli-linux-arm64-musl@2.9.6': - optional: true - - '@tauri-apps/cli-linux-riscv64-gnu@2.9.6': - optional: true - - '@tauri-apps/cli-linux-x64-gnu@2.9.6': - optional: true - - '@tauri-apps/cli-linux-x64-musl@2.9.6': - optional: true - - '@tauri-apps/cli-win32-arm64-msvc@2.9.6': - optional: true - - '@tauri-apps/cli-win32-ia32-msvc@2.9.6': - optional: true - - '@tauri-apps/cli-win32-x64-msvc@2.9.6': - optional: true - - '@tauri-apps/cli@2.9.6': - optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.9.6 - '@tauri-apps/cli-darwin-x64': 2.9.6 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.6 - '@tauri-apps/cli-linux-arm64-gnu': 2.9.6 - '@tauri-apps/cli-linux-arm64-musl': 2.9.6 - '@tauri-apps/cli-linux-riscv64-gnu': 2.9.6 - '@tauri-apps/cli-linux-x64-gnu': 2.9.6 - '@tauri-apps/cli-linux-x64-musl': 2.9.6 - '@tauri-apps/cli-win32-arm64-msvc': 2.9.6 - '@tauri-apps/cli-win32-ia32-msvc': 2.9.6 - '@tauri-apps/cli-win32-x64-msvc': 2.9.6 - - '@tauri-apps/plugin-opener@2.5.3': - dependencies: - '@tauri-apps/api': 2.9.1 - '@types/estree@1.0.8': {} '@types/hast@3.0.4': @@ -1504,6 +1528,10 @@ snapshots: '@types/web-bluetooth@0.0.21': {} + '@types/ws@8.18.1': + dependencies: + '@types/node': 20.19.30 + '@ungap/structured-clone@1.3.0': {} '@vercel/oidc@3.1.0': {} @@ -1632,16 +1660,52 @@ snapshots: '@algolia/requester-fetch': 5.46.3 '@algolia/requester-node-http': 5.46.3 + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + birpc@2.9.0: {} ccount@2.0.1: {} + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + comma-separated-tokens@2.0.3: {} + concurrently@9.2.1: + dependencies: + chalk: 4.1.2 + rxjs: 7.8.2 + shell-quote: 1.8.3 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + copy-anything@4.0.5: dependencies: is-what: 5.5.0 @@ -1654,6 +1718,8 @@ snapshots: dependencies: dequal: 2.0.3 + emoji-regex@8.0.0: {} + entities@7.0.0: {} esbuild@0.27.2: @@ -1685,10 +1751,18 @@ snapshots: '@esbuild/win32-ia32': 0.27.2 '@esbuild/win32-x64': 0.27.2 + escalade@3.2.0: {} + + esprima@4.0.1: {} + estree-walker@2.0.2: {} eventsource-parser@3.0.6: {} + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -1700,6 +1774,17 @@ snapshots: fsevents@2.3.3: optional: true + get-caller-file@2.0.5: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.2 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + has-flag@4.0.0: {} + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.4 @@ -1724,10 +1809,21 @@ snapshots: html-void-elements@3.0.0: {} + is-extendable@0.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + is-what@5.5.0: {} + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + json-schema@0.4.0: {} + kind-of@6.0.3: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1805,6 +1901,8 @@ snapshots: dependencies: regex-utilities: 2.3.0 + require-directory@2.1.1: {} + rfdc@1.4.1: {} rollup@4.55.2: @@ -1838,8 +1936,19 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.55.2 fsevents: 2.3.3 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + search-insights@2.17.3: {} + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + shell-quote@1.8.3: {} + shiki@3.21.0: dependencies: '@shikijs/core': 3.21.0 @@ -1857,15 +1966,37 @@ snapshots: speakingurl@14.0.1: {} + sprintf-js@1.0.3: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-bom-string@1.0.0: {} + superjson@2.2.6: dependencies: copy-anything: 4.0.5 + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + swr@2.3.8(react@19.2.3): dependencies: dequal: 2.0.3 @@ -1881,8 +2012,12 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 + tree-kill@1.2.2: {} + trim-lines@3.0.1: {} + tslib@2.8.1: {} + undici-types@6.21.0: {} unist-util-is@6.0.1: @@ -1994,6 +2129,28 @@ snapshots: '@vue/server-renderer': 3.5.27(vue@3.5.27) '@vue/shared': 3.5.27 + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + ws@8.19.0: {} + + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + zod@4.3.5: {} zwitch@2.0.4: {} diff --git a/server.js b/server.js new file mode 100644 index 00000000..d49b3c61 --- /dev/null +++ b/server.js @@ -0,0 +1,92 @@ +// @ts-check +import { WebSocketServer } from 'ws'; +import { readFileSync, mkdirSync, writeFileSync } from "fs"; +import { join as joinPath } from 'path' +import matter from 'gray-matter'; + +const PORT = 8080 + +const wss = new WebSocketServer({ port: PORT }); + +console.log(`WebSocket server running on ws://localhost:${PORT}`); + +wss.on('connection', (ws) => { + console.log('New client connected'); + + let filename = '' + const ROOT_DIR = 'docs'; + + ws.on('message', (message, isBinary) => { + if (message instanceof Buffer && isBinary) { + writeFileSync(joinPath(ROOT_DIR, filename), message); + + return; + } + + const { name, ...payload } = JSON.parse(message.toString('utf-8')); + + switch (name) { + case 'download_q': { + const { q, duration } = payload; + console.log(`Start ${q}`) + + const q_stem = q.replace(/\.[a-z0-9]+$/, "").replace(/\[.+?\]/g, '').trim(); + + try { + mkdirSync(joinPath(ROOT_DIR, q_stem)); + } catch (e) {} + + let isChanged = false; + + const ts = []; + + let { data, content } = matter(readFileSync(joinPath(ROOT_DIR, `${q_stem}.md`), 'utf-8')); + data.video = '/' + q; + + const interval = data.interval; + if (typeof interval === 'number') { + for (let t = 0; t < duration; t += interval) { + const min = Math.floor(t / 60) + const sec = Math.floor(t - min * 60) + + content += `\n${min}:${sec.toString().padStart(2, '0')}\n`; + } + } + + const re = /^(?\d{1,2}):(?\d{2})\s*$/; + const lines = content.split('\n') + content = '' + for (const line of lines) { + const m = re.exec(line); + if (m?.groups) { + const { min, sec } = m.groups; + const t = `${min}_${sec}`; + ts.push(t); + content += `\n![${line}](./${q_stem}/${t}.png)\n\n`; + isChanged = true; + } else { + content += `${line}\n`; + } + } + + if (isChanged){ + writeFileSync(joinPath(ROOT_DIR, `${q_stem}.md`), matter.stringify(content, data)); + ws.send(JSON.stringify({ name: "seek_q_ts", q, ts })); + } + } break; + case 'timed_q' : { + const { q, t } = payload; + const q_stem = q.replace(/\.[a-z0-9]+$/, "").replace(/\[.+?\]/g, '').trim(); + filename = t ? joinPath(q_stem, `${t}.png`) : ''; + } break; + case 'done' : { + const { q } = payload + console.log(`Done ${q}`) + } break; + } + }); + + ws.on('close', () => { + console.log('Client disconnected'); + }); +}); diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore deleted file mode 100644 index 502406b4..00000000 --- a/src-tauri/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Generated by Cargo -# will have compiled files and executables -/target/ -/gen/schemas diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock deleted file mode 100644 index b29e93df..00000000 --- a/src-tauri/Cargo.lock +++ /dev/null @@ -1,5455 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "adler2" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" - -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "version_check", -] - -[[package]] -name = "aho-corasick" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" -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_log-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" - -[[package]] -name = "android_logger" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb4e440d04be07da1f1bf44fb4495ebd58669372fe0cffa6e48595ac5bd88a3" -dependencies = [ - "android_log-sys", - "env_filter", - "log", -] - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" - -[[package]] -name = "app" -version = "0.1.0" -dependencies = [ - "log", - "serde", - "serde_json", - "tauri", - "tauri-build", - "tauri-plugin-log", - "tauri-plugin-opener", -] - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[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.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-executor" -version = "1.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "pin-project-lite", - "slab", -] - -[[package]] -name = "async-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" -dependencies = [ - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "windows-sys 0.61.2", -] - -[[package]] -name = "async-lock" -version = "3.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-process" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", -] - -[[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.114", -] - -[[package]] -name = "async-signal" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.61.2", -] - -[[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.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[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.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - -[[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.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" -dependencies = [ - "serde_core", -] - -[[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-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.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" -dependencies = [ - "objc2", -] - -[[package]] -name = "blocking" -version = "1.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - -[[package]] -name = "borsh" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1da5ab77c1437701eeff7c88d968729e7766172279eab0676857b3d63af7a6f" -dependencies = [ - "borsh-derive", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0686c856aa6aac0c4498f936d7d6a02df690f614c03e4d906d1018062b5c5e2c" -dependencies = [ - "once_cell", - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "brotli" -version = "8.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bumpalo" -version = "3.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" - -[[package]] -name = "byte-unit" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6d47a4e2961fb8721bcfc54feae6455f2f64e7054f9bc67e875f0e77f4c58d" -dependencies = [ - "rust_decimal", - "schemars 1.2.0", - "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.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" -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.10.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.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 2.0.18", -] - -[[package]] -name = "cargo_toml" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" -dependencies = [ - "serde", - "toml 0.9.11+spec-1.1.0", -] - -[[package]] -name = "cc" -version = "1.2.54" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" -dependencies = [ - "find-msvc-tools", - "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.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" - -[[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.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" -dependencies = [ - "iana-time-zone", - "num-traits", - "serde", - "windows-link 0.2.1", -] - -[[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 = [ - "time", - "version_check", -] - -[[package]] -name = "core-foundation" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[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.10.0", - "core-foundation", - "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.10.0", - "core-foundation", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" -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.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "cssparser" -version = "0.29.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa", - "matches", - "phf 0.10.1", - "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.114", -] - -[[package]] -name = "ctor" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" -dependencies = [ - "quote", - "syn 2.0.114", -] - -[[package]] -name = "darling" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.114", -] - -[[package]] -name = "darling_macro" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "deranged" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" -dependencies = [ - "powerfmt", - "serde_core", -] - -[[package]] -name = "derive_more" -version = "0.99.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" -dependencies = [ - "convert_case", - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.114", -] - -[[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 = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.61.2", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dispatch2" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" -dependencies = [ - "bitflags 2.10.0", - "objc2", -] - -[[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.114", -] - -[[package]] -name = "dlopen2" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "dpi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" -dependencies = [ - "serde", -] - -[[package]] -name = "dtoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" - -[[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.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - -[[package]] -name = "embed-resource" -version = "3.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e" -dependencies = [ - "cc", - "memchr", - "rustc_version", - "toml 0.9.11+spec-1.1.0", - "vswhom", - "winreg", -] - -[[package]] -name = "embed_plist" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" - -[[package]] -name = "endi" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099" - -[[package]] -name = "enumflags2" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "env_filter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "equivalent" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" - -[[package]] -name = "erased-serde" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - -[[package]] -name = "event-listener" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -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 = "find-msvc-tools" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" - -[[package]] -name = "flate2" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" -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.114", -] - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -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.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -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.114", -] - -[[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 = "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.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "wasip2", -] - -[[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.10.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.114", -] - -[[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.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - -[[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.114", -] - -[[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.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" - -[[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.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "html5ever" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" -dependencies = [ - "log", - "mac", - "markup5ever", - "match_token", -] - -[[package]] -name = "http" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" -dependencies = [ - "bytes", - "itoa", -] - -[[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.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" -dependencies = [ - "bytes", - "futures-core", - "http", - "http-body", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" - -[[package]] -name = "hyper" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" -dependencies = [ - "atomic-waker", - "bytes", - "futures-channel", - "futures-core", - "http", - "http-body", - "httparse", - "itoa", - "pin-project-lite", - "pin-utils", - "smallvec", - "tokio", - "want", -] - -[[package]] -name = "hyper-util" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "http", - "http-body", - "hyper", - "ipnet", - "libc", - "percent-encoding", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "log", - "wasm-bindgen", - "windows-core 0.62.2", -] - -[[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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc50b891e4acf8fe0e71ef88ec43ad82ee07b3810ad09de10f1d01f072ed4b98" -dependencies = [ - "byteorder", - "png", -] - -[[package]] -name = "icu_collections" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" -dependencies = [ - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" - -[[package]] -name = "icu_properties" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" -dependencies = [ - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" - -[[package]] -name = "icu_provider" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" -dependencies = [ - "displaydoc", - "icu_locale_core", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[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.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[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.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" -dependencies = [ - "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", -] - -[[package]] -name = "infer" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" -dependencies = [ - "cfb", -] - -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - -[[package]] -name = "iri-string" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "is-docker" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" -dependencies = [ - "once_cell", -] - -[[package]] -name = "is-wsl" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" -dependencies = [ - "is-docker", - "once_cell", -] - -[[package]] -name = "itoa" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" - -[[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.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" -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 = "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.10.0", - "serde", - "unicode-segmentation", -] - -[[package]] -name = "kuchikiki" -version = "0.8.8-speedreader" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" -dependencies = [ - "cssparser", - "html5ever", - "indexmap 2.13.0", - "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.180" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" -dependencies = [ - "bitflags 2.10.0", - "libc", -] - -[[package]] -name = "linux-raw-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" - -[[package]] -name = "litemap" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" - -[[package]] -name = "lock_api" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" -dependencies = [ - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" -dependencies = [ - "value-bag", -] - -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" - -[[package]] -name = "markup5ever" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" -dependencies = [ - "log", - "phf 0.11.3", - "phf_codegen 0.11.3", - "string_cache", - "string_cache_codegen", - "tendril", -] - -[[package]] -name = "match_token" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" - -[[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.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" -dependencies = [ - "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.61.2", -] - -[[package]] -name = "muda" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01c1738382f66ed56b3b9c8119e794a2e23148ac8ea214eda86622d4cb9d415a" -dependencies = [ - "crossbeam-channel", - "dpi", - "gtk", - "keyboard-types", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "once_cell", - "png", - "serde", - "thiserror 2.0.18", - "windows-sys 0.60.2", -] - -[[package]] -name = "ndk" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" -dependencies = [ - "bitflags 2.10.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 = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "num-conv" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" -dependencies = [ - "num_enum_derive", - "rustversion", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ - "libc", -] - -[[package]] -name = "objc2" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" -dependencies = [ - "objc2-encode", - "objc2-exception-helper", -] - -[[package]] -name = "objc2-app-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" -dependencies = [ - "bitflags 2.10.0", - "block2", - "libc", - "objc2", - "objc2-cloud-kit", - "objc2-core-data", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-core-image", - "objc2-core-text", - "objc2-core-video", - "objc2-foundation", - "objc2-quartz-core", -] - -[[package]] -name = "objc2-cloud-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-data" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" -dependencies = [ - "bitflags 2.10.0", - "dispatch2", - "objc2", -] - -[[package]] -name = "objc2-core-graphics" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" -dependencies = [ - "bitflags 2.10.0", - "dispatch2", - "objc2", - "objc2-core-foundation", - "objc2-io-surface", -] - -[[package]] -name = "objc2-core-image" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-text" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", -] - -[[package]] -name = "objc2-core-video" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-io-surface", -] - -[[package]] -name = "objc2-encode" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" - -[[package]] -name = "objc2-exception-helper" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" -dependencies = [ - "cc", -] - -[[package]] -name = "objc2-foundation" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" -dependencies = [ - "bitflags 2.10.0", - "block2", - "libc", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-io-surface" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-javascript-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a1e6550c4caed348956ce3370c9ffeca70bb1dbed4fa96112e7c6170e074586" -dependencies = [ - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-security" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", -] - -[[package]] -name = "objc2-ui-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" -dependencies = [ - "bitflags 2.10.0", - "objc2", - "objc2-core-foundation", - "objc2-foundation", -] - -[[package]] -name = "objc2-web-kit" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" -dependencies = [ - "bitflags 2.10.0", - "block2", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "objc2-javascript-core", - "objc2-security", -] - -[[package]] -name = "once_cell" -version = "1.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" - -[[package]] -name = "open" -version = "5.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43bb73a7fa3799b198970490a51174027ba0d4ec504b03cd08caf513d40024bc" -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 = "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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-link 0.2.1", -] - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_shared 0.8.0", -] - -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_macros 0.10.0", - "phf_shared 0.10.0", - "proc-macro-hack", -] - -[[package]] -name = "phf" -version = "0.11.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.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", -] - -[[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.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.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.114", -] - -[[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.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" - -[[package]] -name = "plist" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" -dependencies = [ - "base64 0.22.1", - "indexmap 2.13.0", - "quick-xml", - "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.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix", - "windows-sys 0.61.2", -] - -[[package]] -name = "potential_utf" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" -dependencies = [ - "zerovec", -] - -[[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.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" -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 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "proc-macro-crate" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" -dependencies = [ - "toml_edit 0.23.10+spec-1.0.0", -] - -[[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.106" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" -dependencies = [ - "unicode-ident", -] - -[[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 = "quick-xml" -version = "0.38.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r-efi" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.7.3" -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.17", -] - -[[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.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" -dependencies = [ - "bitflags 2.10.0", -] - -[[package]] -name = "redox_users" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" -dependencies = [ - "getrandom 0.2.17", - "libredox", - "thiserror 2.0.18", -] - -[[package]] -name = "ref-cast" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "regex" -version = "1.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" - -[[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.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-util", - "js-sys", - "log", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "tokio", - "tokio-util", - "tower", - "tower-http", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", -] - -[[package]] -name = "rkyv" -version = "0.7.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "rust_decimal" -version = "1.40.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61f703d19852dbf87cbc513643fa81428361eb6940f1ac14fd58155d295a3eb0" -dependencies = [ - "arrayvec", - "borsh", - "bytes", - "num-traits", - "rand 0.8.5", - "rkyv", - "serde", - "serde_json", -] - -[[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 = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34" -dependencies = [ - "bitflags 2.10.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.61.2", -] - -[[package]] -name = "rustversion" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" - -[[package]] -name = "ryu" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" - -[[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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" -dependencies = [ - "dyn-clone", - "indexmap 1.9.3", - "schemars_derive", - "serde", - "serde_json", - "url", - "uuid", -] - -[[package]] -name = "schemars" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.114", -] - -[[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.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" -dependencies = [ - "bitflags 1.3.2", - "cssparser", - "derive_more", - "fxhash", - "log", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc", - "smallvec", -] - -[[package]] -name = "semver" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" -dependencies = [ - "serde", - "serde_core", -] - -[[package]] -name = "serde" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" -dependencies = [ - "serde_core", - "serde_derive", -] - -[[package]] -name = "serde-untagged" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" -dependencies = [ - "erased-serde", - "serde", - "serde_core", - "typeid", -] - -[[package]] -name = "serde_core" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.228" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[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.114", -] - -[[package]] -name = "serde_json" -version = "1.0.149" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" -dependencies = [ - "itoa", - "memchr", - "serde", - "serde_core", - "zmij", -] - -[[package]] -name = "serde_repr" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_spanned" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" -dependencies = [ - "serde_core", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.13.0", - "schemars 0.9.0", - "schemars 1.2.0", - "serde_core", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "serialize-to-javascript" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" -dependencies = [ - "serde", - "serde_json", - "serialize-to-javascript-impl", -] - -[[package]] -name = "serialize-to-javascript-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "servo_arc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" -dependencies = [ - "nodrop", - "stable_deref_trait", -] - -[[package]] -name = "sha2" -version = "0.10.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[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.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" -dependencies = [ - "errno", - "libc", -] - -[[package]] -name = "simd-adler32" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" - -[[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.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" - -[[package]] -name = "smallvec" -version = "1.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "socket2" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" -dependencies = [ - "libc", - "windows-sys 0.60.2", -] - -[[package]] -name = "softbuffer" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" -dependencies = [ - "bytemuck", - "js-sys", - "ndk", - "objc2", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "objc2-quartz-core", - "raw-window-handle", - "redox_syscall", - "tracing", - "wasm-bindgen", - "web-sys", - "windows-sys 0.61.2", -] - -[[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 = "stable_deref_trait" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" - -[[package]] -name = "string_cache" -version = "0.8.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" -dependencies = [ - "new_debug_unreachable", - "parking_lot", - "phf_shared 0.11.3", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" -dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", - "proc-macro2", - "quote", -] - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "swift-rs" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" -dependencies = [ - "base64 0.21.7", - "serde", - "serde_json", -] - -[[package]] -name = "syn" -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.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[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.34.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" -dependencies = [ - "bitflags 2.10.0", - "block2", - "core-foundation", - "core-graphics", - "crossbeam-channel", - "dispatch", - "dlopen2", - "dpi", - "gdkwayland-sys", - "gdkx11-sys", - "gtk", - "jni", - "lazy_static", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "once_cell", - "parking_lot", - "raw-window-handle", - "scopeguard", - "tao-macros", - "unicode-segmentation", - "url", - "windows", - "windows-core 0.61.2", - "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.114", -] - -[[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.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a3868da5508446a7cd08956d523ac3edf0a8bc20bf7e4038f9a95c2800d2033" -dependencies = [ - "anyhow", - "bytes", - "cookie", - "dirs", - "dunce", - "embed_plist", - "getrandom 0.3.4", - "glob", - "gtk", - "heck 0.5.0", - "http", - "jni", - "libc", - "log", - "mime", - "muda", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "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.18", - "tokio", - "tray-icon", - "url", - "webkit2gtk", - "webview2-com", - "window-vibrancy", - "windows", -] - -[[package]] -name = "tauri-build" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17fcb8819fd16463512a12f531d44826ce566f486d7ccd211c9c8cebdaec4e08" -dependencies = [ - "anyhow", - "cargo_toml", - "dirs", - "glob", - "heck 0.5.0", - "json-patch", - "schemars 0.8.22", - "semver", - "serde", - "serde_json", - "tauri-utils", - "tauri-winres", - "toml 0.9.11+spec-1.1.0", - "walkdir", -] - -[[package]] -name = "tauri-codegen" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa9844cefcf99554a16e0a278156ae73b0d8680bbc0e2ad1e4287aadd8489cf" -dependencies = [ - "base64 0.22.1", - "brotli", - "ico", - "json-patch", - "plist", - "png", - "proc-macro2", - "quote", - "semver", - "serde", - "serde_json", - "sha2", - "syn 2.0.114", - "tauri-utils", - "thiserror 2.0.18", - "time", - "url", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-macros" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3764a12f886d8245e66b7ee9b43ccc47883399be2019a61d80cf0f4117446fde" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.114", - "tauri-codegen", - "tauri-utils", -] - -[[package]] -name = "tauri-plugin" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1d0a4860b7ff570c891e1d2a586bf1ede205ff858fbc305e0b5ae5d14c1377" -dependencies = [ - "anyhow", - "glob", - "plist", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri-utils", - "toml 0.9.11+spec-1.1.0", - "walkdir", -] - -[[package]] -name = "tauri-plugin-log" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7545bd67f070a4500432c826e2e0682146a1d6712aee22a2786490156b574d93" -dependencies = [ - "android_logger", - "byte-unit", - "fern", - "log", - "objc2", - "objc2-foundation", - "serde", - "serde_json", - "serde_repr", - "swift-rs", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "time", -] - -[[package]] -name = "tauri-plugin-opener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc624469b06f59f5a29f874bbc61a2ed737c0f9c23ef09855a292c389c42e83f" -dependencies = [ - "dunce", - "glob", - "objc2-app-kit", - "objc2-foundation", - "open", - "schemars 0.8.22", - "serde", - "serde_json", - "tauri", - "tauri-plugin", - "thiserror 2.0.18", - "url", - "windows", - "zbus", -] - -[[package]] -name = "tauri-runtime" -version = "2.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f766fe9f3d1efc4b59b17e7a891ad5ed195fa8d23582abb02e6c9a01137892" -dependencies = [ - "cookie", - "dpi", - "gtk", - "http", - "jni", - "objc2", - "objc2-ui-kit", - "objc2-web-kit", - "raw-window-handle", - "serde", - "serde_json", - "tauri-utils", - "thiserror 2.0.18", - "url", - "webkit2gtk", - "webview2-com", - "windows", -] - -[[package]] -name = "tauri-runtime-wry" -version = "2.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "187a3f26f681bdf028f796ccf57cf478c1ee422c50128e5a0a6ebeb3f5910065" -dependencies = [ - "gtk", - "http", - "jni", - "log", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "once_cell", - "percent-encoding", - "raw-window-handle", - "softbuffer", - "tao", - "tauri-runtime", - "tauri-utils", - "url", - "webkit2gtk", - "webview2-com", - "windows", - "wry", -] - -[[package]] -name = "tauri-utils" -version = "2.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a423c51176eb3616ee9b516a9fa67fed5f0e78baaba680e44eb5dd2cc37490" -dependencies = [ - "anyhow", - "brotli", - "cargo_metadata", - "ctor", - "dunce", - "glob", - "html5ever", - "http", - "infer", - "json-patch", - "kuchikiki", - "log", - "memchr", - "phf 0.11.3", - "proc-macro2", - "quote", - "regex", - "schemars 0.8.22", - "semver", - "serde", - "serde-untagged", - "serde_json", - "serde_with", - "swift-rs", - "thiserror 2.0.18", - "toml 0.9.11+spec-1.1.0", - "url", - "urlpattern", - "uuid", - "walkdir", -] - -[[package]] -name = "tauri-winres" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" -dependencies = [ - "dunce", - "embed-resource", - "toml 0.9.11+spec-1.1.0", -] - -[[package]] -name = "tempfile" -version = "3.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c" -dependencies = [ - "fastrand", - "getrandom 0.3.4", - "once_cell", - "rustix", - "windows-sys 0.61.2", -] - -[[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 = "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.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" -dependencies = [ - "thiserror-impl 2.0.18", -] - -[[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.114", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "time" -version = "0.3.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" -dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde_core", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" - -[[package]] -name = "time-macros" -version = "0.2.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tinystr" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" -dependencies = [ - "displaydoc", - "zerovec", -] - -[[package]] -name = "tinyvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" -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.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" -dependencies = [ - "bytes", - "libc", - "mio", - "pin-project-lite", - "socket2", - "windows-sys 0.61.2", -] - -[[package]] -name = "tokio-util" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" -dependencies = [ - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "toml_edit 0.20.2", -] - -[[package]] -name = "toml" -version = "0.9.11+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" -dependencies = [ - "indexmap 2.13.0", - "serde_core", - "serde_spanned 1.0.4", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "toml_writer", - "winnow 0.7.14", -] - -[[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_datetime" -version = "0.7.5+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.13.0", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" -dependencies = [ - "indexmap 2.13.0", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.23.10+spec-1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" -dependencies = [ - "indexmap 2.13.0", - "toml_datetime 0.7.5+spec-1.1.0", - "toml_parser", - "winnow 0.7.14", -] - -[[package]] -name = "toml_parser" -version = "1.0.6+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" -dependencies = [ - "winnow 0.7.14", -] - -[[package]] -name = "toml_writer" -version = "1.0.6+spec-1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" - -[[package]] -name = "tower" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" -dependencies = [ - "futures-core", - "futures-util", - "pin-project-lite", - "sync_wrapper", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-http" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" -dependencies = [ - "bitflags 2.10.0", - "bytes", - "futures-util", - "http", - "http-body", - "iri-string", - "pin-project-lite", - "tower", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "tracing-core" -version = "0.1.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tray-icon" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" -dependencies = [ - "crossbeam-channel", - "dirs", - "libappindicator", - "muda", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-core-graphics", - "objc2-foundation", - "once_cell", - "png", - "serde", - "thiserror 2.0.18", - "windows-sys 0.60.2", -] - -[[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.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - -[[package]] -name = "typenum" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" - -[[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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "url" -version = "2.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", - "serde_derive", -] - -[[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 = "utf8-width" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091" - -[[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.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" -dependencies = [ - "getrandom 0.3.4", - "js-sys", - "serde_core", - "wasm-bindgen", -] - -[[package]] -name = "value-bag" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba6f5989077681266825251a52748b8c1d8a4ad098cc37e440103d0ea717fc0" - -[[package]] -name = "version-compare" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" - -[[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.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" -dependencies = [ - "cc", - "libc", -] - -[[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.1+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -[[package]] -name = "wasip2" -version = "1.0.2+wasi-0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" -dependencies = [ - "wit-bindgen", -] - -[[package]] -name = "wasm-bindgen" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" -dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" -dependencies = [ - "cfg-if", - "futures-util", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" -dependencies = [ - "bumpalo", - "proc-macro2", - "quote", - "syn 2.0.114", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" -dependencies = [ - "unicode-ident", -] - -[[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 = "web-sys" -version = "0.3.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" -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 = "webview2-com" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows", - "windows-core 0.61.2", - "windows-implement", - "windows-interface", -] - -[[package]] -name = "webview2-com-macros" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "webview2-com-sys" -version = "0.38.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" -dependencies = [ - "thiserror 2.0.18", - "windows", - "windows-core 0.61.2", -] - -[[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.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" -dependencies = [ - "windows-sys 0.61.2", -] - -[[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.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" -dependencies = [ - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "raw-window-handle", - "windows-sys 0.59.0", - "windows-version", -] - -[[package]] -name = "windows" -version = "0.61.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" -dependencies = [ - "windows-collections", - "windows-core 0.61.2", - "windows-future", - "windows-link 0.1.3", - "windows-numerics", -] - -[[package]] -name = "windows-collections" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" -dependencies = [ - "windows-core 0.61.2", -] - -[[package]] -name = "windows-core" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", -] - -[[package]] -name = "windows-core" -version = "0.62.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" -dependencies = [ - "windows-implement", - "windows-interface", - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-future" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", - "windows-threading", -] - -[[package]] -name = "windows-implement" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "windows-interface" -version = "0.59.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - -[[package]] -name = "windows-link" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" - -[[package]] -name = "windows-numerics" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" -dependencies = [ - "windows-core 0.61.2", - "windows-link 0.1.3", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-result" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-strings" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" -dependencies = [ - "windows-link 0.2.1", -] - -[[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.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets 0.53.5", -] - -[[package]] -name = "windows-sys" -version = "0.61.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" -dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -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.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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" -dependencies = [ - "windows-link 0.2.1", - "windows_aarch64_gnullvm 0.53.1", - "windows_aarch64_msvc 0.53.1", - "windows_i686_gnu 0.53.1", - "windows_i686_gnullvm 0.53.1", - "windows_i686_msvc 0.53.1", - "windows_x86_64_gnu 0.53.1", - "windows_x86_64_gnullvm 0.53.1", - "windows_x86_64_msvc 0.53.1", -] - -[[package]] -name = "windows-threading" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" -dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-version" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" -dependencies = [ - "windows-link 0.2.1", -] - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - -[[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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" - -[[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.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" -dependencies = [ - "cfg-if", - "windows-sys 0.59.0", -] - -[[package]] -name = "wit-bindgen" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" - -[[package]] -name = "writeable" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" - -[[package]] -name = "wry" -version = "0.53.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" -dependencies = [ - "base64 0.22.1", - "block2", - "cookie", - "crossbeam-channel", - "dirs", - "dpi", - "dunce", - "gdkx11", - "gtk", - "html5ever", - "http", - "javascriptcore-rs", - "jni", - "kuchikiki", - "libc", - "ndk", - "objc2", - "objc2-app-kit", - "objc2-core-foundation", - "objc2-foundation", - "objc2-ui-kit", - "objc2-web-kit", - "once_cell", - "percent-encoding", - "raw-window-handle", - "sha2", - "soup3", - "tao-macros", - "thiserror 2.0.18", - "url", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows", - "windows-core 0.61.2", - "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 = "yoke" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" -dependencies = [ - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", - "synstructure", -] - -[[package]] -name = "zbus" -version = "5.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfeff997a0aaa3eb20c4652baf788d2dfa6d2839a0ead0b3ff69ce2f9c4bdd1" -dependencies = [ - "async-broadcast", - "async-executor", - "async-io", - "async-lock", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "enumflags2", - "event-listener", - "futures-core", - "futures-lite", - "hex", - "libc", - "ordered-stream", - "rustix", - "serde", - "serde_repr", - "tracing", - "uds_windows", - "uuid", - "windows-sys 0.61.2", - "winnow 0.7.14", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "5.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bbd5a90dbe8feee5b13def448427ae314ccd26a49cac47905cafefb9ff846f1" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", - "zbus_names", - "zvariant", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "4.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd8af6d5b78619bab301ff3c560a5bd22426150253db278f164d6cf3b72c50f" -dependencies = [ - "serde", - "winnow 0.7.14", - "zvariant", -] - -[[package]] -name = "zerocopy" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.8.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "zerofrom" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", - "synstructure", -] - -[[package]] -name = "zerotrie" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - -[[package]] -name = "zerovec" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" -dependencies = [ - "yoke", - "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.114", -] - -[[package]] -name = "zmij" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65" - -[[package]] -name = "zvariant" -version = "5.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b64ef4f40c7951337ddc7023dd03528a57a3ce3408ee9da5e948bd29b232c4" -dependencies = [ - "endi", - "enumflags2", - "serde", - "winnow 0.7.14", - "zvariant_derive", - "zvariant_utils", -] - -[[package]] -name = "zvariant_derive" -version = "5.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "484d5d975eb7afb52cc6b929c13d3719a20ad650fea4120e6310de3fc55e415c" -dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", - "syn 2.0.114", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f75c23a64ef8f40f13a6989991e643554d9bef1d682a281160cf0c1bc389c5e9" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "syn 2.0.114", - "winnow 0.7.14", -] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml deleted file mode 100644 index 660d2e78..00000000 --- a/src-tauri/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "app" -version = "0.1.0" -description = "A Tauri App" -authors = ["you"] -license = "" -repository = "" -edition = "2024" -rust-version = "1.90.0" - -# 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.5.3", features = [] } - -[dependencies] -serde_json = "1.0" -serde = { version = "1.0", features = ["derive"] } -log = "0.4" -tauri = { version = "2.9.5", features = [] } -tauri-plugin-log = "2" -tauri-plugin-opener = "2" diff --git a/src-tauri/build.rs b/src-tauri/build.rs deleted file mode 100644 index 795b9b7c..00000000 --- a/src-tauri/build.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - tauri_build::build() -} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json deleted file mode 100644 index c135d7f1..00000000 --- a/src-tauri/capabilities/default.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "../gen/schemas/desktop-schema.json", - "identifier": "default", - "description": "enables the default permissions", - "windows": [ - "main" - ], - "permissions": [ - "core:default" - ] -} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png deleted file mode 100644 index 77e7d233..00000000 Binary files a/src-tauri/icons/128x128.png and /dev/null differ diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png deleted file mode 100644 index 0f7976f1..00000000 Binary files a/src-tauri/icons/128x128@2x.png and /dev/null differ diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png deleted file mode 100644 index 98fda06f..00000000 Binary files a/src-tauri/icons/32x32.png and /dev/null differ diff --git a/src-tauri/icons/Square107x107Logo.png b/src-tauri/icons/Square107x107Logo.png deleted file mode 100644 index f35d84ff..00000000 Binary files a/src-tauri/icons/Square107x107Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png deleted file mode 100644 index 1823bb26..00000000 Binary files a/src-tauri/icons/Square142x142Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png deleted file mode 100644 index dc2b22ce..00000000 Binary files a/src-tauri/icons/Square150x150Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png deleted file mode 100644 index 0ed3984c..00000000 Binary files a/src-tauri/icons/Square284x284Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png deleted file mode 100644 index 60bf0ead..00000000 Binary files a/src-tauri/icons/Square30x30Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png deleted file mode 100644 index c8ca0ad1..00000000 Binary files a/src-tauri/icons/Square310x310Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png deleted file mode 100644 index 8756459b..00000000 Binary files a/src-tauri/icons/Square44x44Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square71x71Logo.png b/src-tauri/icons/Square71x71Logo.png deleted file mode 100644 index 2c8023cc..00000000 Binary files a/src-tauri/icons/Square71x71Logo.png and /dev/null differ diff --git a/src-tauri/icons/Square89x89Logo.png b/src-tauri/icons/Square89x89Logo.png deleted file mode 100644 index 2c5e6034..00000000 Binary files a/src-tauri/icons/Square89x89Logo.png and /dev/null differ diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png deleted file mode 100644 index 17d142c0..00000000 Binary files a/src-tauri/icons/StoreLogo.png and /dev/null differ diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns deleted file mode 100644 index a2993adc..00000000 Binary files a/src-tauri/icons/icon.icns and /dev/null differ diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico deleted file mode 100644 index 06c23c82..00000000 Binary files a/src-tauri/icons/icon.ico and /dev/null differ diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png deleted file mode 100644 index d1756ce4..00000000 Binary files a/src-tauri/icons/icon.png and /dev/null differ diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs deleted file mode 100644 index c03488fd..00000000 --- a/src-tauri/src/lib.rs +++ /dev/null @@ -1,41 +0,0 @@ -use tauri::Listener; -use serde::Deserialize; - -#[tauri::command] -fn download_q(q: String) { - println!("Download q! {q}"); -} - -#[tauri::command] -fn timed_q(q: String, t: f32, current_time: f32, data: String) { - println!("Timed q! {q} {t} {current_time} {}", &data[..10]); -} - -#[derive(Deserialize, Debug)] -struct SeekQEvent { - t: f32, -} - -#[cfg_attr(mobile, tauri::mobile_entry_point)] -pub fn run() { - tauri::Builder::default() - .invoke_handler(tauri::generate_handler![download_q, timed_q]) - .setup(|app| { - app.listen("seek_q", |event| { - if let Ok(payload) = serde_json::from_str::(&event.payload()) { - println!("downloading {}", payload.t); - } - }); - - if cfg!(debug_assertions) { - app.handle().plugin( - tauri_plugin_log::Builder::default() - .level(log::LevelFilter::Info) - .build(), - )?; - } - Ok(()) - }) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); -} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs deleted file mode 100644 index ad5fe839..00000000 --- a/src-tauri/src/main.rs +++ /dev/null @@ -1,6 +0,0 @@ -// Prevents additional console window on Windows in release, DO NOT REMOVE!! -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] - -fn main() { - app_lib::run(); -} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json deleted file mode 100644 index 1af7a343..00000000 --- a/src-tauri/tauri.conf.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", - "productName": "yt2press", - "version": "0.1.0", - "identifier": "com.tauri.dev", - "build": { - "frontendDist": "../docs/dist", - "devUrl": "http://localhost:5173", - "beforeDevCommand": "pnpm dev", - "beforeBuildCommand": "pnpm build" - }, - "app": { - "windows": [ - { - "title": "yt2press", - "width": 800, - "height": 600, - "resizable": true, - "fullscreen": false - } - ], - "security": { - "csp": null - } - }, - "bundle": { - "active": true, - "targets": "all", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ] - } -}