diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/README.md b/README.md
index b889066..7059a96 100644
--- a/README.md
+++ b/README.md
@@ -1,197 +1,12 @@
-# Jeffrey Epstein Prison Video Forensic Analysis
+# React + Vite
-A comprehensive computational analysis of the DOJ's "raw" surveillance video that reveals definitive evidence of professional video editing using Adobe software.
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
-## ๐จ Key Findings
+Currently, two official plugins are available:
-This analysis provides **computational proof** that the DOJ's "raw" surveillance video:
-- Was processed through **Adobe Media Encoder 2024.0**
-- Contains metadata from **multiple source video files**
-- Shows evidence of **professional video editing and splicing**
-- Has a **splice point at 6 hours 36 minutes** into the video
-- Contradicts claims of being "raw" surveillance footage
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
-## ๐ Live Analysis Report
-
-**[๐ View Interactive Analysis Report](https://codegen-sh.github.io/forensic-analysis/)**
-
-The live report includes:
-- Step-by-step computational analysis
-- Visual frame comparisons showing splice evidence
-- Complete metadata breakdown
-- Technical methodology details
-
-## ๐ฌ Technical Evidence Summary
-
-### Adobe Editing Signatures
-- **Software**: Adobe Media Encoder 2024.0 (Windows)
-- **User Account**: `MJCOLE~1`
-- **Project File**: `mcc_4.prproj`
-- **XMP Metadata**: Extensive Adobe-specific editing data
-
-### Source Clips Identified
-- **File 1**: `2025-05-22 21-12-48.mp4` (23.76 seconds)
-- **File 2**: `2025-05-22 16-35-21.mp4` (15.56 seconds)
-- **Total spliced content**: ~39 seconds
-
-### Splice Point Evidence
-- **Location**: 23,760.47 seconds (6h 36m 0s) into the video
-- **Visual Evidence**: 5.0% file size change between consecutive frames
-- **Timing Accuracy**: Metadata prediction confirmed by frame analysis
-
-## ๐ Quick Start
-
-### Prerequisites
-
-#### System Requirements
-- Python 3.6 or higher
-- At least 25 GB free disk space
-- Internet connection for video download
-
-#### Required Tools
-
-**Ubuntu/Debian:**
-```bash
-sudo apt update
-sudo apt install ffmpeg exiftool python3 python3-pip
-```
-
-**macOS (with Homebrew):**
-```bash
-brew install ffmpeg exiftool python3
-```
-
-**Windows:**
-1. Install Python from https://python.org
-2. Download ffmpeg from https://ffmpeg.org/download.html and add to PATH
-3. Download exiftool from https://exiftool.org and add to PATH
-
-### Installation & Usage
-
-```bash
-# Clone the repository
-git clone https://github.com/codegen-sh/forensic-analysis.git
-cd forensic-analysis
-
-# Install Python dependencies (none required - uses standard library)
-pip install -r requirements.txt
-
-# Run the complete analysis
-python epstein_video_analyzer.py
-```
-
-### What the Analysis Does
-
-1. **Downloads** the 19.5 GB DOJ video automatically
-2. **Extracts** comprehensive metadata using industry-standard tools
-3. **Identifies** Adobe editing signatures and splice points
-4. **Analyzes** frame discontinuities around the splice location
-5. **Generates** professional HTML forensic reports
-6. **Creates** visual evidence of the splice point
-
-## ๐ Output Files
-
-After running the analysis, you'll find:
-
-- **`analysis_report.html`** - Main forensic report (open in browser)
-- **`raw_video.mp4`** - Downloaded DOJ video file (19.5 GB)
-- **`metadata.json`** - Complete extracted metadata
-- **`xmp_metadata.xml`** - Adobe XMP editing metadata
-- **`splice_frames/`** - Extracted frames around splice points
-- **`splice_evidence_visualization.html`** - Interactive frame comparison
-
-## ๐ Key Evidence Commands
-
-### Extract Adobe Editing Metadata
-```bash
-exiftool -CreatorTool -WindowsAtomUncProjectPath raw_video.mp4
-# Output: Adobe Media Encoder 2024.0 (Windows)
-```
-
-### Calculate Splice Point Location
-```bash
-python3 -c "print(6035539564454400 / 254016000000)"
-# Output: 23760.47 seconds = 6h 36m 0s
-```
-
-### Extract Frames Around Splice Point
-```bash
-ffmpeg -ss 23759 -t 4 -vf "fps=1" -q:v 2 splice_frames/frame_%03d.png raw_video.mp4
-```
-
-### Analyze Frame Size Discontinuities
-```bash
-ls -la splice_frames/frame_*.png | awk '{print $9, $5}'
-# Shows 5.0% size jump between frames 2 and 3
-```
-
-## ๐ Evidence Summary
-
-### Definitive Proof of Editing
-- โ
**Adobe software signatures** embedded in metadata
-- โ
**Multiple source files** identified and documented
-- โ
**Professional editing timeline** with 5 save operations
-- โ
**Splice point location** calculated and visually confirmed
-- โ
**Frame discontinuities** showing 5.0% compression change
-
-### Chain of Custody Issues
-- โ **Not raw footage** - processed through professional editing software
-- โ **Multiple sources** - assembled from separate video files
-- โ **Content substitution** - 39 seconds replaced at critical time point
-- โ **Deceptive labeling** - calling edited footage "raw" surveillance
-
-## ๐ Related Resources
-
-- [Original Wired Article](https://www.wired.com/story/metadata-shows-the-dojs-raw-jeffrey-epstein-prison-video-was-likely-modified/)
-- [DOJ Video Release](https://www.justice.gov/opa/media/1407001/dl?inline)
-- [ExifTool Documentation](https://exiftool.org/)
-- [FFmpeg Documentation](https://ffmpeg.org/documentation.html)
-
-## ๐ ๏ธ Troubleshooting
-
-### Common Issues
-
-**"Tool not found" errors:**
-- Ensure ffmpeg and exiftool are installed and in your PATH
-- On Windows, restart command prompt after installation
-
-**Download fails:**
-- Check internet connection and disk space (25+ GB required)
-- Download may take 10-60 minutes depending on connection speed
-
-**Memory issues:**
-- Ensure at least 4 GB RAM available
-- Close other applications during analysis
-
-**Permission errors:**
-- Ensure write permissions in the analysis directory
-- Try running from a different location
-
-## โ๏ธ Legal and Ethical Considerations
-
-This analysis is provided for:
-- **Digital forensics research and education**
-- **Transparency in government evidence presentation**
-- **Academic investigation of metadata analysis techniques**
-- **Public interest in evidence integrity**
-
-The analysis:
-- Does not modify the original video file
-- Focuses solely on technical metadata examination
-- Uses standard digital forensics methodologies
-- Makes no claims about the events depicted in the video
-
-## โ ๏ธ Disclaimer
-
-This tool is provided for educational and research purposes. The analysis is based on technical metadata examination using standard digital forensics practices. Users should verify findings independently and consult with qualified digital forensics experts for legal or evidentiary purposes.
-
-## ๐ License
-
-This project is released under the MIT License. See LICENSE file for details.
-
----
-
-**Generated by**: Computational forensics analysis
-**Last Updated**: January 2025
-**Analysis Version**: 1.0
+## Expanding the ESLint configuration
+If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.
diff --git a/docs-backup/OPTIMIZATION_REPORT.md b/docs-backup/OPTIMIZATION_REPORT.md
new file mode 100644
index 0000000..d7dec57
--- /dev/null
+++ b/docs-backup/OPTIMIZATION_REPORT.md
@@ -0,0 +1,77 @@
+# Image Loading Optimization Report
+
+## Problem
+The forensic analysis GitHub Pages site was experiencing slow loading times due to large image files:
+- **60 PNG images** totaling **121MB**
+- Average image size: **~2MB per image**
+- Poor user experience with slow loading times
+
+## Solution Implemented
+
+### 1. WebP Conversion
+- Converted all PNG images to WebP format using `cwebp` with quality 90
+- Maintained forensic image quality while achieving significant compression
+- **Result: 95% size reduction (121MB โ 7.1MB)**
+
+### 2. Smart Loading System
+- **WebP Support Detection**: Automatically detects browser WebP support
+- **Progressive Fallback**: Falls back to PNG for unsupported browsers
+- **Image Caching**: Implements client-side caching to prevent re-downloads
+- **Preloading**: Intelligently preloads adjacent frames for smooth navigation
+
+### 3. Performance Monitoring
+- Real-time load time tracking
+- Format indicator showing optimization status
+- Visual loading indicators for better UX
+
+### 4. Optimized User Experience
+- **Lazy Loading**: Images load only when needed
+- **Smooth Transitions**: Loading indicators and opacity transitions
+- **Responsive Design**: Maintains forensic quality while optimizing delivery
+
+## Performance Improvements
+
+| Metric | Before | After | Improvement |
+|--------|--------|-------|-------------|
+| Total Size | 121MB | 7.1MB | **95% reduction** |
+| Average Image Size | ~2MB | ~120KB | **94% reduction** |
+| Load Time | Slow | Fast | **Significant improvement** |
+| Browser Support | PNG only | WebP + PNG fallback | **Enhanced compatibility** |
+
+## Technical Implementation
+
+### WebP Conversion
+```bash
+# High-quality WebP conversion maintaining forensic integrity
+cwebp -q 90 -m 6 -mt input.png -o output.webp
+```
+
+### Smart Loading JavaScript
+- Automatic format detection
+- Promise-based image loading
+- Intelligent caching system
+- Adjacent frame preloading
+
+### Browser Compatibility
+- **WebP Support**: Modern browsers (Chrome, Firefox, Safari, Edge)
+- **PNG Fallback**: Older browsers automatically use PNG
+- **Progressive Enhancement**: Works on all browsers
+
+## Benefits for Forensic Analysis
+
+1. **Faster Evidence Review**: Reduced loading times improve analysis workflow
+2. **Maintained Quality**: 90% WebP quality preserves forensic detail
+3. **Better Accessibility**: Faster loading on slower connections
+4. **Cost Effective**: Uses free GitHub Pages hosting efficiently
+
+## Files Modified
+- `docs/index.html` - Updated with smart loading system
+- `docs/splice_frames/*/` - Added WebP versions of all images
+- `optimize_images.sh` - Automation script for future updates
+
+## Future Enhancements
+- Service Worker implementation for offline caching
+- Progressive JPEG support for additional fallback
+- Automated CI/CD pipeline for image optimization
+- CDN integration for global delivery optimization
+
diff --git a/docs-backup/index.html b/docs-backup/index.html
new file mode 100644
index 0000000..e0fecaa
--- /dev/null
+++ b/docs-backup/index.html
@@ -0,0 +1,898 @@
+
+
+
+
+
+ Jeffrey Epstein Prison Video - Forensic Analysis
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
๐ฏ CRITICAL FINDINGS
+
+ Adobe Software Detected: Video processed through Adobe Media Encoder 2024.0
+ Multiple Source Files: Evidence of content splicing from separate video files
+ Splice Point Identified: 39 seconds of content replaced at 6h 36m mark
+ Chain of Custody Broken: Original surveillance footage was modified
+ Deceptive Labeling: Video labeled as "raw" despite extensive editing
+
+
+
+
+
+
+
10.9
+
Hours Duration
+
+
+
6:36
+
Splice Location
+
+
+
5.0%
+
Frame Size Change
+
+
+
+
+
+
๐ Adobe Editing Signatures
+
Definitive proof of professional video editing software usage:
+
+CreatorTool: Adobe Media Encoder 2024.0 (Windows)
+WindowsAtomUncProjectPath: MJCOLE~1
+Project: mcc_4.prproj
+
+
Command used:
+
+exiftool -CreatorTool -WindowsAtomUncProjectPath raw_video.mp4
+
+
+
+
+
โฐ Splice Point Calculation
+
Adobe timing metadata reveals exact splice location:
+
+Adobe Timing: time:0d6035539564454400 f254016000000
+Calculation: 6035539564454400 รท 254016000000
+Result: 23760.47 seconds = 6h 36m 0s
+
+
Command used:
+
+python3 -c "print(6035539564454400 / 254016000000)"
+
+
+
+
+
๐ฌ Visual Frame Evidence
+
Frame analysis confirms splice point with compression discontinuity:
+
+Frame 2 (6h36m00s): 2,155,188 bytes
+Frame 3 (6h36m01s): 2,263,396 bytes
+Size Change: +108,208 bytes (+5.0%)
+
+
+
+
+
๐ฌ Interactive Frame Analysis - Splice Point Evidence
+
Use the slider below to examine frames around the splice point and observe the discontinuity:
+
+
+
+
๐ Loading...
+
+ Frame 1 of 10
+ frame_001.png
+ Size: Loading...
+
+
+ โก Performance:
+ WebP format (95% smaller) |
+ Load time: -- ms
+
+
+
+
+ โ Previous
+
+ Next โถ
+ โถ Auto Play
+
+
+
+
Before Splice (6h35m55s)
+
+
After Splice (6h36m05s)
+
+
+
+
๐ What to look for:
+
+ Frame 2-3: Notice the 5.0% file size jump indicating compression change
+ Visual artifacts or quality differences between frames
+ Timing discontinuities at the splice boundary
+
+
+
+
+
Commands used:
+
+ffmpeg -ss 23759 -t 4 -vf "fps=1" frames/frame_%03d.png video.mp4
+ls -la frames/*.png | awk '{print $9, $5}'
+
+
+
+
+
๐ Source Clips Identified
+
Multiple source files found in Adobe XMP metadata:
+
+Clip 1: 2025-05-22 21-12-48.mp4 (23.76 sec)
+Clip 2: 2025-05-22 16-35-21.mp4 (15.56 sec)
+Total: 39.32 seconds of replacement content
+
+
These clips were spliced into the surveillance video at the 6h 36m mark, replacing original footage.
+
+
+
+
+
๐ Timing Analysis & Epstein Death Correlation
+
Critical timing analysis reveals significant temporal relationships:
+
+
+
+
2:20:59
+
Footage Timestamp (AM)
+
+
+
6:30:00
+
Official Discovery (AM EDT)
+
+
+
+
+
+
๐ Key Timeline Facts
+
+ Footage Time: August 10, 2019 at 2:20:59 AM
+ Official Discovery: August 10, 2019 at ~6:30 AM EDT
+ Location: Metropolitan Correctional Center, 150 Park Row, NYC
+ Camera ID: 160 SW 2-80 (Southwest wing/section)
+
+
+
+
+
๐ Time Zone Analysis
+
Critical Questions:
+
+ Is the footage timestamp in local EDT or UTC ?
+ If EDT: 4 hours before official discovery
+ If UTC: 8 hours before discovery (10:20:59 PM EDT on Aug 9)
+ Surveillance systems typically use local time or UTC
+
+
+
+
+
โ ๏ธ Forensic Implications
+
+ Compression Discontinuity: Occurs at critical time period
+ Timing Verification: Requires surveillance system time zone confirmation
+ Chain of Custody: Time gaps raise questions about footage integrity
+ Metadata Correlation: Adobe editing timestamps vs. surveillance timestamps
+
+
+
+
Research Sources:
+
+# Official reports confirm discovery time
+Jeffrey Epstein found unresponsive: ~6:30 AM EDT, August 10, 2019
+Location: Metropolitan Correctional Center, New York
+Time Zone: Eastern Daylight Time (UTC-4)
+
+
+
+
+
๐ฌ Computational Forensics Methodology
+
This analysis used industry-standard digital forensics tools and techniques:
+
+
+
1. Metadata Extraction
+
Used ExifTool to extract all embedded metadata, including Adobe's proprietary XMP editing data.
+
exiftool -j -a -u -g1 raw_video.mp4
+
+
+
+
2. Adobe XMP Analysis
+
Parsed Adobe's internal editing metadata to identify software signatures and timing information.
+
exiftool -xmp -b raw_video.mp4
+
+
+
+
3. Timing Calculation
+
Decoded Adobe's proprietary timing format to locate exact splice points in the video.
+
python3 -c "print(6035539564454400 / 254016000000)"
+
+
+
+
4. Frame Extraction & Analysis
+
Extracted frames around predicted splice points and analyzed file sizes for compression discontinuities.
+
ffmpeg -ss 23759 -t 4 -vf "fps=1" frames/frame_%03d.png video.mp4
+
+
+
+
+
+
+
โ๏ธ Legal and Ethical Implications
+
This computational analysis reveals several concerning issues:
+
+ Misrepresentation: Video labeled as "raw" despite professional editing
+ Content Modification: Original surveillance footage was altered using Adobe software
+ Source Substitution: Multiple video files combined into single presentation
+ Chain of Custody: Evidence integrity compromised through undisclosed editing
+ Transparency: Editing process not disclosed in official documentation
+
+
Note: This analysis focuses solely on technical metadata examination and makes no claims about the events depicted in the video.
+
+
+
+
+
+
+
+
diff --git a/docs-backup/splice_frames/splice_1/frame_001.png b/docs-backup/splice_frames/splice_1/frame_001.png
new file mode 100644
index 0000000..f4e8a5e
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_001.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_001.webp b/docs-backup/splice_frames/splice_1/frame_001.webp
new file mode 100644
index 0000000..70d811f
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_001.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_002.png b/docs-backup/splice_frames/splice_1/frame_002.png
new file mode 100644
index 0000000..5b4d5b1
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_002.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_002.webp b/docs-backup/splice_frames/splice_1/frame_002.webp
new file mode 100644
index 0000000..afcaf2e
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_002.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_003.png b/docs-backup/splice_frames/splice_1/frame_003.png
new file mode 100644
index 0000000..30942ef
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_003.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_003.webp b/docs-backup/splice_frames/splice_1/frame_003.webp
new file mode 100644
index 0000000..4d7de90
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_003.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_004.png b/docs-backup/splice_frames/splice_1/frame_004.png
new file mode 100644
index 0000000..887f621
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_004.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_004.webp b/docs-backup/splice_frames/splice_1/frame_004.webp
new file mode 100644
index 0000000..3b357c6
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_004.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_005.png b/docs-backup/splice_frames/splice_1/frame_005.png
new file mode 100644
index 0000000..f4443cf
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_005.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_005.webp b/docs-backup/splice_frames/splice_1/frame_005.webp
new file mode 100644
index 0000000..b7f500c
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_005.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_006.png b/docs-backup/splice_frames/splice_1/frame_006.png
new file mode 100644
index 0000000..ded1105
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_006.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_006.webp b/docs-backup/splice_frames/splice_1/frame_006.webp
new file mode 100644
index 0000000..acc746c
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_006.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_007.png b/docs-backup/splice_frames/splice_1/frame_007.png
new file mode 100644
index 0000000..1cdf92a
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_007.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_007.webp b/docs-backup/splice_frames/splice_1/frame_007.webp
new file mode 100644
index 0000000..e57340d
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_007.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_008.png b/docs-backup/splice_frames/splice_1/frame_008.png
new file mode 100644
index 0000000..300b72e
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_008.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_008.webp b/docs-backup/splice_frames/splice_1/frame_008.webp
new file mode 100644
index 0000000..52757da
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_008.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_009.png b/docs-backup/splice_frames/splice_1/frame_009.png
new file mode 100644
index 0000000..4181d84
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_009.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_009.webp b/docs-backup/splice_frames/splice_1/frame_009.webp
new file mode 100644
index 0000000..fcb8627
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_009.webp differ
diff --git a/docs-backup/splice_frames/splice_1/frame_010.png b/docs-backup/splice_frames/splice_1/frame_010.png
new file mode 100644
index 0000000..56d30f8
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_010.png differ
diff --git a/docs-backup/splice_frames/splice_1/frame_010.webp b/docs-backup/splice_frames/splice_1/frame_010.webp
new file mode 100644
index 0000000..d93ded6
Binary files /dev/null and b/docs-backup/splice_frames/splice_1/frame_010.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_001.png b/docs-backup/splice_frames/splice_2/frame_001.png
new file mode 100644
index 0000000..f4e8a5e
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_001.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_001.webp b/docs-backup/splice_frames/splice_2/frame_001.webp
new file mode 100644
index 0000000..70d811f
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_001.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_002.png b/docs-backup/splice_frames/splice_2/frame_002.png
new file mode 100644
index 0000000..5b4d5b1
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_002.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_002.webp b/docs-backup/splice_frames/splice_2/frame_002.webp
new file mode 100644
index 0000000..afcaf2e
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_002.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_003.png b/docs-backup/splice_frames/splice_2/frame_003.png
new file mode 100644
index 0000000..30942ef
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_003.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_003.webp b/docs-backup/splice_frames/splice_2/frame_003.webp
new file mode 100644
index 0000000..4d7de90
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_003.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_004.png b/docs-backup/splice_frames/splice_2/frame_004.png
new file mode 100644
index 0000000..887f621
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_004.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_004.webp b/docs-backup/splice_frames/splice_2/frame_004.webp
new file mode 100644
index 0000000..3b357c6
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_004.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_005.png b/docs-backup/splice_frames/splice_2/frame_005.png
new file mode 100644
index 0000000..f4443cf
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_005.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_005.webp b/docs-backup/splice_frames/splice_2/frame_005.webp
new file mode 100644
index 0000000..b7f500c
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_005.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_006.png b/docs-backup/splice_frames/splice_2/frame_006.png
new file mode 100644
index 0000000..ded1105
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_006.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_006.webp b/docs-backup/splice_frames/splice_2/frame_006.webp
new file mode 100644
index 0000000..acc746c
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_006.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_007.png b/docs-backup/splice_frames/splice_2/frame_007.png
new file mode 100644
index 0000000..1cdf92a
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_007.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_007.webp b/docs-backup/splice_frames/splice_2/frame_007.webp
new file mode 100644
index 0000000..e57340d
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_007.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_008.png b/docs-backup/splice_frames/splice_2/frame_008.png
new file mode 100644
index 0000000..300b72e
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_008.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_008.webp b/docs-backup/splice_frames/splice_2/frame_008.webp
new file mode 100644
index 0000000..52757da
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_008.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_009.png b/docs-backup/splice_frames/splice_2/frame_009.png
new file mode 100644
index 0000000..4181d84
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_009.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_009.webp b/docs-backup/splice_frames/splice_2/frame_009.webp
new file mode 100644
index 0000000..fcb8627
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_009.webp differ
diff --git a/docs-backup/splice_frames/splice_2/frame_010.png b/docs-backup/splice_frames/splice_2/frame_010.png
new file mode 100644
index 0000000..56d30f8
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_010.png differ
diff --git a/docs-backup/splice_frames/splice_2/frame_010.webp b/docs-backup/splice_frames/splice_2/frame_010.webp
new file mode 100644
index 0000000..d93ded6
Binary files /dev/null and b/docs-backup/splice_frames/splice_2/frame_010.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_001.png b/docs-backup/splice_frames/splice_3/frame_001.png
new file mode 100644
index 0000000..a186159
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_001.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_001.webp b/docs-backup/splice_frames/splice_3/frame_001.webp
new file mode 100644
index 0000000..813aeda
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_001.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_002.png b/docs-backup/splice_frames/splice_3/frame_002.png
new file mode 100644
index 0000000..6ad25fe
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_002.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_002.webp b/docs-backup/splice_frames/splice_3/frame_002.webp
new file mode 100644
index 0000000..5c70601
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_002.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_003.png b/docs-backup/splice_frames/splice_3/frame_003.png
new file mode 100644
index 0000000..e850213
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_003.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_003.webp b/docs-backup/splice_frames/splice_3/frame_003.webp
new file mode 100644
index 0000000..52fd17e
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_003.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_004.png b/docs-backup/splice_frames/splice_3/frame_004.png
new file mode 100644
index 0000000..389cca3
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_004.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_004.webp b/docs-backup/splice_frames/splice_3/frame_004.webp
new file mode 100644
index 0000000..21d2602
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_004.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_005.png b/docs-backup/splice_frames/splice_3/frame_005.png
new file mode 100644
index 0000000..bdb6aae
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_005.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_005.webp b/docs-backup/splice_frames/splice_3/frame_005.webp
new file mode 100644
index 0000000..d4176cd
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_005.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_006.png b/docs-backup/splice_frames/splice_3/frame_006.png
new file mode 100644
index 0000000..4a33e65
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_006.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_006.webp b/docs-backup/splice_frames/splice_3/frame_006.webp
new file mode 100644
index 0000000..1665a84
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_006.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_007.png b/docs-backup/splice_frames/splice_3/frame_007.png
new file mode 100644
index 0000000..bd20405
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_007.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_007.webp b/docs-backup/splice_frames/splice_3/frame_007.webp
new file mode 100644
index 0000000..26e173f
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_007.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_008.png b/docs-backup/splice_frames/splice_3/frame_008.png
new file mode 100644
index 0000000..7112156
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_008.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_008.webp b/docs-backup/splice_frames/splice_3/frame_008.webp
new file mode 100644
index 0000000..9dfaa68
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_008.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_009.png b/docs-backup/splice_frames/splice_3/frame_009.png
new file mode 100644
index 0000000..e97929b
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_009.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_009.webp b/docs-backup/splice_frames/splice_3/frame_009.webp
new file mode 100644
index 0000000..45f0b6a
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_009.webp differ
diff --git a/docs-backup/splice_frames/splice_3/frame_010.png b/docs-backup/splice_frames/splice_3/frame_010.png
new file mode 100644
index 0000000..4f8ee3e
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_010.png differ
diff --git a/docs-backup/splice_frames/splice_3/frame_010.webp b/docs-backup/splice_frames/splice_3/frame_010.webp
new file mode 100644
index 0000000..5969ba7
Binary files /dev/null and b/docs-backup/splice_frames/splice_3/frame_010.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_001.png b/docs-backup/splice_frames/splice_4/frame_001.png
new file mode 100644
index 0000000..a186159
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_001.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_001.webp b/docs-backup/splice_frames/splice_4/frame_001.webp
new file mode 100644
index 0000000..813aeda
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_001.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_002.png b/docs-backup/splice_frames/splice_4/frame_002.png
new file mode 100644
index 0000000..6ad25fe
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_002.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_002.webp b/docs-backup/splice_frames/splice_4/frame_002.webp
new file mode 100644
index 0000000..5c70601
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_002.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_003.png b/docs-backup/splice_frames/splice_4/frame_003.png
new file mode 100644
index 0000000..e850213
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_003.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_003.webp b/docs-backup/splice_frames/splice_4/frame_003.webp
new file mode 100644
index 0000000..52fd17e
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_003.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_004.png b/docs-backup/splice_frames/splice_4/frame_004.png
new file mode 100644
index 0000000..389cca3
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_004.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_004.webp b/docs-backup/splice_frames/splice_4/frame_004.webp
new file mode 100644
index 0000000..21d2602
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_004.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_005.png b/docs-backup/splice_frames/splice_4/frame_005.png
new file mode 100644
index 0000000..bdb6aae
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_005.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_005.webp b/docs-backup/splice_frames/splice_4/frame_005.webp
new file mode 100644
index 0000000..d4176cd
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_005.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_006.png b/docs-backup/splice_frames/splice_4/frame_006.png
new file mode 100644
index 0000000..4a33e65
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_006.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_006.webp b/docs-backup/splice_frames/splice_4/frame_006.webp
new file mode 100644
index 0000000..1665a84
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_006.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_007.png b/docs-backup/splice_frames/splice_4/frame_007.png
new file mode 100644
index 0000000..bd20405
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_007.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_007.webp b/docs-backup/splice_frames/splice_4/frame_007.webp
new file mode 100644
index 0000000..26e173f
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_007.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_008.png b/docs-backup/splice_frames/splice_4/frame_008.png
new file mode 100644
index 0000000..7112156
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_008.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_008.webp b/docs-backup/splice_frames/splice_4/frame_008.webp
new file mode 100644
index 0000000..9dfaa68
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_008.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_009.png b/docs-backup/splice_frames/splice_4/frame_009.png
new file mode 100644
index 0000000..e97929b
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_009.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_009.webp b/docs-backup/splice_frames/splice_4/frame_009.webp
new file mode 100644
index 0000000..45f0b6a
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_009.webp differ
diff --git a/docs-backup/splice_frames/splice_4/frame_010.png b/docs-backup/splice_frames/splice_4/frame_010.png
new file mode 100644
index 0000000..4f8ee3e
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_010.png differ
diff --git a/docs-backup/splice_frames/splice_4/frame_010.webp b/docs-backup/splice_frames/splice_4/frame_010.webp
new file mode 100644
index 0000000..5969ba7
Binary files /dev/null and b/docs-backup/splice_frames/splice_4/frame_010.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_001.png b/docs-backup/splice_frames/splice_5/frame_001.png
new file mode 100644
index 0000000..a186159
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_001.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_001.webp b/docs-backup/splice_frames/splice_5/frame_001.webp
new file mode 100644
index 0000000..813aeda
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_001.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_002.png b/docs-backup/splice_frames/splice_5/frame_002.png
new file mode 100644
index 0000000..6ad25fe
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_002.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_002.webp b/docs-backup/splice_frames/splice_5/frame_002.webp
new file mode 100644
index 0000000..5c70601
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_002.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_003.png b/docs-backup/splice_frames/splice_5/frame_003.png
new file mode 100644
index 0000000..e850213
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_003.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_003.webp b/docs-backup/splice_frames/splice_5/frame_003.webp
new file mode 100644
index 0000000..52fd17e
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_003.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_004.png b/docs-backup/splice_frames/splice_5/frame_004.png
new file mode 100644
index 0000000..389cca3
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_004.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_004.webp b/docs-backup/splice_frames/splice_5/frame_004.webp
new file mode 100644
index 0000000..21d2602
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_004.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_005.png b/docs-backup/splice_frames/splice_5/frame_005.png
new file mode 100644
index 0000000..bdb6aae
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_005.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_005.webp b/docs-backup/splice_frames/splice_5/frame_005.webp
new file mode 100644
index 0000000..d4176cd
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_005.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_006.png b/docs-backup/splice_frames/splice_5/frame_006.png
new file mode 100644
index 0000000..4a33e65
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_006.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_006.webp b/docs-backup/splice_frames/splice_5/frame_006.webp
new file mode 100644
index 0000000..1665a84
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_006.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_007.png b/docs-backup/splice_frames/splice_5/frame_007.png
new file mode 100644
index 0000000..bd20405
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_007.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_007.webp b/docs-backup/splice_frames/splice_5/frame_007.webp
new file mode 100644
index 0000000..26e173f
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_007.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_008.png b/docs-backup/splice_frames/splice_5/frame_008.png
new file mode 100644
index 0000000..7112156
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_008.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_008.webp b/docs-backup/splice_frames/splice_5/frame_008.webp
new file mode 100644
index 0000000..9dfaa68
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_008.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_009.png b/docs-backup/splice_frames/splice_5/frame_009.png
new file mode 100644
index 0000000..e97929b
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_009.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_009.webp b/docs-backup/splice_frames/splice_5/frame_009.webp
new file mode 100644
index 0000000..45f0b6a
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_009.webp differ
diff --git a/docs-backup/splice_frames/splice_5/frame_010.png b/docs-backup/splice_frames/splice_5/frame_010.png
new file mode 100644
index 0000000..4f8ee3e
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_010.png differ
diff --git a/docs-backup/splice_frames/splice_5/frame_010.webp b/docs-backup/splice_frames/splice_5/frame_010.webp
new file mode 100644
index 0000000..5969ba7
Binary files /dev/null and b/docs-backup/splice_frames/splice_5/frame_010.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_001.png b/docs-backup/splice_frames/splice_6/frame_001.png
new file mode 100644
index 0000000..a186159
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_001.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_001.webp b/docs-backup/splice_frames/splice_6/frame_001.webp
new file mode 100644
index 0000000..813aeda
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_001.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_002.png b/docs-backup/splice_frames/splice_6/frame_002.png
new file mode 100644
index 0000000..6ad25fe
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_002.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_002.webp b/docs-backup/splice_frames/splice_6/frame_002.webp
new file mode 100644
index 0000000..5c70601
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_002.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_003.png b/docs-backup/splice_frames/splice_6/frame_003.png
new file mode 100644
index 0000000..e850213
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_003.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_003.webp b/docs-backup/splice_frames/splice_6/frame_003.webp
new file mode 100644
index 0000000..52fd17e
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_003.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_004.png b/docs-backup/splice_frames/splice_6/frame_004.png
new file mode 100644
index 0000000..389cca3
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_004.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_004.webp b/docs-backup/splice_frames/splice_6/frame_004.webp
new file mode 100644
index 0000000..21d2602
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_004.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_005.png b/docs-backup/splice_frames/splice_6/frame_005.png
new file mode 100644
index 0000000..bdb6aae
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_005.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_005.webp b/docs-backup/splice_frames/splice_6/frame_005.webp
new file mode 100644
index 0000000..d4176cd
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_005.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_006.png b/docs-backup/splice_frames/splice_6/frame_006.png
new file mode 100644
index 0000000..4a33e65
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_006.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_006.webp b/docs-backup/splice_frames/splice_6/frame_006.webp
new file mode 100644
index 0000000..1665a84
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_006.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_007.png b/docs-backup/splice_frames/splice_6/frame_007.png
new file mode 100644
index 0000000..bd20405
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_007.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_007.webp b/docs-backup/splice_frames/splice_6/frame_007.webp
new file mode 100644
index 0000000..26e173f
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_007.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_008.png b/docs-backup/splice_frames/splice_6/frame_008.png
new file mode 100644
index 0000000..7112156
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_008.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_008.webp b/docs-backup/splice_frames/splice_6/frame_008.webp
new file mode 100644
index 0000000..9dfaa68
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_008.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_009.png b/docs-backup/splice_frames/splice_6/frame_009.png
new file mode 100644
index 0000000..e97929b
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_009.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_009.webp b/docs-backup/splice_frames/splice_6/frame_009.webp
new file mode 100644
index 0000000..45f0b6a
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_009.webp differ
diff --git a/docs-backup/splice_frames/splice_6/frame_010.png b/docs-backup/splice_frames/splice_6/frame_010.png
new file mode 100644
index 0000000..4f8ee3e
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_010.png differ
diff --git a/docs-backup/splice_frames/splice_6/frame_010.webp b/docs-backup/splice_frames/splice_6/frame_010.webp
new file mode 100644
index 0000000..5969ba7
Binary files /dev/null and b/docs-backup/splice_frames/splice_6/frame_010.webp differ
diff --git a/docs/assets/index-Boalwg5o.js b/docs/assets/index-Boalwg5o.js
new file mode 100644
index 0000000..b7b7f80
--- /dev/null
+++ b/docs/assets/index-Boalwg5o.js
@@ -0,0 +1,49 @@
+(function(){const el=document.createElement("link").relList;if(el&&el.supports&&el.supports("modulepreload"))return;for(const B of document.querySelectorAll('link[rel="modulepreload"]'))m(B);new MutationObserver(B=>{for(const K of B)if(K.type==="childList")for(const fl of K.addedNodes)fl.tagName==="LINK"&&fl.rel==="modulepreload"&&m(fl)}).observe(document,{childList:!0,subtree:!0});function X(B){const K={};return B.integrity&&(K.integrity=B.integrity),B.referrerPolicy&&(K.referrerPolicy=B.referrerPolicy),B.crossOrigin==="use-credentials"?K.credentials="include":B.crossOrigin==="anonymous"?K.credentials="omit":K.credentials="same-origin",K}function m(B){if(B.ep)return;B.ep=!0;const K=X(B);fetch(B.href,K)}})();var kc={exports:{}},gu={};/**
+ * @license React
+ * react-jsx-runtime.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var kr;function Dh(){if(kr)return gu;kr=1;var x=Symbol.for("react.transitional.element"),el=Symbol.for("react.fragment");function X(m,B,K){var fl=null;if(K!==void 0&&(fl=""+K),B.key!==void 0&&(fl=""+B.key),"key"in B){K={};for(var _l in B)_l!=="key"&&(K[_l]=B[_l])}else K=B;return B=K.ref,{$$typeof:x,type:m,key:fl,ref:B!==void 0?B:null,props:K}}return gu.Fragment=el,gu.jsx=X,gu.jsxs=X,gu}var Fr;function jh(){return Fr||(Fr=1,kc.exports=Dh()),kc.exports}var s=jh(),Fc={exports:{}},C={};/**
+ * @license React
+ * react.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var Ir;function Uh(){if(Ir)return C;Ir=1;var x=Symbol.for("react.transitional.element"),el=Symbol.for("react.portal"),X=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),K=Symbol.for("react.consumer"),fl=Symbol.for("react.context"),_l=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),ul=Symbol.iterator;function P(d){return d===null||typeof d!="object"?null:(d=ul&&d[ul]||d["@@iterator"],typeof d=="function"?d:null)}var Ol={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ml=Object.assign,El={};function Sl(d,p,O){this.props=d,this.context=p,this.refs=El,this.updater=O||Ol}Sl.prototype.isReactComponent={},Sl.prototype.setState=function(d,p){if(typeof d!="object"&&typeof d!="function"&&d!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,d,p,"setState")},Sl.prototype.forceUpdate=function(d){this.updater.enqueueForceUpdate(this,d,"forceUpdate")};function ot(){}ot.prototype=Sl.prototype;function ht(d,p,O){this.props=d,this.context=p,this.refs=El,this.updater=O||Ol}var Nl=ht.prototype=new ot;Nl.constructor=ht,Ml(Nl,Sl.prototype),Nl.isPureReactComponent=!0;var vt=Array.isArray,w={H:null,A:null,T:null,S:null,V:null},Ll=Object.prototype.hasOwnProperty;function Kl(d,p,O,z,N,W){return O=W.ref,{$$typeof:x,type:d,key:p,ref:O!==void 0?O:null,props:W}}function Jl(d,p){return Kl(d.type,p,void 0,void 0,void 0,d.props)}function bt(d){return typeof d=="object"&&d!==null&&d.$$typeof===x}function Ha(d){var p={"=":"=0",":":"=2"};return"$"+d.replace(/[=:]/g,function(O){return p[O]})}var _t=/\/+/g;function Rl(d,p){return typeof d=="object"&&d!==null&&d.key!=null?Ha(""+d.key):p.toString(36)}function ha(){}function va(d){switch(d.status){case"fulfilled":return d.value;case"rejected":throw d.reason;default:switch(typeof d.status=="string"?d.then(ha,ha):(d.status="pending",d.then(function(p){d.status==="pending"&&(d.status="fulfilled",d.value=p)},function(p){d.status==="pending"&&(d.status="rejected",d.reason=p)})),d.status){case"fulfilled":return d.value;case"rejected":throw d.reason}}throw d}function Hl(d,p,O,z,N){var W=typeof d;(W==="undefined"||W==="boolean")&&(d=null);var G=!1;if(d===null)G=!0;else switch(W){case"bigint":case"string":case"number":G=!0;break;case"object":switch(d.$$typeof){case x:case el:G=!0;break;case U:return G=d._init,Hl(G(d._payload),p,O,z,N)}}if(G)return N=N(d),G=z===""?"."+Rl(d,0):z,vt(N)?(O="",G!=null&&(O=G.replace(_t,"$&/")+"/"),Hl(N,p,O,"",function(Zt){return Zt})):N!=null&&(bt(N)&&(N=Jl(N,O+(N.key==null||d&&d.key===N.key?"":(""+N.key).replace(_t,"$&/")+"/")+G)),p.push(N)),1;G=0;var wl=z===""?".":z+":";if(vt(d))for(var sl=0;sl>>1,d=b[nl];if(0>>1;nl B(z,q))NB(W,z)?(b[nl]=W,b[N]=q,nl=N):(b[nl]=z,b[O]=q,nl=O);else if(NB(W,q))b[nl]=W,b[N]=q,nl=N;else break l}}return _}function B(b,_){var q=b.sortIndex-_.sortIndex;return q!==0?q:b.id-_.id}if(x.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var K=performance;x.unstable_now=function(){return K.now()}}else{var fl=Date,_l=fl.now();x.unstable_now=function(){return fl.now()-_l}}var D=[],A=[],U=1,ul=null,P=3,Ol=!1,Ml=!1,El=!1,Sl=!1,ot=typeof setTimeout=="function"?setTimeout:null,ht=typeof clearTimeout=="function"?clearTimeout:null,Nl=typeof setImmediate<"u"?setImmediate:null;function vt(b){for(var _=X(A);_!==null;){if(_.callback===null)m(A);else if(_.startTime<=b)m(A),_.sortIndex=_.expirationTime,el(D,_);else break;_=X(A)}}function w(b){if(El=!1,vt(b),!Ml)if(X(D)!==null)Ml=!0,Ll||(Ll=!0,Rl());else{var _=X(A);_!==null&&Hl(w,_.startTime-b)}}var Ll=!1,Kl=-1,Jl=5,bt=-1;function Ha(){return Sl?!0:!(x.unstable_now()-btb&&Ha());){var nl=ul.callback;if(typeof nl=="function"){ul.callback=null,P=ul.priorityLevel;var d=nl(ul.expirationTime<=b);if(b=x.unstable_now(),typeof d=="function"){ul.callback=d,vt(b),_=!0;break t}ul===X(D)&&m(D),vt(b)}else m(D);ul=X(D)}if(ul!==null)_=!0;else{var p=X(A);p!==null&&Hl(w,p.startTime-b),_=!1}}break l}finally{ul=null,P=q,Ol=!1}_=void 0}}finally{_?Rl():Ll=!1}}}var Rl;if(typeof Nl=="function")Rl=function(){Nl(_t)};else if(typeof MessageChannel<"u"){var ha=new MessageChannel,va=ha.port2;ha.port1.onmessage=_t,Rl=function(){va.postMessage(null)}}else Rl=function(){ot(_t,0)};function Hl(b,_){Kl=ot(function(){b(x.unstable_now())},_)}x.unstable_IdlePriority=5,x.unstable_ImmediatePriority=1,x.unstable_LowPriority=4,x.unstable_NormalPriority=3,x.unstable_Profiling=null,x.unstable_UserBlockingPriority=2,x.unstable_cancelCallback=function(b){b.callback=null},x.unstable_forceFrameRate=function(b){0>b||125nl?(b.sortIndex=q,el(A,b),X(D)===null&&b===X(A)&&(El?(ht(Kl),Kl=-1):El=!0,Hl(w,q-nl))):(b.sortIndex=d,el(D,b),Ml||Ol||(Ml=!0,Ll||(Ll=!0,Rl()))),b},x.unstable_shouldYield=Ha,x.unstable_wrapCallback=function(b){var _=P;return function(){var q=P;P=_;try{return b.apply(this,arguments)}finally{P=q}}}}(lf)),lf}var to;function Rh(){return to||(to=1,Pc.exports=Nh()),Pc.exports}var tf={exports:{}},Bl={};/**
+ * @license React
+ * react-dom.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var ao;function Hh(){if(ao)return Bl;ao=1;var x=af();function el(D){var A="https://react.dev/errors/"+D;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(x)}catch(el){console.error(el)}}return x(),tf.exports=Hh(),tf.exports}/**
+ * @license React
+ * react-dom-client.production.js
+ *
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var uo;function Yh(){if(uo)return Su;uo=1;var x=Rh(),el=af(),X=qh();function m(l){var t="https://react.dev/errors/"+l;if(1d||(l.current=nl[d],nl[d]=null,d--)}function z(l,t){d++,nl[d]=l.current,l.current=t}var N=p(null),W=p(null),G=p(null),wl=p(null);function sl(l,t){switch(z(G,t),z(W,l),z(N,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?xr(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=xr(t),l=zr(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}O(N),z(N,l)}function Zt(){O(N),O(W),O(G)}function qn(l){l.memoizedState!==null&&z(wl,l);var t=N.current,a=zr(t,l.type);t!==a&&(z(W,l),z(N,a))}function bu(l){W.current===l&&(O(N),O(W)),wl.current===l&&(O(wl),ou._currentValue=q)}var Yn=Object.prototype.hasOwnProperty,Bn=x.unstable_scheduleCallback,Gn=x.unstable_cancelCallback,io=x.unstable_shouldYield,co=x.unstable_requestPaint,Tt=x.unstable_now,fo=x.unstable_getCurrentPriorityLevel,ef=x.unstable_ImmediatePriority,uf=x.unstable_UserBlockingPriority,Tu=x.unstable_NormalPriority,so=x.unstable_LowPriority,nf=x.unstable_IdlePriority,ro=x.log,oo=x.unstable_setDisableYieldValue,Te=null,Wl=null;function Vt(l){if(typeof ro=="function"&&oo(l),Wl&&typeof Wl.setStrictMode=="function")try{Wl.setStrictMode(Te,l)}catch{}}var $l=Math.clz32?Math.clz32:yo,ho=Math.log,vo=Math.LN2;function yo(l){return l>>>=0,l===0?32:31-(ho(l)/vo|0)|0}var Eu=256,Au=4194304;function ya(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return l&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function pu(l,t,a){var e=l.pendingLanes;if(e===0)return 0;var u=0,n=l.suspendedLanes,i=l.pingedLanes;l=l.warmLanes;var c=e&134217727;return c!==0?(e=c&~n,e!==0?u=ya(e):(i&=c,i!==0?u=ya(i):a||(a=c&~l,a!==0&&(u=ya(a))))):(c=e&~n,c!==0?u=ya(c):i!==0?u=ya(i):a||(a=e&~l,a!==0&&(u=ya(a)))),u===0?0:t!==0&&t!==u&&(t&n)===0&&(n=u&-u,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:u}function Ee(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function mo(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function cf(){var l=Eu;return Eu<<=1,(Eu&4194048)===0&&(Eu=256),l}function ff(){var l=Au;return Au<<=1,(Au&62914560)===0&&(Au=4194304),l}function Xn(l){for(var t=[],a=0;31>a;a++)t.push(l);return t}function Ae(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function go(l,t,a,e,u,n){var i=l.pendingLanes;l.pendingLanes=a,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=a,l.entangledLanes&=a,l.errorRecoveryDisabledLanes&=a,l.shellSuspendCounter=0;var c=l.entanglements,f=l.expirationTimes,v=l.hiddenUpdates;for(a=i&~a;0)":-1 u||f[e]!==v[u]){var S=`
+`+f[e].replace(" at new "," at ");return l.displayName&&S.includes("")&&(S=S.replace("",l.displayName)),S}while(1<=e&&0<=u);break}}}finally{Kn=!1,Error.prepareStackTrace=a}return(a=l?l.displayName||l.name:"")?Ca(a):""}function po(l){switch(l.tag){case 26:case 27:case 5:return Ca(l.type);case 16:return Ca("Lazy");case 13:return Ca("Suspense");case 19:return Ca("SuspenseList");case 0:case 15:return Jn(l.type,!1);case 11:return Jn(l.type.render,!1);case 1:return Jn(l.type,!0);case 31:return Ca("Activity");default:return""}}function Sf(l){try{var t="";do t+=po(l),l=l.return;while(l);return t}catch(a){return`
+Error generating stack: `+a.message+`
+`+a.stack}}function et(l){switch(typeof l){case"bigint":case"boolean":case"number":case"string":case"undefined":return l;case"object":return l;default:return""}}function bf(l){var t=l.type;return(l=l.nodeName)&&l.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xo(l){var t=bf(l)?"checked":"value",a=Object.getOwnPropertyDescriptor(l.constructor.prototype,t),e=""+l[t];if(!l.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var u=a.get,n=a.set;return Object.defineProperty(l,t,{configurable:!0,get:function(){return u.call(this)},set:function(i){e=""+i,n.call(this,i)}}),Object.defineProperty(l,t,{enumerable:a.enumerable}),{getValue:function(){return e},setValue:function(i){e=""+i},stopTracking:function(){l._valueTracker=null,delete l[t]}}}}function _u(l){l._valueTracker||(l._valueTracker=xo(l))}function Tf(l){if(!l)return!1;var t=l._valueTracker;if(!t)return!0;var a=t.getValue(),e="";return l&&(e=bf(l)?l.checked?"true":"false":l.value),l=e,l!==a?(t.setValue(l),!0):!1}function Ou(l){if(l=l||(typeof document<"u"?document:void 0),typeof l>"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var zo=/[\n"\\]/g;function ut(l){return l.replace(zo,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function wn(l,t,a,e,u,n,i,c){l.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.type=i:l.removeAttribute("type"),t!=null?i==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+et(t)):l.value!==""+et(t)&&(l.value=""+et(t)):i!=="submit"&&i!=="reset"||l.removeAttribute("value"),t!=null?Wn(l,i,et(t)):a!=null?Wn(l,i,et(a)):e!=null&&l.removeAttribute("value"),u==null&&n!=null&&(l.defaultChecked=!!n),u!=null&&(l.checked=u&&typeof u!="function"&&typeof u!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+et(c):l.removeAttribute("name")}function Ef(l,t,a,e,u,n,i,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||a!=null){if(!(n!=="submit"&&n!=="reset"||t!=null))return;a=a!=null?""+et(a):"",t=t!=null?""+et(t):a,c||t===l.value||(l.value=t),l.defaultValue=t}e=e??u,e=typeof e!="function"&&typeof e!="symbol"&&!!e,l.checked=c?l.checked:!!e,l.defaultChecked=!!e,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(l.name=i)}function Wn(l,t,a){t==="number"&&Ou(l.ownerDocument)===l||l.defaultValue===""+a||(l.defaultValue=""+a)}function Qa(l,t,a,e){if(l=l.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Pn=!1;if(Mt)try{var _e={};Object.defineProperty(_e,"passive",{get:function(){Pn=!0}}),window.addEventListener("test",_e,_e),window.removeEventListener("test",_e,_e)}catch{Pn=!1}var Kt=null,li=null,Du=null;function Mf(){if(Du)return Du;var l,t=li,a=t.length,e,u="value"in Kt?Kt.value:Kt.textContent,n=u.length;for(l=0;l=De),Hf=" ",qf=!1;function Yf(l,t){switch(l){case"keyup":return Po.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bf(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var Ka=!1;function t0(l,t){switch(l){case"compositionend":return Bf(t);case"keypress":return t.which!==32?null:(qf=!0,Hf);case"textInput":return l=t.data,l===Hf&&qf?null:l;default:return null}}function a0(l,t){if(Ka)return l==="compositionend"||!ni&&Yf(l,t)?(l=Mf(),Du=li=Kt=null,Ka=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-l};l=e}l:{for(;a;){if(a.nextSibling){a=a.nextSibling;break l}a=a.parentNode}a=void 0}a=Kf(a)}}function wf(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?wf(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function Wf(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=Ou(l.document);t instanceof l.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)l=t.contentWindow;else break;t=Ou(l.document)}return t}function fi(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var d0=Mt&&"documentMode"in document&&11>=document.documentMode,Ja=null,si=null,Re=null,di=!1;function $f(l,t,a){var e=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;di||Ja==null||Ja!==Ou(e)||(e=Ja,"selectionStart"in e&&fi(e)?e={start:e.selectionStart,end:e.selectionEnd}:(e=(e.ownerDocument&&e.ownerDocument.defaultView||window).getSelection(),e={anchorNode:e.anchorNode,anchorOffset:e.anchorOffset,focusNode:e.focusNode,focusOffset:e.focusOffset}),Re&&Ne(Re,e)||(Re=e,e=Tn(si,"onSelect"),0>=i,u-=i,jt=1<<32-$l(t)+u|a<n?n:8;var i=b.T,c={};b.T=c,$i(l,!1,t,a);try{var f=u(),v=b.S;if(v!==null&&v(c,f),f!==null&&typeof f=="object"&&typeof f.then=="function"){var S=b0(f,e);We(l,t,S,tt(l))}else We(l,t,e,tt(l))}catch(E){We(l,t,{then:function(){},status:"rejected",reason:E},tt())}finally{_.p=n,b.T=i}}function x0(){}function wi(l,t,a,e){if(l.tag!==5)throw Error(m(476));var u=ks(l).queue;$s(l,u,t,q,a===null?x0:function(){return Fs(l),a(e)})}function ks(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ht,lastRenderedState:q},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ht,lastRenderedState:a},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function Fs(l){var t=ks(l).next.queue;We(l,t,{},tt())}function Wi(){return Yl(ou)}function Is(){return gl().memoizedState}function Ps(){return gl().memoizedState}function z0(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var a=tt();l=Wt(a);var e=$t(t,l,a);e!==null&&(at(e,t,a),Ze(e,t,a)),t={cache:xi()},l.payload=t;return}t=t.return}}function _0(l,t,a){var e=tt();a={lane:e,revertLane:0,action:a,hasEagerState:!1,eagerState:null,next:null},Pu(l)?td(t,a):(a=vi(l,t,a,e),a!==null&&(at(a,l,e),ad(a,t,e)))}function ld(l,t,a){var e=tt();We(l,t,a,e)}function We(l,t,a,e){var u={lane:e,revertLane:0,action:a,hasEagerState:!1,eagerState:null,next:null};if(Pu(l))td(t,u);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var i=t.lastRenderedState,c=n(i,a);if(u.hasEagerState=!0,u.eagerState=c,kl(c,i))return Yu(l,t,u,0),cl===null&&qu(),!1}catch{}finally{}if(a=vi(l,t,u,e),a!==null)return at(a,l,e),ad(a,t,e),!0}return!1}function $i(l,t,a,e){if(e={lane:2,revertLane:Oc(),action:e,hasEagerState:!1,eagerState:null,next:null},Pu(l)){if(t)throw Error(m(479))}else t=vi(l,a,e,2),t!==null&&at(t,l,2)}function Pu(l){var t=l.alternate;return l===Q||t!==null&&t===Q}function td(l,t){ae=wu=!0;var a=l.pending;a===null?t.next=t:(t.next=a.next,a.next=t),l.pending=t}function ad(l,t,a){if((a&4194048)!==0){var e=t.lanes;e&=l.pendingLanes,a|=e,t.lanes=a,df(l,a)}}var ln={readContext:Yl,use:$u,useCallback:vl,useContext:vl,useEffect:vl,useImperativeHandle:vl,useLayoutEffect:vl,useInsertionEffect:vl,useMemo:vl,useReducer:vl,useRef:vl,useState:vl,useDebugValue:vl,useDeferredValue:vl,useTransition:vl,useSyncExternalStore:vl,useId:vl,useHostTransitionStatus:vl,useFormState:vl,useActionState:vl,useOptimistic:vl,useMemoCache:vl,useCacheRefresh:vl},ed={readContext:Yl,use:$u,useCallback:function(l,t){return Ql().memoizedState=[l,t===void 0?null:t],l},useContext:Yl,useEffect:Cs,useImperativeHandle:function(l,t,a){a=a!=null?a.concat([l]):null,Iu(4194308,4,Ls.bind(null,t,l),a)},useLayoutEffect:function(l,t){return Iu(4194308,4,l,t)},useInsertionEffect:function(l,t){Iu(4,2,l,t)},useMemo:function(l,t){var a=Ql();t=t===void 0?null:t;var e=l();if(Ma){Vt(!0);try{l()}finally{Vt(!1)}}return a.memoizedState=[e,t],e},useReducer:function(l,t,a){var e=Ql();if(a!==void 0){var u=a(t);if(Ma){Vt(!0);try{a(t)}finally{Vt(!1)}}}else u=t;return e.memoizedState=e.baseState=u,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:u},e.queue=l,l=l.dispatch=_0.bind(null,Q,l),[e.memoizedState,l]},useRef:function(l){var t=Ql();return l={current:l},t.memoizedState=l},useState:function(l){l=Vi(l);var t=l.queue,a=ld.bind(null,Q,t);return t.dispatch=a,[l.memoizedState,a]},useDebugValue:Ki,useDeferredValue:function(l,t){var a=Ql();return Ji(a,l,t)},useTransition:function(){var l=Vi(!1);return l=$s.bind(null,Q,l.queue,!0,!1),Ql().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,a){var e=Q,u=Ql();if(k){if(a===void 0)throw Error(m(407));a=a()}else{if(a=t(),cl===null)throw Error(m(349));(J&124)!==0||xs(e,t,a)}u.memoizedState=a;var n={value:a,getSnapshot:t};return u.queue=n,Cs(_s.bind(null,e,n,l),[l]),e.flags|=2048,ue(9,Fu(),zs.bind(null,e,n,a,t),null),a},useId:function(){var l=Ql(),t=cl.identifierPrefix;if(k){var a=Ut,e=jt;a=(e&~(1<<32-$l(e)-1)).toString(32)+a,t="ยซ"+t+"R"+a,a=Wu++,0H?(zl=j,j=null):zl=j.sibling;var $=y(o,j,h[H],T);if($===null){j===null&&(j=zl);break}l&&j&&$.alternate===null&&t(o,j),r=n($,r,H),Z===null?M=$:Z.sibling=$,Z=$,j=zl}if(H===h.length)return a(o,j),k&&Aa(o,H),M;if(j===null){for(;HH?(zl=j,j=null):zl=j.sibling;var oa=y(o,j,$.value,T);if(oa===null){j===null&&(j=zl);break}l&&j&&oa.alternate===null&&t(o,j),r=n(oa,r,H),Z===null?M=oa:Z.sibling=oa,Z=oa,j=zl}if($.done)return a(o,j),k&&Aa(o,H),M;if(j===null){for(;!$.done;H++,$=h.next())$=E(o,$.value,T),$!==null&&(r=n($,r,H),Z===null?M=$:Z.sibling=$,Z=$);return k&&Aa(o,H),M}for(j=e(j);!$.done;H++,$=h.next())$=g(j,o,H,$.value,T),$!==null&&(l&&$.alternate!==null&&j.delete($.key===null?H:$.key),r=n($,r,H),Z===null?M=$:Z.sibling=$,Z=$);return l&&j.forEach(function(Mh){return t(o,Mh)}),k&&Aa(o,H),M}function al(o,r,h,T){if(typeof h=="object"&&h!==null&&h.type===Ml&&h.key===null&&(h=h.props.children),typeof h=="object"&&h!==null){switch(h.$$typeof){case P:l:{for(var M=h.key;r!==null;){if(r.key===M){if(M=h.type,M===Ml){if(r.tag===7){a(o,r.sibling),T=u(r,h.props.children),T.return=o,o=T;break l}}else if(r.elementType===M||typeof M=="object"&&M!==null&&M.$$typeof===Jl&&nd(M)===r.type){a(o,r.sibling),T=u(r,h.props),ke(T,h),T.return=o,o=T;break l}a(o,r);break}else t(o,r);r=r.sibling}h.type===Ml?(T=Ta(h.props.children,o.mode,T,h.key),T.return=o,o=T):(T=Gu(h.type,h.key,h.props,null,o.mode,T),ke(T,h),T.return=o,o=T)}return i(o);case Ol:l:{for(M=h.key;r!==null;){if(r.key===M)if(r.tag===4&&r.stateNode.containerInfo===h.containerInfo&&r.stateNode.implementation===h.implementation){a(o,r.sibling),T=u(r,h.children||[]),T.return=o,o=T;break l}else{a(o,r);break}else t(o,r);r=r.sibling}T=gi(h,o.mode,T),T.return=o,o=T}return i(o);case Jl:return M=h._init,h=M(h._payload),al(o,r,h,T)}if(Hl(h))return Y(o,r,h,T);if(Rl(h)){if(M=Rl(h),typeof M!="function")throw Error(m(150));return h=M.call(h),R(o,r,h,T)}if(typeof h.then=="function")return al(o,r,tn(h),T);if(h.$$typeof===Nl)return al(o,r,Zu(o,h),T);an(o,h)}return typeof h=="string"&&h!==""||typeof h=="number"||typeof h=="bigint"?(h=""+h,r!==null&&r.tag===6?(a(o,r.sibling),T=u(r,h),T.return=o,o=T):(a(o,r),T=mi(h,o.mode,T),T.return=o,o=T),i(o)):a(o,r)}return function(o,r,h,T){try{$e=0;var M=al(o,r,h,T);return ne=null,M}catch(j){if(j===Ce||j===Lu)throw j;var Z=Fl(29,j,null,o.mode);return Z.lanes=T,Z.return=o,Z}finally{}}}var ie=id(!0),cd=id(!1),st=p(null),At=null;function Ft(l){var t=l.alternate;z(Tl,Tl.current&1),z(st,l),At===null&&(t===null||te.current!==null||t.memoizedState!==null)&&(At=l)}function fd(l){if(l.tag===22){if(z(Tl,Tl.current),z(st,l),At===null){var t=l.alternate;t!==null&&t.memoizedState!==null&&(At=l)}}else It()}function It(){z(Tl,Tl.current),z(st,st.current)}function qt(l){O(st),At===l&&(At=null),O(Tl)}var Tl=p(0);function en(l){for(var t=l;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||Xc(a)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===l)break;for(;t.sibling===null;){if(t.return===null||t.return===l)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function ki(l,t,a,e){t=l.memoizedState,a=a(e,t),a=a==null?t:U({},t,a),l.memoizedState=a,l.lanes===0&&(l.updateQueue.baseState=a)}var Fi={enqueueSetState:function(l,t,a){l=l._reactInternals;var e=tt(),u=Wt(e);u.payload=t,a!=null&&(u.callback=a),t=$t(l,u,e),t!==null&&(at(t,l,e),Ze(t,l,e))},enqueueReplaceState:function(l,t,a){l=l._reactInternals;var e=tt(),u=Wt(e);u.tag=1,u.payload=t,a!=null&&(u.callback=a),t=$t(l,u,e),t!==null&&(at(t,l,e),Ze(t,l,e))},enqueueForceUpdate:function(l,t){l=l._reactInternals;var a=tt(),e=Wt(a);e.tag=2,t!=null&&(e.callback=t),t=$t(l,e,a),t!==null&&(at(t,l,a),Ze(t,l,a))}};function sd(l,t,a,e,u,n,i){return l=l.stateNode,typeof l.shouldComponentUpdate=="function"?l.shouldComponentUpdate(e,n,i):t.prototype&&t.prototype.isPureReactComponent?!Ne(a,e)||!Ne(u,n):!0}function dd(l,t,a,e){l=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,e),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,e),t.state!==l&&Fi.enqueueReplaceState(t,t.state,null)}function Da(l,t){var a=t;if("ref"in t){a={};for(var e in t)e!=="ref"&&(a[e]=t[e])}if(l=l.defaultProps){a===t&&(a=U({},a));for(var u in l)a[u]===void 0&&(a[u]=l[u])}return a}var un=typeof reportError=="function"?reportError:function(l){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof l=="object"&&l!==null&&typeof l.message=="string"?String(l.message):String(l),error:l});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",l);return}console.error(l)};function rd(l){un(l)}function od(l){console.error(l)}function hd(l){un(l)}function nn(l,t){try{var a=l.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function vd(l,t,a){try{var e=l.onCaughtError;e(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(u){setTimeout(function(){throw u})}}function Ii(l,t,a){return a=Wt(a),a.tag=3,a.payload={element:null},a.callback=function(){nn(l,t)},a}function yd(l){return l=Wt(l),l.tag=3,l}function md(l,t,a,e){var u=a.type.getDerivedStateFromError;if(typeof u=="function"){var n=e.value;l.payload=function(){return u(n)},l.callback=function(){vd(t,a,e)}}var i=a.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(l.callback=function(){vd(t,a,e),typeof u!="function"&&(ua===null?ua=new Set([this]):ua.add(this));var c=e.stack;this.componentDidCatch(e.value,{componentStack:c!==null?c:""})})}function M0(l,t,a,e,u){if(a.flags|=32768,e!==null&&typeof e=="object"&&typeof e.then=="function"){if(t=a.alternate,t!==null&&Be(t,a,u,!0),a=st.current,a!==null){switch(a.tag){case 13:return At===null?Ac():a.alternate===null&&hl===0&&(hl=3),a.flags&=-257,a.flags|=65536,a.lanes=u,e===Oi?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([e]):t.add(e),xc(l,e,u)),!1;case 22:return a.flags|=65536,e===Oi?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([e])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([e]):a.add(e)),xc(l,e,u)),!1}throw Error(m(435,a.tag))}return xc(l,e,u),Ac(),!1}if(k)return t=st.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=u,e!==Ti&&(l=Error(m(422),{cause:e}),Ye(nt(l,a)))):(e!==Ti&&(t=Error(m(423),{cause:e}),Ye(nt(t,a))),l=l.current.alternate,l.flags|=65536,u&=-u,l.lanes|=u,e=nt(e,a),u=Ii(l.stateNode,e,u),ji(l,u),hl!==4&&(hl=2)),!1;var n=Error(m(520),{cause:e});if(n=nt(n,a),eu===null?eu=[n]:eu.push(n),hl!==4&&(hl=2),t===null)return!0;e=nt(e,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,l=u&-u,a.lanes|=l,l=Ii(a.stateNode,e,l),ji(a,l),!1;case 1:if(t=a.type,n=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||n!==null&&typeof n.componentDidCatch=="function"&&(ua===null||!ua.has(n))))return a.flags|=65536,u&=-u,a.lanes|=u,u=yd(u),md(u,l,a,e),ji(a,u),!1}a=a.return}while(a!==null);return!1}var gd=Error(m(461)),pl=!1;function Dl(l,t,a,e){t.child=l===null?cd(t,null,a,e):ie(t,l.child,a,e)}function Sd(l,t,a,e,u){a=a.render;var n=t.ref;if("ref"in e){var i={};for(var c in e)c!=="ref"&&(i[c]=e[c])}else i=e;return _a(t),e=qi(l,t,a,i,n,u),c=Yi(),l!==null&&!pl?(Bi(l,t,u),Yt(l,t,u)):(k&&c&&Si(t),t.flags|=1,Dl(l,t,e,u),t.child)}function bd(l,t,a,e,u){if(l===null){var n=a.type;return typeof n=="function"&&!yi(n)&&n.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=n,Td(l,t,n,e,u)):(l=Gu(a.type,null,e,t,t.mode,u),l.ref=t.ref,l.return=t,t.child=l)}if(n=l.child,!ic(l,u)){var i=n.memoizedProps;if(a=a.compare,a=a!==null?a:Ne,a(i,e)&&l.ref===t.ref)return Yt(l,t,u)}return t.flags|=1,l=Dt(n,e),l.ref=t.ref,l.return=t,t.child=l}function Td(l,t,a,e,u){if(l!==null){var n=l.memoizedProps;if(Ne(n,e)&&l.ref===t.ref)if(pl=!1,t.pendingProps=e=n,ic(l,u))(l.flags&131072)!==0&&(pl=!0);else return t.lanes=l.lanes,Yt(l,t,u)}return Pi(l,t,a,e,u)}function Ed(l,t,a){var e=t.pendingProps,u=e.children,n=l!==null?l.memoizedState:null;if(e.mode==="hidden"){if((t.flags&128)!==0){if(e=n!==null?n.baseLanes|a:a,l!==null){for(u=t.child=l.child,n=0;u!==null;)n=n|u.lanes|u.childLanes,u=u.sibling;t.childLanes=n&~e}else t.childLanes=0,t.child=null;return Ad(l,t,e,a)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},l!==null&&Vu(t,n!==null?n.cachePool:null),n!==null?Ts(t,n):Ni(),fd(t);else return t.lanes=t.childLanes=536870912,Ad(l,t,n!==null?n.baseLanes|a:a,a)}else n!==null?(Vu(t,n.cachePool),Ts(t,n),It(),t.memoizedState=null):(l!==null&&Vu(t,null),Ni(),It());return Dl(l,t,u,a),t.child}function Ad(l,t,a,e){var u=_i();return u=u===null?null:{parent:bl._currentValue,pool:u},t.memoizedState={baseLanes:a,cachePool:u},l!==null&&Vu(t,null),Ni(),fd(t),l!==null&&Be(l,t,e,!0),null}function cn(l,t){var a=t.ref;if(a===null)l!==null&&l.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(m(284));(l===null||l.ref!==a)&&(t.flags|=4194816)}}function Pi(l,t,a,e,u){return _a(t),a=qi(l,t,a,e,void 0,u),e=Yi(),l!==null&&!pl?(Bi(l,t,u),Yt(l,t,u)):(k&&e&&Si(t),t.flags|=1,Dl(l,t,a,u),t.child)}function pd(l,t,a,e,u,n){return _a(t),t.updateQueue=null,a=As(t,e,a,u),Es(l),e=Yi(),l!==null&&!pl?(Bi(l,t,n),Yt(l,t,n)):(k&&e&&Si(t),t.flags|=1,Dl(l,t,a,n),t.child)}function xd(l,t,a,e,u){if(_a(t),t.stateNode===null){var n=ka,i=a.contextType;typeof i=="object"&&i!==null&&(n=Yl(i)),n=new a(e,n),t.memoizedState=n.state!==null&&n.state!==void 0?n.state:null,n.updater=Fi,t.stateNode=n,n._reactInternals=t,n=t.stateNode,n.props=e,n.state=t.memoizedState,n.refs={},Mi(t),i=a.contextType,n.context=typeof i=="object"&&i!==null?Yl(i):ka,n.state=t.memoizedState,i=a.getDerivedStateFromProps,typeof i=="function"&&(ki(t,a,i,e),n.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof n.getSnapshotBeforeUpdate=="function"||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(i=n.state,typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount(),i!==n.state&&Fi.enqueueReplaceState(n,n.state,null),Le(t,e,n,u),Ve(),n.state=t.memoizedState),typeof n.componentDidMount=="function"&&(t.flags|=4194308),e=!0}else if(l===null){n=t.stateNode;var c=t.memoizedProps,f=Da(a,c);n.props=f;var v=n.context,S=a.contextType;i=ka,typeof S=="object"&&S!==null&&(i=Yl(S));var E=a.getDerivedStateFromProps;S=typeof E=="function"||typeof n.getSnapshotBeforeUpdate=="function",c=t.pendingProps!==c,S||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(c||v!==i)&&dd(t,n,e,i),wt=!1;var y=t.memoizedState;n.state=y,Le(t,e,n,u),Ve(),v=t.memoizedState,c||y!==v||wt?(typeof E=="function"&&(ki(t,a,E,e),v=t.memoizedState),(f=wt||sd(t,a,f,e,y,v,i))?(S||typeof n.UNSAFE_componentWillMount!="function"&&typeof n.componentWillMount!="function"||(typeof n.componentWillMount=="function"&&n.componentWillMount(),typeof n.UNSAFE_componentWillMount=="function"&&n.UNSAFE_componentWillMount()),typeof n.componentDidMount=="function"&&(t.flags|=4194308)):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=e,t.memoizedState=v),n.props=e,n.state=v,n.context=i,e=f):(typeof n.componentDidMount=="function"&&(t.flags|=4194308),e=!1)}else{n=t.stateNode,Di(l,t),i=t.memoizedProps,S=Da(a,i),n.props=S,E=t.pendingProps,y=n.context,v=a.contextType,f=ka,typeof v=="object"&&v!==null&&(f=Yl(v)),c=a.getDerivedStateFromProps,(v=typeof c=="function"||typeof n.getSnapshotBeforeUpdate=="function")||typeof n.UNSAFE_componentWillReceiveProps!="function"&&typeof n.componentWillReceiveProps!="function"||(i!==E||y!==f)&&dd(t,n,e,f),wt=!1,y=t.memoizedState,n.state=y,Le(t,e,n,u),Ve();var g=t.memoizedState;i!==E||y!==g||wt||l!==null&&l.dependencies!==null&&Qu(l.dependencies)?(typeof c=="function"&&(ki(t,a,c,e),g=t.memoizedState),(S=wt||sd(t,a,S,e,y,g,f)||l!==null&&l.dependencies!==null&&Qu(l.dependencies))?(v||typeof n.UNSAFE_componentWillUpdate!="function"&&typeof n.componentWillUpdate!="function"||(typeof n.componentWillUpdate=="function"&&n.componentWillUpdate(e,g,f),typeof n.UNSAFE_componentWillUpdate=="function"&&n.UNSAFE_componentWillUpdate(e,g,f)),typeof n.componentDidUpdate=="function"&&(t.flags|=4),typeof n.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof n.componentDidUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=1024),t.memoizedProps=e,t.memoizedState=g),n.props=e,n.state=g,n.context=f,e=S):(typeof n.componentDidUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=4),typeof n.getSnapshotBeforeUpdate!="function"||i===l.memoizedProps&&y===l.memoizedState||(t.flags|=1024),e=!1)}return n=e,cn(l,t),e=(t.flags&128)!==0,n||e?(n=t.stateNode,a=e&&typeof a.getDerivedStateFromError!="function"?null:n.render(),t.flags|=1,l!==null&&e?(t.child=ie(t,l.child,null,u),t.child=ie(t,null,a,u)):Dl(l,t,a,u),t.memoizedState=n.state,l=t.child):l=Yt(l,t,u),l}function zd(l,t,a,e){return qe(),t.flags|=256,Dl(l,t,a,e),t.child}var lc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function tc(l){return{baseLanes:l,cachePool:os()}}function ac(l,t,a){return l=l!==null?l.childLanes&~a:0,t&&(l|=dt),l}function _d(l,t,a){var e=t.pendingProps,u=!1,n=(t.flags&128)!==0,i;if((i=n)||(i=l!==null&&l.memoizedState===null?!1:(Tl.current&2)!==0),i&&(u=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,l===null){if(k){if(u?Ft(t):It(),k){var c=ol,f;if(f=c){l:{for(f=c,c=Et;f.nodeType!==8;){if(!c){c=null;break l}if(f=gt(f.nextSibling),f===null){c=null;break l}}c=f}c!==null?(t.memoizedState={dehydrated:c,treeContext:Ea!==null?{id:jt,overflow:Ut}:null,retryLane:536870912,hydrationErrors:null},f=Fl(18,null,null,0),f.stateNode=c,f.return=t,t.child=f,Gl=t,ol=null,f=!0):f=!1}f||xa(t)}if(c=t.memoizedState,c!==null&&(c=c.dehydrated,c!==null))return Xc(c)?t.lanes=32:t.lanes=536870912,null;qt(t)}return c=e.children,e=e.fallback,u?(It(),u=t.mode,c=fn({mode:"hidden",children:c},u),e=Ta(e,u,a,null),c.return=t,e.return=t,c.sibling=e,t.child=c,u=t.child,u.memoizedState=tc(a),u.childLanes=ac(l,i,a),t.memoizedState=lc,e):(Ft(t),ec(t,c))}if(f=l.memoizedState,f!==null&&(c=f.dehydrated,c!==null)){if(n)t.flags&256?(Ft(t),t.flags&=-257,t=uc(l,t,a)):t.memoizedState!==null?(It(),t.child=l.child,t.flags|=128,t=null):(It(),u=e.fallback,c=t.mode,e=fn({mode:"visible",children:e.children},c),u=Ta(u,c,a,null),u.flags|=2,e.return=t,u.return=t,e.sibling=u,t.child=e,ie(t,l.child,null,a),e=t.child,e.memoizedState=tc(a),e.childLanes=ac(l,i,a),t.memoizedState=lc,t=u);else if(Ft(t),Xc(c)){if(i=c.nextSibling&&c.nextSibling.dataset,i)var v=i.dgst;i=v,e=Error(m(419)),e.stack="",e.digest=i,Ye({value:e,source:null,stack:null}),t=uc(l,t,a)}else if(pl||Be(l,t,a,!1),i=(a&l.childLanes)!==0,pl||i){if(i=cl,i!==null&&(e=a&-a,e=(e&42)!==0?1:Cn(e),e=(e&(i.suspendedLanes|a))!==0?0:e,e!==0&&e!==f.retryLane))throw f.retryLane=e,$a(l,e),at(i,l,e),gd;c.data==="$?"||Ac(),t=uc(l,t,a)}else c.data==="$?"?(t.flags|=192,t.child=l.child,t=null):(l=f.treeContext,ol=gt(c.nextSibling),Gl=t,k=!0,pa=null,Et=!1,l!==null&&(ct[ft++]=jt,ct[ft++]=Ut,ct[ft++]=Ea,jt=l.id,Ut=l.overflow,Ea=t),t=ec(t,e.children),t.flags|=4096);return t}return u?(It(),u=e.fallback,c=t.mode,f=l.child,v=f.sibling,e=Dt(f,{mode:"hidden",children:e.children}),e.subtreeFlags=f.subtreeFlags&65011712,v!==null?u=Dt(v,u):(u=Ta(u,c,a,null),u.flags|=2),u.return=t,e.return=t,e.sibling=u,t.child=e,e=u,u=t.child,c=l.child.memoizedState,c===null?c=tc(a):(f=c.cachePool,f!==null?(v=bl._currentValue,f=f.parent!==v?{parent:v,pool:v}:f):f=os(),c={baseLanes:c.baseLanes|a,cachePool:f}),u.memoizedState=c,u.childLanes=ac(l,i,a),t.memoizedState=lc,e):(Ft(t),a=l.child,l=a.sibling,a=Dt(a,{mode:"visible",children:e.children}),a.return=t,a.sibling=null,l!==null&&(i=t.deletions,i===null?(t.deletions=[l],t.flags|=16):i.push(l)),t.child=a,t.memoizedState=null,a)}function ec(l,t){return t=fn({mode:"visible",children:t},l.mode),t.return=l,l.child=t}function fn(l,t){return l=Fl(22,l,null,t),l.lanes=0,l.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},l}function uc(l,t,a){return ie(t,l.child,null,a),l=ec(t,t.pendingProps.children),l.flags|=2,t.memoizedState=null,l}function Od(l,t,a){l.lanes|=t;var e=l.alternate;e!==null&&(e.lanes|=t),Ai(l.return,t,a)}function nc(l,t,a,e,u){var n=l.memoizedState;n===null?l.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:e,tail:a,tailMode:u}:(n.isBackwards=t,n.rendering=null,n.renderingStartTime=0,n.last=e,n.tail=a,n.tailMode=u)}function Md(l,t,a){var e=t.pendingProps,u=e.revealOrder,n=e.tail;if(Dl(l,t,e.children,a),e=Tl.current,(e&2)!==0)e=e&1|2,t.flags|=128;else{if(l!==null&&(l.flags&128)!==0)l:for(l=t.child;l!==null;){if(l.tag===13)l.memoizedState!==null&&Od(l,a,t);else if(l.tag===19)Od(l,a,t);else if(l.child!==null){l.child.return=l,l=l.child;continue}if(l===t)break l;for(;l.sibling===null;){if(l.return===null||l.return===t)break l;l=l.return}l.sibling.return=l.return,l=l.sibling}e&=1}switch(z(Tl,e),u){case"forwards":for(a=t.child,u=null;a!==null;)l=a.alternate,l!==null&&en(l)===null&&(u=a),a=a.sibling;a=u,a===null?(u=t.child,t.child=null):(u=a.sibling,a.sibling=null),nc(t,!1,u,a,n);break;case"backwards":for(a=null,u=t.child,t.child=null;u!==null;){if(l=u.alternate,l!==null&&en(l)===null){t.child=u;break}l=u.sibling,u.sibling=a,a=u,u=l}nc(t,!0,a,null,n);break;case"together":nc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Yt(l,t,a){if(l!==null&&(t.dependencies=l.dependencies),ea|=t.lanes,(a&t.childLanes)===0)if(l!==null){if(Be(l,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(l!==null&&t.child!==l.child)throw Error(m(153));if(t.child!==null){for(l=t.child,a=Dt(l,l.pendingProps),t.child=a,a.return=t;l.sibling!==null;)l=l.sibling,a=a.sibling=Dt(l,l.pendingProps),a.return=t;a.sibling=null}return t.child}function ic(l,t){return(l.lanes&t)!==0?!0:(l=l.dependencies,!!(l!==null&&Qu(l)))}function D0(l,t,a){switch(t.tag){case 3:sl(t,t.stateNode.containerInfo),Jt(t,bl,l.memoizedState.cache),qe();break;case 27:case 5:qn(t);break;case 4:sl(t,t.stateNode.containerInfo);break;case 10:Jt(t,t.type,t.memoizedProps.value);break;case 13:var e=t.memoizedState;if(e!==null)return e.dehydrated!==null?(Ft(t),t.flags|=128,null):(a&t.child.childLanes)!==0?_d(l,t,a):(Ft(t),l=Yt(l,t,a),l!==null?l.sibling:null);Ft(t);break;case 19:var u=(l.flags&128)!==0;if(e=(a&t.childLanes)!==0,e||(Be(l,t,a,!1),e=(a&t.childLanes)!==0),u){if(e)return Md(l,t,a);t.flags|=128}if(u=t.memoizedState,u!==null&&(u.rendering=null,u.tail=null,u.lastEffect=null),z(Tl,Tl.current),e)break;return null;case 22:case 23:return t.lanes=0,Ed(l,t,a);case 24:Jt(t,bl,l.memoizedState.cache)}return Yt(l,t,a)}function Dd(l,t,a){if(l!==null)if(l.memoizedProps!==t.pendingProps)pl=!0;else{if(!ic(l,a)&&(t.flags&128)===0)return pl=!1,D0(l,t,a);pl=(l.flags&131072)!==0}else pl=!1,k&&(t.flags&1048576)!==0&&ns(t,Cu,t.index);switch(t.lanes=0,t.tag){case 16:l:{l=t.pendingProps;var e=t.elementType,u=e._init;if(e=u(e._payload),t.type=e,typeof e=="function")yi(e)?(l=Da(e,l),t.tag=1,t=xd(null,t,e,l,a)):(t.tag=0,t=Pi(null,t,e,l,a));else{if(e!=null){if(u=e.$$typeof,u===vt){t.tag=11,t=Sd(null,t,e,l,a);break l}else if(u===Kl){t.tag=14,t=bd(null,t,e,l,a);break l}}throw t=va(e)||e,Error(m(306,t,""))}}return t;case 0:return Pi(l,t,t.type,t.pendingProps,a);case 1:return e=t.type,u=Da(e,t.pendingProps),xd(l,t,e,u,a);case 3:l:{if(sl(t,t.stateNode.containerInfo),l===null)throw Error(m(387));e=t.pendingProps;var n=t.memoizedState;u=n.element,Di(l,t),Le(t,e,null,a);var i=t.memoizedState;if(e=i.cache,Jt(t,bl,e),e!==n.cache&&pi(t,[bl],a,!0),Ve(),e=i.element,n.isDehydrated)if(n={element:e,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=n,t.memoizedState=n,t.flags&256){t=zd(l,t,e,a);break l}else if(e!==u){u=nt(Error(m(424)),t),Ye(u),t=zd(l,t,e,a);break l}else{switch(l=t.stateNode.containerInfo,l.nodeType){case 9:l=l.body;break;default:l=l.nodeName==="HTML"?l.ownerDocument.body:l}for(ol=gt(l.firstChild),Gl=t,k=!0,pa=null,Et=!0,a=cd(t,null,e,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling}else{if(qe(),e===u){t=Yt(l,t,a);break l}Dl(l,t,e,a)}t=t.child}return t;case 26:return cn(l,t),l===null?(a=Rr(t.type,null,t.pendingProps,null))?t.memoizedState=a:k||(a=t.type,l=t.pendingProps,e=An(G.current).createElement(a),e[ql]=t,e[Xl]=l,Ul(e,a,l),Al(e),t.stateNode=e):t.memoizedState=Rr(t.type,l.memoizedProps,t.pendingProps,l.memoizedState),null;case 27:return qn(t),l===null&&k&&(e=t.stateNode=jr(t.type,t.pendingProps,G.current),Gl=t,Et=!0,u=ol,ca(t.type)?(Cc=u,ol=gt(e.firstChild)):ol=u),Dl(l,t,t.pendingProps.children,a),cn(l,t),l===null&&(t.flags|=4194304),t.child;case 5:return l===null&&k&&((u=e=ol)&&(e=eh(e,t.type,t.pendingProps,Et),e!==null?(t.stateNode=e,Gl=t,ol=gt(e.firstChild),Et=!1,u=!0):u=!1),u||xa(t)),qn(t),u=t.type,n=t.pendingProps,i=l!==null?l.memoizedProps:null,e=n.children,Yc(u,n)?e=null:i!==null&&Yc(u,i)&&(t.flags|=32),t.memoizedState!==null&&(u=qi(l,t,E0,null,null,a),ou._currentValue=u),cn(l,t),Dl(l,t,e,a),t.child;case 6:return l===null&&k&&((l=a=ol)&&(a=uh(a,t.pendingProps,Et),a!==null?(t.stateNode=a,Gl=t,ol=null,l=!0):l=!1),l||xa(t)),null;case 13:return _d(l,t,a);case 4:return sl(t,t.stateNode.containerInfo),e=t.pendingProps,l===null?t.child=ie(t,null,e,a):Dl(l,t,e,a),t.child;case 11:return Sd(l,t,t.type,t.pendingProps,a);case 7:return Dl(l,t,t.pendingProps,a),t.child;case 8:return Dl(l,t,t.pendingProps.children,a),t.child;case 12:return Dl(l,t,t.pendingProps.children,a),t.child;case 10:return e=t.pendingProps,Jt(t,t.type,e.value),Dl(l,t,e.children,a),t.child;case 9:return u=t.type._context,e=t.pendingProps.children,_a(t),u=Yl(u),e=e(u),t.flags|=1,Dl(l,t,e,a),t.child;case 14:return bd(l,t,t.type,t.pendingProps,a);case 15:return Td(l,t,t.type,t.pendingProps,a);case 19:return Md(l,t,a);case 31:return e=t.pendingProps,a=t.mode,e={mode:e.mode,children:e.children},l===null?(a=fn(e,a),a.ref=t.ref,t.child=a,a.return=t,t=a):(a=Dt(l.child,e),a.ref=t.ref,t.child=a,a.return=t,t=a),t;case 22:return Ed(l,t,a);case 24:return _a(t),e=Yl(bl),l===null?(u=_i(),u===null&&(u=cl,n=xi(),u.pooledCache=n,n.refCount++,n!==null&&(u.pooledCacheLanes|=a),u=n),t.memoizedState={parent:e,cache:u},Mi(t),Jt(t,bl,u)):((l.lanes&a)!==0&&(Di(l,t),Le(t,null,null,a),Ve()),u=l.memoizedState,n=t.memoizedState,u.parent!==e?(u={parent:e,cache:e},t.memoizedState=u,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=u),Jt(t,bl,e)):(e=n.cache,Jt(t,bl,e),e!==u.cache&&pi(t,[bl],a,!0))),Dl(l,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(m(156,t.tag))}function Bt(l){l.flags|=4}function jd(l,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)l.flags&=-16777217;else if(l.flags|=16777216,!Gr(t)){if(t=st.current,t!==null&&((J&4194048)===J?At!==null:(J&62914560)!==J&&(J&536870912)===0||t!==At))throw Qe=Oi,hs;l.flags|=8192}}function sn(l,t){t!==null&&(l.flags|=4),l.flags&16384&&(t=l.tag!==22?ff():536870912,l.lanes|=t,de|=t)}function Fe(l,t){if(!k)switch(l.tailMode){case"hidden":t=l.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?l.tail=null:a.sibling=null;break;case"collapsed":a=l.tail;for(var e=null;a!==null;)a.alternate!==null&&(e=a),a=a.sibling;e===null?t||l.tail===null?l.tail=null:l.tail.sibling=null:e.sibling=null}}function rl(l){var t=l.alternate!==null&&l.alternate.child===l.child,a=0,e=0;if(t)for(var u=l.child;u!==null;)a|=u.lanes|u.childLanes,e|=u.subtreeFlags&65011712,e|=u.flags&65011712,u.return=l,u=u.sibling;else for(u=l.child;u!==null;)a|=u.lanes|u.childLanes,e|=u.subtreeFlags,e|=u.flags,u.return=l,u=u.sibling;return l.subtreeFlags|=e,l.childLanes=a,t}function j0(l,t,a){var e=t.pendingProps;switch(bi(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return rl(t),null;case 1:return rl(t),null;case 3:return a=t.stateNode,e=null,l!==null&&(e=l.memoizedState.cache),t.memoizedState.cache!==e&&(t.flags|=2048),Rt(bl),Zt(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(l===null||l.child===null)&&(He(t)?Bt(t):l===null||l.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,fs())),rl(t),null;case 26:return a=t.memoizedState,l===null?(Bt(t),a!==null?(rl(t),jd(t,a)):(rl(t),t.flags&=-16777217)):a?a!==l.memoizedState?(Bt(t),rl(t),jd(t,a)):(rl(t),t.flags&=-16777217):(l.memoizedProps!==e&&Bt(t),rl(t),t.flags&=-16777217),null;case 27:bu(t),a=G.current;var u=t.type;if(l!==null&&t.stateNode!=null)l.memoizedProps!==e&&Bt(t);else{if(!e){if(t.stateNode===null)throw Error(m(166));return rl(t),null}l=N.current,He(t)?is(t):(l=jr(u,e,a),t.stateNode=l,Bt(t))}return rl(t),null;case 5:if(bu(t),a=t.type,l!==null&&t.stateNode!=null)l.memoizedProps!==e&&Bt(t);else{if(!e){if(t.stateNode===null)throw Error(m(166));return rl(t),null}if(l=N.current,He(t))is(t);else{switch(u=An(G.current),l){case 1:l=u.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:l=u.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":l=u.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":l=u.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":l=u.createElement("div"),l.innerHTML="
-
+
+