diff --git a/README.md b/README.md index d90429db..7d09da8e 100644 --- a/README.md +++ b/README.md @@ -15,16 +15,37 @@ Download or place a video file in the `/docs/public` directory. Several options Choose any method to download your video and save it to `/docs/public` directory. -### Step 2: Create a Markdown File +### Step 2: Start the Development Server -Create a markdown file in `/docs` directory. The filename should match the video filename with `[xxx]` removed and spaces replaced with underscores. +Run the following command in the project directory: + +```bash +pnpm run dev +``` + +This starts the VitePress development server and WebSocket server for communication. + +### Step 3: Use the Downloader Interface + +1. Open the VitePress website in your browser +2. Enter your video filename in the textbox (e.g. `my video [abc123].mp4`, `presentation.webm`, `my-video [xyz].mpeg`) +3. Press Enter or click Submit + +The app will: +- Load the markdown matching the submitted video filename. + - If it exists: process the video — extract screenshots for timestamps, insert images, and save the markdown. + - If it does not exist: create the markdown and exit. Edit the new file (add frontmatter or timestamps), then run the Downloader again. + +#### Create/Edit the Markdown File + +You may let the Downloader create the markdown file automatically, or create it yourself by placing a file in the `/docs` directory. The filename should match the video filename with any bracketed ID removed and spaces replaced with underscores, for example: -For example: - Video file: `my video [abc123].mp4` → Markdown file: `my_video.md` - Video file: `presentation.webm` → Markdown file: `presentation.md` -- Video file: `my-video [xyz].mpeg` → Markdown file: `my-video.md` -The markdown file content can be: +If the file is newly created by the Downloader, you will need to edit the markdown to provide the content or timestamps the app will use. After editing, run the Downloader again to regenerate screenshots and update image references. + +The markdown file content can be one of the following: **Option A: YAML Frontmatter (for auto-generating timestamps)** @@ -58,28 +79,6 @@ Velit euismod blandit proin arcu magna. Timestamps should be in `M:SS` or `MM:SS` format on their own line. They will be converted to timestamped screenshot references. -### Step 3: Start the Development Server - -Run the following command in the project directory: - -```bash -pnpm run dev -``` - -This starts the VitePress development server and WebSocket server for communication. - -### Step 4: Use the Downloader Interface - -1. Open the VitePress website in your browser -2. Enter your video filename in the textbox (e.g. `my video [abc123].mp4`, `presentation.webm`, `my-video [xyz].mpeg`) -3. Press Enter or click Submit - -The app will: -- Load the video -- Extract screenshots at specified timestamps -- Replace timestamp lines with embedded screenshot images -- Save the updated markdown file - ## Project Structure ``` @@ -100,7 +99,7 @@ group-similar.js # Script for deduplicating similar screenshots ## Dependencies - Node.js and pnpm -- VitePress for web UI +- [VitePress](https://vitepress.dev) for web UI - WebSocket for real-time communication between browser and server -- gray-matter for parsing YAML frontmatter -- [Sharp](https://github.com/lovell/sharp) for image processing (screenshot manipulation) +- `gray-matter` for parsing YAML frontmatter +- [`sharp`](https://github.com/lovell/sharp) for image processing (screenshot manipulation) diff --git a/docs/index.md b/docs/index.md index f465ffe3..b603b7f1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -9,6 +9,8 @@ hero: +- [什么是深圳?| WHAT IS SHENZHEN?【星球研究所】](/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】) +- [意大利为什么没有赶上现代化这趟二路汽车?](/意大利为什么没有赶上现代化这趟二路汽车?) - [みんなうっかり間違える!?中国語 様態補語と程度補語の文法の注意点とは](/みんなうっかり間違える!?中国語_様態補語と程度補語の文法の注意点とは) - [【剥茧The Truth Within】EP02](/qVVhBGT0K7Y) - [15萬緬甸人在台灣的背後,是一段顛沛流離的故事](/15萬緬甸人在台灣的背後,是一段顛沛流離的故事) diff --git a/docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md b/docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md new file mode 100644 index 00000000..3a4c0ded --- /dev/null +++ b/docs/什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】.md @@ -0,0 +1,1195 @@ +--- +interval: 2 +dedup: true +video: '/什么是深圳?| WHAT IS SHENZHEN?【星球研究所】 [EwNegRhR-_k].mp4' +--- + + +![0:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_00.png) + + + +![0:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_02.png) + + + +![0:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_04.png) + + + +![0:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_06.png) + + + +![0:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_08.png) + + + +![0:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_10.png) + + + +![0:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_12.png) + + + +
+0:12 + +![0:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_14.png) + + + +![0:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_16.png) +
+
+ + + +![0:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_18.png) + + + +![0:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_20.png) + + + +![0:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_22.png) + + + +![0:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_24.png) + + + +![0:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_26.png) + + + +![0:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_28.png) + + + +![0:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_30.png) + + + +![0:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_32.png) + + + +![0:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_34.png) + + + +![0:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_36.png) + + + +![0:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_38.png) + + + +![0:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_40.png) + + + +![0:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_42.png) + + + +![0:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_44.png) + + + +![0:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_46.png) + + + +![0:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_48.png) + + + +![0:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_50.png) + + + +![0:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_52.png) + + + +![0:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_54.png) + + + +![0:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_56.png) + + + +![0:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/0_58.png) + + + +![1:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_00.png) + + + +![1:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_02.png) + + + +![1:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_04.png) + + + +![1:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_06.png) + + + +![1:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_08.png) + + + +![1:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_10.png) + + + +![1:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_12.png) + + + +![1:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_14.png) + + + +![1:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_16.png) + + + +![1:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_18.png) + + + +![1:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_20.png) + + + +![1:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_22.png) + + + +![1:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_24.png) + + + +![1:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_26.png) + + + +![1:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_28.png) + + + +![1:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_30.png) + + + +![1:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_32.png) + + + +![1:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_34.png) + + + +![1:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_36.png) + + + +![1:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_38.png) + + + +![1:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_40.png) + + + +
+1:40 + +![1:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_42.png) +
+
+ + + +![1:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_44.png) + + + +![1:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_46.png) + + + +![1:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_48.png) + + + +![1:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_50.png) + + + +![1:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_52.png) + + + +![1:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_54.png) + + + +![1:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_56.png) + + + +![1:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/1_58.png) + + + +![2:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_00.png) + + + +![2:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_02.png) + + + +![2:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_04.png) + + + +![2:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_06.png) + + + +![2:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_08.png) + + + +![2:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_10.png) + + + +![2:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_12.png) + + + +![2:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_14.png) + + + +![2:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_16.png) + + + +![2:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_18.png) + + + +![2:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_20.png) + + + +![2:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_22.png) + + + +![2:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_24.png) + + + +![2:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_26.png) + + + +![2:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_28.png) + + + +![2:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_30.png) + + + +![2:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_32.png) + + + +![2:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_34.png) + + + +![2:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_36.png) + + + +![2:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_38.png) + + + +![2:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_40.png) + + + +![2:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_42.png) + + + +![2:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_44.png) + + + +![2:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_46.png) + + + +![2:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_48.png) + + + +![2:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_50.png) + + + +![2:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_52.png) + + + +![2:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_54.png) + + + +![2:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_56.png) + + + +![2:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/2_58.png) + + + +![3:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_00.png) + + + +![3:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_02.png) + + + +![3:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_04.png) + + + +![3:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_06.png) + + + +![3:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_08.png) + + + +![3:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_10.png) + + + +![3:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_12.png) + + + +![3:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_14.png) + + + +![3:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_16.png) + + + +![3:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_18.png) + + + +![3:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_20.png) + + + +![3:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_22.png) + + + +![3:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_24.png) + + + +![3:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_26.png) + + + +![3:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_28.png) + + + +![3:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_30.png) + + + +![3:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_32.png) + + + +![3:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_34.png) + + + +![3:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_36.png) + + + +![3:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_38.png) + + + +![3:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_40.png) + + + +![3:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_42.png) + + + +![3:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_44.png) + + + +![3:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_46.png) + + + +![3:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_48.png) + + + +![3:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_50.png) + + + +![3:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_52.png) + + + +![3:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_54.png) + + + +![3:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_56.png) + + + +![3:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/3_58.png) + + + +![4:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_00.png) + + + +![4:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_02.png) + + + +![4:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_04.png) + + + +![4:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_06.png) + + + +![4:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_08.png) + + + +![4:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_10.png) + + + +![4:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_12.png) + + + +![4:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_14.png) + + + +![4:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_16.png) + + + +![4:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_18.png) + + + +![4:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_20.png) + + + +![4:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_22.png) + + + +![4:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_24.png) + + + +![4:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_26.png) + + + +![4:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_28.png) + + + +![4:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_30.png) + + + +![4:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_32.png) + + + +![4:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_34.png) + + + +![4:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_36.png) + + + +![4:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_38.png) + + + +![4:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_40.png) + + + +![4:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_42.png) + + + +![4:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_44.png) + + + +![4:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_46.png) + + + +![4:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_48.png) + + + +![4:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_50.png) + + + +![4:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_52.png) + + + +![4:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_54.png) + + + +![4:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_56.png) + + + +![4:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/4_58.png) + + + +![5:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_00.png) + + + +![5:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_02.png) + + + +![5:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_04.png) + + + +![5:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_06.png) + + + +![5:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_08.png) + + + +![5:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_10.png) + + + +![5:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_12.png) + + + +![5:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_14.png) + + + +![5:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_16.png) + + + +![5:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_18.png) + + + +![5:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_20.png) + + + +![5:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_22.png) + + + +![5:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_24.png) + + + +![5:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_26.png) + + + +![5:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_28.png) + + + +![5:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_30.png) + + + +![5:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_32.png) + + + +![5:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_34.png) + + + +![5:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_36.png) + + + +![5:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_38.png) + + + +![5:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_40.png) + + + +![5:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_42.png) + + + +![5:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_44.png) + + + +![5:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_46.png) + + + +![5:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_48.png) + + + +![5:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_50.png) + + + +![5:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_52.png) + + + +![5:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_54.png) + + + +![5:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_56.png) + + + +![5:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/5_58.png) + + + +![6:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_00.png) + + + +![6:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_02.png) + + + +![6:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_04.png) + + + +![6:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_06.png) + + + +![6:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_08.png) + + + +![6:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_10.png) + + + +![6:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_12.png) + + + +![6:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_14.png) + + + +![6:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_16.png) + + + +![6:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_18.png) + + + +![6:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_20.png) + + + +![6:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_22.png) + + + +![6:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_24.png) + + + +![6:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_26.png) + + + +![6:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_28.png) + + + +![6:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_30.png) + + + +![6:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_32.png) + + + +![6:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_34.png) + + + +![6:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_36.png) + + + +![6:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_38.png) + + + +![6:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_40.png) + + + +![6:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_42.png) + + + +![6:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_44.png) + + + +![6:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_46.png) + + + +![6:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_48.png) + + + +![6:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_50.png) + + + +![6:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_52.png) + + + +![6:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_54.png) + + + +![6:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_56.png) + + + +![6:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/6_58.png) + + + +![7:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_00.png) + + + +![7:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_02.png) + + + +![7:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_04.png) + + + +![7:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_06.png) + + + +![7:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_08.png) + + + +![7:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_10.png) + + + +![7:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_12.png) + + + +![7:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_14.png) + + + +![7:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_16.png) + + + +![7:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_18.png) + + + +![7:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_20.png) + + + +![7:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_22.png) + + + +![7:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_24.png) + + + +![7:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_26.png) + + + +![7:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_28.png) + + + +![7:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_30.png) + + + +![7:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_32.png) + + + +![7:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_34.png) + + + +![7:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_36.png) + + + +![7:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_38.png) + + + +![7:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_40.png) + + + +![7:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_42.png) + + + +![7:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_44.png) + + + +![7:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_46.png) + + + +![7:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_48.png) + + + +![7:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_50.png) + + + +![7:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_52.png) + + + +![7:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_54.png) + + + +![7:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_56.png) + + + +![7:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/7_58.png) + + + +![8:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_00.png) + + + +![8:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_02.png) + + + +![8:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_04.png) + + + +![8:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_06.png) + + + +![8:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_08.png) + + + +![8:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_10.png) + + + +![8:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_12.png) + + + +![8:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_14.png) + + + +![8:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_16.png) + + + +![8:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_18.png) + + + +![8:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_20.png) + + + +![8:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_22.png) + + + +![8:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_24.png) + + + +![8:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_26.png) + + + +![8:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_28.png) + + + +![8:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_30.png) + + + +![8:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_32.png) + + + +![8:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_34.png) + + + +![8:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_36.png) + + + +![8:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_38.png) + + + +![8:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_40.png) + + + +![8:42](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_42.png) + + + +![8:44](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_44.png) + + + +![8:46](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_46.png) + + + +![8:48](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_48.png) + + + +![8:50](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_50.png) + + + +![8:52](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_52.png) + + + +![8:54](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_54.png) + + + +![8:56](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_56.png) + + + +![8:58](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/8_58.png) + + + +![9:00](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_00.png) + + + +![9:02](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_02.png) + + + +![9:04](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_04.png) + + + +![9:06](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_06.png) + + + +![9:08](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_08.png) + + + +![9:10](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_10.png) + + + +![9:12](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_12.png) + + + +![9:14](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_14.png) + + + +![9:16](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_16.png) + + + +![9:18](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_18.png) + + + +![9:20](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_20.png) + + + +![9:22](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_22.png) + + + +![9:24](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_24.png) + + + +![9:26](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_26.png) + + + +
+9:26 + +![9:28](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_28.png) +
+
+ + + +![9:30](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_30.png) + + + +![9:32](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_32.png) + + + +
+9:32 + +![9:34](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_34.png) +
+
+ + + +![9:36](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_36.png) + + + +![9:38](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_38.png) + + + +
+9:38 + +![9:40](./什么是深圳?|_WHAT_IS_SHENZHEN?【星球研究所】/9_40.png) +
+
+ + diff --git a/docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md b/docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md new file mode 100644 index 00000000..6437bf7b --- /dev/null +++ b/docs/那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister.md @@ -0,0 +1,786 @@ +--- +interval: 2 +dedup: true +video: >- + /那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita: The Man Who Almost Became Thailand’s + Prime Minister [LQ5NuIjEFxE].mp4 +--- + + +![0:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_00.png) + + + +![0:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_02.png) + + + +![0:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_04.png) + + + +![0:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_06.png) + + + +![0:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_08.png) + + + +![0:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_10.png) + + + +![0:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_12.png) + + + +![0:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_14.png) + + + +![0:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_16.png) + + + +![0:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_18.png) + + + +![0:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_20.png) + + + +![0:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_22.png) + + + +![0:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_24.png) + + + +![0:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_26.png) + + + +![0:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_28.png) + + + +![0:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_30.png) + + + +![0:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_32.png) + + + +![0:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_34.png) + + + +![0:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_36.png) + + + +![0:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_38.png) + + + +![0:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_40.png) + + + +![0:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_42.png) + + + +![0:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_44.png) + + + +![0:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_46.png) + + + +![0:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_48.png) + + + +![0:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_50.png) + + + +![0:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_52.png) + + + +![0:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_54.png) + + + +![0:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_56.png) + + + +
+0:56 + +![0:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/0_58.png) +
+
+ + + +![1:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_00.png) + + + +
+1:00 + +![1:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_02.png) +
+
+ + + +![1:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_04.png) + + + +![1:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_06.png) + + + +![1:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_08.png) + + + +![1:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_10.png) + + + +![1:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_12.png) + + + +![1:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_14.png) + + + +![1:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_16.png) + + + +![1:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_18.png) + + + +![1:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_20.png) + + + +![1:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_22.png) + + + +![1:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_24.png) + + + +![1:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_26.png) + + + +![1:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_28.png) + + + +![1:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_30.png) + + + +![1:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_32.png) + + + +![1:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_34.png) + + + +![1:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_36.png) + + + +![1:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_38.png) + + + +![1:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_40.png) + + + +![1:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_42.png) + + + +![1:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_44.png) + + + +![1:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_46.png) + + + +![1:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_48.png) + + + +![1:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_50.png) + + + +![1:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_52.png) + + + +
+1:52 + +![1:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_54.png) +
+
+ + + +![1:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_56.png) + + + +![1:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/1_58.png) + + + +![2:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_00.png) + + + +![2:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_02.png) + + + +![2:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_04.png) + + + +![2:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_06.png) + + + +![2:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_08.png) + + + +![2:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_10.png) + + + +![2:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_12.png) + + + +![2:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_14.png) + + + +![2:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_16.png) + + + +![2:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_18.png) + + + +
+2:18 + +![2:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_20.png) +
+
+ + + +![2:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_22.png) + + + +![2:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_24.png) + + + +![2:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_26.png) + + + +![2:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_28.png) + + + +![2:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_30.png) + + + +![2:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_32.png) + + + +![2:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_34.png) + + + +![2:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_36.png) + + + +![2:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_38.png) + + + +![2:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_40.png) + + + +![2:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_42.png) + + + +![2:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_44.png) + + + +
+2:44 + +![2:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_46.png) +
+
+ + + +![2:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_48.png) + + + +![2:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_50.png) + + + +![2:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_52.png) + + + +![2:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_54.png) + + + +![2:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_56.png) + + + +![2:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/2_58.png) + + + +![3:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_00.png) + + + +![3:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_02.png) + + + +![3:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_04.png) + + + +![3:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_06.png) + + + +![3:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_08.png) + + + +
+3:08 + +![3:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_10.png) + + + +![3:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_12.png) +
+
+ + + +![3:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_14.png) + + + +![3:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_16.png) + + + +![3:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_18.png) + + + +![3:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_20.png) + + + +![3:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_22.png) + + + +![3:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_24.png) + + + +![3:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_26.png) + + + +![3:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_28.png) + + + +![3:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_30.png) + + + +![3:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_32.png) + + + +![3:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_34.png) + + + +![3:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_36.png) + + + +![3:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_38.png) + + + +![3:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_40.png) + + + +![3:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_42.png) + + + +![3:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_44.png) + + + +![3:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_46.png) + + + +![3:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_48.png) + + + +![3:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_50.png) + + + +![3:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_52.png) + + + +![3:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_54.png) + + + +![3:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_56.png) + + + +![3:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/3_58.png) + + + +![4:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_00.png) + + + +![4:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_02.png) + + + +![4:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_04.png) + + + +![4:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_06.png) + + + +![4:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_08.png) + + + +
+4:08 + +![4:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_10.png) + + + +![4:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_12.png) + + + +![4:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_14.png) + + + +![4:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_16.png) + + + +![4:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_18.png) +
+
+ + + +![4:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_20.png) + + + +![4:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_22.png) + + + +![4:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_24.png) + + + +![4:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_26.png) + + + +![4:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_28.png) + + + +![4:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_30.png) + + + +![4:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_32.png) + + + +
+4:32 + +![4:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_34.png) +
+
+ + + +![4:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_36.png) + + + +
+4:36 + +![4:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_38.png) +
+
+ + + +![4:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_40.png) + + + +![4:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_42.png) + + + +![4:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_44.png) + + + +![4:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_46.png) + + + +![4:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_48.png) + + + +![4:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_50.png) + + + +![4:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_52.png) + + + +![4:54](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_54.png) + + + +![4:56](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_56.png) + + + +![4:58](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/4_58.png) + + + +![5:00](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_00.png) + + + +![5:02](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_02.png) + + + +![5:04](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_04.png) + + + +![5:06](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_06.png) + + + +![5:08](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_08.png) + + + +![5:10](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_10.png) + + + +![5:12](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_12.png) + + + +![5:14](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_14.png) + + + +![5:16](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_16.png) + + + +![5:18](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_18.png) + + + +![5:20](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_20.png) + + + +![5:22](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_22.png) + + + +![5:24](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_24.png) + + + +![5:26](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_26.png) + + + +
+5:26 + +![5:28](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_28.png) + + + +![5:30](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_30.png) + + + +![5:32](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_32.png) +
+
+ + + +![5:34](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_34.png) + + + +
+5:34 + +![5:36](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_36.png) + + + +![5:38](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_38.png) +
+
+ + + +![5:40](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_40.png) + + + +
+5:40 + +![5:42](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_42.png) +
+
+ + + +![5:44](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_44.png) + + + +
+5:44 + +![5:46](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_46.png) +
+
+ + + +![5:48](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_48.png) + + + +
+5:48 + +![5:50](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_50.png) +
+
+ + + +![5:52](./那個幾乎成為泰國總理的男人皮塔:不是「政治金童」,而是「指定倖存者」|Pita:_The_Man_Who_Almost_Became_Thailand’s_Prime_Minister/5_52.png) + + diff --git a/package.json b/package.json index 966b4842..813b8001 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "ws": "^8.19.0" }, "devDependencies": { - "@types/node": "^20.19.30", + "@types/node": "24", "@types/ws": "^8.18.1", "concurrently": "^9.2.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bac21d6c..23fe75b5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,20 +16,20 @@ importers: version: 0.34.5 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@20.19.30) + version: 7.3.1(@types/node@24.10.13) vitepress: specifier: 2.0.0-alpha.15 - version: 2.0.0-alpha.15(@algolia/client-search@5.46.3)(@types/node@20.19.30)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3) + version: 2.0.0-alpha.15(@types/node@24.10.13)(postcss@8.5.6) vue: specifier: ^3.5.27 - version: 3.5.27 + version: 3.5.28 ws: specifier: ^8.19.0 version: 8.19.0 devDependencies: '@types/node': - specifier: ^20.19.30 - version: 20.19.30 + specifier: '24' + version: 24.10.13 '@types/ws': specifier: ^8.18.1 version: 8.18.1 @@ -39,102 +39,6 @@ importers: packages: - '@ai-sdk/gateway@2.0.27': - resolution: {integrity: sha512-8hbezMsGa0crSt7/DKjkYL1UbbJJW/UFxTfhmf5qcIeYeeWG4dTNmm+DWbUdIsTaWvp59KC4eeC9gYXBbTHd7w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider-utils@3.0.20': - resolution: {integrity: sha512-iXHVe0apM2zUEzauqJwqmpC37A5rihrStAih5Ks+JE32iTe4LZ58y17UGBjpQQTCRw9YxMeo2UFLxLpBluyvLQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - '@ai-sdk/provider@2.0.1': - resolution: {integrity: sha512-KCUwswvsC5VsW2PWFqF8eJgSCu5Ysj7m1TxiHTVA6g7k360bk0RNQENT8KTMAYEs+8fWPD3Uu4dEmzGHc+jGng==} - engines: {node: '>=18'} - - '@ai-sdk/react@2.0.123': - resolution: {integrity: sha512-exaEvHAsDdR0wgzF3l0BmC9U1nPLnkPK2CCnX3BP4RDj/PySZvPXjry3AOz1Ayb8KSPZgWklVRzxsQxrOYQJxA==} - engines: {node: '>=18'} - peerDependencies: - react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 - zod: ^3.25.76 || ^4.1.8 - peerDependenciesMeta: - zod: - optional: true - - '@algolia/abtesting@1.12.3': - resolution: {integrity: sha512-0SpSdnME0RCS6UHSs9XD3ox4bMcCg1JTmjAJ3AU6rcTlX54CZOAEPc2as8uSghX6wfKGT0HWes4TeUpjJMg6FQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/autocomplete-core@1.19.2': - resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2': - resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} - peerDependencies: - search-insights: '>= 1 < 3' - - '@algolia/autocomplete-shared@1.19.2': - resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/client-abtesting@5.46.3': - resolution: {integrity: sha512-i2C8sBcl3EKXuCd5nlGohW+pZ9pY3P3JKJ2OYqsbCPg6wURiR32hNDiDvDq7/dqJ7KWWwC2snxJhokZzGlckgQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.46.3': - resolution: {integrity: sha512-uFmD7m3LOym1SAURHeiqupHT9jui+9HK0lAiIvm077gXEscOM5KKXM4rg/ICzQ3UDHLZEA0Lb5TglWsXnieE6w==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.46.3': - resolution: {integrity: sha512-SN+yK840nXa+2+mF72hrDfGd8+B7eBjF8TK/8KoRMdjlAkO/P3o3vtpjKRKI/Sk4L8kYYkB/avW8l+cwR+O1Ew==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-insights@5.46.3': - resolution: {integrity: sha512-5ic1liG0VucNPi6gKCWh5bEUGWQfyEmVeXiNKS+rOSppg7B7nKH0PEEJOFXBbHmgK5aPfNNZINiKcyUoH4XsFA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.46.3': - resolution: {integrity: sha512-f4HNitgTip8tntKgluYBTc1LWSOkbNCdxZvRA3rRBZnEAYSvLe7jpE+AxRep6RY+prSWwMtyeCFhA/F1Um+TuQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-query-suggestions@5.46.3': - resolution: {integrity: sha512-/AaVqah2aYyJj7Cazu5QRkgcV3HF3lkBJo5TRkgqQ26xR4iHNRbLF2YsWJfJpJEFghlTF2HOCh7IgzaUCnM+8A==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.46.3': - resolution: {integrity: sha512-hfpCIukPuwkrlwsYfJEWdU5R5bduBHEq2uuPcqmgPgNq5MSjmiNIzRuzxGZZgiBKcre6gZT00DR7G1AFn//wiQ==} - engines: {node: '>= 14.0.0'} - - '@algolia/ingestion@1.46.3': - resolution: {integrity: sha512-ChVzNkCzAVxKozTnTgPWCG69WQLjzW7X6OqD91zUh8U38ZhPEX/t3qGhXs+M9ZNaHcJ7xToMB3jywNwONhpLGA==} - engines: {node: '>= 14.0.0'} - - '@algolia/monitoring@1.46.3': - resolution: {integrity: sha512-MZa+Z5iPmVMxVAQ0aq4HpGsja5utSLEMcOuY01X8D46vvMrSPkP8DnlDFtu1PgJ0RwyIGqqx7v+ClFo6iRJ6bA==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.46.3': - resolution: {integrity: sha512-cr3atJRJBKgAKZl/Oxo4sig6Se0+ukbyIOOluPV5H+ZAXVcxuMoXQgwQ1M5UHPnCnEsZ4uBXhBmilRgUQpUegw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.46.3': - resolution: {integrity: sha512-/Ku9GImJf2SKoRM2S3e03MjCVaWJCP5olih4k54DRhNDdmxBkd3nsWuUXvDElY3Ucw/arBYGs5SYz79SoS5APw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-fetch@5.46.3': - resolution: {integrity: sha512-Uw+SPy/zpfwbH1AxQaeOWvWVzPEcO0XbtLbbSz0HPcEIiBGWyfa9LUCxD5UferbDjrSQNVimmzl3FaWi4u8Ykw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.46.3': - resolution: {integrity: sha512-4No9iTjr1GZ0JWsFbQJj9aZBnmKyY1sTxOoEud9+SGe3U6iAulF0A0lI4cWi/F/Gcfg8V3jkaddcqSQKDnE45w==} - engines: {node: '>= 14.0.0'} - '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -143,213 +47,182 @@ packages: resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.6': - resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==} + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.28.6': - resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@docsearch/core@4.4.0': - resolution: {integrity: sha512-kiwNo5KEndOnrf5Kq/e5+D9NBMCFgNsDoRpKQJ9o/xnSlheh6b8AXppMuuUVVdAUIhIfQFk/07VLjjk/fYyKmw==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true + '@docsearch/css@4.5.4': + resolution: {integrity: sha512-gzO4DJwyM9c4YEPHwaLV1nUCDC2N6yoh0QJj44dce2rcfN71mB+jpu3+F+Y/KMDF1EKV0C3m54leSWsraE94xg==} - '@docsearch/css@4.4.0': - resolution: {integrity: sha512-e9vPgtih6fkawakmYo0Y6V4BKBmDV7Ykudn7ADWXUs5b6pmtBRwDbpSG/WiaUG63G28OkJDEnsMvgIAnZgGwYw==} - - '@docsearch/js@4.4.0': - resolution: {integrity: sha512-vCiKzjYD54bugUIMZA6YzuLDilkD3TNH/kfbvqsnzxiLTMu8F13psD+hdMSEOn7j+dFJOaf49fZ+gwr+rXctMw==} - - '@docsearch/react@4.4.0': - resolution: {integrity: sha512-z12zeg1mV7WD4Ag4pKSuGukETJLaucVFwszDXL/qLaEgRqxEaVacO9SR1qqnCXvZztlvz2rt7cMqryi/7sKfjA==} - peerDependencies: - '@types/react': '>= 16.8.0 < 20.0.0' - react: '>= 16.8.0 < 20.0.0' - react-dom: '>= 16.8.0 < 20.0.0' - search-insights: '>= 1 < 3' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - react-dom: - optional: true - search-insights: - optional: true + '@docsearch/js@4.5.4': + resolution: {integrity: sha512-jEBsIklNTevznLZouB0y6SZcaT897gRHnGTzCcH32ibPZRVj/9FyuAM2LUTk61sFdOY79LH4V9rYsIdOe6Wq2g==} '@emnapi/runtime@1.8.1': resolution: {integrity: sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==} - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@iconify-json/simple-icons@1.2.67': - resolution: {integrity: sha512-RGJRwlxyup54L1UDAjCshy3ckX5zcvYIU74YLSnUgHGvqh6B4mvksbGNHAIEp7dZQ6cM13RZVT5KC07CmnFNew==} + '@iconify-json/simple-icons@1.2.70': + resolution: {integrity: sha512-CYNRCgN6nBTjN4dNkrBCjHXNR2e4hQihdsZUs/afUNFOWLSYjfihca4EFN05rRvDk4Xoy2n8tym6IxBZmcn+Qg==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -494,165 +367,158 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - '@opentelemetry/api@1.9.0': - resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} - engines: {node: '>=8.0.0'} + '@rolldown/pluginutils@1.0.0-rc.2': + resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} - '@rolldown/pluginutils@1.0.0-beta.53': - resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} - - '@rollup/rollup-android-arm-eabi@4.55.2': - resolution: {integrity: sha512-21J6xzayjy3O6NdnlO6aXi/urvSRjm6nCI6+nF6ra2YofKruGixN9kfT+dt55HVNwfDmpDHJcaS3JuP/boNnlA==} + '@rollup/rollup-android-arm-eabi@4.57.1': + resolution: {integrity: sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.55.2': - resolution: {integrity: sha512-eXBg7ibkNUZ+sTwbFiDKou0BAckeV6kIigK7y5Ko4mB/5A1KLhuzEKovsmfvsL8mQorkoincMFGnQuIT92SKqA==} + '@rollup/rollup-android-arm64@4.57.1': + resolution: {integrity: sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.55.2': - resolution: {integrity: sha512-UCbaTklREjrc5U47ypLulAgg4njaqfOVLU18VrCrI+6E5MQjuG0lSWaqLlAJwsD7NpFV249XgB0Bi37Zh5Sz4g==} + '@rollup/rollup-darwin-arm64@4.57.1': + resolution: {integrity: sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.55.2': - resolution: {integrity: sha512-dP67MA0cCMHFT2g5XyjtpVOtp7y4UyUxN3dhLdt11at5cPKnSm4lY+EhwNvDXIMzAMIo2KU+mc9wxaAQJTn7sQ==} + '@rollup/rollup-darwin-x64@4.57.1': + resolution: {integrity: sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.55.2': - resolution: {integrity: sha512-WDUPLUwfYV9G1yxNRJdXcvISW15mpvod1Wv3ok+Ws93w1HjIVmCIFxsG2DquO+3usMNCpJQ0wqO+3GhFdl6Fow==} + '@rollup/rollup-freebsd-arm64@4.57.1': + resolution: {integrity: sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.55.2': - resolution: {integrity: sha512-Ng95wtHVEulRwn7R0tMrlUuiLVL/HXA8Lt/MYVpy88+s5ikpntzZba1qEulTuPnPIZuOPcW9wNEiqvZxZmgmqQ==} + '@rollup/rollup-freebsd-x64@4.57.1': + resolution: {integrity: sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': - resolution: {integrity: sha512-AEXMESUDWWGqD6LwO/HkqCZgUE1VCJ1OhbvYGsfqX2Y6w5quSXuyoy/Fg3nRqiwro+cJYFxiw5v4kB2ZDLhxrw==} + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': + resolution: {integrity: sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.55.2': - resolution: {integrity: sha512-ZV7EljjBDwBBBSv570VWj0hiNTdHt9uGznDtznBB4Caj3ch5rgD4I2K1GQrtbvJ/QiB+663lLgOdcADMNVC29Q==} + '@rollup/rollup-linux-arm-musleabihf@4.57.1': + resolution: {integrity: sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.55.2': - resolution: {integrity: sha512-uvjwc8NtQVPAJtq4Tt7Q49FOodjfbf6NpqXyW/rjXoV+iZ3EJAHLNAnKT5UJBc6ffQVgmXTUL2ifYiLABlGFqA==} + '@rollup/rollup-linux-arm64-gnu@4.57.1': + resolution: {integrity: sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.55.2': - resolution: {integrity: sha512-s3KoWVNnye9mm/2WpOZ3JeUiediUVw6AvY/H7jNA6qgKA2V2aM25lMkVarTDfiicn/DLq3O0a81jncXszoyCFA==} + '@rollup/rollup-linux-arm64-musl@4.57.1': + resolution: {integrity: sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loong64-gnu@4.55.2': - resolution: {integrity: sha512-gi21faacK+J8aVSyAUptML9VQN26JRxe484IbF+h3hpG+sNVoMXPduhREz2CcYr5my0NE3MjVvQ5bMKX71pfVA==} + '@rollup/rollup-linux-loong64-gnu@4.57.1': + resolution: {integrity: sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-loong64-musl@4.55.2': - resolution: {integrity: sha512-qSlWiXnVaS/ceqXNfnoFZh4IiCA0EwvCivivTGbEu1qv2o+WTHpn1zNmCTAoOG5QaVr2/yhCoLScQtc/7RxshA==} + '@rollup/rollup-linux-loong64-musl@4.57.1': + resolution: {integrity: sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-ppc64-gnu@4.55.2': - resolution: {integrity: sha512-rPyuLFNoF1B0+wolH277E780NUKf+KoEDb3OyoLbAO18BbeKi++YN6gC/zuJoPPDlQRL3fIxHxCxVEWiem2yXw==} + '@rollup/rollup-linux-ppc64-gnu@4.57.1': + resolution: {integrity: sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-ppc64-musl@4.55.2': - resolution: {integrity: sha512-g+0ZLMook31iWV4PvqKU0i9E78gaZgYpSrYPed/4Bu+nGTgfOPtfs1h11tSSRPXSjC5EzLTjV/1A7L2Vr8pJoQ==} + '@rollup/rollup-linux-ppc64-musl@4.57.1': + resolution: {integrity: sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.55.2': - resolution: {integrity: sha512-i+sGeRGsjKZcQRh3BRfpLsM3LX3bi4AoEVqmGDyc50L6KfYsN45wVCSz70iQMwPWr3E5opSiLOwsC9WB4/1pqg==} + '@rollup/rollup-linux-riscv64-gnu@4.57.1': + resolution: {integrity: sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.55.2': - resolution: {integrity: sha512-C1vLcKc4MfFV6I0aWsC7B2Y9QcsiEcvKkfxprwkPfLaN8hQf0/fKHwSF2lcYzA9g4imqnhic729VB9Fo70HO3Q==} + '@rollup/rollup-linux-riscv64-musl@4.57.1': + resolution: {integrity: sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.55.2': - resolution: {integrity: sha512-68gHUK/howpQjh7g7hlD9DvTTt4sNLp1Bb+Yzw2Ki0xvscm2cOdCLZNJNhd2jW8lsTPrHAHuF751BygifW4bkQ==} + '@rollup/rollup-linux-s390x-gnu@4.57.1': + resolution: {integrity: sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.55.2': - resolution: {integrity: sha512-1e30XAuaBP1MAizaOBApsgeGZge2/Byd6wV4a8oa6jPdHELbRHBiw7wvo4dp7Ie2PE8TZT4pj9RLGZv9N4qwlw==} + '@rollup/rollup-linux-x64-gnu@4.57.1': + resolution: {integrity: sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.55.2': - resolution: {integrity: sha512-4BJucJBGbuGnH6q7kpPqGJGzZnYrpAzRd60HQSt3OpX/6/YVgSsJnNzR8Ot74io50SeVT4CtCWe/RYIAymFPwA==} + '@rollup/rollup-linux-x64-musl@4.57.1': + resolution: {integrity: sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==} cpu: [x64] os: [linux] - '@rollup/rollup-openbsd-x64@4.55.2': - resolution: {integrity: sha512-cT2MmXySMo58ENv8p6/O6wI/h/gLnD3D6JoajwXFZH6X9jz4hARqUhWpGuQhOgLNXscfZYRQMJvZDtWNzMAIDw==} + '@rollup/rollup-openbsd-x64@4.57.1': + resolution: {integrity: sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.55.2': - resolution: {integrity: sha512-sZnyUgGkuzIXaK3jNMPmUIyJrxu/PjmATQrocpGA1WbCPX8H5tfGgRSuYtqBYAvLuIGp8SPRb1O4d1Fkb5fXaQ==} + '@rollup/rollup-openharmony-arm64@4.57.1': + resolution: {integrity: sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.55.2': - resolution: {integrity: sha512-sDpFbenhmWjNcEbBcoTV0PWvW5rPJFvu+P7XoTY0YLGRupgLbFY0XPfwIbJOObzO7QgkRDANh65RjhPmgSaAjQ==} + '@rollup/rollup-win32-arm64-msvc@4.57.1': + resolution: {integrity: sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.55.2': - resolution: {integrity: sha512-GvJ03TqqaweWCigtKQVBErw2bEhu1tyfNQbarwr94wCGnczA9HF8wqEe3U/Lfu6EdeNP0p6R+APeHVwEqVxpUQ==} + '@rollup/rollup-win32-ia32-msvc@4.57.1': + resolution: {integrity: sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.55.2': - resolution: {integrity: sha512-KvXsBvp13oZz9JGe5NYS7FNizLe99Ny+W8ETsuCyjXiKdiGrcz2/J/N8qxZ/RSwivqjQguug07NLHqrIHrqfYw==} + '@rollup/rollup-win32-x64-gnu@4.57.1': + resolution: {integrity: sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.55.2': - resolution: {integrity: sha512-xNO+fksQhsAckRtDSPWaMeT1uIM+JrDRXlerpnWNXhn1TdB3YZ6uKBMBTKP0eX9XtYEP978hHk1f8332i2AW8Q==} + '@rollup/rollup-win32-x64-msvc@4.57.1': + resolution: {integrity: sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==} cpu: [x64] os: [win32] - '@shikijs/core@3.21.0': - resolution: {integrity: sha512-AXSQu/2n1UIQekY8euBJlvFYZIw0PHY63jUzGbrOma4wPxzznJXTXkri+QcHeBNaFxiiOljKxxJkVSoB3PjbyA==} + '@shikijs/core@3.22.0': + resolution: {integrity: sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==} - '@shikijs/engine-javascript@3.21.0': - resolution: {integrity: sha512-ATwv86xlbmfD9n9gKRiwuPpWgPENAWCLwYCGz9ugTJlsO2kOzhOkvoyV/UD+tJ0uT7YRyD530x6ugNSffmvIiQ==} + '@shikijs/engine-javascript@3.22.0': + resolution: {integrity: sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==} - '@shikijs/engine-oniguruma@3.21.0': - resolution: {integrity: sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==} + '@shikijs/engine-oniguruma@3.22.0': + resolution: {integrity: sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==} - '@shikijs/langs@3.21.0': - resolution: {integrity: sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==} + '@shikijs/langs@3.22.0': + resolution: {integrity: sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==} - '@shikijs/themes@3.21.0': - resolution: {integrity: sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==} + '@shikijs/themes@3.22.0': + resolution: {integrity: sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==} - '@shikijs/transformers@3.21.0': - resolution: {integrity: sha512-CZwvCWWIiRRiFk9/JKzdEooakAP8mQDtBOQ1TKiCaS2E1bYtyBCOkUzS8akO34/7ufICQ29oeSfkb3tT5KtrhA==} + '@shikijs/transformers@3.22.0': + resolution: {integrity: sha512-E7eRV7mwDBjueLF6852n2oYeJYxBq3NSsDk+uyruYAXONv4U8holGmIrT+mPRJQ1J1SNOH6L8G19KRzmBawrFw==} - '@shikijs/types@3.21.0': - resolution: {integrity: sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==} + '@shikijs/types@3.22.0': + resolution: {integrity: sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -671,8 +537,8 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/node@20.19.30': - resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==} + '@types/node@24.10.13': + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -686,68 +552,64 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vercel/oidc@3.1.0': - resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==} - engines: {node: '>= 20'} - - '@vitejs/plugin-vue@6.0.3': - resolution: {integrity: sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==} + '@vitejs/plugin-vue@6.0.4': + resolution: {integrity: sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 vue: ^3.2.25 - '@vue/compiler-core@3.5.27': - resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==} + '@vue/compiler-core@3.5.28': + resolution: {integrity: sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==} - '@vue/compiler-dom@3.5.27': - resolution: {integrity: sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==} + '@vue/compiler-dom@3.5.28': + resolution: {integrity: sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==} - '@vue/compiler-sfc@3.5.27': - resolution: {integrity: sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==} + '@vue/compiler-sfc@3.5.28': + resolution: {integrity: sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==} - '@vue/compiler-ssr@3.5.27': - resolution: {integrity: sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==} + '@vue/compiler-ssr@3.5.28': + resolution: {integrity: sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==} - '@vue/devtools-api@8.0.5': - resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==} + '@vue/devtools-api@8.0.6': + resolution: {integrity: sha512-+lGBI+WTvJmnU2FZqHhEB8J1DXcvNlDeEalz77iYgOdY1jTj1ipSBaKj3sRhYcy+kqA8v/BSuvOz1XJucfQmUA==} - '@vue/devtools-kit@8.0.5': - resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==} + '@vue/devtools-kit@8.0.6': + resolution: {integrity: sha512-9zXZPTJW72OteDXeSa5RVML3zWDCRcO5t77aJqSs228mdopYj5AiTpihozbsfFJ0IodfNs7pSgOGO3qfCuxDtw==} - '@vue/devtools-shared@8.0.5': - resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==} + '@vue/devtools-shared@8.0.6': + resolution: {integrity: sha512-Pp1JylTqlgMJvxW6MGyfTF8vGvlBSCAvMFaDCYa82Mgw7TT5eE5kkHgDvmOGHWeJE4zIDfCpCxHapsK2LtIAJg==} - '@vue/reactivity@3.5.27': - resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==} + '@vue/reactivity@3.5.28': + resolution: {integrity: sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==} - '@vue/runtime-core@3.5.27': - resolution: {integrity: sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==} + '@vue/runtime-core@3.5.28': + resolution: {integrity: sha512-POVHTdbgnrBBIpnbYU4y7pOMNlPn2QVxVzkvEA2pEgvzbelQq4ZOUxbp2oiyo+BOtiYlm8Q44wShHJoBvDPAjQ==} - '@vue/runtime-dom@3.5.27': - resolution: {integrity: sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==} + '@vue/runtime-dom@3.5.28': + resolution: {integrity: sha512-4SXxSF8SXYMuhAIkT+eBRqOkWEfPu6nhccrzrkioA6l0boiq7sp18HCOov9qWJA5HML61kW8p/cB4MmBiG9dSA==} - '@vue/server-renderer@3.5.27': - resolution: {integrity: sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==} + '@vue/server-renderer@3.5.28': + resolution: {integrity: sha512-pf+5ECKGj8fX95bNincbzJ6yp6nyzuLDhYZCeFxUNp8EBrQpPpQaLX3nNCp49+UbgbPun3CeVE+5CXVV1Xydfg==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 - '@vue/shared@3.5.27': - resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==} + '@vue/shared@3.5.28': + resolution: {integrity: sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==} - '@vueuse/core@14.1.0': - resolution: {integrity: sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==} + '@vueuse/core@14.2.1': + resolution: {integrity: sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==} peerDependencies: vue: ^3.5.0 - '@vueuse/integrations@14.1.0': - resolution: {integrity: sha512-eNQPdisnO9SvdydTIXnTE7c29yOsJBD/xkwEyQLdhDC/LKbqrFpXHb3uS//7NcIrQO3fWVuvMGp8dbK6mNEMCA==} + '@vueuse/integrations@14.2.1': + resolution: {integrity: sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==} peerDependencies: async-validator: ^4 axios: ^1 change-case: ^5 drauu: ^0.4 - focus-trap: ^7 + focus-trap: ^7 || ^8 fuse.js: ^7 idb-keyval: ^6 jwt-decode: ^4 @@ -782,24 +644,14 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@14.1.0': - resolution: {integrity: sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==} + '@vueuse/metadata@14.2.1': + resolution: {integrity: sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==} - '@vueuse/shared@14.1.0': - resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==} + '@vueuse/shared@14.2.1': + resolution: {integrity: sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==} peerDependencies: vue: ^3.5.0 - ai@5.0.121: - resolution: {integrity: sha512-3iYPdARKGLryC/7OA9RgBUaym1gynvWS7UPy8NwoRNCKP52lshldtHB5xcEfVviw7liWH2zJlW9yEzsDglcIEQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - - algoliasearch@5.46.3: - 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'} @@ -867,12 +719,12 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - entities@7.0.0: - resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} engines: {node: '>=0.12'} - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -888,10 +740,6 @@ packages: estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - eventsource-parser@3.0.6: - 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'} @@ -934,9 +782,6 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - htm@3.1.1: - resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} - html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} @@ -956,9 +801,6 @@ packages: 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'} @@ -969,11 +811,6 @@ packages: mark.js@8.11.1: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} - marked@16.4.2: - resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} - engines: {node: '>= 20'} - hasBin: true - mdast-util-to-hast@13.2.1: resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} @@ -1009,8 +846,8 @@ packages: oniguruma-to-es@4.3.4: resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} - perfect-debounce@2.0.0: - resolution: {integrity: sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==} + perfect-debounce@2.1.0: + resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1026,10 +863,6 @@ packages: property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - react@19.2.3: - resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} - engines: {node: '>=0.10.0'} - regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -1046,23 +879,20 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.55.2: - resolution: {integrity: sha512-PggGy4dhwx5qaW+CKBilA/98Ql9keyfnb7lh4SR6shQ91QQQi1ORJ1v4UinkdP2i87OBs9AQFooQylcrrRfIcg==} + rollup@4.57.1: + resolution: {integrity: sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==} 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'} - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true @@ -1074,8 +904,8 @@ packages: resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} engines: {node: '>= 0.4'} - shiki@3.21.0: - resolution: {integrity: sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==} + shiki@3.22.0: + resolution: {integrity: sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -1118,18 +948,9 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - swr@2.3.8: - resolution: {integrity: sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - tabbable@6.4.0: resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} - throttleit@2.1.0: - resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} - engines: {node: '>=18'} - tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} @@ -1144,8 +965,8 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} @@ -1159,13 +980,8 @@ packages: unist-util-visit-parents@6.0.2: resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - - use-sync-external-store@1.6.0: - resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} vfile-message@4.0.3: resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} @@ -1228,8 +1044,8 @@ packages: postcss: optional: true - vue@3.5.27: - resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==} + vue@3.5.28: + resolution: {integrity: sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1264,278 +1080,112 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - zod@4.3.5: - resolution: {integrity: sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==} - zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@ai-sdk/gateway@2.0.27(zod@4.3.5)': - dependencies: - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.20(zod@4.3.5) - '@vercel/oidc': 3.1.0 - zod: 4.3.5 - - '@ai-sdk/provider-utils@3.0.20(zod@4.3.5)': - dependencies: - '@ai-sdk/provider': 2.0.1 - '@standard-schema/spec': 1.1.0 - eventsource-parser: 3.0.6 - zod: 4.3.5 - - '@ai-sdk/provider@2.0.1': - dependencies: - json-schema: 0.4.0 - - '@ai-sdk/react@2.0.123(react@19.2.3)(zod@4.3.5)': - dependencies: - '@ai-sdk/provider-utils': 3.0.20(zod@4.3.5) - ai: 5.0.121(zod@4.3.5) - react: 19.2.3 - swr: 2.3.8(react@19.2.3) - throttleit: 2.1.0 - optionalDependencies: - zod: 4.3.5 - - '@algolia/abtesting@1.12.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3)': - dependencies: - '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3) - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)': - dependencies: - '@algolia/client-search': 5.46.3 - algoliasearch: 5.46.3 - - '@algolia/client-abtesting@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-analytics@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-common@5.46.3': {} - - '@algolia/client-insights@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-personalization@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-query-suggestions@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/client-search@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/ingestion@1.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/monitoring@1.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/recommend@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 - - '@algolia/requester-browser-xhr@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - - '@algolia/requester-fetch@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - - '@algolia/requester-node-http@5.46.3': - dependencies: - '@algolia/client-common': 5.46.3 - '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.28.6': + '@babel/parser@7.29.0': dependencies: - '@babel/types': 7.28.6 + '@babel/types': 7.29.0 - '@babel/types@7.28.6': + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@docsearch/core@4.4.0(react@19.2.3)': - optionalDependencies: - react: 19.2.3 + '@docsearch/css@4.5.4': {} - '@docsearch/css@4.4.0': {} - - '@docsearch/js@4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3)': - dependencies: - '@docsearch/react': 4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3) - htm: 3.1.1 - transitivePeerDependencies: - - '@algolia/client-search' - - '@types/react' - - react - - react-dom - - search-insights - - '@docsearch/react@4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3)': - dependencies: - '@ai-sdk/react': 2.0.123(react@19.2.3)(zod@4.3.5) - '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.46.3)(algoliasearch@5.46.3)(search-insights@2.17.3) - '@docsearch/core': 4.4.0(react@19.2.3) - '@docsearch/css': 4.4.0 - ai: 5.0.121(zod@4.3.5) - algoliasearch: 5.46.3 - marked: 16.4.2 - zod: 4.3.5 - optionalDependencies: - react: 19.2.3 - search-insights: 2.17.3 - transitivePeerDependencies: - - '@algolia/client-search' + '@docsearch/js@4.5.4': {} '@emnapi/runtime@1.8.1': dependencies: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.27.3': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.27.3': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true - '@iconify-json/simple-icons@1.2.67': + '@iconify-json/simple-icons@1.2.70': dependencies: '@iconify/types': 2.0.0 @@ -1639,125 +1289,121 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.5': {} - '@opentelemetry/api@1.9.0': {} + '@rolldown/pluginutils@1.0.0-rc.2': {} - '@rolldown/pluginutils@1.0.0-beta.53': {} - - '@rollup/rollup-android-arm-eabi@4.55.2': + '@rollup/rollup-android-arm-eabi@4.57.1': optional: true - '@rollup/rollup-android-arm64@4.55.2': + '@rollup/rollup-android-arm64@4.57.1': optional: true - '@rollup/rollup-darwin-arm64@4.55.2': + '@rollup/rollup-darwin-arm64@4.57.1': optional: true - '@rollup/rollup-darwin-x64@4.55.2': + '@rollup/rollup-darwin-x64@4.57.1': optional: true - '@rollup/rollup-freebsd-arm64@4.55.2': + '@rollup/rollup-freebsd-arm64@4.57.1': optional: true - '@rollup/rollup-freebsd-x64@4.55.2': + '@rollup/rollup-freebsd-x64@4.57.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.55.2': + '@rollup/rollup-linux-arm-gnueabihf@4.57.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.55.2': + '@rollup/rollup-linux-arm-musleabihf@4.57.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.55.2': + '@rollup/rollup-linux-arm64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.55.2': + '@rollup/rollup-linux-arm64-musl@4.57.1': optional: true - '@rollup/rollup-linux-loong64-gnu@4.55.2': + '@rollup/rollup-linux-loong64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-loong64-musl@4.55.2': + '@rollup/rollup-linux-loong64-musl@4.57.1': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.55.2': + '@rollup/rollup-linux-ppc64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-ppc64-musl@4.55.2': + '@rollup/rollup-linux-ppc64-musl@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.55.2': + '@rollup/rollup-linux-riscv64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-riscv64-musl@4.55.2': + '@rollup/rollup-linux-riscv64-musl@4.57.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.55.2': + '@rollup/rollup-linux-s390x-gnu@4.57.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.55.2': + '@rollup/rollup-linux-x64-gnu@4.57.1': optional: true - '@rollup/rollup-linux-x64-musl@4.55.2': + '@rollup/rollup-linux-x64-musl@4.57.1': optional: true - '@rollup/rollup-openbsd-x64@4.55.2': + '@rollup/rollup-openbsd-x64@4.57.1': optional: true - '@rollup/rollup-openharmony-arm64@4.55.2': + '@rollup/rollup-openharmony-arm64@4.57.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.55.2': + '@rollup/rollup-win32-arm64-msvc@4.57.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.55.2': + '@rollup/rollup-win32-ia32-msvc@4.57.1': optional: true - '@rollup/rollup-win32-x64-gnu@4.55.2': + '@rollup/rollup-win32-x64-gnu@4.57.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.55.2': + '@rollup/rollup-win32-x64-msvc@4.57.1': optional: true - '@shikijs/core@3.21.0': + '@shikijs/core@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.21.0': + '@shikijs/engine-javascript@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.4 - '@shikijs/engine-oniguruma@3.21.0': + '@shikijs/engine-oniguruma@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.21.0': + '@shikijs/langs@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 - '@shikijs/themes@3.21.0': + '@shikijs/themes@3.22.0': dependencies: - '@shikijs/types': 3.21.0 + '@shikijs/types': 3.22.0 - '@shikijs/transformers@3.21.0': + '@shikijs/transformers@3.22.0': dependencies: - '@shikijs/core': 3.21.0 - '@shikijs/types': 3.21.0 + '@shikijs/core': 3.22.0 + '@shikijs/types': 3.22.0 - '@shikijs/types@3.21.0': + '@shikijs/types@3.22.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 '@shikijs/vscode-textmate@10.0.2': {} - '@standard-schema/spec@1.1.0': {} - '@types/estree@1.0.8': {} '@types/hast@3.0.4': @@ -1777,9 +1423,9 @@ snapshots: '@types/mdurl@2.0.0': {} - '@types/node@20.19.30': + '@types/node@24.10.13': dependencies: - undici-types: 6.21.0 + undici-types: 7.16.0 '@types/unist@3.0.3': {} @@ -1787,135 +1433,108 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.30 + '@types/node': 24.10.13 '@ungap/structured-clone@1.3.0': {} - '@vercel/oidc@3.1.0': {} - - '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@20.19.30))(vue@3.5.27)': + '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@24.10.13))(vue@3.5.28)': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.53 - vite: 7.3.1(@types/node@20.19.30) - vue: 3.5.27 + '@rolldown/pluginutils': 1.0.0-rc.2 + vite: 7.3.1(@types/node@24.10.13) + vue: 3.5.28 - '@vue/compiler-core@3.5.27': + '@vue/compiler-core@3.5.28': dependencies: - '@babel/parser': 7.28.6 - '@vue/shared': 3.5.27 - entities: 7.0.0 + '@babel/parser': 7.29.0 + '@vue/shared': 3.5.28 + entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.27': + '@vue/compiler-dom@3.5.28': dependencies: - '@vue/compiler-core': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/compiler-core': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/compiler-sfc@3.5.27': + '@vue/compiler-sfc@3.5.28': dependencies: - '@babel/parser': 7.28.6 - '@vue/compiler-core': 3.5.27 - '@vue/compiler-dom': 3.5.27 - '@vue/compiler-ssr': 3.5.27 - '@vue/shared': 3.5.27 + '@babel/parser': 7.29.0 + '@vue/compiler-core': 3.5.28 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 estree-walker: 2.0.2 magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.27': + '@vue/compiler-ssr@3.5.28': dependencies: - '@vue/compiler-dom': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/devtools-api@8.0.5': + '@vue/devtools-api@8.0.6': dependencies: - '@vue/devtools-kit': 8.0.5 + '@vue/devtools-kit': 8.0.6 - '@vue/devtools-kit@8.0.5': + '@vue/devtools-kit@8.0.6': dependencies: - '@vue/devtools-shared': 8.0.5 + '@vue/devtools-shared': 8.0.6 birpc: 2.9.0 hookable: 5.5.3 mitt: 3.0.1 - perfect-debounce: 2.0.0 + perfect-debounce: 2.1.0 speakingurl: 14.0.1 superjson: 2.2.6 - '@vue/devtools-shared@8.0.5': + '@vue/devtools-shared@8.0.6': dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.27': + '@vue/reactivity@3.5.28': dependencies: - '@vue/shared': 3.5.27 + '@vue/shared': 3.5.28 - '@vue/runtime-core@3.5.27': + '@vue/runtime-core@3.5.28': dependencies: - '@vue/reactivity': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/reactivity': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/runtime-dom@3.5.27': + '@vue/runtime-dom@3.5.28': dependencies: - '@vue/reactivity': 3.5.27 - '@vue/runtime-core': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/reactivity': 3.5.28 + '@vue/runtime-core': 3.5.28 + '@vue/shared': 3.5.28 csstype: 3.2.3 - '@vue/server-renderer@3.5.27(vue@3.5.27)': + '@vue/server-renderer@3.5.28(vue@3.5.28)': dependencies: - '@vue/compiler-ssr': 3.5.27 - '@vue/shared': 3.5.27 - vue: 3.5.27 + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 + vue: 3.5.28 - '@vue/shared@3.5.27': {} + '@vue/shared@3.5.28': {} - '@vueuse/core@14.1.0(vue@3.5.27)': + '@vueuse/core@14.2.1(vue@3.5.28)': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 14.1.0 - '@vueuse/shared': 14.1.0(vue@3.5.27) - vue: 3.5.27 + '@vueuse/metadata': 14.2.1 + '@vueuse/shared': 14.2.1(vue@3.5.28) + vue: 3.5.28 - '@vueuse/integrations@14.1.0(focus-trap@7.8.0)(vue@3.5.27)': + '@vueuse/integrations@14.2.1(focus-trap@7.8.0)(vue@3.5.28)': dependencies: - '@vueuse/core': 14.1.0(vue@3.5.27) - '@vueuse/shared': 14.1.0(vue@3.5.27) - vue: 3.5.27 + '@vueuse/core': 14.2.1(vue@3.5.28) + '@vueuse/shared': 14.2.1(vue@3.5.28) + vue: 3.5.28 optionalDependencies: focus-trap: 7.8.0 - '@vueuse/metadata@14.1.0': {} + '@vueuse/metadata@14.2.1': {} - '@vueuse/shared@14.1.0(vue@3.5.27)': + '@vueuse/shared@14.2.1(vue@3.5.28)': dependencies: - vue: 3.5.27 - - ai@5.0.121(zod@4.3.5): - dependencies: - '@ai-sdk/gateway': 2.0.27(zod@4.3.5) - '@ai-sdk/provider': 2.0.1 - '@ai-sdk/provider-utils': 3.0.20(zod@4.3.5) - '@opentelemetry/api': 1.9.0 - zod: 4.3.5 - - algoliasearch@5.46.3: - dependencies: - '@algolia/abtesting': 1.12.3 - '@algolia/client-abtesting': 5.46.3 - '@algolia/client-analytics': 5.46.3 - '@algolia/client-common': 5.46.3 - '@algolia/client-insights': 5.46.3 - '@algolia/client-personalization': 5.46.3 - '@algolia/client-query-suggestions': 5.46.3 - '@algolia/client-search': 5.46.3 - '@algolia/ingestion': 1.46.3 - '@algolia/monitoring': 1.46.3 - '@algolia/recommend': 5.46.3 - '@algolia/requester-browser-xhr': 5.46.3 - '@algolia/requester-fetch': 5.46.3 - '@algolia/requester-node-http': 5.46.3 + vue: 3.5.28 ansi-regex@5.0.1: {} @@ -1979,36 +1598,36 @@ snapshots: emoji-regex@8.0.0: {} - entities@7.0.0: {} + entities@7.0.1: {} - esbuild@0.27.2: + esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escalade@3.2.0: {} @@ -2016,8 +1635,6 @@ snapshots: estree-walker@2.0.2: {} - eventsource-parser@3.0.6: {} - extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -2064,8 +1681,6 @@ snapshots: hookable@5.5.3: {} - htm@3.1.1: {} - html-void-elements@3.0.0: {} is-extendable@0.1.1: {} @@ -2079,8 +1694,6 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 - json-schema@0.4.0: {} - kind-of@6.0.3: {} magic-string@0.30.21: @@ -2089,8 +1702,6 @@ snapshots: mark.js@8.11.1: {} - marked@16.4.2: {} - mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 @@ -2100,7 +1711,7 @@ snapshots: micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 unist-util-position: 5.0.0 - unist-util-visit: 5.0.0 + unist-util-visit: 5.1.0 vfile: 6.0.3 micromark-util-character@2.1.1: @@ -2134,7 +1745,7 @@ snapshots: regex: 6.1.0 regex-recursion: 6.0.2 - perfect-debounce@2.0.0: {} + perfect-debounce@2.1.0: {} picocolors@1.1.1: {} @@ -2148,8 +1759,6 @@ snapshots: property-information@7.1.0: {} - react@19.2.3: {} - regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -2164,55 +1773,53 @@ snapshots: rfdc@1.4.1: {} - rollup@4.55.2: + rollup@4.57.1: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.55.2 - '@rollup/rollup-android-arm64': 4.55.2 - '@rollup/rollup-darwin-arm64': 4.55.2 - '@rollup/rollup-darwin-x64': 4.55.2 - '@rollup/rollup-freebsd-arm64': 4.55.2 - '@rollup/rollup-freebsd-x64': 4.55.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.55.2 - '@rollup/rollup-linux-arm-musleabihf': 4.55.2 - '@rollup/rollup-linux-arm64-gnu': 4.55.2 - '@rollup/rollup-linux-arm64-musl': 4.55.2 - '@rollup/rollup-linux-loong64-gnu': 4.55.2 - '@rollup/rollup-linux-loong64-musl': 4.55.2 - '@rollup/rollup-linux-ppc64-gnu': 4.55.2 - '@rollup/rollup-linux-ppc64-musl': 4.55.2 - '@rollup/rollup-linux-riscv64-gnu': 4.55.2 - '@rollup/rollup-linux-riscv64-musl': 4.55.2 - '@rollup/rollup-linux-s390x-gnu': 4.55.2 - '@rollup/rollup-linux-x64-gnu': 4.55.2 - '@rollup/rollup-linux-x64-musl': 4.55.2 - '@rollup/rollup-openbsd-x64': 4.55.2 - '@rollup/rollup-openharmony-arm64': 4.55.2 - '@rollup/rollup-win32-arm64-msvc': 4.55.2 - '@rollup/rollup-win32-ia32-msvc': 4.55.2 - '@rollup/rollup-win32-x64-gnu': 4.55.2 - '@rollup/rollup-win32-x64-msvc': 4.55.2 + '@rollup/rollup-android-arm-eabi': 4.57.1 + '@rollup/rollup-android-arm64': 4.57.1 + '@rollup/rollup-darwin-arm64': 4.57.1 + '@rollup/rollup-darwin-x64': 4.57.1 + '@rollup/rollup-freebsd-arm64': 4.57.1 + '@rollup/rollup-freebsd-x64': 4.57.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.57.1 + '@rollup/rollup-linux-arm-musleabihf': 4.57.1 + '@rollup/rollup-linux-arm64-gnu': 4.57.1 + '@rollup/rollup-linux-arm64-musl': 4.57.1 + '@rollup/rollup-linux-loong64-gnu': 4.57.1 + '@rollup/rollup-linux-loong64-musl': 4.57.1 + '@rollup/rollup-linux-ppc64-gnu': 4.57.1 + '@rollup/rollup-linux-ppc64-musl': 4.57.1 + '@rollup/rollup-linux-riscv64-gnu': 4.57.1 + '@rollup/rollup-linux-riscv64-musl': 4.57.1 + '@rollup/rollup-linux-s390x-gnu': 4.57.1 + '@rollup/rollup-linux-x64-gnu': 4.57.1 + '@rollup/rollup-linux-x64-musl': 4.57.1 + '@rollup/rollup-openbsd-x64': 4.57.1 + '@rollup/rollup-openharmony-arm64': 4.57.1 + '@rollup/rollup-win32-arm64-msvc': 4.57.1 + '@rollup/rollup-win32-ia32-msvc': 4.57.1 + '@rollup/rollup-win32-x64-gnu': 4.57.1 + '@rollup/rollup-win32-x64-msvc': 4.57.1 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 - semver@7.7.3: {} + semver@7.7.4: {} sharp@0.34.5: dependencies: '@img/colour': 1.0.0 detect-libc: 2.1.2 - semver: 7.7.3 + semver: 7.7.4 optionalDependencies: '@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5 @@ -2241,14 +1848,14 @@ snapshots: shell-quote@1.8.3: {} - shiki@3.21.0: + shiki@3.22.0: dependencies: - '@shikijs/core': 3.21.0 - '@shikijs/engine-javascript': 3.21.0 - '@shikijs/engine-oniguruma': 3.21.0 - '@shikijs/langs': 3.21.0 - '@shikijs/themes': 3.21.0 - '@shikijs/types': 3.21.0 + '@shikijs/core': 3.22.0 + '@shikijs/engine-javascript': 3.22.0 + '@shikijs/engine-oniguruma': 3.22.0 + '@shikijs/langs': 3.22.0 + '@shikijs/themes': 3.22.0 + '@shikijs/types': 3.22.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -2289,16 +1896,8 @@ snapshots: dependencies: has-flag: 4.0.0 - swr@2.3.8(react@19.2.3): - dependencies: - dequal: 2.0.3 - react: 19.2.3 - use-sync-external-store: 1.6.0(react@19.2.3) - tabbable@6.4.0: {} - throttleit@2.1.0: {} - tinyglobby@0.2.15: dependencies: fdir: 6.5.0(picomatch@4.0.3) @@ -2310,7 +1909,7 @@ snapshots: tslib@2.8.1: {} - undici-types@6.21.0: {} + undici-types@7.16.0: {} unist-util-is@6.0.1: dependencies: @@ -2329,16 +1928,12 @@ snapshots: '@types/unist': 3.0.3 unist-util-is: 6.0.1 - unist-util-visit@5.0.0: + unist-util-visit@5.1.0: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - use-sync-external-store@1.6.0(react@19.2.3): - dependencies: - react: 19.2.3 - vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 @@ -2349,44 +1944,42 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@7.3.1(@types/node@20.19.30): + vite@7.3.1(@types/node@24.10.13): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.55.2 + rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 20.19.30 + '@types/node': 24.10.13 fsevents: 2.3.3 - vitepress@2.0.0-alpha.15(@algolia/client-search@5.46.3)(@types/node@20.19.30)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3): + vitepress@2.0.0-alpha.15(@types/node@24.10.13)(postcss@8.5.6): dependencies: - '@docsearch/css': 4.4.0 - '@docsearch/js': 4.4.0(@algolia/client-search@5.46.3)(react@19.2.3)(search-insights@2.17.3) - '@iconify-json/simple-icons': 1.2.67 - '@shikijs/core': 3.21.0 - '@shikijs/transformers': 3.21.0 - '@shikijs/types': 3.21.0 + '@docsearch/css': 4.5.4 + '@docsearch/js': 4.5.4 + '@iconify-json/simple-icons': 1.2.70 + '@shikijs/core': 3.22.0 + '@shikijs/transformers': 3.22.0 + '@shikijs/types': 3.22.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 6.0.3(vite@7.3.1(@types/node@20.19.30))(vue@3.5.27) - '@vue/devtools-api': 8.0.5 - '@vue/shared': 3.5.27 - '@vueuse/core': 14.1.0(vue@3.5.27) - '@vueuse/integrations': 14.1.0(focus-trap@7.8.0)(vue@3.5.27) + '@vitejs/plugin-vue': 6.0.4(vite@7.3.1(@types/node@24.10.13))(vue@3.5.28) + '@vue/devtools-api': 8.0.6 + '@vue/shared': 3.5.28 + '@vueuse/core': 14.2.1(vue@3.5.28) + '@vueuse/integrations': 14.2.1(focus-trap@7.8.0)(vue@3.5.28) focus-trap: 7.8.0 mark.js: 8.11.1 minisearch: 7.2.0 - shiki: 3.21.0 - vite: 7.3.1(@types/node@20.19.30) - vue: 3.5.27 + shiki: 3.22.0 + vite: 7.3.1(@types/node@24.10.13) + vue: 3.5.28 optionalDependencies: postcss: 8.5.6 transitivePeerDependencies: - - '@algolia/client-search' - '@types/node' - - '@types/react' - async-validator - axios - change-case @@ -2399,11 +1992,8 @@ snapshots: - lightningcss - nprogress - qrcode - - react - - react-dom - sass - sass-embedded - - search-insights - sortablejs - stylus - sugarss @@ -2413,13 +2003,13 @@ snapshots: - universal-cookie - yaml - vue@3.5.27: + vue@3.5.28: dependencies: - '@vue/compiler-dom': 3.5.27 - '@vue/compiler-sfc': 3.5.27 - '@vue/runtime-dom': 3.5.27 - '@vue/server-renderer': 3.5.27(vue@3.5.27) - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-sfc': 3.5.28 + '@vue/runtime-dom': 3.5.28 + '@vue/server-renderer': 3.5.28(vue@3.5.28) + '@vue/shared': 3.5.28 wrap-ansi@7.0.0: dependencies: @@ -2443,6 +2033,4 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - zod@4.3.5: {} - zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index e6654d63..00000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,2 +0,0 @@ -onlyBuiltDependencies: - - sharp diff --git a/server.js b/server.js index 6d56d6c9..e683ff31 100644 --- a/server.js +++ b/server.js @@ -33,9 +33,10 @@ wss.on("connection", (ws) => { console.log(`Start ${q}`); const md = loadMdFile(q); + const q_stem = make_q_stem(q); try { - mkdirSync(joinPath(ROOT_DIR, md.q_stem)); + mkdirSync(joinPath(ROOT_DIR, q_stem)); } catch (e) {} let isChanged = false; @@ -63,7 +64,7 @@ wss.on("connection", (ws) => { const { min, sec } = m.groups; const t = `${min}_${sec}`; ts.push(t); - newContent += `\n![${line}](./${md.q_stem}/${t}.png)\n\n`; + newContent += `\n![${line}](./${q_stem}/${t}.png)\n\n`; isChanged = true; } else { newContent += `${line}\n`; @@ -80,10 +81,7 @@ wss.on("connection", (ws) => { case "timed_q": { const { q, t } = payload; - const q_stem = q - .replace(/\.[a-z0-9]+$/, "") - .replace(/\[.+?\]/g, "") - .trim(); + const q_stem = make_q_stem(q); filename = t ? joinPath(q_stem, `${t}.png`) : ""; } break; @@ -92,7 +90,7 @@ wss.on("connection", (ws) => { const { q } = payload; const md = loadMdFile(q); - console.log(`Done timestamp ${q}`); + console.log(`Done basic parsing ${q}`); const { dedup } = md.data; if (dedup) { @@ -104,7 +102,7 @@ wss.on("connection", (ws) => { typeof dedup === "number" ? dedup : undefined, ).then((stats) => { // Don't log a thing yet. - console.log(`Done duduping ${md.filename}`); + console.log(`Done deduping ${md.filename}`); }); } @@ -125,16 +123,30 @@ wss.on("connection", (ws) => { * @returns */ function loadMdFile(q) { - const q_stem = q - .replace(/\.[a-z0-9]+$/, "") - .replace(/\[.+?\]/g, "") - .trim() - .replace(/\s+/g, "_"); + const q_stem = make_q_stem(q); try { mkdirSync(joinPath(ROOT_DIR, q_stem)); } catch (e) {} const filename = joinPath(ROOT_DIR, `${q_stem}.md`); - return { q_stem, filename, ...matter(readFileSync(filename, "utf-8")) }; + try { + // create a blank md file if not exists + readFileSync(filename, { flag: "a" }); + } catch (e) {} + + return { filename, ...matter(readFileSync(filename, "utf-8")) }; +} + +/** + * + * @param {string} q + * @returns + */ +function make_q_stem(q) { + return q + .replace(/\.[a-z0-9]+$/, "") + .replace(/\[.+?\]/g, "") + .trim() + .replace(/\s+/g, "_"); }