@vmasrani/fuzzy-img-viewer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 vmasrani
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,203 @@
1
+ # AquaEye Viz - Web App
2
+
3
+ A high-performance image browser with fzf-like fuzzy search, virtualized grid rendering, and keyboard-first navigation. Now accessible through your browser!
4
+
5
+ ## Features
6
+
7
+ - **fzf-like Search**: Instant, incremental fuzzy search with match highlighting
8
+ - **Virtualized Grid**: Smoothly browse thousands of images with TanStack Virtual
9
+ - **Keyboard Navigation**: Full keyboard control for fast workflow
10
+ - **Smart Thumbnail Caching**: Fast thumbnail generation with SHA2-based caching
11
+ - **Filename Parsing**: Automatic extraction of metadata from filenames (dates, subjects, series, frame numbers)
12
+ - **Multi-view Modes**: Grid, Detail (with zoom/pan), and Compare modes
13
+ - **Multi-selection**: Select multiple images for comparison
14
+ - **Browser-based**: Access through Chrome/Firefox - no desktop environment needed!
15
+
16
+ ## Architecture
17
+
18
+ - **Frontend**: React + Vite → builds to static files
19
+ - **Backend**: Rust + Axum web server → serves both API and static frontend
20
+ - **Communication**: REST API
21
+ - **Distribution**: Single Rust binary + static files, packaged via npm
22
+
23
+ ## Quick Start
24
+
25
+ ### Production Use (via npm package)
26
+
27
+ ```bash
28
+ # Install the package (when published)
29
+ npm install -g aquaeye-viz
30
+
31
+ # Run it
32
+ aquaeye-viz /path/to/images
33
+ ```
34
+
35
+ Then open **http://localhost:3000** in your browser.
36
+
37
+ ### Development
38
+
39
+ **Prerequisites:**
40
+ - **Rust** (1.70+): `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
41
+ - **Node.js** (20+): `nvm install 20` or download from [nodejs.org](https://nodejs.org)
42
+
43
+ **Setup:**
44
+ ```bash
45
+ # Install dependencies
46
+ npm install
47
+ ```
48
+
49
+ **Run development servers:**
50
+ ```bash
51
+ # Option 1: Using the start script (runs both backend and frontend)
52
+ ./start.sh /path/to/images
53
+
54
+ # Option 2: Manual start
55
+ # Terminal 1 - Backend:
56
+ cd backend && cargo run -- /path/to/images
57
+
58
+ # Terminal 2 - Frontend:
59
+ npm run dev
60
+ ```
61
+
62
+ Development mode runs frontend on **http://localhost:5173** with hot reload.
63
+
64
+ ## Usage
65
+
66
+ 1. Click "Select Folder" button
67
+ 2. Enter the **full path** to a folder containing images (e.g., `/home/user/Pictures`)
68
+ 3. Use keyboard shortcuts to navigate
69
+
70
+ ### Keyboard Shortcuts
71
+
72
+ | Key | Action |
73
+ |-----|--------|
74
+ | `/` | Focus search box |
75
+ | `↑` `↓` `←` `→` | Navigate through images |
76
+ | `Enter` | Open detail view |
77
+ | `Space` | Toggle selection (for comparison) |
78
+ | `g` | Switch to grid view |
79
+ | `c` | Switch to compare view (for selected images) |
80
+ | `+` / `-` | Adjust thumbnail size |
81
+ | `Esc` | Close view / Clear search |
82
+
83
+ ### Views
84
+
85
+ 1. **Grid View**: Browse images as thumbnails in a virtualized grid
86
+ 2. **Detail View**: View full-resolution image with zoom/pan (mouse wheel to zoom, drag to pan)
87
+ 3. **Compare View**: View multiple selected images side-by-side
88
+
89
+ ### Filename Parsing
90
+
91
+ The app automatically parses filenames to extract metadata:
92
+
93
+ - **Date**: ISO format at start (e.g., `2025-07-23-...`)
94
+ - **Subject**: Identified keywords (e.g., `sasamat`, `lake`)
95
+ - **Series**: Patterns like `delta3`, `series-01`
96
+ - **Numbers**: Extracted as `a`, `b`, `frame` values for filtering
97
+
98
+ Example: `2025-07-23-sasamat-delta3-0028.png`
99
+ - Date: 2025-07-23
100
+ - Subject: sasamat
101
+ - Series: delta3
102
+ - Frame: 0028
103
+
104
+ ## Architecture Details
105
+
106
+ ### Backend (Rust/Axum)
107
+
108
+ - **backend/src/parser.rs**: Filename parsing and metadata extraction
109
+ - **backend/src/thumbnail.rs**: Thumbnail generation and caching with SHA2 hashing
110
+ - **backend/src/main.rs**: Axum web server with REST API endpoints
111
+
112
+ **API Endpoints:**
113
+ - `POST /api/scan` - Scan folder for images
114
+ - `POST /api/thumbnails` - Generate thumbnails
115
+ - `GET /api/image/*path` - Serve image by path
116
+ - `GET /api/folders?path=...` - List folders
117
+
118
+ ### Frontend (React)
119
+
120
+ - **src/store.ts**: Zustand state management
121
+ - **src/search.ts**: Fuzzy search implementation
122
+ - **src/commands.ts**: HTTP API client
123
+ - **src/components/Grid.tsx**: Virtualized grid with TanStack Virtual
124
+ - **src/components/Viewer.tsx**: Detail view with zoom/pan
125
+ - **src/components/Compare.tsx**: Multi-image comparison
126
+
127
+ ## Performance
128
+
129
+ - Thumbnails are generated lazily (only for visible items)
130
+ - Thumbnails are cached using SHA256(path + mtime + size) as key
131
+ - Grid virtualization ensures smooth scrolling with 10k+ images
132
+ - Search is debounced and optimized for large datasets
133
+ - Parallel thumbnail generation with rayon
134
+
135
+ ## Development
136
+
137
+ **Frontend** (React + TypeScript):
138
+ ```bash
139
+ npm run dev # Hot reload enabled
140
+ ```
141
+
142
+ **Backend** (Rust):
143
+ ```bash
144
+ cd backend
145
+ cargo run # Auto-recompile with cargo watch
146
+ ```
147
+
148
+ ## Building for Distribution
149
+
150
+ Build both frontend and backend for production:
151
+
152
+ ```bash
153
+ # Build everything
154
+ npm run build
155
+
156
+ # Or use the build script
157
+ ./scripts/build-all.sh
158
+ ```
159
+
160
+ This creates:
161
+ - **Frontend**: Optimized static files in `dist/`
162
+ - **Backend**: Release binary in `backend/target/release/aquaeye-viz-backend`
163
+
164
+ The backend automatically serves the static frontend files when running in production.
165
+
166
+ ### Package for npm
167
+
168
+ ```bash
169
+ # Create npm package
170
+ npm pack
171
+
172
+ # This creates: aquaeye-viz-0.1.0.tgz
173
+ # Install locally to test:
174
+ npm install -g ./aquaeye-viz-0.1.0.tgz
175
+ aquaeye-viz /path/to/images
176
+ ```
177
+
178
+ The package includes:
179
+ - Compiled Rust binary
180
+ - Built frontend (dist/)
181
+ - CLI wrapper (bin/cli.js)
182
+
183
+ ### Cross-platform Builds
184
+
185
+ For distributing to different platforms, build the Rust binary on each target platform:
186
+
187
+ ```bash
188
+ # macOS (Intel)
189
+ cargo build --release --target x86_64-apple-darwin
190
+
191
+ # macOS (Apple Silicon)
192
+ cargo build --release --target aarch64-apple-darwin
193
+
194
+ # Linux
195
+ cargo build --release --target x86_64-unknown-linux-gnu
196
+
197
+ # Windows
198
+ cargo build --release --target x86_64-pc-windows-msvc
199
+ ```
200
+
201
+ ## License
202
+
203
+ MIT
@@ -0,0 +1 @@
1
+ /Users/vmasrani/dev/projects/rust-img-viewer/app/backend/target/release/fuzzy-img-viewer-backend: /Users/vmasrani/dev/projects/rust-img-viewer/app/backend/src/main.rs /Users/vmasrani/dev/projects/rust-img-viewer/app/backend/src/parser.rs /Users/vmasrani/dev/projects/rust-img-viewer/app/backend/src/thumbnail.rs
package/bin/cli.js ADDED
@@ -0,0 +1,80 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawn } from 'child_process';
4
+ import { fileURLToPath } from 'url';
5
+ import { dirname, join } from 'path';
6
+ import { platform } from 'os';
7
+ import { existsSync } from 'fs';
8
+
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = dirname(__filename);
11
+
12
+ // Determine binary name based on platform
13
+ const isWindows = platform() === 'win32';
14
+ const binaryName = isWindows ? 'fuzzy-img-viewer-backend.exe' : 'fuzzy-img-viewer-backend';
15
+
16
+ // Find the binary path (relative to package root)
17
+ const packageRoot = join(__dirname, '..');
18
+ const binaryPath = join(packageRoot, 'backend', 'target', 'release', binaryName);
19
+
20
+ // Check if binary exists
21
+ if (!existsSync(binaryPath)) {
22
+ console.error('❌ Error: Backend binary not found at:', binaryPath);
23
+ console.error(' Please run: npm run build:backend');
24
+ process.exit(1);
25
+ }
26
+
27
+ // Check if dist folder exists
28
+ const distPath = join(packageRoot, 'dist');
29
+ if (!existsSync(distPath)) {
30
+ console.error('❌ Error: Frontend dist folder not found at:', distPath);
31
+ console.error(' Please run: npm run build:frontend');
32
+ process.exit(1);
33
+ }
34
+
35
+ // Get folder path from command line arguments
36
+ const folderPath = process.argv[2];
37
+
38
+ if (!folderPath) {
39
+ console.error('Usage: fuzzy-img-viewer <folder_path>');
40
+ console.error('Example: fuzzy-img-viewer /path/to/your/images');
41
+ process.exit(1);
42
+ }
43
+
44
+ console.log('📁 Image folder:', folderPath);
45
+ console.log('🚀 Starting Fuzzy Image Viewer backend...');
46
+
47
+ // Start the backend server
48
+ const backend = spawn(binaryPath, [folderPath], {
49
+ stdio: 'inherit',
50
+ env: { ...process.env }
51
+ });
52
+
53
+ // Handle process termination
54
+ const cleanup = () => {
55
+ console.log('\n🛑 Shutting down...');
56
+ backend.kill();
57
+ process.exit(0);
58
+ };
59
+
60
+ process.on('SIGINT', cleanup);
61
+ process.on('SIGTERM', cleanup);
62
+
63
+ backend.on('error', (err) => {
64
+ console.error('❌ Failed to start backend:', err);
65
+ process.exit(1);
66
+ });
67
+
68
+ backend.on('exit', (code) => {
69
+ if (code !== 0 && code !== null) {
70
+ console.error(`❌ Backend exited with code ${code}`);
71
+ process.exit(code);
72
+ }
73
+ });
74
+
75
+ // Wait a moment then print instructions
76
+ setTimeout(() => {
77
+ console.log('\n✅ Fuzzy Image Viewer is running!');
78
+ console.log(' Open in browser: http://localhost:3000');
79
+ console.log(' Press Ctrl+C to stop\n');
80
+ }, 2000);
@@ -0,0 +1,59 @@
1
+ (function(){const w=document.createElement("link").relList;if(w&&w.supports&&w.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))d(c);new MutationObserver(c=>{for(const y of c)if(y.type==="childList")for(const E of y.addedNodes)E.tagName==="LINK"&&E.rel==="modulepreload"&&d(E)}).observe(document,{childList:!0,subtree:!0});function s(c){const y={};return c.integrity&&(y.integrity=c.integrity),c.referrerPolicy&&(y.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?y.credentials="include":c.crossOrigin==="anonymous"?y.credentials="omit":y.credentials="same-origin",y}function d(c){if(c.ep)return;c.ep=!0;const y=s(c);fetch(c.href,y)}})();function ti(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var $o={exports:{}},$r={},Ho={exports:{}},pe={};/**
2
+ * @license React
3
+ * react.production.min.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var Aa;function ud(){if(Aa)return pe;Aa=1;var a=Symbol.for("react.element"),w=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),c=Symbol.for("react.profiler"),y=Symbol.for("react.provider"),E=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),B=Symbol.for("react.memo"),T=Symbol.for("react.lazy"),U=Symbol.iterator;function N(h){return h===null||typeof h!="object"?null:(h=U&&h[U]||h["@@iterator"],typeof h=="function"?h:null)}var W={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Z=Object.assign,$={};function Q(h,z,ce){this.props=h,this.context=z,this.refs=$,this.updater=ce||W}Q.prototype.isReactComponent={},Q.prototype.setState=function(h,z){if(typeof h!="object"&&typeof h!="function"&&h!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,h,z,"setState")},Q.prototype.forceUpdate=function(h){this.updater.enqueueForceUpdate(this,h,"forceUpdate")};function oe(){}oe.prototype=Q.prototype;function ae(h,z,ce){this.props=h,this.context=z,this.refs=$,this.updater=ce||W}var J=ae.prototype=new oe;J.constructor=ae,Z(J,Q.prototype),J.isPureReactComponent=!0;var ee=Array.isArray,fe=Object.prototype.hasOwnProperty,Y={current:null},ne={key:!0,ref:!0,__self:!0,__source:!0};function ue(h,z,ce){var x,v={},C=null,V=null;if(z!=null)for(x in z.ref!==void 0&&(V=z.ref),z.key!==void 0&&(C=""+z.key),z)fe.call(z,x)&&!ne.hasOwnProperty(x)&&(v[x]=z[x]);var F=arguments.length-2;if(F===1)v.children=ce;else if(1<F){for(var A=Array(F),O=0;O<F;O++)A[O]=arguments[O+2];v.children=A}if(h&&h.defaultProps)for(x in F=h.defaultProps,F)v[x]===void 0&&(v[x]=F[x]);return{$$typeof:a,type:h,key:C,ref:V,props:v,_owner:Y.current}}function Ze(h,z){return{$$typeof:a,type:h.type,key:z,ref:h.ref,props:h.props,_owner:h._owner}}function rt(h){return typeof h=="object"&&h!==null&&h.$$typeof===a}function qe(h){var z={"=":"=0",":":"=2"};return"$"+h.replace(/[=:]/g,function(ce){return z[ce]})}var He=/\/+/g;function Je(h,z){return typeof h=="object"&&h!==null&&h.key!=null?qe(""+h.key):z.toString(36)}function Qe(h,z,ce,x,v){var C=typeof h;(C==="undefined"||C==="boolean")&&(h=null);var V=!1;if(h===null)V=!0;else switch(C){case"string":case"number":V=!0;break;case"object":switch(h.$$typeof){case a:case w:V=!0}}if(V)return V=h,v=v(V),h=x===""?"."+Je(V,0):x,ee(v)?(ce="",h!=null&&(ce=h.replace(He,"$&/")+"/"),Qe(v,z,ce,"",function(O){return O})):v!=null&&(rt(v)&&(v=Ze(v,ce+(!v.key||V&&V.key===v.key?"":(""+v.key).replace(He,"$&/")+"/")+h)),z.push(v)),1;if(V=0,x=x===""?".":x+":",ee(h))for(var F=0;F<h.length;F++){C=h[F];var A=x+Je(C,F);V+=Qe(C,z,ce,A,v)}else if(A=N(h),typeof A=="function")for(h=A.call(h),F=0;!(C=h.next()).done;)C=C.value,A=x+Je(C,F++),V+=Qe(C,z,ce,A,v);else if(C==="object")throw z=String(h),Error("Objects are not valid as a React child (found: "+(z==="[object Object]"?"object with keys {"+Object.keys(h).join(", ")+"}":z)+"). If you meant to render a collection of children, use an array instead.");return V}function at(h,z,ce){if(h==null)return h;var x=[],v=0;return Qe(h,x,"","",function(C){return z.call(ce,C,v++)}),x}function Re(h){if(h._status===-1){var z=h._result;z=z(),z.then(function(ce){(h._status===0||h._status===-1)&&(h._status=1,h._result=ce)},function(ce){(h._status===0||h._status===-1)&&(h._status=2,h._result=ce)}),h._status===-1&&(h._status=0,h._result=z)}if(h._status===1)return h._result.default;throw h._result}var Ne={current:null},R={transition:null},te={ReactCurrentDispatcher:Ne,ReactCurrentBatchConfig:R,ReactCurrentOwner:Y};function D(){throw Error("act(...) is not supported in production builds of React.")}return pe.Children={map:at,forEach:function(h,z,ce){at(h,function(){z.apply(this,arguments)},ce)},count:function(h){var z=0;return at(h,function(){z++}),z},toArray:function(h){return at(h,function(z){return z})||[]},only:function(h){if(!rt(h))throw Error("React.Children.only expected to receive a single React element child.");return h}},pe.Component=Q,pe.Fragment=s,pe.Profiler=c,pe.PureComponent=ae,pe.StrictMode=d,pe.Suspense=P,pe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=te,pe.act=D,pe.cloneElement=function(h,z,ce){if(h==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+h+".");var x=Z({},h.props),v=h.key,C=h.ref,V=h._owner;if(z!=null){if(z.ref!==void 0&&(C=z.ref,V=Y.current),z.key!==void 0&&(v=""+z.key),h.type&&h.type.defaultProps)var F=h.type.defaultProps;for(A in z)fe.call(z,A)&&!ne.hasOwnProperty(A)&&(x[A]=z[A]===void 0&&F!==void 0?F[A]:z[A])}var A=arguments.length-2;if(A===1)x.children=ce;else if(1<A){F=Array(A);for(var O=0;O<A;O++)F[O]=arguments[O+2];x.children=F}return{$$typeof:a,type:h.type,key:v,ref:C,props:x,_owner:V}},pe.createContext=function(h){return h={$$typeof:E,_currentValue:h,_currentValue2:h,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},h.Provider={$$typeof:y,_context:h},h.Consumer=h},pe.createElement=ue,pe.createFactory=function(h){var z=ue.bind(null,h);return z.type=h,z},pe.createRef=function(){return{current:null}},pe.forwardRef=function(h){return{$$typeof:k,render:h}},pe.isValidElement=rt,pe.lazy=function(h){return{$$typeof:T,_payload:{_status:-1,_result:h},_init:Re}},pe.memo=function(h,z){return{$$typeof:B,type:h,compare:z===void 0?null:z}},pe.startTransition=function(h){var z=R.transition;R.transition={};try{h()}finally{R.transition=z}},pe.unstable_act=D,pe.useCallback=function(h,z){return Ne.current.useCallback(h,z)},pe.useContext=function(h){return Ne.current.useContext(h)},pe.useDebugValue=function(){},pe.useDeferredValue=function(h){return Ne.current.useDeferredValue(h)},pe.useEffect=function(h,z){return Ne.current.useEffect(h,z)},pe.useId=function(){return Ne.current.useId()},pe.useImperativeHandle=function(h,z,ce){return Ne.current.useImperativeHandle(h,z,ce)},pe.useInsertionEffect=function(h,z){return Ne.current.useInsertionEffect(h,z)},pe.useLayoutEffect=function(h,z){return Ne.current.useLayoutEffect(h,z)},pe.useMemo=function(h,z){return Ne.current.useMemo(h,z)},pe.useReducer=function(h,z,ce){return Ne.current.useReducer(h,z,ce)},pe.useRef=function(h){return Ne.current.useRef(h)},pe.useState=function(h){return Ne.current.useState(h)},pe.useSyncExternalStore=function(h,z,ce){return Ne.current.useSyncExternalStore(h,z,ce)},pe.useTransition=function(){return Ne.current.useTransition()},pe.version="18.3.1",pe}var Ua;function Hr(){return Ua||(Ua=1,Ho.exports=ud()),Ho.exports}/**
10
+ * @license React
11
+ * react-jsx-runtime.production.min.js
12
+ *
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var Va;function ad(){if(Va)return $r;Va=1;var a=Hr(),w=Symbol.for("react.element"),s=Symbol.for("react.fragment"),d=Object.prototype.hasOwnProperty,c=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,y={key:!0,ref:!0,__self:!0,__source:!0};function E(k,P,B){var T,U={},N=null,W=null;B!==void 0&&(N=""+B),P.key!==void 0&&(N=""+P.key),P.ref!==void 0&&(W=P.ref);for(T in P)d.call(P,T)&&!y.hasOwnProperty(T)&&(U[T]=P[T]);if(k&&k.defaultProps)for(T in P=k.defaultProps,P)U[T]===void 0&&(U[T]=P[T]);return{$$typeof:w,type:k,key:N,ref:W,props:U,_owner:c.current}}return $r.Fragment=s,$r.jsx=E,$r.jsxs=E,$r}var Ba;function cd(){return Ba||(Ba=1,$o.exports=ad()),$o.exports}var _=cd(),Ee=Hr();const uc=ti(Ee);var bl={},Qo={exports:{}},yt={},Ko={exports:{}},Yo={};/**
18
+ * @license React
19
+ * scheduler.production.min.js
20
+ *
21
+ * Copyright (c) Facebook, Inc. and its affiliates.
22
+ *
23
+ * This source code is licensed under the MIT license found in the
24
+ * LICENSE file in the root directory of this source tree.
25
+ */var Wa;function fd(){return Wa||(Wa=1,(function(a){function w(R,te){var D=R.length;R.push(te);e:for(;0<D;){var h=D-1>>>1,z=R[h];if(0<c(z,te))R[h]=te,R[D]=z,D=h;else break e}}function s(R){return R.length===0?null:R[0]}function d(R){if(R.length===0)return null;var te=R[0],D=R.pop();if(D!==te){R[0]=D;e:for(var h=0,z=R.length,ce=z>>>1;h<ce;){var x=2*(h+1)-1,v=R[x],C=x+1,V=R[C];if(0>c(v,D))C<z&&0>c(V,v)?(R[h]=V,R[C]=D,h=C):(R[h]=v,R[x]=D,h=x);else if(C<z&&0>c(V,D))R[h]=V,R[C]=D,h=C;else break e}}return te}function c(R,te){var D=R.sortIndex-te.sortIndex;return D!==0?D:R.id-te.id}if(typeof performance=="object"&&typeof performance.now=="function"){var y=performance;a.unstable_now=function(){return y.now()}}else{var E=Date,k=E.now();a.unstable_now=function(){return E.now()-k}}var P=[],B=[],T=1,U=null,N=3,W=!1,Z=!1,$=!1,Q=typeof setTimeout=="function"?setTimeout:null,oe=typeof clearTimeout=="function"?clearTimeout:null,ae=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function J(R){for(var te=s(B);te!==null;){if(te.callback===null)d(B);else if(te.startTime<=R)d(B),te.sortIndex=te.expirationTime,w(P,te);else break;te=s(B)}}function ee(R){if($=!1,J(R),!Z)if(s(P)!==null)Z=!0,Re(fe);else{var te=s(B);te!==null&&Ne(ee,te.startTime-R)}}function fe(R,te){Z=!1,$&&($=!1,oe(ue),ue=-1),W=!0;var D=N;try{for(J(te),U=s(P);U!==null&&(!(U.expirationTime>te)||R&&!qe());){var h=U.callback;if(typeof h=="function"){U.callback=null,N=U.priorityLevel;var z=h(U.expirationTime<=te);te=a.unstable_now(),typeof z=="function"?U.callback=z:U===s(P)&&d(P),J(te)}else d(P);U=s(P)}if(U!==null)var ce=!0;else{var x=s(B);x!==null&&Ne(ee,x.startTime-te),ce=!1}return ce}finally{U=null,N=D,W=!1}}var Y=!1,ne=null,ue=-1,Ze=5,rt=-1;function qe(){return!(a.unstable_now()-rt<Ze)}function He(){if(ne!==null){var R=a.unstable_now();rt=R;var te=!0;try{te=ne(!0,R)}finally{te?Je():(Y=!1,ne=null)}}else Y=!1}var Je;if(typeof ae=="function")Je=function(){ae(He)};else if(typeof MessageChannel<"u"){var Qe=new MessageChannel,at=Qe.port2;Qe.port1.onmessage=He,Je=function(){at.postMessage(null)}}else Je=function(){Q(He,0)};function Re(R){ne=R,Y||(Y=!0,Je())}function Ne(R,te){ue=Q(function(){R(a.unstable_now())},te)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(R){R.callback=null},a.unstable_continueExecution=function(){Z||W||(Z=!0,Re(fe))},a.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Ze=0<R?Math.floor(1e3/R):5},a.unstable_getCurrentPriorityLevel=function(){return N},a.unstable_getFirstCallbackNode=function(){return s(P)},a.unstable_next=function(R){switch(N){case 1:case 2:case 3:var te=3;break;default:te=N}var D=N;N=te;try{return R()}finally{N=D}},a.unstable_pauseExecution=function(){},a.unstable_requestPaint=function(){},a.unstable_runWithPriority=function(R,te){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var D=N;N=R;try{return te()}finally{N=D}},a.unstable_scheduleCallback=function(R,te,D){var h=a.unstable_now();switch(typeof D=="object"&&D!==null?(D=D.delay,D=typeof D=="number"&&0<D?h+D:h):D=h,R){case 1:var z=-1;break;case 2:z=250;break;case 5:z=1073741823;break;case 4:z=1e4;break;default:z=5e3}return z=D+z,R={id:T++,callback:te,priorityLevel:R,startTime:D,expirationTime:z,sortIndex:-1},D>h?(R.sortIndex=D,w(B,R),s(P)===null&&R===s(B)&&($?(oe(ue),ue=-1):$=!0,Ne(ee,D-h))):(R.sortIndex=z,w(P,R),Z||W||(Z=!0,Re(fe))),R},a.unstable_shouldYield=qe,a.unstable_wrapCallback=function(R){var te=N;return function(){var D=N;N=te;try{return R.apply(this,arguments)}finally{N=D}}}})(Yo)),Yo}var $a;function dd(){return $a||($a=1,Ko.exports=fd()),Ko.exports}/**
26
+ * @license React
27
+ * react-dom.production.min.js
28
+ *
29
+ * Copyright (c) Facebook, Inc. and its affiliates.
30
+ *
31
+ * This source code is licensed under the MIT license found in the
32
+ * LICENSE file in the root directory of this source tree.
33
+ */var Ha;function pd(){if(Ha)return yt;Ha=1;var a=Hr(),w=dd();function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var d=new Set,c={};function y(e,t){E(e,t),E(e+"Capture",t)}function E(e,t){for(c[e]=t,e=0;e<t.length;e++)d.add(t[e])}var k=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),P=Object.prototype.hasOwnProperty,B=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,T={},U={};function N(e){return P.call(U,e)?!0:P.call(T,e)?!1:B.test(e)?U[e]=!0:(T[e]=!0,!1)}function W(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Z(e,t,n,r){if(t===null||typeof t>"u"||W(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function $(e,t,n,r,l,i,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Q={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Q[e]=new $(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Q[t]=new $(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Q[e]=new $(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Q[e]=new $(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Q[e]=new $(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Q[e]=new $(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Q[e]=new $(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Q[e]=new $(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Q[e]=new $(e,5,!1,e.toLowerCase(),null,!1,!1)});var oe=/[\-:]([a-z])/g;function ae(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(oe,ae);Q[t]=new $(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(oe,ae);Q[t]=new $(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(oe,ae);Q[t]=new $(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Q[e]=new $(e,1,!1,e.toLowerCase(),null,!1,!1)}),Q.xlinkHref=new $("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Q[e]=new $(e,1,!1,e.toLowerCase(),null,!0,!0)});function J(e,t,n,r){var l=Q.hasOwnProperty(t)?Q[t]:null;(l!==null?l.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Z(t,n,l,r)&&(n=null),r||l===null?N(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):l.mustUseProperty?e[l.propertyName]=n===null?l.type===3?!1:"":n:(t=l.attributeName,r=l.attributeNamespace,n===null?e.removeAttribute(t):(l=l.type,n=l===3||l===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var ee=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,fe=Symbol.for("react.element"),Y=Symbol.for("react.portal"),ne=Symbol.for("react.fragment"),ue=Symbol.for("react.strict_mode"),Ze=Symbol.for("react.profiler"),rt=Symbol.for("react.provider"),qe=Symbol.for("react.context"),He=Symbol.for("react.forward_ref"),Je=Symbol.for("react.suspense"),Qe=Symbol.for("react.suspense_list"),at=Symbol.for("react.memo"),Re=Symbol.for("react.lazy"),Ne=Symbol.for("react.offscreen"),R=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=R&&e[R]||e["@@iterator"],typeof e=="function"?e:null)}var D=Object.assign,h;function z(e){if(h===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);h=t&&t[1]||""}return`
34
+ `+h+e}var ce=!1;function x(e,t){if(!e||ce)return"";ce=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(S){var r=S}Reflect.construct(e,[],t)}else{try{t.call()}catch(S){r=S}e.call(t.prototype)}else{try{throw Error()}catch(S){r=S}e()}}catch(S){if(S&&r&&typeof S.stack=="string"){for(var l=S.stack.split(`
35
+ `),i=r.stack.split(`
36
+ `),o=l.length-1,u=i.length-1;1<=o&&0<=u&&l[o]!==i[u];)u--;for(;1<=o&&0<=u;o--,u--)if(l[o]!==i[u]){if(o!==1||u!==1)do if(o--,u--,0>u||l[o]!==i[u]){var f=`
37
+ `+l[o].replace(" at new "," at ");return e.displayName&&f.includes("<anonymous>")&&(f=f.replace("<anonymous>",e.displayName)),f}while(1<=o&&0<=u);break}}}finally{ce=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?z(e):""}function v(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return e=x(e.type,!1),e;case 11:return e=x(e.type.render,!1),e;case 1:return e=x(e.type,!0),e;default:return""}}function C(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ne:return"Fragment";case Y:return"Portal";case Ze:return"Profiler";case ue:return"StrictMode";case Je:return"Suspense";case Qe:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case qe:return(e.displayName||"Context")+".Consumer";case rt:return(e._context.displayName||"Context")+".Provider";case He:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case at:return t=e.displayName||null,t!==null?t:C(e.type)||"Memo";case Re:t=e._payload,e=e._init;try{return C(e(t))}catch{}}return null}function V(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return C(t);case 8:return t===ue?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function F(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function A(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function O(e){var t=A(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,i.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ie(e){e._valueTracker||(e._valueTracker=O(e))}function b(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=A(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function he(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function me(e,t){var n=t.checked;return D({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function be(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=F(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ve(e,t){t=t.checked,t!=null&&J(e,"checked",t,!1)}function ve(e,t){Ve(e,t);var n=F(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ye(e,t.type,n):t.hasOwnProperty("defaultValue")&&ye(e,t.type,F(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ke(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function ye(e,t,n){(t!=="number"||he(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var we=Array.isArray;function ct(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=""+F(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,r&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function lt(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(s(91));return D({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Be(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(s(92));if(we(n)){if(1<n.length)throw Error(s(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:F(n)}}function ge(e,t){var n=F(t.value),r=F(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Ae(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function de(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function et(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?de(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Pe,Pt=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,l)})}:e})(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Pe=Pe||document.createElement("div"),Pe.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Pe.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function wt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ut={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ke=["Webkit","ms","Moz","O"];Object.keys(Ut).forEach(function(e){ke.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ut[t]=Ut[e]})});function _e(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ut.hasOwnProperty(e)&&Ut[e]?(""+t).trim():t+"px"}function ir(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=_e(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var jt=D({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function or(e,t){if(t){if(jt[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(s(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(s(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(s(61))}if(t.style!=null&&typeof t.style!="object")throw Error(s(62))}}function wn(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ni=null;function ri(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var li=null,Tn=null,Rn=null;function ts(e){if(e=Ir(e)){if(typeof li!="function")throw Error(s(280));var t=e.stateNode;t&&(t=hl(t),li(e.stateNode,e.type,t))}}function ns(e){Tn?Rn?Rn.push(e):Rn=[e]:Tn=e}function rs(){if(Tn){var e=Tn,t=Rn;if(Rn=Tn=null,ts(e),t)for(e=0;e<t.length;e++)ts(t[e])}}function ls(e,t){return e(t)}function is(){}var ii=!1;function os(e,t,n){if(ii)return e(t,n);ii=!0;try{return ls(e,t,n)}finally{ii=!1,(Tn!==null||Rn!==null)&&(is(),rs())}}function sr(e,t){var n=e.stateNode;if(n===null)return null;var r=hl(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(s(231,t,typeof n));return n}var oi=!1;if(k)try{var ur={};Object.defineProperty(ur,"passive",{get:function(){oi=!0}}),window.addEventListener("test",ur,ur),window.removeEventListener("test",ur,ur)}catch{oi=!1}function pc(e,t,n,r,l,i,o,u,f){var S=Array.prototype.slice.call(arguments,3);try{t.apply(n,S)}catch(M){this.onError(M)}}var ar=!1,Kr=null,Yr=!1,si=null,hc={onError:function(e){ar=!0,Kr=e}};function mc(e,t,n,r,l,i,o,u,f){ar=!1,Kr=null,pc.apply(hc,arguments)}function vc(e,t,n,r,l,i,o,u,f){if(mc.apply(this,arguments),ar){if(ar){var S=Kr;ar=!1,Kr=null}else throw Error(s(198));Yr||(Yr=!0,si=S)}}function Sn(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function ss(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function us(e){if(Sn(e)!==e)throw Error(s(188))}function gc(e){var t=e.alternate;if(!t){if(t=Sn(e),t===null)throw Error(s(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(r=l.return,r!==null){n=r;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return us(l),e;if(i===r)return us(l),t;i=i.sibling}throw Error(s(188))}if(n.return!==r.return)n=l,r=i;else{for(var o=!1,u=l.child;u;){if(u===n){o=!0,n=l,r=i;break}if(u===r){o=!0,r=l,n=i;break}u=u.sibling}if(!o){for(u=i.child;u;){if(u===n){o=!0,n=i,r=l;break}if(u===r){o=!0,r=i,n=l;break}u=u.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==r)throw Error(s(190))}if(n.tag!==3)throw Error(s(188));return n.stateNode.current===n?e:t}function as(e){return e=gc(e),e!==null?cs(e):null}function cs(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=cs(e);if(t!==null)return t;e=e.sibling}return null}var fs=w.unstable_scheduleCallback,ds=w.unstable_cancelCallback,yc=w.unstable_shouldYield,wc=w.unstable_requestPaint,De=w.unstable_now,Sc=w.unstable_getCurrentPriorityLevel,ui=w.unstable_ImmediatePriority,ps=w.unstable_UserBlockingPriority,Xr=w.unstable_NormalPriority,xc=w.unstable_LowPriority,hs=w.unstable_IdlePriority,Gr=null,Vt=null;function kc(e){if(Vt&&typeof Vt.onCommitFiberRoot=="function")try{Vt.onCommitFiberRoot(Gr,e,void 0,(e.current.flags&128)===128)}catch{}}var Lt=Math.clz32?Math.clz32:Cc,Ec=Math.log,_c=Math.LN2;function Cc(e){return e>>>=0,e===0?32:31-(Ec(e)/_c|0)|0}var Zr=64,qr=4194304;function cr(e){switch(e&-e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Jr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,o=n&268435455;if(o!==0){var u=o&~l;u!==0?r=cr(u):(i&=o,i!==0&&(r=cr(i)))}else o=n&~l,o!==0?r=cr(o):i!==0&&(r=cr(i));if(r===0)return 0;if(t!==0&&t!==r&&(t&l)===0&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Lt(t),l=1<<n,r|=e[n],t&=~l;return r}function Nc(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64: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:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function zc(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-Lt(i),u=1<<o,f=l[o];f===-1?((u&n)===0||(u&r)!==0)&&(l[o]=Nc(u,t)):f<=t&&(e.expiredLanes|=u),i&=~u}}function ai(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function ms(){var e=Zr;return Zr<<=1,(Zr&4194240)===0&&(Zr=64),e}function ci(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function fr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Lt(t),e[t]=n}function Ic(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var l=31-Lt(n),i=1<<l;t[l]=0,r[l]=-1,e[l]=-1,n&=~i}}function fi(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Lt(n),l=1<<r;l&t|e[r]&t&&(e[r]|=t),n&=~l}}var Ce=0;function vs(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var gs,di,ys,ws,Ss,pi=!1,br=[],bt=null,en=null,tn=null,dr=new Map,pr=new Map,nn=[],Mc="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function xs(e,t){switch(e){case"focusin":case"focusout":bt=null;break;case"dragenter":case"dragleave":en=null;break;case"mouseover":case"mouseout":tn=null;break;case"pointerover":case"pointerout":dr.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":pr.delete(t.pointerId)}}function hr(e,t,n,r,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[l]},t!==null&&(t=Ir(t),t!==null&&di(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function Pc(e,t,n,r,l){switch(t){case"focusin":return bt=hr(bt,e,t,n,r,l),!0;case"dragenter":return en=hr(en,e,t,n,r,l),!0;case"mouseover":return tn=hr(tn,e,t,n,r,l),!0;case"pointerover":var i=l.pointerId;return dr.set(i,hr(dr.get(i)||null,e,t,n,r,l)),!0;case"gotpointercapture":return i=l.pointerId,pr.set(i,hr(pr.get(i)||null,e,t,n,r,l)),!0}return!1}function ks(e){var t=xn(e.target);if(t!==null){var n=Sn(t);if(n!==null){if(t=n.tag,t===13){if(t=ss(n),t!==null){e.blockedOn=t,Ss(e.priority,function(){ys(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function el(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=mi(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);ni=r,n.target.dispatchEvent(r),ni=null}else return t=Ir(n),t!==null&&di(t),e.blockedOn=n,!1;t.shift()}return!0}function Es(e,t,n){el(e)&&n.delete(t)}function jc(){pi=!1,bt!==null&&el(bt)&&(bt=null),en!==null&&el(en)&&(en=null),tn!==null&&el(tn)&&(tn=null),dr.forEach(Es),pr.forEach(Es)}function mr(e,t){e.blockedOn===t&&(e.blockedOn=null,pi||(pi=!0,w.unstable_scheduleCallback(w.unstable_NormalPriority,jc)))}function vr(e){function t(l){return mr(l,e)}if(0<br.length){mr(br[0],e);for(var n=1;n<br.length;n++){var r=br[n];r.blockedOn===e&&(r.blockedOn=null)}}for(bt!==null&&mr(bt,e),en!==null&&mr(en,e),tn!==null&&mr(tn,e),dr.forEach(t),pr.forEach(t),n=0;n<nn.length;n++)r=nn[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<nn.length&&(n=nn[0],n.blockedOn===null);)ks(n),n.blockedOn===null&&nn.shift()}var On=ee.ReactCurrentBatchConfig,tl=!0;function Lc(e,t,n,r){var l=Ce,i=On.transition;On.transition=null;try{Ce=1,hi(e,t,n,r)}finally{Ce=l,On.transition=i}}function Tc(e,t,n,r){var l=Ce,i=On.transition;On.transition=null;try{Ce=4,hi(e,t,n,r)}finally{Ce=l,On.transition=i}}function hi(e,t,n,r){if(tl){var l=mi(e,t,n,r);if(l===null)Li(e,t,r,nl,n),xs(e,r);else if(Pc(l,e,t,n,r))r.stopPropagation();else if(xs(e,r),t&4&&-1<Mc.indexOf(e)){for(;l!==null;){var i=Ir(l);if(i!==null&&gs(i),i=mi(e,t,n,r),i===null&&Li(e,t,r,nl,n),i===l)break;l=i}l!==null&&r.stopPropagation()}else Li(e,t,r,null,n)}}var nl=null;function mi(e,t,n,r){if(nl=null,e=ri(r),e=xn(e),e!==null)if(t=Sn(e),t===null)e=null;else if(n=t.tag,n===13){if(e=ss(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return nl=e,null}function _s(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Sc()){case ui:return 1;case ps:return 4;case Xr:case xc:return 16;case hs:return 536870912;default:return 16}default:return 16}}var rn=null,vi=null,rl=null;function Cs(){if(rl)return rl;var e,t=vi,n=t.length,r,l="value"in rn?rn.value:rn.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===l[i-r];r++);return rl=l.slice(e,1<r?1-r:void 0)}function ll(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function il(){return!0}function Ns(){return!1}function St(e){function t(n,r,l,i,o){this._reactName=n,this._targetInst=l,this.type=r,this.nativeEvent=i,this.target=o,this.currentTarget=null;for(var u in e)e.hasOwnProperty(u)&&(n=e[u],this[u]=n?n(i):i[u]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?il:Ns,this.isPropagationStopped=Ns,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=il)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=il)},persist:function(){},isPersistent:il}),t}var Dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gi=St(Dn),gr=D({},Dn,{view:0,detail:0}),Rc=St(gr),yi,wi,yr,ol=D({},gr,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xi,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==yr&&(yr&&e.type==="mousemove"?(yi=e.screenX-yr.screenX,wi=e.screenY-yr.screenY):wi=yi=0,yr=e),yi)},movementY:function(e){return"movementY"in e?e.movementY:wi}}),zs=St(ol),Oc=D({},ol,{dataTransfer:0}),Dc=St(Oc),Fc=D({},gr,{relatedTarget:0}),Si=St(Fc),Ac=D({},Dn,{animationName:0,elapsedTime:0,pseudoElement:0}),Uc=St(Ac),Vc=D({},Dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Bc=St(Vc),Wc=D({},Dn,{data:0}),Is=St(Wc),$c={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Hc={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Qc={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Kc(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Qc[e])?!!t[e]:!1}function xi(){return Kc}var Yc=D({},gr,{key:function(e){if(e.key){var t=$c[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=ll(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Hc[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xi,charCode:function(e){return e.type==="keypress"?ll(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?ll(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Xc=St(Yc),Gc=D({},ol,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Ms=St(Gc),Zc=D({},gr,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xi}),qc=St(Zc),Jc=D({},Dn,{propertyName:0,elapsedTime:0,pseudoElement:0}),bc=St(Jc),ef=D({},ol,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),tf=St(ef),nf=[9,13,27,32],ki=k&&"CompositionEvent"in window,wr=null;k&&"documentMode"in document&&(wr=document.documentMode);var rf=k&&"TextEvent"in window&&!wr,Ps=k&&(!ki||wr&&8<wr&&11>=wr),js=" ",Ls=!1;function Ts(e,t){switch(e){case"keyup":return nf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Rs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fn=!1;function lf(e,t){switch(e){case"compositionend":return Rs(t);case"keypress":return t.which!==32?null:(Ls=!0,js);case"textInput":return e=t.data,e===js&&Ls?null:e;default:return null}}function of(e,t){if(Fn)return e==="compositionend"||!ki&&Ts(e,t)?(e=Cs(),rl=vi=rn=null,Fn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Ps&&t.locale!=="ko"?null:t.data;default:return null}}var sf={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Os(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!sf[e.type]:t==="textarea"}function Ds(e,t,n,r){ns(r),t=fl(t,"onChange"),0<t.length&&(n=new gi("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Sr=null,xr=null;function uf(e){eu(e,0)}function sl(e){var t=Wn(e);if(b(t))return e}function af(e,t){if(e==="change")return t}var Fs=!1;if(k){var Ei;if(k){var _i="oninput"in document;if(!_i){var As=document.createElement("div");As.setAttribute("oninput","return;"),_i=typeof As.oninput=="function"}Ei=_i}else Ei=!1;Fs=Ei&&(!document.documentMode||9<document.documentMode)}function Us(){Sr&&(Sr.detachEvent("onpropertychange",Vs),xr=Sr=null)}function Vs(e){if(e.propertyName==="value"&&sl(xr)){var t=[];Ds(t,xr,e,ri(e)),os(uf,t)}}function cf(e,t,n){e==="focusin"?(Us(),Sr=t,xr=n,Sr.attachEvent("onpropertychange",Vs)):e==="focusout"&&Us()}function ff(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return sl(xr)}function df(e,t){if(e==="click")return sl(t)}function pf(e,t){if(e==="input"||e==="change")return sl(t)}function hf(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Tt=typeof Object.is=="function"?Object.is:hf;function kr(e,t){if(Tt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var l=n[r];if(!P.call(t,l)||!Tt(e[l],t[l]))return!1}return!0}function Bs(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Ws(e,t){var n=Bs(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Bs(n)}}function $s(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$s(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Hs(){for(var e=window,t=he();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=he(e.document)}return t}function Ci(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function mf(e){var t=Hs(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&$s(n.ownerDocument.documentElement,n)){if(r!==null&&Ci(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=Ws(n,i);var o=Ws(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var vf=k&&"documentMode"in document&&11>=document.documentMode,An=null,Ni=null,Er=null,zi=!1;function Qs(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;zi||An==null||An!==he(r)||(r=An,"selectionStart"in r&&Ci(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Er&&kr(Er,r)||(Er=r,r=fl(Ni,"onSelect"),0<r.length&&(t=new gi("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=An)))}function ul(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Un={animationend:ul("Animation","AnimationEnd"),animationiteration:ul("Animation","AnimationIteration"),animationstart:ul("Animation","AnimationStart"),transitionend:ul("Transition","TransitionEnd")},Ii={},Ks={};k&&(Ks=document.createElement("div").style,"AnimationEvent"in window||(delete Un.animationend.animation,delete Un.animationiteration.animation,delete Un.animationstart.animation),"TransitionEvent"in window||delete Un.transitionend.transition);function al(e){if(Ii[e])return Ii[e];if(!Un[e])return e;var t=Un[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ks)return Ii[e]=t[n];return e}var Ys=al("animationend"),Xs=al("animationiteration"),Gs=al("animationstart"),Zs=al("transitionend"),qs=new Map,Js="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ln(e,t){qs.set(e,t),y(t,[e])}for(var Mi=0;Mi<Js.length;Mi++){var Pi=Js[Mi],gf=Pi.toLowerCase(),yf=Pi[0].toUpperCase()+Pi.slice(1);ln(gf,"on"+yf)}ln(Ys,"onAnimationEnd"),ln(Xs,"onAnimationIteration"),ln(Gs,"onAnimationStart"),ln("dblclick","onDoubleClick"),ln("focusin","onFocus"),ln("focusout","onBlur"),ln(Zs,"onTransitionEnd"),E("onMouseEnter",["mouseout","mouseover"]),E("onMouseLeave",["mouseout","mouseover"]),E("onPointerEnter",["pointerout","pointerover"]),E("onPointerLeave",["pointerout","pointerover"]),y("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),y("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),y("onBeforeInput",["compositionend","keypress","textInput","paste"]),y("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),y("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),y("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _r="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),wf=new Set("cancel close invalid load scroll toggle".split(" ").concat(_r));function bs(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,vc(r,t,void 0,e),e.currentTarget=null}function eu(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],l=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var u=r[o],f=u.instance,S=u.currentTarget;if(u=u.listener,f!==i&&l.isPropagationStopped())break e;bs(l,u,S),i=f}else for(o=0;o<r.length;o++){if(u=r[o],f=u.instance,S=u.currentTarget,u=u.listener,f!==i&&l.isPropagationStopped())break e;bs(l,u,S),i=f}}}if(Yr)throw e=si,Yr=!1,si=null,e}function Ie(e,t){var n=t[Ai];n===void 0&&(n=t[Ai]=new Set);var r=e+"__bubble";n.has(r)||(tu(t,e,2,!1),n.add(r))}function ji(e,t,n){var r=0;t&&(r|=4),tu(n,e,r,t)}var cl="_reactListening"+Math.random().toString(36).slice(2);function Cr(e){if(!e[cl]){e[cl]=!0,d.forEach(function(n){n!=="selectionchange"&&(wf.has(n)||ji(n,!1,e),ji(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[cl]||(t[cl]=!0,ji("selectionchange",!1,t))}}function tu(e,t,n,r){switch(_s(t)){case 1:var l=Lc;break;case 4:l=Tc;break;default:l=hi}n=l.bind(null,t,n,e),l=void 0,!oi||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),r?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function Li(e,t,n,r,l){var i=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var u=r.stateNode.containerInfo;if(u===l||u.nodeType===8&&u.parentNode===l)break;if(o===4)for(o=r.return;o!==null;){var f=o.tag;if((f===3||f===4)&&(f=o.stateNode.containerInfo,f===l||f.nodeType===8&&f.parentNode===l))return;o=o.return}for(;u!==null;){if(o=xn(u),o===null)return;if(f=o.tag,f===5||f===6){r=i=o;continue e}u=u.parentNode}}r=r.return}os(function(){var S=i,M=ri(n),j=[];e:{var I=qs.get(e);if(I!==void 0){var H=gi,X=e;switch(e){case"keypress":if(ll(n)===0)break e;case"keydown":case"keyup":H=Xc;break;case"focusin":X="focus",H=Si;break;case"focusout":X="blur",H=Si;break;case"beforeblur":case"afterblur":H=Si;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":H=zs;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":H=Dc;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":H=qc;break;case Ys:case Xs:case Gs:H=Uc;break;case Zs:H=bc;break;case"scroll":H=Rc;break;case"wheel":H=tf;break;case"copy":case"cut":case"paste":H=Bc;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":H=Ms}var G=(t&4)!==0,Fe=!G&&e==="scroll",m=G?I!==null?I+"Capture":null:I;G=[];for(var p=S,g;p!==null;){g=p;var L=g.stateNode;if(g.tag===5&&L!==null&&(g=L,m!==null&&(L=sr(p,m),L!=null&&G.push(Nr(p,L,g)))),Fe)break;p=p.return}0<G.length&&(I=new H(I,X,null,n,M),j.push({event:I,listeners:G}))}}if((t&7)===0){e:{if(I=e==="mouseover"||e==="pointerover",H=e==="mouseout"||e==="pointerout",I&&n!==ni&&(X=n.relatedTarget||n.fromElement)&&(xn(X)||X[Qt]))break e;if((H||I)&&(I=M.window===M?M:(I=M.ownerDocument)?I.defaultView||I.parentWindow:window,H?(X=n.relatedTarget||n.toElement,H=S,X=X?xn(X):null,X!==null&&(Fe=Sn(X),X!==Fe||X.tag!==5&&X.tag!==6)&&(X=null)):(H=null,X=S),H!==X)){if(G=zs,L="onMouseLeave",m="onMouseEnter",p="mouse",(e==="pointerout"||e==="pointerover")&&(G=Ms,L="onPointerLeave",m="onPointerEnter",p="pointer"),Fe=H==null?I:Wn(H),g=X==null?I:Wn(X),I=new G(L,p+"leave",H,n,M),I.target=Fe,I.relatedTarget=g,L=null,xn(M)===S&&(G=new G(m,p+"enter",X,n,M),G.target=g,G.relatedTarget=Fe,L=G),Fe=L,H&&X)t:{for(G=H,m=X,p=0,g=G;g;g=Vn(g))p++;for(g=0,L=m;L;L=Vn(L))g++;for(;0<p-g;)G=Vn(G),p--;for(;0<g-p;)m=Vn(m),g--;for(;p--;){if(G===m||m!==null&&G===m.alternate)break t;G=Vn(G),m=Vn(m)}G=null}else G=null;H!==null&&nu(j,I,H,G,!1),X!==null&&Fe!==null&&nu(j,Fe,X,G,!0)}}e:{if(I=S?Wn(S):window,H=I.nodeName&&I.nodeName.toLowerCase(),H==="select"||H==="input"&&I.type==="file")var q=af;else if(Os(I))if(Fs)q=pf;else{q=ff;var re=cf}else(H=I.nodeName)&&H.toLowerCase()==="input"&&(I.type==="checkbox"||I.type==="radio")&&(q=df);if(q&&(q=q(e,S))){Ds(j,q,n,M);break e}re&&re(e,I,S),e==="focusout"&&(re=I._wrapperState)&&re.controlled&&I.type==="number"&&ye(I,"number",I.value)}switch(re=S?Wn(S):window,e){case"focusin":(Os(re)||re.contentEditable==="true")&&(An=re,Ni=S,Er=null);break;case"focusout":Er=Ni=An=null;break;case"mousedown":zi=!0;break;case"contextmenu":case"mouseup":case"dragend":zi=!1,Qs(j,n,M);break;case"selectionchange":if(vf)break;case"keydown":case"keyup":Qs(j,n,M)}var le;if(ki)e:{switch(e){case"compositionstart":var se="onCompositionStart";break e;case"compositionend":se="onCompositionEnd";break e;case"compositionupdate":se="onCompositionUpdate";break e}se=void 0}else Fn?Ts(e,n)&&(se="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(se="onCompositionStart");se&&(Ps&&n.locale!=="ko"&&(Fn||se!=="onCompositionStart"?se==="onCompositionEnd"&&Fn&&(le=Cs()):(rn=M,vi="value"in rn?rn.value:rn.textContent,Fn=!0)),re=fl(S,se),0<re.length&&(se=new Is(se,e,null,n,M),j.push({event:se,listeners:re}),le?se.data=le:(le=Rs(n),le!==null&&(se.data=le)))),(le=rf?lf(e,n):of(e,n))&&(S=fl(S,"onBeforeInput"),0<S.length&&(M=new Is("onBeforeInput","beforeinput",null,n,M),j.push({event:M,listeners:S}),M.data=le))}eu(j,t)})}function Nr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function fl(e,t){for(var n=t+"Capture",r=[];e!==null;){var l=e,i=l.stateNode;l.tag===5&&i!==null&&(l=i,i=sr(e,n),i!=null&&r.unshift(Nr(e,i,l)),i=sr(e,t),i!=null&&r.push(Nr(e,i,l))),e=e.return}return r}function Vn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function nu(e,t,n,r,l){for(var i=t._reactName,o=[];n!==null&&n!==r;){var u=n,f=u.alternate,S=u.stateNode;if(f!==null&&f===r)break;u.tag===5&&S!==null&&(u=S,l?(f=sr(n,i),f!=null&&o.unshift(Nr(n,f,u))):l||(f=sr(n,i),f!=null&&o.push(Nr(n,f,u)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Sf=/\r\n?/g,xf=/\u0000|\uFFFD/g;function ru(e){return(typeof e=="string"?e:""+e).replace(Sf,`
38
+ `).replace(xf,"")}function dl(e,t,n){if(t=ru(t),ru(e)!==t&&n)throw Error(s(425))}function pl(){}var Ti=null,Ri=null;function Oi(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Di=typeof setTimeout=="function"?setTimeout:void 0,kf=typeof clearTimeout=="function"?clearTimeout:void 0,lu=typeof Promise=="function"?Promise:void 0,Ef=typeof queueMicrotask=="function"?queueMicrotask:typeof lu<"u"?function(e){return lu.resolve(null).then(e).catch(_f)}:Di;function _f(e){setTimeout(function(){throw e})}function Fi(e,t){var n=t,r=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"){if(r===0){e.removeChild(l),vr(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=l}while(n);vr(t)}function on(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function iu(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var Bn=Math.random().toString(36).slice(2),Bt="__reactFiber$"+Bn,zr="__reactProps$"+Bn,Qt="__reactContainer$"+Bn,Ai="__reactEvents$"+Bn,Cf="__reactListeners$"+Bn,Nf="__reactHandles$"+Bn;function xn(e){var t=e[Bt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Qt]||n[Bt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=iu(e);e!==null;){if(n=e[Bt])return n;e=iu(e)}return t}e=n,n=e.parentNode}return null}function Ir(e){return e=e[Bt]||e[Qt],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Wn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(s(33))}function hl(e){return e[zr]||null}var Ui=[],$n=-1;function sn(e){return{current:e}}function Me(e){0>$n||(e.current=Ui[$n],Ui[$n]=null,$n--)}function ze(e,t){$n++,Ui[$n]=e.current,e.current=t}var un={},it=sn(un),pt=sn(!1),kn=un;function Hn(e,t){var n=e.type.contextTypes;if(!n)return un;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ht(e){return e=e.childContextTypes,e!=null}function ml(){Me(pt),Me(it)}function ou(e,t,n){if(it.current!==un)throw Error(s(168));ze(it,t),ze(pt,n)}function su(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(s(108,V(e)||"Unknown",l));return D({},n,r)}function vl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||un,kn=it.current,ze(it,e),ze(pt,pt.current),!0}function uu(e,t,n){var r=e.stateNode;if(!r)throw Error(s(169));n?(e=su(e,t,kn),r.__reactInternalMemoizedMergedChildContext=e,Me(pt),Me(it),ze(it,e)):Me(pt),ze(pt,n)}var Kt=null,gl=!1,Vi=!1;function au(e){Kt===null?Kt=[e]:Kt.push(e)}function zf(e){gl=!0,au(e)}function an(){if(!Vi&&Kt!==null){Vi=!0;var e=0,t=Ce;try{var n=Kt;for(Ce=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Kt=null,gl=!1}catch(l){throw Kt!==null&&(Kt=Kt.slice(e+1)),fs(ui,an),l}finally{Ce=t,Vi=!1}}return null}var Qn=[],Kn=0,yl=null,wl=0,_t=[],Ct=0,En=null,Yt=1,Xt="";function _n(e,t){Qn[Kn++]=wl,Qn[Kn++]=yl,yl=e,wl=t}function cu(e,t,n){_t[Ct++]=Yt,_t[Ct++]=Xt,_t[Ct++]=En,En=e;var r=Yt;e=Xt;var l=32-Lt(r)-1;r&=~(1<<l),n+=1;var i=32-Lt(t)+l;if(30<i){var o=l-l%5;i=(r&(1<<o)-1).toString(32),r>>=o,l-=o,Yt=1<<32-Lt(t)+l|n<<l|r,Xt=i+e}else Yt=1<<i|n<<l|r,Xt=e}function Bi(e){e.return!==null&&(_n(e,1),cu(e,1,0))}function Wi(e){for(;e===yl;)yl=Qn[--Kn],Qn[Kn]=null,wl=Qn[--Kn],Qn[Kn]=null;for(;e===En;)En=_t[--Ct],_t[Ct]=null,Xt=_t[--Ct],_t[Ct]=null,Yt=_t[--Ct],_t[Ct]=null}var xt=null,kt=null,je=!1,Rt=null;function fu(e,t){var n=Mt(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function du(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,xt=e,kt=on(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,xt=e,kt=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=En!==null?{id:Yt,overflow:Xt}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Mt(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,xt=e,kt=null,!0):!1;default:return!1}}function $i(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Hi(e){if(je){var t=kt;if(t){var n=t;if(!du(e,t)){if($i(e))throw Error(s(418));t=on(n.nextSibling);var r=xt;t&&du(e,t)?fu(r,n):(e.flags=e.flags&-4097|2,je=!1,xt=e)}}else{if($i(e))throw Error(s(418));e.flags=e.flags&-4097|2,je=!1,xt=e}}}function pu(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;xt=e}function Sl(e){if(e!==xt)return!1;if(!je)return pu(e),je=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Oi(e.type,e.memoizedProps)),t&&(t=kt)){if($i(e))throw hu(),Error(s(418));for(;t;)fu(e,t),t=on(t.nextSibling)}if(pu(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(s(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){kt=on(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}kt=null}}else kt=xt?on(e.stateNode.nextSibling):null;return!0}function hu(){for(var e=kt;e;)e=on(e.nextSibling)}function Yn(){kt=xt=null,je=!1}function Qi(e){Rt===null?Rt=[e]:Rt.push(e)}var If=ee.ReactCurrentBatchConfig;function Mr(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(s(309));var r=n.stateNode}if(!r)throw Error(s(147,e));var l=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(o){var u=l.refs;o===null?delete u[i]:u[i]=o},t._stringRef=i,t)}if(typeof e!="string")throw Error(s(284));if(!n._owner)throw Error(s(290,e))}return e}function xl(e,t){throw e=Object.prototype.toString.call(t),Error(s(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function mu(e){var t=e._init;return t(e._payload)}function vu(e){function t(m,p){if(e){var g=m.deletions;g===null?(m.deletions=[p],m.flags|=16):g.push(p)}}function n(m,p){if(!e)return null;for(;p!==null;)t(m,p),p=p.sibling;return null}function r(m,p){for(m=new Map;p!==null;)p.key!==null?m.set(p.key,p):m.set(p.index,p),p=p.sibling;return m}function l(m,p){return m=gn(m,p),m.index=0,m.sibling=null,m}function i(m,p,g){return m.index=g,e?(g=m.alternate,g!==null?(g=g.index,g<p?(m.flags|=2,p):g):(m.flags|=2,p)):(m.flags|=1048576,p)}function o(m){return e&&m.alternate===null&&(m.flags|=2),m}function u(m,p,g,L){return p===null||p.tag!==6?(p=Fo(g,m.mode,L),p.return=m,p):(p=l(p,g),p.return=m,p)}function f(m,p,g,L){var q=g.type;return q===ne?M(m,p,g.props.children,L,g.key):p!==null&&(p.elementType===q||typeof q=="object"&&q!==null&&q.$$typeof===Re&&mu(q)===p.type)?(L=l(p,g.props),L.ref=Mr(m,p,g),L.return=m,L):(L=Ql(g.type,g.key,g.props,null,m.mode,L),L.ref=Mr(m,p,g),L.return=m,L)}function S(m,p,g,L){return p===null||p.tag!==4||p.stateNode.containerInfo!==g.containerInfo||p.stateNode.implementation!==g.implementation?(p=Ao(g,m.mode,L),p.return=m,p):(p=l(p,g.children||[]),p.return=m,p)}function M(m,p,g,L,q){return p===null||p.tag!==7?(p=Ln(g,m.mode,L,q),p.return=m,p):(p=l(p,g),p.return=m,p)}function j(m,p,g){if(typeof p=="string"&&p!==""||typeof p=="number")return p=Fo(""+p,m.mode,g),p.return=m,p;if(typeof p=="object"&&p!==null){switch(p.$$typeof){case fe:return g=Ql(p.type,p.key,p.props,null,m.mode,g),g.ref=Mr(m,null,p),g.return=m,g;case Y:return p=Ao(p,m.mode,g),p.return=m,p;case Re:var L=p._init;return j(m,L(p._payload),g)}if(we(p)||te(p))return p=Ln(p,m.mode,g,null),p.return=m,p;xl(m,p)}return null}function I(m,p,g,L){var q=p!==null?p.key:null;if(typeof g=="string"&&g!==""||typeof g=="number")return q!==null?null:u(m,p,""+g,L);if(typeof g=="object"&&g!==null){switch(g.$$typeof){case fe:return g.key===q?f(m,p,g,L):null;case Y:return g.key===q?S(m,p,g,L):null;case Re:return q=g._init,I(m,p,q(g._payload),L)}if(we(g)||te(g))return q!==null?null:M(m,p,g,L,null);xl(m,g)}return null}function H(m,p,g,L,q){if(typeof L=="string"&&L!==""||typeof L=="number")return m=m.get(g)||null,u(p,m,""+L,q);if(typeof L=="object"&&L!==null){switch(L.$$typeof){case fe:return m=m.get(L.key===null?g:L.key)||null,f(p,m,L,q);case Y:return m=m.get(L.key===null?g:L.key)||null,S(p,m,L,q);case Re:var re=L._init;return H(m,p,g,re(L._payload),q)}if(we(L)||te(L))return m=m.get(g)||null,M(p,m,L,q,null);xl(p,L)}return null}function X(m,p,g,L){for(var q=null,re=null,le=p,se=p=0,Ge=null;le!==null&&se<g.length;se++){le.index>se?(Ge=le,le=null):Ge=le.sibling;var xe=I(m,le,g[se],L);if(xe===null){le===null&&(le=Ge);break}e&&le&&xe.alternate===null&&t(m,le),p=i(xe,p,se),re===null?q=xe:re.sibling=xe,re=xe,le=Ge}if(se===g.length)return n(m,le),je&&_n(m,se),q;if(le===null){for(;se<g.length;se++)le=j(m,g[se],L),le!==null&&(p=i(le,p,se),re===null?q=le:re.sibling=le,re=le);return je&&_n(m,se),q}for(le=r(m,le);se<g.length;se++)Ge=H(le,m,se,g[se],L),Ge!==null&&(e&&Ge.alternate!==null&&le.delete(Ge.key===null?se:Ge.key),p=i(Ge,p,se),re===null?q=Ge:re.sibling=Ge,re=Ge);return e&&le.forEach(function(yn){return t(m,yn)}),je&&_n(m,se),q}function G(m,p,g,L){var q=te(g);if(typeof q!="function")throw Error(s(150));if(g=q.call(g),g==null)throw Error(s(151));for(var re=q=null,le=p,se=p=0,Ge=null,xe=g.next();le!==null&&!xe.done;se++,xe=g.next()){le.index>se?(Ge=le,le=null):Ge=le.sibling;var yn=I(m,le,xe.value,L);if(yn===null){le===null&&(le=Ge);break}e&&le&&yn.alternate===null&&t(m,le),p=i(yn,p,se),re===null?q=yn:re.sibling=yn,re=yn,le=Ge}if(xe.done)return n(m,le),je&&_n(m,se),q;if(le===null){for(;!xe.done;se++,xe=g.next())xe=j(m,xe.value,L),xe!==null&&(p=i(xe,p,se),re===null?q=xe:re.sibling=xe,re=xe);return je&&_n(m,se),q}for(le=r(m,le);!xe.done;se++,xe=g.next())xe=H(le,m,se,xe.value,L),xe!==null&&(e&&xe.alternate!==null&&le.delete(xe.key===null?se:xe.key),p=i(xe,p,se),re===null?q=xe:re.sibling=xe,re=xe);return e&&le.forEach(function(sd){return t(m,sd)}),je&&_n(m,se),q}function Fe(m,p,g,L){if(typeof g=="object"&&g!==null&&g.type===ne&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case fe:e:{for(var q=g.key,re=p;re!==null;){if(re.key===q){if(q=g.type,q===ne){if(re.tag===7){n(m,re.sibling),p=l(re,g.props.children),p.return=m,m=p;break e}}else if(re.elementType===q||typeof q=="object"&&q!==null&&q.$$typeof===Re&&mu(q)===re.type){n(m,re.sibling),p=l(re,g.props),p.ref=Mr(m,re,g),p.return=m,m=p;break e}n(m,re);break}else t(m,re);re=re.sibling}g.type===ne?(p=Ln(g.props.children,m.mode,L,g.key),p.return=m,m=p):(L=Ql(g.type,g.key,g.props,null,m.mode,L),L.ref=Mr(m,p,g),L.return=m,m=L)}return o(m);case Y:e:{for(re=g.key;p!==null;){if(p.key===re)if(p.tag===4&&p.stateNode.containerInfo===g.containerInfo&&p.stateNode.implementation===g.implementation){n(m,p.sibling),p=l(p,g.children||[]),p.return=m,m=p;break e}else{n(m,p);break}else t(m,p);p=p.sibling}p=Ao(g,m.mode,L),p.return=m,m=p}return o(m);case Re:return re=g._init,Fe(m,p,re(g._payload),L)}if(we(g))return X(m,p,g,L);if(te(g))return G(m,p,g,L);xl(m,g)}return typeof g=="string"&&g!==""||typeof g=="number"?(g=""+g,p!==null&&p.tag===6?(n(m,p.sibling),p=l(p,g),p.return=m,m=p):(n(m,p),p=Fo(g,m.mode,L),p.return=m,m=p),o(m)):n(m,p)}return Fe}var Xn=vu(!0),gu=vu(!1),kl=sn(null),El=null,Gn=null,Ki=null;function Yi(){Ki=Gn=El=null}function Xi(e){var t=kl.current;Me(kl),e._currentValue=t}function Gi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Zn(e,t){El=e,Ki=Gn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(mt=!0),e.firstContext=null)}function Nt(e){var t=e._currentValue;if(Ki!==e)if(e={context:e,memoizedValue:t,next:null},Gn===null){if(El===null)throw Error(s(308));Gn=e,El.dependencies={lanes:0,firstContext:e}}else Gn=Gn.next=e;return t}var Cn=null;function Zi(e){Cn===null?Cn=[e]:Cn.push(e)}function yu(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,Zi(t)):(n.next=l.next,l.next=n),t.interleaved=n,Gt(e,r)}function Gt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var cn=!1;function qi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function wu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zt(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function fn(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Se&2)!==0){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Gt(e,n)}return l=r.interleaved,l===null?(t.next=t,Zi(r)):(t.next=l.next,l.next=t),r.interleaved=t,Gt(e,n)}function _l(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,fi(e,n)}}function Su(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=o:i=i.next=o,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Cl(e,t,n,r){var l=e.updateQueue;cn=!1;var i=l.firstBaseUpdate,o=l.lastBaseUpdate,u=l.shared.pending;if(u!==null){l.shared.pending=null;var f=u,S=f.next;f.next=null,o===null?i=S:o.next=S,o=f;var M=e.alternate;M!==null&&(M=M.updateQueue,u=M.lastBaseUpdate,u!==o&&(u===null?M.firstBaseUpdate=S:u.next=S,M.lastBaseUpdate=f))}if(i!==null){var j=l.baseState;o=0,M=S=f=null,u=i;do{var I=u.lane,H=u.eventTime;if((r&I)===I){M!==null&&(M=M.next={eventTime:H,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var X=e,G=u;switch(I=t,H=n,G.tag){case 1:if(X=G.payload,typeof X=="function"){j=X.call(H,j,I);break e}j=X;break e;case 3:X.flags=X.flags&-65537|128;case 0:if(X=G.payload,I=typeof X=="function"?X.call(H,j,I):X,I==null)break e;j=D({},j,I);break e;case 2:cn=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,I=l.effects,I===null?l.effects=[u]:I.push(u))}else H={eventTime:H,lane:I,tag:u.tag,payload:u.payload,callback:u.callback,next:null},M===null?(S=M=H,f=j):M=M.next=H,o|=I;if(u=u.next,u===null){if(u=l.shared.pending,u===null)break;I=u,u=I.next,I.next=null,l.lastBaseUpdate=I,l.shared.pending=null}}while(!0);if(M===null&&(f=j),l.baseState=f,l.firstBaseUpdate=S,l.lastBaseUpdate=M,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);In|=o,e.lanes=o,e.memoizedState=j}}function xu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],l=r.callback;if(l!==null){if(r.callback=null,r=n,typeof l!="function")throw Error(s(191,l));l.call(r)}}}var Pr={},Wt=sn(Pr),jr=sn(Pr),Lr=sn(Pr);function Nn(e){if(e===Pr)throw Error(s(174));return e}function Ji(e,t){switch(ze(Lr,t),ze(jr,e),ze(Wt,Pr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:et(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=et(t,e)}Me(Wt),ze(Wt,t)}function qn(){Me(Wt),Me(jr),Me(Lr)}function ku(e){Nn(Lr.current);var t=Nn(Wt.current),n=et(t,e.type);t!==n&&(ze(jr,e),ze(Wt,n))}function bi(e){jr.current===e&&(Me(Wt),Me(jr))}var Le=sn(0);function Nl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))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===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var eo=[];function to(){for(var e=0;e<eo.length;e++)eo[e]._workInProgressVersionPrimary=null;eo.length=0}var zl=ee.ReactCurrentDispatcher,no=ee.ReactCurrentBatchConfig,zn=0,Te=null,We=null,Ye=null,Il=!1,Tr=!1,Rr=0,Mf=0;function ot(){throw Error(s(321))}function ro(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Tt(e[n],t[n]))return!1;return!0}function lo(e,t,n,r,l,i){if(zn=i,Te=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,zl.current=e===null||e.memoizedState===null?Tf:Rf,e=n(r,l),Tr){i=0;do{if(Tr=!1,Rr=0,25<=i)throw Error(s(301));i+=1,Ye=We=null,t.updateQueue=null,zl.current=Of,e=n(r,l)}while(Tr)}if(zl.current=jl,t=We!==null&&We.next!==null,zn=0,Ye=We=Te=null,Il=!1,t)throw Error(s(300));return e}function io(){var e=Rr!==0;return Rr=0,e}function $t(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ye===null?Te.memoizedState=Ye=e:Ye=Ye.next=e,Ye}function zt(){if(We===null){var e=Te.alternate;e=e!==null?e.memoizedState:null}else e=We.next;var t=Ye===null?Te.memoizedState:Ye.next;if(t!==null)Ye=t,We=e;else{if(e===null)throw Error(s(310));We=e,e={memoizedState:We.memoizedState,baseState:We.baseState,baseQueue:We.baseQueue,queue:We.queue,next:null},Ye===null?Te.memoizedState=Ye=e:Ye=Ye.next=e}return Ye}function Or(e,t){return typeof t=="function"?t(e):t}function oo(e){var t=zt(),n=t.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=e;var r=We,l=r.baseQueue,i=n.pending;if(i!==null){if(l!==null){var o=l.next;l.next=i.next,i.next=o}r.baseQueue=l=i,n.pending=null}if(l!==null){i=l.next,r=r.baseState;var u=o=null,f=null,S=i;do{var M=S.lane;if((zn&M)===M)f!==null&&(f=f.next={lane:0,action:S.action,hasEagerState:S.hasEagerState,eagerState:S.eagerState,next:null}),r=S.hasEagerState?S.eagerState:e(r,S.action);else{var j={lane:M,action:S.action,hasEagerState:S.hasEagerState,eagerState:S.eagerState,next:null};f===null?(u=f=j,o=r):f=f.next=j,Te.lanes|=M,In|=M}S=S.next}while(S!==null&&S!==i);f===null?o=r:f.next=u,Tt(r,t.memoizedState)||(mt=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=f,n.lastRenderedState=r}if(e=n.interleaved,e!==null){l=e;do i=l.lane,Te.lanes|=i,In|=i,l=l.next;while(l!==e)}else l===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function so(e){var t=zt(),n=t.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=e;var r=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var o=l=l.next;do i=e(i,o.action),o=o.next;while(o!==l);Tt(i,t.memoizedState)||(mt=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Eu(){}function _u(e,t){var n=Te,r=zt(),l=t(),i=!Tt(r.memoizedState,l);if(i&&(r.memoizedState=l,mt=!0),r=r.queue,uo(zu.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||Ye!==null&&Ye.memoizedState.tag&1){if(n.flags|=2048,Dr(9,Nu.bind(null,n,r,l,t),void 0,null),Xe===null)throw Error(s(349));(zn&30)!==0||Cu(n,t,l)}return l}function Cu(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Te.updateQueue,t===null?(t={lastEffect:null,stores:null},Te.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Nu(e,t,n,r){t.value=n,t.getSnapshot=r,Iu(t)&&Mu(e)}function zu(e,t,n){return n(function(){Iu(t)&&Mu(e)})}function Iu(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Tt(e,n)}catch{return!0}}function Mu(e){var t=Gt(e,1);t!==null&&At(t,e,1,-1)}function Pu(e){var t=$t();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Or,lastRenderedState:e},t.queue=e,e=e.dispatch=Lf.bind(null,Te,e),[t.memoizedState,e]}function Dr(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Te.updateQueue,t===null?(t={lastEffect:null,stores:null},Te.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function ju(){return zt().memoizedState}function Ml(e,t,n,r){var l=$t();Te.flags|=e,l.memoizedState=Dr(1|t,n,void 0,r===void 0?null:r)}function Pl(e,t,n,r){var l=zt();r=r===void 0?null:r;var i=void 0;if(We!==null){var o=We.memoizedState;if(i=o.destroy,r!==null&&ro(r,o.deps)){l.memoizedState=Dr(t,n,i,r);return}}Te.flags|=e,l.memoizedState=Dr(1|t,n,i,r)}function Lu(e,t){return Ml(8390656,8,e,t)}function uo(e,t){return Pl(2048,8,e,t)}function Tu(e,t){return Pl(4,2,e,t)}function Ru(e,t){return Pl(4,4,e,t)}function Ou(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Du(e,t,n){return n=n!=null?n.concat([e]):null,Pl(4,4,Ou.bind(null,t,e),n)}function ao(){}function Fu(e,t){var n=zt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ro(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Au(e,t){var n=zt();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ro(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Uu(e,t,n){return(zn&21)===0?(e.baseState&&(e.baseState=!1,mt=!0),e.memoizedState=n):(Tt(n,t)||(n=ms(),Te.lanes|=n,In|=n,e.baseState=!0),t)}function Pf(e,t){var n=Ce;Ce=n!==0&&4>n?n:4,e(!0);var r=no.transition;no.transition={};try{e(!1),t()}finally{Ce=n,no.transition=r}}function Vu(){return zt().memoizedState}function jf(e,t,n){var r=mn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Bu(e))Wu(t,n);else if(n=yu(e,t,n,r),n!==null){var l=dt();At(n,e,r,l),$u(n,t,r)}}function Lf(e,t,n){var r=mn(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Bu(e))Wu(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var o=t.lastRenderedState,u=i(o,n);if(l.hasEagerState=!0,l.eagerState=u,Tt(u,o)){var f=t.interleaved;f===null?(l.next=l,Zi(t)):(l.next=f.next,f.next=l),t.interleaved=l;return}}catch{}finally{}n=yu(e,t,l,r),n!==null&&(l=dt(),At(n,e,r,l),$u(n,t,r))}}function Bu(e){var t=e.alternate;return e===Te||t!==null&&t===Te}function Wu(e,t){Tr=Il=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function $u(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,fi(e,n)}}var jl={readContext:Nt,useCallback:ot,useContext:ot,useEffect:ot,useImperativeHandle:ot,useInsertionEffect:ot,useLayoutEffect:ot,useMemo:ot,useReducer:ot,useRef:ot,useState:ot,useDebugValue:ot,useDeferredValue:ot,useTransition:ot,useMutableSource:ot,useSyncExternalStore:ot,useId:ot,unstable_isNewReconciler:!1},Tf={readContext:Nt,useCallback:function(e,t){return $t().memoizedState=[e,t===void 0?null:t],e},useContext:Nt,useEffect:Lu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ml(4194308,4,Ou.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ml(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ml(4,2,e,t)},useMemo:function(e,t){var n=$t();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=$t();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=jf.bind(null,Te,e),[r.memoizedState,e]},useRef:function(e){var t=$t();return e={current:e},t.memoizedState=e},useState:Pu,useDebugValue:ao,useDeferredValue:function(e){return $t().memoizedState=e},useTransition:function(){var e=Pu(!1),t=e[0];return e=Pf.bind(null,e[1]),$t().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Te,l=$t();if(je){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),Xe===null)throw Error(s(349));(zn&30)!==0||Cu(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Lu(zu.bind(null,r,i,e),[e]),r.flags|=2048,Dr(9,Nu.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=$t(),t=Xe.identifierPrefix;if(je){var n=Xt,r=Yt;n=(r&~(1<<32-Lt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Rr++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=Mf++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},Rf={readContext:Nt,useCallback:Fu,useContext:Nt,useEffect:uo,useImperativeHandle:Du,useInsertionEffect:Tu,useLayoutEffect:Ru,useMemo:Au,useReducer:oo,useRef:ju,useState:function(){return oo(Or)},useDebugValue:ao,useDeferredValue:function(e){var t=zt();return Uu(t,We.memoizedState,e)},useTransition:function(){var e=oo(Or)[0],t=zt().memoizedState;return[e,t]},useMutableSource:Eu,useSyncExternalStore:_u,useId:Vu,unstable_isNewReconciler:!1},Of={readContext:Nt,useCallback:Fu,useContext:Nt,useEffect:uo,useImperativeHandle:Du,useInsertionEffect:Tu,useLayoutEffect:Ru,useMemo:Au,useReducer:so,useRef:ju,useState:function(){return so(Or)},useDebugValue:ao,useDeferredValue:function(e){var t=zt();return We===null?t.memoizedState=e:Uu(t,We.memoizedState,e)},useTransition:function(){var e=so(Or)[0],t=zt().memoizedState;return[e,t]},useMutableSource:Eu,useSyncExternalStore:_u,useId:Vu,unstable_isNewReconciler:!1};function Ot(e,t){if(e&&e.defaultProps){t=D({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function co(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:D({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ll={isMounted:function(e){return(e=e._reactInternals)?Sn(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=dt(),l=mn(e),i=Zt(r,l);i.payload=t,n!=null&&(i.callback=n),t=fn(e,i,l),t!==null&&(At(t,e,l,r),_l(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=dt(),l=mn(e),i=Zt(r,l);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=fn(e,i,l),t!==null&&(At(t,e,l,r),_l(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=dt(),r=mn(e),l=Zt(n,r);l.tag=2,t!=null&&(l.callback=t),t=fn(e,l,r),t!==null&&(At(t,e,r,n),_l(t,e,r))}};function Hu(e,t,n,r,l,i,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,o):t.prototype&&t.prototype.isPureReactComponent?!kr(n,r)||!kr(l,i):!0}function Qu(e,t,n){var r=!1,l=un,i=t.contextType;return typeof i=="object"&&i!==null?i=Nt(i):(l=ht(t)?kn:it.current,r=t.contextTypes,i=(r=r!=null)?Hn(e,l):un),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Ll,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=i),t}function Ku(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ll.enqueueReplaceState(t,t.state,null)}function fo(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs={},qi(e);var i=t.contextType;typeof i=="object"&&i!==null?l.context=Nt(i):(i=ht(t)?kn:it.current,l.context=Hn(e,i)),l.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(co(e,t,i,n),l.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof l.getSnapshotBeforeUpdate=="function"||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(t=l.state,typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount(),t!==l.state&&Ll.enqueueReplaceState(l,l.state,null),Cl(e,n,l,r),l.state=e.memoizedState),typeof l.componentDidMount=="function"&&(e.flags|=4194308)}function Jn(e,t){try{var n="",r=t;do n+=v(r),r=r.return;while(r);var l=n}catch(i){l=`
39
+ Error generating stack: `+i.message+`
40
+ `+i.stack}return{value:e,source:t,stack:l,digest:null}}function po(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function ho(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Df=typeof WeakMap=="function"?WeakMap:Map;function Yu(e,t,n){n=Zt(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ul||(Ul=!0,Mo=r),ho(e,t)},n}function Xu(e,t,n){n=Zt(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){ho(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){ho(e,t),typeof r!="function"&&(pn===null?pn=new Set([this]):pn.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Df;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Zf.bind(null,e,t,n),t.then(e,e))}function Zu(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function qu(e,t,n,r,l){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Zt(-1,1),t.tag=2,fn(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=l,e)}var Ff=ee.ReactCurrentOwner,mt=!1;function ft(e,t,n,r){t.child=e===null?gu(t,null,n,r):Xn(t,e.child,n,r)}function Ju(e,t,n,r,l){n=n.render;var i=t.ref;return Zn(t,l),r=lo(e,t,n,r,i,l),n=io(),e!==null&&!mt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,qt(e,t,l)):(je&&n&&Bi(t),t.flags|=1,ft(e,t,r,l),t.child)}function bu(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!Do(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,ea(e,t,i,r,l)):(e=Ql(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,(e.lanes&l)===0){var o=i.memoizedProps;if(n=n.compare,n=n!==null?n:kr,n(o,r)&&e.ref===t.ref)return qt(e,t,l)}return t.flags|=1,e=gn(i,r),e.ref=t.ref,e.return=t,t.child=e}function ea(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(kr(i,r)&&e.ref===t.ref)if(mt=!1,t.pendingProps=r=i,(e.lanes&l)!==0)(e.flags&131072)!==0&&(mt=!0);else return t.lanes=e.lanes,qt(e,t,l)}return mo(e,t,n,r,l)}function ta(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ze(er,Et),Et|=n;else{if((n&1073741824)===0)return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ze(er,Et),Et|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,ze(er,Et),Et|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,ze(er,Et),Et|=r;return ft(e,t,l,n),t.child}function na(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function mo(e,t,n,r,l){var i=ht(n)?kn:it.current;return i=Hn(t,i),Zn(t,l),n=lo(e,t,n,r,i,l),r=io(),e!==null&&!mt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,qt(e,t,l)):(je&&r&&Bi(t),t.flags|=1,ft(e,t,n,l),t.child)}function ra(e,t,n,r,l){if(ht(n)){var i=!0;vl(t)}else i=!1;if(Zn(t,l),t.stateNode===null)Rl(e,t),Qu(t,n,r),fo(t,n,r,l),r=!0;else if(e===null){var o=t.stateNode,u=t.memoizedProps;o.props=u;var f=o.context,S=n.contextType;typeof S=="object"&&S!==null?S=Nt(S):(S=ht(n)?kn:it.current,S=Hn(t,S));var M=n.getDerivedStateFromProps,j=typeof M=="function"||typeof o.getSnapshotBeforeUpdate=="function";j||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(u!==r||f!==S)&&Ku(t,o,r,S),cn=!1;var I=t.memoizedState;o.state=I,Cl(t,r,o,l),f=t.memoizedState,u!==r||I!==f||pt.current||cn?(typeof M=="function"&&(co(t,n,M,r),f=t.memoizedState),(u=cn||Hu(t,n,u,r,I,f,S))?(j||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=f),o.props=r,o.state=f,o.context=S,r=u):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,wu(e,t),u=t.memoizedProps,S=t.type===t.elementType?u:Ot(t.type,u),o.props=S,j=t.pendingProps,I=o.context,f=n.contextType,typeof f=="object"&&f!==null?f=Nt(f):(f=ht(n)?kn:it.current,f=Hn(t,f));var H=n.getDerivedStateFromProps;(M=typeof H=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(u!==j||I!==f)&&Ku(t,o,r,f),cn=!1,I=t.memoizedState,o.state=I,Cl(t,r,o,l);var X=t.memoizedState;u!==j||I!==X||pt.current||cn?(typeof H=="function"&&(co(t,n,H,r),X=t.memoizedState),(S=cn||Hu(t,n,S,r,I,X,f)||!1)?(M||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,X,f),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,X,f)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||u===e.memoizedProps&&I===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&I===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=X),o.props=r,o.state=X,o.context=f,r=S):(typeof o.componentDidUpdate!="function"||u===e.memoizedProps&&I===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&I===e.memoizedState||(t.flags|=1024),r=!1)}return vo(e,t,n,r,i,l)}function vo(e,t,n,r,l,i){na(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return l&&uu(t,n,!1),qt(e,t,i);r=t.stateNode,Ff.current=t;var u=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=Xn(t,e.child,null,i),t.child=Xn(t,null,u,i)):ft(e,t,u,i),t.memoizedState=r.state,l&&uu(t,n,!0),t.child}function la(e){var t=e.stateNode;t.pendingContext?ou(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ou(e,t.context,!1),Ji(e,t.containerInfo)}function ia(e,t,n,r,l){return Yn(),Qi(l),t.flags|=256,ft(e,t,n,r),t.child}var go={dehydrated:null,treeContext:null,retryLane:0};function yo(e){return{baseLanes:e,cachePool:null,transitions:null}}function oa(e,t,n){var r=t.pendingProps,l=Le.current,i=!1,o=(t.flags&128)!==0,u;if((u=o)||(u=e!==null&&e.memoizedState===null?!1:(l&2)!==0),u?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),ze(Le,l&1),e===null)return Hi(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(o=r.children,e=r.fallback,i?(r=t.mode,i=t.child,o={mode:"hidden",children:o},(r&1)===0&&i!==null?(i.childLanes=0,i.pendingProps=o):i=Kl(o,r,0,null),e=Ln(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=yo(n),t.memoizedState=go,e):wo(t,o));if(l=e.memoizedState,l!==null&&(u=l.dehydrated,u!==null))return Af(e,t,o,r,u,l,n);if(i){i=r.fallback,o=t.mode,l=e.child,u=l.sibling;var f={mode:"hidden",children:r.children};return(o&1)===0&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=f,t.deletions=null):(r=gn(l,f),r.subtreeFlags=l.subtreeFlags&14680064),u!==null?i=gn(u,i):(i=Ln(i,o,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,o=e.child.memoizedState,o=o===null?yo(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~n,t.memoizedState=go,r}return i=e.child,e=i.sibling,r=gn(i,{mode:"visible",children:r.children}),(t.mode&1)===0&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function wo(e,t){return t=Kl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Tl(e,t,n,r){return r!==null&&Qi(r),Xn(t,e.child,null,n),e=wo(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Af(e,t,n,r,l,i,o){if(n)return t.flags&256?(t.flags&=-257,r=po(Error(s(422))),Tl(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=Kl({mode:"visible",children:r.children},l,0,null),i=Ln(i,l,o,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,(t.mode&1)!==0&&Xn(t,e.child,null,o),t.child.memoizedState=yo(o),t.memoizedState=go,i);if((t.mode&1)===0)return Tl(e,t,o,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var u=r.dgst;return r=u,i=Error(s(419)),r=po(i,r,void 0),Tl(e,t,o,r)}if(u=(o&e.childLanes)!==0,mt||u){if(r=Xe,r!==null){switch(o&-o){case 4:l=2;break;case 16:l=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}l=(l&(r.suspendedLanes|o))!==0?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,Gt(e,l),At(r,e,l,-1))}return Oo(),r=po(Error(s(421))),Tl(e,t,o,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=qf.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,kt=on(l.nextSibling),xt=t,je=!0,Rt=null,e!==null&&(_t[Ct++]=Yt,_t[Ct++]=Xt,_t[Ct++]=En,Yt=e.id,Xt=e.overflow,En=t),t=wo(t,r.children),t.flags|=4096,t)}function sa(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Gi(e.return,t,n)}function So(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function ua(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(ft(e,t,r.children,n),r=Le.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&sa(e,n,t);else if(e.tag===19)sa(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ze(Le,r),(t.mode&1)===0)t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&Nl(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),So(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&Nl(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}So(t,!0,n,null,i);break;case"together":So(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Rl(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function qt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),In|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,n=gn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=gn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Uf(e,t,n){switch(t.tag){case 3:la(t),Yn();break;case 5:ku(t);break;case 1:ht(t.type)&&vl(t);break;case 4:Ji(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;ze(kl,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ze(Le,Le.current&1),t.flags|=128,null):(n&t.child.childLanes)!==0?oa(e,t,n):(ze(Le,Le.current&1),e=qt(e,t,n),e!==null?e.sibling:null);ze(Le,Le.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return ua(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),ze(Le,Le.current),r)break;return null;case 22:case 23:return t.lanes=0,ta(e,t,n)}return qt(e,t,n)}var aa,xo,ca,fa;aa=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},xo=function(){},ca=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,Nn(Wt.current);var i=null;switch(n){case"input":l=me(e,l),r=me(e,r),i=[];break;case"select":l=D({},l,{value:void 0}),r=D({},r,{value:void 0}),i=[];break;case"textarea":l=lt(e,l),r=lt(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=pl)}or(n,r);var o;n=null;for(S in l)if(!r.hasOwnProperty(S)&&l.hasOwnProperty(S)&&l[S]!=null)if(S==="style"){var u=l[S];for(o in u)u.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else S!=="dangerouslySetInnerHTML"&&S!=="children"&&S!=="suppressContentEditableWarning"&&S!=="suppressHydrationWarning"&&S!=="autoFocus"&&(c.hasOwnProperty(S)?i||(i=[]):(i=i||[]).push(S,null));for(S in r){var f=r[S];if(u=l!=null?l[S]:void 0,r.hasOwnProperty(S)&&f!==u&&(f!=null||u!=null))if(S==="style")if(u){for(o in u)!u.hasOwnProperty(o)||f&&f.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in f)f.hasOwnProperty(o)&&u[o]!==f[o]&&(n||(n={}),n[o]=f[o])}else n||(i||(i=[]),i.push(S,n)),n=f;else S==="dangerouslySetInnerHTML"?(f=f?f.__html:void 0,u=u?u.__html:void 0,f!=null&&u!==f&&(i=i||[]).push(S,f)):S==="children"?typeof f!="string"&&typeof f!="number"||(i=i||[]).push(S,""+f):S!=="suppressContentEditableWarning"&&S!=="suppressHydrationWarning"&&(c.hasOwnProperty(S)?(f!=null&&S==="onScroll"&&Ie("scroll",e),i||u===f||(i=[])):(i=i||[]).push(S,f))}n&&(i=i||[]).push("style",n);var S=i;(t.updateQueue=S)&&(t.flags|=4)}},fa=function(e,t,n,r){n!==r&&(t.flags|=4)};function Fr(e,t){if(!je)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function st(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Vf(e,t,n){var r=t.pendingProps;switch(Wi(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return st(t),null;case 1:return ht(t.type)&&ml(),st(t),null;case 3:return r=t.stateNode,qn(),Me(pt),Me(it),to(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Sl(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Rt!==null&&(Lo(Rt),Rt=null))),xo(e,t),st(t),null;case 5:bi(t);var l=Nn(Lr.current);if(n=t.type,e!==null&&t.stateNode!=null)ca(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(s(166));return st(t),null}if(e=Nn(Wt.current),Sl(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[Bt]=t,r[zr]=i,e=(t.mode&1)!==0,n){case"dialog":Ie("cancel",r),Ie("close",r);break;case"iframe":case"object":case"embed":Ie("load",r);break;case"video":case"audio":for(l=0;l<_r.length;l++)Ie(_r[l],r);break;case"source":Ie("error",r);break;case"img":case"image":case"link":Ie("error",r),Ie("load",r);break;case"details":Ie("toggle",r);break;case"input":be(r,i),Ie("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},Ie("invalid",r);break;case"textarea":Be(r,i),Ie("invalid",r)}or(n,i),l=null;for(var o in i)if(i.hasOwnProperty(o)){var u=i[o];o==="children"?typeof u=="string"?r.textContent!==u&&(i.suppressHydrationWarning!==!0&&dl(r.textContent,u,e),l=["children",u]):typeof u=="number"&&r.textContent!==""+u&&(i.suppressHydrationWarning!==!0&&dl(r.textContent,u,e),l=["children",""+u]):c.hasOwnProperty(o)&&u!=null&&o==="onScroll"&&Ie("scroll",r)}switch(n){case"input":ie(r),Ke(r,i,!0);break;case"textarea":ie(r),Ae(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=pl)}r=l,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=l.nodeType===9?l:l.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=de(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Bt]=t,e[zr]=r,aa(e,t,!1,!1),t.stateNode=e;e:{switch(o=wn(n,r),n){case"dialog":Ie("cancel",e),Ie("close",e),l=r;break;case"iframe":case"object":case"embed":Ie("load",e),l=r;break;case"video":case"audio":for(l=0;l<_r.length;l++)Ie(_r[l],e);l=r;break;case"source":Ie("error",e),l=r;break;case"img":case"image":case"link":Ie("error",e),Ie("load",e),l=r;break;case"details":Ie("toggle",e),l=r;break;case"input":be(e,r),l=me(e,r),Ie("invalid",e);break;case"option":l=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},l=D({},r,{value:void 0}),Ie("invalid",e);break;case"textarea":Be(e,r),l=lt(e,r),Ie("invalid",e);break;default:l=r}or(n,l),u=l;for(i in u)if(u.hasOwnProperty(i)){var f=u[i];i==="style"?ir(e,f):i==="dangerouslySetInnerHTML"?(f=f?f.__html:void 0,f!=null&&Pt(e,f)):i==="children"?typeof f=="string"?(n!=="textarea"||f!=="")&&wt(e,f):typeof f=="number"&&wt(e,""+f):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(c.hasOwnProperty(i)?f!=null&&i==="onScroll"&&Ie("scroll",e):f!=null&&J(e,i,f,o))}switch(n){case"input":ie(e),Ke(e,r,!1);break;case"textarea":ie(e),Ae(e);break;case"option":r.value!=null&&e.setAttribute("value",""+F(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?ct(e,!!r.multiple,i,!1):r.defaultValue!=null&&ct(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick=="function"&&(e.onclick=pl)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return st(t),null;case 6:if(e&&t.stateNode!=null)fa(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(s(166));if(n=Nn(Lr.current),Nn(Wt.current),Sl(t)){if(r=t.stateNode,n=t.memoizedProps,r[Bt]=t,(i=r.nodeValue!==n)&&(e=xt,e!==null))switch(e.tag){case 3:dl(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&dl(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Bt]=t,t.stateNode=r}return st(t),null;case 13:if(Me(Le),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(je&&kt!==null&&(t.mode&1)!==0&&(t.flags&128)===0)hu(),Yn(),t.flags|=98560,i=!1;else if(i=Sl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(s(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(s(317));i[Bt]=t}else Yn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;st(t),i=!1}else Rt!==null&&(Lo(Rt),Rt=null),i=!0;if(!i)return t.flags&65536?t:null}return(t.flags&128)!==0?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,(t.mode&1)!==0&&(e===null||(Le.current&1)!==0?$e===0&&($e=3):Oo())),t.updateQueue!==null&&(t.flags|=4),st(t),null);case 4:return qn(),xo(e,t),e===null&&Cr(t.stateNode.containerInfo),st(t),null;case 10:return Xi(t.type._context),st(t),null;case 17:return ht(t.type)&&ml(),st(t),null;case 19:if(Me(Le),i=t.memoizedState,i===null)return st(t),null;if(r=(t.flags&128)!==0,o=i.rendering,o===null)if(r)Fr(i,!1);else{if($e!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=Nl(e),o!==null){for(t.flags|=128,Fr(i,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,o=i.alternate,o===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ze(Le,Le.current&1|2),t.child}e=e.sibling}i.tail!==null&&De()>tr&&(t.flags|=128,r=!0,Fr(i,!1),t.lanes=4194304)}else{if(!r)if(e=Nl(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Fr(i,!0),i.tail===null&&i.tailMode==="hidden"&&!o.alternate&&!je)return st(t),null}else 2*De()-i.renderingStartTime>tr&&n!==1073741824&&(t.flags|=128,r=!0,Fr(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(n=i.last,n!==null?n.sibling=o:t.child=o,i.last=o)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=De(),t.sibling=null,n=Le.current,ze(Le,r?n&1|2:n&1),t):(st(t),null);case 22:case 23:return Ro(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(Et&1073741824)!==0&&(st(t),t.subtreeFlags&6&&(t.flags|=8192)):st(t),null;case 24:return null;case 25:return null}throw Error(s(156,t.tag))}function Bf(e,t){switch(Wi(t),t.tag){case 1:return ht(t.type)&&ml(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return qn(),Me(pt),Me(it),to(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return bi(t),null;case 13:if(Me(Le),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Yn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Me(Le),null;case 4:return qn(),null;case 10:return Xi(t.type._context),null;case 22:case 23:return Ro(),null;case 24:return null;default:return null}}var Ol=!1,ut=!1,Wf=typeof WeakSet=="function"?WeakSet:Set,K=null;function bn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Oe(e,t,r)}else n.current=null}function ko(e,t,n){try{n()}catch(r){Oe(e,t,r)}}var da=!1;function $f(e,t){if(Ti=tl,e=Hs(),Ci(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var o=0,u=-1,f=-1,S=0,M=0,j=e,I=null;t:for(;;){for(var H;j!==n||l!==0&&j.nodeType!==3||(u=o+l),j!==i||r!==0&&j.nodeType!==3||(f=o+r),j.nodeType===3&&(o+=j.nodeValue.length),(H=j.firstChild)!==null;)I=j,j=H;for(;;){if(j===e)break t;if(I===n&&++S===l&&(u=o),I===i&&++M===r&&(f=o),(H=j.nextSibling)!==null)break;j=I,I=j.parentNode}j=H}n=u===-1||f===-1?null:{start:u,end:f}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ri={focusedElem:e,selectionRange:n},tl=!1,K=t;K!==null;)if(t=K,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,K=e;else for(;K!==null;){t=K;try{var X=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(X!==null){var G=X.memoizedProps,Fe=X.memoizedState,m=t.stateNode,p=m.getSnapshotBeforeUpdate(t.elementType===t.type?G:Ot(t.type,G),Fe);m.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var g=t.stateNode.containerInfo;g.nodeType===1?g.textContent="":g.nodeType===9&&g.documentElement&&g.removeChild(g.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(s(163))}}catch(L){Oe(t,t.return,L)}if(e=t.sibling,e!==null){e.return=t.return,K=e;break}K=t.return}return X=da,da=!1,X}function Ar(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&ko(t,n,i)}l=l.next}while(l!==r)}}function Dl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Eo(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function pa(e){var t=e.alternate;t!==null&&(e.alternate=null,pa(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Bt],delete t[zr],delete t[Ai],delete t[Cf],delete t[Nf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ha(e){return e.tag===5||e.tag===3||e.tag===4}function ma(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ha(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function _o(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=pl));else if(r!==4&&(e=e.child,e!==null))for(_o(e,t,n),e=e.sibling;e!==null;)_o(e,t,n),e=e.sibling}function Co(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Co(e,t,n),e=e.sibling;e!==null;)Co(e,t,n),e=e.sibling}var tt=null,Dt=!1;function dn(e,t,n){for(n=n.child;n!==null;)va(e,t,n),n=n.sibling}function va(e,t,n){if(Vt&&typeof Vt.onCommitFiberUnmount=="function")try{Vt.onCommitFiberUnmount(Gr,n)}catch{}switch(n.tag){case 5:ut||bn(n,t);case 6:var r=tt,l=Dt;tt=null,dn(e,t,n),tt=r,Dt=l,tt!==null&&(Dt?(e=tt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):tt.removeChild(n.stateNode));break;case 18:tt!==null&&(Dt?(e=tt,n=n.stateNode,e.nodeType===8?Fi(e.parentNode,n):e.nodeType===1&&Fi(e,n),vr(e)):Fi(tt,n.stateNode));break;case 4:r=tt,l=Dt,tt=n.stateNode.containerInfo,Dt=!0,dn(e,t,n),tt=r,Dt=l;break;case 0:case 11:case 14:case 15:if(!ut&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,o=i.destroy;i=i.tag,o!==void 0&&((i&2)!==0||(i&4)!==0)&&ko(n,t,o),l=l.next}while(l!==r)}dn(e,t,n);break;case 1:if(!ut&&(bn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){Oe(n,t,u)}dn(e,t,n);break;case 21:dn(e,t,n);break;case 22:n.mode&1?(ut=(r=ut)||n.memoizedState!==null,dn(e,t,n),ut=r):dn(e,t,n);break;default:dn(e,t,n)}}function ga(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Wf),t.forEach(function(r){var l=Jf.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ft(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var l=n[r];try{var i=e,o=t,u=o;e:for(;u!==null;){switch(u.tag){case 5:tt=u.stateNode,Dt=!1;break e;case 3:tt=u.stateNode.containerInfo,Dt=!0;break e;case 4:tt=u.stateNode.containerInfo,Dt=!0;break e}u=u.return}if(tt===null)throw Error(s(160));va(i,o,l),tt=null,Dt=!1;var f=l.alternate;f!==null&&(f.return=null),l.return=null}catch(S){Oe(l,t,S)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)ya(t,e),t=t.sibling}function ya(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Ft(t,e),Ht(e),r&4){try{Ar(3,e,e.return),Dl(3,e)}catch(G){Oe(e,e.return,G)}try{Ar(5,e,e.return)}catch(G){Oe(e,e.return,G)}}break;case 1:Ft(t,e),Ht(e),r&512&&n!==null&&bn(n,n.return);break;case 5:if(Ft(t,e),Ht(e),r&512&&n!==null&&bn(n,n.return),e.flags&32){var l=e.stateNode;try{wt(l,"")}catch(G){Oe(e,e.return,G)}}if(r&4&&(l=e.stateNode,l!=null)){var i=e.memoizedProps,o=n!==null?n.memoizedProps:i,u=e.type,f=e.updateQueue;if(e.updateQueue=null,f!==null)try{u==="input"&&i.type==="radio"&&i.name!=null&&Ve(l,i),wn(u,o);var S=wn(u,i);for(o=0;o<f.length;o+=2){var M=f[o],j=f[o+1];M==="style"?ir(l,j):M==="dangerouslySetInnerHTML"?Pt(l,j):M==="children"?wt(l,j):J(l,M,j,S)}switch(u){case"input":ve(l,i);break;case"textarea":ge(l,i);break;case"select":var I=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!i.multiple;var H=i.value;H!=null?ct(l,!!i.multiple,H,!1):I!==!!i.multiple&&(i.defaultValue!=null?ct(l,!!i.multiple,i.defaultValue,!0):ct(l,!!i.multiple,i.multiple?[]:"",!1))}l[zr]=i}catch(G){Oe(e,e.return,G)}}break;case 6:if(Ft(t,e),Ht(e),r&4){if(e.stateNode===null)throw Error(s(162));l=e.stateNode,i=e.memoizedProps;try{l.nodeValue=i}catch(G){Oe(e,e.return,G)}}break;case 3:if(Ft(t,e),Ht(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{vr(t.containerInfo)}catch(G){Oe(e,e.return,G)}break;case 4:Ft(t,e),Ht(e);break;case 13:Ft(t,e),Ht(e),l=e.child,l.flags&8192&&(i=l.memoizedState!==null,l.stateNode.isHidden=i,!i||l.alternate!==null&&l.alternate.memoizedState!==null||(Io=De())),r&4&&ga(e);break;case 22:if(M=n!==null&&n.memoizedState!==null,e.mode&1?(ut=(S=ut)||M,Ft(t,e),ut=S):Ft(t,e),Ht(e),r&8192){if(S=e.memoizedState!==null,(e.stateNode.isHidden=S)&&!M&&(e.mode&1)!==0)for(K=e,M=e.child;M!==null;){for(j=K=M;K!==null;){switch(I=K,H=I.child,I.tag){case 0:case 11:case 14:case 15:Ar(4,I,I.return);break;case 1:bn(I,I.return);var X=I.stateNode;if(typeof X.componentWillUnmount=="function"){r=I,n=I.return;try{t=r,X.props=t.memoizedProps,X.state=t.memoizedState,X.componentWillUnmount()}catch(G){Oe(r,n,G)}}break;case 5:bn(I,I.return);break;case 22:if(I.memoizedState!==null){xa(j);continue}}H!==null?(H.return=I,K=H):xa(j)}M=M.sibling}e:for(M=null,j=e;;){if(j.tag===5){if(M===null){M=j;try{l=j.stateNode,S?(i=l.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(u=j.stateNode,f=j.memoizedProps.style,o=f!=null&&f.hasOwnProperty("display")?f.display:null,u.style.display=_e("display",o))}catch(G){Oe(e,e.return,G)}}}else if(j.tag===6){if(M===null)try{j.stateNode.nodeValue=S?"":j.memoizedProps}catch(G){Oe(e,e.return,G)}}else if((j.tag!==22&&j.tag!==23||j.memoizedState===null||j===e)&&j.child!==null){j.child.return=j,j=j.child;continue}if(j===e)break e;for(;j.sibling===null;){if(j.return===null||j.return===e)break e;M===j&&(M=null),j=j.return}M===j&&(M=null),j.sibling.return=j.return,j=j.sibling}}break;case 19:Ft(t,e),Ht(e),r&4&&ga(e);break;case 21:break;default:Ft(t,e),Ht(e)}}function Ht(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(ha(n)){var r=n;break e}n=n.return}throw Error(s(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(wt(l,""),r.flags&=-33);var i=ma(e);Co(e,i,l);break;case 3:case 4:var o=r.stateNode.containerInfo,u=ma(e);_o(e,u,o);break;default:throw Error(s(161))}}catch(f){Oe(e,e.return,f)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Hf(e,t,n){K=e,wa(e)}function wa(e,t,n){for(var r=(e.mode&1)!==0;K!==null;){var l=K,i=l.child;if(l.tag===22&&r){var o=l.memoizedState!==null||Ol;if(!o){var u=l.alternate,f=u!==null&&u.memoizedState!==null||ut;u=Ol;var S=ut;if(Ol=o,(ut=f)&&!S)for(K=l;K!==null;)o=K,f=o.child,o.tag===22&&o.memoizedState!==null?ka(l):f!==null?(f.return=o,K=f):ka(l);for(;i!==null;)K=i,wa(i),i=i.sibling;K=l,Ol=u,ut=S}Sa(e)}else(l.subtreeFlags&8772)!==0&&i!==null?(i.return=l,K=i):Sa(e)}}function Sa(e){for(;K!==null;){var t=K;if((t.flags&8772)!==0){var n=t.alternate;try{if((t.flags&8772)!==0)switch(t.tag){case 0:case 11:case 15:ut||Dl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ut)if(n===null)r.componentDidMount();else{var l=t.elementType===t.type?n.memoizedProps:Ot(t.type,n.memoizedProps);r.componentDidUpdate(l,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&xu(t,i,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}xu(t,o,n)}break;case 5:var u=t.stateNode;if(n===null&&t.flags&4){n=u;var f=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":f.autoFocus&&n.focus();break;case"img":f.src&&(n.src=f.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var S=t.alternate;if(S!==null){var M=S.memoizedState;if(M!==null){var j=M.dehydrated;j!==null&&vr(j)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(s(163))}ut||t.flags&512&&Eo(t)}catch(I){Oe(t,t.return,I)}}if(t===e){K=null;break}if(n=t.sibling,n!==null){n.return=t.return,K=n;break}K=t.return}}function xa(e){for(;K!==null;){var t=K;if(t===e){K=null;break}var n=t.sibling;if(n!==null){n.return=t.return,K=n;break}K=t.return}}function ka(e){for(;K!==null;){var t=K;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Dl(4,t)}catch(f){Oe(t,n,f)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var l=t.return;try{r.componentDidMount()}catch(f){Oe(t,l,f)}}var i=t.return;try{Eo(t)}catch(f){Oe(t,i,f)}break;case 5:var o=t.return;try{Eo(t)}catch(f){Oe(t,o,f)}}}catch(f){Oe(t,t.return,f)}if(t===e){K=null;break}var u=t.sibling;if(u!==null){u.return=t.return,K=u;break}K=t.return}}var Qf=Math.ceil,Fl=ee.ReactCurrentDispatcher,No=ee.ReactCurrentOwner,It=ee.ReactCurrentBatchConfig,Se=0,Xe=null,Ue=null,nt=0,Et=0,er=sn(0),$e=0,Ur=null,In=0,Al=0,zo=0,Vr=null,vt=null,Io=0,tr=1/0,Jt=null,Ul=!1,Mo=null,pn=null,Vl=!1,hn=null,Bl=0,Br=0,Po=null,Wl=-1,$l=0;function dt(){return(Se&6)!==0?De():Wl!==-1?Wl:Wl=De()}function mn(e){return(e.mode&1)===0?1:(Se&2)!==0&&nt!==0?nt&-nt:If.transition!==null?($l===0&&($l=ms()),$l):(e=Ce,e!==0||(e=window.event,e=e===void 0?16:_s(e.type)),e)}function At(e,t,n,r){if(50<Br)throw Br=0,Po=null,Error(s(185));fr(e,n,r),((Se&2)===0||e!==Xe)&&(e===Xe&&((Se&2)===0&&(Al|=n),$e===4&&vn(e,nt)),gt(e,r),n===1&&Se===0&&(t.mode&1)===0&&(tr=De()+500,gl&&an()))}function gt(e,t){var n=e.callbackNode;zc(e,t);var r=Jr(e,e===Xe?nt:0);if(r===0)n!==null&&ds(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&ds(n),t===1)e.tag===0?zf(_a.bind(null,e)):au(_a.bind(null,e)),Ef(function(){(Se&6)===0&&an()}),n=null;else{switch(vs(r)){case 1:n=ui;break;case 4:n=ps;break;case 16:n=Xr;break;case 536870912:n=hs;break;default:n=Xr}n=La(n,Ea.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Ea(e,t){if(Wl=-1,$l=0,(Se&6)!==0)throw Error(s(327));var n=e.callbackNode;if(nr()&&e.callbackNode!==n)return null;var r=Jr(e,e===Xe?nt:0);if(r===0)return null;if((r&30)!==0||(r&e.expiredLanes)!==0||t)t=Hl(e,r);else{t=r;var l=Se;Se|=2;var i=Na();(Xe!==e||nt!==t)&&(Jt=null,tr=De()+500,Pn(e,t));do try{Xf();break}catch(u){Ca(e,u)}while(!0);Yi(),Fl.current=i,Se=l,Ue!==null?t=0:(Xe=null,nt=0,t=$e)}if(t!==0){if(t===2&&(l=ai(e),l!==0&&(r=l,t=jo(e,l))),t===1)throw n=Ur,Pn(e,0),vn(e,r),gt(e,De()),n;if(t===6)vn(e,r);else{if(l=e.current.alternate,(r&30)===0&&!Kf(l)&&(t=Hl(e,r),t===2&&(i=ai(e),i!==0&&(r=i,t=jo(e,i))),t===1))throw n=Ur,Pn(e,0),vn(e,r),gt(e,De()),n;switch(e.finishedWork=l,e.finishedLanes=r,t){case 0:case 1:throw Error(s(345));case 2:jn(e,vt,Jt);break;case 3:if(vn(e,r),(r&130023424)===r&&(t=Io+500-De(),10<t)){if(Jr(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){dt(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=Di(jn.bind(null,e,vt,Jt),t);break}jn(e,vt,Jt);break;case 4:if(vn(e,r),(r&4194240)===r)break;for(t=e.eventTimes,l=-1;0<r;){var o=31-Lt(r);i=1<<o,o=t[o],o>l&&(l=o),r&=~i}if(r=l,r=De()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Qf(r/1960))-r,10<r){e.timeoutHandle=Di(jn.bind(null,e,vt,Jt),r);break}jn(e,vt,Jt);break;case 5:jn(e,vt,Jt);break;default:throw Error(s(329))}}}return gt(e,De()),e.callbackNode===n?Ea.bind(null,e):null}function jo(e,t){var n=Vr;return e.current.memoizedState.isDehydrated&&(Pn(e,t).flags|=256),e=Hl(e,t),e!==2&&(t=vt,vt=n,t!==null&&Lo(t)),e}function Lo(e){vt===null?vt=e:vt.push.apply(vt,e)}function Kf(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var l=n[r],i=l.getSnapshot;l=l.value;try{if(!Tt(i(),l))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function vn(e,t){for(t&=~zo,t&=~Al,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Lt(t),r=1<<n;e[n]=-1,t&=~r}}function _a(e){if((Se&6)!==0)throw Error(s(327));nr();var t=Jr(e,0);if((t&1)===0)return gt(e,De()),null;var n=Hl(e,t);if(e.tag!==0&&n===2){var r=ai(e);r!==0&&(t=r,n=jo(e,r))}if(n===1)throw n=Ur,Pn(e,0),vn(e,t),gt(e,De()),n;if(n===6)throw Error(s(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,jn(e,vt,Jt),gt(e,De()),null}function To(e,t){var n=Se;Se|=1;try{return e(t)}finally{Se=n,Se===0&&(tr=De()+500,gl&&an())}}function Mn(e){hn!==null&&hn.tag===0&&(Se&6)===0&&nr();var t=Se;Se|=1;var n=It.transition,r=Ce;try{if(It.transition=null,Ce=1,e)return e()}finally{Ce=r,It.transition=n,Se=t,(Se&6)===0&&an()}}function Ro(){Et=er.current,Me(er)}function Pn(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,kf(n)),Ue!==null)for(n=Ue.return;n!==null;){var r=n;switch(Wi(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&ml();break;case 3:qn(),Me(pt),Me(it),to();break;case 5:bi(r);break;case 4:qn();break;case 13:Me(Le);break;case 19:Me(Le);break;case 10:Xi(r.type._context);break;case 22:case 23:Ro()}n=n.return}if(Xe=e,Ue=e=gn(e.current,null),nt=Et=t,$e=0,Ur=null,zo=Al=In=0,vt=Vr=null,Cn!==null){for(t=0;t<Cn.length;t++)if(n=Cn[t],r=n.interleaved,r!==null){n.interleaved=null;var l=r.next,i=n.pending;if(i!==null){var o=i.next;i.next=l,r.next=o}n.pending=r}Cn=null}return e}function Ca(e,t){do{var n=Ue;try{if(Yi(),zl.current=jl,Il){for(var r=Te.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}Il=!1}if(zn=0,Ye=We=Te=null,Tr=!1,Rr=0,No.current=null,n===null||n.return===null){$e=1,Ur=t,Ue=null;break}e:{var i=e,o=n.return,u=n,f=t;if(t=nt,u.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){var S=f,M=u,j=M.tag;if((M.mode&1)===0&&(j===0||j===11||j===15)){var I=M.alternate;I?(M.updateQueue=I.updateQueue,M.memoizedState=I.memoizedState,M.lanes=I.lanes):(M.updateQueue=null,M.memoizedState=null)}var H=Zu(o);if(H!==null){H.flags&=-257,qu(H,o,u,i,t),H.mode&1&&Gu(i,S,t),t=H,f=S;var X=t.updateQueue;if(X===null){var G=new Set;G.add(f),t.updateQueue=G}else X.add(f);break e}else{if((t&1)===0){Gu(i,S,t),Oo();break e}f=Error(s(426))}}else if(je&&u.mode&1){var Fe=Zu(o);if(Fe!==null){(Fe.flags&65536)===0&&(Fe.flags|=256),qu(Fe,o,u,i,t),Qi(Jn(f,u));break e}}i=f=Jn(f,u),$e!==4&&($e=2),Vr===null?Vr=[i]:Vr.push(i),i=o;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var m=Yu(i,f,t);Su(i,m);break e;case 1:u=f;var p=i.type,g=i.stateNode;if((i.flags&128)===0&&(typeof p.getDerivedStateFromError=="function"||g!==null&&typeof g.componentDidCatch=="function"&&(pn===null||!pn.has(g)))){i.flags|=65536,t&=-t,i.lanes|=t;var L=Xu(i,u,t);Su(i,L);break e}}i=i.return}while(i!==null)}Ia(n)}catch(q){t=q,Ue===n&&n!==null&&(Ue=n=n.return);continue}break}while(!0)}function Na(){var e=Fl.current;return Fl.current=jl,e===null?jl:e}function Oo(){($e===0||$e===3||$e===2)&&($e=4),Xe===null||(In&268435455)===0&&(Al&268435455)===0||vn(Xe,nt)}function Hl(e,t){var n=Se;Se|=2;var r=Na();(Xe!==e||nt!==t)&&(Jt=null,Pn(e,t));do try{Yf();break}catch(l){Ca(e,l)}while(!0);if(Yi(),Se=n,Fl.current=r,Ue!==null)throw Error(s(261));return Xe=null,nt=0,$e}function Yf(){for(;Ue!==null;)za(Ue)}function Xf(){for(;Ue!==null&&!yc();)za(Ue)}function za(e){var t=ja(e.alternate,e,Et);e.memoizedProps=e.pendingProps,t===null?Ia(e):Ue=t,No.current=null}function Ia(e){var t=e;do{var n=t.alternate;if(e=t.return,(t.flags&32768)===0){if(n=Vf(n,t,Et),n!==null){Ue=n;return}}else{if(n=Bf(n,t),n!==null){n.flags&=32767,Ue=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{$e=6,Ue=null;return}}if(t=t.sibling,t!==null){Ue=t;return}Ue=t=e}while(t!==null);$e===0&&($e=5)}function jn(e,t,n){var r=Ce,l=It.transition;try{It.transition=null,Ce=1,Gf(e,t,n,r)}finally{It.transition=l,Ce=r}return null}function Gf(e,t,n,r){do nr();while(hn!==null);if((Se&6)!==0)throw Error(s(327));n=e.finishedWork;var l=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(Ic(e,i),e===Xe&&(Ue=Xe=null,nt=0),(n.subtreeFlags&2064)===0&&(n.flags&2064)===0||Vl||(Vl=!0,La(Xr,function(){return nr(),null})),i=(n.flags&15990)!==0,(n.subtreeFlags&15990)!==0||i){i=It.transition,It.transition=null;var o=Ce;Ce=1;var u=Se;Se|=4,No.current=null,$f(e,n),ya(n,e),mf(Ri),tl=!!Ti,Ri=Ti=null,e.current=n,Hf(n),wc(),Se=u,Ce=o,It.transition=i}else e.current=n;if(Vl&&(Vl=!1,hn=e,Bl=l),i=e.pendingLanes,i===0&&(pn=null),kc(n.stateNode),gt(e,De()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)l=t[n],r(l.value,{componentStack:l.stack,digest:l.digest});if(Ul)throw Ul=!1,e=Mo,Mo=null,e;return(Bl&1)!==0&&e.tag!==0&&nr(),i=e.pendingLanes,(i&1)!==0?e===Po?Br++:(Br=0,Po=e):Br=0,an(),null}function nr(){if(hn!==null){var e=vs(Bl),t=It.transition,n=Ce;try{if(It.transition=null,Ce=16>e?16:e,hn===null)var r=!1;else{if(e=hn,hn=null,Bl=0,(Se&6)!==0)throw Error(s(331));var l=Se;for(Se|=4,K=e.current;K!==null;){var i=K,o=i.child;if((K.flags&16)!==0){var u=i.deletions;if(u!==null){for(var f=0;f<u.length;f++){var S=u[f];for(K=S;K!==null;){var M=K;switch(M.tag){case 0:case 11:case 15:Ar(8,M,i)}var j=M.child;if(j!==null)j.return=M,K=j;else for(;K!==null;){M=K;var I=M.sibling,H=M.return;if(pa(M),M===S){K=null;break}if(I!==null){I.return=H,K=I;break}K=H}}}var X=i.alternate;if(X!==null){var G=X.child;if(G!==null){X.child=null;do{var Fe=G.sibling;G.sibling=null,G=Fe}while(G!==null)}}K=i}}if((i.subtreeFlags&2064)!==0&&o!==null)o.return=i,K=o;else e:for(;K!==null;){if(i=K,(i.flags&2048)!==0)switch(i.tag){case 0:case 11:case 15:Ar(9,i,i.return)}var m=i.sibling;if(m!==null){m.return=i.return,K=m;break e}K=i.return}}var p=e.current;for(K=p;K!==null;){o=K;var g=o.child;if((o.subtreeFlags&2064)!==0&&g!==null)g.return=o,K=g;else e:for(o=p;K!==null;){if(u=K,(u.flags&2048)!==0)try{switch(u.tag){case 0:case 11:case 15:Dl(9,u)}}catch(q){Oe(u,u.return,q)}if(u===o){K=null;break e}var L=u.sibling;if(L!==null){L.return=u.return,K=L;break e}K=u.return}}if(Se=l,an(),Vt&&typeof Vt.onPostCommitFiberRoot=="function")try{Vt.onPostCommitFiberRoot(Gr,e)}catch{}r=!0}return r}finally{Ce=n,It.transition=t}}return!1}function Ma(e,t,n){t=Jn(n,t),t=Yu(e,t,1),e=fn(e,t,1),t=dt(),e!==null&&(fr(e,1,t),gt(e,t))}function Oe(e,t,n){if(e.tag===3)Ma(e,e,n);else for(;t!==null;){if(t.tag===3){Ma(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(pn===null||!pn.has(r))){e=Jn(n,e),e=Xu(t,e,1),t=fn(t,e,1),e=dt(),t!==null&&(fr(t,1,e),gt(t,e));break}}t=t.return}}function Zf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=dt(),e.pingedLanes|=e.suspendedLanes&n,Xe===e&&(nt&n)===n&&($e===4||$e===3&&(nt&130023424)===nt&&500>De()-Io?Pn(e,0):zo|=n),gt(e,t)}function Pa(e,t){t===0&&((e.mode&1)===0?t=1:(t=qr,qr<<=1,(qr&130023424)===0&&(qr=4194304)));var n=dt();e=Gt(e,t),e!==null&&(fr(e,t,n),gt(e,n))}function qf(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Pa(e,n)}function Jf(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(s(314))}r!==null&&r.delete(t),Pa(e,n)}var ja;ja=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||pt.current)mt=!0;else{if((e.lanes&n)===0&&(t.flags&128)===0)return mt=!1,Uf(e,t,n);mt=(e.flags&131072)!==0}else mt=!1,je&&(t.flags&1048576)!==0&&cu(t,wl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Rl(e,t),e=t.pendingProps;var l=Hn(t,it.current);Zn(t,n),l=lo(null,t,r,e,l,n);var i=io();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ht(r)?(i=!0,vl(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,qi(t),l.updater=Ll,t.stateNode=l,l._reactInternals=t,fo(t,r,e,n),t=vo(null,t,r,!0,i,n)):(t.tag=0,je&&i&&Bi(t),ft(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Rl(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=ed(r),e=Ot(r,e),l){case 0:t=mo(null,t,r,e,n);break e;case 1:t=ra(null,t,r,e,n);break e;case 11:t=Ju(null,t,r,e,n);break e;case 14:t=bu(null,t,r,Ot(r.type,e),n);break e}throw Error(s(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ot(r,l),mo(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ot(r,l),ra(e,t,r,l,n);case 3:e:{if(la(t),e===null)throw Error(s(387));r=t.pendingProps,i=t.memoizedState,l=i.element,wu(e,t),Cl(t,r,null,n);var o=t.memoizedState;if(r=o.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=Jn(Error(s(423)),t),t=ia(e,t,r,n,l);break e}else if(r!==l){l=Jn(Error(s(424)),t),t=ia(e,t,r,n,l);break e}else for(kt=on(t.stateNode.containerInfo.firstChild),xt=t,je=!0,Rt=null,n=gu(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Yn(),r===l){t=qt(e,t,n);break e}ft(e,t,r,n)}t=t.child}return t;case 5:return ku(t),e===null&&Hi(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,o=l.children,Oi(r,l)?o=null:i!==null&&Oi(r,i)&&(t.flags|=32),na(e,t),ft(e,t,o,n),t.child;case 6:return e===null&&Hi(t),null;case 13:return oa(e,t,n);case 4:return Ji(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Xn(t,null,r,n):ft(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ot(r,l),Ju(e,t,r,l,n);case 7:return ft(e,t,t.pendingProps,n),t.child;case 8:return ft(e,t,t.pendingProps.children,n),t.child;case 12:return ft(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,o=l.value,ze(kl,r._currentValue),r._currentValue=o,i!==null)if(Tt(i.value,o)){if(i.children===l.children&&!pt.current){t=qt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var u=i.dependencies;if(u!==null){o=i.child;for(var f=u.firstContext;f!==null;){if(f.context===r){if(i.tag===1){f=Zt(-1,n&-n),f.tag=2;var S=i.updateQueue;if(S!==null){S=S.shared;var M=S.pending;M===null?f.next=f:(f.next=M.next,M.next=f),S.pending=f}}i.lanes|=n,f=i.alternate,f!==null&&(f.lanes|=n),Gi(i.return,n,t),u.lanes|=n;break}f=f.next}}else if(i.tag===10)o=i.type===t.type?null:i.child;else if(i.tag===18){if(o=i.return,o===null)throw Error(s(341));o.lanes|=n,u=o.alternate,u!==null&&(u.lanes|=n),Gi(o,n,t),o=i.sibling}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===t){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}ft(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Zn(t,n),l=Nt(l),r=r(l),t.flags|=1,ft(e,t,r,n),t.child;case 14:return r=t.type,l=Ot(r,t.pendingProps),l=Ot(r.type,l),bu(e,t,r,l,n);case 15:return ea(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Ot(r,l),Rl(e,t),t.tag=1,ht(r)?(e=!0,vl(t)):e=!1,Zn(t,n),Qu(t,r,l),fo(t,r,l,n),vo(null,t,r,!0,e,n);case 19:return ua(e,t,n);case 22:return ta(e,t,n)}throw Error(s(156,t.tag))};function La(e,t){return fs(e,t)}function bf(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mt(e,t,n,r){return new bf(e,t,n,r)}function Do(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ed(e){if(typeof e=="function")return Do(e)?1:0;if(e!=null){if(e=e.$$typeof,e===He)return 11;if(e===at)return 14}return 2}function gn(e,t){var n=e.alternate;return n===null?(n=Mt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ql(e,t,n,r,l,i){var o=2;if(r=e,typeof e=="function")Do(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case ne:return Ln(n.children,l,i,t);case ue:o=8,l|=8;break;case Ze:return e=Mt(12,n,t,l|2),e.elementType=Ze,e.lanes=i,e;case Je:return e=Mt(13,n,t,l),e.elementType=Je,e.lanes=i,e;case Qe:return e=Mt(19,n,t,l),e.elementType=Qe,e.lanes=i,e;case Ne:return Kl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rt:o=10;break e;case qe:o=9;break e;case He:o=11;break e;case at:o=14;break e;case Re:o=16,r=null;break e}throw Error(s(130,e==null?e:typeof e,""))}return t=Mt(o,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Ln(e,t,n,r){return e=Mt(7,e,r,t),e.lanes=n,e}function Kl(e,t,n,r){return e=Mt(22,e,r,t),e.elementType=Ne,e.lanes=n,e.stateNode={isHidden:!1},e}function Fo(e,t,n){return e=Mt(6,e,null,t),e.lanes=n,e}function Ao(e,t,n){return t=Mt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function td(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ci(0),this.expirationTimes=ci(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ci(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Uo(e,t,n,r,l,i,o,u,f){return e=new td(e,t,n,u,f),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Mt(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},qi(i),e}function nd(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Y,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function Ta(e){if(!e)return un;e=e._reactInternals;e:{if(Sn(e)!==e||e.tag!==1)throw Error(s(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ht(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(s(171))}if(e.tag===1){var n=e.type;if(ht(n))return su(e,n,t)}return t}function Ra(e,t,n,r,l,i,o,u,f){return e=Uo(n,r,!0,e,l,i,o,u,f),e.context=Ta(null),n=e.current,r=dt(),l=mn(n),i=Zt(r,l),i.callback=t??null,fn(n,i,l),e.current.lanes=l,fr(e,l,r),gt(e,r),e}function Yl(e,t,n,r){var l=t.current,i=dt(),o=mn(l);return n=Ta(n),t.context===null?t.context=n:t.pendingContext=n,t=Zt(i,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=fn(l,t,o),e!==null&&(At(e,l,o,i),_l(e,l,o)),o}function Xl(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Oa(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Vo(e,t){Oa(e,t),(e=e.alternate)&&Oa(e,t)}function rd(){return null}var Da=typeof reportError=="function"?reportError:function(e){console.error(e)};function Bo(e){this._internalRoot=e}Gl.prototype.render=Bo.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(s(409));Yl(e,t,null,null)},Gl.prototype.unmount=Bo.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Mn(function(){Yl(null,e,null,null)}),t[Qt]=null}};function Gl(e){this._internalRoot=e}Gl.prototype.unstable_scheduleHydration=function(e){if(e){var t=ws();e={blockedOn:null,target:e,priority:t};for(var n=0;n<nn.length&&t!==0&&t<nn[n].priority;n++);nn.splice(n,0,e),n===0&&ks(e)}};function Wo(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Zl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Fa(){}function ld(e,t,n,r,l){if(l){if(typeof r=="function"){var i=r;r=function(){var S=Xl(o);i.call(S)}}var o=Ra(t,r,e,0,null,!1,!1,"",Fa);return e._reactRootContainer=o,e[Qt]=o.current,Cr(e.nodeType===8?e.parentNode:e),Mn(),o}for(;l=e.lastChild;)e.removeChild(l);if(typeof r=="function"){var u=r;r=function(){var S=Xl(f);u.call(S)}}var f=Uo(e,0,!1,null,null,!1,!1,"",Fa);return e._reactRootContainer=f,e[Qt]=f.current,Cr(e.nodeType===8?e.parentNode:e),Mn(function(){Yl(t,f,n,r)}),f}function ql(e,t,n,r,l){var i=n._reactRootContainer;if(i){var o=i;if(typeof l=="function"){var u=l;l=function(){var f=Xl(o);u.call(f)}}Yl(t,o,e,l)}else o=ld(n,t,e,l,r);return Xl(o)}gs=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=cr(t.pendingLanes);n!==0&&(fi(t,n|1),gt(t,De()),(Se&6)===0&&(tr=De()+500,an()))}break;case 13:Mn(function(){var r=Gt(e,1);if(r!==null){var l=dt();At(r,e,1,l)}}),Vo(e,1)}},di=function(e){if(e.tag===13){var t=Gt(e,134217728);if(t!==null){var n=dt();At(t,e,134217728,n)}Vo(e,134217728)}},ys=function(e){if(e.tag===13){var t=mn(e),n=Gt(e,t);if(n!==null){var r=dt();At(n,e,t,r)}Vo(e,t)}},ws=function(){return Ce},Ss=function(e,t){var n=Ce;try{return Ce=e,t()}finally{Ce=n}},li=function(e,t,n){switch(t){case"input":if(ve(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var l=hl(r);if(!l)throw Error(s(90));b(r),ve(r,l)}}}break;case"textarea":ge(e,n);break;case"select":t=n.value,t!=null&&ct(e,!!n.multiple,t,!1)}},ls=To,is=Mn;var id={usingClientEntryPoint:!1,Events:[Ir,Wn,hl,ns,rs,To]},Wr={findFiberByHostInstance:xn,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},od={bundleType:Wr.bundleType,version:Wr.version,rendererPackageName:Wr.rendererPackageName,rendererConfig:Wr.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ee.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=as(e),e===null?null:e.stateNode},findFiberByHostInstance:Wr.findFiberByHostInstance||rd,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Jl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jl.isDisabled&&Jl.supportsFiber)try{Gr=Jl.inject(od),Vt=Jl}catch{}}return yt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=id,yt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Wo(t))throw Error(s(200));return nd(e,t,null,n)},yt.createRoot=function(e,t){if(!Wo(e))throw Error(s(299));var n=!1,r="",l=Da;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=Uo(e,1,!1,null,null,n,!1,r,l),e[Qt]=t.current,Cr(e.nodeType===8?e.parentNode:e),new Bo(t)},yt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(s(188)):(e=Object.keys(e).join(","),Error(s(268,e)));return e=as(t),e=e===null?null:e.stateNode,e},yt.flushSync=function(e){return Mn(e)},yt.hydrate=function(e,t,n){if(!Zl(t))throw Error(s(200));return ql(null,e,t,!0,n)},yt.hydrateRoot=function(e,t,n){if(!Wo(e))throw Error(s(405));var r=n!=null&&n.hydratedSources||null,l=!1,i="",o=Da;if(n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=Ra(t,null,e,1,n??null,l,!1,i,o),e[Qt]=t.current,Cr(e),r)for(e=0;e<r.length;e++)n=r[e],l=n._getVersion,l=l(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,l]:t.mutableSourceEagerHydrationData.push(n,l);return new Gl(t)},yt.render=function(e,t,n){if(!Zl(t))throw Error(s(200));return ql(null,e,t,!1,n)},yt.unmountComponentAtNode=function(e){if(!Zl(e))throw Error(s(40));return e._reactRootContainer?(Mn(function(){ql(null,null,e,!1,function(){e._reactRootContainer=null,e[Qt]=null})}),!0):!1},yt.unstable_batchedUpdates=To,yt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Zl(n))throw Error(s(200));if(e==null||e._reactInternals===void 0)throw Error(s(38));return ql(e,t,n,!1,r)},yt.version="18.3.1-next-f1338f8080-20240426",yt}var Qa;function ac(){if(Qa)return Qo.exports;Qa=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(w){console.error(w)}}return a(),Qo.exports=pd(),Qo.exports}var Ka;function hd(){if(Ka)return bl;Ka=1;var a=ac();return bl.createRoot=a.createRoot,bl.hydrateRoot=a.hydrateRoot,bl}var md=hd();const vd=ti(md),gd={},Ya=a=>{let w;const s=new Set,d=(T,U)=>{const N=typeof T=="function"?T(w):T;if(!Object.is(N,w)){const W=w;w=U??(typeof N!="object"||N===null)?N:Object.assign({},w,N),s.forEach(Z=>Z(w,W))}},c=()=>w,P={setState:d,getState:c,getInitialState:()=>B,subscribe:T=>(s.add(T),()=>s.delete(T)),destroy:()=>{(gd?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),s.clear()}},B=w=a(d,c,P);return P},yd=a=>a?Ya(a):Ya;var Xo={exports:{}},Go={},Zo={exports:{}},qo={};/**
41
+ * @license React
42
+ * use-sync-external-store-shim.production.js
43
+ *
44
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
45
+ *
46
+ * This source code is licensed under the MIT license found in the
47
+ * LICENSE file in the root directory of this source tree.
48
+ */var Xa;function wd(){if(Xa)return qo;Xa=1;var a=Hr();function w(U,N){return U===N&&(U!==0||1/U===1/N)||U!==U&&N!==N}var s=typeof Object.is=="function"?Object.is:w,d=a.useState,c=a.useEffect,y=a.useLayoutEffect,E=a.useDebugValue;function k(U,N){var W=N(),Z=d({inst:{value:W,getSnapshot:N}}),$=Z[0].inst,Q=Z[1];return y(function(){$.value=W,$.getSnapshot=N,P($)&&Q({inst:$})},[U,W,N]),c(function(){return P($)&&Q({inst:$}),U(function(){P($)&&Q({inst:$})})},[U]),E(W),W}function P(U){var N=U.getSnapshot;U=U.value;try{var W=N();return!s(U,W)}catch{return!0}}function B(U,N){return N()}var T=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?B:k;return qo.useSyncExternalStore=a.useSyncExternalStore!==void 0?a.useSyncExternalStore:T,qo}var Ga;function Sd(){return Ga||(Ga=1,Zo.exports=wd()),Zo.exports}/**
49
+ * @license React
50
+ * use-sync-external-store-shim/with-selector.production.js
51
+ *
52
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
53
+ *
54
+ * This source code is licensed under the MIT license found in the
55
+ * LICENSE file in the root directory of this source tree.
56
+ */var Za;function xd(){if(Za)return Go;Za=1;var a=Hr(),w=Sd();function s(B,T){return B===T&&(B!==0||1/B===1/T)||B!==B&&T!==T}var d=typeof Object.is=="function"?Object.is:s,c=w.useSyncExternalStore,y=a.useRef,E=a.useEffect,k=a.useMemo,P=a.useDebugValue;return Go.useSyncExternalStoreWithSelector=function(B,T,U,N,W){var Z=y(null);if(Z.current===null){var $={hasValue:!1,value:null};Z.current=$}else $=Z.current;Z=k(function(){function oe(Y){if(!ae){if(ae=!0,J=Y,Y=N(Y),W!==void 0&&$.hasValue){var ne=$.value;if(W(ne,Y))return ee=ne}return ee=Y}if(ne=ee,d(J,Y))return ne;var ue=N(Y);return W!==void 0&&W(ne,ue)?(J=Y,ne):(J=Y,ee=ue)}var ae=!1,J,ee,fe=U===void 0?null:U;return[function(){return oe(T())},fe===null?void 0:function(){return oe(fe())}]},[T,U,N,W]);var Q=c(B,Z[0],Z[1]);return E(function(){$.hasValue=!0,$.value=Q},[Q]),P(Q),Q},Go}var qa;function kd(){return qa||(qa=1,Xo.exports=xd()),Xo.exports}var Ed=kd();const _d=ti(Ed),cc={},{useDebugValue:Cd}=uc,{useSyncExternalStoreWithSelector:Nd}=_d;let Ja=!1;const zd=a=>a;function Id(a,w=zd,s){(cc?"production":void 0)!=="production"&&s&&!Ja&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),Ja=!0);const d=Nd(a.subscribe,a.getState,a.getServerState||a.getInitialState,w,s);return Cd(d),d}const ba=a=>{(cc?"production":void 0)!=="production"&&typeof a!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const w=typeof a=="function"?yd(a):a,s=(d,c)=>Id(w,d,c);return Object.assign(s,w),s},Md=a=>a?ba(a):ba;var ei={exports:{}},Pd=ei.exports,ec;function jd(){return ec||(ec=1,(function(a){((w,s)=>{a.exports?a.exports=s():w.fuzzysort=s()})(Pd,w=>{var s=(x,v)=>{if(!x||!v)return D;var C=Z(x);Re(v)||(v=W(v));var V=C.bitflags;return(V&v._bitflags)!==V?D:Q(C,v)},d=(x,v,C)=>{if(!x)return C!=null&&C.all?$(v,C):te;var V=Z(x),F=V.bitflags,A=V.containsSpace,O=U((C==null?void 0:C.threshold)||0),ie=(C==null?void 0:C.limit)||Ne,b=0,he=0,me=v.length;function be(wt){b<ie?(ce.add(wt),++b):(++he,wt._score>ce.peek()._score&&ce.replaceTop(wt))}if(C!=null&&C.key)for(var Ve=C.key,ve=0;ve<me;++ve){var Ke=v[ve],ye=at(Ke,Ve);if(ye&&(Re(ye)||(ye=W(ye)),(F&ye._bitflags)===F)){var we=Q(V,ye);we!==D&&(we._score<O||(we.obj=Ke,be(we)))}}else if(C!=null&&C.keys){var ct=C.keys,lt=ct.length;e:for(var ve=0;ve<me;++ve){var Ke=v[ve];{for(var Be=0,ge=0;ge<lt;++ge){var Ve=ct[ge],ye=at(Ke,Ve);if(!ye){Je[ge]=h;continue}Re(ye)||(ye=W(ye)),Je[ge]=ye,Be|=ye._bitflags}if((F&Be)!==F)continue}if(A)for(let ke=0;ke<V.spaceSearches.length;ke++)qe[ke]=R;for(var ge=0;ge<lt;++ge){if(ye=Je[ge],ye===h){Qe[ge]=h;continue}if(Qe[ge]=Q(V,ye,!1,A),Qe[ge]===D){Qe[ge]=h;continue}if(A)for(let _e=0;_e<V.spaceSearches.length;_e++){if(He[_e]>-1e3&&qe[_e]>R){var Ae=(qe[_e]+He[_e])/4;Ae>qe[_e]&&(qe[_e]=Ae)}He[_e]>qe[_e]&&(qe[_e]=He[_e])}}if(A){for(let ke=0;ke<V.spaceSearches.length;ke++)if(qe[ke]===R)continue e}else{var de=!1;for(let ke=0;ke<lt;ke++)if(Qe[ke]._score!==R){de=!0;break}if(!de)continue}var et=new P(lt);for(let ke=0;ke<lt;ke++)et[ke]=Qe[ke];if(A){var Pe=0;for(let ke=0;ke<V.spaceSearches.length;ke++)Pe+=qe[ke]}else{var Pe=R;for(let _e=0;_e<lt;_e++){var we=et[_e];if(we._score>-1e3&&Pe>R){var Ae=(Pe+we._score)/4;Ae>Pe&&(Pe=Ae)}we._score>Pe&&(Pe=we._score)}}if(et.obj=Ke,et._score=Pe,C!=null&&C.scoreFn){if(Pe=C.scoreFn(et),!Pe)continue;Pe=U(Pe),et._score=Pe}Pe<O||be(et)}}else for(var ve=0;ve<me;++ve){var ye=v[ve];if(ye&&(Re(ye)||(ye=W(ye)),(F&ye._bitflags)===F)){var we=Q(V,ye);we!==D&&(we._score<O||be(we))}}if(b===0)return te;for(var Pt=new Array(b),ve=b-1;ve>=0;--ve)Pt[ve]=ce.poll();return Pt.total=b+he,Pt},c=(x,v="<b>",C="</b>")=>{for(var V=typeof v=="function"?v:void 0,F=x.target,A=F.length,O=x.indexes,ie="",b=0,he=0,me=!1,be=[],Ve=0;Ve<A;++Ve){var ve=F[Ve];if(O[he]===Ve){if(++he,me||(me=!0,V?(be.push(ie),ie=""):ie+=v),he===O.length){V?(ie+=ve,be.push(V(ie,b++)),ie="",be.push(F.substr(Ve+1))):ie+=ve+C+F.substr(Ve+1);break}}else me&&(me=!1,V?(be.push(V(ie,b++)),ie=""):ie+=C);ie+=ve}return V?be:ie},y=x=>{typeof x=="number"?x=""+x:typeof x!="string"&&(x="");var v=J(x);return B(x,{_targetLower:v._lower,_targetLowerCodes:v.lowerCodes,_bitflags:v.bitflags})},E=()=>{Y.clear(),ne.clear()};class k{get indexes(){return this._indexes.slice(0,this._indexes.len).sort((v,C)=>v-C)}set indexes(v){return this._indexes=v}highlight(v,C){return c(this,v,C)}get score(){return T(this._score)}set score(v){this._score=U(v)}}class P extends Array{get score(){return T(this._score)}set score(v){this._score=U(v)}}var B=(x,v)=>{const C=new k;return C.target=x,C.obj=v.obj??D,C._score=v._score??R,C._indexes=v._indexes??[],C._targetLower=v._targetLower??"",C._targetLowerCodes=v._targetLowerCodes??D,C._nextBeginningIndexes=v._nextBeginningIndexes??D,C._bitflags=v._bitflags??0,C},T=x=>x===R?0:x>1?x:Math.E**(((-x+1)**.04307-1)*-2),U=x=>x===0?R:x>1?x:1-Math.pow(Math.log(x)/-2+1,1/.04307),N=x=>{typeof x=="number"?x=""+x:typeof x!="string"&&(x=""),x=x.trim();var v=J(x),C=[];if(v.containsSpace){var V=x.split(/\s+/);V=[...new Set(V)];for(var F=0;F<V.length;F++)if(V[F]!==""){var A=J(V[F]);C.push({lowerCodes:A.lowerCodes,_lower:V[F].toLowerCase(),containsSpace:!1})}}return{lowerCodes:v.lowerCodes,_lower:v._lower,containsSpace:v.containsSpace,bitflags:v.bitflags,spaceSearches:C}},W=x=>{if(x.length>999)return y(x);var v=Y.get(x);return v!==void 0||(v=y(x),Y.set(x,v)),v},Z=x=>{if(x.length>999)return N(x);var v=ne.get(x);return v!==void 0||(v=N(x),ne.set(x,v)),v},$=(x,v)=>{var C=[];C.total=x.length;var V=(v==null?void 0:v.limit)||Ne;if(v!=null&&v.key)for(var F=0;F<x.length;F++){var A=x[F],O=at(A,v.key);if(O!=D){Re(O)||(O=W(O));var ie=B(O.target,{_score:O._score,obj:A});if(C.push(ie),C.length>=V)return C}}else if(v!=null&&v.keys)for(var F=0;F<x.length;F++){for(var A=x[F],b=new P(v.keys.length),he=v.keys.length-1;he>=0;--he){var O=at(A,v.keys[he]);if(!O){b[he]=h;continue}Re(O)||(O=W(O)),O._score=R,O._indexes.len=0,b[he]=O}if(b.obj=A,b._score=R,C.push(b),C.length>=V)return C}else for(var F=0;F<x.length;F++){var O=x[F];if(O!=D&&(Re(O)||(O=W(O)),O._score=R,O._indexes.len=0,C.push(O),C.length>=V))return C}return C},Q=(x,v,C=!1,V=!1)=>{if(C===!1&&x.containsSpace)return oe(x,v,V);for(var F=x._lower,A=x.lowerCodes,O=A[0],ie=v._targetLowerCodes,b=A.length,he=ie.length,ve=0,me=0,be=0;;){var Ve=O===ie[me];if(Ve){if(ue[be++]=me,++ve,ve===b)break;O=A[ve]}if(++me,me>=he)return D}var ve=0,Ke=!1,ye=0,we=v._nextBeginningIndexes;we===D&&(we=v._nextBeginningIndexes=fe(v.target)),me=ue[0]===0?0:we[ue[0]-1];var ct=0;if(me!==he)for(;;)if(me>=he){if(ve<=0||(++ct,ct>200))break;--ve;var lt=Ze[--ye];me=we[lt]}else{var Ve=A[ve]===ie[me];if(Ve){if(Ze[ye++]=me,++ve,ve===b){Ke=!0;break}++me}else me=we[me]}var Be=b<=1?-1:v._targetLower.indexOf(F,ue[0]),ge=!!~Be,Ae=ge?Be===0||v._nextBeginningIndexes[Be-1]===Be:!1;if(ge&&!Ae){for(var de=0;de<we.length;de=we[de])if(!(de<=Be)){for(var et=0;et<b&&A[et]===v._targetLowerCodes[de+et];et++);if(et===b){Be=de,Ae=!0;break}}}var Pe=ke=>{for(var _e=0,ir=0,jt=1;jt<b;++jt)ke[jt]-ke[jt-1]!==1&&(_e-=ke[jt],++ir);var or=ke[b-1]-ke[0]-(b-1);if(_e-=(12+or)*ir,ke[0]!==0&&(_e-=ke[0]*ke[0]*.2),!Ke)_e*=1e3;else{for(var wn=1,jt=we[0];jt<he;jt=we[jt])++wn;wn>24&&(_e*=(wn-24)*10)}return _e-=(he-b)/2,ge&&(_e/=1+b*b*1),Ae&&(_e/=1+b*b*1),_e-=(he-b)/2,_e};if(Ke)if(Ae){for(var de=0;de<b;++de)ue[de]=Be+de;var Pt=ue,wt=Pe(ue)}else var Pt=Ze,wt=Pe(Ze);else{if(ge)for(var de=0;de<b;++de)ue[de]=Be+de;var Pt=ue,wt=Pe(Pt)}v._score=wt;for(var de=0;de<b;++de)v._indexes[de]=Pt[de];v._indexes.len=b;const Ut=new k;return Ut.target=v.target,Ut._score=v._score,Ut._indexes=v._indexes,Ut},oe=(x,v,C)=>{for(var V=new Set,F=0,A=D,O=0,ie=x.spaceSearches,b=ie.length,he=0,me=()=>{for(let Ae=he-1;Ae>=0;Ae--)v._nextBeginningIndexes[rt[Ae*2+0]]=rt[Ae*2+1]},be=!1,ge=0;ge<b;++ge){He[ge]=R;var Ve=ie[ge];if(A=Q(Ve,v),C){if(A===D)continue;be=!0}else if(A===D)return me(),D;var ve=ge===b-1;if(!ve){var Ke=A._indexes,ye=!0;for(let de=0;de<Ke.len-1;de++)if(Ke[de+1]-Ke[de]!==1){ye=!1;break}if(ye){var we=Ke[Ke.len-1]+1,ct=v._nextBeginningIndexes[we-1];for(let de=we-1;de>=0&&ct===v._nextBeginningIndexes[de];de--)v._nextBeginningIndexes[de]=we,rt[he*2+0]=de,rt[he*2+1]=ct,he++}}F+=A._score/b,He[ge]=A._score/b,A._indexes[0]<O&&(F-=(O-A._indexes[0])*2),O=A._indexes[0];for(var lt=0;lt<A._indexes.len;++lt)V.add(A._indexes[lt])}if(C&&!be)return D;me();var Be=Q(x,v,!0);if(Be!==D&&Be._score>F){if(C)for(var ge=0;ge<b;++ge)He[ge]=Be._score/b;return Be}C&&(A=v),A._score=F;var ge=0;for(let Ae of V)A._indexes[ge++]=Ae;return A._indexes.len=ge,A},ae=x=>x.replace(new RegExp("\\p{Script=Latin}+","gu"),v=>v.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),J=x=>{x=ae(x);for(var v=x.length,C=x.toLowerCase(),V=[],F=0,A=!1,O=0;O<v;++O){var ie=V[O]=C.charCodeAt(O);if(ie===32){A=!0;continue}var b=ie>=97&&ie<=122?ie-97:ie>=48&&ie<=57?26:ie<=127?30:31;F|=1<<b}return{lowerCodes:V,bitflags:F,containsSpace:A,_lower:C}},ee=x=>{for(var v=x.length,C=[],V=0,F=!1,A=!1,O=0;O<v;++O){var ie=x.charCodeAt(O),b=ie>=65&&ie<=90,he=b||ie>=97&&ie<=122||ie>=48&&ie<=57,me=b&&!F||!A||!he;F=b,A=he,me&&(C[V++]=O)}return C},fe=x=>{x=ae(x);for(var v=x.length,C=ee(x),V=[],F=C[0],A=0,O=0;O<v;++O)F>O?V[O]=F:(F=C[++A],V[O]=F===void 0?v:F);return V},Y=new Map,ne=new Map,ue=[],Ze=[],rt=[],qe=[],He=[],Je=[],Qe=[],at=(x,v)=>{var C=x[v];if(C!==void 0)return C;if(typeof v=="function")return v(x);var V=v;Array.isArray(v)||(V=v.split("."));for(var F=V.length,A=-1;x&&++A<F;)x=x[V[A]];return x},Re=x=>typeof x=="object"&&typeof x._bitflags=="number",Ne=1/0,R=-Ne,te=[];te.total=0;var D=null,h=y(""),z=x=>{var v=[],C=0,V={},F=A=>{for(var O=0,ie=v[O],b=1;b<C;){var he=b+1;O=b,he<C&&v[he]._score<v[b]._score&&(O=he),v[O-1>>1]=v[O],b=1+(O<<1)}for(var me=O-1>>1;O>0&&ie._score<v[me]._score;me=(O=me)-1>>1)v[O]=v[me];v[O]=ie};return V.add=(A=>{var O=C;v[C++]=A;for(var ie=O-1>>1;O>0&&A._score<v[ie]._score;ie=(O=ie)-1>>1)v[O]=v[ie];v[O]=A}),V.poll=(A=>{if(C!==0){var O=v[0];return v[0]=v[--C],F(),O}}),V.peek=(A=>{if(C!==0)return v[0]}),V.replaceTop=(A=>{v[0]=A,F()}),V},ce=z();return{single:s,go:d,prepare:y,cleanup:E}})})(ei)),ei.exports}var Ld=jd();const bo=ti(Ld);let fc=[],tc=[];function Td(a){a!==tc&&(fc=a.map(w=>({image:w,prepared:bo.prepare(w.search_key)})),tc=a)}function Jo(a,w){return w.trim()?(Td(a),bo.go(w,fc,{key:"prepared",limit:1e3,threshold:-1e4}).map(d=>d.obj.image)):a}function Rd(a,w){if(!w.trim())return[{text:a,isMatch:!1}];const s=bo.single(w,a);if(!s)return[{text:a,isMatch:!1}];const d=[];let c=0;for(const y of s.indexes)y>c&&d.push({text:a.slice(c,y),isMatch:!1}),d.push({text:a[y],isMatch:!0}),c=y+1;return c<a.length&&d.push({text:a.slice(c),isMatch:!1}),d}const Od=()=>{try{const a=localStorage.getItem("recentlyViewed");if(a)return JSON.parse(a)}catch(a){console.error("Failed to load recently viewed:",a)}return[]},Dd=a=>{try{localStorage.setItem("recentlyViewed",JSON.stringify(a))}catch(w){console.error("Failed to save recently viewed:",w)}},nc=(a,w)=>{const s=new Set(w.map(E=>E.id)),d=[],c=[];for(const E of a)s.has(E.id)?d.push(E):c.push(E);const y=new Map(w.map(E=>[E.id,E.timestamp]));return d.sort((E,k)=>{const P=y.get(E.id)||0;return(y.get(k.id)||0)-P}),c.sort((E,k)=>E.filename.localeCompare(k.filename)),[...d,...c]},lr=Md((a,w)=>({folderPath:null,images:[],query:"",filteredImages:[],selectedIds:new Set,searchSelectedIds:new Set,activeId:null,thumbSize:200,viewMode:"grid",thumbnailMap:new Map,recentlyViewed:Od(),containerWidth:window.innerWidth-24,setFolderPath:s=>a({folderPath:s}),setImages:s=>{var k;const{query:d,recentlyViewed:c}=w(),y=nc(s,c),E=d?Jo(y,d):y;a({images:y,filteredImages:E,activeId:((k=E[0])==null?void 0:k.id)||null})},setQuery:s=>{var y;const d=w().images,c=s?Jo(d,s):d;a({query:s,filteredImages:c,activeId:((y=c[0])==null?void 0:y.id)||null})},toggleSelection:s=>a(d=>{const c=new Set(d.selectedIds);return c.has(s)?c.delete(s):c.add(s),{selectedIds:c}}),setActiveId:s=>a({activeId:s}),setThumbSize:s=>a({thumbSize:Math.max(100,Math.min(500,s))}),setViewMode:s=>a({viewMode:s}),setThumbnailPath:(s,d)=>a(c=>{const y=new Map(c.thumbnailMap);return y.set(s,d),{thumbnailMap:y}}),clearSelection:()=>a({selectedIds:new Set}),setSearchSelectedIds:s=>a({searchSelectedIds:s}),toggleSearchSelection:s=>a(d=>{const c=new Set(d.searchSelectedIds);return c.has(s)?c.delete(s):c.add(s),{searchSelectedIds:c}}),clearSearchSelection:()=>a({searchSelectedIds:new Set}),setContainerWidth:s=>a({containerWidth:s}),moveActive:s=>{const{filteredImages:d,activeId:c,thumbSize:y,containerWidth:E}=w();if(d.length===0)return;const k=d.findIndex(T=>T.id===c);if(k===-1){a({activeId:d[0].id});return}const P=Math.floor(E/(y+12));let B=k;switch(s){case"down":B=Math.min(k+P,d.length-1);break;case"up":B=Math.max(k-P,0);break;case"right":B=Math.min(k+1,d.length-1);break;case"left":B=Math.max(k-1,0);break}a({activeId:d[B].id})},markAsViewed:s=>{const{recentlyViewed:d,images:c,query:y}=w(),E=d.filter(U=>U.id!==s),P=[{id:s,timestamp:Date.now()},...E].slice(0,50);Dd(P);const B=nc(c,P),T=y?Jo(B,y):B;a({recentlyViewed:P,images:B,filteredImages:T})}})),Qr="/api";async function Fd(){const a=await fetch(`${Qr}/initial`);if(!a.ok)throw new Error(`Failed to get initial data: ${a.statusText}`);return a.json()}async function Ad(a=""){const w=a?`?path=${encodeURIComponent(a)}`:"",s=await fetch(`${Qr}/folders${w}`);if(!s.ok)throw new Error(`Failed to list folders: ${s.statusText}`);return s.json()}async function Ud(a){const w=await fetch(`${Qr}/scan`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({folder_path:a})});if(!w.ok)throw new Error(`Failed to scan folder: ${w.statusText}`);return w.json()}async function Vd(a,w){const s=await fetch(`${Qr}/thumbnails`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paths_and_mtimes:a,size:w})});if(!s.ok)throw new Error(`Failed to ensure thumbnails: ${s.statusText}`);return s.json()}function es(a){const w=encodeURIComponent(a);return`${Qr}/image/${w}`}function Bd(){const{query:a,setQuery:w,filteredImages:s,images:d,thumbSize:c,setThumbSize:y,setActiveId:E,setViewMode:k,searchSelectedIds:P,setSearchSelectedIds:B,clearSearchSelection:T}=lr(),[U,N]=Ee.useState(!1),[W,Z]=Ee.useState(0),$=Ee.useRef(null),Q=Ee.useRef(null);Ee.useEffect(()=>{U&&Z(0)},[s,U]),Ee.useEffect(()=>{const J=ee=>{Q.current&&!Q.current.contains(ee.target)&&$.current&&!$.current.contains(ee.target)&&N(!1)};return document.addEventListener("mousedown",J),()=>document.removeEventListener("mousedown",J)},[]);const oe=J=>{var ee,fe,Y;if(U)switch(J.key){case"ArrowDown":J.preventDefault(),Z(ne=>Math.min(ne+1,s.length-1));break;case"ArrowUp":J.preventDefault(),Z(ne=>Math.max(ne-1,0));break;case"Tab":if(J.preventDefault(),s[W]){const ne=s[W].id,ue=new Set(P);ue.has(ne)?ue.delete(ne):ue.add(ne),B(ue),Z(Ze=>Math.min(Ze+1,s.length-1))}break;case" ":if(J.preventDefault(),s[W]){const ne=s[W].id,ue=new Set(P);ue.has(ne)?ue.delete(ne):ue.add(ne),B(ue)}break;case"Enter":J.preventDefault(),P.size>0?(N(!1),(ee=$.current)==null||ee.blur()):s[W]&&(E(s[W].id),k("viewer"),N(!1),(fe=$.current)==null||fe.blur());break;case"Escape":J.preventDefault(),P.size>0?T():(N(!1),(Y=$.current)==null||Y.blur());break;case"a":if(J.ctrlKey||J.metaKey){J.preventDefault();const ne=new Set(s.map(ue=>ue.id));B(ne)}break}},ae=J=>{var ee;E(s[J].id),k("viewer"),N(!1),(ee=$.current)==null||ee.blur()};return Ee.useEffect(()=>{if(U&&Q.current){const J=Q.current.children[W];J&&J.scrollIntoView({block:"nearest",behavior:"smooth"})}},[W,U]),_.jsxs("div",{className:"search-header",children:[_.jsxs("div",{className:"search-container",children:[_.jsx("input",{ref:$,type:"text",className:"search-box",placeholder:"Search images (fuzzy search)...",value:a,onChange:J=>w(J.target.value),onFocus:()=>N(!0),onKeyDown:oe,autoFocus:!0}),U&&s.length>0&&_.jsxs("div",{ref:Q,className:"search-dropdown",children:[s.slice(0,100).map((J,ee)=>{const fe=ee===W,Y=P.has(J.id);return _.jsx("div",{className:`search-dropdown-item ${fe?"highlighted":""} ${Y?"checked":""}`,onClick:()=>ae(ee),onMouseEnter:()=>Z(ee),children:_.jsxs("div",{className:"search-dropdown-item-content",children:[_.jsx("span",{className:"search-dropdown-checkbox",children:Y?"✓":" "}),_.jsxs("div",{className:"search-dropdown-text",children:[_.jsx("span",{children:Rd(J.filename,a).map((ne,ue)=>ne.isMatch?_.jsx("mark",{children:ne.text},ue):_.jsx("span",{children:ne.text},ue))}),_.jsx("span",{className:"search-dropdown-path",children:J.parent_path})]})]})},J.id)}),s.length>100&&_.jsxs("div",{className:"search-dropdown-item disabled",children:["... and ",s.length-100," more files"]})]})]}),_.jsxs("div",{className:"search-info",children:[_.jsx("span",{children:P.size>0?_.jsxs(_.Fragment,{children:[P.size," selected • Showing ",s.length," of ",d.length," images"]}):_.jsxs(_.Fragment,{children:["Showing ",s.length," of ",d.length," images"]})}),_.jsxs("div",{className:"toolbar",children:[P.size>0&&_.jsx("button",{onClick:()=>T(),children:"Clear"}),_.jsx("button",{onClick:()=>y(c-50),children:"-"}),_.jsxs("span",{style:{minWidth:"60px",textAlign:"center"},children:[c,"px"]}),_.jsx("button",{onClick:()=>y(c+50),children:"+"})]})]})]})}var Wd=ac();function rr(a,w,s){let d=s.initialDeps??[],c,y=!0;function E(){var k,P,B;let T;s.key&&((k=s.debug)!=null&&k.call(s))&&(T=Date.now());const U=a();if(!(U.length!==d.length||U.some((Z,$)=>d[$]!==Z)))return c;d=U;let W;if(s.key&&((P=s.debug)!=null&&P.call(s))&&(W=Date.now()),c=w(...U),s.key&&((B=s.debug)!=null&&B.call(s))){const Z=Math.round((Date.now()-T)*100)/100,$=Math.round((Date.now()-W)*100)/100,Q=$/16,oe=(ae,J)=>{for(ae=String(ae);ae.length<J;)ae=" "+ae;return ae};console.info(`%c⏱ ${oe($,5)} /${oe(Z,5)} ms`,`
57
+ font-size: .6rem;
58
+ font-weight: bold;
59
+ color: hsl(${Math.max(0,Math.min(120-120*Q,120))}deg 100% 31%);`,s==null?void 0:s.key)}return s!=null&&s.onChange&&!(y&&s.skipInitialOnChange)&&s.onChange(c),y=!1,c}return E.updateDeps=k=>{d=k},E}function rc(a,w){if(a===void 0)throw new Error("Unexpected undefined");return a}const $d=(a,w)=>Math.abs(a-w)<1.01,Hd=(a,w,s)=>{let d;return function(...c){a.clearTimeout(d),d=a.setTimeout(()=>w.apply(this,c),s)}},lc=a=>{const{offsetWidth:w,offsetHeight:s}=a;return{width:w,height:s}},Qd=a=>a,Kd=a=>{const w=Math.max(a.startIndex-a.overscan,0),s=Math.min(a.endIndex+a.overscan,a.count-1),d=[];for(let c=w;c<=s;c++)d.push(c);return d},Yd=(a,w)=>{const s=a.scrollElement;if(!s)return;const d=a.targetWindow;if(!d)return;const c=E=>{const{width:k,height:P}=E;w({width:Math.round(k),height:Math.round(P)})};if(c(lc(s)),!d.ResizeObserver)return()=>{};const y=new d.ResizeObserver(E=>{const k=()=>{const P=E[0];if(P!=null&&P.borderBoxSize){const B=P.borderBoxSize[0];if(B){c({width:B.inlineSize,height:B.blockSize});return}}c(lc(s))};a.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(k):k()});return y.observe(s,{box:"border-box"}),()=>{y.unobserve(s)}},ic={passive:!0},oc=typeof window>"u"?!0:"onscrollend"in window,Xd=(a,w)=>{const s=a.scrollElement;if(!s)return;const d=a.targetWindow;if(!d)return;let c=0;const y=a.options.useScrollendEvent&&oc?()=>{}:Hd(d,()=>{w(c,!1)},a.options.isScrollingResetDelay),E=T=>()=>{const{horizontal:U,isRtl:N}=a.options;c=U?s.scrollLeft*(N&&-1||1):s.scrollTop,y(),w(c,T)},k=E(!0),P=E(!1);P(),s.addEventListener("scroll",k,ic);const B=a.options.useScrollendEvent&&oc;return B&&s.addEventListener("scrollend",P,ic),()=>{s.removeEventListener("scroll",k),B&&s.removeEventListener("scrollend",P)}},Gd=(a,w,s)=>{if(w!=null&&w.borderBoxSize){const d=w.borderBoxSize[0];if(d)return Math.round(d[s.options.horizontal?"inlineSize":"blockSize"])}return a[s.options.horizontal?"offsetWidth":"offsetHeight"]},Zd=(a,{adjustments:w=0,behavior:s},d)=>{var c,y;const E=a+w;(y=(c=d.scrollElement)==null?void 0:c.scrollTo)==null||y.call(c,{[d.options.horizontal?"left":"top"]:E,behavior:s})};class qd{constructor(w){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let s=null;const d=()=>s||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:s=new this.targetWindow.ResizeObserver(c=>{c.forEach(y=>{const E=()=>{this._measureElement(y.target,y)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(E):E()})}));return{disconnect:()=>{var c;(c=d())==null||c.disconnect(),s=null},observe:c=>{var y;return(y=d())==null?void 0:y.observe(c,{box:"border-box"})},unobserve:c=>{var y;return(y=d())==null?void 0:y.unobserve(c)}}})(),this.range=null,this.setOptions=s=>{Object.entries(s).forEach(([d,c])=>{typeof c>"u"&&delete s[d]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Qd,rangeExtractor:Kd,onChange:()=>{},measureElement:Gd,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...s}},this.notify=s=>{var d,c;(c=(d=this.options).onChange)==null||c.call(d,this,s)},this.maybeNotify=rr(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),s=>{this.notify(s)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(s=>s()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var s;const d=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==d){if(this.cleanup(),!d){this.maybeNotify();return}this.scrollElement=d,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((s=this.scrollElement)==null?void 0:s.window)??null,this.elementsCache.forEach(c=>{this.observer.observe(c)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,c=>{this.scrollRect=c,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(c,y)=>{this.scrollAdjustments=0,this.scrollDirection=y?this.getScrollOffset()<c?"forward":"backward":null,this.scrollOffset=c,this.isScrolling=y,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(s,d)=>{const c=new Map,y=new Map;for(let E=d-1;E>=0;E--){const k=s[E];if(c.has(k.lane))continue;const P=y.get(k.lane);if(P==null||k.end>P.end?y.set(k.lane,k):k.end<P.end&&c.set(k.lane,!0),c.size===this.options.lanes)break}return y.size===this.options.lanes?Array.from(y.values()).sort((E,k)=>E.end===k.end?E.index-k.index:E.end-k.end)[0]:void 0},this.getMeasurementOptions=rr(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(s,d,c,y,E,k)=>(this.prevLanes!==void 0&&this.prevLanes!==k&&(this.lanesChangedFlag=!0),this.prevLanes=k,this.pendingMeasuredCacheIndexes=[],{count:s,paddingStart:d,scrollMargin:c,getItemKey:y,enabled:E,lanes:k}),{key:!1,skipInitialOnChange:!0,onChange:()=>{this.notify(this.isScrolling)}}),this.getMeasurements=rr(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:s,paddingStart:d,scrollMargin:c,getItemKey:y,enabled:E,lanes:k},P)=>{if(!E)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>s)for(const N of this.laneAssignments.keys())N>=s&&this.laneAssignments.delete(N);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(N=>{this.itemSizeCache.set(N.key,N.size)}));const B=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===s&&(this.lanesSettling=!1);const T=this.measurementsCache.slice(0,B),U=new Array(k).fill(void 0);for(let N=0;N<B;N++){const W=T[N];W&&(U[W.lane]=N)}for(let N=B;N<s;N++){const W=y(N),Z=this.laneAssignments.get(N);let $,Q;if(Z!==void 0&&this.options.lanes>1){$=Z;const ee=U[$],fe=ee!==void 0?T[ee]:void 0;Q=fe?fe.end+this.options.gap:d+c}else{const ee=this.options.lanes===1?T[N-1]:this.getFurthestMeasurement(T,N);Q=ee?ee.end+this.options.gap:d+c,$=ee?ee.lane:N%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(N,$)}const oe=P.get(W),ae=typeof oe=="number"?oe:this.options.estimateSize(N),J=Q+ae;T[N]={index:N,start:Q,size:ae,end:J,key:W,lane:$},U[$]=N}return this.measurementsCache=T,T},{key:!1,debug:()=>this.options.debug}),this.calculateRange=rr(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(s,d,c,y)=>this.range=s.length>0&&d>0?Jd({measurements:s,outerSize:d,scrollOffset:c,lanes:y}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=rr(()=>{let s=null,d=null;const c=this.calculateRange();return c&&(s=c.startIndex,d=c.endIndex),this.maybeNotify.updateDeps([this.isScrolling,s,d]),[this.options.rangeExtractor,this.options.overscan,this.options.count,s,d]},(s,d,c,y,E)=>y===null||E===null?[]:s({startIndex:y,endIndex:E,overscan:d,count:c}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=s=>{const d=this.options.indexAttribute,c=s.getAttribute(d);return c?parseInt(c,10):(console.warn(`Missing attribute name '${d}={index}' on measured element.`),-1)},this._measureElement=(s,d)=>{const c=this.indexFromElement(s),y=this.measurementsCache[c];if(!y)return;const E=y.key,k=this.elementsCache.get(E);k!==s&&(k&&this.observer.unobserve(k),this.observer.observe(s),this.elementsCache.set(E,s)),s.isConnected&&this.resizeItem(c,this.options.measureElement(s,d,this))},this.resizeItem=(s,d)=>{const c=this.measurementsCache[s];if(!c)return;const y=this.itemSizeCache.get(c.key)??c.size,E=d-y;E!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(c,E,this):c.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=E,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(c.index),this.itemSizeCache=new Map(this.itemSizeCache.set(c.key,d)),this.notify(!1))},this.measureElement=s=>{if(!s){this.elementsCache.forEach((d,c)=>{d.isConnected||(this.observer.unobserve(d),this.elementsCache.delete(c))});return}this._measureElement(s,void 0)},this.getVirtualItems=rr(()=>[this.getVirtualIndexes(),this.getMeasurements()],(s,d)=>{const c=[];for(let y=0,E=s.length;y<E;y++){const k=s[y],P=d[k];c.push(P)}return c},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=s=>{const d=this.getMeasurements();if(d.length!==0)return rc(d[dc(0,d.length-1,c=>rc(d[c]).start,s)])},this.getOffsetForAlignment=(s,d,c=0)=>{const y=this.getSize(),E=this.getScrollOffset();d==="auto"&&(d=s>=E+y?"end":"start"),d==="center"?s+=(c-y)/2:d==="end"&&(s-=y);const k=this.getTotalSize()+this.options.scrollMargin-y;return Math.max(Math.min(k,s),0)},this.getOffsetForIndex=(s,d="auto")=>{s=Math.max(0,Math.min(s,this.options.count-1));const c=this.measurementsCache[s];if(!c)return;const y=this.getSize(),E=this.getScrollOffset();if(d==="auto")if(c.end>=E+y-this.options.scrollPaddingEnd)d="end";else if(c.start<=E+this.options.scrollPaddingStart)d="start";else return[E,d];const k=d==="end"?c.end+this.options.scrollPaddingEnd:c.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(k,d,c.size),d]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(s,{align:d="start",behavior:c}={})=>{c==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(s,d),{adjustments:void 0,behavior:c})},this.scrollToIndex=(s,{align:d="auto",behavior:c}={})=>{c==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),s=Math.max(0,Math.min(s,this.options.count-1));let y=0;const E=10,k=B=>{if(!this.targetWindow)return;const T=this.getOffsetForIndex(s,B);if(!T){console.warn("Failed to get offset for index:",s);return}const[U,N]=T;this._scrollToOffset(U,{adjustments:void 0,behavior:c}),this.targetWindow.requestAnimationFrame(()=>{const W=this.getScrollOffset(),Z=this.getOffsetForIndex(s,N);if(!Z){console.warn("Failed to get offset for index:",s);return}$d(Z[0],W)||P(N)})},P=B=>{this.targetWindow&&(y++,y<E?this.targetWindow.requestAnimationFrame(()=>k(B)):console.warn(`Failed to scroll to index ${s} after ${E} attempts.`))};k(d)},this.scrollBy=(s,{behavior:d}={})=>{d==="smooth"&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+s,{adjustments:void 0,behavior:d})},this.getTotalSize=()=>{var s;const d=this.getMeasurements();let c;if(d.length===0)c=this.options.paddingStart;else if(this.options.lanes===1)c=((s=d[d.length-1])==null?void 0:s.end)??0;else{const y=Array(this.options.lanes).fill(null);let E=d.length-1;for(;E>=0&&y.some(k=>k===null);){const k=d[E];y[k.lane]===null&&(y[k.lane]=k.end),E--}c=Math.max(...y.filter(k=>k!==null))}return Math.max(c-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(s,{adjustments:d,behavior:c})=>{this.options.scrollToFn(s,{behavior:c,adjustments:d},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(w)}}const dc=(a,w,s,d)=>{for(;a<=w;){const c=(a+w)/2|0,y=s(c);if(y<d)a=c+1;else if(y>d)w=c-1;else return c}return a>0?a-1:0};function Jd({measurements:a,outerSize:w,scrollOffset:s,lanes:d}){const c=a.length-1,y=P=>a[P].start;if(a.length<=d)return{startIndex:0,endIndex:c};let E=dc(0,c,y,s),k=E;if(d===1)for(;k<c&&a[k].end<s+w;)k++;else if(d>1){const P=Array(d).fill(0);for(;k<c&&P.some(T=>T<s+w);){const T=a[k];P[T.lane]=T.end,k++}const B=Array(d).fill(s+w);for(;E>=0&&B.some(T=>T>=s);){const T=a[E];B[T.lane]=T.start,E--}E=Math.max(0,E-E%d),k=Math.min(c,k+(d-1-k%d))}return{startIndex:E,endIndex:k}}const sc=typeof document<"u"?Ee.useLayoutEffect:Ee.useEffect;function bd(a){const w=Ee.useReducer(()=>({}),{})[1],s={...a,onChange:(c,y)=>{var E;y?Wd.flushSync(w):w(),(E=a.onChange)==null||E.call(a,c,y)}},[d]=Ee.useState(()=>new qd(s));return d.setOptions(s),sc(()=>d._didMount(),[]),sc(()=>d._willUpdate()),d}function ep(a){return bd({observeElementRect:Yd,observeElementOffset:Xd,scrollToFn:Zd,...a})}function tp(a){if(a===0)return"0 B";const w=1024,s=["B","KB","MB","GB"],d=Math.floor(Math.log(a)/Math.log(w));return parseFloat((a/Math.pow(w,d)).toFixed(1))+" "+s[d]}function np(a){if(a.length===0)return"";if(a.length===1){const k=a[0].split("/");return k.pop(),k.join("/")+"/"}const w=[...a].sort(),s=w[0],d=w[w.length-1];let c=0;for(;c<s.length&&s[c]===d[c];)c++;const y=s.substring(0,c),E=y.lastIndexOf("/");return E>=0?y.substring(0,E+1):""}function rp(a,w){return w&&a.startsWith(w)?a.substring(w.length):a}function lp(){var Q,oe;const{filteredImages:a,thumbSize:w,activeId:s,selectedIds:d,setActiveId:c,thumbnailMap:y,setThumbnailPath:E,searchSelectedIds:k,containerWidth:P,setContainerWidth:B}=lr(),T=k.size>0?a.filter(ae=>k.has(ae.id)):a,U=Ee.useMemo(()=>np(T.map(ae=>ae.path)),[T]),N=Ee.useRef(null);Ee.useEffect(()=>{if(!N.current)return;const ae=new ResizeObserver(J=>{var fe;const ee=((fe=J[0])==null?void 0:fe.contentRect.width)??window.innerWidth;B(ee)});return ae.observe(N.current),()=>ae.disconnect()},[B]);const W=Math.floor(P/(w+12)),Z=Math.ceil(T.length/W),$=ep({count:Z,getScrollElement:()=>N.current,estimateSize:()=>w+56+12,overscan:2});return Ee.useEffect(()=>{const ee=$.getVirtualItems().flatMap(fe=>{const Y=fe.index*W,ne=Math.min(Y+W,T.length);return T.slice(Y,ne)}).filter(fe=>!y.has(fe.path));if(ee.length>0){const fe=ee.map(Y=>[Y.path,Y.mtime]);Vd(fe,w).then(Y=>{Y.forEach(([ne,ue])=>{E(ne,ue)})})}},[(Q=$.range)==null?void 0:Q.startIndex,(oe=$.range)==null?void 0:oe.endIndex,w,T,W,y,E]),T.length===0?_.jsx("div",{className:"loading",children:k.size>0?"No selected images match your current filter":"No images match your search"}):_.jsx("div",{ref:N,className:"grid-container",children:_.jsx("div",{style:{height:`${$.getTotalSize()}px`,width:"100%",position:"relative"},children:$.getVirtualItems().map(ae=>{const J=ae.index*W,ee=Math.min(J+W,T.length),fe=T.slice(J,ee);return _.jsx("div",{className:"grid-row",style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${ae.start}px)`,height:`${w+56}px`},children:fe.map(Y=>{const ne=y.get(Y.path),ue=Y.id===s,Ze=d.has(Y.id),rt=rp(Y.path,U);return _.jsxs("div",{className:`tile ${ue?"active":""} ${Ze?"selected":""}`,style:{width:`${w}px`,height:`${w+56}px`},onClick:()=>c(Y.id),onDoubleClick:()=>{lr.setState({viewMode:"viewer"})},children:[_.jsxs("div",{className:"tile-header",children:[_.jsx("div",{className:"tile-filename",title:Y.path,children:rt}),_.jsx("div",{className:"tile-meta",children:tp(Y.size_bytes)})]}),_.jsx("div",{className:"tile-image-container",children:ne?_.jsx("img",{src:es(ne),alt:Y.filename}):_.jsx("div",{className:"tile-loading",children:_.jsx("div",{className:"tile-loading-spinner"})})})]},Y.id)})},ae.key)})})})}function ip(){const{filteredImages:a,activeId:w,setActiveId:s,setViewMode:d,markAsViewed:c}=lr(),[y,E]=Ee.useState(1),[k,P]=Ee.useState({x:0,y:0}),[B,T]=Ee.useState(!1),[U,N]=Ee.useState({x:0,y:0}),W=a.findIndex(Y=>Y.id===w),Z=a[W],$=Ee.useRef(null);Ee.useEffect(()=>{E(1),P({x:0,y:0}),w&&c(w)},[w,c]);const Q=()=>{W>0&&s(a[W-1].id)},oe=()=>{W<a.length-1&&s(a[W+1].id)},ae=Y=>{Y.preventDefault();const ne=Y.deltaY>0?.9:1.1;E(ue=>Math.max(.5,Math.min(5,ue*ne)))},J=Y=>{T(!0),N({x:Y.clientX-k.x,y:Y.clientY-k.y})},ee=Y=>{B&&P({x:Y.clientX-U.x,y:Y.clientY-U.y})},fe=()=>{T(!1)};return Z?_.jsxs("div",{className:"viewer-overlay",children:[_.jsxs("div",{className:"viewer-header",children:[_.jsxs("div",{children:[_.jsx("strong",{children:Z.path}),_.jsxs("div",{style:{fontSize:"12px",color:"#999",marginTop:"4px"},children:[W+1," / ",a.length,Z.metadata.date&&` • ${Z.metadata.date}`,Z.metadata.subject&&` • ${Z.metadata.subject}`,Z.metadata.series&&` • ${Z.metadata.series}`]})]}),_.jsxs("div",{style:{display:"flex",gap:"8px"},children:[_.jsx("button",{onClick:()=>E(1),children:"Reset Zoom"}),_.jsx("button",{onClick:()=>d("grid"),children:"Close (Esc)"})]})]}),_.jsxs("div",{ref:$,className:"viewer-content",onWheel:ae,onMouseDown:J,onMouseMove:ee,onMouseUp:fe,onMouseLeave:fe,children:[_.jsx("div",{className:"viewer-image-container",children:_.jsx("img",{src:es(Z.path),alt:Z.filename,className:"viewer-image",style:{transform:`scale(${y}) translate(${k.x/y}px, ${k.y/y}px)`},draggable:!1})}),W>0&&_.jsx("button",{className:"viewer-nav prev",onClick:Q,children:"‹"}),W<a.length-1&&_.jsx("button",{className:"viewer-nav next",onClick:oe,children:"›"})]})]}):null}function op(){const{images:a,selectedIds:w,setViewMode:s}=lr(),d=a.filter(y=>w.has(y.id));if(d.length===0)return _.jsxs("div",{className:"viewer-overlay",children:[_.jsxs("div",{className:"viewer-header",children:[_.jsx("div",{children:"Compare Mode"}),_.jsx("button",{onClick:()=>s("grid"),children:"Close"})]}),_.jsxs("div",{className:"empty-state",children:[_.jsx("p",{children:"No images selected"}),_.jsx("p",{style:{fontSize:"14px"},children:"Select images in grid view using Space to compare them"})]})]});const c=Math.ceil(Math.sqrt(d.length));return _.jsxs("div",{className:"viewer-overlay",children:[_.jsxs("div",{className:"viewer-header",children:[_.jsxs("div",{children:["Compare Mode - ",d.length," image",d.length!==1?"s":""]}),_.jsx("button",{onClick:()=>s("grid"),children:"Close"})]}),_.jsx("div",{className:"compare-grid",style:{gridTemplateColumns:`repeat(${c}, 1fr)`},children:d.map(y=>_.jsxs("div",{className:"compare-item",children:[_.jsx("img",{src:es(y.path),alt:y.filename}),_.jsx("div",{className:"compare-label",children:y.path})]},y.id))})]})}function sp({onSelect:a,onCancel:w}){const[s,d]=Ee.useState(""),[c,y]=Ee.useState([]),[E,k]=Ee.useState(!0),[P,B]=Ee.useState(null);Ee.useEffect(()=>{k(!0),B(null),Ad(s).then(N=>{y(N.folders),k(!1)}).catch(N=>{B(N.message),k(!1)})},[s]);const T=()=>{const N=s.split("/").filter(Boolean);N.pop(),d("/"+N.join("/"))},U=N=>{N.key==="Escape"&&w()};return _.jsx("div",{className:"folder-browser-overlay",onKeyDown:U,children:_.jsxs("div",{className:"folder-browser",children:[_.jsxs("div",{className:"folder-browser-header",children:[_.jsx("h3",{children:"Select Folder"}),_.jsx("span",{className:"folder-browser-path",children:s||"~"})]}),_.jsxs("div",{className:"folder-browser-actions",children:[_.jsx("button",{onClick:T,disabled:!s,children:"↑ Up"}),_.jsx("button",{onClick:()=>a(s),disabled:!s,className:"primary",children:"Select This Folder"})]}),_.jsx("div",{className:"folder-browser-list",children:E?_.jsx("div",{className:"folder-browser-loading",children:"Loading..."}):P?_.jsx("div",{className:"folder-browser-error",children:P}):c.length===0?_.jsx("div",{className:"folder-browser-empty",children:"No subfolders"}):c.map(N=>_.jsxs("div",{className:"folder-browser-item",onClick:()=>d(N),children:[_.jsx("span",{className:"folder-icon",children:"📁"}),_.jsx("span",{className:"folder-name",children:N.split("/").pop()})]},N))}),_.jsx("div",{className:"folder-browser-footer",children:_.jsx("button",{onClick:w,children:"Cancel"})})]})})}function up(){return _.jsxs("div",{className:"keybindings-help",children:[_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"/"}),_.jsx("span",{children:"search"})]}),_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"↑↓←→"}),_.jsx("span",{children:"navigate"})]}),_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"Enter"}),_.jsx("span",{children:"view"})]}),_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"Space"}),_.jsx("span",{children:"select"})]}),_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"g"}),_.jsx("span",{children:"grid"})]}),_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"c"}),_.jsx("span",{children:"compare"})]}),_.jsxs("div",{className:"keybinding",children:[_.jsx("span",{className:"key",children:"Esc"}),_.jsx("span",{children:"close"})]})]})}function ap(){const{folderPath:a,setFolderPath:w,setImages:s,viewMode:d,setViewMode:c,activeId:y,toggleSelection:E,moveActive:k,setQuery:P,thumbSize:B,setThumbSize:T}=lr(),[U,N]=Ee.useState(!0),[W,Z]=Ee.useState(!1);Ee.useEffect(()=>{(async()=>{try{const oe=await Fd();oe.folder_path&&oe.images&&(w(oe.folder_path),s(oe.images))}catch(oe){console.error("Failed to load initial data:",oe)}finally{N(!1)}})()},[w,s]),Ee.useEffect(()=>{const Q=oe=>{var ae;if(oe.target instanceof HTMLInputElement){oe.key==="Escape"&&oe.target.blur();return}switch(oe.key){case"/":oe.preventDefault(),(ae=document.querySelector(".search-box"))==null||ae.focus();break;case"Escape":d!=="grid"?c("grid"):P("");break;case"ArrowUp":oe.preventDefault(),k("up");break;case"ArrowDown":oe.preventDefault(),k("down");break;case"ArrowLeft":oe.preventDefault(),k("left");break;case"ArrowRight":oe.preventDefault(),k("right");break;case"Enter":y&&d==="grid"&&c("viewer");break;case" ":oe.preventDefault(),y&&E(y);break;case"g":c("grid");break;case"c":c("compare");break;case"+":case"=":T(B+50);break;case"-":T(B-50);break}};return window.addEventListener("keydown",Q),()=>window.removeEventListener("keydown",Q)},[d,y,c,E,k,P,B,T]);const $=async Q=>{Z(!1);try{w(Q);const oe=await Ud(Q);s(oe)}catch(oe){console.error("Failed to load folder:",oe)}};return U?_.jsx("div",{className:"app",children:_.jsxs("div",{className:"empty-state",children:[_.jsx("h2",{children:"AquaEye Viz"}),_.jsx("p",{children:"Loading..."})]})}):a?_.jsxs("div",{className:"app",children:[_.jsx(Bd,{}),_.jsx("div",{className:"main-content",children:_.jsx(lp,{})}),d==="viewer"&&_.jsx(ip,{}),d==="compare"&&_.jsx(op,{}),_.jsx(up,{})]}):_.jsxs("div",{className:"app",children:[W&&_.jsx(sp,{onSelect:$,onCancel:()=>Z(!1)}),_.jsxs("div",{className:"empty-state",children:[_.jsx("h2",{children:"AquaEye Viz"}),_.jsx("p",{children:"Image browser with fzf-like search"}),_.jsx("p",{style:{marginTop:"16px",fontSize:"14px",color:"#999"},children:"No folder path provided via command line"}),_.jsx("button",{onClick:()=>Z(!0),children:"Select Folder"}),_.jsxs("div",{style:{marginTop:"32px",fontSize:"12px",color:"#666"},children:[_.jsx("p",{children:"Keyboard shortcuts:"}),_.jsx("p",{children:"/ - Search • ↑↓←→ - Navigate • Enter - View"}),_.jsx("p",{children:"Space - Select • g - Grid • c - Compare • Esc - Close"})]})]})]})}vd.createRoot(document.getElementById("root")).render(_.jsx(uc.StrictMode,{children:_.jsx(ap,{})}));
@@ -0,0 +1 @@
1
+ *{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;background:#1a1a1a;color:#e0e0e0;overflow:hidden}#root{width:100vw;height:100vh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.search-header{padding:16px;background:#252525;border-bottom:1px solid #333;flex-shrink:0}.search-container{position:relative}.search-box{width:100%;padding:12px 16px;background:#1a1a1a;border:2px solid #444;border-radius:6px;color:#e0e0e0;font-size:16px;outline:none;transition:border-color .2s}.search-box:focus{border-color:#06c}.search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:400px;overflow-y:auto;background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #00000080;z-index:100}.search-dropdown-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #333;transition:background .1s}.search-dropdown-item:last-child{border-bottom:none}.search-dropdown-item:hover{background:#333}.search-dropdown-item.highlighted{background:#06c}.search-dropdown-item.checked{background:#1a4d1a}.search-dropdown-item.highlighted.checked{background:#06c;border-left:3px solid #00ff00;padding-left:9px}.search-dropdown-item-content{display:flex;gap:8px;align-items:flex-start}.search-dropdown-checkbox{flex-shrink:0;width:16px;height:16px;border:1px solid #666;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:12px;background:#1a1a1a;color:#0f0;font-weight:700}.search-dropdown-item.checked .search-dropdown-checkbox{background:#0a0;border-color:#0f0;color:#000}.search-dropdown-text{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.search-dropdown-item.disabled{cursor:default;color:#666;font-style:italic}.search-dropdown-item.disabled:hover{background:transparent}.search-dropdown-path{font-size:11px;color:#999;font-family:monospace}.search-dropdown mark{background:orange;color:#000;padding:1px 2px;border-radius:2px}.search-info{margin-top:8px;font-size:12px;color:#999;display:flex;justify-content:space-between;align-items:center}.toolbar{display:flex;gap:8px;align-items:center}.toolbar button{padding:6px 12px;background:#333;border:1px solid #444;border-radius:4px;color:#e0e0e0;cursor:pointer;font-size:12px;transition:background .2s}.toolbar button:hover{background:#404040}.toolbar button:active{background:#2a2a2a}.main-content{flex:1;overflow:hidden;position:relative}.grid-container{width:100%;height:100%;overflow:auto;background:#121212;padding-top:12px}.grid-row{display:flex;gap:12px;padding:0 12px}.tile{display:flex;flex-direction:column;background:#1e1e1e;border-radius:10px;overflow:hidden;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000004d;border:2px solid transparent}.tile:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0006;background:#262626}.tile.active{border-color:#4a9eff;box-shadow:0 0 0 1px #4a9eff,0 6px 20px #4a9eff40}.tile.selected{border-color:#34d399;box-shadow:0 0 0 1px #34d399,0 6px 20px #34d39940}.tile-header{padding:10px 12px 8px;background:#282828;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.tile-filename{font-size:12px;font-weight:600;color:#e8e8e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;letter-spacing:.01em}.tile-meta{font-size:11px;color:#888;margin-top:4px;font-weight:500;font-variant-numeric:tabular-nums}.tile-image-container{flex:1;display:flex;align-items:center;justify-content:center;background:#141414;overflow:hidden;min-height:0}.tile-image-container img{width:100%;height:100%;object-fit:contain}.tile-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.tile-loading-spinner{width:24px;height:24px;border:2px solid #333;border-top-color:#4a9eff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;flex-direction:column;z-index:1000}.viewer-header{padding:16px;background:#252525;display:flex;justify-content:space-between;align-items:center}.viewer-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.viewer-image-container{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;cursor:grab}.viewer-image-container:active{cursor:grabbing}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;transition:transform .1s}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:#000000b3;border:none;color:#fff;font-size:24px;padding:16px;cursor:pointer;border-radius:4px}.viewer-nav:hover{background:#000000e6}.viewer-nav.prev{left:16px}.viewer-nav.next{right:16px}.compare-grid{display:grid;gap:16px;padding:16px;height:100%;overflow:auto}.compare-item{background:#252525;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.compare-item img{width:100%;height:100%;object-fit:contain;background:#1a1a1a}.compare-label{padding:8px;background:#2a2a2a;font-size:12px;text-align:center}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:18px;color:#999}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;gap:16px}.empty-state button{padding:12px 24px;background:#06c;border:none;border-radius:6px;color:#fff;font-size:16px;cursor:pointer}.empty-state button:hover{background:#0052a3}.keybindings-help{position:fixed;bottom:8px;right:8px;padding:8px 12px;background:#000c;border-radius:4px;font-size:11px;color:#999;display:flex;gap:12px}.keybinding{display:flex;gap:4px;align-items:center}.key{padding:2px 6px;background:#333;border-radius:3px;font-family:monospace;font-size:10px}.folder-browser-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000}.folder-browser{width:90%;max-width:600px;max-height:80vh;background:#2a2a2a;border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;overflow:hidden}.folder-browser-header{padding:20px 24px 16px;background:#333;border-bottom:1px solid #444}.folder-browser-header h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#e0e0e0}.folder-browser-path{font-size:13px;font-family:monospace;color:#888;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-browser-actions{padding:12px 24px;display:flex;gap:12px;background:#2a2a2a;border-bottom:1px solid #333}.folder-browser-actions button{padding:8px 16px;background:#404040;border:1px solid #555;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:13px;transition:all .2s}.folder-browser-actions button:hover:not(:disabled){background:#4a4a4a;border-color:#666}.folder-browser-actions button:disabled{opacity:.5;cursor:not-allowed}.folder-browser-actions button.primary{background:#06c;border-color:#06c}.folder-browser-actions button.primary:hover:not(:disabled){background:#07e;border-color:#07e}.folder-browser-list{flex:1;overflow-y:auto;padding:8px 0;min-height:200px;max-height:400px}.folder-browser-item{padding:10px 24px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .15s}.folder-browser-item:hover{background:#383838}.folder-icon{font-size:18px}.folder-name{font-size:14px;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-browser-loading,.folder-browser-empty,.folder-browser-error{padding:24px;text-align:center;color:#888;font-size:14px}.folder-browser-error{color:#ff6b6b}.folder-browser-footer{padding:16px 24px;background:#333;border-top:1px solid #444;display:flex;justify-content:flex-end}.folder-browser-footer button{padding:8px 20px;background:#404040;border:1px solid #555;border-radius:6px;color:#e0e0e0;cursor:pointer;font-size:13px;transition:all .2s}.folder-browser-footer button:hover{background:#4a4a4a;border-color:#666}
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>AquaEye Viz</title>
7
+ <script type="module" crossorigin src="/assets/index-Ct480H81.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-D6oVaE-9.css">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ </body>
13
+ </html>
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@vmasrani/fuzzy-img-viewer",
3
+ "version": "0.1.0",
4
+ "description": "High-performance image browser with fuzzy search and virtualized grid rendering",
5
+ "author": "vmasrani",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "bin": {
9
+ "fuzzy-img-viewer": "./bin/cli.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "bin",
14
+ "backend/target/release/fuzzy-img-viewer-backend*"
15
+ ],
16
+ "scripts": {
17
+ "dev": "vite",
18
+ "build": "npm run build:frontend && npm run build:backend",
19
+ "build:frontend": "tsc && vite build",
20
+ "build:backend": "cd backend && cargo build --release",
21
+ "preview": "vite preview",
22
+ "package": "npm run build && npm pack",
23
+ "prepublishOnly": "npm run build"
24
+ },
25
+ "dependencies": {
26
+ "@tanstack/react-virtual": "^3.10.8",
27
+ "fuzzysort": "3.1.0",
28
+ "react": "^18.3.1",
29
+ "react-dom": "^18.3.1",
30
+ "zustand": "^4.5.5"
31
+ },
32
+ "devDependencies": {
33
+ "@types/react": "^18.3.12",
34
+ "@types/react-dom": "^18.3.1",
35
+ "@vitejs/plugin-react": "^4.3.4",
36
+ "typescript": "^5.6.3",
37
+ "vite": "^6.0.3"
38
+ },
39
+ "engines": {
40
+ "node": ">=18.0.0"
41
+ },
42
+ "keywords": [
43
+ "image-viewer",
44
+ "image-browser",
45
+ "fuzzy-search",
46
+ "thumbnail-viewer",
47
+ "rust",
48
+ "react"
49
+ ]
50
+ }