From 7335cefffb9420c75fb81cdca79f1813f3e7ac6c Mon Sep 17 00:00:00 2001 From: legop3 Date: Wed, 7 Jan 2026 21:28:21 -0500 Subject: [PATCH] dynamic http embeds, kofi button, etc --- dist/dummy1.yml | 4 +- dist/roverd | Bin 6815928 -> 6815928 bytes dist/servoverifier | Bin 1769656 -> 1769656 bytes pi/roverd/camera_servo.go | 10 - pi/roverd/clamp.go | 11 + server/index.js | 1 + server/package.json | 1 + server/public/assets/index-BTAtpc9C.css | 1 - server/public/assets/index-BcJSVcRR.css | 1 + .../{index-D8Pr9nif.js => index-CbdlI1FK.js} | 10 +- server/public/index.html | 4 +- server/src/globals/http.js | 9 +- server/src/services/embedHttpService.js | 21 ++ server/src/services/embedService.js | 272 ++++++++++++++++++ server/src/services/sessionService.js | 5 + webui/src/components/DiscordInviteButton.jsx | 6 +- webui/src/components/KoFiButton.jsx | 21 ++ webui/src/components/UserListPanel.jsx | 19 +- webui/src/index.css | 12 + 19 files changed, 371 insertions(+), 37 deletions(-) create mode 100644 pi/roverd/clamp.go delete mode 100644 server/public/assets/index-BTAtpc9C.css create mode 100644 server/public/assets/index-BcJSVcRR.css rename server/public/assets/{index-D8Pr9nif.js => index-CbdlI1FK.js} (84%) create mode 100644 server/src/services/embedHttpService.js create mode 100644 server/src/services/embedService.js create mode 100644 webui/src/components/KoFiButton.jsx diff --git a/dist/dummy1.yml b/dist/dummy1.yml index 5b70188b..9fff223e 100644 --- a/dist/dummy1.yml +++ b/dist/dummy1.yml @@ -1,6 +1,6 @@ #configuration for roverd name: dummy1 -serverUrl: ws://192.168.0.84:8080/rover +serverUrl: ws://127.0.0.1:8080/rover serial: device: /dev/ttyS0 baud: 115200 @@ -18,3 +18,5 @@ media: service: mediamtx.service healthUrl: http://127.0.0.1:9997/v3/paths/list healthInterval: 30s +nightVision: + enabled: false diff --git a/dist/roverd b/dist/roverd index 259720d102b1eb5ab04113e5630fdc2f8889c928..e32ba8933fbe05ff1431ce0ce8e2984bec809db1 100755 GIT binary patch delta 26978 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 delta 26894 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 delta 369 zcmdndn6slXXF~_SrnzB}cbK7bm0^gXceX{Eg{hBQvc7S6rCEw!Sw&V_p;MuMNmg#Y zx5wm-{9=~H5ouwmPTA#U!7fFXrCv$8xh??=EDQ_`B0$Ux#O{8f48|Xe<5nFz9N_%m z{Z6j<^XvVkdsa3Hv;LFf!FOG}1LP2{AIXGPSTWFl*0>5Cmc&AQlE<5g--? fVlf~V2V#lsSrL-KE2(MYbfArT+s&Ayn*IR*L6UB0 diff --git a/pi/roverd/camera_servo.go b/pi/roverd/camera_servo.go index c1ea8ac4..9cc6896c 100644 --- a/pi/roverd/camera_servo.go +++ b/pi/roverd/camera_servo.go @@ -137,13 +137,3 @@ func (s *CameraServo) pulseToAngle(pulse int) float64 { } return s.cfg.MinAngle + norm*(s.cfg.MaxAngle-s.cfg.MinAngle) } - -func clampInt(value, min, max int) int { - if value < min { - return min - } - if value > max { - return max - } - return value -} diff --git a/pi/roverd/clamp.go b/pi/roverd/clamp.go new file mode 100644 index 00000000..ef8496a0 --- /dev/null +++ b/pi/roverd/clamp.go @@ -0,0 +1,11 @@ +package roverd + +func clampInt(value, min, max int) int { + if value < min { + return min + } + if value > max { + return max + } + return value +} diff --git a/server/index.js b/server/index.js index 1ec0db3d..e6e39f79 100644 --- a/server/index.js +++ b/server/index.js @@ -21,6 +21,7 @@ require('./src/services/videoSessions'); require('./src/services/videoAuthService'); require('./src/services/videoSocketService'); require('./src/services/roomCameraSocketService'); +require('./src/services/embedHttpService'); require('./src/services/logStreamService'); require('./src/services/homeAssistantService'); require('./src/services/sessionService'); diff --git a/server/package.json b/server/package.json index c4b4f11d..b760d989 100644 --- a/server/package.json +++ b/server/package.json @@ -14,6 +14,7 @@ "home-assistant-js-websocket": "^3.1.2", "js-yaml": "^4.1.1", "morgan": "^1.10.0", + "sharp": "^0.33.5", "socket.io": "^4.7.5", "uuid": "^9.0.1", "ws": "^8.18.0" diff --git a/server/public/assets/index-BTAtpc9C.css b/server/public/assets/index-BTAtpc9C.css deleted file mode 100644 index 2b754dad..00000000 --- a/server/public/assets/index-BTAtpc9C.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.panel{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.rainbow-animate-bg{background:linear-gradient(270deg,red,#ff7f00,#ffff00b3,#0f0,#00f,indigo,#8b00ff);background-size:1400% 1400%;animation:rainbowBG 300s ease infinite}@keyframes rainbowBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.right-1{right:.25rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.row-span-2{grid-row:span 2 / span 2}.m-0\.5{margin:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-28{height:7rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-52{height:13rem}.h-64{height:16rem}.h-\[220px\]{height:220px}.h-\[260px\]{height:260px}.h-\[70\%\]{height:70%}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:10rem}.max-h-80{max-height:20rem}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-28{width:7rem}.w-4{width:1rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[0\]{min-width:0}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12rem\]{min-width:12rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.8\]{flex:1.8}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-rows-\[1fr_1fr_auto\]{grid-template-rows:1fr 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-700\/60{border-color:#b4530999}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-700{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity))}.border-emerald-700\/60{border-color:#04785799}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-rose-800{--tw-border-opacity: 1;border-color:rgb(159 18 57 / var(--tw-border-opacity))}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-white\/40{border-color:#fff6}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-700{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/60{background-color:#78350f99}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-cyan-300\/80{background-color:#67e8f9cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity))}.bg-cyan-800{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/30{background-color:#10b9814d}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/80{background-color:#064e3bcc}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-500\/30{background-color:#6366f14d}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-700{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/20{background-color:#312e8133}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/30{background-color:#ef44444d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/60{background-color:#7f1d1d99}.bg-rose-900\/80{background-color:#881337cc}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-sky-700{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/40{background-color:#0f172a66}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.fill-slate-200{fill:#e2e8f0}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pr-0\.5{padding-right:.125rem}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black\/80{color:#000c}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/80{color:#ecfdf5cc}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-indigo-100{--tw-text-opacity: 1;color:rgb(224 231 255 / var(--tw-text-opacity))}.text-indigo-100\/80{color:#e0e7ffcc}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-rose-50{--tw-text-opacity: 1;color:rgb(255 241 242 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.accent-cyan-400{accent-color:#22d3ee}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-cyan-400\/60{outline-color:#22d3ee99}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.\[clip-path\:circle\(50\%\)\]{clip-path:circle(50%)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}*{scrollbar-width:thin;scrollbar-color:#3b82f6 rgba(255,255,255,.08)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:1px;height:1px}*::-webkit-scrollbar-track{background:#ffffff14}*::-webkit-scrollbar-thumb{background-color:#3b82f6;border-radius:9999px}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.hover\:bg-amber-300:hover{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity))}.hover\:bg-amber-500:hover{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-emerald-800:hover{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-rose-800:hover{--tw-bg-opacity: 1;background-color:rgb(159 18 57 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:from-indigo-600:hover{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:via-purple-600:hover{--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-inherit:hover:disabled{background-color:inherit}@media(min-width:640px){.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:basis-auto{flex-basis:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-center{align-items:center}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:min-h-\[22rem\]{min-height:22rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}}@media(min-width:1024px){.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}} diff --git a/server/public/assets/index-BcJSVcRR.css b/server/public/assets/index-BcJSVcRR.css new file mode 100644 index 00000000..031134c1 --- /dev/null +++ b/server/public/assets/index-BcJSVcRR.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.panel{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.rainbow-animate-bg{background:linear-gradient(270deg,red,#ff7f00,#ffff00b3,#0f0,#00f,indigo,#8b00ff);background-size:1400% 1400%;animation:rainbowBG 300s ease infinite}@keyframes rainbowBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.kofi-animate-bg{background:linear-gradient(270deg,#ff5f5f,#ff9f43,#ffd166,#ff5f5f);background-size:800% 800%;animation:rainbowBG 240s ease infinite}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.right-1{right:.25rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.row-span-2{grid-row:span 2 / span 2}.m-0\.5{margin:.125rem}.mx-auto{margin-left:auto;margin-right:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:.5rem}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-28{height:7rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-52{height:13rem}.h-64{height:16rem}.h-\[220px\]{height:220px}.h-\[260px\]{height:260px}.h-\[70\%\]{height:70%}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:10rem}.max-h-80{max-height:20rem}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-28{width:7rem}.w-4{width:1rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[0\]{min-width:0}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.8\]{flex:1.8}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-rows-\[1fr_1fr_auto\]{grid-template-rows:1fr 1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-700\/60{border-color:#b4530999}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-700{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity))}.border-emerald-700\/60{border-color:#04785799}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-rose-800{--tw-border-opacity: 1;border-color:rgb(159 18 57 / var(--tw-border-opacity))}.border-slate-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-white\/40{border-color:#fff6}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-700{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/60{background-color:#78350f99}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-cyan-300\/80{background-color:#67e8f9cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity))}.bg-cyan-800{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/30{background-color:#10b9814d}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/80{background-color:#064e3bcc}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-500\/30{background-color:#6366f14d}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-700{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/20{background-color:#312e8133}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/30{background-color:#ef44444d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/60{background-color:#7f1d1d99}.bg-rose-900\/80{background-color:#881337cc}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-sky-700{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/40{background-color:#0f172a66}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.fill-slate-200{fill:#e2e8f0}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pr-0\.5{padding-right:.125rem}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black\/80{color:#000c}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/80{color:#ecfdf5cc}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-indigo-100{--tw-text-opacity: 1;color:rgb(224 231 255 / var(--tw-text-opacity))}.text-indigo-100\/80{color:#e0e7ffcc}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-rose-50{--tw-text-opacity: 1;color:rgb(255 241 242 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.accent-cyan-400{accent-color:#22d3ee}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.opacity-50{opacity:.5}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-cyan-400\/60{outline-color:#22d3ee99}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.\[clip-path\:circle\(50\%\)\]{clip-path:circle(50%)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}*{scrollbar-width:thin;scrollbar-color:#3b82f6 rgba(255,255,255,.08)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:1px;height:1px}*::-webkit-scrollbar-track{background:#ffffff14}*::-webkit-scrollbar-thumb{background-color:#3b82f6;border-radius:9999px}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.hover\:bg-amber-300:hover{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity))}.hover\:bg-amber-500:hover{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-emerald-800:hover{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-rose-800:hover{--tw-bg-opacity: 1;background-color:rgb(159 18 57 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:from-indigo-600:hover{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:via-purple-600:hover{--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-inherit:hover:disabled{background-color:inherit}@media(min-width:640px){.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:basis-auto{flex-basis:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-center{align-items:center}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:min-h-\[22rem\]{min-height:22rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:grid-cols-\[minmax\(0\,2fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}}@media(min-width:1024px){.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}} diff --git a/server/public/assets/index-D8Pr9nif.js b/server/public/assets/index-CbdlI1FK.js similarity index 84% rename from server/public/assets/index-D8Pr9nif.js rename to server/public/assets/index-CbdlI1FK.js index cbbd15d6..b55d68a1 100644 --- a/server/public/assets/index-D8Pr9nif.js +++ b/server/public/assets/index-CbdlI1FK.js @@ -1,12 +1,12 @@ -(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))r(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const g of d.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&r(g)}).observe(document,{childList:!0,subtree:!0});function i(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(f){if(f.ep)return;f.ep=!0;const d=i(f);fetch(f.href,d)}})();function Ev(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var zc={exports:{}},os={};var Zm;function Nv(){if(Zm)return os;Zm=1;var l=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function i(r,f,d){var g=null;if(d!==void 0&&(g=""+d),f.key!==void 0&&(g=""+f.key),"key"in f){d={};for(var m in f)m!=="key"&&(d[m]=f[m])}else d=f;return f=d.ref,{$$typeof:l,type:r,key:g,ref:f!==void 0?f:null,props:d}}return os.Fragment=s,os.jsx=i,os.jsxs=i,os}var Jm;function Cv(){return Jm||(Jm=1,zc.exports=Nv()),zc.exports}var o=Cv(),Bc={exports:{}},he={};var $m;function wv(){if($m)return he;$m=1;var l=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),g=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),R=Symbol.iterator;function S(q){return q===null||typeof q!="object"?null:(q=R&&q[R]||q["@@iterator"],typeof q=="function"?q:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N=Object.assign,E={};function T(q,U,X){this.props=q,this.context=U,this.refs=E,this.updater=X||C}T.prototype.isReactComponent={},T.prototype.setState=function(q,U){if(typeof q!="object"&&typeof q!="function"&&q!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,q,U,"setState")},T.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function O(){}O.prototype=T.prototype;function Q(q,U,X){this.props=q,this.context=U,this.refs=E,this.updater=X||C}var F=Q.prototype=new O;F.constructor=Q,N(F,T.prototype),F.isPureReactComponent=!0;var P=Array.isArray;function W(){}var V={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function ae(q,U,X){var Z=X.ref;return{$$typeof:l,type:q,key:U,ref:Z!==void 0?Z:null,props:X}}function ue(q,U){return ae(q.type,U,q.props)}function de(q){return typeof q=="object"&&q!==null&&q.$$typeof===l}function fe(q){var U={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(X){return U[X]})}var J=/\/+/g;function ee(q,U){return typeof q=="object"&&q!==null&&q.key!=null?fe(""+q.key):U.toString(36)}function te(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(W,W):(q.status="pending",q.then(function(U){q.status==="pending"&&(q.status="fulfilled",q.value=U)},function(U){q.status==="pending"&&(q.status="rejected",q.reason=U)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function M(q,U,X,Z,ne){var re=typeof q;(re==="undefined"||re==="boolean")&&(q=null);var ge=!1;if(q===null)ge=!0;else switch(re){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(q.$$typeof){case l:case s:ge=!0;break;case b:return ge=q._init,M(ge(q._payload),U,X,Z,ne)}}if(ge)return ne=ne(q),ge=Z===""?"."+ee(q,0):Z,P(ne)?(X="",ge!=null&&(X=ge.replace(J,"$&/")+"/"),M(ne,U,X,"",function(en){return en})):ne!=null&&(de(ne)&&(ne=ue(ne,X+(ne.key==null||q&&q.key===ne.key?"":(""+ne.key).replace(J,"$&/")+"/")+ge)),U.push(ne)),1;ge=0;var Ye=Z===""?".":Z+":";if(P(q))for(var Oe=0;Oe>>1,se=M[I];if(0>>1;If(X,$))Zf(ne,X)?(M[I]=ne,M[Z]=$,I=Z):(M[I]=X,M[U]=$,I=U);else if(Zf(ne,$))M[I]=ne,M[Z]=$,I=Z;else break e}}return z}function f(M,z){var $=M.sortIndex-z.sortIndex;return $!==0?$:M.id-z.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;l.unstable_now=function(){return d.now()}}else{var g=Date,m=g.now();l.unstable_now=function(){return g.now()-m}}var y=[],v=[],b=1,A=null,R=3,S=!1,C=!1,N=!1,E=!1,T=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,Q=typeof setImmediate<"u"?setImmediate:null;function F(M){for(var z=i(v);z!==null;){if(z.callback===null)r(v);else if(z.startTime<=M)r(v),z.sortIndex=z.expirationTime,s(y,z);else break;z=i(v)}}function P(M){if(N=!1,F(M),!C)if(i(y)!==null)C=!0,W||(W=!0,fe());else{var z=i(v);z!==null&&te(P,z.startTime-M)}}var W=!1,V=-1,K=5,ae=-1;function ue(){return E?!0:!(l.unstable_now()-aeM&&ue());){var I=A.callback;if(typeof I=="function"){A.callback=null,R=A.priorityLevel;var se=I(A.expirationTime<=M);if(M=l.unstable_now(),typeof se=="function"){A.callback=se,F(M),z=!0;break t}A===i(y)&&r(y),F(M)}else r(y);A=i(y)}if(A!==null)z=!0;else{var q=i(v);q!==null&&te(P,q.startTime-M),z=!1}}break e}finally{A=null,R=$,S=!1}z=void 0}}finally{z?fe():W=!1}}}var fe;if(typeof Q=="function")fe=function(){Q(de)};else if(typeof MessageChannel<"u"){var J=new MessageChannel,ee=J.port2;J.port1.onmessage=de,fe=function(){ee.postMessage(null)}}else fe=function(){T(de,0)};function te(M,z){V=T(function(){M(l.unstable_now())},z)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(M){M.callback=null},l.unstable_forceFrameRate=function(M){0>M||125I?(M.sortIndex=$,s(v,M),i(y)===null&&M===i(v)&&(N?(O(V),V=-1):N=!0,te(P,$-I))):(M.sortIndex=se,s(y,M),C||S||(C=!0,W||(W=!0,fe()))),M},l.unstable_shouldYield=ue,l.unstable_wrapCallback=function(M){var z=R;return function(){var $=R;R=z;try{return M.apply(this,arguments)}finally{R=$}}}})(Hc)),Hc}var Im;function Mv(){return Im||(Im=1,Uc.exports=Tv()),Uc.exports}var Vc={exports:{}},ot={};var Pm;function Rv(){if(Pm)return ot;Pm=1;var l=xo();function s(y){var v="https://react.dev/errors/"+y;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(s){console.error(s)}}return l(),Vc.exports=Rv(),Vc.exports}var tp;function Ov(){if(tp)return fs;tp=1;var l=Mv(),s=xo(),i=_v();function r(e){var t="https://react.dev/errors/"+e;if(1se||(e.current=I[se],I[se]=null,se--)}function X(e,t){se++,I[se]=e.current,e.current=t}var Z=q(null),ne=q(null),re=q(null),ge=q(null);function Ye(e,t){switch(X(re,t),X(ne,e),X(Z,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?gm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=gm(t),e=ym(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}U(Z),X(Z,e)}function Oe(){U(Z),U(ne),U(re)}function en(e){e.memoizedState!==null&&X(ge,e);var t=Z.current,n=ym(t,e.type);t!==n&&(X(ne,e),X(Z,n))}function Cn(e){ne.current===e&&(U(Z),U(ne)),ge.current===e&&(U(ge),is._currentValue=$)}var tn,Ae;function Ue(e){if(tn===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);tn=t&&t[1]||"",Ae=-1{for(const d of f)if(d.type==="childList")for(const g of d.addedNodes)g.tagName==="LINK"&&g.rel==="modulepreload"&&r(g)}).observe(document,{childList:!0,subtree:!0});function i(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(f){if(f.ep)return;f.ep=!0;const d=i(f);fetch(f.href,d)}})();function Nv(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var zc={exports:{}},os={};var Zm;function Cv(){if(Zm)return os;Zm=1;var l=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function i(r,f,d){var g=null;if(d!==void 0&&(g=""+d),f.key!==void 0&&(g=""+f.key),"key"in f){d={};for(var m in f)m!=="key"&&(d[m]=f[m])}else d=f;return f=d.ref,{$$typeof:l,type:r,key:g,ref:f!==void 0?f:null,props:d}}return os.Fragment=s,os.jsx=i,os.jsxs=i,os}var Jm;function wv(){return Jm||(Jm=1,zc.exports=Cv()),zc.exports}var o=wv(),Bc={exports:{}},he={};var $m;function Tv(){if($m)return he;$m=1;var l=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),g=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),R=Symbol.iterator;function S(q){return q===null||typeof q!="object"?null:(q=R&&q[R]||q["@@iterator"],typeof q=="function"?q:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N=Object.assign,E={};function T(q,U,X){this.props=q,this.context=U,this.refs=E,this.updater=X||C}T.prototype.isReactComponent={},T.prototype.setState=function(q,U){if(typeof q!="object"&&typeof q!="function"&&q!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,q,U,"setState")},T.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function O(){}O.prototype=T.prototype;function Q(q,U,X){this.props=q,this.context=U,this.refs=E,this.updater=X||C}var F=Q.prototype=new O;F.constructor=Q,N(F,T.prototype),F.isPureReactComponent=!0;var P=Array.isArray;function W(){}var V={H:null,A:null,T:null,S:null},K=Object.prototype.hasOwnProperty;function ae(q,U,X){var Z=X.ref;return{$$typeof:l,type:q,key:U,ref:Z!==void 0?Z:null,props:X}}function ue(q,U){return ae(q.type,U,q.props)}function de(q){return typeof q=="object"&&q!==null&&q.$$typeof===l}function fe(q){var U={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(X){return U[X]})}var J=/\/+/g;function ee(q,U){return typeof q=="object"&&q!==null&&q.key!=null?fe(""+q.key):U.toString(36)}function te(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(W,W):(q.status="pending",q.then(function(U){q.status==="pending"&&(q.status="fulfilled",q.value=U)},function(U){q.status==="pending"&&(q.status="rejected",q.reason=U)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function M(q,U,X,Z,ne){var re=typeof q;(re==="undefined"||re==="boolean")&&(q=null);var ge=!1;if(q===null)ge=!0;else switch(re){case"bigint":case"string":case"number":ge=!0;break;case"object":switch(q.$$typeof){case l:case s:ge=!0;break;case b:return ge=q._init,M(ge(q._payload),U,X,Z,ne)}}if(ge)return ne=ne(q),ge=Z===""?"."+ee(q,0):Z,P(ne)?(X="",ge!=null&&(X=ge.replace(J,"$&/")+"/"),M(ne,U,X,"",function(en){return en})):ne!=null&&(de(ne)&&(ne=ue(ne,X+(ne.key==null||q&&q.key===ne.key?"":(""+ne.key).replace(J,"$&/")+"/")+ge)),U.push(ne)),1;ge=0;var Qe=Z===""?".":Z+":";if(P(q))for(var Oe=0;Oe>>1,se=M[I];if(0>>1;If(X,$))Zf(ne,X)?(M[I]=ne,M[Z]=$,I=Z):(M[I]=X,M[U]=$,I=U);else if(Zf(ne,$))M[I]=ne,M[Z]=$,I=Z;else break e}}return z}function f(M,z){var $=M.sortIndex-z.sortIndex;return $!==0?$:M.id-z.id}if(l.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;l.unstable_now=function(){return d.now()}}else{var g=Date,m=g.now();l.unstable_now=function(){return g.now()-m}}var y=[],v=[],b=1,A=null,R=3,S=!1,C=!1,N=!1,E=!1,T=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,Q=typeof setImmediate<"u"?setImmediate:null;function F(M){for(var z=i(v);z!==null;){if(z.callback===null)r(v);else if(z.startTime<=M)r(v),z.sortIndex=z.expirationTime,s(y,z);else break;z=i(v)}}function P(M){if(N=!1,F(M),!C)if(i(y)!==null)C=!0,W||(W=!0,fe());else{var z=i(v);z!==null&&te(P,z.startTime-M)}}var W=!1,V=-1,K=5,ae=-1;function ue(){return E?!0:!(l.unstable_now()-aeM&&ue());){var I=A.callback;if(typeof I=="function"){A.callback=null,R=A.priorityLevel;var se=I(A.expirationTime<=M);if(M=l.unstable_now(),typeof se=="function"){A.callback=se,F(M),z=!0;break t}A===i(y)&&r(y),F(M)}else r(y);A=i(y)}if(A!==null)z=!0;else{var q=i(v);q!==null&&te(P,q.startTime-M),z=!1}}break e}finally{A=null,R=$,S=!1}z=void 0}}finally{z?fe():W=!1}}}var fe;if(typeof Q=="function")fe=function(){Q(de)};else if(typeof MessageChannel<"u"){var J=new MessageChannel,ee=J.port2;J.port1.onmessage=de,fe=function(){ee.postMessage(null)}}else fe=function(){T(de,0)};function te(M,z){V=T(function(){M(l.unstable_now())},z)}l.unstable_IdlePriority=5,l.unstable_ImmediatePriority=1,l.unstable_LowPriority=4,l.unstable_NormalPriority=3,l.unstable_Profiling=null,l.unstable_UserBlockingPriority=2,l.unstable_cancelCallback=function(M){M.callback=null},l.unstable_forceFrameRate=function(M){0>M||125I?(M.sortIndex=$,s(v,M),i(y)===null&&M===i(v)&&(N?(O(V),V=-1):N=!0,te(P,$-I))):(M.sortIndex=se,s(y,M),C||S||(C=!0,W||(W=!0,fe()))),M},l.unstable_shouldYield=ue,l.unstable_wrapCallback=function(M){var z=R;return function(){var $=R;R=z;try{return M.apply(this,arguments)}finally{R=$}}}})(Hc)),Hc}var Im;function Rv(){return Im||(Im=1,Uc.exports=Mv()),Uc.exports}var Vc={exports:{}},ot={};var Pm;function _v(){if(Pm)return ot;Pm=1;var l=xo();function s(y){var v="https://react.dev/errors/"+y;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(s){console.error(s)}}return l(),Vc.exports=_v(),Vc.exports}var tp;function Dv(){if(tp)return fs;tp=1;var l=Rv(),s=xo(),i=Ov();function r(e){var t="https://react.dev/errors/"+e;if(1se||(e.current=I[se],I[se]=null,se--)}function X(e,t){se++,I[se]=e.current,e.current=t}var Z=q(null),ne=q(null),re=q(null),ge=q(null);function Qe(e,t){switch(X(re,t),X(ne,e),X(Z,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?gm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=gm(t),e=ym(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}U(Z),X(Z,e)}function Oe(){U(Z),U(ne),U(re)}function en(e){e.memoizedState!==null&&X(ge,e);var t=Z.current,n=ym(t,e.type);t!==n&&(X(ne,e),X(Z,n))}function Cn(e){ne.current===e&&(U(Z),U(ne)),ge.current===e&&(U(ge),is._currentValue=$)}var tn,Ae;function Ue(e){if(tn===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);tn=t&&t[1]||"",Ae=-1)":-1u||j[a]!==k[u]){var H=` `+j[a].replace(" at new "," at ");return e.displayName&&H.includes("")&&(H=H.replace("",e.displayName)),H}while(1<=a&&0<=u);break}}}finally{Ke=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Ue(n):""}function He(e,t){switch(e.tag){case 26:case 27:case 5:return Ue(e.type);case 16:return Ue("Lazy");case 13:return e.child!==t&&t!==null?Ue("Suspense Fallback"):Ue("Suspense");case 19:return Ue("SuspenseList");case 0:case 15:return Ne(e.type,!1);case 11:return Ne(e.type.render,!1);case 1:return Ne(e.type,!0);case 31:return Ue("Activity");default:return""}}function ke(e){try{var t="",n=null;do t+=He(e,n),n=e,e=e.return;while(e);return t}catch(a){return` Error generating stack: `+a.message+` -`+a.stack}}var yl=Object.prototype.hasOwnProperty,Sr=l.unstable_scheduleCallback,qr=l.unstable_cancelCallback,ag=l.unstable_shouldYield,lg=l.unstable_requestPaint,bt=l.unstable_now,sg=l.unstable_getCurrentPriorityLevel,Zo=l.unstable_ImmediatePriority,Jo=l.unstable_UserBlockingPriority,Ts=l.unstable_NormalPriority,ig=l.unstable_LowPriority,$o=l.unstable_IdlePriority,rg=l.log,ug=l.unstable_setDisableYieldValue,vl=null,At=null;function wn(e){if(typeof rg=="function"&&ug(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(vl,e)}catch{}}var St=Math.clz32?Math.clz32:fg,cg=Math.log,og=Math.LN2;function fg(e){return e>>>=0,e===0?32:31-(cg(e)/og|0)|0}var Ms=256,Rs=262144,_s=4194304;function ta(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Os(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var u=0,c=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var x=a&134217727;return x!==0?(a=x&~c,a!==0?u=ta(a):(h&=x,h!==0?u=ta(h):n||(n=x&~e,n!==0&&(u=ta(n))))):(x=a&~c,x!==0?u=ta(x):h!==0?u=ta(h):n||(n=a&~e,n!==0&&(u=ta(n)))),u===0?0:t!==0&&t!==u&&(t&c)===0&&(c=u&-u,n=t&-t,c>=n||c===32&&(n&4194048)!==0)?t:u}function xl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function dg(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fo(){var e=_s;return _s<<=1,(_s&62914560)===0&&(_s=4194304),e}function jr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function hg(e,t,n,a,u,c){var h=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var x=e.entanglements,j=e.expirationTimes,k=e.hiddenUpdates;for(n=h&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var xg=/[\n"\\]/g;function Rt(e){return e.replace(xg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Mr(e,t,n,a,u,c,h,x){e.name="",h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.type=h:e.removeAttribute("type"),t!=null?h==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Mt(t)):e.value!==""+Mt(t)&&(e.value=""+Mt(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?Rr(e,h,Mt(t)):n!=null?Rr(e,h,Mt(n)):a!=null&&e.removeAttribute("value"),u==null&&c!=null&&(e.defaultChecked=!!c),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?e.name=""+Mt(x):e.removeAttribute("name")}function of(e,t,n,a,u,c,h,x){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||n!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){Tr(e);return}n=n!=null?""+Mt(n):"",t=t!=null?""+Mt(t):n,x||t===e.value||(e.value=t),e.defaultValue=t}a=a??u,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=x?e.checked:!!a,e.defaultChecked=!!a,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h),Tr(e)}function Rr(e,t,n){t==="number"&&zs(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ma(e,t,n,a){if(e=e.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zr=!1;if(ln)try{var jl={};Object.defineProperty(jl,"passive",{get:function(){zr=!0}}),window.addEventListener("test",jl,jl),window.removeEventListener("test",jl,jl)}catch{zr=!1}var Mn=null,Br=null,Ls=null;function yf(){if(Ls)return Ls;var e,t=Br,n=t.length,a,u="value"in Mn?Mn.value:Mn.textContent,c=u.length;for(e=0;e=Cl),qf=" ",jf=!1;function Ef(e,t){switch(e){case"keyup":return Zg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Nf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Da=!1;function $g(e,t){switch(e){case"compositionend":return Nf(t);case"keypress":return t.which!==32?null:(jf=!0,qf);case"textInput":return e=t.data,e===qf&&jf?null:e;default:return null}}function Fg(e,t){if(Da)return e==="compositionend"||!Yr&&Ef(e,t)?(e=yf(),Ls=Br=Mn=null,Da=!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)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Df(n)}}function zf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?zf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=zs(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=zs(e.document)}return t}function Xr(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")}var ly=ln&&"documentMode"in document&&11>=document.documentMode,ka=null,Kr=null,Rl=null,Zr=!1;function Lf(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Zr||ka==null||ka!==zs(a)||(a=ka,"selectionStart"in a&&Xr(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Rl&&Ml(Rl,a)||(Rl=a,a=Ri(Kr,"onSelect"),0>=h,u-=h,Zt=1<<32-St(t)+u|n<pe?(be=ie,ie=null):be=ie.sibling;var Ee=B(_,ie,D[pe],Y);if(Ee===null){ie===null&&(ie=be);break}e&&ie&&Ee.alternate===null&&t(_,ie),w=c(Ee,w,pe),je===null?ce=Ee:je.sibling=Ee,je=Ee,ie=be}if(pe===D.length)return n(_,ie),Se&&rn(_,pe),ce;if(ie===null){for(;pepe?(be=ie,ie=null):be=ie.sibling;var In=B(_,ie,Ee.value,Y);if(In===null){ie===null&&(ie=be);break}e&&ie&&In.alternate===null&&t(_,ie),w=c(In,w,pe),je===null?ce=In:je.sibling=In,je=In,ie=be}if(Ee.done)return n(_,ie),Se&&rn(_,pe),ce;if(ie===null){for(;!Ee.done;pe++,Ee=D.next())Ee=G(_,Ee.value,Y),Ee!==null&&(w=c(Ee,w,pe),je===null?ce=Ee:je.sibling=Ee,je=Ee);return Se&&rn(_,pe),ce}for(ie=a(ie);!Ee.done;pe++,Ee=D.next())Ee=L(ie,_,pe,Ee.value,Y),Ee!==null&&(e&&Ee.alternate!==null&&ie.delete(Ee.key===null?pe:Ee.key),w=c(Ee,w,pe),je===null?ce=Ee:je.sibling=Ee,je=Ee);return e&&ie.forEach(function(jv){return t(_,jv)}),Se&&rn(_,pe),ce}function _e(_,w,D,Y){if(typeof D=="object"&&D!==null&&D.type===N&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case S:e:{for(var ce=D.key;w!==null;){if(w.key===ce){if(ce=D.type,ce===N){if(w.tag===7){n(_,w.sibling),Y=u(w,D.props.children),Y.return=_,_=Y;break e}}else if(w.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===K&&da(ce)===w.type){n(_,w.sibling),Y=u(w,D.props),Bl(Y,D),Y.return=_,_=Y;break e}n(_,w);break}else t(_,w);w=w.sibling}D.type===N?(Y=ra(D.props.children,_.mode,Y,D.key),Y.return=_,_=Y):(Y=Js(D.type,D.key,D.props,null,_.mode,Y),Bl(Y,D),Y.return=_,_=Y)}return h(_);case C:e:{for(ce=D.key;w!==null;){if(w.key===ce)if(w.tag===4&&w.stateNode.containerInfo===D.containerInfo&&w.stateNode.implementation===D.implementation){n(_,w.sibling),Y=u(w,D.children||[]),Y.return=_,_=Y;break e}else{n(_,w);break}else t(_,w);w=w.sibling}Y=eu(D,_.mode,Y),Y.return=_,_=Y}return h(_);case K:return D=da(D),_e(_,w,D,Y)}if(te(D))return le(_,w,D,Y);if(fe(D)){if(ce=fe(D),typeof ce!="function")throw Error(r(150));return D=ce.call(D),oe(_,w,D,Y)}if(typeof D.then=="function")return _e(_,w,ti(D),Y);if(D.$$typeof===Q)return _e(_,w,Ws(_,D),Y);ni(_,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,w!==null&&w.tag===6?(n(_,w.sibling),Y=u(w,D),Y.return=_,_=Y):(n(_,w),Y=Pr(D,_.mode,Y),Y.return=_,_=Y),h(_)):n(_,w)}return function(_,w,D,Y){try{zl=0;var ce=_e(_,w,D,Y);return Ka=null,ce}catch(ie){if(ie===Xa||ie===Ps)throw ie;var je=jt(29,ie,null,_.mode);return je.lanes=Y,je.return=_,je}finally{}}}var ma=rd(!0),ud=rd(!1),kn=!1;function du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function hu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function zn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Bn(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(Ce&2)!==0){var u=a.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),a.pending=t,t=Zs(e),Xf(e,null,n),t}return Ks(e,a,t,n),Zs(e)}function Ll(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Io(e,n)}}function mu(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var u=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var h={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};c===null?u=c=h:c=c.next=h,n=n.next}while(n!==null);c===null?u=c=t:c=c.next=t}else u=c=t;n={baseState:a.baseState,firstBaseUpdate:u,lastBaseUpdate:c,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var pu=!1;function Ul(){if(pu){var e=Ga;if(e!==null)throw e}}function Hl(e,t,n,a){pu=!1;var u=e.updateQueue;kn=!1;var c=u.firstBaseUpdate,h=u.lastBaseUpdate,x=u.shared.pending;if(x!==null){u.shared.pending=null;var j=x,k=j.next;j.next=null,h===null?c=k:h.next=k,h=j;var H=e.alternate;H!==null&&(H=H.updateQueue,x=H.lastBaseUpdate,x!==h&&(x===null?H.firstBaseUpdate=k:x.next=k,H.lastBaseUpdate=j))}if(c!==null){var G=u.baseState;h=0,H=k=j=null,x=c;do{var B=x.lane&-536870913,L=B!==x.lane;if(L?(xe&B)===B:(a&B)===B){B!==0&&B===Qa&&(pu=!0),H!==null&&(H=H.next={lane:0,tag:x.tag,payload:x.payload,callback:null,next:null});e:{var le=e,oe=x;B=t;var _e=n;switch(oe.tag){case 1:if(le=oe.payload,typeof le=="function"){G=le.call(_e,G,B);break e}G=le;break e;case 3:le.flags=le.flags&-65537|128;case 0:if(le=oe.payload,B=typeof le=="function"?le.call(_e,G,B):le,B==null)break e;G=A({},G,B);break e;case 2:kn=!0}}B=x.callback,B!==null&&(e.flags|=64,L&&(e.flags|=8192),L=u.callbacks,L===null?u.callbacks=[B]:L.push(B))}else L={lane:B,tag:x.tag,payload:x.payload,callback:x.callback,next:null},H===null?(k=H=L,j=G):H=H.next=L,h|=B;if(x=x.next,x===null){if(x=u.shared.pending,x===null)break;L=x,x=L.next,L.next=null,u.lastBaseUpdate=L,u.shared.pending=null}}while(!0);H===null&&(j=G),u.baseState=j,u.firstBaseUpdate=k,u.lastBaseUpdate=H,c===null&&(u.shared.lanes=0),Yn|=h,e.lanes=h,e.memoizedState=G}}function cd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function od(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ec?c:8;var h=M.T,x={};M.T=x,Du(e,!1,t,n);try{var j=u(),k=M.S;if(k!==null&&k(x,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var H=hy(j,a);Ql(e,t,H,Tt(e))}else Ql(e,t,a,Tt(e))}catch(G){Ql(e,t,{then:function(){},status:"rejected",reason:G},Tt())}finally{z.p=c,h!==null&&x.types!==null&&(h.types=x.types),M.T=h}}function xy(){}function _u(e,t,n,a){if(e.tag!==5)throw Error(r(476));var u=Yd(e).queue;Vd(e,u,t,$,n===null?xy:function(){return Qd(e),n(a)})}function Yd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:$},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Qd(e){var t=Yd(e);t.next===null&&(t=e.alternate.memoizedState),Ql(e,t.next.queue,{},Tt())}function Ou(){return it(is)}function Gd(){return Je().memoizedState}function Xd(){return Je().memoizedState}function by(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Tt();e=zn(n);var a=Bn(t,e,n);a!==null&&(vt(a,t,n),Ll(a,t,n)),t={cache:uu()},e.payload=t;return}t=t.return}}function Ay(e,t,n){var a=Tt();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},di(e)?Zd(t,n):(n=Wr(e,t,n,a),n!==null&&(vt(n,e,a),Jd(n,t,a)))}function Kd(e,t,n){var a=Tt();Ql(e,t,n,a)}function Ql(e,t,n,a){var u={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(di(e))Zd(t,u);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var h=t.lastRenderedState,x=c(h,n);if(u.hasEagerState=!0,u.eagerState=x,qt(x,h))return Ks(e,t,u,0),De===null&&Xs(),!1}catch{}finally{}if(n=Wr(e,t,u,a),n!==null)return vt(n,e,a),Jd(n,t,a),!0}return!1}function Du(e,t,n,a){if(a={lane:2,revertLane:dc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},di(e)){if(t)throw Error(r(479))}else t=Wr(e,n,a,2),t!==null&&vt(t,e,2)}function di(e){var t=e.alternate;return e===me||t!==null&&t===me}function Zd(e,t){Ja=si=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jd(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Io(e,n)}}var Gl={readContext:it,use:ui,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};Gl.useEffectEvent=Qe;var $d={readContext:it,use:ui,useCallback:function(e,t){return ft().memoizedState=[e,t===void 0?null:t],e},useContext:it,useEffect:_d,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,oi(4194308,4,zd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return oi(4194308,4,e,t)},useInsertionEffect:function(e,t){oi(4,2,e,t)},useMemo:function(e,t){var n=ft();t=t===void 0?null:t;var a=e();if(pa){wn(!0);try{e()}finally{wn(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ft();if(n!==void 0){var u=n(t);if(pa){wn(!0);try{n(t)}finally{wn(!1)}}}else u=t;return a.memoizedState=a.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},a.queue=e,e=e.dispatch=Ay.bind(null,me,e),[a.memoizedState,e]},useRef:function(e){var t=ft();return e={current:e},t.memoizedState=e},useState:function(e){e=Cu(e);var t=e.queue,n=Kd.bind(null,me,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Mu,useDeferredValue:function(e,t){var n=ft();return Ru(n,e,t)},useTransition:function(){var e=Cu(!1);return e=Vd.bind(null,me,e.queue,!0,!1),ft().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=me,u=ft();if(Se){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),De===null)throw Error(r(349));(xe&127)!==0||gd(a,t,n)}u.memoizedState=n;var c={value:n,getSnapshot:t};return u.queue=c,_d(vd.bind(null,a,c,e),[e]),a.flags|=2048,Fa(9,{destroy:void 0},yd.bind(null,a,c,n,t),null),n},useId:function(){var e=ft(),t=De.identifierPrefix;if(Se){var n=Jt,a=Zt;n=(a&~(1<<32-St(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=ii++,0<\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof a.is=="string"?h.createElement("select",{is:a.is}):h.createElement("select"),a.multiple?c.multiple=!0:a.size&&(c.size=a.size);break;default:c=typeof a.is=="string"?h.createElement(u,{is:a.is}):h.createElement(u)}}c[lt]=t,c[dt]=a;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)c.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=c;e:switch(ut(c,u,a),u){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&hn(t)}}return Be(t),Ju(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&hn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(r(166));if(e=re.current,Va(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,u=st,u!==null)switch(u.tag){case 27:case 5:a=u.memoizedProps}e[lt]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||mm(e.nodeValue,n)),e||On(t,!0)}else e=_i(e).createTextNode(a),e[lt]=t,t.stateNode=e}return Be(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=Va(t),n!==null){if(e===null){if(!a)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[lt]=t}else ua(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Be(t),e=!1}else n=lu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Nt(t),t):(Nt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Be(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=Va(t),a!==null&&a.dehydrated!==null){if(e===null){if(!u)throw Error(r(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(r(317));u[lt]=t}else ua(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Be(t),u=!1}else u=lu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(Nt(t),t):(Nt(t),null)}return Nt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,u=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(u=a.alternate.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==u&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),yi(t,t.updateQueue),Be(t),null);case 4:return Oe(),e===null&&gc(t.stateNode.containerInfo),Be(t),null;case 10:return cn(t.type),Be(t),null;case 19:if(U(Ze),a=t.memoizedState,a===null)return Be(t),null;if(u=(t.flags&128)!==0,c=a.rendering,c===null)if(u)Kl(a,!1);else{if(Ge!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=li(e),c!==null){for(t.flags|=128,Kl(a,!1),e=c.updateQueue,t.updateQueue=e,yi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Kf(n,e),n=n.sibling;return X(Ze,Ze.current&1|2),Se&&rn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&bt()>Si&&(t.flags|=128,u=!0,Kl(a,!1),t.lanes=4194304)}else{if(!u)if(e=li(c),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,yi(t,e),Kl(a,!0),a.tail===null&&a.tailMode==="hidden"&&!c.alternate&&!Se)return Be(t),null}else 2*bt()-a.renderingStartTime>Si&&n!==536870912&&(t.flags|=128,u=!0,Kl(a,!1),t.lanes=4194304);a.isBackwards?(c.sibling=t.child,t.child=c):(e=a.last,e!==null?e.sibling=c:t.child=c,a.last=c)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=bt(),e.sibling=null,n=Ze.current,X(Ze,u?n&1|2:n&1),Se&&rn(t,a.treeForkCount),e):(Be(t),null);case 22:case 23:return Nt(t),yu(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(Be(t),t.subtreeFlags&6&&(t.flags|=8192)):Be(t),n=t.updateQueue,n!==null&&yi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&U(fa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),cn($e),Be(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Ny(e,t){switch(nu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cn($e),Oe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Cn(t),null;case 31:if(t.memoizedState!==null){if(Nt(t),t.alternate===null)throw Error(r(340));ua()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Nt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ua()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(Ze),null;case 4:return Oe(),null;case 10:return cn(t.type),null;case 22:case 23:return Nt(t),yu(),e!==null&&U(fa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return cn($e),null;case 25:return null;default:return null}}function xh(e,t){switch(nu(t),t.tag){case 3:cn($e),Oe();break;case 26:case 27:case 5:Cn(t);break;case 4:Oe();break;case 31:t.memoizedState!==null&&Nt(t);break;case 13:Nt(t);break;case 19:U(Ze);break;case 10:cn(t.type);break;case 22:case 23:Nt(t),yu(),e!==null&&U(fa);break;case 24:cn($e)}}function Zl(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var u=a.next;n=u;do{if((n.tag&e)===e){a=void 0;var c=n.create,h=n.inst;a=c(),h.destroy=a}n=n.next}while(n!==u)}}catch(x){Te(t,t.return,x)}}function Hn(e,t,n){try{var a=t.updateQueue,u=a!==null?a.lastEffect:null;if(u!==null){var c=u.next;a=c;do{if((a.tag&e)===e){var h=a.inst,x=h.destroy;if(x!==void 0){h.destroy=void 0,u=t;var j=n,k=x;try{k()}catch(H){Te(u,j,H)}}}a=a.next}while(a!==c)}}catch(H){Te(t,t.return,H)}}function bh(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{od(t,n)}catch(a){Te(e,e.return,a)}}}function Ah(e,t,n){n.props=ga(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){Te(e,t,a)}}function Jl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(u){Te(e,t,u)}}function $t(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(u){Te(e,t,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(u){Te(e,t,u)}else n.current=null}function Sh(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(u){Te(e,e.return,u)}}function $u(e,t,n){try{var a=e.stateNode;Jy(a,e.type,n,t),a[dt]=t}catch(u){Te(e,e.return,u)}}function qh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zn(e.type)||e.tag===4}function Fu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||qh(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.tag===27&&Zn(e.type)||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 Wu(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=an));else if(a!==4&&(a===27&&Zn(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Wu(e,t,n),e=e.sibling;e!==null;)Wu(e,t,n),e=e.sibling}function vi(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Zn(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(vi(e,t,n),e=e.sibling;e!==null;)vi(e,t,n),e=e.sibling}function jh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);ut(t,a,n),t[lt]=e,t[dt]=n}catch(c){Te(e,e.return,c)}}var mn=!1,Ie=!1,Iu=!1,Eh=typeof WeakSet=="function"?WeakSet:Set,at=null;function Cy(e,t){if(e=e.containerInfo,xc=Ui,e=Bf(e),Xr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var u=a.anchorOffset,c=a.focusNode;a=a.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break e}var h=0,x=-1,j=-1,k=0,H=0,G=e,B=null;t:for(;;){for(var L;G!==n||u!==0&&G.nodeType!==3||(x=h+u),G!==c||a!==0&&G.nodeType!==3||(j=h+a),G.nodeType===3&&(h+=G.nodeValue.length),(L=G.firstChild)!==null;)B=G,G=L;for(;;){if(G===e)break t;if(B===n&&++k===u&&(x=h),B===c&&++H===a&&(j=h),(L=G.nextSibling)!==null)break;G=B,B=G.parentNode}G=L}n=x===-1||j===-1?null:{start:x,end:j}}else n=null}n=n||{start:0,end:0}}else n=null;for(bc={focusedElem:e,selectionRange:n},Ui=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){switch(t=at,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),ut(c,a,n),c[lt]=e,nt(c),a=c;break e;case"link":var h=Rm("link","href",u).get(a+(n.href||""));if(h){for(var x=0;x_e&&(h=_e,_e=oe,oe=h);var _=kf(x,oe),w=kf(x,_e);if(_&&w&&(L.rangeCount!==1||L.anchorNode!==_.node||L.anchorOffset!==_.offset||L.focusNode!==w.node||L.focusOffset!==w.offset)){var D=G.createRange();D.setStart(_.node,_.offset),L.removeAllRanges(),oe>_e?(L.addRange(D),L.extend(w.node,w.offset)):(D.setEnd(w.node,w.offset),L.addRange(D))}}}}for(G=[],L=x;L=L.parentNode;)L.nodeType===1&&G.push({element:L,left:L.scrollLeft,top:L.scrollTop});for(typeof x.focus=="function"&&x.focus(),x=0;xn?32:n,M.T=null,n=sc,sc=null;var c=Gn,h=xn;if(tt=0,tl=Gn=null,xn=0,(Ce&6)!==0)throw Error(r(331));var x=Ce;if(Ce|=4,zh(c.current),Oh(c,c.current,h,n),Ce=x,es(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(vl,c)}catch{}return!0}finally{z.p=u,M.T=a,em(e,t)}}function nm(e,t,n){t=Ot(n,t),t=Lu(e.stateNode,t,2),e=Bn(e,t,2),e!==null&&(bl(e,2),Ft(e))}function Te(e,t,n){if(e.tag===3)nm(e,e,n);else for(;t!==null;){if(t.tag===3){nm(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Qn===null||!Qn.has(a))){e=Ot(n,e),n=ah(2),a=Bn(t,n,2),a!==null&&(lh(n,a,t,e),bl(a,2),Ft(a));break}}t=t.return}}function cc(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new My;var u=new Set;a.set(t,u)}else u=a.get(t),u===void 0&&(u=new Set,a.set(t,u));u.has(n)||(tc=!0,u.add(n),e=ky.bind(null,e,t,n),t.then(e,e))}function ky(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,De===e&&(xe&n)===n&&(Ge===4||Ge===3&&(xe&62914560)===xe&&300>bt()-Ai?(Ce&2)===0&&nl(e,0):nc|=n,el===xe&&(el=0)),Ft(e)}function am(e,t){t===0&&(t=Fo()),e=ia(e,t),e!==null&&(bl(e,t),Ft(e))}function zy(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),am(e,n)}function By(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,u=e.memoizedState;u!==null&&(n=u.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(r(314))}a!==null&&a.delete(t),am(e,n)}function Ly(e,t){return Sr(e,t)}var wi=null,ll=null,oc=!1,Ti=!1,fc=!1,Kn=0;function Ft(e){e!==ll&&e.next===null&&(ll===null?wi=ll=e:ll=ll.next=e),Ti=!0,oc||(oc=!0,Hy())}function es(e,t){if(!fc&&Ti){fc=!0;do for(var n=!1,a=wi;a!==null;){if(e!==0){var u=a.pendingLanes;if(u===0)var c=0;else{var h=a.suspendedLanes,x=a.pingedLanes;c=(1<<31-St(42|e)+1)-1,c&=u&~(h&~x),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(n=!0,rm(a,c))}else c=xe,c=Os(a,a===De?c:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(c&3)===0||xl(a,c)||(n=!0,rm(a,c));a=a.next}while(n);fc=!1}}function Uy(){lm()}function lm(){Ti=oc=!1;var e=0;Kn!==0&&Fy()&&(e=Kn);for(var t=bt(),n=null,a=wi;a!==null;){var u=a.next,c=sm(a,t);c===0?(a.next=null,n===null?wi=u:n.next=u,u===null&&(ll=n)):(n=a,(e!==0||(c&3)!==0)&&(Ti=!0)),a=u}tt!==0&&tt!==5||es(e),Kn!==0&&(Kn=0)}function sm(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,u=e.expirationTimes,c=e.pendingLanes&-62914561;0x)break;var H=j.transferSize,G=j.initiatorType;H&&pm(G)&&(j=j.responseEnd,h+=H*(j"u"?null:document;function Cm(e,t,n){var a=sl;if(a&&typeof t=="string"&&t){var u=Rt(t);u='link[rel="'+e+'"][href="'+u+'"]',typeof n=="string"&&(u+='[crossorigin="'+n+'"]'),Nm.has(u)||(Nm.add(u),e={rel:e,crossOrigin:n,href:t},a.querySelector(u)===null&&(t=a.createElement("link"),ut(t,"link",e),nt(t),a.head.appendChild(t)))}}function sv(e){bn.D(e),Cm("dns-prefetch",e,null)}function iv(e,t){bn.C(e,t),Cm("preconnect",e,t)}function rv(e,t,n){bn.L(e,t,n);var a=sl;if(a&&e&&t){var u='link[rel="preload"][as="'+Rt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(u+='[imagesrcset="'+Rt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(u+='[imagesizes="'+Rt(n.imageSizes)+'"]')):u+='[href="'+Rt(e)+'"]';var c=u;switch(t){case"style":c=il(e);break;case"script":c=rl(e)}Ut.has(c)||(e=A({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Ut.set(c,e),a.querySelector(u)!==null||t==="style"&&a.querySelector(ls(c))||t==="script"&&a.querySelector(ss(c))||(t=a.createElement("link"),ut(t,"link",e),nt(t),a.head.appendChild(t)))}}function uv(e,t){bn.m(e,t);var n=sl;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+Rt(a)+'"][href="'+Rt(e)+'"]',c=u;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=rl(e)}if(!Ut.has(c)&&(e=A({rel:"modulepreload",href:e},t),Ut.set(c,e),n.querySelector(u)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ss(c)))return}a=n.createElement("link"),ut(a,"link",e),nt(a),n.head.appendChild(a)}}}function cv(e,t,n){bn.S(e,t,n);var a=sl;if(a&&e){var u=wa(a).hoistableStyles,c=il(e);t=t||"default";var h=u.get(c);if(!h){var x={loading:0,preload:null};if(h=a.querySelector(ls(c)))x.loading=5;else{e=A({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Ut.get(c))&&Cc(e,n);var j=h=a.createElement("link");nt(j),ut(j,"link",e),j._p=new Promise(function(k,H){j.onload=k,j.onerror=H}),j.addEventListener("load",function(){x.loading|=1}),j.addEventListener("error",function(){x.loading|=2}),x.loading|=4,Di(h,t,a)}h={type:"stylesheet",instance:h,count:1,state:x},u.set(c,h)}}}function ov(e,t){bn.X(e,t);var n=sl;if(n&&e){var a=wa(n).hoistableScripts,u=rl(e),c=a.get(u);c||(c=n.querySelector(ss(u)),c||(e=A({src:e,async:!0},t),(t=Ut.get(u))&&wc(e,t),c=n.createElement("script"),nt(c),ut(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},a.set(u,c))}}function fv(e,t){bn.M(e,t);var n=sl;if(n&&e){var a=wa(n).hoistableScripts,u=rl(e),c=a.get(u);c||(c=n.querySelector(ss(u)),c||(e=A({src:e,async:!0,type:"module"},t),(t=Ut.get(u))&&wc(e,t),c=n.createElement("script"),nt(c),ut(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},a.set(u,c))}}function wm(e,t,n,a){var u=(u=re.current)?Oi(u):null;if(!u)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=il(n.href),n=wa(u).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=il(n.href);var c=wa(u).hoistableStyles,h=c.get(e);if(h||(u=u.ownerDocument||u,h={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,h),(c=u.querySelector(ls(e)))&&!c._p&&(h.instance=c,h.state.loading=5),Ut.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ut.set(e,n),c||dv(u,e,n,h.state))),t&&a===null)throw Error(r(528,""));return h}if(t&&a!==null)throw Error(r(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rl(n),n=wa(u).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function il(e){return'href="'+Rt(e)+'"'}function ls(e){return'link[rel="stylesheet"]['+e+"]"}function Tm(e){return A({},e,{"data-precedence":e.precedence,precedence:null})}function dv(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),ut(t,"link",n),nt(t),e.head.appendChild(t))}function rl(e){return'[src="'+Rt(e)+'"]'}function ss(e){return"script[async]"+e}function Mm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+Rt(n.href)+'"]');if(a)return t.instance=a,nt(a),a;var u=A({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),nt(a),ut(a,"style",u),Di(a,n.precedence,e),t.instance=a;case"stylesheet":u=il(n.href);var c=e.querySelector(ls(u));if(c)return t.state.loading|=4,t.instance=c,nt(c),c;a=Tm(n),(u=Ut.get(u))&&Cc(a,u),c=(e.ownerDocument||e).createElement("link"),nt(c);var h=c;return h._p=new Promise(function(x,j){h.onload=x,h.onerror=j}),ut(c,"link",a),t.state.loading|=4,Di(c,n.precedence,e),t.instance=c;case"script":return c=rl(n.src),(u=e.querySelector(ss(c)))?(t.instance=u,nt(u),u):(a=n,(u=Ut.get(c))&&(a=A({},n),wc(a,u)),e=e.ownerDocument||e,u=e.createElement("script"),nt(u),ut(u,"link",a),e.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Di(a,n.precedence,e));return t.instance}function Di(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=a.length?a[a.length-1]:null,c=u,h=0;h title"):null)}function hv(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Om(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function mv(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var u=il(a.href),c=t.querySelector(ls(u));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=zi.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=c,nt(c);return}c=t.ownerDocument||t,a=Tm(a),(u=Ut.get(u))&&Cc(a,u),c=c.createElement("link"),nt(c);var h=c;h._p=new Promise(function(x,j){h.onload=x,h.onerror=j}),ut(c,"link",a),n.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=zi.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Tc=0;function pv(e,t){return e.stylesheets&&e.count===0&&Li(e,e.stylesheets),0Tc?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(u)}}:null}function zi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Li(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Bi=null;function Li(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Bi=new Map,t.forEach(gv,e),Bi=null,zi.call(e))}function gv(e,t){if(!(t.state.loading&4)){var n=Bi.get(e);if(n)var a=n.get(null);else{n=new Map,Bi.set(e,n);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(s){console.error(s)}}return l(),Lc.exports=Ov(),Lc.exports}var kv=Dv();var ap="popstate";function zv(l={}){function s(r,f){let{pathname:d,search:g,hash:m}=r.location;return lo("",{pathname:d,search:g,hash:m},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(r,f){return typeof f=="string"?f:xs(f)}return Lv(s,i,null,l)}function Ve(l,s){if(l===!1||l===null||typeof l>"u")throw new Error(s)}function Kt(l,s){if(!l){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function Bv(){return Math.random().toString(36).substring(2,10)}function lp(l,s){return{usr:l.state,key:l.key,idx:s}}function lo(l,s,i=null,r){return{pathname:typeof l=="string"?l:l.pathname,search:"",hash:"",...typeof s=="string"?hl(s):s,state:i,key:s&&s.key||r||Bv()}}function xs({pathname:l="/",search:s="",hash:i=""}){return s&&s!=="?"&&(l+=s.charAt(0)==="?"?s:"?"+s),i&&i!=="#"&&(l+=i.charAt(0)==="#"?i:"#"+i),l}function hl(l){let s={};if(l){let i=l.indexOf("#");i>=0&&(s.hash=l.substring(i),l=l.substring(0,i));let r=l.indexOf("?");r>=0&&(s.search=l.substring(r),l=l.substring(0,r)),l&&(s.pathname=l)}return s}function Lv(l,s,i,r={}){let{window:f=document.defaultView,v5Compat:d=!1}=r,g=f.history,m="POP",y=null,v=b();v==null&&(v=0,g.replaceState({...g.state,idx:v},""));function b(){return(g.state||{idx:null}).idx}function A(){m="POP";let E=b(),T=E==null?null:E-v;v=E,y&&y({action:m,location:N.location,delta:T})}function R(E,T){m="PUSH";let O=lo(N.location,E,T);v=b()+1;let Q=lp(O,v),F=N.createHref(O);try{g.pushState(Q,"",F)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;f.location.assign(F)}d&&y&&y({action:m,location:N.location,delta:1})}function S(E,T){m="REPLACE";let O=lo(N.location,E,T);v=b();let Q=lp(O,v),F=N.createHref(O);g.replaceState(Q,"",F),d&&y&&y({action:m,location:N.location,delta:0})}function C(E){return Uv(E)}let N={get action(){return m},get location(){return l(f,g)},listen(E){if(y)throw new Error("A history only accepts one active listener");return f.addEventListener(ap,A),y=E,()=>{f.removeEventListener(ap,A),y=null}},createHref(E){return s(f,E)},createURL:C,encodeLocation(E){let T=C(E);return{pathname:T.pathname,search:T.search,hash:T.hash}},push:R,replace:S,go(E){return g.go(E)}};return N}function Uv(l,s=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Ve(i,"No window.location.(origin|href) available to create URL");let r=typeof l=="string"?l:xs(l);return r=r.replace(/ $/,"%20"),!s&&r.startsWith("//")&&(r=i+r),new URL(r,i)}function Yp(l,s,i="/"){return Hv(l,s,i,!1)}function Hv(l,s,i,r){let f=typeof s=="string"?hl(s):s,d=En(f.pathname||"/",i);if(d==null)return null;let g=Qp(l);Vv(g);let m=null;for(let y=0;m==null&&y{let b={relativePath:v===void 0?g.path||"":v,caseSensitive:g.caseSensitive===!0,childrenIndex:m,route:g};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(r)&&y)return;Ve(b.relativePath.startsWith(r),`Absolute route path "${b.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(r.length)}let A=qn([r,b.relativePath]),R=i.concat(b);g.children&&g.children.length>0&&(Ve(g.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${A}".`),Qp(g.children,s,R,A,y)),!(g.path==null&&!g.index)&&s.push({path:A,score:Jv(A,g.index),routesMeta:R})};return l.forEach((g,m)=>{if(g.path===""||!g.path?.includes("?"))d(g,m);else for(let y of Gp(g.path))d(g,m,!0,y)}),s}function Gp(l){let s=l.split("/");if(s.length===0)return[];let[i,...r]=s,f=i.endsWith("?"),d=i.replace(/\?$/,"");if(r.length===0)return f?[d,""]:[d];let g=Gp(r.join("/")),m=[];return m.push(...g.map(y=>y===""?d:[d,y].join("/"))),f&&m.push(...g),m.map(y=>l.startsWith("/")&&y===""?"/":y)}function Vv(l){l.sort((s,i)=>s.score!==i.score?i.score-s.score:$v(s.routesMeta.map(r=>r.childrenIndex),i.routesMeta.map(r=>r.childrenIndex)))}var Yv=/^:[\w-]+$/,Qv=3,Gv=2,Xv=1,Kv=10,Zv=-2,sp=l=>l==="*";function Jv(l,s){let i=l.split("/"),r=i.length;return i.some(sp)&&(r+=Zv),s&&(r+=Gv),i.filter(f=>!sp(f)).reduce((f,d)=>f+(Yv.test(d)?Qv:d===""?Xv:Kv),r)}function $v(l,s){return l.length===s.length&&l.slice(0,-1).every((r,f)=>r===s[f])?l[l.length-1]-s[s.length-1]:0}function Fv(l,s,i=!1){let{routesMeta:r}=l,f={},d="/",g=[];for(let m=0;m{if(b==="*"){let C=m[R]||"";g=d.slice(0,d.length-C.length).replace(/(.)\/+$/,"$1")}const S=m[R];return A&&!S?v[b]=void 0:v[b]=(S||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:g,pattern:l}}function Wv(l,s=!1,i=!0){Kt(l==="*"||!l.endsWith("*")||l.endsWith("/*"),`Route path "${l}" will be treated as if it were "${l.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${l.replace(/\*$/,"/*")}".`);let r=[],f="^"+l.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(g,m,y)=>(r.push({paramName:m,isOptional:y!=null}),y?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return l.endsWith("*")?(r.push({paramName:"*"}),f+=l==="*"||l==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?f+="\\/*$":l!==""&&l!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,s?void 0:"i"),r]}function Iv(l){try{return l.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return Kt(!1,`The URL path "${l}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${s}).`),l}}function En(l,s){if(s==="/")return l;if(!l.toLowerCase().startsWith(s.toLowerCase()))return null;let i=s.endsWith("/")?s.length-1:s.length,r=l.charAt(i);return r&&r!=="/"?null:l.slice(i)||"/"}var Pv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ex=l=>Pv.test(l);function tx(l,s="/"){let{pathname:i,search:r="",hash:f=""}=typeof l=="string"?hl(l):l,d;if(i)if(ex(i))d=i;else{if(i.includes("//")){let g=i;i=i.replace(/\/\/+/g,"/"),Kt(!1,`Pathnames cannot have embedded double slashes - normalizing ${g} -> ${i}`)}i.startsWith("/")?d=ip(i.substring(1),"/"):d=ip(i,s)}else d=s;return{pathname:d,search:lx(r),hash:sx(f)}}function ip(l,s){let i=s.replace(/\/+$/,"").split("/");return l.split("/").forEach(f=>{f===".."?i.length>1&&i.pop():f!=="."&&i.push(f)}),i.length>1?i.join("/"):"/"}function Yc(l,s,i,r){return`Cannot include a '${l}' character in a manually specified \`to.${s}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function nx(l){return l.filter((s,i)=>i===0||s.route.path&&s.route.path.length>0)}function Xp(l){let s=nx(l);return s.map((i,r)=>r===s.length-1?i.pathname:i.pathnameBase)}function Kp(l,s,i,r=!1){let f;typeof l=="string"?f=hl(l):(f={...l},Ve(!f.pathname||!f.pathname.includes("?"),Yc("?","pathname","search",f)),Ve(!f.pathname||!f.pathname.includes("#"),Yc("#","pathname","hash",f)),Ve(!f.search||!f.search.includes("#"),Yc("#","search","hash",f)));let d=l===""||f.pathname==="",g=d?"/":f.pathname,m;if(g==null)m=i;else{let A=s.length-1;if(!r&&g.startsWith("..")){let R=g.split("/");for(;R[0]==="..";)R.shift(),A-=1;f.pathname=R.join("/")}m=A>=0?s[A]:"/"}let y=tx(f,m),v=g&&g!=="/"&&g.endsWith("/"),b=(d||g===".")&&i.endsWith("/");return!y.pathname.endsWith("/")&&(v||b)&&(y.pathname+="/"),y}var qn=l=>l.join("/").replace(/\/\/+/g,"/"),ax=l=>l.replace(/\/+$/,"").replace(/^\/*/,"/"),lx=l=>!l||l==="?"?"":l.startsWith("?")?l:"?"+l,sx=l=>!l||l==="#"?"":l.startsWith("#")?l:"#"+l;function ix(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.internal=="boolean"&&"data"in l}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Zp=["POST","PUT","PATCH","DELETE"];new Set(Zp);var rx=["GET",...Zp];new Set(rx);var ml=p.createContext(null);ml.displayName="DataRouter";var mr=p.createContext(null);mr.displayName="DataRouterState";p.createContext(!1);var Jp=p.createContext({isTransitioning:!1});Jp.displayName="ViewTransition";var ux=p.createContext(new Map);ux.displayName="Fetchers";var cx=p.createContext(null);cx.displayName="Await";var Pt=p.createContext(null);Pt.displayName="Navigation";var js=p.createContext(null);js.displayName="Location";var Nn=p.createContext({outlet:null,matches:[],isDataRoute:!1});Nn.displayName="Route";var bo=p.createContext(null);bo.displayName="RouteError";function ox(l,{relative:s}={}){Ve(Es(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:r}=p.useContext(Pt),{hash:f,pathname:d,search:g}=Ns(l,{relative:s}),m=d;return i!=="/"&&(m=d==="/"?i:qn([i,d])),r.createHref({pathname:m,search:g,hash:f})}function Es(){return p.useContext(js)!=null}function qa(){return Ve(Es(),"useLocation() may be used only in the context of a component."),p.useContext(js).location}var $p="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Fp(l){p.useContext(Pt).static||p.useLayoutEffect(l)}function fx(){let{isDataRoute:l}=p.useContext(Nn);return l?jx():dx()}function dx(){Ve(Es(),"useNavigate() may be used only in the context of a component.");let l=p.useContext(ml),{basename:s,navigator:i}=p.useContext(Pt),{matches:r}=p.useContext(Nn),{pathname:f}=qa(),d=JSON.stringify(Xp(r)),g=p.useRef(!1);return Fp(()=>{g.current=!0}),p.useCallback((y,v={})=>{if(Kt(g.current,$p),!g.current)return;if(typeof y=="number"){i.go(y);return}let b=Kp(y,JSON.parse(d),f,v.relative==="path");l==null&&s!=="/"&&(b.pathname=b.pathname==="/"?s:qn([s,b.pathname])),(v.replace?i.replace:i.push)(b,v.state,v)},[s,i,d,f,l])}p.createContext(null);function Ns(l,{relative:s}={}){let{matches:i}=p.useContext(Nn),{pathname:r}=qa(),f=JSON.stringify(Xp(i));return p.useMemo(()=>Kp(l,JSON.parse(f),r,s==="path"),[l,f,r,s])}function hx(l,s){return Wp(l,s)}function Wp(l,s,i,r,f){Ve(Es(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=p.useContext(Pt),{matches:g}=p.useContext(Nn),m=g[g.length-1],y=m?m.params:{},v=m?m.pathname:"/",b=m?m.pathnameBase:"/",A=m&&m.route;{let O=A&&A.path||"";Ip(v,!A||O.endsWith("*")||O.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+a.stack}}var yl=Object.prototype.hasOwnProperty,Sr=l.unstable_scheduleCallback,qr=l.unstable_cancelCallback,lg=l.unstable_shouldYield,sg=l.unstable_requestPaint,bt=l.unstable_now,ig=l.unstable_getCurrentPriorityLevel,Zo=l.unstable_ImmediatePriority,Jo=l.unstable_UserBlockingPriority,Ts=l.unstable_NormalPriority,rg=l.unstable_LowPriority,$o=l.unstable_IdlePriority,ug=l.log,cg=l.unstable_setDisableYieldValue,vl=null,At=null;function wn(e){if(typeof ug=="function"&&cg(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(vl,e)}catch{}}var St=Math.clz32?Math.clz32:dg,og=Math.log,fg=Math.LN2;function dg(e){return e>>>=0,e===0?32:31-(og(e)/fg|0)|0}var Ms=256,Rs=262144,_s=4194304;function ta(e){var t=e&42;if(t!==0)return t;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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Os(e,t,n){var a=e.pendingLanes;if(a===0)return 0;var u=0,c=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var x=a&134217727;return x!==0?(a=x&~c,a!==0?u=ta(a):(h&=x,h!==0?u=ta(h):n||(n=x&~e,n!==0&&(u=ta(n))))):(x=a&~c,x!==0?u=ta(x):h!==0?u=ta(h):n||(n=a&~e,n!==0&&(u=ta(n)))),u===0?0:t!==0&&t!==u&&(t&c)===0&&(c=u&-u,n=t&-t,c>=n||c===32&&(n&4194048)!==0)?t:u}function xl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function hg(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Fo(){var e=_s;return _s<<=1,(_s&62914560)===0&&(_s=4194304),e}function jr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function mg(e,t,n,a,u,c){var h=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var x=e.entanglements,j=e.expirationTimes,k=e.hiddenUpdates;for(n=h&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var bg=/[\n"\\]/g;function Rt(e){return e.replace(bg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Mr(e,t,n,a,u,c,h,x){e.name="",h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.type=h:e.removeAttribute("type"),t!=null?h==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Mt(t)):e.value!==""+Mt(t)&&(e.value=""+Mt(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?Rr(e,h,Mt(t)):n!=null?Rr(e,h,Mt(n)):a!=null&&e.removeAttribute("value"),u==null&&c!=null&&(e.defaultChecked=!!c),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?e.name=""+Mt(x):e.removeAttribute("name")}function of(e,t,n,a,u,c,h,x){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||n!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){Tr(e);return}n=n!=null?""+Mt(n):"",t=t!=null?""+Mt(t):n,x||t===e.value||(e.value=t),e.defaultValue=t}a=a??u,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=x?e.checked:!!a,e.defaultChecked=!!a,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h),Tr(e)}function Rr(e,t,n){t==="number"&&zs(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ma(e,t,n,a){if(e=e.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),zr=!1;if(ln)try{var jl={};Object.defineProperty(jl,"passive",{get:function(){zr=!0}}),window.addEventListener("test",jl,jl),window.removeEventListener("test",jl,jl)}catch{zr=!1}var Mn=null,Br=null,Ls=null;function yf(){if(Ls)return Ls;var e,t=Br,n=t.length,a,u="value"in Mn?Mn.value:Mn.textContent,c=u.length;for(e=0;e=Cl),qf=" ",jf=!1;function Ef(e,t){switch(e){case"keyup":return Jg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Nf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Da=!1;function Fg(e,t){switch(e){case"compositionend":return Nf(t);case"keypress":return t.which!==32?null:(jf=!0,qf);case"textInput":return e=t.data,e===qf&&jf?null:e;default:return null}}function Wg(e,t){if(Da)return e==="compositionend"||!Yr&&Ef(e,t)?(e=yf(),Ls=Br=Mn=null,Da=!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)return{node:n,offset:t-e};e=a}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Df(n)}}function zf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?zf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Bf(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=zs(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=zs(e.document)}return t}function Xr(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")}var sy=ln&&"documentMode"in document&&11>=document.documentMode,ka=null,Kr=null,Rl=null,Zr=!1;function Lf(e,t,n){var a=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Zr||ka==null||ka!==zs(a)||(a=ka,"selectionStart"in a&&Xr(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),Rl&&Ml(Rl,a)||(Rl=a,a=Ri(Kr,"onSelect"),0>=h,u-=h,Zt=1<<32-St(t)+u|n<pe?(be=ie,ie=null):be=ie.sibling;var Ee=B(_,ie,D[pe],Y);if(Ee===null){ie===null&&(ie=be);break}e&&ie&&Ee.alternate===null&&t(_,ie),w=c(Ee,w,pe),je===null?ce=Ee:je.sibling=Ee,je=Ee,ie=be}if(pe===D.length)return n(_,ie),Se&&rn(_,pe),ce;if(ie===null){for(;pepe?(be=ie,ie=null):be=ie.sibling;var In=B(_,ie,Ee.value,Y);if(In===null){ie===null&&(ie=be);break}e&&ie&&In.alternate===null&&t(_,ie),w=c(In,w,pe),je===null?ce=In:je.sibling=In,je=In,ie=be}if(Ee.done)return n(_,ie),Se&&rn(_,pe),ce;if(ie===null){for(;!Ee.done;pe++,Ee=D.next())Ee=G(_,Ee.value,Y),Ee!==null&&(w=c(Ee,w,pe),je===null?ce=Ee:je.sibling=Ee,je=Ee);return Se&&rn(_,pe),ce}for(ie=a(ie);!Ee.done;pe++,Ee=D.next())Ee=L(ie,_,pe,Ee.value,Y),Ee!==null&&(e&&Ee.alternate!==null&&ie.delete(Ee.key===null?pe:Ee.key),w=c(Ee,w,pe),je===null?ce=Ee:je.sibling=Ee,je=Ee);return e&&ie.forEach(function(Ev){return t(_,Ev)}),Se&&rn(_,pe),ce}function _e(_,w,D,Y){if(typeof D=="object"&&D!==null&&D.type===N&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case S:e:{for(var ce=D.key;w!==null;){if(w.key===ce){if(ce=D.type,ce===N){if(w.tag===7){n(_,w.sibling),Y=u(w,D.props.children),Y.return=_,_=Y;break e}}else if(w.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===K&&da(ce)===w.type){n(_,w.sibling),Y=u(w,D.props),Bl(Y,D),Y.return=_,_=Y;break e}n(_,w);break}else t(_,w);w=w.sibling}D.type===N?(Y=ra(D.props.children,_.mode,Y,D.key),Y.return=_,_=Y):(Y=Js(D.type,D.key,D.props,null,_.mode,Y),Bl(Y,D),Y.return=_,_=Y)}return h(_);case C:e:{for(ce=D.key;w!==null;){if(w.key===ce)if(w.tag===4&&w.stateNode.containerInfo===D.containerInfo&&w.stateNode.implementation===D.implementation){n(_,w.sibling),Y=u(w,D.children||[]),Y.return=_,_=Y;break e}else{n(_,w);break}else t(_,w);w=w.sibling}Y=eu(D,_.mode,Y),Y.return=_,_=Y}return h(_);case K:return D=da(D),_e(_,w,D,Y)}if(te(D))return le(_,w,D,Y);if(fe(D)){if(ce=fe(D),typeof ce!="function")throw Error(r(150));return D=ce.call(D),oe(_,w,D,Y)}if(typeof D.then=="function")return _e(_,w,ti(D),Y);if(D.$$typeof===Q)return _e(_,w,Ws(_,D),Y);ni(_,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,w!==null&&w.tag===6?(n(_,w.sibling),Y=u(w,D),Y.return=_,_=Y):(n(_,w),Y=Pr(D,_.mode,Y),Y.return=_,_=Y),h(_)):n(_,w)}return function(_,w,D,Y){try{zl=0;var ce=_e(_,w,D,Y);return Ka=null,ce}catch(ie){if(ie===Xa||ie===Ps)throw ie;var je=jt(29,ie,null,_.mode);return je.lanes=Y,je.return=_,je}finally{}}}var ma=rd(!0),ud=rd(!1),kn=!1;function du(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function hu(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function zn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Bn(e,t,n){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(Ce&2)!==0){var u=a.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),a.pending=t,t=Zs(e),Xf(e,null,n),t}return Ks(e,a,t,n),Zs(e)}function Ll(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Io(e,n)}}function mu(e,t){var n=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,n===a)){var u=null,c=null;if(n=n.firstBaseUpdate,n!==null){do{var h={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};c===null?u=c=h:c=c.next=h,n=n.next}while(n!==null);c===null?u=c=t:c=c.next=t}else u=c=t;n={baseState:a.baseState,firstBaseUpdate:u,lastBaseUpdate:c,shared:a.shared,callbacks:a.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var pu=!1;function Ul(){if(pu){var e=Ga;if(e!==null)throw e}}function Hl(e,t,n,a){pu=!1;var u=e.updateQueue;kn=!1;var c=u.firstBaseUpdate,h=u.lastBaseUpdate,x=u.shared.pending;if(x!==null){u.shared.pending=null;var j=x,k=j.next;j.next=null,h===null?c=k:h.next=k,h=j;var H=e.alternate;H!==null&&(H=H.updateQueue,x=H.lastBaseUpdate,x!==h&&(x===null?H.firstBaseUpdate=k:x.next=k,H.lastBaseUpdate=j))}if(c!==null){var G=u.baseState;h=0,H=k=j=null,x=c;do{var B=x.lane&-536870913,L=B!==x.lane;if(L?(xe&B)===B:(a&B)===B){B!==0&&B===Qa&&(pu=!0),H!==null&&(H=H.next={lane:0,tag:x.tag,payload:x.payload,callback:null,next:null});e:{var le=e,oe=x;B=t;var _e=n;switch(oe.tag){case 1:if(le=oe.payload,typeof le=="function"){G=le.call(_e,G,B);break e}G=le;break e;case 3:le.flags=le.flags&-65537|128;case 0:if(le=oe.payload,B=typeof le=="function"?le.call(_e,G,B):le,B==null)break e;G=A({},G,B);break e;case 2:kn=!0}}B=x.callback,B!==null&&(e.flags|=64,L&&(e.flags|=8192),L=u.callbacks,L===null?u.callbacks=[B]:L.push(B))}else L={lane:B,tag:x.tag,payload:x.payload,callback:x.callback,next:null},H===null?(k=H=L,j=G):H=H.next=L,h|=B;if(x=x.next,x===null){if(x=u.shared.pending,x===null)break;L=x,x=L.next,L.next=null,u.lastBaseUpdate=L,u.shared.pending=null}}while(!0);H===null&&(j=G),u.baseState=j,u.firstBaseUpdate=k,u.lastBaseUpdate=H,c===null&&(u.shared.lanes=0),Yn|=h,e.lanes=h,e.memoizedState=G}}function cd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function od(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ec?c:8;var h=M.T,x={};M.T=x,Du(e,!1,t,n);try{var j=u(),k=M.S;if(k!==null&&k(x,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var H=my(j,a);Ql(e,t,H,Tt(e))}else Ql(e,t,a,Tt(e))}catch(G){Ql(e,t,{then:function(){},status:"rejected",reason:G},Tt())}finally{z.p=c,h!==null&&x.types!==null&&(h.types=x.types),M.T=h}}function by(){}function _u(e,t,n,a){if(e.tag!==5)throw Error(r(476));var u=Yd(e).queue;Vd(e,u,t,$,n===null?by:function(){return Qd(e),n(a)})}function Yd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:$},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Qd(e){var t=Yd(e);t.next===null&&(t=e.alternate.memoizedState),Ql(e,t.next.queue,{},Tt())}function Ou(){return it(is)}function Gd(){return Je().memoizedState}function Xd(){return Je().memoizedState}function Ay(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Tt();e=zn(n);var a=Bn(t,e,n);a!==null&&(vt(a,t,n),Ll(a,t,n)),t={cache:uu()},e.payload=t;return}t=t.return}}function Sy(e,t,n){var a=Tt();n={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},di(e)?Zd(t,n):(n=Wr(e,t,n,a),n!==null&&(vt(n,e,a),Jd(n,t,a)))}function Kd(e,t,n){var a=Tt();Ql(e,t,n,a)}function Ql(e,t,n,a){var u={lane:a,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(di(e))Zd(t,u);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var h=t.lastRenderedState,x=c(h,n);if(u.hasEagerState=!0,u.eagerState=x,qt(x,h))return Ks(e,t,u,0),De===null&&Xs(),!1}catch{}finally{}if(n=Wr(e,t,u,a),n!==null)return vt(n,e,a),Jd(n,t,a),!0}return!1}function Du(e,t,n,a){if(a={lane:2,revertLane:dc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},di(e)){if(t)throw Error(r(479))}else t=Wr(e,n,a,2),t!==null&&vt(t,e,2)}function di(e){var t=e.alternate;return e===me||t!==null&&t===me}function Zd(e,t){Ja=si=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Jd(e,t,n){if((n&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,n|=a,t.lanes=n,Io(e,n)}}var Gl={readContext:it,use:ui,useCallback:Ge,useContext:Ge,useEffect:Ge,useImperativeHandle:Ge,useLayoutEffect:Ge,useInsertionEffect:Ge,useMemo:Ge,useReducer:Ge,useRef:Ge,useState:Ge,useDebugValue:Ge,useDeferredValue:Ge,useTransition:Ge,useSyncExternalStore:Ge,useId:Ge,useHostTransitionStatus:Ge,useFormState:Ge,useActionState:Ge,useOptimistic:Ge,useMemoCache:Ge,useCacheRefresh:Ge};Gl.useEffectEvent=Ge;var $d={readContext:it,use:ui,useCallback:function(e,t){return ft().memoizedState=[e,t===void 0?null:t],e},useContext:it,useEffect:_d,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,oi(4194308,4,zd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return oi(4194308,4,e,t)},useInsertionEffect:function(e,t){oi(4,2,e,t)},useMemo:function(e,t){var n=ft();t=t===void 0?null:t;var a=e();if(pa){wn(!0);try{e()}finally{wn(!1)}}return n.memoizedState=[a,t],a},useReducer:function(e,t,n){var a=ft();if(n!==void 0){var u=n(t);if(pa){wn(!0);try{n(t)}finally{wn(!1)}}}else u=t;return a.memoizedState=a.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},a.queue=e,e=e.dispatch=Sy.bind(null,me,e),[a.memoizedState,e]},useRef:function(e){var t=ft();return e={current:e},t.memoizedState=e},useState:function(e){e=Cu(e);var t=e.queue,n=Kd.bind(null,me,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Mu,useDeferredValue:function(e,t){var n=ft();return Ru(n,e,t)},useTransition:function(){var e=Cu(!1);return e=Vd.bind(null,me,e.queue,!0,!1),ft().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var a=me,u=ft();if(Se){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),De===null)throw Error(r(349));(xe&127)!==0||gd(a,t,n)}u.memoizedState=n;var c={value:n,getSnapshot:t};return u.queue=c,_d(vd.bind(null,a,c,e),[e]),a.flags|=2048,Fa(9,{destroy:void 0},yd.bind(null,a,c,n,t),null),n},useId:function(){var e=ft(),t=De.identifierPrefix;if(Se){var n=Jt,a=Zt;n=(a&~(1<<32-St(a)-1)).toString(32)+n,t="_"+t+"R_"+n,n=ii++,0<\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof a.is=="string"?h.createElement("select",{is:a.is}):h.createElement("select"),a.multiple?c.multiple=!0:a.size&&(c.size=a.size);break;default:c=typeof a.is=="string"?h.createElement(u,{is:a.is}):h.createElement(u)}}c[lt]=t,c[dt]=a;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)c.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=c;e:switch(ut(c,u,a),u){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&hn(t)}}return Be(t),Ju(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&hn(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(r(166));if(e=re.current,Va(t)){if(e=t.stateNode,n=t.memoizedProps,a=null,u=st,u!==null)switch(u.tag){case 27:case 5:a=u.memoizedProps}e[lt]=t,e=!!(e.nodeValue===n||a!==null&&a.suppressHydrationWarning===!0||mm(e.nodeValue,n)),e||On(t,!0)}else e=_i(e).createTextNode(a),e[lt]=t,t.stateNode=e}return Be(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(a=Va(t),n!==null){if(e===null){if(!a)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[lt]=t}else ua(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Be(t),e=!1}else n=lu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Nt(t),t):(Nt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return Be(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=Va(t),a!==null&&a.dehydrated!==null){if(e===null){if(!u)throw Error(r(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(r(317));u[lt]=t}else ua(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Be(t),u=!1}else u=lu(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(Nt(t),t):(Nt(t),null)}return Nt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=a!==null,e=e!==null&&e.memoizedState!==null,n&&(a=t.child,u=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(u=a.alternate.memoizedState.cachePool.pool),c=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(c=a.memoizedState.cachePool.pool),c!==u&&(a.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),yi(t,t.updateQueue),Be(t),null);case 4:return Oe(),e===null&&gc(t.stateNode.containerInfo),Be(t),null;case 10:return cn(t.type),Be(t),null;case 19:if(U(Ze),a=t.memoizedState,a===null)return Be(t),null;if(u=(t.flags&128)!==0,c=a.rendering,c===null)if(u)Kl(a,!1);else{if(Xe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=li(e),c!==null){for(t.flags|=128,Kl(a,!1),e=c.updateQueue,t.updateQueue=e,yi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Kf(n,e),n=n.sibling;return X(Ze,Ze.current&1|2),Se&&rn(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&bt()>Si&&(t.flags|=128,u=!0,Kl(a,!1),t.lanes=4194304)}else{if(!u)if(e=li(c),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,yi(t,e),Kl(a,!0),a.tail===null&&a.tailMode==="hidden"&&!c.alternate&&!Se)return Be(t),null}else 2*bt()-a.renderingStartTime>Si&&n!==536870912&&(t.flags|=128,u=!0,Kl(a,!1),t.lanes=4194304);a.isBackwards?(c.sibling=t.child,t.child=c):(e=a.last,e!==null?e.sibling=c:t.child=c,a.last=c)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=bt(),e.sibling=null,n=Ze.current,X(Ze,u?n&1|2:n&1),Se&&rn(t,a.treeForkCount),e):(Be(t),null);case 22:case 23:return Nt(t),yu(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(n&536870912)!==0&&(t.flags&128)===0&&(Be(t),t.subtreeFlags&6&&(t.flags|=8192)):Be(t),n=t.updateQueue,n!==null&&yi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==n&&(t.flags|=2048),e!==null&&U(fa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),cn($e),Be(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Cy(e,t){switch(nu(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return cn($e),Oe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Cn(t),null;case 31:if(t.memoizedState!==null){if(Nt(t),t.alternate===null)throw Error(r(340));ua()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Nt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ua()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return U(Ze),null;case 4:return Oe(),null;case 10:return cn(t.type),null;case 22:case 23:return Nt(t),yu(),e!==null&&U(fa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return cn($e),null;case 25:return null;default:return null}}function xh(e,t){switch(nu(t),t.tag){case 3:cn($e),Oe();break;case 26:case 27:case 5:Cn(t);break;case 4:Oe();break;case 31:t.memoizedState!==null&&Nt(t);break;case 13:Nt(t);break;case 19:U(Ze);break;case 10:cn(t.type);break;case 22:case 23:Nt(t),yu(),e!==null&&U(fa);break;case 24:cn($e)}}function Zl(e,t){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var u=a.next;n=u;do{if((n.tag&e)===e){a=void 0;var c=n.create,h=n.inst;a=c(),h.destroy=a}n=n.next}while(n!==u)}}catch(x){Te(t,t.return,x)}}function Hn(e,t,n){try{var a=t.updateQueue,u=a!==null?a.lastEffect:null;if(u!==null){var c=u.next;a=c;do{if((a.tag&e)===e){var h=a.inst,x=h.destroy;if(x!==void 0){h.destroy=void 0,u=t;var j=n,k=x;try{k()}catch(H){Te(u,j,H)}}}a=a.next}while(a!==c)}}catch(H){Te(t,t.return,H)}}function bh(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{od(t,n)}catch(a){Te(e,e.return,a)}}}function Ah(e,t,n){n.props=ga(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(a){Te(e,t,a)}}function Jl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof n=="function"?e.refCleanup=n(a):n.current=a}}catch(u){Te(e,t,u)}}function $t(e,t){var n=e.ref,a=e.refCleanup;if(n!==null)if(typeof a=="function")try{a()}catch(u){Te(e,t,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(u){Te(e,t,u)}else n.current=null}function Sh(e){var t=e.type,n=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&a.focus();break e;case"img":n.src?a.src=n.src:n.srcSet&&(a.srcset=n.srcSet)}}catch(u){Te(e,e.return,u)}}function $u(e,t,n){try{var a=e.stateNode;$y(a,e.type,n,t),a[dt]=t}catch(u){Te(e,e.return,u)}}function qh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zn(e.type)||e.tag===4}function Fu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||qh(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.tag===27&&Zn(e.type)||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 Wu(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=an));else if(a!==4&&(a===27&&Zn(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Wu(e,t,n),e=e.sibling;e!==null;)Wu(e,t,n),e=e.sibling}function vi(e,t,n){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(a!==4&&(a===27&&Zn(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(vi(e,t,n),e=e.sibling;e!==null;)vi(e,t,n),e=e.sibling}function jh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var a=e.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);ut(t,a,n),t[lt]=e,t[dt]=n}catch(c){Te(e,e.return,c)}}var mn=!1,Ie=!1,Iu=!1,Eh=typeof WeakSet=="function"?WeakSet:Set,at=null;function wy(e,t){if(e=e.containerInfo,xc=Ui,e=Bf(e),Xr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var a=n.getSelection&&n.getSelection();if(a&&a.rangeCount!==0){n=a.anchorNode;var u=a.anchorOffset,c=a.focusNode;a=a.focusOffset;try{n.nodeType,c.nodeType}catch{n=null;break e}var h=0,x=-1,j=-1,k=0,H=0,G=e,B=null;t:for(;;){for(var L;G!==n||u!==0&&G.nodeType!==3||(x=h+u),G!==c||a!==0&&G.nodeType!==3||(j=h+a),G.nodeType===3&&(h+=G.nodeValue.length),(L=G.firstChild)!==null;)B=G,G=L;for(;;){if(G===e)break t;if(B===n&&++k===u&&(x=h),B===c&&++H===a&&(j=h),(L=G.nextSibling)!==null)break;G=B,B=G.parentNode}G=L}n=x===-1||j===-1?null:{start:x,end:j}}else n=null}n=n||{start:0,end:0}}else n=null;for(bc={focusedElem:e,selectionRange:n},Ui=!1,at=t;at!==null;)if(t=at,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,at=e;else for(;at!==null;){switch(t=at,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),ut(c,a,n),c[lt]=e,nt(c),a=c;break e;case"link":var h=Rm("link","href",u).get(a+(n.href||""));if(h){for(var x=0;x_e&&(h=_e,_e=oe,oe=h);var _=kf(x,oe),w=kf(x,_e);if(_&&w&&(L.rangeCount!==1||L.anchorNode!==_.node||L.anchorOffset!==_.offset||L.focusNode!==w.node||L.focusOffset!==w.offset)){var D=G.createRange();D.setStart(_.node,_.offset),L.removeAllRanges(),oe>_e?(L.addRange(D),L.extend(w.node,w.offset)):(D.setEnd(w.node,w.offset),L.addRange(D))}}}}for(G=[],L=x;L=L.parentNode;)L.nodeType===1&&G.push({element:L,left:L.scrollLeft,top:L.scrollTop});for(typeof x.focus=="function"&&x.focus(),x=0;xn?32:n,M.T=null,n=sc,sc=null;var c=Gn,h=xn;if(tt=0,tl=Gn=null,xn=0,(Ce&6)!==0)throw Error(r(331));var x=Ce;if(Ce|=4,zh(c.current),Oh(c,c.current,h,n),Ce=x,es(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(vl,c)}catch{}return!0}finally{z.p=u,M.T=a,em(e,t)}}function nm(e,t,n){t=Ot(n,t),t=Lu(e.stateNode,t,2),e=Bn(e,t,2),e!==null&&(bl(e,2),Ft(e))}function Te(e,t,n){if(e.tag===3)nm(e,e,n);else for(;t!==null;){if(t.tag===3){nm(t,e,n);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Qn===null||!Qn.has(a))){e=Ot(n,e),n=ah(2),a=Bn(t,n,2),a!==null&&(lh(n,a,t,e),bl(a,2),Ft(a));break}}t=t.return}}function cc(e,t,n){var a=e.pingCache;if(a===null){a=e.pingCache=new Ry;var u=new Set;a.set(t,u)}else u=a.get(t),u===void 0&&(u=new Set,a.set(t,u));u.has(n)||(tc=!0,u.add(n),e=zy.bind(null,e,t,n),t.then(e,e))}function zy(e,t,n){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,De===e&&(xe&n)===n&&(Xe===4||Xe===3&&(xe&62914560)===xe&&300>bt()-Ai?(Ce&2)===0&&nl(e,0):nc|=n,el===xe&&(el=0)),Ft(e)}function am(e,t){t===0&&(t=Fo()),e=ia(e,t),e!==null&&(bl(e,t),Ft(e))}function By(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),am(e,n)}function Ly(e,t){var n=0;switch(e.tag){case 31:case 13:var a=e.stateNode,u=e.memoizedState;u!==null&&(n=u.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(r(314))}a!==null&&a.delete(t),am(e,n)}function Uy(e,t){return Sr(e,t)}var wi=null,ll=null,oc=!1,Ti=!1,fc=!1,Kn=0;function Ft(e){e!==ll&&e.next===null&&(ll===null?wi=ll=e:ll=ll.next=e),Ti=!0,oc||(oc=!0,Vy())}function es(e,t){if(!fc&&Ti){fc=!0;do for(var n=!1,a=wi;a!==null;){if(e!==0){var u=a.pendingLanes;if(u===0)var c=0;else{var h=a.suspendedLanes,x=a.pingedLanes;c=(1<<31-St(42|e)+1)-1,c&=u&~(h&~x),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(n=!0,rm(a,c))}else c=xe,c=Os(a,a===De?c:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(c&3)===0||xl(a,c)||(n=!0,rm(a,c));a=a.next}while(n);fc=!1}}function Hy(){lm()}function lm(){Ti=oc=!1;var e=0;Kn!==0&&Wy()&&(e=Kn);for(var t=bt(),n=null,a=wi;a!==null;){var u=a.next,c=sm(a,t);c===0?(a.next=null,n===null?wi=u:n.next=u,u===null&&(ll=n)):(n=a,(e!==0||(c&3)!==0)&&(Ti=!0)),a=u}tt!==0&&tt!==5||es(e),Kn!==0&&(Kn=0)}function sm(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,u=e.expirationTimes,c=e.pendingLanes&-62914561;0x)break;var H=j.transferSize,G=j.initiatorType;H&&pm(G)&&(j=j.responseEnd,h+=H*(j"u"?null:document;function Cm(e,t,n){var a=sl;if(a&&typeof t=="string"&&t){var u=Rt(t);u='link[rel="'+e+'"][href="'+u+'"]',typeof n=="string"&&(u+='[crossorigin="'+n+'"]'),Nm.has(u)||(Nm.add(u),e={rel:e,crossOrigin:n,href:t},a.querySelector(u)===null&&(t=a.createElement("link"),ut(t,"link",e),nt(t),a.head.appendChild(t)))}}function iv(e){bn.D(e),Cm("dns-prefetch",e,null)}function rv(e,t){bn.C(e,t),Cm("preconnect",e,t)}function uv(e,t,n){bn.L(e,t,n);var a=sl;if(a&&e&&t){var u='link[rel="preload"][as="'+Rt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(u+='[imagesrcset="'+Rt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(u+='[imagesizes="'+Rt(n.imageSizes)+'"]')):u+='[href="'+Rt(e)+'"]';var c=u;switch(t){case"style":c=il(e);break;case"script":c=rl(e)}Ut.has(c)||(e=A({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Ut.set(c,e),a.querySelector(u)!==null||t==="style"&&a.querySelector(ls(c))||t==="script"&&a.querySelector(ss(c))||(t=a.createElement("link"),ut(t,"link",e),nt(t),a.head.appendChild(t)))}}function cv(e,t){bn.m(e,t);var n=sl;if(n&&e){var a=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+Rt(a)+'"][href="'+Rt(e)+'"]',c=u;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=rl(e)}if(!Ut.has(c)&&(e=A({rel:"modulepreload",href:e},t),Ut.set(c,e),n.querySelector(u)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ss(c)))return}a=n.createElement("link"),ut(a,"link",e),nt(a),n.head.appendChild(a)}}}function ov(e,t,n){bn.S(e,t,n);var a=sl;if(a&&e){var u=wa(a).hoistableStyles,c=il(e);t=t||"default";var h=u.get(c);if(!h){var x={loading:0,preload:null};if(h=a.querySelector(ls(c)))x.loading=5;else{e=A({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Ut.get(c))&&Cc(e,n);var j=h=a.createElement("link");nt(j),ut(j,"link",e),j._p=new Promise(function(k,H){j.onload=k,j.onerror=H}),j.addEventListener("load",function(){x.loading|=1}),j.addEventListener("error",function(){x.loading|=2}),x.loading|=4,Di(h,t,a)}h={type:"stylesheet",instance:h,count:1,state:x},u.set(c,h)}}}function fv(e,t){bn.X(e,t);var n=sl;if(n&&e){var a=wa(n).hoistableScripts,u=rl(e),c=a.get(u);c||(c=n.querySelector(ss(u)),c||(e=A({src:e,async:!0},t),(t=Ut.get(u))&&wc(e,t),c=n.createElement("script"),nt(c),ut(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},a.set(u,c))}}function dv(e,t){bn.M(e,t);var n=sl;if(n&&e){var a=wa(n).hoistableScripts,u=rl(e),c=a.get(u);c||(c=n.querySelector(ss(u)),c||(e=A({src:e,async:!0,type:"module"},t),(t=Ut.get(u))&&wc(e,t),c=n.createElement("script"),nt(c),ut(c,"link",e),n.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},a.set(u,c))}}function wm(e,t,n,a){var u=(u=re.current)?Oi(u):null;if(!u)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=il(n.href),n=wa(u).hoistableStyles,a=n.get(t),a||(a={type:"style",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=il(n.href);var c=wa(u).hoistableStyles,h=c.get(e);if(h||(u=u.ownerDocument||u,h={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,h),(c=u.querySelector(ls(e)))&&!c._p&&(h.instance=c,h.state.loading=5),Ut.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ut.set(e,n),c||hv(u,e,n,h.state))),t&&a===null)throw Error(r(528,""));return h}if(t&&a!==null)throw Error(r(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rl(n),n=wa(u).hoistableScripts,a=n.get(t),a||(a={type:"script",instance:null,count:0,state:null},n.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function il(e){return'href="'+Rt(e)+'"'}function ls(e){return'link[rel="stylesheet"]['+e+"]"}function Tm(e){return A({},e,{"data-precedence":e.precedence,precedence:null})}function hv(e,t,n,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),ut(t,"link",n),nt(t),e.head.appendChild(t))}function rl(e){return'[src="'+Rt(e)+'"]'}function ss(e){return"script[async]"+e}function Mm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+Rt(n.href)+'"]');if(a)return t.instance=a,nt(a),a;var u=A({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),nt(a),ut(a,"style",u),Di(a,n.precedence,e),t.instance=a;case"stylesheet":u=il(n.href);var c=e.querySelector(ls(u));if(c)return t.state.loading|=4,t.instance=c,nt(c),c;a=Tm(n),(u=Ut.get(u))&&Cc(a,u),c=(e.ownerDocument||e).createElement("link"),nt(c);var h=c;return h._p=new Promise(function(x,j){h.onload=x,h.onerror=j}),ut(c,"link",a),t.state.loading|=4,Di(c,n.precedence,e),t.instance=c;case"script":return c=rl(n.src),(u=e.querySelector(ss(c)))?(t.instance=u,nt(u),u):(a=n,(u=Ut.get(c))&&(a=A({},n),wc(a,u)),e=e.ownerDocument||e,u=e.createElement("script"),nt(u),ut(u,"link",a),e.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Di(a,n.precedence,e));return t.instance}function Di(e,t,n){for(var a=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=a.length?a[a.length-1]:null,c=u,h=0;h title"):null)}function mv(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Om(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function pv(e,t,n,a){if(n.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var u=il(a.href),c=t.querySelector(ls(u));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=zi.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=c,nt(c);return}c=t.ownerDocument||t,a=Tm(a),(u=Ut.get(u))&&Cc(a,u),c=c.createElement("link"),nt(c);var h=c;h._p=new Promise(function(x,j){h.onload=x,h.onerror=j}),ut(c,"link",a),n.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=zi.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Tc=0;function gv(e,t){return e.stylesheets&&e.count===0&&Li(e,e.stylesheets),0Tc?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(u)}}:null}function zi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Li(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Bi=null;function Li(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Bi=new Map,t.forEach(yv,e),Bi=null,zi.call(e))}function yv(e,t){if(!(t.state.loading&4)){var n=Bi.get(e);if(n)var a=n.get(null);else{n=new Map,Bi.set(e,n);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(l)}catch(s){console.error(s)}}return l(),Lc.exports=Dv(),Lc.exports}var zv=kv();var ap="popstate";function Bv(l={}){function s(r,f){let{pathname:d,search:g,hash:m}=r.location;return lo("",{pathname:d,search:g,hash:m},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(r,f){return typeof f=="string"?f:xs(f)}return Uv(s,i,null,l)}function Ve(l,s){if(l===!1||l===null||typeof l>"u")throw new Error(s)}function Kt(l,s){if(!l){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function Lv(){return Math.random().toString(36).substring(2,10)}function lp(l,s){return{usr:l.state,key:l.key,idx:s}}function lo(l,s,i=null,r){return{pathname:typeof l=="string"?l:l.pathname,search:"",hash:"",...typeof s=="string"?hl(s):s,state:i,key:s&&s.key||r||Lv()}}function xs({pathname:l="/",search:s="",hash:i=""}){return s&&s!=="?"&&(l+=s.charAt(0)==="?"?s:"?"+s),i&&i!=="#"&&(l+=i.charAt(0)==="#"?i:"#"+i),l}function hl(l){let s={};if(l){let i=l.indexOf("#");i>=0&&(s.hash=l.substring(i),l=l.substring(0,i));let r=l.indexOf("?");r>=0&&(s.search=l.substring(r),l=l.substring(0,r)),l&&(s.pathname=l)}return s}function Uv(l,s,i,r={}){let{window:f=document.defaultView,v5Compat:d=!1}=r,g=f.history,m="POP",y=null,v=b();v==null&&(v=0,g.replaceState({...g.state,idx:v},""));function b(){return(g.state||{idx:null}).idx}function A(){m="POP";let E=b(),T=E==null?null:E-v;v=E,y&&y({action:m,location:N.location,delta:T})}function R(E,T){m="PUSH";let O=lo(N.location,E,T);v=b()+1;let Q=lp(O,v),F=N.createHref(O);try{g.pushState(Q,"",F)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;f.location.assign(F)}d&&y&&y({action:m,location:N.location,delta:1})}function S(E,T){m="REPLACE";let O=lo(N.location,E,T);v=b();let Q=lp(O,v),F=N.createHref(O);g.replaceState(Q,"",F),d&&y&&y({action:m,location:N.location,delta:0})}function C(E){return Hv(E)}let N={get action(){return m},get location(){return l(f,g)},listen(E){if(y)throw new Error("A history only accepts one active listener");return f.addEventListener(ap,A),y=E,()=>{f.removeEventListener(ap,A),y=null}},createHref(E){return s(f,E)},createURL:C,encodeLocation(E){let T=C(E);return{pathname:T.pathname,search:T.search,hash:T.hash}},push:R,replace:S,go(E){return g.go(E)}};return N}function Hv(l,s=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Ve(i,"No window.location.(origin|href) available to create URL");let r=typeof l=="string"?l:xs(l);return r=r.replace(/ $/,"%20"),!s&&r.startsWith("//")&&(r=i+r),new URL(r,i)}function Yp(l,s,i="/"){return Vv(l,s,i,!1)}function Vv(l,s,i,r){let f=typeof s=="string"?hl(s):s,d=En(f.pathname||"/",i);if(d==null)return null;let g=Qp(l);Yv(g);let m=null;for(let y=0;m==null&&y{let b={relativePath:v===void 0?g.path||"":v,caseSensitive:g.caseSensitive===!0,childrenIndex:m,route:g};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(r)&&y)return;Ve(b.relativePath.startsWith(r),`Absolute route path "${b.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(r.length)}let A=qn([r,b.relativePath]),R=i.concat(b);g.children&&g.children.length>0&&(Ve(g.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${A}".`),Qp(g.children,s,R,A,y)),!(g.path==null&&!g.index)&&s.push({path:A,score:$v(A,g.index),routesMeta:R})};return l.forEach((g,m)=>{if(g.path===""||!g.path?.includes("?"))d(g,m);else for(let y of Gp(g.path))d(g,m,!0,y)}),s}function Gp(l){let s=l.split("/");if(s.length===0)return[];let[i,...r]=s,f=i.endsWith("?"),d=i.replace(/\?$/,"");if(r.length===0)return f?[d,""]:[d];let g=Gp(r.join("/")),m=[];return m.push(...g.map(y=>y===""?d:[d,y].join("/"))),f&&m.push(...g),m.map(y=>l.startsWith("/")&&y===""?"/":y)}function Yv(l){l.sort((s,i)=>s.score!==i.score?i.score-s.score:Fv(s.routesMeta.map(r=>r.childrenIndex),i.routesMeta.map(r=>r.childrenIndex)))}var Qv=/^:[\w-]+$/,Gv=3,Xv=2,Kv=1,Zv=10,Jv=-2,sp=l=>l==="*";function $v(l,s){let i=l.split("/"),r=i.length;return i.some(sp)&&(r+=Jv),s&&(r+=Xv),i.filter(f=>!sp(f)).reduce((f,d)=>f+(Qv.test(d)?Gv:d===""?Kv:Zv),r)}function Fv(l,s){return l.length===s.length&&l.slice(0,-1).every((r,f)=>r===s[f])?l[l.length-1]-s[s.length-1]:0}function Wv(l,s,i=!1){let{routesMeta:r}=l,f={},d="/",g=[];for(let m=0;m{if(b==="*"){let C=m[R]||"";g=d.slice(0,d.length-C.length).replace(/(.)\/+$/,"$1")}const S=m[R];return A&&!S?v[b]=void 0:v[b]=(S||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:g,pattern:l}}function Iv(l,s=!1,i=!0){Kt(l==="*"||!l.endsWith("*")||l.endsWith("/*"),`Route path "${l}" will be treated as if it were "${l.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${l.replace(/\*$/,"/*")}".`);let r=[],f="^"+l.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(g,m,y)=>(r.push({paramName:m,isOptional:y!=null}),y?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return l.endsWith("*")?(r.push({paramName:"*"}),f+=l==="*"||l==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?f+="\\/*$":l!==""&&l!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,s?void 0:"i"),r]}function Pv(l){try{return l.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return Kt(!1,`The URL path "${l}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${s}).`),l}}function En(l,s){if(s==="/")return l;if(!l.toLowerCase().startsWith(s.toLowerCase()))return null;let i=s.endsWith("/")?s.length-1:s.length,r=l.charAt(i);return r&&r!=="/"?null:l.slice(i)||"/"}var ex=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,tx=l=>ex.test(l);function nx(l,s="/"){let{pathname:i,search:r="",hash:f=""}=typeof l=="string"?hl(l):l,d;if(i)if(tx(i))d=i;else{if(i.includes("//")){let g=i;i=i.replace(/\/\/+/g,"/"),Kt(!1,`Pathnames cannot have embedded double slashes - normalizing ${g} -> ${i}`)}i.startsWith("/")?d=ip(i.substring(1),"/"):d=ip(i,s)}else d=s;return{pathname:d,search:sx(r),hash:ix(f)}}function ip(l,s){let i=s.replace(/\/+$/,"").split("/");return l.split("/").forEach(f=>{f===".."?i.length>1&&i.pop():f!=="."&&i.push(f)}),i.length>1?i.join("/"):"/"}function Yc(l,s,i,r){return`Cannot include a '${l}' character in a manually specified \`to.${s}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function ax(l){return l.filter((s,i)=>i===0||s.route.path&&s.route.path.length>0)}function Xp(l){let s=ax(l);return s.map((i,r)=>r===s.length-1?i.pathname:i.pathnameBase)}function Kp(l,s,i,r=!1){let f;typeof l=="string"?f=hl(l):(f={...l},Ve(!f.pathname||!f.pathname.includes("?"),Yc("?","pathname","search",f)),Ve(!f.pathname||!f.pathname.includes("#"),Yc("#","pathname","hash",f)),Ve(!f.search||!f.search.includes("#"),Yc("#","search","hash",f)));let d=l===""||f.pathname==="",g=d?"/":f.pathname,m;if(g==null)m=i;else{let A=s.length-1;if(!r&&g.startsWith("..")){let R=g.split("/");for(;R[0]==="..";)R.shift(),A-=1;f.pathname=R.join("/")}m=A>=0?s[A]:"/"}let y=nx(f,m),v=g&&g!=="/"&&g.endsWith("/"),b=(d||g===".")&&i.endsWith("/");return!y.pathname.endsWith("/")&&(v||b)&&(y.pathname+="/"),y}var qn=l=>l.join("/").replace(/\/\/+/g,"/"),lx=l=>l.replace(/\/+$/,"").replace(/^\/*/,"/"),sx=l=>!l||l==="?"?"":l.startsWith("?")?l:"?"+l,ix=l=>!l||l==="#"?"":l.startsWith("#")?l:"#"+l;function rx(l){return l!=null&&typeof l.status=="number"&&typeof l.statusText=="string"&&typeof l.internal=="boolean"&&"data"in l}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Zp=["POST","PUT","PATCH","DELETE"];new Set(Zp);var ux=["GET",...Zp];new Set(ux);var ml=p.createContext(null);ml.displayName="DataRouter";var mr=p.createContext(null);mr.displayName="DataRouterState";p.createContext(!1);var Jp=p.createContext({isTransitioning:!1});Jp.displayName="ViewTransition";var cx=p.createContext(new Map);cx.displayName="Fetchers";var ox=p.createContext(null);ox.displayName="Await";var Pt=p.createContext(null);Pt.displayName="Navigation";var js=p.createContext(null);js.displayName="Location";var Nn=p.createContext({outlet:null,matches:[],isDataRoute:!1});Nn.displayName="Route";var bo=p.createContext(null);bo.displayName="RouteError";function fx(l,{relative:s}={}){Ve(Es(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:r}=p.useContext(Pt),{hash:f,pathname:d,search:g}=Ns(l,{relative:s}),m=d;return i!=="/"&&(m=d==="/"?i:qn([i,d])),r.createHref({pathname:m,search:g,hash:f})}function Es(){return p.useContext(js)!=null}function qa(){return Ve(Es(),"useLocation() may be used only in the context of a component."),p.useContext(js).location}var $p="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Fp(l){p.useContext(Pt).static||p.useLayoutEffect(l)}function dx(){let{isDataRoute:l}=p.useContext(Nn);return l?Ex():hx()}function hx(){Ve(Es(),"useNavigate() may be used only in the context of a component.");let l=p.useContext(ml),{basename:s,navigator:i}=p.useContext(Pt),{matches:r}=p.useContext(Nn),{pathname:f}=qa(),d=JSON.stringify(Xp(r)),g=p.useRef(!1);return Fp(()=>{g.current=!0}),p.useCallback((y,v={})=>{if(Kt(g.current,$p),!g.current)return;if(typeof y=="number"){i.go(y);return}let b=Kp(y,JSON.parse(d),f,v.relative==="path");l==null&&s!=="/"&&(b.pathname=b.pathname==="/"?s:qn([s,b.pathname])),(v.replace?i.replace:i.push)(b,v.state,v)},[s,i,d,f,l])}p.createContext(null);function Ns(l,{relative:s}={}){let{matches:i}=p.useContext(Nn),{pathname:r}=qa(),f=JSON.stringify(Xp(i));return p.useMemo(()=>Kp(l,JSON.parse(f),r,s==="path"),[l,f,r,s])}function mx(l,s){return Wp(l,s)}function Wp(l,s,i,r,f){Ve(Es(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=p.useContext(Pt),{matches:g}=p.useContext(Nn),m=g[g.length-1],y=m?m.params:{},v=m?m.pathname:"/",b=m?m.pathnameBase:"/",A=m&&m.route;{let O=A&&A.path||"";Ip(v,!A||O.endsWith("*")||O.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let R=qa(),S;if(s){let O=typeof s=="string"?hl(s):s;Ve(b==="/"||O.pathname?.startsWith(b),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${b}" but pathname "${O.pathname}" was given in the \`location\` prop.`),S=O}else S=R;let C=S.pathname||"/",N=C;if(b!=="/"){let O=b.replace(/^\//,"").split("/");N="/"+C.replace(/^\//,"").split("/").slice(O.length).join("/")}let E=Yp(l,{pathname:N});Kt(A||E!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),Kt(E==null||E[E.length-1].route.element!==void 0||E[E.length-1].route.Component!==void 0||E[E.length-1].route.lazy!==void 0,`Matched leaf route at location "${S.pathname}${S.search}${S.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let T=vx(E&&E.map(O=>Object.assign({},O,{params:Object.assign({},y,O.params),pathname:qn([b,d.encodeLocation?d.encodeLocation(O.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:O.pathname]),pathnameBase:O.pathnameBase==="/"?b:qn([b,d.encodeLocation?d.encodeLocation(O.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:O.pathnameBase])})),g,i,r,f);return s&&T?p.createElement(js.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...S},navigationType:"POP"}},T):T}function mx(){let l=qx(),s=ix(l)?`${l.status} ${l.statusText}`:l instanceof Error?l.message:JSON.stringify(l),i=l instanceof Error?l.stack:null,r="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},g=null;return console.error("Error handled by React Router default ErrorBoundary:",l),g=p.createElement(p.Fragment,null,p.createElement("p",null,"💿 Hey developer 👋"),p.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",p.createElement("code",{style:d},"ErrorBoundary")," or"," ",p.createElement("code",{style:d},"errorElement")," prop on your route.")),p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},s),i?p.createElement("pre",{style:f},i):null,g)}var px=p.createElement(mx,null),gx=class extends p.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,s){return s.location!==l.location||s.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:s.error,location:s.location,revalidation:l.revalidation||s.revalidation}}componentDidCatch(l,s){this.props.onError?this.props.onError(l,s):console.error("React Router caught the following error during render",l)}render(){return this.state.error!==void 0?p.createElement(Nn.Provider,{value:this.props.routeContext},p.createElement(bo.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function yx({routeContext:l,match:s,children:i}){let r=p.useContext(ml);return r&&r.static&&r.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=s.route.id),p.createElement(Nn.Provider,{value:l},i)}function vx(l,s=[],i=null,r=null,f=null){if(l==null){if(!i)return null;if(i.errors)l=i.matches;else if(s.length===0&&!i.initialized&&i.matches.length>0)l=i.matches;else return null}let d=l,g=i?.errors;if(g!=null){let b=d.findIndex(A=>A.route.id&&g?.[A.route.id]!==void 0);Ve(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(g).join(",")}`),d=d.slice(0,Math.min(d.length,b+1))}let m=!1,y=-1;if(i)for(let b=0;b=0?d=d.slice(0,y+1):d=[d[0]];break}}}let v=i&&r?(b,A)=>{r(b,{location:i.location,params:i.matches?.[0]?.params??{},errorInfo:A})}:void 0;return d.reduceRight((b,A,R)=>{let S,C=!1,N=null,E=null;i&&(S=g&&A.route.id?g[A.route.id]:void 0,N=A.route.errorElement||px,m&&(y<0&&R===0?(Ip("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,E=null):y===R&&(C=!0,E=A.route.hydrateFallbackElement||null)));let T=s.concat(d.slice(0,R+1)),O=()=>{let Q;return S?Q=N:C?Q=E:A.route.Component?Q=p.createElement(A.route.Component,null):A.route.element?Q=A.route.element:Q=b,p.createElement(yx,{match:A,routeContext:{outlet:b,matches:T,isDataRoute:i!=null},children:Q})};return i&&(A.route.ErrorBoundary||A.route.errorElement||R===0)?p.createElement(gx,{location:i.location,revalidation:i.revalidation,component:N,error:S,children:O(),routeContext:{outlet:null,matches:T,isDataRoute:!0},onError:v}):O()},null)}function Ao(l){return`${l} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function xx(l){let s=p.useContext(ml);return Ve(s,Ao(l)),s}function bx(l){let s=p.useContext(mr);return Ve(s,Ao(l)),s}function Ax(l){let s=p.useContext(Nn);return Ve(s,Ao(l)),s}function So(l){let s=Ax(l),i=s.matches[s.matches.length-1];return Ve(i.route.id,`${l} can only be used on routes that contain a unique "id"`),i.route.id}function Sx(){return So("useRouteId")}function qx(){let l=p.useContext(bo),s=bx("useRouteError"),i=So("useRouteError");return l!==void 0?l:s.errors?.[i]}function jx(){let{router:l}=xx("useNavigate"),s=So("useNavigate"),i=p.useRef(!1);return Fp(()=>{i.current=!0}),p.useCallback(async(f,d={})=>{Kt(i.current,$p),i.current&&(typeof f=="number"?l.navigate(f):await l.navigate(f,{fromRouteId:s,...d}))},[l,s])}var rp={};function Ip(l,s,i){!s&&!rp[l]&&(rp[l]=!0,Kt(!1,i))}p.memo(Ex);function Ex({routes:l,future:s,state:i,unstable_onError:r}){return Wp(l,void 0,i,r,s)}function er(l){Ve(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Nx({basename:l="/",children:s=null,location:i,navigationType:r="POP",navigator:f,static:d=!1}){Ve(!Es(),"You cannot render a inside another . You should never have more than one in your app.");let g=l.replace(/^\/*/,"/"),m=p.useMemo(()=>({basename:g,navigator:f,static:d,future:{}}),[g,f,d]);typeof i=="string"&&(i=hl(i));let{pathname:y="/",search:v="",hash:b="",state:A=null,key:R="default"}=i,S=p.useMemo(()=>{let C=En(y,g);return C==null?null:{location:{pathname:C,search:v,hash:b,state:A,key:R},navigationType:r}},[g,y,v,b,A,R,r]);return Kt(S!=null,` is not able to match the URL "${y}${v}${b}" because it does not start with the basename, so the won't render anything.`),S==null?null:p.createElement(Pt.Provider,{value:m},p.createElement(js.Provider,{children:s,value:S}))}function Cx({children:l,location:s}){return hx(so(l),s)}function so(l,s=[]){let i=[];return p.Children.forEach(l,(r,f)=>{if(!p.isValidElement(r))return;let d=[...s,f];if(r.type===p.Fragment){i.push.apply(i,so(r.props.children,d));return}Ve(r.type===er,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),Ve(!r.props.index||!r.props.children,"An index route cannot have child routes.");let g={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(g.children=so(r.props.children,d)),i.push(g)}),i}var tr="get",nr="application/x-www-form-urlencoded";function pr(l){return l!=null&&typeof l.tagName=="string"}function wx(l){return pr(l)&&l.tagName.toLowerCase()==="button"}function Tx(l){return pr(l)&&l.tagName.toLowerCase()==="form"}function Mx(l){return pr(l)&&l.tagName.toLowerCase()==="input"}function Rx(l){return!!(l.metaKey||l.altKey||l.ctrlKey||l.shiftKey)}function _x(l,s){return l.button===0&&(!s||s==="_self")&&!Rx(l)}var Ki=null;function Ox(){if(Ki===null)try{new FormData(document.createElement("form"),0),Ki=!1}catch{Ki=!0}return Ki}var Dx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Qc(l){return l!=null&&!Dx.has(l)?(Kt(!1,`"${l}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${nr}"`),null):l}function kx(l,s){let i,r,f,d,g;if(Tx(l)){let m=l.getAttribute("action");r=m?En(m,s):null,i=l.getAttribute("method")||tr,f=Qc(l.getAttribute("enctype"))||nr,d=new FormData(l)}else if(wx(l)||Mx(l)&&(l.type==="submit"||l.type==="image")){let m=l.form;if(m==null)throw new Error('Cannot submit a