From 2aee4bbd3f2e42cde5848139ceb650b74cc8dd17 Mon Sep 17 00:00:00 2001 From: Dylan Huang Date: Sat, 16 Aug 2025 11:51:33 -0700 Subject: [PATCH 1/5] works --- vite-app/CHART_EXPORT_README.md | 139 ++++++++++ vite-app/dist/assets/index-CvsKHhRd.css | 1 + vite-app/dist/assets/index-D1ErODUS.js | 93 ------- vite-app/dist/assets/index-D1ErODUS.js.map | 1 - vite-app/dist/assets/index-D5KxcfFQ.css | 1 - vite-app/dist/assets/index-Dc1lntzy.js | 131 +++++++++ vite-app/dist/assets/index-Dc1lntzy.js.map | 1 + vite-app/dist/index.html | 6 +- vite-app/package.json | 3 + vite-app/pnpm-lock.yaml | 69 +++++ vite-app/src/components/ChartExport.tsx | 302 +++++++++++++++++++++ vite-app/src/components/PivotTab.tsx | 43 +++ vite-app/src/components/PivotTable.tsx | 1 - 13 files changed, 692 insertions(+), 99 deletions(-) create mode 100644 vite-app/CHART_EXPORT_README.md create mode 100644 vite-app/dist/assets/index-CvsKHhRd.css delete mode 100644 vite-app/dist/assets/index-D1ErODUS.js delete mode 100644 vite-app/dist/assets/index-D1ErODUS.js.map delete mode 100644 vite-app/dist/assets/index-D5KxcfFQ.css create mode 100644 vite-app/dist/assets/index-Dc1lntzy.js create mode 100644 vite-app/dist/assets/index-Dc1lntzy.js.map create mode 100644 vite-app/src/components/ChartExport.tsx diff --git a/vite-app/CHART_EXPORT_README.md b/vite-app/CHART_EXPORT_README.md new file mode 100644 index 00000000..15d4fea7 --- /dev/null +++ b/vite-app/CHART_EXPORT_README.md @@ -0,0 +1,139 @@ +# Chart Export Functionality + +This document describes the new Chart Export feature that allows users to export pivot table data as interactive charts and save them as high-resolution PNG images. + +## Overview + +The Chart Export component (`ChartExport.tsx`) integrates with Chart.js to provide visualization capabilities for pivot table data. Users can: + +- Choose from multiple chart types (Bar, Line, Doughnut, Pie) +- View real-time chart updates as pivot table configuration changes +- Export charts as high-resolution PNG images +- Customize chart appearance and data representation + +## Features + +### Chart Types + +1. **Bar Chart**: Best for comparing values across categories +2. **Line Chart**: Ideal for showing trends over time or sequences +3. **Doughnut Chart**: Good for showing proportions of a whole +4. **Pie Chart**: Similar to doughnut but shows complete proportions + +### Data Visualization + +- **Row-based grouping**: Row fields become chart labels +- **Column-based datasets**: Each column field combination becomes a separate dataset +- **Totals integration**: Row totals can be included as an additional dataset +- **Dynamic coloring**: Automatic color generation for different datasets +- **Responsive design**: Charts adapt to container size + +### Export Capabilities + +- **High-resolution output**: 2x scale for crisp images +- **PNG format**: Lossless image format suitable for presentations and reports +- **Automatic naming**: Files include chart type and timestamp +- **Background handling**: Clean white background for professional appearance + +## Technical Implementation + +### Dependencies + +- `chart.js` (v4.5.0): Core charting library +- `react-chartjs-2` (v5.3.0): React wrapper for Chart.js +- `html2canvas` (v1.4.1): HTML to canvas conversion for image export + +### Component Structure + +```tsx + +``` + +### Data Flow + +1. **Pivot Data**: Raw pivot table computation results +2. **Chart Conversion**: Data transformation for Chart.js format +3. **Rendering**: Chart display using react-chartjs-2 +4. **Export**: HTML to canvas conversion and PNG download + +## Usage + +### Basic Setup + +1. Ensure pivot table has both row and column fields selected +2. The Chart Export component will automatically appear above the pivot table +3. Select desired chart type from the dropdown +4. Click "Export as Image" to download the chart + +### Chart Type Selection + +- **Bar/Line**: Best for comparing multiple categories with multiple datasets +- **Pie/Doughnut**: Best for showing proportions when you have one main dimension + +### Export Process + +1. Click "Export as Image" button +2. Wait for processing (button shows "Exporting...") +3. Browser automatically downloads PNG file +4. File is named: `pivot-chart-{type}-{timestamp}.png` + +## Integration + +The component is automatically integrated into the PivotTab and only appears when: +- At least one row field is selected +- At least one column field is selected +- Valid pivot data exists + +## Styling + +- Follows the existing design system with minimal, clean appearance +- Uses Tailwind CSS classes for consistent styling +- Responsive design that works on different screen sizes +- Colorblind-friendly color generation using HSL color space + +## Performance Considerations + +- Charts are rendered only when pivot data changes +- Export process uses `html2canvas` for reliable image generation +- Chart data is memoized to prevent unnecessary re-renders +- Responsive design maintains good performance on various devices + +## Browser Compatibility + +- Modern browsers with ES6+ support +- Canvas API support required for image export +- File download API support required for automatic downloads + +## Troubleshooting + +### Common Issues + +1. **Chart not appearing**: Ensure both row and column fields are selected +2. **Export fails**: Check browser console for errors, ensure canvas is properly rendered +3. **Poor image quality**: Export uses 2x scale by default for high resolution +4. **Chart data missing**: Verify pivot table configuration and data availability + +### Debug Information + +- Check browser console for any JavaScript errors +- Verify pivot data structure matches expected format +- Ensure all required dependencies are properly installed + +## Future Enhancements + +Potential improvements for future versions: +- Additional chart types (scatter, radar, etc.) +- Custom color schemes +- Chart configuration options (axes, legends, etc.) +- Multiple export formats (SVG, PDF) +- Chart templates and presets +- Batch export capabilities diff --git a/vite-app/dist/assets/index-CvsKHhRd.css b/vite-app/dist/assets/index-CvsKHhRd.css new file mode 100644 index 00000000..ad7dc9d9 --- /dev/null +++ b/vite-app/dist/assets/index-CvsKHhRd.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-full{right:100%}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-full{left:100%}.z-10{z-index:10}.z-50{z-index:50}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-96{height:calc(var(--spacing)*96)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-48{min-width:calc(var(--spacing)*48)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-max{min-width:max-content}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)!important}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-nw-resize{cursor:nw-resize}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-200{border-color:var(--color-blue-200)}.border-current{border-color:currentColor}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-900{border-color:var(--color-gray-900)}.border-green-200{border-color:var(--color-green-200)}.border-transparent{border-color:#0000}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-gray-600{border-top-color:var(--color-gray-600)}.border-t-transparent{border-top-color:#0000}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-gray-300{border-left-color:var(--color-gray-300)}.border-l-green-500{border-left-color:var(--color-green-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-500{background-color:var(--color-red-500)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-3{padding-left:calc(var(--spacing)*3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-white{color:var(--color-white)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-400:hover{background-color:var(--color-gray-400)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-800:hover{color:var(--color-red-800)}.hover\:no-underline:hover{text-decoration-line:none}}.focus\:border-gray-500:focus{border-color:var(--color-gray-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:64rem){.lg\:max-w-md{max-width:var(--container-md)}}@media (min-width:80rem){.xl\:max-w-lg{max-width:var(--container-lg)}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/vite-app/dist/assets/index-D1ErODUS.js b/vite-app/dist/assets/index-D1ErODUS.js deleted file mode 100644 index 0327577d..00000000 --- a/vite-app/dist/assets/index-D1ErODUS.js +++ /dev/null @@ -1,93 +0,0 @@ -(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))u(o);new MutationObserver(o=>{for(const f of o)if(f.type==="childList")for(const d of f.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&u(d)}).observe(document,{childList:!0,subtree:!0});function r(o){const f={};return o.integrity&&(f.integrity=o.integrity),o.referrerPolicy&&(f.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?f.credentials="include":o.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function u(o){if(o.ep)return;o.ep=!0;const f=r(o);fetch(o.href,f)}})();function mg(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Ic={exports:{}},lr={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Fm;function w_(){if(Fm)return lr;Fm=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function r(u,o,f){var d=null;if(f!==void 0&&(d=""+f),o.key!==void 0&&(d=""+o.key),"key"in o){f={};for(var v in o)v!=="key"&&(f[v]=o[v])}else f=o;return o=f.ref,{$$typeof:n,type:u,key:d,ref:o!==void 0?o:null,props:f}}return lr.Fragment=i,lr.jsx=r,lr.jsxs=r,lr}var Wm;function A_(){return Wm||(Wm=1,Ic.exports=w_()),Ic.exports}var y=A_(),ef={exports:{}},fe={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Im;function T_(){if(Im)return fe;Im=1;var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),x=Symbol.iterator;function O(S){return S===null||typeof S!="object"?null:(S=x&&S[x]||S["@@iterator"],typeof S=="function"?S:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$=Object.assign,L={};function G(S,k,J){this.props=S,this.context=k,this.refs=L,this.updater=J||C}G.prototype.isReactComponent={},G.prototype.setState=function(S,k){if(typeof S!="object"&&typeof S!="function"&&S!=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,S,k,"setState")},G.prototype.forceUpdate=function(S){this.updater.enqueueForceUpdate(this,S,"forceUpdate")};function j(){}j.prototype=G.prototype;function H(S,k,J){this.props=S,this.context=k,this.refs=L,this.updater=J||C}var V=H.prototype=new j;V.constructor=H,$(V,G.prototype),V.isPureReactComponent=!0;var X=Array.isArray,K={H:null,A:null,T:null,S:null,V:null},ce=Object.prototype.hasOwnProperty;function pe(S,k,J,P,q,ie){return J=ie.ref,{$$typeof:n,type:S,key:k,ref:J!==void 0?J:null,props:ie}}function we(S,k){return pe(S.type,k,void 0,void 0,void 0,S.props)}function ae(S){return typeof S=="object"&&S!==null&&S.$$typeof===n}function Ce(S){var k={"=":"=0",":":"=2"};return"$"+S.replace(/[=:]/g,function(J){return k[J]})}var Fe=/\/+/g;function Ve(S,k){return typeof S=="object"&&S!==null&&S.key!=null?Ce(""+S.key):k.toString(36)}function Tt(){}function hn(S){switch(S.status){case"fulfilled":return S.value;case"rejected":throw S.reason;default:switch(typeof S.status=="string"?S.then(Tt,Tt):(S.status="pending",S.then(function(k){S.status==="pending"&&(S.status="fulfilled",S.value=k)},function(k){S.status==="pending"&&(S.status="rejected",S.reason=k)})),S.status){case"fulfilled":return S.value;case"rejected":throw S.reason}}throw S}function qe(S,k,J,P,q){var ie=typeof S;(ie==="undefined"||ie==="boolean")&&(S=null);var ne=!1;if(S===null)ne=!0;else switch(ie){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(S.$$typeof){case n:case i:ne=!0;break;case b:return ne=S._init,qe(ne(S._payload),k,J,P,q)}}if(ne)return q=q(S),ne=P===""?"."+Ve(S,0):P,X(q)?(J="",ne!=null&&(J=ne.replace(Fe,"$&/")+"/"),qe(q,k,J,"",function(Ht){return Ht})):q!=null&&(ae(q)&&(q=we(q,J+(q.key==null||S&&S.key===q.key?"":(""+q.key).replace(Fe,"$&/")+"/")+ne)),k.push(q)),1;ne=0;var gt=P===""?".":P+":";if(X(S))for(var Ze=0;Ze>>1,S=D[be];if(0>>1;beo(P,le))qo(ie,P)?(D[be]=ie,D[q]=le,be=q):(D[be]=P,D[J]=le,be=J);else if(qo(ie,le))D[be]=ie,D[q]=le,be=q;else break e}}return Q}function o(D,Q){var le=D.sortIndex-Q.sortIndex;return le!==0?le:D.id-Q.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var d=Date,v=d.now();n.unstable_now=function(){return d.now()-v}}var m=[],p=[],b=1,x=null,O=3,C=!1,$=!1,L=!1,G=!1,j=typeof setTimeout=="function"?setTimeout:null,H=typeof clearTimeout=="function"?clearTimeout:null,V=typeof setImmediate<"u"?setImmediate:null;function X(D){for(var Q=r(p);Q!==null;){if(Q.callback===null)u(p);else if(Q.startTime<=D)u(p),Q.sortIndex=Q.expirationTime,i(m,Q);else break;Q=r(p)}}function K(D){if(L=!1,X(D),!$)if(r(m)!==null)$=!0,ce||(ce=!0,Ve());else{var Q=r(p);Q!==null&&qe(K,Q.startTime-D)}}var ce=!1,pe=-1,we=5,ae=-1;function Ce(){return G?!0:!(n.unstable_now()-aeD&&Ce());){var be=x.callback;if(typeof be=="function"){x.callback=null,O=x.priorityLevel;var S=be(x.expirationTime<=D);if(D=n.unstable_now(),typeof S=="function"){x.callback=S,X(D),Q=!0;break t}x===r(m)&&u(m),X(D)}else u(m);x=r(m)}if(x!==null)Q=!0;else{var k=r(p);k!==null&&qe(K,k.startTime-D),Q=!1}}break e}finally{x=null,O=le,C=!1}Q=void 0}}finally{Q?Ve():ce=!1}}}var Ve;if(typeof V=="function")Ve=function(){V(Fe)};else if(typeof MessageChannel<"u"){var Tt=new MessageChannel,hn=Tt.port2;Tt.port1.onmessage=Fe,Ve=function(){hn.postMessage(null)}}else Ve=function(){j(Fe,0)};function qe(D,Q){pe=j(function(){D(n.unstable_now())},Q)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(D){D.callback=null},n.unstable_forceFrameRate=function(D){0>D||125be?(D.sortIndex=le,i(p,D),r(m)===null&&D===r(p)&&(L?(H(pe),pe=-1):L=!0,qe(K,le-be))):(D.sortIndex=S,i(m,D),$||C||($=!0,ce||(ce=!0,Ve()))),D},n.unstable_shouldYield=Ce,n.unstable_wrapCallback=function(D){var Q=O;return function(){var le=O;O=Q;try{return D.apply(this,arguments)}finally{O=le}}}}(af)),af}var np;function R_(){return np||(np=1,nf.exports=z_()),nf.exports}var lf={exports:{}},dt={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var ap;function N_(){if(ap)return dt;ap=1;var n=Eo();function i(m){var p="https://react.dev/errors/"+m;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(i){console.error(i)}}return n(),lf.exports=N_(),lf.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var lp;function j_(){if(lp)return rr;lp=1;var n=R_(),i=Eo(),r=pg();function u(e){var t="https://react.dev/errors/"+e;if(1S||(e.current=be[S],be[S]=null,S--)}function P(e,t){S++,be[S]=e.current,e.current=t}var q=k(null),ie=k(null),ne=k(null),gt=k(null);function Ze(e,t){switch(P(ne,t),P(ie,e),P(q,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?wm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=wm(t),e=Am(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}J(q),P(q,e)}function Ht(){J(q),J(ie),J(ne)}function rl(e){e.memoizedState!==null&&P(gt,e);var t=q.current,a=Am(t,e.type);t!==a&&(P(ie,e),P(q,a))}function ri(e){ie.current===e&&(J(q),J(ie)),gt.current===e&&(J(gt),er._currentValue=le)}var Fn=Object.prototype.hasOwnProperty,Wn=n.unstable_scheduleCallback,ul=n.unstable_cancelCallback,id=n.unstable_shouldYield,iy=n.unstable_requestPaint,vn=n.unstable_now,ly=n.unstable_getCurrentPriorityLevel,ld=n.unstable_ImmediatePriority,rd=n.unstable_UserBlockingPriority,zr=n.unstable_NormalPriority,ry=n.unstable_LowPriority,ud=n.unstable_IdlePriority,uy=n.log,oy=n.unstable_setDisableYieldValue,ol=null,zt=null;function In(e){if(typeof uy=="function"&&oy(e),zt&&typeof zt.setStrictMode=="function")try{zt.setStrictMode(ol,e)}catch{}}var Rt=Math.clz32?Math.clz32:fy,sy=Math.log,cy=Math.LN2;function fy(e){return e>>>=0,e===0?32:31-(sy(e)/cy|0)|0}var Rr=256,Nr=4194304;function Ra(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:case 262144:case 524288:case 1048576:case 2097152:return e&4194048;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 jr(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,c=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var g=l&134217727;return g!==0?(l=g&~c,l!==0?s=Ra(l):(h&=g,h!==0?s=Ra(h):a||(a=g&~e,a!==0&&(s=Ra(a))))):(g=l&~c,g!==0?s=Ra(g):h!==0?s=Ra(h):a||(a=l&~e,a!==0&&(s=Ra(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function sl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function dy(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 od(){var e=Rr;return Rr<<=1,(Rr&4194048)===0&&(Rr=256),e}function sd(){var e=Nr;return Nr<<=1,(Nr&62914560)===0&&(Nr=4194304),e}function Vo(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function cl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function hy(e,t,a,l,s,c){var h=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var g=e.entanglements,_=e.expirationTimes,z=e.hiddenUpdates;for(a=h&~a;0)":-1s||_[l]!==z[s]){var M=` -`+_[l].replace(" at new "," at ");return e.displayName&&M.includes("")&&(M=M.replace("",e.displayName)),M}while(1<=l&&0<=s);break}}}finally{Qo=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?di(a):""}function by(e){switch(e.tag){case 26:case 27:case 5:return di(e.type);case 16:return di("Lazy");case 13:return di("Suspense");case 19:return di("SuspenseList");case 0:case 15:return Po(e.type,!1);case 11:return Po(e.type.render,!1);case 1:return Po(e.type,!0);case 31:return di("Activity");default:return""}}function bd(e){try{var t="";do t+=by(e),e=e.return;while(e);return t}catch(a){return` -Error generating stack: `+a.message+` -`+a.stack}}function Vt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function _d(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _y(e){var t=_d(e)?"checked":"value",a=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),l=""+e[t];if(!e.hasOwnProperty(t)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var s=a.get,c=a.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(h){l=""+h,c.call(this,h)}}),Object.defineProperty(e,t,{enumerable:a.enumerable}),{getValue:function(){return l},setValue:function(h){l=""+h},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Mr(e){e._valueTracker||(e._valueTracker=_y(e))}function Sd(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=_d(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function Ur(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Sy=/[\n"\\]/g;function qt(e){return e.replace(Sy,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Jo(e,t,a,l,s,c,h,g){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=""+Vt(t)):e.value!==""+Vt(t)&&(e.value=""+Vt(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?Fo(e,h,Vt(t)):a!=null?Fo(e,h,Vt(a)):l!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.name=""+Vt(g):e.removeAttribute("name")}function xd(e,t,a,l,s,c,h,g){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null))return;a=a!=null?""+Vt(a):"",t=t!=null?""+Vt(t):a,g||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=g?e.checked:!!l,e.defaultChecked=!!l,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h)}function Fo(e,t,a){t==="number"&&Ur(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function hi(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ns=!1;if(Rn)try{var vl={};Object.defineProperty(vl,"passive",{get:function(){ns=!0}}),window.addEventListener("test",vl,vl),window.removeEventListener("test",vl,vl)}catch{ns=!1}var ta=null,as=null,Br=null;function Rd(){if(Br)return Br;var e,t=as,a=t.length,l,s="value"in ta?ta.value:ta.textContent,c=s.length;for(e=0;e=gl),Ud=" ",Zd=!1;function Bd(e,t){switch(e){case"keyup":return Py.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ld(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var gi=!1;function Fy(e,t){switch(e){case"compositionend":return Ld(t);case"keypress":return t.which!==32?null:(Zd=!0,Ud);case"textInput":return e=t.data,e===Ud&&Zd?null:e;default:return null}}function Wy(e,t){if(gi)return e==="compositionend"||!os&&Bd(e,t)?(e=Rd(),Br=as=ta=null,gi=!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:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Xd(a)}}function Qd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Qd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pd(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ur(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Ur(e.document)}return t}function fs(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 rb=Rn&&"documentMode"in document&&11>=document.documentMode,yi=null,ds=null,Sl=null,hs=!1;function Jd(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;hs||yi==null||yi!==Ur(l)||(l=yi,"selectionStart"in l&&fs(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Sl&&_l(Sl,l)||(Sl=l,l=Tu(ds,"onSelect"),0>=h,s-=h,jn=1<<32-Rt(t)+s|a<c?c:8;var h=D.T,g={};D.T=g,Ws(e,!1,t,a);try{var _=s(),z=D.S;if(z!==null&&z(g,_),_!==null&&typeof _=="object"&&typeof _.then=="function"){var M=mb(_,l);Zl(e,t,M,Ut(e))}else Zl(e,t,l,Ut(e))}catch(B){Zl(e,t,{then:function(){},status:"rejected",reason:B},Ut())}finally{Q.p=c,D.T=h}}function _b(){}function Js(e,t,a,l){if(e.tag!==5)throw Error(u(476));var s=Fh(e).queue;Jh(e,s,t,le,a===null?_b:function(){return Wh(e),a(l)})}function Fh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:le},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Un,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Wh(e){var t=Fh(e).next.queue;Zl(e,t,{},Ut())}function Fs(){return ft(er)}function Ih(){return Ie().memoizedState}function ev(){return Ie().memoizedState}function Sb(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Ut();e=ia(a);var l=la(t,e,a);l!==null&&(Zt(l,t,a),Nl(l,t,a)),t={cache:Ts()},e.payload=t;return}t=t.return}}function xb(e,t,a){var l=Ut();a={lane:l,revertLane:0,action:a,hasEagerState:!1,eagerState:null,next:null},uu(e)?nv(t,a):(a=gs(e,t,a,l),a!==null&&(Zt(a,e,l),av(a,t,l)))}function tv(e,t,a){var l=Ut();Zl(e,t,a,l)}function Zl(e,t,a,l){var s={lane:l,revertLane:0,action:a,hasEagerState:!1,eagerState:null,next:null};if(uu(e))nv(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var h=t.lastRenderedState,g=c(h,a);if(s.hasEagerState=!0,s.eagerState=g,Nt(g,h))return Gr(e,t,s,0),De===null&&qr(),!1}catch{}finally{}if(a=gs(e,t,s,l),a!==null)return Zt(a,e,l),av(a,t,l),!0}return!1}function Ws(e,t,a,l){if(l={lane:2,revertLane:Nc(),action:l,hasEagerState:!1,eagerState:null,next:null},uu(e)){if(t)throw Error(u(479))}else t=gs(e,a,l,2),t!==null&&Zt(t,e,2)}function uu(e){var t=e.alternate;return e===de||t!==null&&t===de}function nv(e,t){zi=tu=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function av(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,fd(e,a)}}var ou={readContext:ft,use:au,useCallback:Pe,useContext:Pe,useEffect:Pe,useImperativeHandle:Pe,useLayoutEffect:Pe,useInsertionEffect:Pe,useMemo:Pe,useReducer:Pe,useRef:Pe,useState:Pe,useDebugValue:Pe,useDeferredValue:Pe,useTransition:Pe,useSyncExternalStore:Pe,useId:Pe,useHostTransitionStatus:Pe,useFormState:Pe,useActionState:Pe,useOptimistic:Pe,useMemoCache:Pe,useCacheRefresh:Pe},iv={readContext:ft,use:au,useCallback:function(e,t){return _t().memoizedState=[e,t===void 0?null:t],e},useContext:ft,useEffect:Hh,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ru(4194308,4,Yh.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ru(4194308,4,e,t)},useInsertionEffect:function(e,t){ru(4,2,e,t)},useMemo:function(e,t){var a=_t();t=t===void 0?null:t;var l=e();if(Va){In(!0);try{e()}finally{In(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=_t();if(a!==void 0){var s=a(t);if(Va){In(!0);try{a(t)}finally{In(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=xb.bind(null,de,e),[l.memoizedState,e]},useRef:function(e){var t=_t();return e={current:e},t.memoizedState=e},useState:function(e){e=Xs(e);var t=e.queue,a=tv.bind(null,de,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Qs,useDeferredValue:function(e,t){var a=_t();return Ps(a,e,t)},useTransition:function(){var e=Xs(!1);return e=Jh.bind(null,de,e.queue,!0,!1),_t().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=de,s=_t();if(xe){if(a===void 0)throw Error(u(407));a=a()}else{if(a=t(),De===null)throw Error(u(349));(ge&124)!==0||wh(l,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,Hh(Th.bind(null,l,c,e),[e]),l.flags|=2048,Ni(9,lu(),Ah.bind(null,l,c,a,t),null),a},useId:function(){var e=_t(),t=De.identifierPrefix;if(xe){var a=Cn,l=jn;a=(l&~(1<<32-Rt(l)-1)).toString(32)+a,t="«"+t+"R"+a,a=nu++,0ue?(lt=te,te=null):lt=te.sibling;var _e=R(w,te,T[ue],Z);if(_e===null){te===null&&(te=lt);break}e&&te&&_e.alternate===null&&t(w,te),E=c(_e,E,ue),he===null?F=_e:he.sibling=_e,he=_e,te=lt}if(ue===T.length)return a(w,te),xe&&Za(w,ue),F;if(te===null){for(;ueue?(lt=te,te=null):lt=te.sibling;var xa=R(w,te,_e.value,Z);if(xa===null){te===null&&(te=lt);break}e&&te&&xa.alternate===null&&t(w,te),E=c(xa,E,ue),he===null?F=xa:he.sibling=xa,he=xa,te=lt}if(_e.done)return a(w,te),xe&&Za(w,ue),F;if(te===null){for(;!_e.done;ue++,_e=T.next())_e=B(w,_e.value,Z),_e!==null&&(E=c(_e,E,ue),he===null?F=_e:he.sibling=_e,he=_e);return xe&&Za(w,ue),F}for(te=l(te);!_e.done;ue++,_e=T.next())_e=N(te,w,ue,_e.value,Z),_e!==null&&(e&&_e.alternate!==null&&te.delete(_e.key===null?ue:_e.key),E=c(_e,E,ue),he===null?F=_e:he.sibling=_e,he=_e);return e&&te.forEach(function(O_){return t(w,O_)}),xe&&Za(w,ue),F}function ze(w,E,T,Z){if(typeof T=="object"&&T!==null&&T.type===$&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case O:e:{for(var F=T.key;E!==null;){if(E.key===F){if(F=T.type,F===$){if(E.tag===7){a(w,E.sibling),Z=s(E,T.props.children),Z.return=w,w=Z;break e}}else if(E.elementType===F||typeof F=="object"&&F!==null&&F.$$typeof===we&&rv(F)===E.type){a(w,E.sibling),Z=s(E,T.props),Ll(Z,T),Z.return=w,w=Z;break e}a(w,E);break}else t(w,E);E=E.sibling}T.type===$?(Z=Ma(T.props.children,w.mode,Z,T.key),Z.return=w,w=Z):(Z=Xr(T.type,T.key,T.props,null,w.mode,Z),Ll(Z,T),Z.return=w,w=Z)}return h(w);case C:e:{for(F=T.key;E!==null;){if(E.key===F)if(E.tag===4&&E.stateNode.containerInfo===T.containerInfo&&E.stateNode.implementation===T.implementation){a(w,E.sibling),Z=s(E,T.children||[]),Z.return=w,w=Z;break e}else{a(w,E);break}else t(w,E);E=E.sibling}Z=_s(T,w.mode,Z),Z.return=w,w=Z}return h(w);case we:return F=T._init,T=F(T._payload),ze(w,E,T,Z)}if(qe(T))return oe(w,E,T,Z);if(Ve(T)){if(F=Ve(T),typeof F!="function")throw Error(u(150));return T=F.call(T),re(w,E,T,Z)}if(typeof T.then=="function")return ze(w,E,su(T),Z);if(T.$$typeof===V)return ze(w,E,Jr(w,T),Z);cu(w,T)}return typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint"?(T=""+T,E!==null&&E.tag===6?(a(w,E.sibling),Z=s(E,T),Z.return=w,w=Z):(a(w,E),Z=bs(T,w.mode,Z),Z.return=w,w=Z),h(w)):a(w,E)}return function(w,E,T,Z){try{Bl=0;var F=ze(w,E,T,Z);return ji=null,F}catch(te){if(te===zl||te===Wr)throw te;var he=jt(29,te,null,w.mode);return he.lanes=Z,he.return=w,he}finally{}}}var Ci=uv(!0),ov=uv(!1),Qt=k(null),pn=null;function ua(e){var t=e.alternate;P(tt,tt.current&1),P(Qt,e),pn===null&&(t===null||Ti.current!==null||t.memoizedState!==null)&&(pn=e)}function sv(e){if(e.tag===22){if(P(tt,tt.current),P(Qt,e),pn===null){var t=e.alternate;t!==null&&t.memoizedState!==null&&(pn=e)}}else oa()}function oa(){P(tt,tt.current),P(Qt,Qt.current)}function Zn(e){J(Qt),pn===e&&(pn=null),J(tt)}var tt=k(0);function fu(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||Vc(a)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Is(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:b({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var ec={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=Ut(),s=ia(l);s.payload=t,a!=null&&(s.callback=a),t=la(e,s,l),t!==null&&(Zt(t,e,l),Nl(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=Ut(),s=ia(l);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=la(e,s,l),t!==null&&(Zt(t,e,l),Nl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Ut(),l=ia(a);l.tag=2,t!=null&&(l.callback=t),t=la(e,l,a),t!==null&&(Zt(t,e,a),Nl(t,e,a))}};function cv(e,t,a,l,s,c,h){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,c,h):t.prototype&&t.prototype.isPureReactComponent?!_l(a,l)||!_l(s,c):!0}function fv(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&ec.enqueueReplaceState(t,t.state,null)}function qa(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=b({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}var du=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function dv(e){du(e)}function hv(e){console.error(e)}function vv(e){du(e)}function hu(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function mv(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function tc(e,t,a){return a=ia(a),a.tag=3,a.payload={element:null},a.callback=function(){hu(e,t)},a}function pv(e){return e=ia(e),e.tag=3,e}function gv(e,t,a,l){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var c=l.value;e.payload=function(){return s(c)},e.callback=function(){mv(t,a,l)}}var h=a.stateNode;h!==null&&typeof h.componentDidCatch=="function"&&(e.callback=function(){mv(t,a,l),typeof s!="function"&&(va===null?va=new Set([this]):va.add(this));var g=l.stack;this.componentDidCatch(l.value,{componentStack:g!==null?g:""})})}function Ob(e,t,a,l,s){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&wl(t,a,s,!0),a=Qt.current,a!==null){switch(a.tag){case 13:return pn===null?wc():a.alternate===null&&Qe===0&&(Qe=3),a.flags&=-257,a.flags|=65536,a.lanes=s,l===Ns?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Tc(e,l,s)),!1;case 22:return a.flags|=65536,l===Ns?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Tc(e,l,s)),!1}throw Error(u(435,a.tag))}return Tc(e,l,s),wc(),!1}if(xe)return t=Qt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,l!==Es&&(e=Error(u(422),{cause:l}),Ol(Gt(e,a)))):(l!==Es&&(t=Error(u(423),{cause:l}),Ol(Gt(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,l=Gt(l,a),s=tc(e.stateNode,l,s),Ds(e,s),Qe!==4&&(Qe=2)),!1;var c=Error(u(520),{cause:l});if(c=Gt(c,a),Yl===null?Yl=[c]:Yl.push(c),Qe!==4&&(Qe=2),t===null)return!0;l=Gt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=tc(a.stateNode,l,e),Ds(a,e),!1;case 1:if(t=a.type,c=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(va===null||!va.has(c))))return a.flags|=65536,s&=-s,a.lanes|=s,s=pv(s),gv(s,e,a,l),Ds(a,s),!1}a=a.return}while(a!==null);return!1}var yv=Error(u(461)),at=!1;function ut(e,t,a,l){t.child=e===null?ov(t,null,a,l):Ci(t,e.child,a,l)}function bv(e,t,a,l,s){a=a.render;var c=t.ref;if("ref"in l){var h={};for(var g in l)g!=="ref"&&(h[g]=l[g])}else h=l;return $a(t),l=Ls(e,t,a,h,c,s),g=ks(),e!==null&&!at?($s(e,t,s),Bn(e,t,s)):(xe&&g&&Ss(t),t.flags|=1,ut(e,t,l,s),t.child)}function _v(e,t,a,l,s){if(e===null){var c=a.type;return typeof c=="function"&&!ys(c)&&c.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=c,Sv(e,t,c,l,s)):(e=Xr(a.type,null,l,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!sc(e,s)){var h=c.memoizedProps;if(a=a.compare,a=a!==null?a:_l,a(h,l)&&e.ref===t.ref)return Bn(e,t,s)}return t.flags|=1,e=Nn(c,l),e.ref=t.ref,e.return=t,t.child=e}function Sv(e,t,a,l,s){if(e!==null){var c=e.memoizedProps;if(_l(c,l)&&e.ref===t.ref)if(at=!1,t.pendingProps=l=c,sc(e,s))(e.flags&131072)!==0&&(at=!0);else return t.lanes=e.lanes,Bn(e,t,s)}return nc(e,t,a,l,s)}function xv(e,t,a){var l=t.pendingProps,s=l.children,c=e!==null?e.memoizedState:null;if(l.mode==="hidden"){if((t.flags&128)!==0){if(l=c!==null?c.baseLanes|a:a,e!==null){for(s=t.child=e.child,c=0;s!==null;)c=c|s.lanes|s.childLanes,s=s.sibling;t.childLanes=c&~l}else t.childLanes=0,t.child=null;return Ev(e,t,l,a)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Fr(t,c!==null?c.cachePool:null),c!==null?Sh(t,c):Us(),sv(t);else return t.lanes=t.childLanes=536870912,Ev(e,t,c!==null?c.baseLanes|a:a,a)}else c!==null?(Fr(t,c.cachePool),Sh(t,c),oa(),t.memoizedState=null):(e!==null&&Fr(t,null),Us(),oa());return ut(e,t,s,a),t.child}function Ev(e,t,a,l){var s=Rs();return s=s===null?null:{parent:et._currentValue,pool:s},t.memoizedState={baseLanes:a,cachePool:s},e!==null&&Fr(t,null),Us(),sv(t),e!==null&&wl(e,t,l,!0),null}function vu(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(u(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function nc(e,t,a,l,s){return $a(t),a=Ls(e,t,a,l,void 0,s),l=ks(),e!==null&&!at?($s(e,t,s),Bn(e,t,s)):(xe&&l&&Ss(t),t.flags|=1,ut(e,t,a,s),t.child)}function Ov(e,t,a,l,s,c){return $a(t),t.updateQueue=null,a=Eh(t,l,a,s),xh(e),l=ks(),e!==null&&!at?($s(e,t,c),Bn(e,t,c)):(xe&&l&&Ss(t),t.flags|=1,ut(e,t,a,c),t.child)}function wv(e,t,a,l,s){if($a(t),t.stateNode===null){var c=xi,h=a.contextType;typeof h=="object"&&h!==null&&(c=ft(h)),c=new a(l,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=ec,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=l,c.state=t.memoizedState,c.refs={},js(t),h=a.contextType,c.context=typeof h=="object"&&h!==null?ft(h):xi,c.state=t.memoizedState,h=a.getDerivedStateFromProps,typeof h=="function"&&(Is(t,a,h,l),c.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(h=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),h!==c.state&&ec.enqueueReplaceState(c,c.state,null),Cl(t,l,c,s),jl(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){c=t.stateNode;var g=t.memoizedProps,_=qa(a,g);c.props=_;var z=c.context,M=a.contextType;h=xi,typeof M=="object"&&M!==null&&(h=ft(M));var B=a.getDerivedStateFromProps;M=typeof B=="function"||typeof c.getSnapshotBeforeUpdate=="function",g=t.pendingProps!==g,M||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(g||z!==h)&&fv(t,c,l,h),aa=!1;var R=t.memoizedState;c.state=R,Cl(t,l,c,s),jl(),z=t.memoizedState,g||R!==z||aa?(typeof B=="function"&&(Is(t,a,B,l),z=t.memoizedState),(_=aa||cv(t,a,_,l,R,z,h))?(M||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=z),c.props=l,c.state=z,c.context=h,l=_):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{c=t.stateNode,Cs(e,t),h=t.memoizedProps,M=qa(a,h),c.props=M,B=t.pendingProps,R=c.context,z=a.contextType,_=xi,typeof z=="object"&&z!==null&&(_=ft(z)),g=a.getDerivedStateFromProps,(z=typeof g=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(h!==B||R!==_)&&fv(t,c,l,_),aa=!1,R=t.memoizedState,c.state=R,Cl(t,l,c,s),jl();var N=t.memoizedState;h!==B||R!==N||aa||e!==null&&e.dependencies!==null&&Pr(e.dependencies)?(typeof g=="function"&&(Is(t,a,g,l),N=t.memoizedState),(M=aa||cv(t,a,M,l,R,N,_)||e!==null&&e.dependencies!==null&&Pr(e.dependencies))?(z||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(l,N,_),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(l,N,_)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||h===e.memoizedProps&&R===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||h===e.memoizedProps&&R===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=N),c.props=l,c.state=N,c.context=_,l=M):(typeof c.componentDidUpdate!="function"||h===e.memoizedProps&&R===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||h===e.memoizedProps&&R===e.memoizedState||(t.flags|=1024),l=!1)}return c=l,vu(e,t),l=(t.flags&128)!==0,c||l?(c=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&l?(t.child=Ci(t,e.child,null,s),t.child=Ci(t,null,a,s)):ut(e,t,a,s),t.memoizedState=c.state,e=t.child):e=Bn(e,t,s),e}function Av(e,t,a,l){return El(),t.flags|=256,ut(e,t,a,l),t.child}var ac={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function ic(e){return{baseLanes:e,cachePool:hh()}}function lc(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Pt),e}function Tv(e,t,a){var l=t.pendingProps,s=!1,c=(t.flags&128)!==0,h;if((h=c)||(h=e!==null&&e.memoizedState===null?!1:(tt.current&2)!==0),h&&(s=!0,t.flags&=-129),h=(t.flags&32)!==0,t.flags&=-33,e===null){if(xe){if(s?ua(t):oa(),xe){var g=Ke,_;if(_=g){e:{for(_=g,g=mn;_.nodeType!==8;){if(!g){g=null;break e}if(_=an(_.nextSibling),_===null){g=null;break e}}g=_}g!==null?(t.memoizedState={dehydrated:g,treeContext:Ua!==null?{id:jn,overflow:Cn}:null,retryLane:536870912,hydrationErrors:null},_=jt(18,null,null,0),_.stateNode=g,_.return=t,t.child=_,vt=t,Ke=null,_=!0):_=!1}_||La(t)}if(g=t.memoizedState,g!==null&&(g=g.dehydrated,g!==null))return Vc(g)?t.lanes=32:t.lanes=536870912,null;Zn(t)}return g=l.children,l=l.fallback,s?(oa(),s=t.mode,g=mu({mode:"hidden",children:g},s),l=Ma(l,s,a,null),g.return=t,l.return=t,g.sibling=l,t.child=g,s=t.child,s.memoizedState=ic(a),s.childLanes=lc(e,h,a),t.memoizedState=ac,l):(ua(t),rc(t,g))}if(_=e.memoizedState,_!==null&&(g=_.dehydrated,g!==null)){if(c)t.flags&256?(ua(t),t.flags&=-257,t=uc(e,t,a)):t.memoizedState!==null?(oa(),t.child=e.child,t.flags|=128,t=null):(oa(),s=l.fallback,g=t.mode,l=mu({mode:"visible",children:l.children},g),s=Ma(s,g,a,null),s.flags|=2,l.return=t,s.return=t,l.sibling=s,t.child=l,Ci(t,e.child,null,a),l=t.child,l.memoizedState=ic(a),l.childLanes=lc(e,h,a),t.memoizedState=ac,t=s);else if(ua(t),Vc(g)){if(h=g.nextSibling&&g.nextSibling.dataset,h)var z=h.dgst;h=z,l=Error(u(419)),l.stack="",l.digest=h,Ol({value:l,source:null,stack:null}),t=uc(e,t,a)}else if(at||wl(e,t,a,!1),h=(a&e.childLanes)!==0,at||h){if(h=De,h!==null&&(l=a&-a,l=(l&42)!==0?1:qo(l),l=(l&(h.suspendedLanes|a))!==0?0:l,l!==0&&l!==_.retryLane))throw _.retryLane=l,Si(e,l),Zt(h,e,l),yv;g.data==="$?"||wc(),t=uc(e,t,a)}else g.data==="$?"?(t.flags|=192,t.child=e.child,t=null):(e=_.treeContext,Ke=an(g.nextSibling),vt=t,xe=!0,Ba=null,mn=!1,e!==null&&(Xt[Kt++]=jn,Xt[Kt++]=Cn,Xt[Kt++]=Ua,jn=e.id,Cn=e.overflow,Ua=t),t=rc(t,l.children),t.flags|=4096);return t}return s?(oa(),s=l.fallback,g=t.mode,_=e.child,z=_.sibling,l=Nn(_,{mode:"hidden",children:l.children}),l.subtreeFlags=_.subtreeFlags&65011712,z!==null?s=Nn(z,s):(s=Ma(s,g,a,null),s.flags|=2),s.return=t,l.return=t,l.sibling=s,t.child=l,l=s,s=t.child,g=e.child.memoizedState,g===null?g=ic(a):(_=g.cachePool,_!==null?(z=et._currentValue,_=_.parent!==z?{parent:z,pool:z}:_):_=hh(),g={baseLanes:g.baseLanes|a,cachePool:_}),s.memoizedState=g,s.childLanes=lc(e,h,a),t.memoizedState=ac,l):(ua(t),a=e.child,e=a.sibling,a=Nn(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(h=t.deletions,h===null?(t.deletions=[e],t.flags|=16):h.push(e)),t.child=a,t.memoizedState=null,a)}function rc(e,t){return t=mu({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function mu(e,t){return e=jt(22,e,null,t),e.lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function uc(e,t,a){return Ci(t,e.child,null,a),e=rc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function zv(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),ws(e.return,t,a)}function oc(e,t,a,l,s){var c=e.memoizedState;c===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:s}:(c.isBackwards=t,c.rendering=null,c.renderingStartTime=0,c.last=l,c.tail=a,c.tailMode=s)}function Rv(e,t,a){var l=t.pendingProps,s=l.revealOrder,c=l.tail;if(ut(e,t,l.children,a),l=tt.current,(l&2)!==0)l=l&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&zv(e,a,t);else if(e.tag===19)zv(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}l&=1}switch(P(tt,l),s){case"forwards":for(a=t.child,s=null;a!==null;)e=a.alternate,e!==null&&fu(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),oc(t,!1,s,a,c);break;case"backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&fu(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}oc(t,!0,a,null,c);break;case"together":oc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Bn(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),ha|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(wl(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(u(153));if(t.child!==null){for(e=t.child,a=Nn(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=Nn(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function sc(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Pr(e)))}function wb(e,t,a){switch(t.tag){case 3:Ze(t,t.stateNode.containerInfo),na(t,et,e.memoizedState.cache),El();break;case 27:case 5:rl(t);break;case 4:Ze(t,t.stateNode.containerInfo);break;case 10:na(t,t.type,t.memoizedProps.value);break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(ua(t),t.flags|=128,null):(a&t.child.childLanes)!==0?Tv(e,t,a):(ua(t),e=Bn(e,t,a),e!==null?e.sibling:null);ua(t);break;case 19:var s=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(wl(e,t,a,!1),l=(a&t.childLanes)!==0),s){if(l)return Rv(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),P(tt,tt.current),l)break;return null;case 22:case 23:return t.lanes=0,xv(e,t,a);case 24:na(t,et,e.memoizedState.cache)}return Bn(e,t,a)}function Nv(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)at=!0;else{if(!sc(e,a)&&(t.flags&128)===0)return at=!1,wb(e,t,a);at=(e.flags&131072)!==0}else at=!1,xe&&(t.flags&1048576)!==0&&rh(t,Qr,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var l=t.elementType,s=l._init;if(l=s(l._payload),t.type=l,typeof l=="function")ys(l)?(e=qa(l,e),t.tag=1,t=wv(null,t,l,e,a)):(t.tag=0,t=nc(null,t,l,e,a));else{if(l!=null){if(s=l.$$typeof,s===X){t.tag=11,t=bv(null,t,l,e,a);break e}else if(s===pe){t.tag=14,t=_v(null,t,l,e,a);break e}}throw t=hn(l)||l,Error(u(306,t,""))}}return t;case 0:return nc(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,s=qa(l,t.pendingProps),wv(e,t,l,s,a);case 3:e:{if(Ze(t,t.stateNode.containerInfo),e===null)throw Error(u(387));l=t.pendingProps;var c=t.memoizedState;s=c.element,Cs(e,t),Cl(t,l,null,a);var h=t.memoizedState;if(l=h.cache,na(t,et,l),l!==c.cache&&As(t,[et],a,!0),jl(),l=h.element,c.isDehydrated)if(c={element:l,isDehydrated:!1,cache:h.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=Av(e,t,l,a);break e}else if(l!==s){s=Gt(Error(u(424)),t),Ol(s),t=Av(e,t,l,a);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(Ke=an(e.firstChild),vt=t,xe=!0,Ba=null,mn=!0,a=ov(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling}else{if(El(),l===s){t=Bn(e,t,a);break e}ut(e,t,l,a)}t=t.child}return t;case 26:return vu(e,t),e===null?(a=Mm(t.type,null,t.pendingProps,null))?t.memoizedState=a:xe||(a=t.type,e=t.pendingProps,l=Ru(ne.current).createElement(a),l[ct]=t,l[yt]=e,st(l,a,e),nt(l),t.stateNode=l):t.memoizedState=Mm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return rl(t),e===null&&xe&&(l=t.stateNode=jm(t.type,t.pendingProps,ne.current),vt=t,mn=!0,s=Ke,ga(t.type)?(qc=s,Ke=an(l.firstChild)):Ke=s),ut(e,t,t.pendingProps.children,a),vu(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&xe&&((s=l=Ke)&&(l=Ib(l,t.type,t.pendingProps,mn),l!==null?(t.stateNode=l,vt=t,Ke=an(l.firstChild),mn=!1,s=!0):s=!1),s||La(t)),rl(t),s=t.type,c=t.pendingProps,h=e!==null?e.memoizedProps:null,l=c.children,kc(s,c)?l=null:h!==null&&kc(s,h)&&(t.flags|=32),t.memoizedState!==null&&(s=Ls(e,t,gb,null,null,a),er._currentValue=s),vu(e,t),ut(e,t,l,a),t.child;case 6:return e===null&&xe&&((e=a=Ke)&&(a=e_(a,t.pendingProps,mn),a!==null?(t.stateNode=a,vt=t,Ke=null,e=!0):e=!1),e||La(t)),null;case 13:return Tv(e,t,a);case 4:return Ze(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=Ci(t,null,l,a):ut(e,t,l,a),t.child;case 11:return bv(e,t,t.type,t.pendingProps,a);case 7:return ut(e,t,t.pendingProps,a),t.child;case 8:return ut(e,t,t.pendingProps.children,a),t.child;case 12:return ut(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,na(t,t.type,l.value),ut(e,t,l.children,a),t.child;case 9:return s=t.type._context,l=t.pendingProps.children,$a(t),s=ft(s),l=l(s),t.flags|=1,ut(e,t,l,a),t.child;case 14:return _v(e,t,t.type,t.pendingProps,a);case 15:return Sv(e,t,t.type,t.pendingProps,a);case 19:return Rv(e,t,a);case 31:return l=t.pendingProps,a=t.mode,l={mode:l.mode,children:l.children},e===null?(a=mu(l,a),a.ref=t.ref,t.child=a,a.return=t,t=a):(a=Nn(e.child,l),a.ref=t.ref,t.child=a,a.return=t,t=a),t;case 22:return xv(e,t,a);case 24:return $a(t),l=ft(et),e===null?(s=Rs(),s===null&&(s=De,c=Ts(),s.pooledCache=c,c.refCount++,c!==null&&(s.pooledCacheLanes|=a),s=c),t.memoizedState={parent:l,cache:s},js(t),na(t,et,s)):((e.lanes&a)!==0&&(Cs(e,t),Cl(t,null,null,a),jl()),s=e.memoizedState,c=t.memoizedState,s.parent!==l?(s={parent:l,cache:l},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),na(t,et,l)):(l=c.cache,na(t,et,l),l!==s.cache&&As(t,[et],a,!0))),ut(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(u(156,t.tag))}function Ln(e){e.flags|=4}function jv(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!km(t)){if(t=Qt.current,t!==null&&((ge&4194048)===ge?pn!==null:(ge&62914560)!==ge&&(ge&536870912)===0||t!==pn))throw Rl=Ns,vh;e.flags|=8192}}function pu(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?sd():536870912,e.lanes|=t,Zi|=t)}function kl(e,t){if(!xe)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function Ge(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags&65011712,l|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags,l|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function Ab(e,t,a){var l=t.pendingProps;switch(xs(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ge(t),null;case 1:return Ge(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),Mn(et),Ht(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(xl(t)?Ln(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,sh())),Ge(t),null;case 26:return a=t.memoizedState,e===null?(Ln(t),a!==null?(Ge(t),jv(t,a)):(Ge(t),t.flags&=-16777217)):a?a!==e.memoizedState?(Ln(t),Ge(t),jv(t,a)):(Ge(t),t.flags&=-16777217):(e.memoizedProps!==l&&Ln(t),Ge(t),t.flags&=-16777217),null;case 27:ri(t),a=ne.current;var s=t.type;if(e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Ln(t);else{if(!l){if(t.stateNode===null)throw Error(u(166));return Ge(t),null}e=q.current,xl(t)?uh(t):(e=jm(s,l,a),t.stateNode=e,Ln(t))}return Ge(t),null;case 5:if(ri(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&Ln(t);else{if(!l){if(t.stateNode===null)throw Error(u(166));return Ge(t),null}if(e=q.current,xl(t))uh(t);else{switch(s=Ru(ne.current),e){case 1:e=s.createElementNS("http://www.w3.org/2000/svg",a);break;case 2:e=s.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;default:switch(a){case"svg":e=s.createElementNS("http://www.w3.org/2000/svg",a);break;case"math":e=s.createElementNS("http://www.w3.org/1998/Math/MathML",a);break;case"script":e=s.createElement("div"),e.innerHTML=" - + +
- \ No newline at end of file + diff --git a/vite-app/package.json b/vite-app/package.json index 5b120e20..bdb187e5 100644 --- a/vite-app/package.json +++ b/vite-app/package.json @@ -13,9 +13,12 @@ "test:coverage": "vitest run --coverage" }, "dependencies": { + "chart.js": "^4.5.0", + "html2canvas-oklch": "1.5.0-alpha.0", "mobx": "^6.13.7", "mobx-react": "^9.2.0", "react": "^19.1.0", + "react-chartjs-2": "^5.3.0", "react-dom": "^19.1.0", "react-router-dom": "^7.7.1", "zod": "^4.0.14" diff --git a/vite-app/pnpm-lock.yaml b/vite-app/pnpm-lock.yaml index 60e1ea98..0ec51189 100644 --- a/vite-app/pnpm-lock.yaml +++ b/vite-app/pnpm-lock.yaml @@ -8,6 +8,12 @@ importers: .: dependencies: + chart.js: + specifier: ^4.5.0 + version: 4.5.0 + html2canvas-oklch: + specifier: 1.5.0-alpha.0 + version: 1.5.0-alpha.0 mobx: specifier: ^6.13.7 version: 6.13.7 @@ -17,6 +23,9 @@ importers: react: specifier: ^19.1.0 version: 19.1.1 + react-chartjs-2: + specifier: ^5.3.0 + version: 5.3.0(chart.js@4.5.0)(react@19.1.1) react-dom: specifier: ^19.1.0 version: 19.1.1(react@19.1.1) @@ -408,6 +417,9 @@ packages: '@jridgewell/trace-mapping@0.3.29': resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@kurkle/color@0.3.4': + resolution: {integrity: sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -797,6 +809,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + base64-arraybuffer@1.0.2: + resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} + engines: {node: '>= 0.6.0'} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -831,6 +847,10 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chart.js@4.5.0: + resolution: {integrity: sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==} + engines: {pnpm: '>=8'} + check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -860,6 +880,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-line-break@2.1.0: + resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -1064,6 +1087,10 @@ packages: html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html2canvas-oklch@1.5.0-alpha.0: + resolution: {integrity: sha512-7cp1ODcbd+lkwi+t3igDIMf7TzV8YIRgG7Nt3XzjSkVCxUDUB94m/RPtb/wO2/EhX80tUTFFbVf0Ap75uQQx8w==} + engines: {node: '>=8.0.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1383,6 +1410,12 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react-chartjs-2@5.3.0: + resolution: {integrity: sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==} + peerDependencies: + chart.js: ^4.1.1 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom@19.1.1: resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} peerDependencies: @@ -1511,6 +1544,9 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} + text-segmentation@1.0.3: + resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -1576,6 +1612,9 @@ packages: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + utrie@1.0.2: + resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} + vite-node@3.2.4: resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -1970,6 +2009,8 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 + '@kurkle/color@0.3.4': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2362,6 +2403,8 @@ snapshots: balanced-match@1.0.2: {} + base64-arraybuffer@1.0.2: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -2401,6 +2444,10 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + chart.js@4.5.0: + dependencies: + '@kurkle/color': 0.3.4 + check-error@2.1.1: {} chownr@3.0.0: {} @@ -2423,6 +2470,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-line-break@2.1.0: + dependencies: + utrie: 1.0.2 + csstype@3.1.3: {} debug@4.4.1: @@ -2647,6 +2698,11 @@ snapshots: html-escaper@2.0.2: {} + html2canvas-oklch@1.5.0-alpha.0: + dependencies: + css-line-break: 2.1.0 + text-segmentation: 1.0.3 + ignore@5.3.2: {} ignore@7.0.5: {} @@ -2902,6 +2958,11 @@ snapshots: queue-microtask@1.2.3: {} + react-chartjs-2@5.3.0(chart.js@4.5.0)(react@19.1.1): + dependencies: + chart.js: 4.5.0 + react: 19.1.1 + react-dom@19.1.1(react@19.1.1): dependencies: react: 19.1.1 @@ -3032,6 +3093,10 @@ snapshots: glob: 10.4.5 minimatch: 9.0.5 + text-segmentation@1.0.3: + dependencies: + utrie: 1.0.2 + tinybench@2.9.0: {} tinyexec@0.3.2: {} @@ -3088,6 +3153,10 @@ snapshots: dependencies: react: 19.1.1 + utrie@1.0.2: + dependencies: + base64-arraybuffer: 1.0.2 + vite-node@3.2.4(@types/node@24.2.1)(jiti@2.5.1)(lightningcss@1.30.1): dependencies: cac: 6.7.14 diff --git a/vite-app/src/components/ChartExport.tsx b/vite-app/src/components/ChartExport.tsx new file mode 100644 index 00000000..00572da7 --- /dev/null +++ b/vite-app/src/components/ChartExport.tsx @@ -0,0 +1,302 @@ +import React, { useRef, useCallback, useState } from "react"; +import { Chart as ChartJS, registerables } from "chart.js"; +import { Chart } from "react-chartjs-2"; +import html2canvas from "html2canvas-oklch"; +import Button from "./Button"; +import Select from "./Select"; + +// Register Chart.js components +ChartJS.register(...registerables); + +interface ChartExportProps> { + /** + * Pivot table data structure + */ + pivotData: { + rowKeyTuples: unknown[][]; + colKeyTuples: unknown[][]; + cells: Record>; + rowTotals: Record; + colTotals: Record; + grandTotal: number; + }; + /** + * Row fields configuration + */ + rowFields: (keyof T)[]; + /** + * Column fields configuration + */ + columnFields: (keyof T)[]; + /** + * Value field configuration + */ + valueField?: keyof T; + /** + * Aggregator type + */ + aggregator: string; + /** + * Chart type to render + */ + chartType?: "bar" | "line" | "doughnut" | "pie"; + /** + * Whether to show row totals + */ + showRowTotals?: boolean; + /** + * Whether to show column totals + */ + showColumnTotals?: boolean; +} + +type ChartType = "bar" | "line" | "doughnut" | "pie"; + +const ChartExport = >({ + pivotData, + rowFields, + columnFields, + valueField, + aggregator, + chartType = "bar", + showRowTotals = true, + showColumnTotals = true, +}: ChartExportProps) => { + const chartRef = useRef(null); + const [selectedChartType, setSelectedChartType] = + useState(chartType); + const [isExporting, setIsExporting] = useState(false); + + // Convert pivot data to Chart.js format + const getChartData = useCallback(() => { + const { rowKeyTuples, colKeyTuples, cells, rowTotals } = pivotData; + + if (selectedChartType === "bar" || selectedChartType === "line") { + // For bar/line charts, use row groups as labels and columns as datasets + const labels = rowKeyTuples.map((tuple) => + tuple.map((v) => String(v ?? "")).join(" / ") + ); + + const datasets = colKeyTuples.map((colTuple, colIdx) => { + const colKey = colTuple.map((v) => String(v ?? "")).join(" / "); + const colLabel = + columnFields.length > 0 ? colKey : `Column ${colIdx + 1}`; + + const data = rowKeyTuples.map((rowTuple) => { + const rowKey = rowTuple.map((v) => String(v ?? "")).join("||"); + const cell = cells[rowKey]?.[colKey]; + return cell ? cell.value : 0; + }); + + // Generate a color for each dataset + const hue = (colIdx * 137.5) % 360; + const color = `hsl(${hue}, 70%, 60%)`; + + return { + label: colLabel, + data, + backgroundColor: color, + borderColor: color, + borderWidth: 1, + type: selectedChartType as "bar" | "line", + }; + }); + + // Add row totals if enabled + if (showRowTotals) { + const totalData = rowKeyTuples.map((rowTuple) => { + const rowKey = rowTuple.map((v) => String(v ?? "")).join("||"); + return rowTotals[rowKey] ?? 0; + }); + + datasets.push({ + label: "Total", + data: totalData, + backgroundColor: "hsl(180, 60%, 60%)", + borderColor: "hsl(180, 60%, 60%)", + borderWidth: 2, + type: selectedChartType === "bar" ? "bar" : "line", + }); + } + + return { labels, datasets }; + } else { + // For pie/doughnut charts, aggregate all data into a single dataset + const aggregatedData: { [key: string]: number } = {}; + + // Sum up all cell values + Object.values(cells).forEach((colCells) => { + Object.values(colCells).forEach((cell) => { + const colKey = Object.keys(colCells).find( + (key) => colCells[key] === cell + ); + if (colKey) { + const label = colKey || "Unknown"; + aggregatedData[label] = (aggregatedData[label] || 0) + cell.value; + } + }); + }); + + const labels = Object.keys(aggregatedData); + const data = Object.values(aggregatedData); + const backgroundColor = labels.map((_, idx) => { + const hue = (idx * 137.5) % 360; + return `hsl(${hue}, 60%, 60%)`; + }); + + return { + labels, + datasets: [ + { + data, + backgroundColor, + borderColor: backgroundColor.map((color) => color), + borderWidth: 1, + }, + ], + }; + } + }, [pivotData, rowFields, columnFields, selectedChartType, showRowTotals]); + + const chartData = getChartData(); + + // Debug logging + console.log("Chart data:", chartData); + console.log("Chart type:", selectedChartType); + + // Don't render chart if no data + if (!chartData.labels.length || !chartData.datasets.length) { + return ( +
+
+ No data available for chart visualization. Please select row and + column fields. +
+
+ ); + } + + const chartOptions = { + responsive: true, + maintainAspectRatio: false, + plugins: { + title: { + display: true, + text: `Pivot Table: ${aggregator} of ${String( + valueField || "records" + )}`, + font: { + size: 16, + weight: "bold" as const, + }, + }, + legend: { + display: true, + position: "top" as const, + }, + tooltip: { + enabled: true, + }, + }, + scales: + selectedChartType === "bar" || selectedChartType === "line" + ? { + y: { + type: "linear" as const, + beginAtZero: true, + title: { + display: true, + text: aggregator === "count" ? "Count" : "Value", + }, + }, + x: { + type: "category" as const, + title: { + display: true, + text: rowFields.map((f) => String(f)).join(" / "), + }, + }, + } + : undefined, + }; + + const exportChartAsImage = useCallback(async () => { + if (!chartRef.current) return; + + setIsExporting(true); + try { + const canvas = await html2canvas(chartRef.current, { + backgroundColor: "#ffffff", + scale: 2, // Higher resolution + useCORS: true, + allowTaint: true, + }); + + // Create download link + const link = document.createElement("a"); + link.download = `pivot-chart-${selectedChartType}-${Date.now()}.png`; + link.href = canvas.toDataURL("image/png"); + link.click(); + } catch (error) { + console.error("Error exporting chart:", error); + } finally { + setIsExporting(false); + } + }, [selectedChartType]); + + const chartTypes: { value: ChartType; label: string }[] = [ + { value: "bar", label: "Bar Chart" }, + { value: "line", label: "Line Chart" }, + { value: "doughnut", label: "Doughnut Chart" }, + { value: "pie", label: "Pie Chart" }, + ]; + + return ( +
+
+

Chart Export

+
+ + +
+
+ +
+ Visualize your pivot table data as a chart and export it as a + high-resolution PNG image. You can adjust your browser window size to + change the exported image dimensions. +
+ +
+ +
+
+ ); +}; + +export default ChartExport; diff --git a/vite-app/src/components/PivotTab.tsx b/vite-app/src/components/PivotTab.tsx index 0daa4fc3..c9e34de0 100644 --- a/vite-app/src/components/PivotTab.tsx +++ b/vite-app/src/components/PivotTab.tsx @@ -1,11 +1,13 @@ import { observer } from "mobx-react"; import PivotTable from "./PivotTable"; +import ChartExport from "./ChartExport"; import SearchableSelect from "./SearchableSelect"; import Button from "./Button"; import FilterSelector from "./FilterSelector"; import { state } from "../App"; import { type FilterGroup } from "../types/filters"; import { createFilterFunction } from "../util/filter-utils"; +import { computePivot } from "../util/pivot"; interface FieldSelectorProps { title: string; @@ -262,6 +264,47 @@ const PivotTab = observer(() => { - Result: (field1 = "value1" AND field2 > 10) AND (field3 = "value3" OR field4 = "value4") */} + {/* Chart Export Component */} + {pivotConfig.selectedRowFields.some((field) => field !== "") && + pivotConfig.selectedColumnFields.some((field) => field !== "") && ( + field !== "" + ) as (keyof (typeof state.flattenedDataset)[number])[], + columnFields: pivotConfig.selectedColumnFields.filter( + (field) => field !== "" + ) as (keyof (typeof state.flattenedDataset)[number])[], + valueField: + pivotConfig.selectedValueField as keyof (typeof state.flattenedDataset)[number], + aggregator: pivotConfig.selectedAggregator as + | "count" + | "sum" + | "avg" + | "min" + | "max", + filter: createFilterFunction(state.filterConfig), + })} + rowFields={ + pivotConfig.selectedRowFields.filter( + (field) => field !== "" + ) as (keyof (typeof state.flattenedDataset)[number])[] + } + columnFields={ + pivotConfig.selectedColumnFields.filter( + (field) => field !== "" + ) as (keyof (typeof state.flattenedDataset)[number])[] + } + valueField={ + pivotConfig.selectedValueField as keyof (typeof state.flattenedDataset)[number] + } + aggregator={pivotConfig.selectedAggregator} + showRowTotals + showColumnTotals + /> + )} + >({ filter, }); - debugger; return ( From c368d197f75db36f47fcc398ba535f8bb341242f Mon Sep 17 00:00:00 2001 From: Dylan Huang Date: Sat, 16 Aug 2025 12:05:24 -0700 Subject: [PATCH 2/5] vite build / fix warnings --- .../{index-Dc1lntzy.js => index-C2gwzPFv.js} | 56 +++--- vite-app/dist/assets/index-C2gwzPFv.js.map | 1 + vite-app/dist/assets/index-Dc1lntzy.js.map | 1 - ...{index-CvsKHhRd.css => index-SA8VJz3D.css} | 2 +- vite-app/dist/index.html | 6 +- vite-app/src/components/ChartExport.tsx | 6 +- vite-app/src/components/PivotTab.tsx | 181 ++++++------------ vite-app/src/hooks/usePivotData.ts | 87 +++++++++ vite-app/src/util/field-processors.ts | 121 ++++++++++++ 9 files changed, 296 insertions(+), 165 deletions(-) rename vite-app/dist/assets/{index-Dc1lntzy.js => index-C2gwzPFv.js} (51%) create mode 100644 vite-app/dist/assets/index-C2gwzPFv.js.map delete mode 100644 vite-app/dist/assets/index-Dc1lntzy.js.map rename vite-app/dist/assets/{index-CvsKHhRd.css => index-SA8VJz3D.css} (67%) create mode 100644 vite-app/src/hooks/usePivotData.ts create mode 100644 vite-app/src/util/field-processors.ts diff --git a/vite-app/dist/assets/index-Dc1lntzy.js b/vite-app/dist/assets/index-C2gwzPFv.js similarity index 51% rename from vite-app/dist/assets/index-Dc1lntzy.js rename to vite-app/dist/assets/index-C2gwzPFv.js index d2d02e75..faa7d7ca 100644 --- a/vite-app/dist/assets/index-Dc1lntzy.js +++ b/vite-app/dist/assets/index-C2gwzPFv.js @@ -1,4 +1,4 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function A(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=A(i);fetch(i.href,a)}})();function G_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Cg={exports:{}},ho={};/** +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const o of a.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function A(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=A(i);fetch(i.href,a)}})();function Y_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _g={exports:{}},ho={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var rb;function a1(){if(rb)return ho;rb=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var u in i)u!=="key"&&(a[u]=i[u])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return ho.Fragment=t,ho.jsx=A,ho.jsxs=A,ho}var sb;function o1(){return sb||(sb=1,Cg.exports=a1()),Cg.exports}var x=o1(),_g={exports:{}},Ct={};/** + */var ab;function l1(){if(ab)return ho;ab=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var u in i)u!=="key"&&(a[u]=i[u])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return ho.Fragment=t,ho.jsx=A,ho.jsxs=A,ho}var ob;function u1(){return ob||(ob=1,_g.exports=l1()),_g.exports}var x=u1(),Qg={exports:{}},Ct={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ab;function l1(){if(ab)return Ct;ab=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),o=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),p=Symbol.iterator;function m(H){return H===null||typeof H!="object"?null:(H=p&&H[p]||H["@@iterator"],typeof H=="function"?H:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,y={};function Q(H,X,tt){this.props=H,this.context=X,this.refs=y,this.updater=tt||v}Q.prototype.isReactComponent={},Q.prototype.setState=function(H,X){if(typeof H!="object"&&typeof H!="function"&&H!=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,H,X,"setState")},Q.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function C(){}C.prototype=Q.prototype;function U(H,X,tt){this.props=H,this.context=X,this.refs=y,this.updater=tt||v}var E=U.prototype=new C;E.constructor=U,b(E,Q.prototype),E.isPureReactComponent=!0;var O=Array.isArray,F={H:null,A:null,T:null,S:null,V:null},T=Object.prototype.hasOwnProperty;function k(H,X,tt,q,W,ot){return tt=ot.ref,{$$typeof:e,type:H,key:X,ref:tt!==void 0?tt:null,props:ot}}function P(H,X){return k(H.type,X,void 0,void 0,void 0,H.props)}function R(H){return typeof H=="object"&&H!==null&&H.$$typeof===e}function J(H){var X={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(tt){return X[tt]})}var et=/\/+/g;function At(H,X){return typeof H=="object"&&H!==null&&H.key!=null?J(""+H.key):X.toString(36)}function lt(){}function bt(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(lt,lt):(H.status="pending",H.then(function(X){H.status==="pending"&&(H.status="fulfilled",H.value=X)},function(X){H.status==="pending"&&(H.status="rejected",H.reason=X)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function ut(H,X,tt,q,W){var ot=typeof H;(ot==="undefined"||ot==="boolean")&&(H=null);var st=!1;if(H===null)st=!0;else switch(ot){case"bigint":case"string":case"number":st=!0;break;case"object":switch(H.$$typeof){case e:case t:st=!0;break;case g:return st=H._init,ut(st(H._payload),X,tt,q,W)}}if(st)return W=W(H),st=q===""?"."+At(H,0):q,O(W)?(tt="",st!=null&&(tt=st.replace(et,"$&/")+"/"),ut(W,X,tt,"",function(xA){return xA})):W!=null&&(R(W)&&(W=P(W,tt+(W.key==null||H&&H.key===W.key?"":(""+W.key).replace(et,"$&/")+"/")+st)),X.push(W)),1;st=0;var we=q===""?".":q+":";if(O(H))for(var qt=0;qt>>1,H=I[dt];if(0>>1;dti(q,it))Wi(ot,q)?(I[dt]=ot,I[W]=it,dt=W):(I[dt]=q,I[tt]=it,dt=tt);else if(Wi(ot,it))I[dt]=ot,I[W]=it,dt=W;else break t}}return Y}function i(I,Y){var it=I.sortIndex-Y.sortIndex;return it!==0?it:I.id-Y.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var c=[],h=[],g=1,p=null,m=3,v=!1,b=!1,y=!1,Q=!1,C=typeof setTimeout=="function"?setTimeout:null,U=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function O(I){for(var Y=A(h);Y!==null;){if(Y.callback===null)n(h);else if(Y.startTime<=I)n(h),Y.sortIndex=Y.expirationTime,t(c,Y);else break;Y=A(h)}}function F(I){if(y=!1,O(I),!b)if(A(c)!==null)b=!0,T||(T=!0,At());else{var Y=A(h);Y!==null&&ut(F,Y.startTime-I)}}var T=!1,k=-1,P=5,R=-1;function J(){return Q?!0:!(e.unstable_now()-RI&&J());){var dt=p.callback;if(typeof dt=="function"){p.callback=null,m=p.priorityLevel;var H=dt(p.expirationTime<=I);if(I=e.unstable_now(),typeof H=="function"){p.callback=H,O(I),Y=!0;break e}p===A(c)&&n(c),O(I)}else n(c);p=A(c)}if(p!==null)Y=!0;else{var X=A(h);X!==null&&ut(F,X.startTime-I),Y=!1}}break t}finally{p=null,m=it,v=!1}Y=void 0}}finally{Y?At():T=!1}}}var At;if(typeof E=="function")At=function(){E(et)};else if(typeof MessageChannel<"u"){var lt=new MessageChannel,bt=lt.port2;lt.port1.onmessage=et,At=function(){bt.postMessage(null)}}else At=function(){C(et,0)};function ut(I,Y){k=C(function(){I(e.unstable_now())},Y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125dt?(I.sortIndex=it,t(h,I),A(c)===null&&I===A(h)&&(y?(U(k),k=-1):y=!0,ut(F,it-dt))):(I.sortIndex=H,t(c,I),b||v||(b=!0,T||(T=!0,At()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var Y=m;return function(){var it=m;m=Y;try{return I.apply(this,arguments)}finally{m=it}}}}(xg)),xg}var ub;function c1(){return ub||(ub=1,Ug.exports=u1()),Ug.exports}var Fg={exports:{}},Ve={};/** + */var cb;function f1(){return cb||(cb=1,function(e){function t(I,Y){var it=I.length;I.push(Y);t:for(;0>>1,H=I[ht];if(0>>1;hti(q,it))Wi(ot,q)?(I[ht]=ot,I[W]=it,ht=W):(I[ht]=q,I[tt]=it,ht=tt);else if(Wi(ot,it))I[ht]=ot,I[W]=it,ht=W;else break t}}return Y}function i(I,Y){var it=I.sortIndex-Y.sortIndex;return it!==0?it:I.id-Y.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var c=[],h=[],g=1,B=null,m=3,v=!1,b=!1,y=!1,Q=!1,C=typeof setTimeout=="function"?setTimeout:null,U=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function O(I){for(var Y=A(h);Y!==null;){if(Y.callback===null)n(h);else if(Y.startTime<=I)n(h),Y.sortIndex=Y.expirationTime,t(c,Y);else break;Y=A(h)}}function F(I){if(y=!1,O(I),!b)if(A(c)!==null)b=!0,T||(T=!0,At());else{var Y=A(h);Y!==null&&ut(F,Y.startTime-I)}}var T=!1,k=-1,P=5,R=-1;function J(){return Q?!0:!(e.unstable_now()-RI&&J());){var ht=B.callback;if(typeof ht=="function"){B.callback=null,m=B.priorityLevel;var H=ht(B.expirationTime<=I);if(I=e.unstable_now(),typeof H=="function"){B.callback=H,O(I),Y=!0;break e}B===A(c)&&n(c),O(I)}else n(c);B=A(c)}if(B!==null)Y=!0;else{var X=A(h);X!==null&&ut(F,X.startTime-I),Y=!1}}break t}finally{B=null,m=it,v=!1}Y=void 0}}finally{Y?At():T=!1}}}var At;if(typeof E=="function")At=function(){E(et)};else if(typeof MessageChannel<"u"){var lt=new MessageChannel,bt=lt.port2;lt.port1.onmessage=et,At=function(){bt.postMessage(null)}}else At=function(){C(et,0)};function ut(I,Y){k=C(function(){I(e.unstable_now())},Y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125ht?(I.sortIndex=it,t(h,I),A(c)===null&&I===A(h)&&(y?(U(k),k=-1):y=!0,ut(F,it-ht))):(I.sortIndex=H,t(c,I),b||v||(b=!0,T||(T=!0,At()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var Y=m;return function(){var it=m;m=Y;try{return I.apply(this,arguments)}finally{m=it}}}}(Fg)),Fg}var fb;function h1(){return fb||(fb=1,xg.exports=f1()),xg.exports}var Eg={exports:{}},Ve={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var cb;function f1(){if(cb)return Ve;cb=1;var e=Ef();function t(c){var h="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Fg.exports=f1(),Fg.exports}/** + */var hb;function d1(){if(hb)return Ve;hb=1;var e=Hf();function t(c){var h="https://react.dev/errors/"+c;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Eg.exports=d1(),Eg.exports}/** * @license React * react-dom-client.production.js * @@ -38,15 +38,15 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var hb;function h1(){if(hb)return go;hb=1;var e=c1(),t=Ef(),A=X_();function n(r){var s="https://react.dev/errors/"+r;if(1H||(r.current=dt[H],dt[H]=null,H--)}function q(r,s){H++,dt[H]=r.current,r.current=s}var W=X(null),ot=X(null),st=X(null),we=X(null);function qt(r,s){switch(q(st,s),q(ot,r),q(W,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Tw(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Tw(s),r=Dw(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}tt(W),q(W,r)}function xA(){tt(W),tt(ot),tt(st)}function da(r){r.memoizedState!==null&&q(we,r);var s=W.current,l=Dw(s,r.type);s!==l&&(q(ot,r),q(W,l))}function Wr(r){ot.current===r&&(tt(W),tt(ot)),we.current===r&&(tt(we),oo._currentValue=it)}var li=Object.prototype.hasOwnProperty,ui=e.unstable_scheduleCallback,ga=e.unstable_cancelCallback,fm=e.unstable_shouldYield,KF=e.unstable_requestPaint,an=e.unstable_now,kF=e.unstable_getCurrentPriorityLevel,hm=e.unstable_ImmediatePriority,dm=e.unstable_UserBlockingPriority,Ul=e.unstable_NormalPriority,zF=e.unstable_LowPriority,gm=e.unstable_IdlePriority,VF=e.log,PF=e.unstable_setDisableYieldValue,pa=null,fA=null;function ci(r){if(typeof VF=="function"&&PF(r),fA&&typeof fA.setStrictMode=="function")try{fA.setStrictMode(pa,r)}catch{}}var hA=Math.clz32?Math.clz32:XF,jF=Math.log,GF=Math.LN2;function XF(r){return r>>>=0,r===0?32:31-(jF(r)/GF|0)|0}var xl=256,Fl=4194304;function nr(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function El(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var d=0,B=r.suspendedLanes,w=r.pingedLanes;r=r.warmLanes;var _=f&134217727;return _!==0?(f=_&~B,f!==0?d=nr(f):(w&=_,w!==0?d=nr(w):l||(l=_&~r,l!==0&&(d=nr(l))))):(_=f&~B,_!==0?d=nr(_):w!==0?d=nr(w):l||(l=f&~r,l!==0&&(d=nr(l)))),d===0?0:s!==0&&s!==d&&(s&B)===0&&(B=d&-d,l=s&-s,B>=l||B===32&&(l&4194048)!==0)?s:d}function Ba(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function ZF(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 pm(){var r=xl;return xl<<=1,(xl&4194048)===0&&(xl=256),r}function Bm(){var r=Fl;return Fl<<=1,(Fl&62914560)===0&&(Fl=4194304),r}function fh(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function ma(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function YF(r,s,l,f,d,B){var w=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var _=r.entanglements,S=r.expirationTimes,K=r.hiddenUpdates;for(l=w&~l;0H||(r.current=ht[H],ht[H]=null,H--)}function q(r,s){H++,ht[H]=r.current,r.current=s}var W=X(null),ot=X(null),st=X(null),be=X(null);function qt(r,s){switch(q(st,s),q(ot,r),q(W,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Mw(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Mw(s),r=Lw(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}tt(W),q(W,r)}function FA(){tt(W),tt(ot),tt(st)}function da(r){r.memoizedState!==null&&q(be,r);var s=W.current,l=Lw(s,r.type);s!==l&&(q(ot,r),q(W,l))}function $r(r){ot.current===r&&(tt(W),tt(ot)),be.current===r&&(tt(be),oo._currentValue=it)}var ui=Object.prototype.hasOwnProperty,ci=e.unstable_scheduleCallback,ga=e.unstable_cancelCallback,dm=e.unstable_shouldYield,zF=e.unstable_requestPaint,an=e.unstable_now,VF=e.unstable_getCurrentPriorityLevel,gm=e.unstable_ImmediatePriority,pm=e.unstable_UserBlockingPriority,xl=e.unstable_NormalPriority,PF=e.unstable_LowPriority,Bm=e.unstable_IdlePriority,jF=e.log,GF=e.unstable_setDisableYieldValue,pa=null,fA=null;function fi(r){if(typeof jF=="function"&&GF(r),fA&&typeof fA.setStrictMode=="function")try{fA.setStrictMode(pa,r)}catch{}}var hA=Math.clz32?Math.clz32:YF,XF=Math.log,ZF=Math.LN2;function YF(r){return r>>>=0,r===0?32:31-(XF(r)/ZF|0)|0}var Fl=256,El=4194304;function nr(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Sl(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var d=0,p=r.suspendedLanes,w=r.pingedLanes;r=r.warmLanes;var _=f&134217727;return _!==0?(f=_&~p,f!==0?d=nr(f):(w&=_,w!==0?d=nr(w):l||(l=_&~r,l!==0&&(d=nr(l))))):(_=f&~p,_!==0?d=nr(_):w!==0?d=nr(w):l||(l=f&~r,l!==0&&(d=nr(l)))),d===0?0:s!==0&&s!==d&&(s&p)===0&&(p=d&-d,l=s&-s,p>=l||p===32&&(l&4194048)!==0)?s:d}function Ba(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function WF(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 mm(){var r=Fl;return Fl<<=1,(Fl&4194048)===0&&(Fl=256),r}function vm(){var r=El;return El<<=1,(El&62914560)===0&&(El=4194304),r}function hh(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function ma(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function $F(r,s,l,f,d,p){var w=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var _=r.entanglements,S=r.expirationTimes,K=r.hiddenUpdates;for(l=w&~l;0)":-1d||S[f]!==K[d]){var j=` -`+S[f].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=f&&0<=d);break}}}finally{mh=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?As(l):""}function eE(r){switch(r.tag){case 26:case 27:case 5:return As(r.type);case 16:return As("Lazy");case 13:return As("Suspense");case 19:return As("SuspenseList");case 0:case 15:return vh(r.type,!1);case 11:return vh(r.type.render,!1);case 1:return vh(r.type,!0);case 31:return As("Activity");default:return""}}function xm(r){try{var s="";do s+=eE(r),r=r.return;while(r);return s}catch(l){return` +`+S[f].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=f&&0<=d);break}}}finally{vh=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?ns(l):""}function nE(r){switch(r.tag){case 26:case 27:case 5:return ns(r.type);case 16:return ns("Lazy");case 13:return ns("Suspense");case 19:return ns("SuspenseList");case 0:case 15:return wh(r.type,!1);case 11:return wh(r.type.render,!1);case 1:return wh(r.type,!0);case 31:return ns("Activity");default:return""}}function Em(r){try{var s="";do s+=nE(r),r=r.return;while(r);return s}catch(l){return` Error generating stack: `+l.message+` -`+l.stack}}function FA(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Fm(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function AE(r){var s=Fm(r)?"checked":"value",l=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),f=""+r[s];if(!r.hasOwnProperty(s)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var d=l.get,B=l.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(w){f=""+w,B.call(this,w)}}),Object.defineProperty(r,s,{enumerable:l.enumerable}),{getValue:function(){return f},setValue:function(w){f=""+w},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function Ol(r){r._valueTracker||(r._valueTracker=AE(r))}function Em(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var l=s.getValue(),f="";return r&&(f=Fm(r)?r.checked?"true":"false":r.value),r=f,r!==l?(s.setValue(r),!0):!1}function Tl(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var nE=/[\n"\\]/g;function EA(r){return r.replace(nE,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function wh(r,s,l,f,d,B,w,_){r.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?r.type=w:r.removeAttribute("type"),s!=null?w==="number"?(s===0&&r.value===""||r.value!=s)&&(r.value=""+FA(s)):r.value!==""+FA(s)&&(r.value=""+FA(s)):w!=="submit"&&w!=="reset"||r.removeAttribute("value"),s!=null?bh(r,w,FA(s)):l!=null?bh(r,w,FA(l)):f!=null&&r.removeAttribute("value"),d==null&&B!=null&&(r.defaultChecked=!!B),d!=null&&(r.checked=d&&typeof d!="function"&&typeof d!="symbol"),_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?r.name=""+FA(_):r.removeAttribute("name")}function Sm(r,s,l,f,d,B,w,_){if(B!=null&&typeof B!="function"&&typeof B!="symbol"&&typeof B!="boolean"&&(r.type=B),s!=null||l!=null){if(!(B!=="submit"&&B!=="reset"||s!=null))return;l=l!=null?""+FA(l):"",s=s!=null?""+FA(s):l,_||s===r.value||(r.value=s),r.defaultValue=s}f=f??d,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=_?r.checked:!!f,r.defaultChecked=!!f,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(r.name=w)}function bh(r,s,l){s==="number"&&Tl(r.ownerDocument)===r||r.defaultValue===""+l||(r.defaultValue=""+l)}function ns(r,s,l,f){if(r=r.options,s){s={};for(var d=0;d"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Uh=!1;if(Fn)try{var ya={};Object.defineProperty(ya,"passive",{get:function(){Uh=!0}}),window.addEventListener("test",ya,ya),window.removeEventListener("test",ya,ya)}catch{Uh=!1}var hi=null,xh=null,Ml=null;function Im(){if(Ml)return Ml;var r,s=xh,l=s.length,f,d="value"in hi?hi.value:hi.textContent,B=d.length;for(r=0;r=Qa),Vm=" ",Pm=!1;function jm(r,s){switch(r){case"keyup":return HE.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gm(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var as=!1;function TE(r,s){switch(r){case"compositionend":return Gm(s);case"keypress":return s.which!==32?null:(Pm=!0,Vm);case"textInput":return r=s.data,r===Vm&&Pm?null:r;default:return null}}function DE(r,s){if(as)return r==="compositionend"||!Oh&&jm(r,s)?(r=Im(),Ml=xh=hi=null,as=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:l,offset:s-r};r=f}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=t0(l)}}function A0(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?A0(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function n0(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var s=Tl(r.document);s instanceof r.HTMLIFrameElement;){try{var l=typeof s.contentWindow.location.href=="string"}catch{l=!1}if(l)r=s.contentWindow;else break;s=Tl(r.document)}return s}function Mh(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}var zE=Fn&&"documentMode"in document&&11>=document.documentMode,os=null,Lh=null,Ea=null,Ih=!1;function i0(r,s,l){var f=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Ih||os==null||os!==Tl(f)||(f=os,"selectionStart"in f&&Mh(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Ea&&Fa(Ea,f)||(Ea=f,f=Qu(Lh,"onSelect"),0>=w,d-=w,Sn=1<<32-hA(s)+d|l<B?B:8;var w=I.T,_={};I.T=_,yd(r,!1,s,l);try{var S=d(),K=I.S;if(K!==null&&K(_,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var j=$E(S,f);Pa(r,s,j,vA(r))}else Pa(r,s,f,vA(r))}catch($){Pa(r,s,{then:function(){},status:"rejected",reason:$},vA())}finally{Y.p=B,I.T=w}}function AS(){}function wd(r,s,l,f){if(r.tag!==5)throw Error(n(476));var d=rv(r).queue;iv(r,d,s,it,l===null?AS:function(){return sv(r),l(f)})}function rv(r){var s=r.memoizedState;if(s!==null)return s;s={memoizedState:it,baseState:it,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:it},next:null};var l={};return s.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:l},next:null},r.memoizedState=s,r=r.alternate,r!==null&&(r.memoizedState=s),s}function sv(r){var s=rv(r).next.queue;Pa(r,s,{},vA())}function bd(){return ze(oo)}function av(){return ye().memoizedState}function ov(){return ye().memoizedState}function nS(r){for(var s=r.return;s!==null;){switch(s.tag){case 24:case 3:var l=vA();r=pi(l);var f=Bi(s,r,l);f!==null&&(wA(f,s,l),Ra(f,s,l)),s={cache:$h()},r.payload=s;return}s=s.return}}function iS(r,s,l){var f=vA();l={lane:f,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null},ru(r)?uv(s,l):(l=kh(r,s,l,f),l!==null&&(wA(l,r,f),cv(l,s,f)))}function lv(r,s,l){var f=vA();Pa(r,s,l,f)}function Pa(r,s,l,f){var d={lane:f,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null};if(ru(r))uv(s,d);else{var B=r.alternate;if(r.lanes===0&&(B===null||B.lanes===0)&&(B=s.lastRenderedReducer,B!==null))try{var w=s.lastRenderedState,_=B(w,l);if(d.hasEagerState=!0,d.eagerState=_,dA(_,w))return zl(r,s,d,0),Zt===null&&kl(),!1}catch{}finally{}if(l=kh(r,s,d,f),l!==null)return wA(l,r,f),cv(l,s,f),!0}return!1}function yd(r,s,l,f){if(f={lane:2,revertLane:tg(),action:f,hasEagerState:!1,eagerState:null,next:null},ru(r)){if(s)throw Error(n(479))}else s=kh(r,l,f,2),s!==null&&wA(s,r,2)}function ru(r){var s=r.alternate;return r===_t||s!==null&&s===_t}function uv(r,s){ms=ql=!0;var l=r.pending;l===null?s.next=s:(s.next=l.next,l.next=s),r.pending=s}function cv(r,s,l){if((l&4194048)!==0){var f=s.lanes;f&=r.pendingLanes,l|=f,s.lanes=l,vm(r,l)}}var su={readContext:ze,use:eu,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},fv={readContext:ze,use:eu,useCallback:function(r,s){return AA().memoizedState=[r,s===void 0?null:s],r},useContext:ze,useEffect:Y0,useImperativeHandle:function(r,s,l){l=l!=null?l.concat([r]):null,iu(4194308,4,q0.bind(null,s,r),l)},useLayoutEffect:function(r,s){return iu(4194308,4,r,s)},useInsertionEffect:function(r,s){iu(4,2,r,s)},useMemo:function(r,s){var l=AA();s=s===void 0?null:s;var f=r();if(pr){ci(!0);try{r()}finally{ci(!1)}}return l.memoizedState=[f,s],f},useReducer:function(r,s,l){var f=AA();if(l!==void 0){var d=l(s);if(pr){ci(!0);try{l(s)}finally{ci(!1)}}}else d=s;return f.memoizedState=f.baseState=d,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:d},f.queue=r,r=r.dispatch=iS.bind(null,_t,r),[f.memoizedState,r]},useRef:function(r){var s=AA();return r={current:r},s.memoizedState=r},useState:function(r){r=pd(r);var s=r.queue,l=lv.bind(null,_t,s);return s.dispatch=l,[r.memoizedState,l]},useDebugValue:md,useDeferredValue:function(r,s){var l=AA();return vd(l,r,s)},useTransition:function(){var r=pd(!1);return r=iv.bind(null,_t,r.queue,!0,!1),AA().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,s,l){var f=_t,d=AA();if(Lt){if(l===void 0)throw Error(n(407));l=l()}else{if(l=s(),Zt===null)throw Error(n(349));(Ht&124)!==0||T0(f,s,l)}d.memoizedState=l;var B={value:l,getSnapshot:s};return d.queue=B,Y0(M0.bind(null,f,B,r),[r]),f.flags|=2048,ws(9,nu(),D0.bind(null,f,B,l,s),null),l},useId:function(){var r=AA(),s=Zt.identifierPrefix;if(Lt){var l=Hn,f=Sn;l=(f&~(1<<32-hA(f)-1)).toString(32)+l,s="«"+s+"R"+l,l=tu++,0mt?(He=pt,pt=null):He=pt.sibling;var Tt=z(L,pt,N[mt],Z);if(Tt===null){pt===null&&(pt=He);break}r&&pt&&Tt.alternate===null&&s(L,pt),D=B(Tt,D,mt),Qt===null?ft=Tt:Qt.sibling=Tt,Qt=Tt,pt=He}if(mt===N.length)return l(L,pt),Lt&&ur(L,mt),ft;if(pt===null){for(;mtmt?(He=pt,pt=null):He=pt.sibling;var Di=z(L,pt,Tt.value,Z);if(Di===null){pt===null&&(pt=He);break}r&&pt&&Di.alternate===null&&s(L,pt),D=B(Di,D,mt),Qt===null?ft=Di:Qt.sibling=Di,Qt=Di,pt=He}if(Tt.done)return l(L,pt),Lt&&ur(L,mt),ft;if(pt===null){for(;!Tt.done;mt++,Tt=N.next())Tt=$(L,Tt.value,Z),Tt!==null&&(D=B(Tt,D,mt),Qt===null?ft=Tt:Qt.sibling=Tt,Qt=Tt);return Lt&&ur(L,mt),ft}for(pt=f(pt);!Tt.done;mt++,Tt=N.next())Tt=V(pt,L,mt,Tt.value,Z),Tt!==null&&(r&&Tt.alternate!==null&&pt.delete(Tt.key===null?mt:Tt.key),D=B(Tt,D,mt),Qt===null?ft=Tt:Qt.sibling=Tt,Qt=Tt);return r&&pt.forEach(function(s1){return s(L,s1)}),Lt&&ur(L,mt),ft}function Vt(L,D,N,Z){if(typeof N=="object"&&N!==null&&N.type===b&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case m:t:{for(var ft=N.key;D!==null;){if(D.key===ft){if(ft=N.type,ft===b){if(D.tag===7){l(L,D.sibling),Z=d(D,N.props.children),Z.return=L,L=Z;break t}}else if(D.elementType===ft||typeof ft=="object"&&ft!==null&&ft.$$typeof===P&&dv(ft)===D.type){l(L,D.sibling),Z=d(D,N.props),Ga(Z,N),Z.return=L,L=Z;break t}l(L,D);break}else s(L,D);D=D.sibling}N.type===b?(Z=or(N.props.children,L.mode,Z,N.key),Z.return=L,L=Z):(Z=Pl(N.type,N.key,N.props,null,L.mode,Z),Ga(Z,N),Z.return=L,L=Z)}return w(L);case v:t:{for(ft=N.key;D!==null;){if(D.key===ft)if(D.tag===4&&D.stateNode.containerInfo===N.containerInfo&&D.stateNode.implementation===N.implementation){l(L,D.sibling),Z=d(D,N.children||[]),Z.return=L,L=Z;break t}else{l(L,D);break}else s(L,D);D=D.sibling}Z=Ph(N,L.mode,Z),Z.return=L,L=Z}return w(L);case P:return ft=N._init,N=ft(N._payload),Vt(L,D,N,Z)}if(ut(N))return vt(L,D,N,Z);if(At(N)){if(ft=At(N),typeof ft!="function")throw Error(n(150));return N=ft.call(N),Bt(L,D,N,Z)}if(typeof N.then=="function")return Vt(L,D,au(N),Z);if(N.$$typeof===E)return Vt(L,D,Zl(L,N),Z);ou(L,N)}return typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint"?(N=""+N,D!==null&&D.tag===6?(l(L,D.sibling),Z=d(D,N),Z.return=L,L=Z):(l(L,D),Z=Vh(N,L.mode,Z),Z.return=L,L=Z),w(L)):l(L,D)}return function(L,D,N,Z){try{ja=0;var ft=Vt(L,D,N,Z);return bs=null,ft}catch(pt){if(pt===La||pt===Wl)throw pt;var Qt=gA(29,pt,null,L.mode);return Qt.lanes=Z,Qt.return=L,Qt}finally{}}}var ys=gv(!0),pv=gv(!1),DA=X(null),ln=null;function vi(r){var s=r.alternate;q(Qe,Qe.current&1),q(DA,r),ln===null&&(s===null||Bs.current!==null||s.memoizedState!==null)&&(ln=r)}function Bv(r){if(r.tag===22){if(q(Qe,Qe.current),q(DA,r),ln===null){var s=r.alternate;s!==null&&s.memoizedState!==null&&(ln=r)}}else wi()}function wi(){q(Qe,Qe.current),q(DA,DA.current)}function Mn(r){tt(DA),ln===r&&(ln=null),tt(Qe)}var Qe=X(0);function lu(r){for(var s=r;s!==null;){if(s.tag===13){var l=s.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||fg(l)))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===r)break;for(;s.sibling===null;){if(s.return===null||s.return===r)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}function Cd(r,s,l,f){s=r.memoizedState,l=l(f,s),l=l==null?s:g({},s,l),r.memoizedState=l,r.lanes===0&&(r.updateQueue.baseState=l)}var _d={enqueueSetState:function(r,s,l){r=r._reactInternals;var f=vA(),d=pi(f);d.payload=s,l!=null&&(d.callback=l),s=Bi(r,d,f),s!==null&&(wA(s,r,f),Ra(s,r,f))},enqueueReplaceState:function(r,s,l){r=r._reactInternals;var f=vA(),d=pi(f);d.tag=1,d.payload=s,l!=null&&(d.callback=l),s=Bi(r,d,f),s!==null&&(wA(s,r,f),Ra(s,r,f))},enqueueForceUpdate:function(r,s){r=r._reactInternals;var l=vA(),f=pi(l);f.tag=2,s!=null&&(f.callback=s),s=Bi(r,f,l),s!==null&&(wA(s,r,l),Ra(s,r,l))}};function mv(r,s,l,f,d,B,w){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,B,w):s.prototype&&s.prototype.isPureReactComponent?!Fa(l,f)||!Fa(d,B):!0}function vv(r,s,l,f){r=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(l,f),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(l,f),s.state!==r&&_d.enqueueReplaceState(s,s.state,null)}function Br(r,s){var l=s;if("ref"in s){l={};for(var f in s)f!=="ref"&&(l[f]=s[f])}if(r=r.defaultProps){l===s&&(l=g({},l));for(var d in r)l[d]===void 0&&(l[d]=r[d])}return l}var uu=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)};function wv(r){uu(r)}function bv(r){console.error(r)}function yv(r){uu(r)}function cu(r,s){try{var l=r.onUncaughtError;l(s.value,{componentStack:s.stack})}catch(f){setTimeout(function(){throw f})}}function Cv(r,s,l){try{var f=r.onCaughtError;f(l.value,{componentStack:l.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function Qd(r,s,l){return l=pi(l),l.tag=3,l.payload={element:null},l.callback=function(){cu(r,s)},l}function _v(r){return r=pi(r),r.tag=3,r}function Qv(r,s,l,f){var d=l.type.getDerivedStateFromError;if(typeof d=="function"){var B=f.value;r.payload=function(){return d(B)},r.callback=function(){Cv(s,l,f)}}var w=l.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(r.callback=function(){Cv(s,l,f),typeof d!="function"&&(Ui===null?Ui=new Set([this]):Ui.add(this));var _=f.stack;this.componentDidCatch(f.value,{componentStack:_!==null?_:""})})}function sS(r,s,l,f,d){if(l.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(s=l.alternate,s!==null&&Ta(s,l,d,!0),l=DA.current,l!==null){switch(l.tag){case 13:return ln===null?Yd():l.alternate===null&&he===0&&(he=3),l.flags&=-257,l.flags|=65536,l.lanes=d,f===td?l.flags|=16384:(s=l.updateQueue,s===null?l.updateQueue=new Set([f]):s.add(f),$d(r,f,d)),!1;case 22:return l.flags|=65536,f===td?l.flags|=16384:(s=l.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([f])},l.updateQueue=s):(l=s.retryQueue,l===null?s.retryQueue=new Set([f]):l.add(f)),$d(r,f,d)),!1}throw Error(n(435,l.tag))}return $d(r,f,d),Yd(),!1}if(Lt)return s=DA.current,s!==null?((s.flags&65536)===0&&(s.flags|=256),s.flags|=65536,s.lanes=d,f!==Xh&&(r=Error(n(422),{cause:f}),Oa(SA(r,l)))):(f!==Xh&&(s=Error(n(423),{cause:f}),Oa(SA(s,l))),r=r.current.alternate,r.flags|=65536,d&=-d,r.lanes|=d,f=SA(f,l),d=Qd(r.stateNode,f,d),nd(r,d),he!==4&&(he=2)),!1;var B=Error(n(520),{cause:f});if(B=SA(B,l),qa===null?qa=[B]:qa.push(B),he!==4&&(he=2),s===null)return!0;f=SA(f,l),l=s;do{switch(l.tag){case 3:return l.flags|=65536,r=d&-d,l.lanes|=r,r=Qd(l.stateNode,f,r),nd(l,r),!1;case 1:if(s=l.type,B=l.stateNode,(l.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||B!==null&&typeof B.componentDidCatch=="function"&&(Ui===null||!Ui.has(B))))return l.flags|=65536,d&=-d,l.lanes|=d,d=_v(d),Qv(d,r,l,f),nd(l,d),!1}l=l.return}while(l!==null);return!1}var Uv=Error(n(461)),Ee=!1;function Me(r,s,l,f){s.child=r===null?pv(s,null,l,f):ys(s,r.child,l,f)}function xv(r,s,l,f,d){l=l.render;var B=s.ref;if("ref"in f){var w={};for(var _ in f)_!=="ref"&&(w[_]=f[_])}else w=f;return dr(s),f=od(r,s,l,w,B,d),_=ld(),r!==null&&!Ee?(ud(r,s,d),Ln(r,s,d)):(Lt&&_&&jh(s),s.flags|=1,Me(r,s,f,d),s.child)}function Fv(r,s,l,f,d){if(r===null){var B=l.type;return typeof B=="function"&&!zh(B)&&B.defaultProps===void 0&&l.compare===null?(s.tag=15,s.type=B,Ev(r,s,B,f,d)):(r=Pl(l.type,null,f,s,s.mode,d),r.ref=s.ref,r.return=s,s.child=r)}if(B=r.child,!Td(r,d)){var w=B.memoizedProps;if(l=l.compare,l=l!==null?l:Fa,l(w,f)&&r.ref===s.ref)return Ln(r,s,d)}return s.flags|=1,r=En(B,f),r.ref=s.ref,r.return=s,s.child=r}function Ev(r,s,l,f,d){if(r!==null){var B=r.memoizedProps;if(Fa(B,f)&&r.ref===s.ref)if(Ee=!1,s.pendingProps=f=B,Td(r,d))(r.flags&131072)!==0&&(Ee=!0);else return s.lanes=r.lanes,Ln(r,s,d)}return Ud(r,s,l,f,d)}function Sv(r,s,l){var f=s.pendingProps,d=f.children,B=r!==null?r.memoizedState:null;if(f.mode==="hidden"){if((s.flags&128)!==0){if(f=B!==null?B.baseLanes|l:l,r!==null){for(d=s.child=r.child,B=0;d!==null;)B=B|d.lanes|d.childLanes,d=d.sibling;s.childLanes=B&~f}else s.childLanes=0,s.child=null;return Hv(r,s,f,l)}if((l&536870912)!==0)s.memoizedState={baseLanes:0,cachePool:null},r!==null&&Yl(s,B!==null?B.cachePool:null),B!==null?E0(s,B):rd(),Bv(s);else return s.lanes=s.childLanes=536870912,Hv(r,s,B!==null?B.baseLanes|l:l,l)}else B!==null?(Yl(s,B.cachePool),E0(s,B),wi(),s.memoizedState=null):(r!==null&&Yl(s,null),rd(),wi());return Me(r,s,d,l),s.child}function Hv(r,s,l,f){var d=qh();return d=d===null?null:{parent:_e._currentValue,pool:d},s.memoizedState={baseLanes:l,cachePool:d},r!==null&&Yl(s,null),rd(),Bv(s),r!==null&&Ta(r,s,f,!0),null}function fu(r,s){var l=s.ref;if(l===null)r!==null&&r.ref!==null&&(s.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(n(284));(r===null||r.ref!==l)&&(s.flags|=4194816)}}function Ud(r,s,l,f,d){return dr(s),l=od(r,s,l,f,void 0,d),f=ld(),r!==null&&!Ee?(ud(r,s,d),Ln(r,s,d)):(Lt&&f&&jh(s),s.flags|=1,Me(r,s,l,d),s.child)}function Ov(r,s,l,f,d,B){return dr(s),s.updateQueue=null,l=H0(s,f,l,d),S0(r),f=ld(),r!==null&&!Ee?(ud(r,s,B),Ln(r,s,B)):(Lt&&f&&jh(s),s.flags|=1,Me(r,s,l,B),s.child)}function Tv(r,s,l,f,d){if(dr(s),s.stateNode===null){var B=fs,w=l.contextType;typeof w=="object"&&w!==null&&(B=ze(w)),B=new l(f,B),s.memoizedState=B.state!==null&&B.state!==void 0?B.state:null,B.updater=_d,s.stateNode=B,B._reactInternals=s,B=s.stateNode,B.props=f,B.state=s.memoizedState,B.refs={},ed(s),w=l.contextType,B.context=typeof w=="object"&&w!==null?ze(w):fs,B.state=s.memoizedState,w=l.getDerivedStateFromProps,typeof w=="function"&&(Cd(s,l,w,f),B.state=s.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof B.getSnapshotBeforeUpdate=="function"||typeof B.UNSAFE_componentWillMount!="function"&&typeof B.componentWillMount!="function"||(w=B.state,typeof B.componentWillMount=="function"&&B.componentWillMount(),typeof B.UNSAFE_componentWillMount=="function"&&B.UNSAFE_componentWillMount(),w!==B.state&&_d.enqueueReplaceState(B,B.state,null),Ka(s,f,B,d),Na(),B.state=s.memoizedState),typeof B.componentDidMount=="function"&&(s.flags|=4194308),f=!0}else if(r===null){B=s.stateNode;var _=s.memoizedProps,S=Br(l,_);B.props=S;var K=B.context,j=l.contextType;w=fs,typeof j=="object"&&j!==null&&(w=ze(j));var $=l.getDerivedStateFromProps;j=typeof $=="function"||typeof B.getSnapshotBeforeUpdate=="function",_=s.pendingProps!==_,j||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(_||K!==w)&&vv(s,B,f,w),gi=!1;var z=s.memoizedState;B.state=z,Ka(s,f,B,d),Na(),K=s.memoizedState,_||z!==K||gi?(typeof $=="function"&&(Cd(s,l,$,f),K=s.memoizedState),(S=gi||mv(s,l,S,f,z,K,w))?(j||typeof B.UNSAFE_componentWillMount!="function"&&typeof B.componentWillMount!="function"||(typeof B.componentWillMount=="function"&&B.componentWillMount(),typeof B.UNSAFE_componentWillMount=="function"&&B.UNSAFE_componentWillMount()),typeof B.componentDidMount=="function"&&(s.flags|=4194308)):(typeof B.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=f,s.memoizedState=K),B.props=f,B.state=K,B.context=w,f=S):(typeof B.componentDidMount=="function"&&(s.flags|=4194308),f=!1)}else{B=s.stateNode,Ad(r,s),w=s.memoizedProps,j=Br(l,w),B.props=j,$=s.pendingProps,z=B.context,K=l.contextType,S=fs,typeof K=="object"&&K!==null&&(S=ze(K)),_=l.getDerivedStateFromProps,(K=typeof _=="function"||typeof B.getSnapshotBeforeUpdate=="function")||typeof B.UNSAFE_componentWillReceiveProps!="function"&&typeof B.componentWillReceiveProps!="function"||(w!==$||z!==S)&&vv(s,B,f,S),gi=!1,z=s.memoizedState,B.state=z,Ka(s,f,B,d),Na();var V=s.memoizedState;w!==$||z!==V||gi||r!==null&&r.dependencies!==null&&Xl(r.dependencies)?(typeof _=="function"&&(Cd(s,l,_,f),V=s.memoizedState),(j=gi||mv(s,l,j,f,z,V,S)||r!==null&&r.dependencies!==null&&Xl(r.dependencies))?(K||typeof B.UNSAFE_componentWillUpdate!="function"&&typeof B.componentWillUpdate!="function"||(typeof B.componentWillUpdate=="function"&&B.componentWillUpdate(f,V,S),typeof B.UNSAFE_componentWillUpdate=="function"&&B.UNSAFE_componentWillUpdate(f,V,S)),typeof B.componentDidUpdate=="function"&&(s.flags|=4),typeof B.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof B.componentDidUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=1024),s.memoizedProps=f,s.memoizedState=V),B.props=f,B.state=V,B.context=S,f=j):(typeof B.componentDidUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=4),typeof B.getSnapshotBeforeUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=1024),f=!1)}return B=f,fu(r,s),f=(s.flags&128)!==0,B||f?(B=s.stateNode,l=f&&typeof l.getDerivedStateFromError!="function"?null:B.render(),s.flags|=1,r!==null&&f?(s.child=ys(s,r.child,null,d),s.child=ys(s,null,l,d)):Me(r,s,l,d),s.memoizedState=B.state,r=s.child):r=Ln(r,s,d),r}function Dv(r,s,l,f){return Ha(),s.flags|=256,Me(r,s,l,f),s.child}var xd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Fd(r){return{baseLanes:r,cachePool:b0()}}function Ed(r,s,l){return r=r!==null?r.childLanes&~l:0,s&&(r|=MA),r}function Mv(r,s,l){var f=s.pendingProps,d=!1,B=(s.flags&128)!==0,w;if((w=B)||(w=r!==null&&r.memoizedState===null?!1:(Qe.current&2)!==0),w&&(d=!0,s.flags&=-129),w=(s.flags&32)!==0,s.flags&=-33,r===null){if(Lt){if(d?vi(s):wi(),Lt){var _=fe,S;if(S=_){t:{for(S=_,_=on;S.nodeType!==8;){if(!_){_=null;break t}if(S=ZA(S.nextSibling),S===null){_=null;break t}}_=S}_!==null?(s.memoizedState={dehydrated:_,treeContext:lr!==null?{id:Sn,overflow:Hn}:null,retryLane:536870912,hydrationErrors:null},S=gA(18,null,null,0),S.stateNode=_,S.return=s,s.child=S,We=s,fe=null,S=!0):S=!1}S||fr(s)}if(_=s.memoizedState,_!==null&&(_=_.dehydrated,_!==null))return fg(_)?s.lanes=32:s.lanes=536870912,null;Mn(s)}return _=f.children,f=f.fallback,d?(wi(),d=s.mode,_=hu({mode:"hidden",children:_},d),f=or(f,d,l,null),_.return=s,f.return=s,_.sibling=f,s.child=_,d=s.child,d.memoizedState=Fd(l),d.childLanes=Ed(r,w,l),s.memoizedState=xd,f):(vi(s),Sd(s,_))}if(S=r.memoizedState,S!==null&&(_=S.dehydrated,_!==null)){if(B)s.flags&256?(vi(s),s.flags&=-257,s=Hd(r,s,l)):s.memoizedState!==null?(wi(),s.child=r.child,s.flags|=128,s=null):(wi(),d=f.fallback,_=s.mode,f=hu({mode:"visible",children:f.children},_),d=or(d,_,l,null),d.flags|=2,f.return=s,d.return=s,f.sibling=d,s.child=f,ys(s,r.child,null,l),f=s.child,f.memoizedState=Fd(l),f.childLanes=Ed(r,w,l),s.memoizedState=xd,s=d);else if(vi(s),fg(_)){if(w=_.nextSibling&&_.nextSibling.dataset,w)var K=w.dgst;w=K,f=Error(n(419)),f.stack="",f.digest=w,Oa({value:f,source:null,stack:null}),s=Hd(r,s,l)}else if(Ee||Ta(r,s,l,!1),w=(l&r.childLanes)!==0,Ee||w){if(w=Zt,w!==null&&(f=l&-l,f=(f&42)!==0?1:hh(f),f=(f&(w.suspendedLanes|l))!==0?0:f,f!==0&&f!==S.retryLane))throw S.retryLane=f,cs(r,f),wA(w,r,f),Uv;_.data==="$?"||Yd(),s=Hd(r,s,l)}else _.data==="$?"?(s.flags|=192,s.child=r.child,s=null):(r=S.treeContext,fe=ZA(_.nextSibling),We=s,Lt=!0,cr=null,on=!1,r!==null&&(OA[TA++]=Sn,OA[TA++]=Hn,OA[TA++]=lr,Sn=r.id,Hn=r.overflow,lr=s),s=Sd(s,f.children),s.flags|=4096);return s}return d?(wi(),d=f.fallback,_=s.mode,S=r.child,K=S.sibling,f=En(S,{mode:"hidden",children:f.children}),f.subtreeFlags=S.subtreeFlags&65011712,K!==null?d=En(K,d):(d=or(d,_,l,null),d.flags|=2),d.return=s,f.return=s,f.sibling=d,s.child=f,f=d,d=s.child,_=r.child.memoizedState,_===null?_=Fd(l):(S=_.cachePool,S!==null?(K=_e._currentValue,S=S.parent!==K?{parent:K,pool:K}:S):S=b0(),_={baseLanes:_.baseLanes|l,cachePool:S}),d.memoizedState=_,d.childLanes=Ed(r,w,l),s.memoizedState=xd,f):(vi(s),l=r.child,r=l.sibling,l=En(l,{mode:"visible",children:f.children}),l.return=s,l.sibling=null,r!==null&&(w=s.deletions,w===null?(s.deletions=[r],s.flags|=16):w.push(r)),s.child=l,s.memoizedState=null,l)}function Sd(r,s){return s=hu({mode:"visible",children:s},r.mode),s.return=r,r.child=s}function hu(r,s){return r=gA(22,r,null,s),r.lanes=0,r.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},r}function Hd(r,s,l){return ys(s,r.child,null,l),r=Sd(s,s.pendingProps.children),r.flags|=2,s.memoizedState=null,r}function Lv(r,s,l){r.lanes|=s;var f=r.alternate;f!==null&&(f.lanes|=s),Yh(r.return,s,l)}function Od(r,s,l,f,d){var B=r.memoizedState;B===null?r.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:f,tail:l,tailMode:d}:(B.isBackwards=s,B.rendering=null,B.renderingStartTime=0,B.last=f,B.tail=l,B.tailMode=d)}function Iv(r,s,l){var f=s.pendingProps,d=f.revealOrder,B=f.tail;if(Me(r,s,f.children,l),f=Qe.current,(f&2)!==0)f=f&1|2,s.flags|=128;else{if(r!==null&&(r.flags&128)!==0)t:for(r=s.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&Lv(r,l,s);else if(r.tag===19)Lv(r,l,s);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===s)break t;for(;r.sibling===null;){if(r.return===null||r.return===s)break t;r=r.return}r.sibling.return=r.return,r=r.sibling}f&=1}switch(q(Qe,f),d){case"forwards":for(l=s.child,d=null;l!==null;)r=l.alternate,r!==null&&lu(r)===null&&(d=l),l=l.sibling;l=d,l===null?(d=s.child,s.child=null):(d=l.sibling,l.sibling=null),Od(s,!1,d,l,B);break;case"backwards":for(l=null,d=s.child,s.child=null;d!==null;){if(r=d.alternate,r!==null&&lu(r)===null){s.child=d;break}r=d.sibling,d.sibling=l,l=d,d=r}Od(s,!0,l,null,B);break;case"together":Od(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Ln(r,s,l){if(r!==null&&(s.dependencies=r.dependencies),Qi|=s.lanes,(l&s.childLanes)===0)if(r!==null){if(Ta(r,s,l,!1),(l&s.childLanes)===0)return null}else return null;if(r!==null&&s.child!==r.child)throw Error(n(153));if(s.child!==null){for(r=s.child,l=En(r,r.pendingProps),s.child=l,l.return=s;r.sibling!==null;)r=r.sibling,l=l.sibling=En(r,r.pendingProps),l.return=s;l.sibling=null}return s.child}function Td(r,s){return(r.lanes&s)!==0?!0:(r=r.dependencies,!!(r!==null&&Xl(r)))}function aS(r,s,l){switch(s.tag){case 3:qt(s,s.stateNode.containerInfo),di(s,_e,r.memoizedState.cache),Ha();break;case 27:case 5:da(s);break;case 4:qt(s,s.stateNode.containerInfo);break;case 10:di(s,s.type,s.memoizedProps.value);break;case 13:var f=s.memoizedState;if(f!==null)return f.dehydrated!==null?(vi(s),s.flags|=128,null):(l&s.child.childLanes)!==0?Mv(r,s,l):(vi(s),r=Ln(r,s,l),r!==null?r.sibling:null);vi(s);break;case 19:var d=(r.flags&128)!==0;if(f=(l&s.childLanes)!==0,f||(Ta(r,s,l,!1),f=(l&s.childLanes)!==0),d){if(f)return Iv(r,s,l);s.flags|=128}if(d=s.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),q(Qe,Qe.current),f)break;return null;case 22:case 23:return s.lanes=0,Sv(r,s,l);case 24:di(s,_e,r.memoizedState.cache)}return Ln(r,s,l)}function Rv(r,s,l){if(r!==null)if(r.memoizedProps!==s.pendingProps)Ee=!0;else{if(!Td(r,l)&&(s.flags&128)===0)return Ee=!1,aS(r,s,l);Ee=(r.flags&131072)!==0}else Ee=!1,Lt&&(s.flags&1048576)!==0&&d0(s,Gl,s.index);switch(s.lanes=0,s.tag){case 16:t:{r=s.pendingProps;var f=s.elementType,d=f._init;if(f=d(f._payload),s.type=f,typeof f=="function")zh(f)?(r=Br(f,r),s.tag=1,s=Tv(null,s,f,r,l)):(s.tag=0,s=Ud(null,s,f,r,l));else{if(f!=null){if(d=f.$$typeof,d===O){s.tag=11,s=xv(null,s,f,r,l);break t}else if(d===k){s.tag=14,s=Fv(null,s,f,r,l);break t}}throw s=bt(f)||f,Error(n(306,s,""))}}return s;case 0:return Ud(r,s,s.type,s.pendingProps,l);case 1:return f=s.type,d=Br(f,s.pendingProps),Tv(r,s,f,d,l);case 3:t:{if(qt(s,s.stateNode.containerInfo),r===null)throw Error(n(387));f=s.pendingProps;var B=s.memoizedState;d=B.element,Ad(r,s),Ka(s,f,null,l);var w=s.memoizedState;if(f=w.cache,di(s,_e,f),f!==B.cache&&Wh(s,[_e],l,!0),Na(),f=w.element,B.isDehydrated)if(B={element:f,isDehydrated:!1,cache:w.cache},s.updateQueue.baseState=B,s.memoizedState=B,s.flags&256){s=Dv(r,s,f,l);break t}else if(f!==d){d=SA(Error(n(424)),s),Oa(d),s=Dv(r,s,f,l);break t}else{switch(r=s.stateNode.containerInfo,r.nodeType){case 9:r=r.body;break;default:r=r.nodeName==="HTML"?r.ownerDocument.body:r}for(fe=ZA(r.firstChild),We=s,Lt=!0,cr=null,on=!0,l=pv(s,null,f,l),s.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling}else{if(Ha(),f===d){s=Ln(r,s,l);break t}Me(r,s,f,l)}s=s.child}return s;case 26:return fu(r,s),r===null?(l=zw(s.type,null,s.pendingProps,null))?s.memoizedState=l:Lt||(l=s.type,r=s.pendingProps,f=xu(st.current).createElement(l),f[ke]=s,f[tA]=r,Ie(f,l,r),Fe(f),s.stateNode=f):s.memoizedState=zw(s.type,r.memoizedProps,s.pendingProps,r.memoizedState),null;case 27:return da(s),r===null&&Lt&&(f=s.stateNode=Nw(s.type,s.pendingProps,st.current),We=s,on=!0,d=fe,Ei(s.type)?(hg=d,fe=ZA(f.firstChild)):fe=d),Me(r,s,s.pendingProps.children,l),fu(r,s),r===null&&(s.flags|=4194304),s.child;case 5:return r===null&&Lt&&((d=f=fe)&&(f=MS(f,s.type,s.pendingProps,on),f!==null?(s.stateNode=f,We=s,fe=ZA(f.firstChild),on=!1,d=!0):d=!1),d||fr(s)),da(s),d=s.type,B=s.pendingProps,w=r!==null?r.memoizedProps:null,f=B.children,lg(d,B)?f=null:w!==null&&lg(d,w)&&(s.flags|=32),s.memoizedState!==null&&(d=od(r,s,qE,null,null,l),oo._currentValue=d),fu(r,s),Me(r,s,f,l),s.child;case 6:return r===null&&Lt&&((r=l=fe)&&(l=LS(l,s.pendingProps,on),l!==null?(s.stateNode=l,We=s,fe=null,r=!0):r=!1),r||fr(s)),null;case 13:return Mv(r,s,l);case 4:return qt(s,s.stateNode.containerInfo),f=s.pendingProps,r===null?s.child=ys(s,null,f,l):Me(r,s,f,l),s.child;case 11:return xv(r,s,s.type,s.pendingProps,l);case 7:return Me(r,s,s.pendingProps,l),s.child;case 8:return Me(r,s,s.pendingProps.children,l),s.child;case 12:return Me(r,s,s.pendingProps.children,l),s.child;case 10:return f=s.pendingProps,di(s,s.type,f.value),Me(r,s,f.children,l),s.child;case 9:return d=s.type._context,f=s.pendingProps.children,dr(s),d=ze(d),f=f(d),s.flags|=1,Me(r,s,f,l),s.child;case 14:return Fv(r,s,s.type,s.pendingProps,l);case 15:return Ev(r,s,s.type,s.pendingProps,l);case 19:return Iv(r,s,l);case 31:return f=s.pendingProps,l=s.mode,f={mode:f.mode,children:f.children},r===null?(l=hu(f,l),l.ref=s.ref,s.child=l,l.return=s,s=l):(l=En(r.child,f),l.ref=s.ref,s.child=l,l.return=s,s=l),s;case 22:return Sv(r,s,l);case 24:return dr(s),f=ze(_e),r===null?(d=qh(),d===null&&(d=Zt,B=$h(),d.pooledCache=B,B.refCount++,B!==null&&(d.pooledCacheLanes|=l),d=B),s.memoizedState={parent:f,cache:d},ed(s),di(s,_e,d)):((r.lanes&l)!==0&&(Ad(r,s),Ka(s,null,null,l),Na()),d=r.memoizedState,B=s.memoizedState,d.parent!==f?(d={parent:f,cache:f},s.memoizedState=d,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=d),di(s,_e,f)):(f=B.cache,di(s,_e,f),f!==d.cache&&Wh(s,[_e],l,!0))),Me(r,s,s.pendingProps.children,l),s.child;case 29:throw s.pendingProps}throw Error(n(156,s.tag))}function In(r){r.flags|=4}function Nv(r,s){if(s.type!=="stylesheet"||(s.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!Xw(s)){if(s=DA.current,s!==null&&((Ht&4194048)===Ht?ln!==null:(Ht&62914560)!==Ht&&(Ht&536870912)===0||s!==ln))throw Ia=td,y0;r.flags|=8192}}function du(r,s){s!==null&&(r.flags|=4),r.flags&16384&&(s=r.tag!==22?Bm():536870912,r.lanes|=s,Us|=s)}function Xa(r,s){if(!Lt)switch(r.tailMode){case"hidden":s=r.tail;for(var l=null;s!==null;)s.alternate!==null&&(l=s),s=s.sibling;l===null?r.tail=null:l.sibling=null;break;case"collapsed":l=r.tail;for(var f=null;l!==null;)l.alternate!==null&&(f=l),l=l.sibling;f===null?s||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function le(r){var s=r.alternate!==null&&r.alternate.child===r.child,l=0,f=0;if(s)for(var d=r.child;d!==null;)l|=d.lanes|d.childLanes,f|=d.subtreeFlags&65011712,f|=d.flags&65011712,d.return=r,d=d.sibling;else for(d=r.child;d!==null;)l|=d.lanes|d.childLanes,f|=d.subtreeFlags,f|=d.flags,d.return=r,d=d.sibling;return r.subtreeFlags|=f,r.childLanes=l,s}function oS(r,s,l){var f=s.pendingProps;switch(Gh(s),s.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return le(s),null;case 1:return le(s),null;case 3:return l=s.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),s.memoizedState.cache!==f&&(s.flags|=2048),Tn(_e),xA(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(r===null||r.child===null)&&(Sa(s)?In(s):r===null||r.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,B0())),le(s),null;case 26:return l=s.memoizedState,r===null?(In(s),l!==null?(le(s),Nv(s,l)):(le(s),s.flags&=-16777217)):l?l!==r.memoizedState?(In(s),le(s),Nv(s,l)):(le(s),s.flags&=-16777217):(r.memoizedProps!==f&&In(s),le(s),s.flags&=-16777217),null;case 27:Wr(s),l=st.current;var d=s.type;if(r!==null&&s.stateNode!=null)r.memoizedProps!==f&&In(s);else{if(!f){if(s.stateNode===null)throw Error(n(166));return le(s),null}r=W.current,Sa(s)?g0(s):(r=Nw(d,f,l),s.stateNode=r,In(s))}return le(s),null;case 5:if(Wr(s),l=s.type,r!==null&&s.stateNode!=null)r.memoizedProps!==f&&In(s);else{if(!f){if(s.stateNode===null)throw Error(n(166));return le(s),null}if(r=W.current,Sa(s))g0(s);else{switch(d=xu(st.current),r){case 1:r=d.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:r=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":r=d.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":r=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":r=d.createElement("div"),r.innerHTML=" - + +
- + \ No newline at end of file diff --git a/vite-app/src/components/ChartExport.tsx b/vite-app/src/components/ChartExport.tsx index 00572da7..a89a2ead 100644 --- a/vite-app/src/components/ChartExport.tsx +++ b/vite-app/src/components/ChartExport.tsx @@ -1,4 +1,4 @@ -import React, { useRef, useCallback, useState } from "react"; +import { useRef, useCallback, useState } from "react"; import { Chart as ChartJS, registerables } from "chart.js"; import { Chart } from "react-chartjs-2"; import html2canvas from "html2canvas-oklch"; @@ -160,10 +160,6 @@ const ChartExport = >({ const chartData = getChartData(); - // Debug logging - console.log("Chart data:", chartData); - console.log("Chart type:", selectedChartType); - // Don't render chart if no data if (!chartData.labels.length || !chartData.datasets.length) { return ( diff --git a/vite-app/src/components/PivotTab.tsx b/vite-app/src/components/PivotTab.tsx index c9e34de0..4a928998 100644 --- a/vite-app/src/components/PivotTab.tsx +++ b/vite-app/src/components/PivotTab.tsx @@ -4,10 +4,19 @@ import ChartExport from "./ChartExport"; import SearchableSelect from "./SearchableSelect"; import Button from "./Button"; import FilterSelector from "./FilterSelector"; -import { state } from "../App"; import { type FilterGroup } from "../types/filters"; -import { createFilterFunction } from "../util/filter-utils"; -import { computePivot } from "../util/pivot"; +import { usePivotData } from "../hooks/usePivotData"; +import { + createFieldHandlerSet, + getAvailableKeys, + getPivotConfig, + updatePivotConfig, + resetPivotConfig, + updateFilterConfig, + getFlattenedDataset, + createFilterFunction, + getFilterConfig, +} from "../util/field-processors"; interface FieldSelectorProps { title: string; @@ -127,62 +136,36 @@ const AggregatorSelector = ({ ); const PivotTab = observer(() => { - const { pivotConfig } = state; + const pivotConfig = getPivotConfig(); + const availableKeys = getAvailableKeys(); - const updateRowFields = (index: number, value: string) => { - const newRowFields = [...pivotConfig.selectedRowFields]; - newRowFields[index] = value; - state.updatePivotConfig({ selectedRowFields: newRowFields }); - }; - - const updateColumnFields = (index: number, value: string) => { - const newColumnFields = [...pivotConfig.selectedColumnFields]; - newColumnFields[index] = value; - state.updatePivotConfig({ selectedColumnFields: newColumnFields }); - }; + // Use the pivot data hook + const pivotData = usePivotData({ + rowFields: pivotConfig.selectedRowFields, + columnFields: pivotConfig.selectedColumnFields, + valueField: pivotConfig.selectedValueField, + aggregator: pivotConfig.selectedAggregator as + | "count" + | "sum" + | "avg" + | "min" + | "max", + showRowTotals: true, + showColumnTotals: true, + }); const updateValueField = (value: string) => { - state.updatePivotConfig({ selectedValueField: value }); + updatePivotConfig({ selectedValueField: value }); }; const updateAggregator = (value: string) => { - state.updatePivotConfig({ selectedAggregator: value }); + updatePivotConfig({ selectedAggregator: value }); }; const updateFilters = (filters: FilterGroup[]) => { - state.updateFilterConfig(filters); - }; - - const createFieldHandler = ( - updater: (index: number, value: string) => void - ) => { - return (index: number, value: string) => { - updater(index, value); - }; - }; - - const createAddHandler = ( - fields: string[], - updater: (fields: string[]) => void - ) => { - return () => { - if (fields.length < 3) { - updater([...fields, ""]); - } - }; + updateFilterConfig(filters); }; - const createRemoveHandler = ( - fields: string[], - updater: (fields: string[]) => void - ) => { - return (index: number) => { - updater(fields.filter((_, i) => i !== index)); - }; - }; - - const availableKeys = state.flattenedDatasetKeys; - return (
@@ -196,7 +179,7 @@ const PivotTab = observer(() => { {/* Controls Section with Reset Button */}
); diff --git a/vite-app/src/hooks/usePivotData.ts b/vite-app/src/hooks/usePivotData.ts new file mode 100644 index 00000000..65261522 --- /dev/null +++ b/vite-app/src/hooks/usePivotData.ts @@ -0,0 +1,87 @@ +import { useMemo } from 'react'; +import { computePivot } from '../util/pivot'; +import { createFilterFunction } from '../util/filter-utils'; +import { state } from '../App'; + +export interface PivotDataConfig { + rowFields: string[]; + columnFields: string[]; + valueField?: string; + aggregator: 'count' | 'sum' | 'avg' | 'min' | 'max'; + showRowTotals?: boolean; + showColumnTotals?: boolean; +} + +export interface ProcessedPivotData { + rowFields: string[]; + columnFields: string[]; + valueField?: string; + aggregator: 'count' | 'sum' | 'avg' | 'min' | 'max'; + pivotResult: ReturnType>; + hasValidConfiguration: boolean; +} + +/** + * Custom hook that processes pivot configuration and computes pivot data + * Centralizes all pivot-related logic to avoid duplication + */ +export function usePivotData( + config: PivotDataConfig +): ProcessedPivotData { + const { rowFields, columnFields, valueField, aggregator, showRowTotals = true, showColumnTotals = true } = config; + + // Filter out empty fields and cast to proper types + const processedRowFields = useMemo( + () => rowFields.filter((field) => field !== '') as string[], + [rowFields] + ); + + const processedColumnFields = useMemo( + () => columnFields.filter((field) => field !== '') as string[], + [columnFields] + ); + + const processedValueField = useMemo( + () => (valueField && valueField !== '' ? valueField : undefined) as string | undefined, + [valueField] + ); + + // Check if we have a valid configuration for pivot computation + const hasValidConfiguration = useMemo( + () => processedRowFields.length > 0 && processedColumnFields.length > 0, + [processedRowFields, processedColumnFields] + ); + + // Compute pivot data only when configuration is valid + const pivotResult = useMemo(() => { + if (!hasValidConfiguration) { + // Return empty pivot result structure + return { + rowKeyTuples: [], + colKeyTuples: [], + cells: {}, + rowTotals: {}, + colTotals: {}, + grandTotal: 0, + } as ReturnType>; + } + + return computePivot({ + data: state.flattenedDataset, + rowFields: processedRowFields, + columnFields: processedColumnFields, + valueField: processedValueField, + aggregator, + filter: createFilterFunction(state.filterConfig), + }); + }, [hasValidConfiguration, processedRowFields, processedColumnFields, processedValueField, aggregator]); + + return { + rowFields: processedRowFields, + columnFields: processedColumnFields, + valueField: processedValueField, + aggregator, + pivotResult, + hasValidConfiguration, + }; +} diff --git a/vite-app/src/util/field-processors.ts b/vite-app/src/util/field-processors.ts new file mode 100644 index 00000000..e1851f15 --- /dev/null +++ b/vite-app/src/util/field-processors.ts @@ -0,0 +1,121 @@ +import { state } from '../App'; +import { createFilterFunction as createFilterFunctionUtil } from '../util/filter-utils'; +import { type FilterGroup } from '../types/filters'; + +/** + * Utility functions for processing field configurations and creating handlers + * Centralizes common field manipulation logic + */ + +/** + * Creates a field change handler for a specific index + */ +export function createFieldHandler( + updater: (index: number, value: string) => void +) { + return (index: number, value: string) => { + updater(index, value); + }; +} + +/** + * Creates an add field handler that respects the maximum limit + */ +export function createAddHandler( + fields: string[], + updater: (fields: string[]) => void, + maxFields: number = 3 +) { + return () => { + if (fields.length < maxFields) { + updater([...fields, '']); + } + }; +} + +/** + * Creates a remove field handler + */ +export function createRemoveHandler( + fields: string[], + updater: (fields: string[]) => void +) { + return (index: number) => { + updater(fields.filter((_, i) => i !== index)); + }; +} + +/** + * Creates a complete field handler set for a field array + */ +export function createFieldHandlerSet( + fields: string[], + updater: (fields: string[]) => void, + maxFields: number = 3 +) { + return { + onFieldChange: createFieldHandler((index: number, value: string) => { + const newFields = [...fields]; + newFields[index] = value; + updater(newFields); + }), + onAddField: createAddHandler(fields, updater, maxFields), + onRemoveField: createRemoveHandler(fields, updater), + }; +} + +/** + * Gets available keys from the current dataset state + */ +export function getAvailableKeys(): string[] { + return state.flattenedDatasetKeys; +} + +/** + * Processes pivot configuration from state + */ +export function getPivotConfig() { + return state.pivotConfig; +} + +/** + * Updates pivot configuration + */ +export function updatePivotConfig(updates: Partial) { + state.updatePivotConfig(updates); +} + +/** + * Resets pivot configuration to defaults + */ +export function resetPivotConfig() { + state.resetPivotConfig(); +} + +/** + * Updates filter configuration + */ +export function updateFilterConfig(filters: FilterGroup[]) { + state.updateFilterConfig(filters); +} + +/** + * Gets the flattened dataset from state + */ +export function getFlattenedDataset() { + return state.flattenedDataset; +} + +/** + * Creates a filter function using the current filter config + */ +export function createFilterFunction() { + return createFilterFunctionUtil(state.filterConfig); +} + +/** + * Gets the current filter configuration + */ +export function getFilterConfig() { + return state.filterConfig; +} From 14a8d04fb98ac8f165f87fcfcd423e1441413a1a Mon Sep 17 00:00:00 2001 From: Dylan Huang Date: Sat, 16 Aug 2025 12:08:28 -0700 Subject: [PATCH 3/5] don't show totals / fix warnings / vite build --- .../{index-C2gwzPFv.js => index-CQTgWyJ8.js} | 42 +++++++++---------- ...-C2gwzPFv.js.map => index-CQTgWyJ8.js.map} | 2 +- vite-app/dist/index.html | 2 +- vite-app/src/components/ChartExport.tsx | 23 +--------- 4 files changed, 25 insertions(+), 44 deletions(-) rename vite-app/dist/assets/{index-C2gwzPFv.js => index-CQTgWyJ8.js} (86%) rename vite-app/dist/assets/{index-C2gwzPFv.js.map => index-CQTgWyJ8.js.map} (67%) diff --git a/vite-app/dist/assets/index-C2gwzPFv.js b/vite-app/dist/assets/index-CQTgWyJ8.js similarity index 86% rename from vite-app/dist/assets/index-C2gwzPFv.js rename to vite-app/dist/assets/index-CQTgWyJ8.js index faa7d7ca..ec0d98e8 100644 --- a/vite-app/dist/assets/index-C2gwzPFv.js +++ b/vite-app/dist/assets/index-CQTgWyJ8.js @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ab;function l1(){if(ab)return ho;ab=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var u in i)u!=="key"&&(a[u]=i[u])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return ho.Fragment=t,ho.jsx=A,ho.jsxs=A,ho}var ob;function u1(){return ob||(ob=1,_g.exports=l1()),_g.exports}var x=u1(),Qg={exports:{}},Ct={};/** + */var ab;function l1(){if(ab)return ho;ab=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var u in i)u!=="key"&&(a[u]=i[u])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return ho.Fragment=t,ho.jsx=A,ho.jsxs=A,ho}var ob;function u1(){return ob||(ob=1,_g.exports=l1()),_g.exports}var U=u1(),Qg={exports:{}},Ct={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var lb;function c1(){if(lb)return Ct;lb=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),o=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),B=Symbol.iterator;function m(H){return H===null||typeof H!="object"?null:(H=B&&H[B]||H["@@iterator"],typeof H=="function"?H:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,y={};function Q(H,X,tt){this.props=H,this.context=X,this.refs=y,this.updater=tt||v}Q.prototype.isReactComponent={},Q.prototype.setState=function(H,X){if(typeof H!="object"&&typeof H!="function"&&H!=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,H,X,"setState")},Q.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function C(){}C.prototype=Q.prototype;function U(H,X,tt){this.props=H,this.context=X,this.refs=y,this.updater=tt||v}var E=U.prototype=new C;E.constructor=U,b(E,Q.prototype),E.isPureReactComponent=!0;var O=Array.isArray,F={H:null,A:null,T:null,S:null,V:null},T=Object.prototype.hasOwnProperty;function k(H,X,tt,q,W,ot){return tt=ot.ref,{$$typeof:e,type:H,key:X,ref:tt!==void 0?tt:null,props:ot}}function P(H,X){return k(H.type,X,void 0,void 0,void 0,H.props)}function R(H){return typeof H=="object"&&H!==null&&H.$$typeof===e}function J(H){var X={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(tt){return X[tt]})}var et=/\/+/g;function At(H,X){return typeof H=="object"&&H!==null&&H.key!=null?J(""+H.key):X.toString(36)}function lt(){}function bt(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(lt,lt):(H.status="pending",H.then(function(X){H.status==="pending"&&(H.status="fulfilled",H.value=X)},function(X){H.status==="pending"&&(H.status="rejected",H.reason=X)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function ut(H,X,tt,q,W){var ot=typeof H;(ot==="undefined"||ot==="boolean")&&(H=null);var st=!1;if(H===null)st=!0;else switch(ot){case"bigint":case"string":case"number":st=!0;break;case"object":switch(H.$$typeof){case e:case t:st=!0;break;case g:return st=H._init,ut(st(H._payload),X,tt,q,W)}}if(st)return W=W(H),st=q===""?"."+At(H,0):q,O(W)?(tt="",st!=null&&(tt=st.replace(et,"$&/")+"/"),ut(W,X,tt,"",function(FA){return FA})):W!=null&&(R(W)&&(W=P(W,tt+(W.key==null||H&&H.key===W.key?"":(""+W.key).replace(et,"$&/")+"/")+st)),X.push(W)),1;st=0;var be=q===""?".":q+":";if(O(H))for(var qt=0;qt>>1,H=I[ht];if(0>>1;hti(q,it))Wi(ot,q)?(I[ht]=ot,I[W]=it,ht=W):(I[ht]=q,I[tt]=it,ht=tt);else if(Wi(ot,it))I[ht]=ot,I[W]=it,ht=W;else break t}}return Y}function i(I,Y){var it=I.sortIndex-Y.sortIndex;return it!==0?it:I.id-Y.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var c=[],h=[],g=1,B=null,m=3,v=!1,b=!1,y=!1,Q=!1,C=typeof setTimeout=="function"?setTimeout:null,U=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function O(I){for(var Y=A(h);Y!==null;){if(Y.callback===null)n(h);else if(Y.startTime<=I)n(h),Y.sortIndex=Y.expirationTime,t(c,Y);else break;Y=A(h)}}function F(I){if(y=!1,O(I),!b)if(A(c)!==null)b=!0,T||(T=!0,At());else{var Y=A(h);Y!==null&&ut(F,Y.startTime-I)}}var T=!1,k=-1,P=5,R=-1;function J(){return Q?!0:!(e.unstable_now()-RI&&J());){var ht=B.callback;if(typeof ht=="function"){B.callback=null,m=B.priorityLevel;var H=ht(B.expirationTime<=I);if(I=e.unstable_now(),typeof H=="function"){B.callback=H,O(I),Y=!0;break e}B===A(c)&&n(c),O(I)}else n(c);B=A(c)}if(B!==null)Y=!0;else{var X=A(h);X!==null&&ut(F,X.startTime-I),Y=!1}}break t}finally{B=null,m=it,v=!1}Y=void 0}}finally{Y?At():T=!1}}}var At;if(typeof E=="function")At=function(){E(et)};else if(typeof MessageChannel<"u"){var lt=new MessageChannel,bt=lt.port2;lt.port1.onmessage=et,At=function(){bt.postMessage(null)}}else At=function(){C(et,0)};function ut(I,Y){k=C(function(){I(e.unstable_now())},Y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125ht?(I.sortIndex=it,t(h,I),A(c)===null&&I===A(h)&&(y?(U(k),k=-1):y=!0,ut(F,it-ht))):(I.sortIndex=H,t(c,I),b||v||(b=!0,T||(T=!0,At()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var Y=m;return function(){var it=m;m=Y;try{return I.apply(this,arguments)}finally{m=it}}}}(Fg)),Fg}var fb;function h1(){return fb||(fb=1,xg.exports=f1()),xg.exports}var Eg={exports:{}},Ve={};/** + */var cb;function f1(){return cb||(cb=1,function(e){function t(I,W){var rt=I.length;I.push(W);t:for(;0>>1,H=I[ht];if(0>>1;hti(q,rt))Yi(ot,q)?(I[ht]=ot,I[Y]=rt,ht=Y):(I[ht]=q,I[tt]=rt,ht=tt);else if(Yi(ot,rt))I[ht]=ot,I[Y]=rt,ht=Y;else break t}}return W}function i(I,W){var rt=I.sortIndex-W.sortIndex;return rt!==0?rt:I.id-W.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var c=[],h=[],g=1,B=null,m=3,v=!1,b=!1,y=!1,_=!1,C=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function O(I){for(var W=A(h);W!==null;){if(W.callback===null)n(h);else if(W.startTime<=I)n(h),W.sortIndex=W.expirationTime,t(c,W);else break;W=A(h)}}function F(I){if(y=!1,O(I),!b)if(A(c)!==null)b=!0,T||(T=!0,nt());else{var W=A(h);W!==null&&ut(F,W.startTime-I)}}var T=!1,k=-1,P=5,N=-1;function J(){return _?!0:!(e.unstable_now()-NI&&J());){var ht=B.callback;if(typeof ht=="function"){B.callback=null,m=B.priorityLevel;var H=ht(B.expirationTime<=I);if(I=e.unstable_now(),typeof H=="function"){B.callback=H,O(I),W=!0;break e}B===A(c)&&n(c),O(I)}else n(c);B=A(c)}if(B!==null)W=!0;else{var X=A(h);X!==null&&ut(F,X.startTime-I),W=!1}}break t}finally{B=null,m=rt,v=!1}W=void 0}}finally{W?nt():T=!1}}}var nt;if(typeof E=="function")nt=function(){E(et)};else if(typeof MessageChannel<"u"){var ct=new MessageChannel,bt=ct.port2;ct.port1.onmessage=et,nt=function(){bt.postMessage(null)}}else nt=function(){C(et,0)};function ut(I,W){k=C(function(){I(e.unstable_now())},W)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125ht?(I.sortIndex=rt,t(h,I),A(c)===null&&I===A(h)&&(y?(x(k),k=-1):y=!0,ut(F,rt-ht))):(I.sortIndex=H,t(c,I),b||v||(b=!0,T||(T=!0,nt()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var W=m;return function(){var rt=m;m=W;try{return I.apply(this,arguments)}finally{m=rt}}}}(Fg)),Fg}var fb;function h1(){return fb||(fb=1,xg.exports=f1()),xg.exports}var Eg={exports:{}},Ve={};/** * @license React * react-dom.production.js * @@ -38,15 +38,15 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var gb;function g1(){if(gb)return go;gb=1;var e=h1(),t=Hf(),A=W_();function n(r){var s="https://react.dev/errors/"+r;if(1H||(r.current=ht[H],ht[H]=null,H--)}function q(r,s){H++,ht[H]=r.current,r.current=s}var W=X(null),ot=X(null),st=X(null),be=X(null);function qt(r,s){switch(q(st,s),q(ot,r),q(W,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Mw(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Mw(s),r=Lw(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}tt(W),q(W,r)}function FA(){tt(W),tt(ot),tt(st)}function da(r){r.memoizedState!==null&&q(be,r);var s=W.current,l=Lw(s,r.type);s!==l&&(q(ot,r),q(W,l))}function $r(r){ot.current===r&&(tt(W),tt(ot)),be.current===r&&(tt(be),oo._currentValue=it)}var ui=Object.prototype.hasOwnProperty,ci=e.unstable_scheduleCallback,ga=e.unstable_cancelCallback,dm=e.unstable_shouldYield,zF=e.unstable_requestPaint,an=e.unstable_now,VF=e.unstable_getCurrentPriorityLevel,gm=e.unstable_ImmediatePriority,pm=e.unstable_UserBlockingPriority,xl=e.unstable_NormalPriority,PF=e.unstable_LowPriority,Bm=e.unstable_IdlePriority,jF=e.log,GF=e.unstable_setDisableYieldValue,pa=null,fA=null;function fi(r){if(typeof jF=="function"&&GF(r),fA&&typeof fA.setStrictMode=="function")try{fA.setStrictMode(pa,r)}catch{}}var hA=Math.clz32?Math.clz32:YF,XF=Math.log,ZF=Math.LN2;function YF(r){return r>>>=0,r===0?32:31-(XF(r)/ZF|0)|0}var Fl=256,El=4194304;function nr(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Sl(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var d=0,p=r.suspendedLanes,w=r.pingedLanes;r=r.warmLanes;var _=f&134217727;return _!==0?(f=_&~p,f!==0?d=nr(f):(w&=_,w!==0?d=nr(w):l||(l=_&~r,l!==0&&(d=nr(l))))):(_=f&~p,_!==0?d=nr(_):w!==0?d=nr(w):l||(l=f&~r,l!==0&&(d=nr(l)))),d===0?0:s!==0&&s!==d&&(s&p)===0&&(p=d&-d,l=s&-s,p>=l||p===32&&(l&4194048)!==0)?s:d}function Ba(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function WF(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 mm(){var r=Fl;return Fl<<=1,(Fl&4194048)===0&&(Fl=256),r}function vm(){var r=El;return El<<=1,(El&62914560)===0&&(El=4194304),r}function hh(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function ma(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function $F(r,s,l,f,d,p){var w=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var _=r.entanglements,S=r.expirationTimes,K=r.hiddenUpdates;for(l=w&~l;0H||(r.current=ht[H],ht[H]=null,H--)}function q(r,s){H++,ht[H]=r.current,r.current=s}var Y=X(null),ot=X(null),st=X(null),be=X(null);function qt(r,s){switch(q(st,s),q(ot,r),q(Y,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Mw(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Mw(s),r=Lw(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}tt(Y),q(Y,r)}function FA(){tt(Y),tt(ot),tt(st)}function da(r){r.memoizedState!==null&&q(be,r);var s=Y.current,l=Lw(s,r.type);s!==l&&(q(ot,r),q(Y,l))}function $r(r){ot.current===r&&(tt(Y),tt(ot)),be.current===r&&(tt(be),oo._currentValue=rt)}var ui=Object.prototype.hasOwnProperty,ci=e.unstable_scheduleCallback,ga=e.unstable_cancelCallback,dm=e.unstable_shouldYield,zF=e.unstable_requestPaint,an=e.unstable_now,VF=e.unstable_getCurrentPriorityLevel,gm=e.unstable_ImmediatePriority,pm=e.unstable_UserBlockingPriority,xl=e.unstable_NormalPriority,PF=e.unstable_LowPriority,Bm=e.unstable_IdlePriority,jF=e.log,GF=e.unstable_setDisableYieldValue,pa=null,fA=null;function fi(r){if(typeof jF=="function"&&GF(r),fA&&typeof fA.setStrictMode=="function")try{fA.setStrictMode(pa,r)}catch{}}var hA=Math.clz32?Math.clz32:YF,XF=Math.log,ZF=Math.LN2;function YF(r){return r>>>=0,r===0?32:31-(XF(r)/ZF|0)|0}var Fl=256,El=4194304;function nr(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Sl(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var d=0,p=r.suspendedLanes,w=r.pingedLanes;r=r.warmLanes;var Q=f&134217727;return Q!==0?(f=Q&~p,f!==0?d=nr(f):(w&=Q,w!==0?d=nr(w):l||(l=Q&~r,l!==0&&(d=nr(l))))):(Q=f&~p,Q!==0?d=nr(Q):w!==0?d=nr(w):l||(l=f&~r,l!==0&&(d=nr(l)))),d===0?0:s!==0&&s!==d&&(s&p)===0&&(p=d&-d,l=s&-s,p>=l||p===32&&(l&4194048)!==0)?s:d}function Ba(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function WF(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 mm(){var r=Fl;return Fl<<=1,(Fl&4194048)===0&&(Fl=256),r}function vm(){var r=El;return El<<=1,(El&62914560)===0&&(El=4194304),r}function hh(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function ma(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function $F(r,s,l,f,d,p){var w=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var Q=r.entanglements,S=r.expirationTimes,K=r.hiddenUpdates;for(l=w&~l;0)":-1d||S[f]!==K[d]){var j=` `+S[f].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=f&&0<=d);break}}}finally{vh=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?ns(l):""}function nE(r){switch(r.tag){case 26:case 27:case 5:return ns(r.type);case 16:return ns("Lazy");case 13:return ns("Suspense");case 19:return ns("SuspenseList");case 0:case 15:return wh(r.type,!1);case 11:return wh(r.type.render,!1);case 1:return wh(r.type,!0);case 31:return ns("Activity");default:return""}}function Em(r){try{var s="";do s+=nE(r),r=r.return;while(r);return s}catch(l){return` Error generating stack: `+l.message+` -`+l.stack}}function EA(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Sm(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function iE(r){var s=Sm(r)?"checked":"value",l=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),f=""+r[s];if(!r.hasOwnProperty(s)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var d=l.get,p=l.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(w){f=""+w,p.call(this,w)}}),Object.defineProperty(r,s,{enumerable:l.enumerable}),{getValue:function(){return f},setValue:function(w){f=""+w},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function Tl(r){r._valueTracker||(r._valueTracker=iE(r))}function Hm(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var l=s.getValue(),f="";return r&&(f=Sm(r)?r.checked?"true":"false":r.value),r=f,r!==l?(s.setValue(r),!0):!1}function Dl(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var rE=/[\n"\\]/g;function SA(r){return r.replace(rE,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function bh(r,s,l,f,d,p,w,_){r.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?r.type=w:r.removeAttribute("type"),s!=null?w==="number"?(s===0&&r.value===""||r.value!=s)&&(r.value=""+EA(s)):r.value!==""+EA(s)&&(r.value=""+EA(s)):w!=="submit"&&w!=="reset"||r.removeAttribute("value"),s!=null?yh(r,w,EA(s)):l!=null?yh(r,w,EA(l)):f!=null&&r.removeAttribute("value"),d==null&&p!=null&&(r.defaultChecked=!!p),d!=null&&(r.checked=d&&typeof d!="function"&&typeof d!="symbol"),_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?r.name=""+EA(_):r.removeAttribute("name")}function Om(r,s,l,f,d,p,w,_){if(p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(r.type=p),s!=null||l!=null){if(!(p!=="submit"&&p!=="reset"||s!=null))return;l=l!=null?""+EA(l):"",s=s!=null?""+EA(s):l,_||s===r.value||(r.value=s),r.defaultValue=s}f=f??d,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=_?r.checked:!!f,r.defaultChecked=!!f,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(r.name=w)}function yh(r,s,l){s==="number"&&Dl(r.ownerDocument)===r||r.defaultValue===""+l||(r.defaultValue=""+l)}function is(r,s,l,f){if(r=r.options,s){s={};for(var d=0;d"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xh=!1;if(Fn)try{var ya={};Object.defineProperty(ya,"passive",{get:function(){xh=!0}}),window.addEventListener("test",ya,ya),window.removeEventListener("test",ya,ya)}catch{xh=!1}var di=null,Fh=null,Ll=null;function Nm(){if(Ll)return Ll;var r,s=Fh,l=s.length,f,d="value"in di?di.value:di.textContent,p=d.length;for(r=0;r=Qa),jm=" ",Gm=!1;function Xm(r,s){switch(r){case"keyup":return TE.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zm(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var os=!1;function ME(r,s){switch(r){case"compositionend":return Zm(s);case"keypress":return s.which!==32?null:(Gm=!0,jm);case"textInput":return r=s.data,r===jm&&Gm?null:r;default:return null}}function LE(r,s){if(os)return r==="compositionend"||!Th&&Xm(r,s)?(r=Nm(),Ll=Fh=di=null,os=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:l,offset:s-r};r=f}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=A0(l)}}function i0(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?i0(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function r0(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var s=Dl(r.document);s instanceof r.HTMLIFrameElement;){try{var l=typeof s.contentWindow.location.href=="string"}catch{l=!1}if(l)r=s.contentWindow;else break;s=Dl(r.document)}return s}function Lh(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}var PE=Fn&&"documentMode"in document&&11>=document.documentMode,ls=null,Ih=null,Ea=null,Rh=!1;function s0(r,s,l){var f=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Rh||ls==null||ls!==Dl(f)||(f=ls,"selectionStart"in f&&Lh(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Ea&&Fa(Ea,f)||(Ea=f,f=Uu(Ih,"onSelect"),0>=w,d-=w,Sn=1<<32-hA(s)+d|l<p?p:8;var w=I.T,_={};I.T=_,Cd(r,!1,s,l);try{var S=d(),K=I.S;if(K!==null&&K(_,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var j=qE(S,f);Pa(r,s,j,vA(r))}else Pa(r,s,f,vA(r))}catch($){Pa(r,s,{then:function(){},status:"rejected",reason:$},vA())}finally{Y.p=p,I.T=w}}function iS(){}function bd(r,s,l,f){if(r.tag!==5)throw Error(n(476));var d=av(r).queue;sv(r,d,s,it,l===null?iS:function(){return ov(r),l(f)})}function av(r){var s=r.memoizedState;if(s!==null)return s;s={memoizedState:it,baseState:it,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:it},next:null};var l={};return s.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:l},next:null},r.memoizedState=s,r=r.alternate,r!==null&&(r.memoizedState=s),s}function ov(r){var s=av(r).next.queue;Pa(r,s,{},vA())}function yd(){return ze(oo)}function lv(){return Ce().memoizedState}function uv(){return Ce().memoizedState}function rS(r){for(var s=r.return;s!==null;){switch(s.tag){case 24:case 3:var l=vA();r=Bi(l);var f=mi(s,r,l);f!==null&&(wA(f,s,l),Ra(f,s,l)),s={cache:Jh()},r.payload=s;return}s=s.return}}function sS(r,s,l){var f=vA();l={lane:f,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null},su(r)?fv(s,l):(l=zh(r,s,l,f),l!==null&&(wA(l,r,f),hv(l,s,f)))}function cv(r,s,l){var f=vA();Pa(r,s,l,f)}function Pa(r,s,l,f){var d={lane:f,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null};if(su(r))fv(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var w=s.lastRenderedState,_=p(w,l);if(d.hasEagerState=!0,d.eagerState=_,dA(_,w))return Vl(r,s,d,0),Yt===null&&zl(),!1}catch{}finally{}if(l=zh(r,s,d,f),l!==null)return wA(l,r,f),hv(l,s,f),!0}return!1}function Cd(r,s,l,f){if(f={lane:2,revertLane:eg(),action:f,hasEagerState:!1,eagerState:null,next:null},su(r)){if(s)throw Error(n(479))}else s=zh(r,l,f,2),s!==null&&wA(s,r,2)}function su(r){var s=r.alternate;return r===_t||s!==null&&s===_t}function fv(r,s){vs=tu=!0;var l=r.pending;l===null?s.next=s:(s.next=l.next,l.next=s),r.pending=s}function hv(r,s,l){if((l&4194048)!==0){var f=s.lanes;f&=r.pendingLanes,l|=f,s.lanes=l,bm(r,l)}}var au={readContext:ze,use:Au,useCallback:pe,useContext:pe,useEffect:pe,useImperativeHandle:pe,useLayoutEffect:pe,useInsertionEffect:pe,useMemo:pe,useReducer:pe,useRef:pe,useState:pe,useDebugValue:pe,useDeferredValue:pe,useTransition:pe,useSyncExternalStore:pe,useId:pe,useHostTransitionStatus:pe,useFormState:pe,useActionState:pe,useOptimistic:pe,useMemoCache:pe,useCacheRefresh:pe},dv={readContext:ze,use:Au,useCallback:function(r,s){return AA().memoizedState=[r,s===void 0?null:s],r},useContext:ze,useEffect:$0,useImperativeHandle:function(r,s,l){l=l!=null?l.concat([r]):null,ru(4194308,4,ev.bind(null,s,r),l)},useLayoutEffect:function(r,s){return ru(4194308,4,r,s)},useInsertionEffect:function(r,s){ru(4,2,r,s)},useMemo:function(r,s){var l=AA();s=s===void 0?null:s;var f=r();if(pr){fi(!0);try{r()}finally{fi(!1)}}return l.memoizedState=[f,s],f},useReducer:function(r,s,l){var f=AA();if(l!==void 0){var d=l(s);if(pr){fi(!0);try{l(s)}finally{fi(!1)}}}else d=s;return f.memoizedState=f.baseState=d,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:d},f.queue=r,r=r.dispatch=sS.bind(null,_t,r),[f.memoizedState,r]},useRef:function(r){var s=AA();return r={current:r},s.memoizedState=r},useState:function(r){r=Bd(r);var s=r.queue,l=cv.bind(null,_t,s);return s.dispatch=l,[r.memoizedState,l]},useDebugValue:vd,useDeferredValue:function(r,s){var l=AA();return wd(l,r,s)},useTransition:function(){var r=Bd(!1);return r=sv.bind(null,_t,r.queue,!0,!1),AA().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,s,l){var f=_t,d=AA();if(Lt){if(l===void 0)throw Error(n(407));l=l()}else{if(l=s(),Yt===null)throw Error(n(349));(Ht&124)!==0||M0(f,s,l)}d.memoizedState=l;var p={value:l,getSnapshot:s};return d.queue=p,$0(I0.bind(null,f,p,r),[r]),f.flags|=2048,bs(9,iu(),L0.bind(null,f,p,l,s),null),l},useId:function(){var r=AA(),s=Yt.identifierPrefix;if(Lt){var l=Hn,f=Sn;l=(f&~(1<<32-hA(f)-1)).toString(32)+l,s="«"+s+"R"+l,l=eu++,0mt?(He=pt,pt=null):He=pt.sibling;var Tt=z(L,pt,N[mt],Z);if(Tt===null){pt===null&&(pt=He);break}r&&pt&&Tt.alternate===null&&s(L,pt),D=p(Tt,D,mt),Qt===null?ct=Tt:Qt.sibling=Tt,Qt=Tt,pt=He}if(mt===N.length)return l(L,pt),Lt&&ur(L,mt),ct;if(pt===null){for(;mtmt?(He=pt,pt=null):He=pt.sibling;var Mi=z(L,pt,Tt.value,Z);if(Mi===null){pt===null&&(pt=He);break}r&&pt&&Mi.alternate===null&&s(L,pt),D=p(Mi,D,mt),Qt===null?ct=Mi:Qt.sibling=Mi,Qt=Mi,pt=He}if(Tt.done)return l(L,pt),Lt&&ur(L,mt),ct;if(pt===null){for(;!Tt.done;mt++,Tt=N.next())Tt=$(L,Tt.value,Z),Tt!==null&&(D=p(Tt,D,mt),Qt===null?ct=Tt:Qt.sibling=Tt,Qt=Tt);return Lt&&ur(L,mt),ct}for(pt=f(pt);!Tt.done;mt++,Tt=N.next())Tt=V(pt,L,mt,Tt.value,Z),Tt!==null&&(r&&Tt.alternate!==null&&pt.delete(Tt.key===null?mt:Tt.key),D=p(Tt,D,mt),Qt===null?ct=Tt:Qt.sibling=Tt,Qt=Tt);return r&&pt.forEach(function(o1){return s(L,o1)}),Lt&&ur(L,mt),ct}function Vt(L,D,N,Z){if(typeof N=="object"&&N!==null&&N.type===b&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case m:t:{for(var ct=N.key;D!==null;){if(D.key===ct){if(ct=N.type,ct===b){if(D.tag===7){l(L,D.sibling),Z=d(D,N.props.children),Z.return=L,L=Z;break t}}else if(D.elementType===ct||typeof ct=="object"&&ct!==null&&ct.$$typeof===P&&pv(ct)===D.type){l(L,D.sibling),Z=d(D,N.props),Ga(Z,N),Z.return=L,L=Z;break t}l(L,D);break}else s(L,D);D=D.sibling}N.type===b?(Z=or(N.props.children,L.mode,Z,N.key),Z.return=L,L=Z):(Z=jl(N.type,N.key,N.props,null,L.mode,Z),Ga(Z,N),Z.return=L,L=Z)}return w(L);case v:t:{for(ct=N.key;D!==null;){if(D.key===ct)if(D.tag===4&&D.stateNode.containerInfo===N.containerInfo&&D.stateNode.implementation===N.implementation){l(L,D.sibling),Z=d(D,N.children||[]),Z.return=L,L=Z;break t}else{l(L,D);break}else s(L,D);D=D.sibling}Z=jh(N,L.mode,Z),Z.return=L,L=Z}return w(L);case P:return ct=N._init,N=ct(N._payload),Vt(L,D,N,Z)}if(ut(N))return vt(L,D,N,Z);if(At(N)){if(ct=At(N),typeof ct!="function")throw Error(n(150));return N=ct.call(N),Bt(L,D,N,Z)}if(typeof N.then=="function")return Vt(L,D,ou(N),Z);if(N.$$typeof===E)return Vt(L,D,Yl(L,N),Z);lu(L,N)}return typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint"?(N=""+N,D!==null&&D.tag===6?(l(L,D.sibling),Z=d(D,N),Z.return=L,L=Z):(l(L,D),Z=Ph(N,L.mode,Z),Z.return=L,L=Z),w(L)):l(L,D)}return function(L,D,N,Z){try{ja=0;var ct=Vt(L,D,N,Z);return ys=null,ct}catch(pt){if(pt===La||pt===$l)throw pt;var Qt=gA(29,pt,null,L.mode);return Qt.lanes=Z,Qt.return=L,Qt}finally{}}}var Cs=Bv(!0),mv=Bv(!1),MA=X(null),ln=null;function wi(r){var s=r.alternate;q(Qe,Qe.current&1),q(MA,r),ln===null&&(s===null||ms.current!==null||s.memoizedState!==null)&&(ln=r)}function vv(r){if(r.tag===22){if(q(Qe,Qe.current),q(MA,r),ln===null){var s=r.alternate;s!==null&&s.memoizedState!==null&&(ln=r)}}else bi()}function bi(){q(Qe,Qe.current),q(MA,MA.current)}function Mn(r){tt(MA),ln===r&&(ln=null),tt(Qe)}var Qe=X(0);function uu(r){for(var s=r;s!==null;){if(s.tag===13){var l=s.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||hg(l)))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===r)break;for(;s.sibling===null;){if(s.return===null||s.return===r)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}function _d(r,s,l,f){s=r.memoizedState,l=l(f,s),l=l==null?s:g({},s,l),r.memoizedState=l,r.lanes===0&&(r.updateQueue.baseState=l)}var Qd={enqueueSetState:function(r,s,l){r=r._reactInternals;var f=vA(),d=Bi(f);d.payload=s,l!=null&&(d.callback=l),s=mi(r,d,f),s!==null&&(wA(s,r,f),Ra(s,r,f))},enqueueReplaceState:function(r,s,l){r=r._reactInternals;var f=vA(),d=Bi(f);d.tag=1,d.payload=s,l!=null&&(d.callback=l),s=mi(r,d,f),s!==null&&(wA(s,r,f),Ra(s,r,f))},enqueueForceUpdate:function(r,s){r=r._reactInternals;var l=vA(),f=Bi(l);f.tag=2,s!=null&&(f.callback=s),s=mi(r,f,l),s!==null&&(wA(s,r,l),Ra(s,r,l))}};function wv(r,s,l,f,d,p,w){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,p,w):s.prototype&&s.prototype.isPureReactComponent?!Fa(l,f)||!Fa(d,p):!0}function bv(r,s,l,f){r=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(l,f),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(l,f),s.state!==r&&Qd.enqueueReplaceState(s,s.state,null)}function Br(r,s){var l=s;if("ref"in s){l={};for(var f in s)f!=="ref"&&(l[f]=s[f])}if(r=r.defaultProps){l===s&&(l=g({},l));for(var d in r)l[d]===void 0&&(l[d]=r[d])}return l}var cu=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)};function yv(r){cu(r)}function Cv(r){console.error(r)}function _v(r){cu(r)}function fu(r,s){try{var l=r.onUncaughtError;l(s.value,{componentStack:s.stack})}catch(f){setTimeout(function(){throw f})}}function Qv(r,s,l){try{var f=r.onCaughtError;f(l.value,{componentStack:l.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function Ud(r,s,l){return l=Bi(l),l.tag=3,l.payload={element:null},l.callback=function(){fu(r,s)},l}function Uv(r){return r=Bi(r),r.tag=3,r}function xv(r,s,l,f){var d=l.type.getDerivedStateFromError;if(typeof d=="function"){var p=f.value;r.payload=function(){return d(p)},r.callback=function(){Qv(s,l,f)}}var w=l.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(r.callback=function(){Qv(s,l,f),typeof d!="function"&&(xi===null?xi=new Set([this]):xi.add(this));var _=f.stack;this.componentDidCatch(f.value,{componentStack:_!==null?_:""})})}function oS(r,s,l,f,d){if(l.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(s=l.alternate,s!==null&&Ta(s,l,d,!0),l=MA.current,l!==null){switch(l.tag){case 13:return ln===null?Wd():l.alternate===null&&he===0&&(he=3),l.flags&=-257,l.flags|=65536,l.lanes=d,f===ed?l.flags|=16384:(s=l.updateQueue,s===null?l.updateQueue=new Set([f]):s.add(f),Jd(r,f,d)),!1;case 22:return l.flags|=65536,f===ed?l.flags|=16384:(s=l.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([f])},l.updateQueue=s):(l=s.retryQueue,l===null?s.retryQueue=new Set([f]):l.add(f)),Jd(r,f,d)),!1}throw Error(n(435,l.tag))}return Jd(r,f,d),Wd(),!1}if(Lt)return s=MA.current,s!==null?((s.flags&65536)===0&&(s.flags|=256),s.flags|=65536,s.lanes=d,f!==Zh&&(r=Error(n(422),{cause:f}),Oa(HA(r,l)))):(f!==Zh&&(s=Error(n(423),{cause:f}),Oa(HA(s,l))),r=r.current.alternate,r.flags|=65536,d&=-d,r.lanes|=d,f=HA(f,l),d=Ud(r.stateNode,f,d),id(r,d),he!==4&&(he=2)),!1;var p=Error(n(520),{cause:f});if(p=HA(p,l),qa===null?qa=[p]:qa.push(p),he!==4&&(he=2),s===null)return!0;f=HA(f,l),l=s;do{switch(l.tag){case 3:return l.flags|=65536,r=d&-d,l.lanes|=r,r=Ud(l.stateNode,f,r),id(l,r),!1;case 1:if(s=l.type,p=l.stateNode,(l.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(xi===null||!xi.has(p))))return l.flags|=65536,d&=-d,l.lanes|=d,d=Uv(d),xv(d,r,l,f),id(l,d),!1}l=l.return}while(l!==null);return!1}var Fv=Error(n(461)),Ee=!1;function Me(r,s,l,f){s.child=r===null?mv(s,null,l,f):Cs(s,r.child,l,f)}function Ev(r,s,l,f,d){l=l.render;var p=s.ref;if("ref"in f){var w={};for(var _ in f)_!=="ref"&&(w[_]=f[_])}else w=f;return dr(s),f=ld(r,s,l,w,p,d),_=ud(),r!==null&&!Ee?(cd(r,s,d),Ln(r,s,d)):(Lt&&_&&Gh(s),s.flags|=1,Me(r,s,f,d),s.child)}function Sv(r,s,l,f,d){if(r===null){var p=l.type;return typeof p=="function"&&!Vh(p)&&p.defaultProps===void 0&&l.compare===null?(s.tag=15,s.type=p,Hv(r,s,p,f,d)):(r=jl(l.type,null,f,s,s.mode,d),r.ref=s.ref,r.return=s,s.child=r)}if(p=r.child,!Dd(r,d)){var w=p.memoizedProps;if(l=l.compare,l=l!==null?l:Fa,l(w,f)&&r.ref===s.ref)return Ln(r,s,d)}return s.flags|=1,r=En(p,f),r.ref=s.ref,r.return=s,s.child=r}function Hv(r,s,l,f,d){if(r!==null){var p=r.memoizedProps;if(Fa(p,f)&&r.ref===s.ref)if(Ee=!1,s.pendingProps=f=p,Dd(r,d))(r.flags&131072)!==0&&(Ee=!0);else return s.lanes=r.lanes,Ln(r,s,d)}return xd(r,s,l,f,d)}function Ov(r,s,l){var f=s.pendingProps,d=f.children,p=r!==null?r.memoizedState:null;if(f.mode==="hidden"){if((s.flags&128)!==0){if(f=p!==null?p.baseLanes|l:l,r!==null){for(d=s.child=r.child,p=0;d!==null;)p=p|d.lanes|d.childLanes,d=d.sibling;s.childLanes=p&~f}else s.childLanes=0,s.child=null;return Tv(r,s,f,l)}if((l&536870912)!==0)s.memoizedState={baseLanes:0,cachePool:null},r!==null&&Wl(s,p!==null?p.cachePool:null),p!==null?H0(s,p):sd(),vv(s);else return s.lanes=s.childLanes=536870912,Tv(r,s,p!==null?p.baseLanes|l:l,l)}else p!==null?(Wl(s,p.cachePool),H0(s,p),bi(),s.memoizedState=null):(r!==null&&Wl(s,null),sd(),bi());return Me(r,s,d,l),s.child}function Tv(r,s,l,f){var d=td();return d=d===null?null:{parent:_e._currentValue,pool:d},s.memoizedState={baseLanes:l,cachePool:d},r!==null&&Wl(s,null),sd(),vv(s),r!==null&&Ta(r,s,f,!0),null}function hu(r,s){var l=s.ref;if(l===null)r!==null&&r.ref!==null&&(s.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(n(284));(r===null||r.ref!==l)&&(s.flags|=4194816)}}function xd(r,s,l,f,d){return dr(s),l=ld(r,s,l,f,void 0,d),f=ud(),r!==null&&!Ee?(cd(r,s,d),Ln(r,s,d)):(Lt&&f&&Gh(s),s.flags|=1,Me(r,s,l,d),s.child)}function Dv(r,s,l,f,d,p){return dr(s),s.updateQueue=null,l=T0(s,f,l,d),O0(r),f=ud(),r!==null&&!Ee?(cd(r,s,p),Ln(r,s,p)):(Lt&&f&&Gh(s),s.flags|=1,Me(r,s,l,p),s.child)}function Mv(r,s,l,f,d){if(dr(s),s.stateNode===null){var p=hs,w=l.contextType;typeof w=="object"&&w!==null&&(p=ze(w)),p=new l(f,p),s.memoizedState=p.state!==null&&p.state!==void 0?p.state:null,p.updater=Qd,s.stateNode=p,p._reactInternals=s,p=s.stateNode,p.props=f,p.state=s.memoizedState,p.refs={},Ad(s),w=l.contextType,p.context=typeof w=="object"&&w!==null?ze(w):hs,p.state=s.memoizedState,w=l.getDerivedStateFromProps,typeof w=="function"&&(_d(s,l,w,f),p.state=s.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof p.getSnapshotBeforeUpdate=="function"||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(w=p.state,typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount(),w!==p.state&&Qd.enqueueReplaceState(p,p.state,null),Ka(s,f,p,d),Na(),p.state=s.memoizedState),typeof p.componentDidMount=="function"&&(s.flags|=4194308),f=!0}else if(r===null){p=s.stateNode;var _=s.memoizedProps,S=Br(l,_);p.props=S;var K=p.context,j=l.contextType;w=hs,typeof j=="object"&&j!==null&&(w=ze(j));var $=l.getDerivedStateFromProps;j=typeof $=="function"||typeof p.getSnapshotBeforeUpdate=="function",_=s.pendingProps!==_,j||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(_||K!==w)&&bv(s,p,f,w),pi=!1;var z=s.memoizedState;p.state=z,Ka(s,f,p,d),Na(),K=s.memoizedState,_||z!==K||pi?(typeof $=="function"&&(_d(s,l,$,f),K=s.memoizedState),(S=pi||wv(s,l,S,f,z,K,w))?(j||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount()),typeof p.componentDidMount=="function"&&(s.flags|=4194308)):(typeof p.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=f,s.memoizedState=K),p.props=f,p.state=K,p.context=w,f=S):(typeof p.componentDidMount=="function"&&(s.flags|=4194308),f=!1)}else{p=s.stateNode,nd(r,s),w=s.memoizedProps,j=Br(l,w),p.props=j,$=s.pendingProps,z=p.context,K=l.contextType,S=hs,typeof K=="object"&&K!==null&&(S=ze(K)),_=l.getDerivedStateFromProps,(K=typeof _=="function"||typeof p.getSnapshotBeforeUpdate=="function")||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(w!==$||z!==S)&&bv(s,p,f,S),pi=!1,z=s.memoizedState,p.state=z,Ka(s,f,p,d),Na();var V=s.memoizedState;w!==$||z!==V||pi||r!==null&&r.dependencies!==null&&Zl(r.dependencies)?(typeof _=="function"&&(_d(s,l,_,f),V=s.memoizedState),(j=pi||wv(s,l,j,f,z,V,S)||r!==null&&r.dependencies!==null&&Zl(r.dependencies))?(K||typeof p.UNSAFE_componentWillUpdate!="function"&&typeof p.componentWillUpdate!="function"||(typeof p.componentWillUpdate=="function"&&p.componentWillUpdate(f,V,S),typeof p.UNSAFE_componentWillUpdate=="function"&&p.UNSAFE_componentWillUpdate(f,V,S)),typeof p.componentDidUpdate=="function"&&(s.flags|=4),typeof p.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof p.componentDidUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=1024),s.memoizedProps=f,s.memoizedState=V),p.props=f,p.state=V,p.context=S,f=j):(typeof p.componentDidUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=1024),f=!1)}return p=f,hu(r,s),f=(s.flags&128)!==0,p||f?(p=s.stateNode,l=f&&typeof l.getDerivedStateFromError!="function"?null:p.render(),s.flags|=1,r!==null&&f?(s.child=Cs(s,r.child,null,d),s.child=Cs(s,null,l,d)):Me(r,s,l,d),s.memoizedState=p.state,r=s.child):r=Ln(r,s,d),r}function Lv(r,s,l,f){return Ha(),s.flags|=256,Me(r,s,l,f),s.child}var Fd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ed(r){return{baseLanes:r,cachePool:C0()}}function Sd(r,s,l){return r=r!==null?r.childLanes&~l:0,s&&(r|=LA),r}function Iv(r,s,l){var f=s.pendingProps,d=!1,p=(s.flags&128)!==0,w;if((w=p)||(w=r!==null&&r.memoizedState===null?!1:(Qe.current&2)!==0),w&&(d=!0,s.flags&=-129),w=(s.flags&32)!==0,s.flags&=-33,r===null){if(Lt){if(d?wi(s):bi(),Lt){var _=fe,S;if(S=_){t:{for(S=_,_=on;S.nodeType!==8;){if(!_){_=null;break t}if(S=ZA(S.nextSibling),S===null){_=null;break t}}_=S}_!==null?(s.memoizedState={dehydrated:_,treeContext:lr!==null?{id:Sn,overflow:Hn}:null,retryLane:536870912,hydrationErrors:null},S=gA(18,null,null,0),S.stateNode=_,S.return=s,s.child=S,We=s,fe=null,S=!0):S=!1}S||fr(s)}if(_=s.memoizedState,_!==null&&(_=_.dehydrated,_!==null))return hg(_)?s.lanes=32:s.lanes=536870912,null;Mn(s)}return _=f.children,f=f.fallback,d?(bi(),d=s.mode,_=du({mode:"hidden",children:_},d),f=or(f,d,l,null),_.return=s,f.return=s,_.sibling=f,s.child=_,d=s.child,d.memoizedState=Ed(l),d.childLanes=Sd(r,w,l),s.memoizedState=Fd,f):(wi(s),Hd(s,_))}if(S=r.memoizedState,S!==null&&(_=S.dehydrated,_!==null)){if(p)s.flags&256?(wi(s),s.flags&=-257,s=Od(r,s,l)):s.memoizedState!==null?(bi(),s.child=r.child,s.flags|=128,s=null):(bi(),d=f.fallback,_=s.mode,f=du({mode:"visible",children:f.children},_),d=or(d,_,l,null),d.flags|=2,f.return=s,d.return=s,f.sibling=d,s.child=f,Cs(s,r.child,null,l),f=s.child,f.memoizedState=Ed(l),f.childLanes=Sd(r,w,l),s.memoizedState=Fd,s=d);else if(wi(s),hg(_)){if(w=_.nextSibling&&_.nextSibling.dataset,w)var K=w.dgst;w=K,f=Error(n(419)),f.stack="",f.digest=w,Oa({value:f,source:null,stack:null}),s=Od(r,s,l)}else if(Ee||Ta(r,s,l,!1),w=(l&r.childLanes)!==0,Ee||w){if(w=Yt,w!==null&&(f=l&-l,f=(f&42)!==0?1:dh(f),f=(f&(w.suspendedLanes|l))!==0?0:f,f!==0&&f!==S.retryLane))throw S.retryLane=f,fs(r,f),wA(w,r,f),Fv;_.data==="$?"||Wd(),s=Od(r,s,l)}else _.data==="$?"?(s.flags|=192,s.child=r.child,s=null):(r=S.treeContext,fe=ZA(_.nextSibling),We=s,Lt=!0,cr=null,on=!1,r!==null&&(TA[DA++]=Sn,TA[DA++]=Hn,TA[DA++]=lr,Sn=r.id,Hn=r.overflow,lr=s),s=Hd(s,f.children),s.flags|=4096);return s}return d?(bi(),d=f.fallback,_=s.mode,S=r.child,K=S.sibling,f=En(S,{mode:"hidden",children:f.children}),f.subtreeFlags=S.subtreeFlags&65011712,K!==null?d=En(K,d):(d=or(d,_,l,null),d.flags|=2),d.return=s,f.return=s,f.sibling=d,s.child=f,f=d,d=s.child,_=r.child.memoizedState,_===null?_=Ed(l):(S=_.cachePool,S!==null?(K=_e._currentValue,S=S.parent!==K?{parent:K,pool:K}:S):S=C0(),_={baseLanes:_.baseLanes|l,cachePool:S}),d.memoizedState=_,d.childLanes=Sd(r,w,l),s.memoizedState=Fd,f):(wi(s),l=r.child,r=l.sibling,l=En(l,{mode:"visible",children:f.children}),l.return=s,l.sibling=null,r!==null&&(w=s.deletions,w===null?(s.deletions=[r],s.flags|=16):w.push(r)),s.child=l,s.memoizedState=null,l)}function Hd(r,s){return s=du({mode:"visible",children:s},r.mode),s.return=r,r.child=s}function du(r,s){return r=gA(22,r,null,s),r.lanes=0,r.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},r}function Od(r,s,l){return Cs(s,r.child,null,l),r=Hd(s,s.pendingProps.children),r.flags|=2,s.memoizedState=null,r}function Rv(r,s,l){r.lanes|=s;var f=r.alternate;f!==null&&(f.lanes|=s),Wh(r.return,s,l)}function Td(r,s,l,f,d){var p=r.memoizedState;p===null?r.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:f,tail:l,tailMode:d}:(p.isBackwards=s,p.rendering=null,p.renderingStartTime=0,p.last=f,p.tail=l,p.tailMode=d)}function Nv(r,s,l){var f=s.pendingProps,d=f.revealOrder,p=f.tail;if(Me(r,s,f.children,l),f=Qe.current,(f&2)!==0)f=f&1|2,s.flags|=128;else{if(r!==null&&(r.flags&128)!==0)t:for(r=s.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&Rv(r,l,s);else if(r.tag===19)Rv(r,l,s);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===s)break t;for(;r.sibling===null;){if(r.return===null||r.return===s)break t;r=r.return}r.sibling.return=r.return,r=r.sibling}f&=1}switch(q(Qe,f),d){case"forwards":for(l=s.child,d=null;l!==null;)r=l.alternate,r!==null&&uu(r)===null&&(d=l),l=l.sibling;l=d,l===null?(d=s.child,s.child=null):(d=l.sibling,l.sibling=null),Td(s,!1,d,l,p);break;case"backwards":for(l=null,d=s.child,s.child=null;d!==null;){if(r=d.alternate,r!==null&&uu(r)===null){s.child=d;break}r=d.sibling,d.sibling=l,l=d,d=r}Td(s,!0,l,null,p);break;case"together":Td(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Ln(r,s,l){if(r!==null&&(s.dependencies=r.dependencies),Ui|=s.lanes,(l&s.childLanes)===0)if(r!==null){if(Ta(r,s,l,!1),(l&s.childLanes)===0)return null}else return null;if(r!==null&&s.child!==r.child)throw Error(n(153));if(s.child!==null){for(r=s.child,l=En(r,r.pendingProps),s.child=l,l.return=s;r.sibling!==null;)r=r.sibling,l=l.sibling=En(r,r.pendingProps),l.return=s;l.sibling=null}return s.child}function Dd(r,s){return(r.lanes&s)!==0?!0:(r=r.dependencies,!!(r!==null&&Zl(r)))}function lS(r,s,l){switch(s.tag){case 3:qt(s,s.stateNode.containerInfo),gi(s,_e,r.memoizedState.cache),Ha();break;case 27:case 5:da(s);break;case 4:qt(s,s.stateNode.containerInfo);break;case 10:gi(s,s.type,s.memoizedProps.value);break;case 13:var f=s.memoizedState;if(f!==null)return f.dehydrated!==null?(wi(s),s.flags|=128,null):(l&s.child.childLanes)!==0?Iv(r,s,l):(wi(s),r=Ln(r,s,l),r!==null?r.sibling:null);wi(s);break;case 19:var d=(r.flags&128)!==0;if(f=(l&s.childLanes)!==0,f||(Ta(r,s,l,!1),f=(l&s.childLanes)!==0),d){if(f)return Nv(r,s,l);s.flags|=128}if(d=s.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),q(Qe,Qe.current),f)break;return null;case 22:case 23:return s.lanes=0,Ov(r,s,l);case 24:gi(s,_e,r.memoizedState.cache)}return Ln(r,s,l)}function Kv(r,s,l){if(r!==null)if(r.memoizedProps!==s.pendingProps)Ee=!0;else{if(!Dd(r,l)&&(s.flags&128)===0)return Ee=!1,lS(r,s,l);Ee=(r.flags&131072)!==0}else Ee=!1,Lt&&(s.flags&1048576)!==0&&p0(s,Xl,s.index);switch(s.lanes=0,s.tag){case 16:t:{r=s.pendingProps;var f=s.elementType,d=f._init;if(f=d(f._payload),s.type=f,typeof f=="function")Vh(f)?(r=Br(f,r),s.tag=1,s=Mv(null,s,f,r,l)):(s.tag=0,s=xd(null,s,f,r,l));else{if(f!=null){if(d=f.$$typeof,d===O){s.tag=11,s=Ev(null,s,f,r,l);break t}else if(d===k){s.tag=14,s=Sv(null,s,f,r,l);break t}}throw s=bt(f)||f,Error(n(306,s,""))}}return s;case 0:return xd(r,s,s.type,s.pendingProps,l);case 1:return f=s.type,d=Br(f,s.pendingProps),Mv(r,s,f,d,l);case 3:t:{if(qt(s,s.stateNode.containerInfo),r===null)throw Error(n(387));f=s.pendingProps;var p=s.memoizedState;d=p.element,nd(r,s),Ka(s,f,null,l);var w=s.memoizedState;if(f=w.cache,gi(s,_e,f),f!==p.cache&&$h(s,[_e],l,!0),Na(),f=w.element,p.isDehydrated)if(p={element:f,isDehydrated:!1,cache:w.cache},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){s=Lv(r,s,f,l);break t}else if(f!==d){d=HA(Error(n(424)),s),Oa(d),s=Lv(r,s,f,l);break t}else{switch(r=s.stateNode.containerInfo,r.nodeType){case 9:r=r.body;break;default:r=r.nodeName==="HTML"?r.ownerDocument.body:r}for(fe=ZA(r.firstChild),We=s,Lt=!0,cr=null,on=!0,l=mv(s,null,f,l),s.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling}else{if(Ha(),f===d){s=Ln(r,s,l);break t}Me(r,s,f,l)}s=s.child}return s;case 26:return hu(r,s),r===null?(l=Pw(s.type,null,s.pendingProps,null))?s.memoizedState=l:Lt||(l=s.type,r=s.pendingProps,f=Fu(st.current).createElement(l),f[ke]=s,f[tA]=r,Ie(f,l,r),Fe(f),s.stateNode=f):s.memoizedState=Pw(s.type,r.memoizedProps,s.pendingProps,r.memoizedState),null;case 27:return da(s),r===null&&Lt&&(f=s.stateNode=kw(s.type,s.pendingProps,st.current),We=s,on=!0,d=fe,Si(s.type)?(dg=d,fe=ZA(f.firstChild)):fe=d),Me(r,s,s.pendingProps.children,l),hu(r,s),r===null&&(s.flags|=4194304),s.child;case 5:return r===null&&Lt&&((d=f=fe)&&(f=IS(f,s.type,s.pendingProps,on),f!==null?(s.stateNode=f,We=s,fe=ZA(f.firstChild),on=!1,d=!0):d=!1),d||fr(s)),da(s),d=s.type,p=s.pendingProps,w=r!==null?r.memoizedProps:null,f=p.children,ug(d,p)?f=null:w!==null&&ug(d,w)&&(s.flags|=32),s.memoizedState!==null&&(d=ld(r,s,eS,null,null,l),oo._currentValue=d),hu(r,s),Me(r,s,f,l),s.child;case 6:return r===null&&Lt&&((r=l=fe)&&(l=RS(l,s.pendingProps,on),l!==null?(s.stateNode=l,We=s,fe=null,r=!0):r=!1),r||fr(s)),null;case 13:return Iv(r,s,l);case 4:return qt(s,s.stateNode.containerInfo),f=s.pendingProps,r===null?s.child=Cs(s,null,f,l):Me(r,s,f,l),s.child;case 11:return Ev(r,s,s.type,s.pendingProps,l);case 7:return Me(r,s,s.pendingProps,l),s.child;case 8:return Me(r,s,s.pendingProps.children,l),s.child;case 12:return Me(r,s,s.pendingProps.children,l),s.child;case 10:return f=s.pendingProps,gi(s,s.type,f.value),Me(r,s,f.children,l),s.child;case 9:return d=s.type._context,f=s.pendingProps.children,dr(s),d=ze(d),f=f(d),s.flags|=1,Me(r,s,f,l),s.child;case 14:return Sv(r,s,s.type,s.pendingProps,l);case 15:return Hv(r,s,s.type,s.pendingProps,l);case 19:return Nv(r,s,l);case 31:return f=s.pendingProps,l=s.mode,f={mode:f.mode,children:f.children},r===null?(l=du(f,l),l.ref=s.ref,s.child=l,l.return=s,s=l):(l=En(r.child,f),l.ref=s.ref,s.child=l,l.return=s,s=l),s;case 22:return Ov(r,s,l);case 24:return dr(s),f=ze(_e),r===null?(d=td(),d===null&&(d=Yt,p=Jh(),d.pooledCache=p,p.refCount++,p!==null&&(d.pooledCacheLanes|=l),d=p),s.memoizedState={parent:f,cache:d},Ad(s),gi(s,_e,d)):((r.lanes&l)!==0&&(nd(r,s),Ka(s,null,null,l),Na()),d=r.memoizedState,p=s.memoizedState,d.parent!==f?(d={parent:f,cache:f},s.memoizedState=d,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=d),gi(s,_e,f)):(f=p.cache,gi(s,_e,f),f!==d.cache&&$h(s,[_e],l,!0))),Me(r,s,s.pendingProps.children,l),s.child;case 29:throw s.pendingProps}throw Error(n(156,s.tag))}function In(r){r.flags|=4}function kv(r,s){if(s.type!=="stylesheet"||(s.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!Yw(s)){if(s=MA.current,s!==null&&((Ht&4194048)===Ht?ln!==null:(Ht&62914560)!==Ht&&(Ht&536870912)===0||s!==ln))throw Ia=ed,_0;r.flags|=8192}}function gu(r,s){s!==null&&(r.flags|=4),r.flags&16384&&(s=r.tag!==22?vm():536870912,r.lanes|=s,xs|=s)}function Xa(r,s){if(!Lt)switch(r.tailMode){case"hidden":s=r.tail;for(var l=null;s!==null;)s.alternate!==null&&(l=s),s=s.sibling;l===null?r.tail=null:l.sibling=null;break;case"collapsed":l=r.tail;for(var f=null;l!==null;)l.alternate!==null&&(f=l),l=l.sibling;f===null?s||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function le(r){var s=r.alternate!==null&&r.alternate.child===r.child,l=0,f=0;if(s)for(var d=r.child;d!==null;)l|=d.lanes|d.childLanes,f|=d.subtreeFlags&65011712,f|=d.flags&65011712,d.return=r,d=d.sibling;else for(d=r.child;d!==null;)l|=d.lanes|d.childLanes,f|=d.subtreeFlags,f|=d.flags,d.return=r,d=d.sibling;return r.subtreeFlags|=f,r.childLanes=l,s}function uS(r,s,l){var f=s.pendingProps;switch(Xh(s),s.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return le(s),null;case 1:return le(s),null;case 3:return l=s.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),s.memoizedState.cache!==f&&(s.flags|=2048),Tn(_e),FA(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(r===null||r.child===null)&&(Sa(s)?In(s):r===null||r.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,v0())),le(s),null;case 26:return l=s.memoizedState,r===null?(In(s),l!==null?(le(s),kv(s,l)):(le(s),s.flags&=-16777217)):l?l!==r.memoizedState?(In(s),le(s),kv(s,l)):(le(s),s.flags&=-16777217):(r.memoizedProps!==f&&In(s),le(s),s.flags&=-16777217),null;case 27:$r(s),l=st.current;var d=s.type;if(r!==null&&s.stateNode!=null)r.memoizedProps!==f&&In(s);else{if(!f){if(s.stateNode===null)throw Error(n(166));return le(s),null}r=W.current,Sa(s)?B0(s):(r=kw(d,f,l),s.stateNode=r,In(s))}return le(s),null;case 5:if($r(s),l=s.type,r!==null&&s.stateNode!=null)r.memoizedProps!==f&&In(s);else{if(!f){if(s.stateNode===null)throw Error(n(166));return le(s),null}if(r=W.current,Sa(s))B0(s);else{switch(d=Fu(st.current),r){case 1:r=d.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:r=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":r=d.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":r=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":r=d.createElement("div"),r.innerHTML=" + diff --git a/vite-app/src/components/ChartExport.tsx b/vite-app/src/components/ChartExport.tsx index a89a2ead..60a5e434 100644 --- a/vite-app/src/components/ChartExport.tsx +++ b/vite-app/src/components/ChartExport.tsx @@ -59,8 +59,6 @@ const ChartExport = >({ valueField, aggregator, chartType = "bar", - showRowTotals = true, - showColumnTotals = true, }: ChartExportProps) => { const chartRef = useRef(null); const [selectedChartType, setSelectedChartType] = @@ -69,7 +67,7 @@ const ChartExport = >({ // Convert pivot data to Chart.js format const getChartData = useCallback(() => { - const { rowKeyTuples, colKeyTuples, cells, rowTotals } = pivotData; + const { rowKeyTuples, colKeyTuples, cells } = pivotData; if (selectedChartType === "bar" || selectedChartType === "line") { // For bar/line charts, use row groups as labels and columns as datasets @@ -102,23 +100,6 @@ const ChartExport = >({ }; }); - // Add row totals if enabled - if (showRowTotals) { - const totalData = rowKeyTuples.map((rowTuple) => { - const rowKey = rowTuple.map((v) => String(v ?? "")).join("||"); - return rowTotals[rowKey] ?? 0; - }); - - datasets.push({ - label: "Total", - data: totalData, - backgroundColor: "hsl(180, 60%, 60%)", - borderColor: "hsl(180, 60%, 60%)", - borderWidth: 2, - type: selectedChartType === "bar" ? "bar" : "line", - }); - } - return { labels, datasets }; } else { // For pie/doughnut charts, aggregate all data into a single dataset @@ -156,7 +137,7 @@ const ChartExport = >({ ], }; } - }, [pivotData, rowFields, columnFields, selectedChartType, showRowTotals]); + }, [pivotData, rowFields, columnFields, selectedChartType]); const chartData = getChartData(); From 4ec13586172d4b35715b5dd26a346312dabd3838 Mon Sep 17 00:00:00 2001 From: Dylan Huang Date: Sat, 16 Aug 2025 12:14:40 -0700 Subject: [PATCH 4/5] styling --- vite-app/dist/assets/{index-CQTgWyJ8.js => index-CFNV6YnL.js} | 4 ++-- .../assets/{index-CQTgWyJ8.js.map => index-CFNV6YnL.js.map} | 2 +- vite-app/dist/index.html | 2 +- vite-app/src/components/ChartExport.tsx | 2 +- vite-app/src/hooks/usePivotData.ts | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) rename vite-app/dist/assets/{index-CQTgWyJ8.js => index-CFNV6YnL.js} (96%) rename vite-app/dist/assets/{index-CQTgWyJ8.js.map => index-CFNV6YnL.js.map} (68%) diff --git a/vite-app/dist/assets/index-CQTgWyJ8.js b/vite-app/dist/assets/index-CFNV6YnL.js similarity index 96% rename from vite-app/dist/assets/index-CQTgWyJ8.js rename to vite-app/dist/assets/index-CFNV6YnL.js index ec0d98e8..845ba88a 100644 --- a/vite-app/dist/assets/index-CQTgWyJ8.js +++ b/vite-app/dist/assets/index-CFNV6YnL.js @@ -110,7 +110,7 @@ PERFORMANCE OF THIS SOFTWARE. content: "" !important; display: none !important; }`,Zz=function(e){Yz(e,"."+gB+Gz+m_+` - .`+pB+Xz+m_)},Yz=function(e,t){var A=e.ownerDocument;if(A){var n=A.createElement("style");n.textContent=t,e.appendChild(n)}},uF=function(){function e(){}return e.getOrigin=function(t){var A=e._link;return A?(A.href=t,A.href=A.href,A.protocol+A.hostname+A.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Wz=function(){function e(t,A){this.context=t,this._options=A,this._cache={}}return e.prototype.addImage=function(t){var A=Promise.resolve();return this.has(t)||(wp(t)||t3(t))&&(this._cache[t]=this.loadImage(t)).catch(function(){}),A},e.prototype.match=function(t){return this._cache[t]},e.prototype.loadImage=function(t){return Je(this,void 0,void 0,function(){var A,n,i,a,o=this;return Pe(this,function(u){switch(u.label){case 0:return A=uF.isSameOrigin(t),n=!vp(t)&&this._options.useCORS===!0&&Re.SUPPORT_CORS_IMAGES&&!A,i=!vp(t)&&!A&&!wp(t)&&typeof this._options.proxy=="string"&&Re.SUPPORT_CORS_XHR&&!n,!A&&this._options.allowTaint===!1&&!vp(t)&&!wp(t)&&!i&&!n?[2]:(a=t,i?[4,this.proxy(a)]:[3,2]);case 1:a=u.sent(),u.label=2;case 2:return this.context.logger.debug("Added image "+t.substring(0,256)),[4,new Promise(function(c,h){var g=new Image;g.onload=function(){return c(g)},g.onerror=h,(e3(a)||n)&&(g.crossOrigin="anonymous"),g.src=a,g.complete===!0&&setTimeout(function(){return c(g)},500),o._options.imageTimeout>0&&setTimeout(function(){return h("Timed out ("+o._options.imageTimeout+"ms) loading image")},o._options.imageTimeout)})];case 3:return[2,u.sent()]}})})},e.prototype.has=function(t){return typeof this._cache[t]<"u"},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(t){var A=this,n=this._options.proxy;if(!n)throw new Error("No proxy defined");var i=t.substring(0,256);return new Promise(function(a,o){var u=Re.SUPPORT_RESPONSE_TYPE?"blob":"text",c=new XMLHttpRequest;c.onload=function(){if(c.status===200)if(u==="text")a(c.response);else{var B=new FileReader;B.addEventListener("load",function(){return a(B.result)},!1),B.addEventListener("error",function(m){return o(m)},!1),B.readAsDataURL(c.response)}else o("Failed to proxy resource "+i+" with status code "+c.status)},c.onerror=o;var h=n.indexOf("?")>-1?"&":"?";if(c.open("GET",""+n+h+"url="+encodeURIComponent(t)+"&responseType="+u),u!=="text"&&c instanceof XMLHttpRequest&&(c.responseType=u),A._options.imageTimeout){var g=A._options.imageTimeout;c.timeout=g,c.ontimeout=function(){return o("Timed out ("+g+"ms) proxying "+i)}}c.send()})},e}(),$z=/^data:image\/svg\+xml/i,Jz=/^data:image\/.*;base64,/i,qz=/^data:image\/.*/i,t3=function(e){return Re.SUPPORT_SVG_DRAWING||!A3(e)},vp=function(e){return qz.test(e)},e3=function(e){return Jz.test(e)},wp=function(e){return e.substr(0,4)==="blob"},A3=function(e){return e.substr(-3).toLowerCase()==="svg"||$z.test(e)},it=function(){function e(t,A){this.type=0,this.x=t,this.y=A}return e.prototype.add=function(t,A){return new e(this.x+t,this.y+A)},e}(),Ps=function(e,t,A){return new it(e.x+(t.x-e.x)*A,e.y+(t.y-e.y)*A)},xc=function(){function e(t,A,n,i){this.type=1,this.start=t,this.startControl=A,this.endControl=n,this.end=i}return e.prototype.subdivide=function(t,A){var n=Ps(this.start,this.startControl,t),i=Ps(this.startControl,this.endControl,t),a=Ps(this.endControl,this.end,t),o=Ps(n,i,t),u=Ps(i,a,t),c=Ps(o,u,t);return A?new e(this.start,n,o,c):new e(c,u,a,this.end)},e.prototype.add=function(t,A){return new e(this.start.add(t,A),this.startControl.add(t,A),this.endControl.add(t,A),this.end.add(t,A))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),KA=function(e){return e.type===1},n3=function(){function e(t){var A=t.styles,n=t.bounds,i=Do(A.borderTopLeftRadius,n.width,n.height),a=i[0],o=i[1],u=Do(A.borderTopRightRadius,n.width,n.height),c=u[0],h=u[1],g=Do(A.borderBottomRightRadius,n.width,n.height),B=g[0],m=g[1],v=Do(A.borderBottomLeftRadius,n.width,n.height),b=v[0],y=v[1],_=[];_.push((a+c)/n.width),_.push((b+B)/n.width),_.push((o+y)/n.height),_.push((h+m)/n.height);var C=Math.max.apply(Math,_);C>1&&(a/=C,o/=C,c/=C,h/=C,B/=C,m/=C,b/=C,y/=C);var x=n.width-c,E=n.height-m,O=n.width-B,F=n.height-y,T=A.borderTopWidth,k=A.borderRightWidth,P=A.borderBottomWidth,N=A.borderLeftWidth,J=Xt(A.paddingTop,t.bounds.width),et=Xt(A.paddingRight,t.bounds.width),nt=Xt(A.paddingBottom,t.bounds.width),ct=Xt(A.paddingLeft,t.bounds.width);this.topLeftBorderDoubleOuterBox=a>0||o>0?Ae(n.left+N/3,n.top+T/3,a-N/3,o-T/3,It.TOP_LEFT):new it(n.left+N/3,n.top+T/3),this.topRightBorderDoubleOuterBox=a>0||o>0?Ae(n.left+x,n.top+T/3,c-k/3,h-T/3,It.TOP_RIGHT):new it(n.left+n.width-k/3,n.top+T/3),this.bottomRightBorderDoubleOuterBox=B>0||m>0?Ae(n.left+O,n.top+E,B-k/3,m-P/3,It.BOTTOM_RIGHT):new it(n.left+n.width-k/3,n.top+n.height-P/3),this.bottomLeftBorderDoubleOuterBox=b>0||y>0?Ae(n.left+N/3,n.top+F,b-N/3,y-P/3,It.BOTTOM_LEFT):new it(n.left+N/3,n.top+n.height-P/3),this.topLeftBorderDoubleInnerBox=a>0||o>0?Ae(n.left+N*2/3,n.top+T*2/3,a-N*2/3,o-T*2/3,It.TOP_LEFT):new it(n.left+N*2/3,n.top+T*2/3),this.topRightBorderDoubleInnerBox=a>0||o>0?Ae(n.left+x,n.top+T*2/3,c-k*2/3,h-T*2/3,It.TOP_RIGHT):new it(n.left+n.width-k*2/3,n.top+T*2/3),this.bottomRightBorderDoubleInnerBox=B>0||m>0?Ae(n.left+O,n.top+E,B-k*2/3,m-P*2/3,It.BOTTOM_RIGHT):new it(n.left+n.width-k*2/3,n.top+n.height-P*2/3),this.bottomLeftBorderDoubleInnerBox=b>0||y>0?Ae(n.left+N*2/3,n.top+F,b-N*2/3,y-P*2/3,It.BOTTOM_LEFT):new it(n.left+N*2/3,n.top+n.height-P*2/3),this.topLeftBorderStroke=a>0||o>0?Ae(n.left+N/2,n.top+T/2,a-N/2,o-T/2,It.TOP_LEFT):new it(n.left+N/2,n.top+T/2),this.topRightBorderStroke=a>0||o>0?Ae(n.left+x,n.top+T/2,c-k/2,h-T/2,It.TOP_RIGHT):new it(n.left+n.width-k/2,n.top+T/2),this.bottomRightBorderStroke=B>0||m>0?Ae(n.left+O,n.top+E,B-k/2,m-P/2,It.BOTTOM_RIGHT):new it(n.left+n.width-k/2,n.top+n.height-P/2),this.bottomLeftBorderStroke=b>0||y>0?Ae(n.left+N/2,n.top+F,b-N/2,y-P/2,It.BOTTOM_LEFT):new it(n.left+N/2,n.top+n.height-P/2),this.topLeftBorderBox=a>0||o>0?Ae(n.left,n.top,a,o,It.TOP_LEFT):new it(n.left,n.top),this.topRightBorderBox=c>0||h>0?Ae(n.left+x,n.top,c,h,It.TOP_RIGHT):new it(n.left+n.width,n.top),this.bottomRightBorderBox=B>0||m>0?Ae(n.left+O,n.top+E,B,m,It.BOTTOM_RIGHT):new it(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=b>0||y>0?Ae(n.left,n.top+F,b,y,It.BOTTOM_LEFT):new it(n.left,n.top+n.height),this.topLeftPaddingBox=a>0||o>0?Ae(n.left+N,n.top+T,Math.max(0,a-N),Math.max(0,o-T),It.TOP_LEFT):new it(n.left+N,n.top+T),this.topRightPaddingBox=c>0||h>0?Ae(n.left+Math.min(x,n.width-k),n.top+T,x>n.width+k?0:Math.max(0,c-k),Math.max(0,h-T),It.TOP_RIGHT):new it(n.left+n.width-k,n.top+T),this.bottomRightPaddingBox=B>0||m>0?Ae(n.left+Math.min(O,n.width-N),n.top+Math.min(E,n.height-P),Math.max(0,B-k),Math.max(0,m-P),It.BOTTOM_RIGHT):new it(n.left+n.width-k,n.top+n.height-P),this.bottomLeftPaddingBox=b>0||y>0?Ae(n.left+N,n.top+Math.min(F,n.height-P),Math.max(0,b-N),Math.max(0,y-P),It.BOTTOM_LEFT):new it(n.left+N,n.top+n.height-P),this.topLeftContentBox=a>0||o>0?Ae(n.left+N+ct,n.top+T+J,Math.max(0,a-(N+ct)),Math.max(0,o-(T+J)),It.TOP_LEFT):new it(n.left+N+ct,n.top+T+J),this.topRightContentBox=c>0||h>0?Ae(n.left+Math.min(x,n.width+N+ct),n.top+T+J,x>n.width+N+ct?0:c-N+ct,h-(T+J),It.TOP_RIGHT):new it(n.left+n.width-(k+et),n.top+T+J),this.bottomRightContentBox=B>0||m>0?Ae(n.left+Math.min(O,n.width-(N+ct)),n.top+Math.min(E,n.height+T+J),Math.max(0,B-(k+et)),m-(P+nt),It.BOTTOM_RIGHT):new it(n.left+n.width-(k+et),n.top+n.height-(P+nt)),this.bottomLeftContentBox=b>0||y>0?Ae(n.left+N+ct,n.top+F,Math.max(0,b-(N+ct)),y-(P+nt),It.BOTTOM_LEFT):new it(n.left+N+ct,n.top+n.height-(P+nt))}return e}(),It;(function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(It||(It={}));var Ae=function(e,t,A,n,i){var a=4*((Math.sqrt(2)-1)/3),o=A*a,u=n*a,c=e+A,h=t+n;switch(i){case It.TOP_LEFT:return new xc(new it(e,h),new it(e,h-u),new it(c-o,t),new it(c,t));case It.TOP_RIGHT:return new xc(new it(e,t),new it(e+o,t),new it(c,h-u),new it(c,h));case It.BOTTOM_RIGHT:return new xc(new it(c,t),new it(c,t+u),new it(e+o,h),new it(e,h));case It.BOTTOM_LEFT:default:return new xc(new it(c,h),new it(c-o,h),new it(e,t+u),new it(e,t))}},Qf=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},i3=function(e){return[e.topLeftContentBox,e.topRightContentBox,e.bottomRightContentBox,e.bottomLeftContentBox]},Uf=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},r3=function(){function e(t,A,n){this.offsetX=t,this.offsetY=A,this.matrix=n,this.type=0,this.target=6}return e}(),Fc=function(){function e(t,A){this.path=t,this.target=A,this.type=1}return e}(),s3=function(){function e(t){this.opacity=t,this.type=2,this.target=6}return e}(),a3=function(e){return e.type===0},cF=function(e){return e.type===1},o3=function(e){return e.type===2},v_=function(e,t){return e.length===t.length?e.some(function(A,n){return A===t[n]}):!1},l3=function(e,t,A,n,i){return e.map(function(a,o){switch(o){case 0:return a.add(t,A);case 1:return a.add(t+n,A);case 2:return a.add(t+n,A+i);case 3:return a.add(t,A+i)}return a})},fF=function(){function e(t){this.element=t,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return e}(),hF=function(){function e(t,A){if(this.container=t,this.parent=A,this.effects=[],this.curves=new n3(this.container),this.container.styles.opacity<1&&this.effects.push(new s3(this.container.styles.opacity)),this.container.styles.transform!==null){var n=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,a=this.container.styles.transform;this.effects.push(new r3(n,i,a))}if(this.container.styles.overflowX!==0){var o=Qf(this.curves),u=Uf(this.curves);v_(o,u)?this.effects.push(new Fc(o,6)):(this.effects.push(new Fc(o,2)),this.effects.push(new Fc(u,4)))}}return e.prototype.getEffects=function(t){for(var A=[2,3].indexOf(this.container.styles.position)===-1,n=this.parent,i=this.effects.slice(0);n;){var a=n.effects.filter(function(c){return!cF(c)});if(A||n.container.styles.position!==0||!n.parent){if(i.unshift.apply(i,a),A=[2,3].indexOf(n.container.styles.position)===-1,n.container.styles.overflowX!==0){var o=Qf(n.curves),u=Uf(n.curves);v_(o,u)||i.unshift(new Fc(u,6))}}else i.unshift.apply(i,a);n=n.parent}return i.filter(function(c){return Ue(c.target,t)})},e}(),BB=function(e,t,A,n){e.container.elements.forEach(function(i){var a=Ue(i.flags,4),o=Ue(i.flags,2),u=new hF(i,e);Ue(i.styles.display,2048)&&n.push(u);var c=Ue(i.flags,8)?[]:n;if(a||o){var h=a||i.styles.isPositioned()?A:t,g=new fF(u);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var B=i.styles.zIndex.order;if(B<0){var m=0;h.negativeZIndex.some(function(b,y){return B>b.element.container.styles.zIndex.order?(m=y,!1):m>0}),h.negativeZIndex.splice(m,0,g)}else if(B>0){var v=0;h.positiveZIndex.some(function(b,y){return B>=b.element.container.styles.zIndex.order?(v=y+1,!1):v>0}),h.positiveZIndex.splice(v,0,g)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(g)}else i.styles.isFloating()?h.nonPositionedFloats.push(g):h.nonPositionedInlineLevel.push(g);BB(u,g,a?g:A,c)}else i.styles.isInlineLevel()?t.inlineLevel.push(u):t.nonInlineLevel.push(u),BB(u,t,A,c);Ue(i.flags,8)&&dF(i,c)})},dF=function(e,t){for(var A=e instanceof fB?e.start:1,n=e instanceof fB?e.reversed:!1,i=0;i"u"?e[0]:A},B3=function(e,t,A,n,i){var a=t[0],o=t[1],u=A[0],c=A[1];switch(e){case 2:return[new it(Math.round(n.left),Math.round(n.top+o)),new it(Math.round(n.left+n.width),Math.round(n.top+o)),new it(Math.round(n.left+n.width),Math.round(c+n.top+o)),new it(Math.round(n.left),Math.round(c+n.top+o))];case 3:return[new it(Math.round(n.left+a),Math.round(n.top)),new it(Math.round(n.left+a+u),Math.round(n.top)),new it(Math.round(n.left+a+u),Math.round(n.height+n.top)),new it(Math.round(n.left+a),Math.round(n.height+n.top))];case 1:return[new it(Math.round(n.left+a),Math.round(n.top+o)),new it(Math.round(n.left+a+u),Math.round(n.top+o)),new it(Math.round(n.left+a+u),Math.round(n.top+o+c)),new it(Math.round(n.left+a),Math.round(n.top+o+c))];default:return[new it(Math.round(i.left),Math.round(i.top)),new it(Math.round(i.left+i.width),Math.round(i.top)),new it(Math.round(i.left+i.width),Math.round(i.height+i.top)),new it(Math.round(i.left),Math.round(i.height+i.top))]}},m3="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",b_="Hidden Text",v3=function(){function e(t){this._data={},this._document=t}return e.prototype.parseMetrics=function(t,A){var n=this._document.createElement("div"),i=this._document.createElement("img"),a=this._document.createElement("span"),o=this._document.body;n.style.visibility="hidden",n.style.fontFamily=t,n.style.fontSize=A,n.style.margin="0",n.style.padding="0",n.style.whiteSpace="nowrap",o.appendChild(n),i.src=m3,i.width=1,i.height=1,i.style.margin="0",i.style.padding="0",i.style.verticalAlign="baseline",a.style.fontFamily=t,a.style.fontSize=A,a.style.margin="0",a.style.padding="0",a.appendChild(this._document.createTextNode(b_)),n.appendChild(a),n.appendChild(i);var u=i.offsetTop-a.offsetTop+2;n.removeChild(a),n.appendChild(this._document.createTextNode(b_)),n.style.lineHeight="normal",i.style.verticalAlign="super";var c=i.offsetTop-n.offsetTop+2;return o.removeChild(n),{baseline:u,middle:c}},e.prototype.getMetrics=function(t,A){var n=t+" "+A;return typeof this._data[n]>"u"&&(this._data[n]=this.parseMetrics(t,A)),this._data[n]},e}(),pF=function(){function e(t,A){this.context=t,this.options=A}return e}(),w3=1e4,b3=function(e){sn(t,e);function t(A,n){var i=e.call(this,A,n)||this;return i._activeEffects=[],i.canvas=n.canvas?n.canvas:document.createElement("canvas"),i.ctx=i.canvas.getContext("2d"),n.canvas||(i.canvas.width=Math.floor(n.width*n.scale),i.canvas.height=Math.floor(n.height*n.scale),i.canvas.style.width=n.width+"px",i.canvas.style.height=n.height+"px"),i.fontMetrics=new v3(document),i.ctx.scale(i.options.scale,i.options.scale),i.ctx.translate(-n.x,-n.y),i.ctx.textBaseline="bottom",i._activeEffects=[],i.context.logger.debug("Canvas renderer initialized ("+n.width+"x"+n.height+") with scale "+n.scale),i}return t.prototype.applyEffects=function(A){for(var n=this;this._activeEffects.length;)this.popEffect();A.forEach(function(i){return n.applyEffect(i)})},t.prototype.applyEffect=function(A){this.ctx.save(),o3(A)&&(this.ctx.globalAlpha=A.opacity),a3(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),cF(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(A){return Je(this,void 0,void 0,function(){var n;return Pe(this,function(i){switch(i.label){case 0:return n=A.element.container.styles,n.isVisible()?[4,this.renderStackContent(A)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(A){return Je(this,void 0,void 0,function(){return Pe(this,function(n){switch(n.label){case 0:if(Ue(A.container.flags,16))debugger;return A.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(A)]:[3,3];case 1:return n.sent(),[4,this.renderNodeContent(A)];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(A,n,i){var a=this;if(n===0)this.ctx.fillText(A.text,A.bounds.left,A.bounds.top+i);else{var o=sm(A.text);o.reduce(function(u,c){return a.ctx.fillText(c,u,A.bounds.top+i),u+a.ctx.measureText(c).width},A.bounds.left)}},t.prototype.createFontStyle=function(A){var n=A.fontVariant.filter(function(o){return o==="normal"||o==="small-caps"}).join(""),i=U3(A.fontFamily).join(", "),a=Cl(A.fontSize)?""+A.fontSize.number+A.fontSize.unit:A.fontSize.number+"px";return[[A.fontStyle,n,A.fontWeight,a,i].join(" "),i,a]},t.prototype.renderTextNode=function(A,n){return Je(this,void 0,void 0,function(){var i,a,o,u,c,h,g,B,m=this;return Pe(this,function(v){return i=this.createFontStyle(n),a=i[0],o=i[1],u=i[2],this.ctx.font=a,this.ctx.direction=n.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",c=this.fontMetrics.getMetrics(o,u),h=c.baseline,g=c.middle,B=n.paintOrder,A.textBounds.forEach(function(b){B.forEach(function(y){switch(y){case 0:m.ctx.fillStyle=Oe(n.color),m.renderTextWithLetterSpacing(b,n.letterSpacing,h);var _=n.textShadow;_.length&&b.text.trim().length&&(_.slice(0).reverse().forEach(function(C){m.ctx.shadowColor=Oe(C.color),m.ctx.shadowOffsetX=C.offsetX.number*m.options.scale,m.ctx.shadowOffsetY=C.offsetY.number*m.options.scale,m.ctx.shadowBlur=C.blur.number,m.renderTextWithLetterSpacing(b,n.letterSpacing,h)}),m.ctx.shadowColor="",m.ctx.shadowOffsetX=0,m.ctx.shadowOffsetY=0,m.ctx.shadowBlur=0),n.textDecorationLine.length&&(m.ctx.fillStyle=Oe(n.textDecorationColor||n.color),n.textDecorationLine.forEach(function(C){switch(C){case 1:m.ctx.fillRect(b.bounds.left,Math.round(b.bounds.top+h),b.bounds.width,1);break;case 2:m.ctx.fillRect(b.bounds.left,Math.round(b.bounds.top),b.bounds.width,1);break;case 3:m.ctx.fillRect(b.bounds.left,Math.ceil(b.bounds.top+g),b.bounds.width,1);break}}));break;case 1:n.webkitTextStrokeWidth&&b.text.trim().length&&(m.ctx.strokeStyle=Oe(n.webkitTextStrokeColor),m.ctx.lineWidth=n.webkitTextStrokeWidth,m.ctx.lineJoin=window.chrome?"miter":"round",m.ctx.strokeText(b.text,b.bounds.left,b.bounds.top+h)),m.ctx.strokeStyle="",m.ctx.lineWidth=0,m.ctx.lineJoin="miter";break}})}),[2]})})},t.prototype.renderReplacedElement=function(A,n,i){if(i&&A.intrinsicWidth>0&&A.intrinsicHeight>0){var a=xf(A),o=Uf(n);this.path(o),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(i,0,0,A.intrinsicWidth,A.intrinsicHeight,a.left,a.top,a.width,a.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(A){return Je(this,void 0,void 0,function(){var n,i,a,o,u,c,x,x,h,g,B,m,O,v,b,F,y,_,C,x,E,O,F;return Pe(this,function(T){switch(T.label){case 0:this.applyEffects(A.getEffects(4)),n=A.container,i=A.curves,a=n.styles,o=0,u=n.textNodes,T.label=1;case 1:return o0&&bt>0&&(P=a.ctx.createPattern(F,"repeat"),a.renderRepeat(J,P,I,W))):oK(g)&&(N=bp(A,n,[null,null,null]),J=N[0],et=N[1],nt=N[2],ct=N[3],bt=N[4],ut=g.position.length===0?[nm]:g.position,I=Xt(ut[0],ct),W=Xt(ut[ut.length-1],bt),rt=nK(g,I,W,ct,bt),ht=rt[0],H=rt[1],ht>0&&H>0&&(X=a.ctx.createRadialGradient(et+I,nt+W,0,et+I,nt+W,ht),VC(g.stops,ht*2).forEach(function(be){return X.addColorStop(be.stop,Oe(be.color))}),a.path(J),a.ctx.fillStyle=X,ht!==H?(tt=A.bounds.left+.5*A.bounds.width,q=A.bounds.top+.5*A.bounds.height,Y=H/ht,ot=1/Y,a.ctx.save(),a.ctx.translate(tt,q),a.ctx.transform(1,0,0,Y,0,0),a.ctx.translate(-tt,-q),a.ctx.fillRect(et,ot*(nt-q)+q,ct,bt*ot),a.ctx.restore()):a.ctx.fill())),st.label=6;case 6:return n--,[2]}})},a=this,o=0,u=A.styles.backgroundImage.slice(0).reverse(),h.label=1;case 1:return o0?g.style!==2?[3,5]:[4,this.renderDashedDottedBorder(g.color,g.width,u,A.curves,2)]:[3,11]):[3,13];case 4:return m.sent(),[3,11];case 5:return g.style!==3?[3,7]:[4,this.renderDashedDottedBorder(g.color,g.width,u,A.curves,3)];case 6:return m.sent(),[3,11];case 7:return g.style!==4?[3,9]:[4,this.renderDoubleBorder(g.color,g.width,u,A.curves)];case 8:return m.sent(),[3,11];case 9:return[4,this.renderSolidBorder(g.color,u,A.curves)];case 10:m.sent(),m.label=11;case 11:u++,m.label=12;case 12:return c++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(A,n,i,a,o){return Je(this,void 0,void 0,function(){var u,c,h,g,B,m,v,b,y,_,C,x,E,O,F,T,F,T;return Pe(this,function(k){return this.ctx.save(),u=h3(a,i),c=w_(a,i),o===2&&(this.path(c),this.ctx.clip()),KA(c[0])?(h=c[0].start.x,g=c[0].start.y):(h=c[0].x,g=c[0].y),KA(c[1])?(B=c[1].end.x,m=c[1].end.y):(B=c[1].x,m=c[1].y),i===0||i===2?v=Math.abs(h-B):v=Math.abs(g-m),this.ctx.beginPath(),o===3?this.formatPath(u):this.formatPath(c.slice(0,2)),b=n<3?n*3:n*2,y=n<3?n*2:n,o===3&&(b=n,y=n),_=!0,v<=b*2?_=!1:v<=b*2+y?(C=v/(2*b+y),b*=C,y*=C):(x=Math.floor((v+y)/(b+y)),E=(v-x*b)/(x-1),O=(v-(x+1)*b)/x,y=O<=0||Math.abs(y-E){const o=M.useRef(null),[u,c]=M.useState(a),[h,g]=M.useState(!1),m=M.useCallback(()=>{const{rowKeyTuples:_,colKeyTuples:C,cells:x}=e;if(u==="bar"||u==="line"){const E=_.map(F=>F.map(T=>String(T??"")).join(" / ")),O=C.map((F,T)=>{const k=F.map(nt=>String(nt??"")).join(" / "),P=A.length>0?k:`Column ${T+1}`,N=_.map(nt=>{const ct=nt.map(ut=>String(ut??"")).join("||"),bt=x[ct]?.[k];return bt?bt.value:0}),et=`hsl(${T*137.5%360}, 70%, 60%)`;return{label:P,data:N,backgroundColor:et,borderColor:et,borderWidth:1,type:u}});return{labels:E,datasets:O}}else{const E={};Object.values(x).forEach(k=>{Object.values(k).forEach(P=>{const N=Object.keys(k).find(J=>k[J]===P);if(N){const J=N||"Unknown";E[J]=(E[J]||0)+P.value}})});const O=Object.keys(E),F=Object.values(E),T=O.map((k,P)=>`hsl(${P*137.5%360}, 60%, 60%)`);return{labels:O,datasets:[{data:F,backgroundColor:T,borderColor:T.map(k=>k),borderWidth:1}]}}},[e,t,A,u])();if(!m.labels.length||!m.datasets.length)return U.jsx("div",{className:"mb-6 p-4 border border-gray-200 rounded-lg bg-white",children:U.jsx("div",{className:"text-center text-gray-500 py-8",children:"No data available for chart visualization. Please select row and column fields."})});const v={responsive:!0,maintainAspectRatio:!1,plugins:{title:{display:!0,text:`Pivot Table: ${i} of ${String(n||"records")}`,font:{size:16,weight:"bold"}},legend:{display:!0,position:"top"},tooltip:{enabled:!0}},scales:u==="bar"||u==="line"?{y:{type:"linear",beginAtZero:!0,title:{display:!0,text:i==="count"?"Count":"Value"}},x:{type:"category",title:{display:!0,text:t.map(_=>String(_)).join(" / ")}}}:void 0},b=M.useCallback(async()=>{if(o.current){g(!0);try{const _=await H3(o.current,{backgroundColor:"#ffffff",scale:2,useCORS:!0,allowTaint:!0}),C=document.createElement("a");C.download=`pivot-chart-${u}-${Date.now()}.png`,C.href=_.toDataURL("image/png"),C.click()}catch(_){console.error("Error exporting chart:",_)}finally{g(!1)}}},[u]),y=[{value:"bar",label:"Bar Chart"},{value:"line",label:"Line Chart"},{value:"doughnut",label:"Doughnut Chart"},{value:"pie",label:"Pie Chart"}];return U.jsxs("div",{className:"mb-6 p-4 border border-gray-200 rounded-lg bg-white",children:[U.jsxs("div",{className:"flex items-center justify-between mb-4",children:[U.jsx("h3",{className:"text-sm font-medium text-gray-900",children:"Chart Export"}),U.jsxs("div",{className:"flex items-center space-x-2",children:[U.jsx(IB,{value:u,onChange:_=>c(_.target.value),size:"sm",className:"min-w-32",children:y.map(_=>U.jsx("option",{value:_.value,children:_.label},_.value))}),U.jsx(Ne,{onClick:b,disabled:h,size:"sm",variant:"secondary",children:h?"Exporting...":"Export as Image"})]})]}),U.jsx("div",{className:"text-xs text-gray-600 mb-3",children:"Visualize your pivot table data as a chart and export it as a high-resolution PNG image. You can adjust your browser window size to change the exported image dimensions."}),U.jsx("div",{ref:o,className:"w-full h-96 bg-white border border-gray-200 rounded p-4",children:U.jsx(sR,{type:u,data:m,options:v})})]})};function M3(e){const{rowFields:t,columnFields:A,valueField:n,aggregator:i}=e,a=M.useMemo(()=>t.filter(g=>g!==""),[t]),o=M.useMemo(()=>A.filter(g=>g!==""),[A]),u=M.useMemo(()=>n&&n!==""?n:void 0,[n]),c=M.useMemo(()=>a.length>0&&o.length>0,[a,o]),h=M.useMemo(()=>c?fU({data:dt.flattenedDataset,rowFields:a,columnFields:o,valueField:u,aggregator:i,filter:lf(dt.filterConfig)}):{rowKeyTuples:[],colKeyTuples:[],cells:{},rowTotals:{},colTotals:{},grandTotal:0},[c,a,o,u,i]);return{rowFields:a,columnFields:o,valueField:u,aggregator:i,pivotResult:h,hasValidConfiguration:c}}function L3(e){return(t,A)=>{e(t,A)}}function I3(e,t,A=3){return()=>{e.length{t(e.filter((n,i)=>i!==A))}}function y_(e,t,A=3){return{onFieldChange:L3((n,i)=>{const a=[...e];a[n]=i,t(a)}),onAddField:I3(e,t,A),onRemoveField:R3(e,t)}}function N3(){return dt.flattenedDatasetKeys}function K3(){return dt.pivotConfig}function Hc(e){dt.updatePivotConfig(e)}function k3(){dt.resetPivotConfig()}function z3(e){dt.updateFilterConfig(e)}function V3(){return dt.flattenedDataset}function P3(){return lf(dt.filterConfig)}function j3(){return dt.filterConfig}const C_=({title:e,fields:t,onFieldChange:A,onAddField:n,onRemoveField:i,availableKeys:a,variant:o="default"})=>{const u={row:"border-l-4 border-l-blue-500 pl-3",column:"border-l-4 border-l-green-500 pl-3",default:""};return U.jsxs("div",{className:`mb-4 ${u[o]}`,children:[U.jsxs("div",{className:"text-xs font-medium text-gray-700 mb-2",children:[e,":"]}),U.jsxs("div",{className:"space-y-2",children:[t.map((c,h)=>U.jsxs("div",{className:"flex items-center space-x-2",children:[U.jsx(Hr,{value:c,onChange:g=>A(h,g),options:[{value:"",label:"Select a field..."},...a?.map(g=>({value:g,label:g}))||[]],size:"sm",className:"min-w-48"}),t.length>0&&U.jsx("button",{onClick:()=>i(h),className:"text-xs text-red-600 hover:text-red-800 px-2 py-1",children:"Remove"})]},h)),t.length<3&&U.jsxs("button",{onClick:n,className:"text-xs text-blue-600 hover:text-blue-800 px-2 py-1",children:["+ Add ",e.slice(0,-1)]})]})]})},G3=({title:e,field:t,onFieldChange:A,availableKeys:n})=>U.jsxs("div",{className:"mb-4",children:[U.jsxs("div",{className:"text-xs font-medium text-gray-700 mb-2",children:[e,":"]}),U.jsx(Hr,{value:t,onChange:i=>A(i),options:[{value:"",label:"Select a field..."},...n?.map(i=>({value:i,label:i}))||[]],size:"sm",className:"min-w-48"})]}),X3=({aggregator:e,onAggregatorChange:t})=>U.jsxs("div",{className:"mb-4",children:[U.jsx("div",{className:"text-xs font-medium text-gray-700 mb-2",children:"Aggregation Method:"}),U.jsx(Hr,{value:e,onChange:A=>t(A),options:[{value:"count",label:"Count"},{value:"sum",label:"Sum"},{value:"avg",label:"Average"},{value:"min",label:"Minimum"},{value:"max",label:"Maximum"}],size:"sm",className:"min-w-48"})]}),Z3=se(()=>{const e=K3(),t=N3(),A=M3({rowFields:e.selectedRowFields,columnFields:e.selectedColumnFields,valueField:e.selectedValueField,aggregator:e.selectedAggregator}),n=o=>{Hc({selectedValueField:o})},i=o=>{Hc({selectedAggregator:o})},a=o=>{z3(o)};return U.jsxs("div",{children:[U.jsx("div",{className:"text-xs text-gray-600 mb-2 max-w-2xl",children:"Answer questions about your dataset by creating pivot tables that summarize and analyze your data. Select fields for rows, columns, and values to explore patterns, compare metrics across different dimensions, and gain insights from your evaluation results. Use filters to focus on specific subsets of your data."}),U.jsx("div",{className:"mb-4 flex justify-between items-center",children:U.jsx(Ne,{onClick:()=>k3(),variant:"secondary",size:"sm",children:"Reset to Defaults"})}),U.jsx(C_,{title:"Row Fields",fields:e.selectedRowFields,...y_(e.selectedRowFields,o=>Hc({selectedRowFields:o})),availableKeys:t,variant:"row"}),U.jsx(C_,{title:"Column Fields",fields:e.selectedColumnFields,...y_(e.selectedColumnFields,o=>Hc({selectedColumnFields:o})),availableKeys:t,variant:"column"}),U.jsx(G3,{title:"Value Field",field:e.selectedValueField,onFieldChange:n,availableKeys:t}),U.jsx(X3,{aggregator:e.selectedAggregator,onAggregatorChange:i}),U.jsx(cU,{filters:j3(),onFiltersChange:a,availableKeys:t,title:"Filters"}),A.hasValidConfiguration&&U.jsx(D3,{pivotData:A.pivotResult,rowFields:A.rowFields,columnFields:A.columnFields,valueField:A.valueField,aggregator:A.aggregator,showRowTotals:!0,showColumnTotals:!0}),U.jsx(DD,{data:V3(),rowFields:A.rowFields,columnFields:A.columnFields,valueField:A.valueField,aggregator:A.aggregator,showRowTotals:!0,showColumnTotals:!0,filter:P3()})]})}),__=({label:e,isActive:t,onClick:A,title:n})=>U.jsx("button",{type:"button",role:"tab","aria-selected":t,title:n,onClick:A,className:`text-xs font-medium px-2 py-0.5 border-b-2 focus:outline-none cursor-pointer transition-colors ${t?"text-gray-900 border-gray-900 bg-transparent":"text-gray-700 hover:text-gray-900 hover:border-gray-400 border-transparent bg-transparent hover:bg-gray-100"}`,children:e}),Y3=({onRefresh:e})=>{const t=()=>{e()};return U.jsx("div",{className:"bg-white border border-gray-200 p-8 text-center",children:U.jsxs("div",{className:"max-w-sm mx-auto",children:[U.jsx("div",{className:"text-gray-400 mb-4",children:U.jsx("svg",{className:"mx-auto h-12 w-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:U.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}),U.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-2",children:"No evaluation data available"}),U.jsx("p",{className:"text-xs text-gray-500 mb-4",children:"No evaluation rows have been loaded yet. Click refresh to reconnect and load data."}),U.jsx(Ne,{onClick:t,size:"md",children:"Refresh"})]})})},W3=()=>U.jsx("div",{className:"bg-white border border-gray-200 p-8 text-center",children:U.jsxs("div",{className:"max-w-sm mx-auto",children:[U.jsx("div",{className:"text-gray-400 mb-4",children:U.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-2 border-gray-300 border-t-gray-600 mx-auto"})}),U.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-2",children:"Loading evaluation data..."}),U.jsx("p",{className:"text-xs text-gray-500",children:"Connecting to the server and loading data"})]})}),Q_=se(({onRefresh:e})=>{const t=()=>dt.setAllRowsExpanded(!0),A=()=>dt.setAllRowsExpanded(!1),n=oi(),i=UB(),a=c=>c.endsWith("/pivot")?"pivot":"table",[o,u]=M.useState(a(n.pathname));return M.useEffect(()=>{u(a(n.pathname))},[n.pathname]),U.jsxs("div",{className:"text-sm",children:[U.jsxs("div",{className:"mb-4 bg-white border border-gray-200 p-3",children:[U.jsx("h2",{className:"text-sm font-semibold text-gray-900 mb-2",children:"Dataset Summary"}),U.jsxs("div",{className:"text-xs",children:[U.jsx("span",{className:"font-semibold text-gray-700",children:"Total Rows:"})," ",dt.totalCount]})]}),dt.isLoading?U.jsx(W3,{}):dt.sortedDataset.length===0?U.jsx(Y3,{onRefresh:e}):U.jsxs("div",{className:"bg-white border border-gray-200",children:[U.jsx("div",{className:"px-3 pt-2 border-b border-gray-200",children:U.jsxs("div",{className:"flex justify-between h-8",children:[U.jsxs("div",{id:"tabs",className:"flex gap-1",children:[U.jsx(__,{label:"Table",isActive:o==="table",onClick:()=>{u("table"),i("/table")},title:"View table"}),U.jsx(__,{label:"Pivot",isActive:o==="pivot",onClick:()=>{u("pivot"),i("/pivot")},title:"View pivot"})]}),o==="table"&&U.jsxs("div",{className:"flex gap-2 pb-2",children:[U.jsx(Ne,{onClick:t,size:"sm",variant:"secondary",children:"Expand All"}),U.jsx(Ne,{onClick:A,size:"sm",variant:"secondary",children:"Collapse All"})]})]})}),U.jsx("div",{className:"p-3",children:o==="table"?U.jsx(TD,{}):U.jsx(Z3,{})})]})]})});function G(e,t,A){function n(u,c){var h;Object.defineProperty(u,"_zod",{value:u._zod??{},enumerable:!1}),(h=u._zod).traits??(h.traits=new Set),u._zod.traits.add(e),t(u,c);for(const g in o.prototype)g in u||Object.defineProperty(u,g,{value:o.prototype[g].bind(u)});u._zod.constr=o,u._zod.def=c}const i=A?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(u){var c;const h=A?.Parent?new a:this;n(h,u),(c=h._zod).deferred??(c.deferred=[]);for(const g of h._zod.deferred)g();return h}return Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:u=>A?.Parent&&u instanceof A.Parent?!0:u?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}class ul extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const BF={};function $i(e){return BF}function $3(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function mB(e,t){return typeof t=="bigint"?t.toString():t}function lm(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function um(e){return e==null}function cm(e){const t=e.startsWith("^")?1:0,A=e.endsWith("$")?e.length-1:e.length;return e.slice(t,A)}function J3(e,t){const A=(e.toString().split(".")[1]||"").length,n=t.toString();let i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){const c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}const a=A>i?A:i,o=Number.parseInt(e.toFixed(a).replace(".","")),u=Number.parseInt(t.toFixed(a).replace(".",""));return o%u/10**a}const U_=Symbol("evaluating");function Zt(e,t,A){let n;Object.defineProperty(e,t,{get(){if(n!==U_)return n===void 0&&(n=U_,n=A()),n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Yr(e,t,A){Object.defineProperty(e,t,{value:A,writable:!0,enumerable:!0,configurable:!0})}function ha(...e){const t={};for(const A of e){const n=Object.getOwnPropertyDescriptors(A);Object.assign(t,n)}return Object.defineProperties({},t)}function x_(e){return JSON.stringify(e)}const mF="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ff(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const q3=lm(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Ef(e){if(Ff(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const A=t.prototype;return!(Ff(A)===!1||Object.prototype.hasOwnProperty.call(A,"isPrototypeOf")===!1)}const tV=new Set(["string","number","symbol"]);function sa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wr(e,t,A){const n=new e._zod.constr(t??e._zod.def);return(!t||A?.parent)&&(n._zod.parent=e),n}function gt(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function eV(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const AV={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function nV(e,t){const A=e._zod.def,n=ha(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in A.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=A.shape[a])}return Yr(this,"shape",i),i},checks:[]});return Wr(e,n)}function iV(e,t){const A=e._zod.def,n=ha(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in A.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return Yr(this,"shape",i),i},checks:[]});return Wr(e,n)}function rV(e,t){if(!Ef(t))throw new Error("Invalid input to extend: expected a plain object");const A=ha(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Yr(this,"shape",n),n},checks:[]});return Wr(e,A)}function sV(e,t){const A=ha(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Yr(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return Wr(e,A)}function aV(e,t,A){const n=ha(t._zod.def,{get shape(){const i=t._zod.def.shape,a={...i};if(A)for(const o in A){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);A[o]&&(a[o]=e?new e({type:"optional",innerType:i[o]}):i[o])}else for(const o in i)a[o]=e?new e({type:"optional",innerType:i[o]}):i[o];return Yr(this,"shape",a),a},checks:[]});return Wr(t,n)}function oV(e,t,A){const n=ha(t._zod.def,{get shape(){const i=t._zod.def.shape,a={...i};if(A)for(const o in A){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);A[o]&&(a[o]=new e({type:"nonoptional",innerType:i[o]}))}else for(const o in i)a[o]=new e({type:"nonoptional",innerType:i[o]});return Yr(this,"shape",a),a},checks:[]});return Wr(t,n)}function Zo(e,t=0){for(let A=t;A{var n;return(n=A).path??(n.path=[]),A.path.unshift(e),A})}function Oc(e){return typeof e=="string"?e:e?.message}function Ji(e,t,A){const n={...e,path:e.path??[]};if(!e.message){const i=Oc(e.inst?._zod.def?.error?.(e))??Oc(t?.error?.(e))??Oc(A.customError?.(e))??Oc(A.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function fm(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function cl(...e){const[t,A,n]=e;return typeof t=="string"?{message:t,code:"custom",input:A,inst:n}:{...t}}const vF=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,mB,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},wF=G("$ZodError",vF),bF=G("$ZodError",vF,{Parent:Error});function lV(e,t=A=>A.message){const A={},n=[];for(const i of e.issues)i.path.length>0?(A[i.path[0]]=A[i.path[0]]||[],A[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:A}}function uV(e,t){const A=t||function(a){return a.message},n={_errors:[]},i=a=>{for(const o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(u=>i({issues:u}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(A(o));else{let u=n,c=0;for(;c(t,A,n,i)=>{const a=n?Object.assign(n,{async:!1}):{async:!1},o=t._zod.run({value:A,issues:[]},a);if(o instanceof Promise)throw new ul;if(o.issues.length){const u=new(i?.Err??e)(o.issues.map(c=>Ji(c,a,$i())));throw mF(u,i?.callee),u}return o.value},fV=e=>async(t,A,n,i)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:A,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){const u=new(i?.Err??e)(o.issues.map(c=>Ji(c,a,$i())));throw mF(u,i?.callee),u}return o.value},yF=e=>(t,A,n)=>{const i=n?{...n,async:!1}:{async:!1},a=t._zod.run({value:A,issues:[]},i);if(a instanceof Promise)throw new ul;return a.issues.length?{success:!1,error:new(e??wF)(a.issues.map(o=>Ji(o,i,$i())))}:{success:!0,data:a.value}},hV=yF(bF),CF=e=>async(t,A,n)=>{const i=n?Object.assign(n,{async:!0}):{async:!0};let a=t._zod.run({value:A,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(o=>Ji(o,i,$i())))}:{success:!0,data:a.value}},dV=CF(bF),gV=/^[cC][^\s-]{8,}$/,pV=/^[0-9a-z]+$/,BV=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mV=/^[0-9a-vA-V]{20}$/,vV=/^[A-Za-z0-9]{27}$/,wV=/^[a-zA-Z0-9_-]{21}$/,bV=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,yV=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,F_=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,CV=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_V="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function QV(){return new RegExp(_V,"u")}const UV=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xV=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,FV=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,EV=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,SV=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,_F=/^[A-Za-z0-9_-]*$/,HV=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,OV=/^\+(?:[0-9]){6,14}[0-9]$/,QF="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",TV=new RegExp(`^${QF}$`);function UF(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function DV(e){return new RegExp(`^${UF(e)}$`)}function MV(e){const t=UF({precision:e.precision}),A=["Z"];e.local&&A.push(""),e.offset&&A.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${A.join("|")})`;return new RegExp(`^${QF}T(?:${n})$`)}const LV=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},IV=/^\d+$/,RV=/^-?\d+(?:\.\d+)?/i,NV=/true|false/i,KV=/^[^A-Z]*$/,kV=/^[^a-z]*$/,cA=G("$ZodCheck",(e,t)=>{var A;e._zod??(e._zod={}),e._zod.def=t,(A=e._zod).onattach??(A.onattach=[])}),xF={number:"number",bigint:"bigint",object:"date"},FF=G("$ZodCheckLessThan",(e,t)=>{cA.init(e,t);const A=xF[typeof t.value];e._zod.onattach.push(n=>{const i=n._zod.bag,a=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value{(t.inclusive?n.value<=t.value:n.value{cA.init(e,t);const A=xF[typeof t.value];e._zod.onattach.push(n=>{const i=n._zod.bag,a=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:A,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zV=G("$ZodCheckMultipleOf",(e,t)=>{cA.init(e,t),e._zod.onattach.push(A=>{var n;(n=A._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=A=>{if(typeof A.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof A.value=="bigint"?A.value%t.value===BigInt(0):J3(A.value,t.value)===0)||A.issues.push({origin:typeof A.value,code:"not_multiple_of",divisor:t.value,input:A.value,inst:e,continue:!t.abort})}}),VV=G("$ZodCheckNumberFormat",(e,t)=>{cA.init(e,t),t.format=t.format||"float64";const A=t.format?.includes("int"),n=A?"int":"number",[i,a]=AV[t.format];e._zod.onattach.push(o=>{const u=o._zod.bag;u.format=t.format,u.minimum=i,u.maximum=a,A&&(u.pattern=IV)}),e._zod.check=o=>{const u=o.value;if(A){if(!Number.isInteger(u)){o.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});return}if(!Number.isSafeInteger(u)){u>0?o.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):o.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}ua&&o.issues.push({origin:"number",input:u,code:"too_big",maximum:a,inst:e})}}),PV=G("$ZodCheckMaxLength",(e,t)=>{var A;cA.init(e,t),(A=e._zod.def).when??(A.when=n=>{const i=n.value;return!um(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum{const i=n.value;if(i.length<=t.maximum)return;const o=fm(i);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),jV=G("$ZodCheckMinLength",(e,t)=>{var A;cA.init(e,t),(A=e._zod.def).when??(A.when=n=>{const i=n.value;return!um(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const i=n.value;if(i.length>=t.minimum)return;const o=fm(i);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),GV=G("$ZodCheckLengthEquals",(e,t)=>{var A;cA.init(e,t),(A=e._zod.def).when??(A.when=n=>{const i=n.value;return!um(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{const i=n.value,a=i.length;if(a===t.length)return;const o=fm(i),u=a>t.length;n.issues.push({origin:o,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),oh=G("$ZodCheckStringFormat",(e,t)=>{var A,n;cA.init(e,t),e._zod.onattach.push(i=>{const a=i._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(A=e._zod).check??(A.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),XV=G("$ZodCheckRegex",(e,t)=>{oh.init(e,t),e._zod.check=A=>{t.pattern.lastIndex=0,!t.pattern.test(A.value)&&A.issues.push({origin:"string",code:"invalid_format",format:"regex",input:A.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ZV=G("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=KV),oh.init(e,t)}),YV=G("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=kV),oh.init(e,t)}),WV=G("$ZodCheckIncludes",(e,t)=>{cA.init(e,t);const A=sa(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${A}`:A);t.pattern=n,e._zod.onattach.push(i=>{const a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),$V=G("$ZodCheckStartsWith",(e,t)=>{cA.init(e,t);const A=new RegExp(`^${sa(t.prefix)}.*`);t.pattern??(t.pattern=A),e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(A)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),JV=G("$ZodCheckEndsWith",(e,t)=>{cA.init(e,t);const A=new RegExp(`.*${sa(t.suffix)}$`);t.pattern??(t.pattern=A),e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(A)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),qV=G("$ZodCheckOverwrite",(e,t)=>{cA.init(e,t),e._zod.check=A=>{A.value=t.tx(A.value)}});class tP{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(` + .`+pB+Xz+m_)},Yz=function(e,t){var A=e.ownerDocument;if(A){var n=A.createElement("style");n.textContent=t,e.appendChild(n)}},uF=function(){function e(){}return e.getOrigin=function(t){var A=e._link;return A?(A.href=t,A.href=A.href,A.protocol+A.hostname+A.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Wz=function(){function e(t,A){this.context=t,this._options=A,this._cache={}}return e.prototype.addImage=function(t){var A=Promise.resolve();return this.has(t)||(wp(t)||t3(t))&&(this._cache[t]=this.loadImage(t)).catch(function(){}),A},e.prototype.match=function(t){return this._cache[t]},e.prototype.loadImage=function(t){return Je(this,void 0,void 0,function(){var A,n,i,a,o=this;return Pe(this,function(u){switch(u.label){case 0:return A=uF.isSameOrigin(t),n=!vp(t)&&this._options.useCORS===!0&&Re.SUPPORT_CORS_IMAGES&&!A,i=!vp(t)&&!A&&!wp(t)&&typeof this._options.proxy=="string"&&Re.SUPPORT_CORS_XHR&&!n,!A&&this._options.allowTaint===!1&&!vp(t)&&!wp(t)&&!i&&!n?[2]:(a=t,i?[4,this.proxy(a)]:[3,2]);case 1:a=u.sent(),u.label=2;case 2:return this.context.logger.debug("Added image "+t.substring(0,256)),[4,new Promise(function(c,h){var g=new Image;g.onload=function(){return c(g)},g.onerror=h,(e3(a)||n)&&(g.crossOrigin="anonymous"),g.src=a,g.complete===!0&&setTimeout(function(){return c(g)},500),o._options.imageTimeout>0&&setTimeout(function(){return h("Timed out ("+o._options.imageTimeout+"ms) loading image")},o._options.imageTimeout)})];case 3:return[2,u.sent()]}})})},e.prototype.has=function(t){return typeof this._cache[t]<"u"},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(t){var A=this,n=this._options.proxy;if(!n)throw new Error("No proxy defined");var i=t.substring(0,256);return new Promise(function(a,o){var u=Re.SUPPORT_RESPONSE_TYPE?"blob":"text",c=new XMLHttpRequest;c.onload=function(){if(c.status===200)if(u==="text")a(c.response);else{var B=new FileReader;B.addEventListener("load",function(){return a(B.result)},!1),B.addEventListener("error",function(m){return o(m)},!1),B.readAsDataURL(c.response)}else o("Failed to proxy resource "+i+" with status code "+c.status)},c.onerror=o;var h=n.indexOf("?")>-1?"&":"?";if(c.open("GET",""+n+h+"url="+encodeURIComponent(t)+"&responseType="+u),u!=="text"&&c instanceof XMLHttpRequest&&(c.responseType=u),A._options.imageTimeout){var g=A._options.imageTimeout;c.timeout=g,c.ontimeout=function(){return o("Timed out ("+g+"ms) proxying "+i)}}c.send()})},e}(),$z=/^data:image\/svg\+xml/i,Jz=/^data:image\/.*;base64,/i,qz=/^data:image\/.*/i,t3=function(e){return Re.SUPPORT_SVG_DRAWING||!A3(e)},vp=function(e){return qz.test(e)},e3=function(e){return Jz.test(e)},wp=function(e){return e.substr(0,4)==="blob"},A3=function(e){return e.substr(-3).toLowerCase()==="svg"||$z.test(e)},it=function(){function e(t,A){this.type=0,this.x=t,this.y=A}return e.prototype.add=function(t,A){return new e(this.x+t,this.y+A)},e}(),Ps=function(e,t,A){return new it(e.x+(t.x-e.x)*A,e.y+(t.y-e.y)*A)},xc=function(){function e(t,A,n,i){this.type=1,this.start=t,this.startControl=A,this.endControl=n,this.end=i}return e.prototype.subdivide=function(t,A){var n=Ps(this.start,this.startControl,t),i=Ps(this.startControl,this.endControl,t),a=Ps(this.endControl,this.end,t),o=Ps(n,i,t),u=Ps(i,a,t),c=Ps(o,u,t);return A?new e(this.start,n,o,c):new e(c,u,a,this.end)},e.prototype.add=function(t,A){return new e(this.start.add(t,A),this.startControl.add(t,A),this.endControl.add(t,A),this.end.add(t,A))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),KA=function(e){return e.type===1},n3=function(){function e(t){var A=t.styles,n=t.bounds,i=Do(A.borderTopLeftRadius,n.width,n.height),a=i[0],o=i[1],u=Do(A.borderTopRightRadius,n.width,n.height),c=u[0],h=u[1],g=Do(A.borderBottomRightRadius,n.width,n.height),B=g[0],m=g[1],v=Do(A.borderBottomLeftRadius,n.width,n.height),b=v[0],y=v[1],_=[];_.push((a+c)/n.width),_.push((b+B)/n.width),_.push((o+y)/n.height),_.push((h+m)/n.height);var C=Math.max.apply(Math,_);C>1&&(a/=C,o/=C,c/=C,h/=C,B/=C,m/=C,b/=C,y/=C);var x=n.width-c,E=n.height-m,O=n.width-B,F=n.height-y,T=A.borderTopWidth,k=A.borderRightWidth,P=A.borderBottomWidth,N=A.borderLeftWidth,J=Xt(A.paddingTop,t.bounds.width),et=Xt(A.paddingRight,t.bounds.width),nt=Xt(A.paddingBottom,t.bounds.width),ct=Xt(A.paddingLeft,t.bounds.width);this.topLeftBorderDoubleOuterBox=a>0||o>0?Ae(n.left+N/3,n.top+T/3,a-N/3,o-T/3,It.TOP_LEFT):new it(n.left+N/3,n.top+T/3),this.topRightBorderDoubleOuterBox=a>0||o>0?Ae(n.left+x,n.top+T/3,c-k/3,h-T/3,It.TOP_RIGHT):new it(n.left+n.width-k/3,n.top+T/3),this.bottomRightBorderDoubleOuterBox=B>0||m>0?Ae(n.left+O,n.top+E,B-k/3,m-P/3,It.BOTTOM_RIGHT):new it(n.left+n.width-k/3,n.top+n.height-P/3),this.bottomLeftBorderDoubleOuterBox=b>0||y>0?Ae(n.left+N/3,n.top+F,b-N/3,y-P/3,It.BOTTOM_LEFT):new it(n.left+N/3,n.top+n.height-P/3),this.topLeftBorderDoubleInnerBox=a>0||o>0?Ae(n.left+N*2/3,n.top+T*2/3,a-N*2/3,o-T*2/3,It.TOP_LEFT):new it(n.left+N*2/3,n.top+T*2/3),this.topRightBorderDoubleInnerBox=a>0||o>0?Ae(n.left+x,n.top+T*2/3,c-k*2/3,h-T*2/3,It.TOP_RIGHT):new it(n.left+n.width-k*2/3,n.top+T*2/3),this.bottomRightBorderDoubleInnerBox=B>0||m>0?Ae(n.left+O,n.top+E,B-k*2/3,m-P*2/3,It.BOTTOM_RIGHT):new it(n.left+n.width-k*2/3,n.top+n.height-P*2/3),this.bottomLeftBorderDoubleInnerBox=b>0||y>0?Ae(n.left+N*2/3,n.top+F,b-N*2/3,y-P*2/3,It.BOTTOM_LEFT):new it(n.left+N*2/3,n.top+n.height-P*2/3),this.topLeftBorderStroke=a>0||o>0?Ae(n.left+N/2,n.top+T/2,a-N/2,o-T/2,It.TOP_LEFT):new it(n.left+N/2,n.top+T/2),this.topRightBorderStroke=a>0||o>0?Ae(n.left+x,n.top+T/2,c-k/2,h-T/2,It.TOP_RIGHT):new it(n.left+n.width-k/2,n.top+T/2),this.bottomRightBorderStroke=B>0||m>0?Ae(n.left+O,n.top+E,B-k/2,m-P/2,It.BOTTOM_RIGHT):new it(n.left+n.width-k/2,n.top+n.height-P/2),this.bottomLeftBorderStroke=b>0||y>0?Ae(n.left+N/2,n.top+F,b-N/2,y-P/2,It.BOTTOM_LEFT):new it(n.left+N/2,n.top+n.height-P/2),this.topLeftBorderBox=a>0||o>0?Ae(n.left,n.top,a,o,It.TOP_LEFT):new it(n.left,n.top),this.topRightBorderBox=c>0||h>0?Ae(n.left+x,n.top,c,h,It.TOP_RIGHT):new it(n.left+n.width,n.top),this.bottomRightBorderBox=B>0||m>0?Ae(n.left+O,n.top+E,B,m,It.BOTTOM_RIGHT):new it(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=b>0||y>0?Ae(n.left,n.top+F,b,y,It.BOTTOM_LEFT):new it(n.left,n.top+n.height),this.topLeftPaddingBox=a>0||o>0?Ae(n.left+N,n.top+T,Math.max(0,a-N),Math.max(0,o-T),It.TOP_LEFT):new it(n.left+N,n.top+T),this.topRightPaddingBox=c>0||h>0?Ae(n.left+Math.min(x,n.width-k),n.top+T,x>n.width+k?0:Math.max(0,c-k),Math.max(0,h-T),It.TOP_RIGHT):new it(n.left+n.width-k,n.top+T),this.bottomRightPaddingBox=B>0||m>0?Ae(n.left+Math.min(O,n.width-N),n.top+Math.min(E,n.height-P),Math.max(0,B-k),Math.max(0,m-P),It.BOTTOM_RIGHT):new it(n.left+n.width-k,n.top+n.height-P),this.bottomLeftPaddingBox=b>0||y>0?Ae(n.left+N,n.top+Math.min(F,n.height-P),Math.max(0,b-N),Math.max(0,y-P),It.BOTTOM_LEFT):new it(n.left+N,n.top+n.height-P),this.topLeftContentBox=a>0||o>0?Ae(n.left+N+ct,n.top+T+J,Math.max(0,a-(N+ct)),Math.max(0,o-(T+J)),It.TOP_LEFT):new it(n.left+N+ct,n.top+T+J),this.topRightContentBox=c>0||h>0?Ae(n.left+Math.min(x,n.width+N+ct),n.top+T+J,x>n.width+N+ct?0:c-N+ct,h-(T+J),It.TOP_RIGHT):new it(n.left+n.width-(k+et),n.top+T+J),this.bottomRightContentBox=B>0||m>0?Ae(n.left+Math.min(O,n.width-(N+ct)),n.top+Math.min(E,n.height+T+J),Math.max(0,B-(k+et)),m-(P+nt),It.BOTTOM_RIGHT):new it(n.left+n.width-(k+et),n.top+n.height-(P+nt)),this.bottomLeftContentBox=b>0||y>0?Ae(n.left+N+ct,n.top+F,Math.max(0,b-(N+ct)),y-(P+nt),It.BOTTOM_LEFT):new it(n.left+N+ct,n.top+n.height-(P+nt))}return e}(),It;(function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"})(It||(It={}));var Ae=function(e,t,A,n,i){var a=4*((Math.sqrt(2)-1)/3),o=A*a,u=n*a,c=e+A,h=t+n;switch(i){case It.TOP_LEFT:return new xc(new it(e,h),new it(e,h-u),new it(c-o,t),new it(c,t));case It.TOP_RIGHT:return new xc(new it(e,t),new it(e+o,t),new it(c,h-u),new it(c,h));case It.BOTTOM_RIGHT:return new xc(new it(c,t),new it(c,t+u),new it(e+o,h),new it(e,h));case It.BOTTOM_LEFT:default:return new xc(new it(c,h),new it(c-o,h),new it(e,t+u),new it(e,t))}},Qf=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},i3=function(e){return[e.topLeftContentBox,e.topRightContentBox,e.bottomRightContentBox,e.bottomLeftContentBox]},Uf=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},r3=function(){function e(t,A,n){this.offsetX=t,this.offsetY=A,this.matrix=n,this.type=0,this.target=6}return e}(),Fc=function(){function e(t,A){this.path=t,this.target=A,this.type=1}return e}(),s3=function(){function e(t){this.opacity=t,this.type=2,this.target=6}return e}(),a3=function(e){return e.type===0},cF=function(e){return e.type===1},o3=function(e){return e.type===2},v_=function(e,t){return e.length===t.length?e.some(function(A,n){return A===t[n]}):!1},l3=function(e,t,A,n,i){return e.map(function(a,o){switch(o){case 0:return a.add(t,A);case 1:return a.add(t+n,A);case 2:return a.add(t+n,A+i);case 3:return a.add(t,A+i)}return a})},fF=function(){function e(t){this.element=t,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return e}(),hF=function(){function e(t,A){if(this.container=t,this.parent=A,this.effects=[],this.curves=new n3(this.container),this.container.styles.opacity<1&&this.effects.push(new s3(this.container.styles.opacity)),this.container.styles.transform!==null){var n=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,a=this.container.styles.transform;this.effects.push(new r3(n,i,a))}if(this.container.styles.overflowX!==0){var o=Qf(this.curves),u=Uf(this.curves);v_(o,u)?this.effects.push(new Fc(o,6)):(this.effects.push(new Fc(o,2)),this.effects.push(new Fc(u,4)))}}return e.prototype.getEffects=function(t){for(var A=[2,3].indexOf(this.container.styles.position)===-1,n=this.parent,i=this.effects.slice(0);n;){var a=n.effects.filter(function(c){return!cF(c)});if(A||n.container.styles.position!==0||!n.parent){if(i.unshift.apply(i,a),A=[2,3].indexOf(n.container.styles.position)===-1,n.container.styles.overflowX!==0){var o=Qf(n.curves),u=Uf(n.curves);v_(o,u)||i.unshift(new Fc(u,6))}}else i.unshift.apply(i,a);n=n.parent}return i.filter(function(c){return Ue(c.target,t)})},e}(),BB=function(e,t,A,n){e.container.elements.forEach(function(i){var a=Ue(i.flags,4),o=Ue(i.flags,2),u=new hF(i,e);Ue(i.styles.display,2048)&&n.push(u);var c=Ue(i.flags,8)?[]:n;if(a||o){var h=a||i.styles.isPositioned()?A:t,g=new fF(u);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){var B=i.styles.zIndex.order;if(B<0){var m=0;h.negativeZIndex.some(function(b,y){return B>b.element.container.styles.zIndex.order?(m=y,!1):m>0}),h.negativeZIndex.splice(m,0,g)}else if(B>0){var v=0;h.positiveZIndex.some(function(b,y){return B>=b.element.container.styles.zIndex.order?(v=y+1,!1):v>0}),h.positiveZIndex.splice(v,0,g)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(g)}else i.styles.isFloating()?h.nonPositionedFloats.push(g):h.nonPositionedInlineLevel.push(g);BB(u,g,a?g:A,c)}else i.styles.isInlineLevel()?t.inlineLevel.push(u):t.nonInlineLevel.push(u),BB(u,t,A,c);Ue(i.flags,8)&&dF(i,c)})},dF=function(e,t){for(var A=e instanceof fB?e.start:1,n=e instanceof fB?e.reversed:!1,i=0;i"u"?e[0]:A},B3=function(e,t,A,n,i){var a=t[0],o=t[1],u=A[0],c=A[1];switch(e){case 2:return[new it(Math.round(n.left),Math.round(n.top+o)),new it(Math.round(n.left+n.width),Math.round(n.top+o)),new it(Math.round(n.left+n.width),Math.round(c+n.top+o)),new it(Math.round(n.left),Math.round(c+n.top+o))];case 3:return[new it(Math.round(n.left+a),Math.round(n.top)),new it(Math.round(n.left+a+u),Math.round(n.top)),new it(Math.round(n.left+a+u),Math.round(n.height+n.top)),new it(Math.round(n.left+a),Math.round(n.height+n.top))];case 1:return[new it(Math.round(n.left+a),Math.round(n.top+o)),new it(Math.round(n.left+a+u),Math.round(n.top+o)),new it(Math.round(n.left+a+u),Math.round(n.top+o+c)),new it(Math.round(n.left+a),Math.round(n.top+o+c))];default:return[new it(Math.round(i.left),Math.round(i.top)),new it(Math.round(i.left+i.width),Math.round(i.top)),new it(Math.round(i.left+i.width),Math.round(i.height+i.top)),new it(Math.round(i.left),Math.round(i.height+i.top))]}},m3="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",b_="Hidden Text",v3=function(){function e(t){this._data={},this._document=t}return e.prototype.parseMetrics=function(t,A){var n=this._document.createElement("div"),i=this._document.createElement("img"),a=this._document.createElement("span"),o=this._document.body;n.style.visibility="hidden",n.style.fontFamily=t,n.style.fontSize=A,n.style.margin="0",n.style.padding="0",n.style.whiteSpace="nowrap",o.appendChild(n),i.src=m3,i.width=1,i.height=1,i.style.margin="0",i.style.padding="0",i.style.verticalAlign="baseline",a.style.fontFamily=t,a.style.fontSize=A,a.style.margin="0",a.style.padding="0",a.appendChild(this._document.createTextNode(b_)),n.appendChild(a),n.appendChild(i);var u=i.offsetTop-a.offsetTop+2;n.removeChild(a),n.appendChild(this._document.createTextNode(b_)),n.style.lineHeight="normal",i.style.verticalAlign="super";var c=i.offsetTop-n.offsetTop+2;return o.removeChild(n),{baseline:u,middle:c}},e.prototype.getMetrics=function(t,A){var n=t+" "+A;return typeof this._data[n]>"u"&&(this._data[n]=this.parseMetrics(t,A)),this._data[n]},e}(),pF=function(){function e(t,A){this.context=t,this.options=A}return e}(),w3=1e4,b3=function(e){sn(t,e);function t(A,n){var i=e.call(this,A,n)||this;return i._activeEffects=[],i.canvas=n.canvas?n.canvas:document.createElement("canvas"),i.ctx=i.canvas.getContext("2d"),n.canvas||(i.canvas.width=Math.floor(n.width*n.scale),i.canvas.height=Math.floor(n.height*n.scale),i.canvas.style.width=n.width+"px",i.canvas.style.height=n.height+"px"),i.fontMetrics=new v3(document),i.ctx.scale(i.options.scale,i.options.scale),i.ctx.translate(-n.x,-n.y),i.ctx.textBaseline="bottom",i._activeEffects=[],i.context.logger.debug("Canvas renderer initialized ("+n.width+"x"+n.height+") with scale "+n.scale),i}return t.prototype.applyEffects=function(A){for(var n=this;this._activeEffects.length;)this.popEffect();A.forEach(function(i){return n.applyEffect(i)})},t.prototype.applyEffect=function(A){this.ctx.save(),o3(A)&&(this.ctx.globalAlpha=A.opacity),a3(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),cF(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},t.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},t.prototype.renderStack=function(A){return Je(this,void 0,void 0,function(){var n;return Pe(this,function(i){switch(i.label){case 0:return n=A.element.container.styles,n.isVisible()?[4,this.renderStackContent(A)]:[3,2];case 1:i.sent(),i.label=2;case 2:return[2]}})})},t.prototype.renderNode=function(A){return Je(this,void 0,void 0,function(){return Pe(this,function(n){switch(n.label){case 0:if(Ue(A.container.flags,16))debugger;return A.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(A)]:[3,3];case 1:return n.sent(),[4,this.renderNodeContent(A)];case 2:n.sent(),n.label=3;case 3:return[2]}})})},t.prototype.renderTextWithLetterSpacing=function(A,n,i){var a=this;if(n===0)this.ctx.fillText(A.text,A.bounds.left,A.bounds.top+i);else{var o=sm(A.text);o.reduce(function(u,c){return a.ctx.fillText(c,u,A.bounds.top+i),u+a.ctx.measureText(c).width},A.bounds.left)}},t.prototype.createFontStyle=function(A){var n=A.fontVariant.filter(function(o){return o==="normal"||o==="small-caps"}).join(""),i=U3(A.fontFamily).join(", "),a=Cl(A.fontSize)?""+A.fontSize.number+A.fontSize.unit:A.fontSize.number+"px";return[[A.fontStyle,n,A.fontWeight,a,i].join(" "),i,a]},t.prototype.renderTextNode=function(A,n){return Je(this,void 0,void 0,function(){var i,a,o,u,c,h,g,B,m=this;return Pe(this,function(v){return i=this.createFontStyle(n),a=i[0],o=i[1],u=i[2],this.ctx.font=a,this.ctx.direction=n.direction===1?"rtl":"ltr",this.ctx.textAlign="left",this.ctx.textBaseline="alphabetic",c=this.fontMetrics.getMetrics(o,u),h=c.baseline,g=c.middle,B=n.paintOrder,A.textBounds.forEach(function(b){B.forEach(function(y){switch(y){case 0:m.ctx.fillStyle=Oe(n.color),m.renderTextWithLetterSpacing(b,n.letterSpacing,h);var _=n.textShadow;_.length&&b.text.trim().length&&(_.slice(0).reverse().forEach(function(C){m.ctx.shadowColor=Oe(C.color),m.ctx.shadowOffsetX=C.offsetX.number*m.options.scale,m.ctx.shadowOffsetY=C.offsetY.number*m.options.scale,m.ctx.shadowBlur=C.blur.number,m.renderTextWithLetterSpacing(b,n.letterSpacing,h)}),m.ctx.shadowColor="",m.ctx.shadowOffsetX=0,m.ctx.shadowOffsetY=0,m.ctx.shadowBlur=0),n.textDecorationLine.length&&(m.ctx.fillStyle=Oe(n.textDecorationColor||n.color),n.textDecorationLine.forEach(function(C){switch(C){case 1:m.ctx.fillRect(b.bounds.left,Math.round(b.bounds.top+h),b.bounds.width,1);break;case 2:m.ctx.fillRect(b.bounds.left,Math.round(b.bounds.top),b.bounds.width,1);break;case 3:m.ctx.fillRect(b.bounds.left,Math.ceil(b.bounds.top+g),b.bounds.width,1);break}}));break;case 1:n.webkitTextStrokeWidth&&b.text.trim().length&&(m.ctx.strokeStyle=Oe(n.webkitTextStrokeColor),m.ctx.lineWidth=n.webkitTextStrokeWidth,m.ctx.lineJoin=window.chrome?"miter":"round",m.ctx.strokeText(b.text,b.bounds.left,b.bounds.top+h)),m.ctx.strokeStyle="",m.ctx.lineWidth=0,m.ctx.lineJoin="miter";break}})}),[2]})})},t.prototype.renderReplacedElement=function(A,n,i){if(i&&A.intrinsicWidth>0&&A.intrinsicHeight>0){var a=xf(A),o=Uf(n);this.path(o),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(i,0,0,A.intrinsicWidth,A.intrinsicHeight,a.left,a.top,a.width,a.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(A){return Je(this,void 0,void 0,function(){var n,i,a,o,u,c,x,x,h,g,B,m,O,v,b,F,y,_,C,x,E,O,F;return Pe(this,function(T){switch(T.label){case 0:this.applyEffects(A.getEffects(4)),n=A.container,i=A.curves,a=n.styles,o=0,u=n.textNodes,T.label=1;case 1:return o0&&bt>0&&(P=a.ctx.createPattern(F,"repeat"),a.renderRepeat(J,P,I,W))):oK(g)&&(N=bp(A,n,[null,null,null]),J=N[0],et=N[1],nt=N[2],ct=N[3],bt=N[4],ut=g.position.length===0?[nm]:g.position,I=Xt(ut[0],ct),W=Xt(ut[ut.length-1],bt),rt=nK(g,I,W,ct,bt),ht=rt[0],H=rt[1],ht>0&&H>0&&(X=a.ctx.createRadialGradient(et+I,nt+W,0,et+I,nt+W,ht),VC(g.stops,ht*2).forEach(function(be){return X.addColorStop(be.stop,Oe(be.color))}),a.path(J),a.ctx.fillStyle=X,ht!==H?(tt=A.bounds.left+.5*A.bounds.width,q=A.bounds.top+.5*A.bounds.height,Y=H/ht,ot=1/Y,a.ctx.save(),a.ctx.translate(tt,q),a.ctx.transform(1,0,0,Y,0,0),a.ctx.translate(-tt,-q),a.ctx.fillRect(et,ot*(nt-q)+q,ct,bt*ot),a.ctx.restore()):a.ctx.fill())),st.label=6;case 6:return n--,[2]}})},a=this,o=0,u=A.styles.backgroundImage.slice(0).reverse(),h.label=1;case 1:return o0?g.style!==2?[3,5]:[4,this.renderDashedDottedBorder(g.color,g.width,u,A.curves,2)]:[3,11]):[3,13];case 4:return m.sent(),[3,11];case 5:return g.style!==3?[3,7]:[4,this.renderDashedDottedBorder(g.color,g.width,u,A.curves,3)];case 6:return m.sent(),[3,11];case 7:return g.style!==4?[3,9]:[4,this.renderDoubleBorder(g.color,g.width,u,A.curves)];case 8:return m.sent(),[3,11];case 9:return[4,this.renderSolidBorder(g.color,u,A.curves)];case 10:m.sent(),m.label=11;case 11:u++,m.label=12;case 12:return c++,[3,3];case 13:return[2]}})})},t.prototype.renderDashedDottedBorder=function(A,n,i,a,o){return Je(this,void 0,void 0,function(){var u,c,h,g,B,m,v,b,y,_,C,x,E,O,F,T,F,T;return Pe(this,function(k){return this.ctx.save(),u=h3(a,i),c=w_(a,i),o===2&&(this.path(c),this.ctx.clip()),KA(c[0])?(h=c[0].start.x,g=c[0].start.y):(h=c[0].x,g=c[0].y),KA(c[1])?(B=c[1].end.x,m=c[1].end.y):(B=c[1].x,m=c[1].y),i===0||i===2?v=Math.abs(h-B):v=Math.abs(g-m),this.ctx.beginPath(),o===3?this.formatPath(u):this.formatPath(c.slice(0,2)),b=n<3?n*3:n*2,y=n<3?n*2:n,o===3&&(b=n,y=n),_=!0,v<=b*2?_=!1:v<=b*2+y?(C=v/(2*b+y),b*=C,y*=C):(x=Math.floor((v+y)/(b+y)),E=(v-x*b)/(x-1),O=(v-(x+1)*b)/x,y=O<=0||Math.abs(y-E){const o=M.useRef(null),[u,c]=M.useState(a),[h,g]=M.useState(!1),m=M.useCallback(()=>{const{rowKeyTuples:_,colKeyTuples:C,cells:x}=e;if(u==="bar"||u==="line"){const E=_.map(F=>F.map(T=>String(T??"")).join(" / ")),O=C.map((F,T)=>{const k=F.map(nt=>String(nt??"")).join(" / "),P=A.length>0?k:`Column ${T+1}`,N=_.map(nt=>{const ct=nt.map(ut=>String(ut??"")).join("||"),bt=x[ct]?.[k];return bt?bt.value:0}),et=`hsl(${T*137.5%360}, 70%, 60%)`;return{label:P,data:N,backgroundColor:et,borderColor:et,borderWidth:1,type:u}});return{labels:E,datasets:O}}else{const E={};Object.values(x).forEach(k=>{Object.values(k).forEach(P=>{const N=Object.keys(k).find(J=>k[J]===P);if(N){const J=N||"Unknown";E[J]=(E[J]||0)+P.value}})});const O=Object.keys(E),F=Object.values(E),T=O.map((k,P)=>`hsl(${P*137.5%360}, 60%, 60%)`);return{labels:O,datasets:[{data:F,backgroundColor:T,borderColor:T.map(k=>k),borderWidth:1}]}}},[e,t,A,u])();if(!m.labels.length||!m.datasets.length)return U.jsx("div",{className:"mb-6 p-4 border border-gray-200 rounded-lg bg-white",children:U.jsx("div",{className:"text-center text-gray-500 py-8",children:"No data available for chart visualization. Please select row and column fields."})});const v={responsive:!0,maintainAspectRatio:!1,plugins:{title:{display:!0,text:`Pivot Table: ${i} of ${String(n||"records")}`,font:{size:16,weight:"bold"}},legend:{display:!0,position:"top"},tooltip:{enabled:!0}},scales:u==="bar"||u==="line"?{y:{type:"linear",beginAtZero:!0,title:{display:!0,text:i==="count"?"Count":"Value"}},x:{type:"category",title:{display:!0,text:t.map(_=>String(_)).join(" / ")}}}:void 0},b=M.useCallback(async()=>{if(o.current){g(!0);try{const _=await H3(o.current,{backgroundColor:"#ffffff",scale:2,useCORS:!0,allowTaint:!0}),C=document.createElement("a");C.download=`pivot-chart-${u}-${Date.now()}.png`,C.href=_.toDataURL("image/png"),C.click()}catch(_){console.error("Error exporting chart:",_)}finally{g(!1)}}},[u]),y=[{value:"bar",label:"Bar Chart"},{value:"line",label:"Line Chart"},{value:"doughnut",label:"Doughnut Chart"},{value:"pie",label:"Pie Chart"}];return U.jsxs("div",{className:"mb-4 bg-white",children:[U.jsxs("div",{className:"flex items-center justify-between mb-4",children:[U.jsx("h3",{className:"text-sm font-medium text-gray-900",children:"Chart Export"}),U.jsxs("div",{className:"flex items-center space-x-2",children:[U.jsx(IB,{value:u,onChange:_=>c(_.target.value),size:"sm",className:"min-w-32",children:y.map(_=>U.jsx("option",{value:_.value,children:_.label},_.value))}),U.jsx(Ne,{onClick:b,disabled:h,size:"sm",variant:"secondary",children:h?"Exporting...":"Export as Image"})]})]}),U.jsx("div",{className:"text-xs text-gray-600 mb-3",children:"Visualize your pivot table data as a chart and export it as a high-resolution PNG image. You can adjust your browser window size to change the exported image dimensions."}),U.jsx("div",{ref:o,className:"w-full h-96 bg-white border border-gray-200 rounded p-4",children:U.jsx(sR,{type:u,data:m,options:v})})]})};function M3(e){const{rowFields:t,columnFields:A,valueField:n,aggregator:i}=e,a=M.useMemo(()=>t.filter(g=>g!==""),[t]),o=M.useMemo(()=>A.filter(g=>g!==""),[A]),u=M.useMemo(()=>n&&n!==""?n:void 0,[n]),c=M.useMemo(()=>a.length>0&&o.length>0,[a,o]),h=M.useMemo(()=>c?fU({data:dt.flattenedDataset,rowFields:a,columnFields:o,valueField:u,aggregator:i,filter:lf(dt.filterConfig)}):{rowKeyTuples:[],colKeyTuples:[],cells:{},rowTotals:{},colTotals:{},grandTotal:0},[c,a,o,u,i,dt.filterConfig]);return{rowFields:a,columnFields:o,valueField:u,aggregator:i,pivotResult:h,hasValidConfiguration:c}}function L3(e){return(t,A)=>{e(t,A)}}function I3(e,t,A=3){return()=>{e.length{t(e.filter((n,i)=>i!==A))}}function y_(e,t,A=3){return{onFieldChange:L3((n,i)=>{const a=[...e];a[n]=i,t(a)}),onAddField:I3(e,t,A),onRemoveField:R3(e,t)}}function N3(){return dt.flattenedDatasetKeys}function K3(){return dt.pivotConfig}function Hc(e){dt.updatePivotConfig(e)}function k3(){dt.resetPivotConfig()}function z3(e){dt.updateFilterConfig(e)}function V3(){return dt.flattenedDataset}function P3(){return lf(dt.filterConfig)}function j3(){return dt.filterConfig}const C_=({title:e,fields:t,onFieldChange:A,onAddField:n,onRemoveField:i,availableKeys:a,variant:o="default"})=>{const u={row:"border-l-4 border-l-blue-500 pl-3",column:"border-l-4 border-l-green-500 pl-3",default:""};return U.jsxs("div",{className:`mb-4 ${u[o]}`,children:[U.jsxs("div",{className:"text-xs font-medium text-gray-700 mb-2",children:[e,":"]}),U.jsxs("div",{className:"space-y-2",children:[t.map((c,h)=>U.jsxs("div",{className:"flex items-center space-x-2",children:[U.jsx(Hr,{value:c,onChange:g=>A(h,g),options:[{value:"",label:"Select a field..."},...a?.map(g=>({value:g,label:g}))||[]],size:"sm",className:"min-w-48"}),t.length>0&&U.jsx("button",{onClick:()=>i(h),className:"text-xs text-red-600 hover:text-red-800 px-2 py-1",children:"Remove"})]},h)),t.length<3&&U.jsxs("button",{onClick:n,className:"text-xs text-blue-600 hover:text-blue-800 px-2 py-1",children:["+ Add ",e.slice(0,-1)]})]})]})},G3=({title:e,field:t,onFieldChange:A,availableKeys:n})=>U.jsxs("div",{className:"mb-4",children:[U.jsxs("div",{className:"text-xs font-medium text-gray-700 mb-2",children:[e,":"]}),U.jsx(Hr,{value:t,onChange:i=>A(i),options:[{value:"",label:"Select a field..."},...n?.map(i=>({value:i,label:i}))||[]],size:"sm",className:"min-w-48"})]}),X3=({aggregator:e,onAggregatorChange:t})=>U.jsxs("div",{className:"mb-4",children:[U.jsx("div",{className:"text-xs font-medium text-gray-700 mb-2",children:"Aggregation Method:"}),U.jsx(Hr,{value:e,onChange:A=>t(A),options:[{value:"count",label:"Count"},{value:"sum",label:"Sum"},{value:"avg",label:"Average"},{value:"min",label:"Minimum"},{value:"max",label:"Maximum"}],size:"sm",className:"min-w-48"})]}),Z3=se(()=>{const e=K3(),t=N3(),A=M3({rowFields:e.selectedRowFields,columnFields:e.selectedColumnFields,valueField:e.selectedValueField,aggregator:e.selectedAggregator}),n=o=>{Hc({selectedValueField:o})},i=o=>{Hc({selectedAggregator:o})},a=o=>{z3(o)};return U.jsxs("div",{children:[U.jsx("div",{className:"text-xs text-gray-600 mb-2 max-w-2xl",children:"Answer questions about your dataset by creating pivot tables that summarize and analyze your data. Select fields for rows, columns, and values to explore patterns, compare metrics across different dimensions, and gain insights from your evaluation results. Use filters to focus on specific subsets of your data."}),U.jsx("div",{className:"mb-4 flex justify-between items-center",children:U.jsx(Ne,{onClick:()=>k3(),variant:"secondary",size:"sm",children:"Reset to Defaults"})}),U.jsx(C_,{title:"Row Fields",fields:e.selectedRowFields,...y_(e.selectedRowFields,o=>Hc({selectedRowFields:o})),availableKeys:t,variant:"row"}),U.jsx(C_,{title:"Column Fields",fields:e.selectedColumnFields,...y_(e.selectedColumnFields,o=>Hc({selectedColumnFields:o})),availableKeys:t,variant:"column"}),U.jsx(G3,{title:"Value Field",field:e.selectedValueField,onFieldChange:n,availableKeys:t}),U.jsx(X3,{aggregator:e.selectedAggregator,onAggregatorChange:i}),U.jsx(cU,{filters:j3(),onFiltersChange:a,availableKeys:t,title:"Filters"}),A.hasValidConfiguration&&U.jsx(D3,{pivotData:A.pivotResult,rowFields:A.rowFields,columnFields:A.columnFields,valueField:A.valueField,aggregator:A.aggregator,showRowTotals:!0,showColumnTotals:!0}),U.jsx(DD,{data:V3(),rowFields:A.rowFields,columnFields:A.columnFields,valueField:A.valueField,aggregator:A.aggregator,showRowTotals:!0,showColumnTotals:!0,filter:P3()})]})}),__=({label:e,isActive:t,onClick:A,title:n})=>U.jsx("button",{type:"button",role:"tab","aria-selected":t,title:n,onClick:A,className:`text-xs font-medium px-2 py-0.5 border-b-2 focus:outline-none cursor-pointer transition-colors ${t?"text-gray-900 border-gray-900 bg-transparent":"text-gray-700 hover:text-gray-900 hover:border-gray-400 border-transparent bg-transparent hover:bg-gray-100"}`,children:e}),Y3=({onRefresh:e})=>{const t=()=>{e()};return U.jsx("div",{className:"bg-white border border-gray-200 p-8 text-center",children:U.jsxs("div",{className:"max-w-sm mx-auto",children:[U.jsx("div",{className:"text-gray-400 mb-4",children:U.jsx("svg",{className:"mx-auto h-12 w-12",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:U.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}),U.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-2",children:"No evaluation data available"}),U.jsx("p",{className:"text-xs text-gray-500 mb-4",children:"No evaluation rows have been loaded yet. Click refresh to reconnect and load data."}),U.jsx(Ne,{onClick:t,size:"md",children:"Refresh"})]})})},W3=()=>U.jsx("div",{className:"bg-white border border-gray-200 p-8 text-center",children:U.jsxs("div",{className:"max-w-sm mx-auto",children:[U.jsx("div",{className:"text-gray-400 mb-4",children:U.jsx("div",{className:"animate-spin rounded-full h-6 w-6 border-2 border-gray-300 border-t-gray-600 mx-auto"})}),U.jsx("h3",{className:"text-sm font-medium text-gray-900 mb-2",children:"Loading evaluation data..."}),U.jsx("p",{className:"text-xs text-gray-500",children:"Connecting to the server and loading data"})]})}),Q_=se(({onRefresh:e})=>{const t=()=>dt.setAllRowsExpanded(!0),A=()=>dt.setAllRowsExpanded(!1),n=oi(),i=UB(),a=c=>c.endsWith("/pivot")?"pivot":"table",[o,u]=M.useState(a(n.pathname));return M.useEffect(()=>{u(a(n.pathname))},[n.pathname]),U.jsxs("div",{className:"text-sm",children:[U.jsxs("div",{className:"mb-4 bg-white border border-gray-200 p-3",children:[U.jsx("h2",{className:"text-sm font-semibold text-gray-900 mb-2",children:"Dataset Summary"}),U.jsxs("div",{className:"text-xs",children:[U.jsx("span",{className:"font-semibold text-gray-700",children:"Total Rows:"})," ",dt.totalCount]})]}),dt.isLoading?U.jsx(W3,{}):dt.sortedDataset.length===0?U.jsx(Y3,{onRefresh:e}):U.jsxs("div",{className:"bg-white border border-gray-200",children:[U.jsx("div",{className:"px-3 pt-2 border-b border-gray-200",children:U.jsxs("div",{className:"flex justify-between h-8",children:[U.jsxs("div",{id:"tabs",className:"flex gap-1",children:[U.jsx(__,{label:"Table",isActive:o==="table",onClick:()=>{u("table"),i("/table")},title:"View table"}),U.jsx(__,{label:"Pivot",isActive:o==="pivot",onClick:()=>{u("pivot"),i("/pivot")},title:"View pivot"})]}),o==="table"&&U.jsxs("div",{className:"flex gap-2 pb-2",children:[U.jsx(Ne,{onClick:t,size:"sm",variant:"secondary",children:"Expand All"}),U.jsx(Ne,{onClick:A,size:"sm",variant:"secondary",children:"Collapse All"})]})]})}),U.jsx("div",{className:"p-3",children:o==="table"?U.jsx(TD,{}):U.jsx(Z3,{})})]})]})});function G(e,t,A){function n(u,c){var h;Object.defineProperty(u,"_zod",{value:u._zod??{},enumerable:!1}),(h=u._zod).traits??(h.traits=new Set),u._zod.traits.add(e),t(u,c);for(const g in o.prototype)g in u||Object.defineProperty(u,g,{value:o.prototype[g].bind(u)});u._zod.constr=o,u._zod.def=c}const i=A?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(u){var c;const h=A?.Parent?new a:this;n(h,u),(c=h._zod).deferred??(c.deferred=[]);for(const g of h._zod.deferred)g();return h}return Object.defineProperty(o,"init",{value:n}),Object.defineProperty(o,Symbol.hasInstance,{value:u=>A?.Parent&&u instanceof A.Parent?!0:u?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}class ul extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const BF={};function $i(e){return BF}function $3(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function mB(e,t){return typeof t=="bigint"?t.toString():t}function lm(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function um(e){return e==null}function cm(e){const t=e.startsWith("^")?1:0,A=e.endsWith("$")?e.length-1:e.length;return e.slice(t,A)}function J3(e,t){const A=(e.toString().split(".")[1]||"").length,n=t.toString();let i=(n.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(n)){const c=n.match(/\d?e-(\d?)/);c?.[1]&&(i=Number.parseInt(c[1]))}const a=A>i?A:i,o=Number.parseInt(e.toFixed(a).replace(".","")),u=Number.parseInt(t.toFixed(a).replace(".",""));return o%u/10**a}const U_=Symbol("evaluating");function Zt(e,t,A){let n;Object.defineProperty(e,t,{get(){if(n!==U_)return n===void 0&&(n=U_,n=A()),n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Yr(e,t,A){Object.defineProperty(e,t,{value:A,writable:!0,enumerable:!0,configurable:!0})}function ha(...e){const t={};for(const A of e){const n=Object.getOwnPropertyDescriptors(A);Object.assign(t,n)}return Object.defineProperties({},t)}function x_(e){return JSON.stringify(e)}const mF="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Ff(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const q3=lm(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Ef(e){if(Ff(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const A=t.prototype;return!(Ff(A)===!1||Object.prototype.hasOwnProperty.call(A,"isPrototypeOf")===!1)}const tV=new Set(["string","number","symbol"]);function sa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wr(e,t,A){const n=new e._zod.constr(t??e._zod.def);return(!t||A?.parent)&&(n._zod.parent=e),n}function gt(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function eV(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const AV={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function nV(e,t){const A=e._zod.def,n=ha(e._zod.def,{get shape(){const i={};for(const a in t){if(!(a in A.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(i[a]=A.shape[a])}return Yr(this,"shape",i),i},checks:[]});return Wr(e,n)}function iV(e,t){const A=e._zod.def,n=ha(e._zod.def,{get shape(){const i={...e._zod.def.shape};for(const a in t){if(!(a in A.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete i[a]}return Yr(this,"shape",i),i},checks:[]});return Wr(e,n)}function rV(e,t){if(!Ef(t))throw new Error("Invalid input to extend: expected a plain object");const A=ha(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t};return Yr(this,"shape",n),n},checks:[]});return Wr(e,A)}function sV(e,t){const A=ha(e._zod.def,{get shape(){const n={...e._zod.def.shape,...t._zod.def.shape};return Yr(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:[]});return Wr(e,A)}function aV(e,t,A){const n=ha(t._zod.def,{get shape(){const i=t._zod.def.shape,a={...i};if(A)for(const o in A){if(!(o in i))throw new Error(`Unrecognized key: "${o}"`);A[o]&&(a[o]=e?new e({type:"optional",innerType:i[o]}):i[o])}else for(const o in i)a[o]=e?new e({type:"optional",innerType:i[o]}):i[o];return Yr(this,"shape",a),a},checks:[]});return Wr(t,n)}function oV(e,t,A){const n=ha(t._zod.def,{get shape(){const i=t._zod.def.shape,a={...i};if(A)for(const o in A){if(!(o in a))throw new Error(`Unrecognized key: "${o}"`);A[o]&&(a[o]=new e({type:"nonoptional",innerType:i[o]}))}else for(const o in i)a[o]=new e({type:"nonoptional",innerType:i[o]});return Yr(this,"shape",a),a},checks:[]});return Wr(t,n)}function Zo(e,t=0){for(let A=t;A{var n;return(n=A).path??(n.path=[]),A.path.unshift(e),A})}function Oc(e){return typeof e=="string"?e:e?.message}function Ji(e,t,A){const n={...e,path:e.path??[]};if(!e.message){const i=Oc(e.inst?._zod.def?.error?.(e))??Oc(t?.error?.(e))??Oc(A.customError?.(e))??Oc(A.localeError?.(e))??"Invalid input";n.message=i}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function fm(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function cl(...e){const[t,A,n]=e;return typeof t=="string"?{message:t,code:"custom",input:A,inst:n}:{...t}}const vF=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,mB,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},wF=G("$ZodError",vF),bF=G("$ZodError",vF,{Parent:Error});function lV(e,t=A=>A.message){const A={},n=[];for(const i of e.issues)i.path.length>0?(A[i.path[0]]=A[i.path[0]]||[],A[i.path[0]].push(t(i))):n.push(t(i));return{formErrors:n,fieldErrors:A}}function uV(e,t){const A=t||function(a){return a.message},n={_errors:[]},i=a=>{for(const o of a.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(u=>i({issues:u}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)n._errors.push(A(o));else{let u=n,c=0;for(;c(t,A,n,i)=>{const a=n?Object.assign(n,{async:!1}):{async:!1},o=t._zod.run({value:A,issues:[]},a);if(o instanceof Promise)throw new ul;if(o.issues.length){const u=new(i?.Err??e)(o.issues.map(c=>Ji(c,a,$i())));throw mF(u,i?.callee),u}return o.value},fV=e=>async(t,A,n,i)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let o=t._zod.run({value:A,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){const u=new(i?.Err??e)(o.issues.map(c=>Ji(c,a,$i())));throw mF(u,i?.callee),u}return o.value},yF=e=>(t,A,n)=>{const i=n?{...n,async:!1}:{async:!1},a=t._zod.run({value:A,issues:[]},i);if(a instanceof Promise)throw new ul;return a.issues.length?{success:!1,error:new(e??wF)(a.issues.map(o=>Ji(o,i,$i())))}:{success:!0,data:a.value}},hV=yF(bF),CF=e=>async(t,A,n)=>{const i=n?Object.assign(n,{async:!0}):{async:!0};let a=t._zod.run({value:A,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(o=>Ji(o,i,$i())))}:{success:!0,data:a.value}},dV=CF(bF),gV=/^[cC][^\s-]{8,}$/,pV=/^[0-9a-z]+$/,BV=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mV=/^[0-9a-vA-V]{20}$/,vV=/^[A-Za-z0-9]{27}$/,wV=/^[a-zA-Z0-9_-]{21}$/,bV=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,yV=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,F_=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,CV=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_V="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function QV(){return new RegExp(_V,"u")}const UV=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xV=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,FV=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,EV=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,SV=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,_F=/^[A-Za-z0-9_-]*$/,HV=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,OV=/^\+(?:[0-9]){6,14}[0-9]$/,QF="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",TV=new RegExp(`^${QF}$`);function UF(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function DV(e){return new RegExp(`^${UF(e)}$`)}function MV(e){const t=UF({precision:e.precision}),A=["Z"];e.local&&A.push(""),e.offset&&A.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${t}(?:${A.join("|")})`;return new RegExp(`^${QF}T(?:${n})$`)}const LV=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},IV=/^\d+$/,RV=/^-?\d+(?:\.\d+)?/i,NV=/true|false/i,KV=/^[^A-Z]*$/,kV=/^[^a-z]*$/,cA=G("$ZodCheck",(e,t)=>{var A;e._zod??(e._zod={}),e._zod.def=t,(A=e._zod).onattach??(A.onattach=[])}),xF={number:"number",bigint:"bigint",object:"date"},FF=G("$ZodCheckLessThan",(e,t)=>{cA.init(e,t);const A=xF[typeof t.value];e._zod.onattach.push(n=>{const i=n._zod.bag,a=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value{(t.inclusive?n.value<=t.value:n.value{cA.init(e,t);const A=xF[typeof t.value];e._zod.onattach.push(n=>{const i=n._zod.bag,a=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>a&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:A,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zV=G("$ZodCheckMultipleOf",(e,t)=>{cA.init(e,t),e._zod.onattach.push(A=>{var n;(n=A._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=A=>{if(typeof A.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof A.value=="bigint"?A.value%t.value===BigInt(0):J3(A.value,t.value)===0)||A.issues.push({origin:typeof A.value,code:"not_multiple_of",divisor:t.value,input:A.value,inst:e,continue:!t.abort})}}),VV=G("$ZodCheckNumberFormat",(e,t)=>{cA.init(e,t),t.format=t.format||"float64";const A=t.format?.includes("int"),n=A?"int":"number",[i,a]=AV[t.format];e._zod.onattach.push(o=>{const u=o._zod.bag;u.format=t.format,u.minimum=i,u.maximum=a,A&&(u.pattern=IV)}),e._zod.check=o=>{const u=o.value;if(A){if(!Number.isInteger(u)){o.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});return}if(!Number.isSafeInteger(u)){u>0?o.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):o.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}ua&&o.issues.push({origin:"number",input:u,code:"too_big",maximum:a,inst:e})}}),PV=G("$ZodCheckMaxLength",(e,t)=>{var A;cA.init(e,t),(A=e._zod.def).when??(A.when=n=>{const i=n.value;return!um(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum{const i=n.value;if(i.length<=t.maximum)return;const o=fm(i);n.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),jV=G("$ZodCheckMinLength",(e,t)=>{var A;cA.init(e,t),(A=e._zod.def).when??(A.when=n=>{const i=n.value;return!um(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const i=n.value;if(i.length>=t.minimum)return;const o=fm(i);n.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),GV=G("$ZodCheckLengthEquals",(e,t)=>{var A;cA.init(e,t),(A=e._zod.def).when??(A.when=n=>{const i=n.value;return!um(i)&&i.length!==void 0}),e._zod.onattach.push(n=>{const i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=n=>{const i=n.value,a=i.length;if(a===t.length)return;const o=fm(i),u=a>t.length;n.issues.push({origin:o,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),oh=G("$ZodCheckStringFormat",(e,t)=>{var A,n;cA.init(e,t),e._zod.onattach.push(i=>{const a=i._zod.bag;a.format=t.format,t.pattern&&(a.patterns??(a.patterns=new Set),a.patterns.add(t.pattern))}),t.pattern?(A=e._zod).check??(A.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),XV=G("$ZodCheckRegex",(e,t)=>{oh.init(e,t),e._zod.check=A=>{t.pattern.lastIndex=0,!t.pattern.test(A.value)&&A.issues.push({origin:"string",code:"invalid_format",format:"regex",input:A.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),ZV=G("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=KV),oh.init(e,t)}),YV=G("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=kV),oh.init(e,t)}),WV=G("$ZodCheckIncludes",(e,t)=>{cA.init(e,t);const A=sa(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${A}`:A);t.pattern=n,e._zod.onattach.push(i=>{const a=i._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(n)}),e._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),$V=G("$ZodCheckStartsWith",(e,t)=>{cA.init(e,t);const A=new RegExp(`^${sa(t.prefix)}.*`);t.pattern??(t.pattern=A),e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(A)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),JV=G("$ZodCheckEndsWith",(e,t)=>{cA.init(e,t);const A=new RegExp(`.*${sa(t.suffix)}$`);t.pattern??(t.pattern=A),e._zod.onattach.push(n=>{const i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(A)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),qV=G("$ZodCheckOverwrite",(e,t)=>{cA.init(e,t),e._zod.check=A=>{A.value=t.tx(A.value)}});class tP{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(` `).filter(o=>o),i=Math.min(...n.map(o=>o.length-o.trimStart().length)),a=n.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(const o of a)this.content.push(o)}compile(){const t=Function,A=this?.args,i=[...(this?.content??[""]).map(a=>` ${a}`)];return new t(...A,i.join(` `))}}const eP={major:4,minor:0,patch:14},$t=G("$ZodType",(e,t)=>{var A;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=eP;const n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(const i of n)for(const a of i._zod.onattach)a(e);if(n.length===0)(A=e._zod).deferred??(A.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const i=(a,o,u)=>{let c=Zo(a),h;for(const g of o){if(g._zod.def.when){if(!g._zod.def.when(a))continue}else if(c)continue;const B=a.issues.length,m=g._zod.check(a);if(m instanceof Promise&&u?.async===!1)throw new ul;if(h||m instanceof Promise)h=(h??Promise.resolve()).then(async()=>{await m,a.issues.length!==B&&(c||(c=Zo(a,B)))});else{if(a.issues.length===B)continue;c||(c=Zo(a,B))}}return h?h.then(()=>a):a};e._zod.run=(a,o)=>{const u=e._zod.parse(a,o);if(u instanceof Promise){if(o.async===!1)throw new ul;return u.then(c=>i(c,n,o))}return i(u,n,o)}}e["~standard"]={validate:i=>{try{const a=hV(e,i);return a.success?{value:a.data}:{issues:a.error?.issues}}catch{return dV(e,i).then(o=>o.success?{value:o.data}:{issues:o.error?.issues})}},vendor:"zod",version:1}}),hm=G("$ZodString",(e,t)=>{$t.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??LV(e._zod.bag),e._zod.parse=(A,n)=>{if(t.coerce)try{A.value=String(A.value)}catch{}return typeof A.value=="string"||A.issues.push({expected:"string",code:"invalid_type",input:A.value,inst:e}),A}}),ae=G("$ZodStringFormat",(e,t)=>{oh.init(e,t),hm.init(e,t)}),AP=G("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=yV),ae.init(e,t)}),nP=G("$ZodUUID",(e,t)=>{if(t.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=F_(n))}else t.pattern??(t.pattern=F_());ae.init(e,t)}),iP=G("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=CV),ae.init(e,t)}),rP=G("$ZodURL",(e,t)=>{ae.init(e,t),e._zod.check=A=>{try{const n=A.value.trim(),i=new URL(n);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||A.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:HV.source,input:A.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||A.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:A.value,inst:e,continue:!t.abort})),t.normalize?A.value=i.href:A.value=n;return}catch{A.issues.push({code:"invalid_format",format:"url",input:A.value,inst:e,continue:!t.abort})}}}),sP=G("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=QV()),ae.init(e,t)}),aP=G("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=wV),ae.init(e,t)}),oP=G("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=gV),ae.init(e,t)}),lP=G("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=pV),ae.init(e,t)}),uP=G("$ZodULID",(e,t)=>{t.pattern??(t.pattern=BV),ae.init(e,t)}),cP=G("$ZodXID",(e,t)=>{t.pattern??(t.pattern=mV),ae.init(e,t)}),fP=G("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=vV),ae.init(e,t)}),hP=G("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=MV(t)),ae.init(e,t)}),dP=G("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=TV),ae.init(e,t)}),gP=G("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=DV(t)),ae.init(e,t)}),pP=G("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=bV),ae.init(e,t)}),BP=G("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=UV),ae.init(e,t),e._zod.onattach.push(A=>{const n=A._zod.bag;n.format="ipv4"})}),mP=G("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=xV),ae.init(e,t),e._zod.onattach.push(A=>{const n=A._zod.bag;n.format="ipv6"}),e._zod.check=A=>{try{new URL(`http://[${A.value}]`)}catch{A.issues.push({code:"invalid_format",format:"ipv6",input:A.value,inst:e,continue:!t.abort})}}}),vP=G("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=FV),ae.init(e,t)}),wP=G("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=EV),ae.init(e,t),e._zod.check=A=>{const[n,i]=A.value.split("/");try{if(!i)throw new Error;const a=Number(i);if(`${a}`!==i)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${n}]`)}catch{A.issues.push({code:"invalid_format",format:"cidrv6",input:A.value,inst:e,continue:!t.abort})}}});function SF(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const bP=G("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=SV),ae.init(e,t),e._zod.onattach.push(A=>{A._zod.bag.contentEncoding="base64"}),e._zod.check=A=>{SF(A.value)||A.issues.push({code:"invalid_format",format:"base64",input:A.value,inst:e,continue:!t.abort})}});function yP(e){if(!_F.test(e))return!1;const t=e.replace(/[-_]/g,n=>n==="-"?"+":"/"),A=t.padEnd(Math.ceil(t.length/4)*4,"=");return SF(A)}const CP=G("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=_F),ae.init(e,t),e._zod.onattach.push(A=>{A._zod.bag.contentEncoding="base64url"}),e._zod.check=A=>{yP(A.value)||A.issues.push({code:"invalid_format",format:"base64url",input:A.value,inst:e,continue:!t.abort})}}),_P=G("$ZodE164",(e,t)=>{t.pattern??(t.pattern=OV),ae.init(e,t)});function QP(e,t=null){try{const A=e.split(".");if(A.length!==3)return!1;const[n]=A;if(!n)return!1;const i=JSON.parse(atob(n));return!("typ"in i&&i?.typ!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}const UP=G("$ZodJWT",(e,t)=>{ae.init(e,t),e._zod.check=A=>{QP(A.value,t.alg)||A.issues.push({code:"invalid_format",format:"jwt",input:A.value,inst:e,continue:!t.abort})}}),HF=G("$ZodNumber",(e,t)=>{$t.init(e,t),e._zod.pattern=e._zod.bag.pattern??RV,e._zod.parse=(A,n)=>{if(t.coerce)try{A.value=Number(A.value)}catch{}const i=A.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return A;const a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return A.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...a?{received:a}:{}}),A}}),xP=G("$ZodNumber",(e,t)=>{VV.init(e,t),HF.init(e,t)}),FP=G("$ZodBoolean",(e,t)=>{$t.init(e,t),e._zod.pattern=NV,e._zod.parse=(A,n)=>{if(t.coerce)try{A.value=!!A.value}catch{}const i=A.value;return typeof i=="boolean"||A.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),A}}),EP=G("$ZodAny",(e,t)=>{$t.init(e,t),e._zod.parse=A=>A}),SP=G("$ZodUnknown",(e,t)=>{$t.init(e,t),e._zod.parse=A=>A}),HP=G("$ZodNever",(e,t)=>{$t.init(e,t),e._zod.parse=(A,n)=>(A.issues.push({expected:"never",code:"invalid_type",input:A.value,inst:e}),A)}),OP=G("$ZodDate",(e,t)=>{$t.init(e,t),e._zod.parse=(A,n)=>{if(t.coerce)try{A.value=new Date(A.value)}catch{}const i=A.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||A.issues.push({expected:"date",code:"invalid_type",input:i,...a?{received:"Invalid Date"}:{},inst:e}),A}});function E_(e,t,A){e.issues.length&&t.issues.push(...Js(A,e.issues)),t.value[A]=e.value}const TP=G("$ZodArray",(e,t)=>{$t.init(e,t),e._zod.parse=(A,n)=>{const i=A.value;if(!Array.isArray(i))return A.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),A;A.value=Array(i.length);const a=[];for(let o=0;oE_(h,A,o))):E_(c,A,o)}return a.length?Promise.all(a).then(()=>A):A}});function Tc(e,t,A,n){e.issues.length&&t.issues.push(...Js(A,e.issues)),e.value===void 0?A in n&&(t.value[A]=void 0):t.value[A]=e.value}const DP=G("$ZodObject",(e,t)=>{$t.init(e,t);const A=lm(()=>{const B=Object.keys(t.shape);for(const v of B)if(!(t.shape[v]instanceof $t))throw new Error(`Invalid element at key "${v}": expected a Zod schema`);const m=eV(t.shape);return{shape:t.shape,keys:B,keySet:new Set(B),numKeys:B.length,optionalKeys:new Set(m)}});Zt(e._zod,"propValues",()=>{const B=t.shape,m={};for(const v in B){const b=B[v]._zod;if(b.values){m[v]??(m[v]=new Set);for(const y of b.values)m[v].add(y)}}return m});const n=B=>{const m=new tP(["shape","payload","ctx"]),v=A.value,b=x=>{const E=x_(x);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};m.write("const input = payload.value;");const y=Object.create(null);let _=0;for(const x of v.keys)y[x]=`key_${_++}`;m.write("const newResult = {}");for(const x of v.keys){const E=y[x],O=x_(x);m.write(`const ${E} = ${b(x)};`),m.write(` if (${E}.issues.length) { @@ -128,4 +128,4 @@ PERFORMANCE OF THIS SOFTWARE. newResult[${O}] = ${E}.value; } `)}m.write("payload.value = newResult;"),m.write("return payload;");const C=m.compile();return(x,E)=>C(B,x,E)};let i;const a=Ff,o=!BF.jitless,c=o&&q3.value,h=t.catchall;let g;e._zod.parse=(B,m)=>{g??(g=A.value);const v=B.value;if(!a(v))return B.issues.push({expected:"object",code:"invalid_type",input:v,inst:e}),B;const b=[];if(o&&c&&m?.async===!1&&m.jitless!==!0)i||(i=n(t.shape)),B=i(B,m);else{B.value={};const E=g.shape;for(const O of g.keys){const T=E[O]._zod.run({value:v[O],issues:[]},m);T instanceof Promise?b.push(T.then(k=>Tc(k,B,O,v))):Tc(T,B,O,v)}}if(!h)return b.length?Promise.all(b).then(()=>B):B;const y=[],_=g.keySet,C=h._zod,x=C.def.type;for(const E of Object.keys(v)){if(_.has(E))continue;if(x==="never"){y.push(E);continue}const O=C.run({value:v[E],issues:[]},m);O instanceof Promise?b.push(O.then(F=>Tc(F,B,E,v))):Tc(O,B,E,v)}return y.length&&B.issues.push({code:"unrecognized_keys",keys:y,input:v,inst:e}),b.length?Promise.all(b).then(()=>B):B}});function S_(e,t,A,n){for(const a of e)if(a.issues.length===0)return t.value=a.value,t;const i=e.filter(a=>!Zo(a));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:A,errors:e.map(a=>a.issues.map(o=>Ji(o,n,$i())))}),t)}const OF=G("$ZodUnion",(e,t)=>{$t.init(e,t),Zt(e._zod,"optin",()=>t.options.some(i=>i._zod.optin==="optional")?"optional":void 0),Zt(e._zod,"optout",()=>t.options.some(i=>i._zod.optout==="optional")?"optional":void 0),Zt(e._zod,"values",()=>{if(t.options.every(i=>i._zod.values))return new Set(t.options.flatMap(i=>Array.from(i._zod.values)))}),Zt(e._zod,"pattern",()=>{if(t.options.every(i=>i._zod.pattern)){const i=t.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>cm(a.source)).join("|")})$`)}});const A=t.options.length===1,n=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(A)return n(i,a);let o=!1;const u=[];for(const c of t.options){const h=c._zod.run({value:i.value,issues:[]},a);if(h instanceof Promise)u.push(h),o=!0;else{if(h.issues.length===0)return h;u.push(h)}}return o?Promise.all(u).then(c=>S_(c,i,e,a)):S_(u,i,e,a)}}),MP=G("$ZodDiscriminatedUnion",(e,t)=>{OF.init(e,t);const A=e._zod.parse;Zt(e._zod,"propValues",()=>{const i={};for(const a of t.options){const o=a._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const[u,c]of Object.entries(o)){i[u]||(i[u]=new Set);for(const h of c)i[u].add(h)}}return i});const n=lm(()=>{const i=t.options,a=new Map;for(const o of i){const u=o._zod.propValues?.[t.discriminator];if(!u||u.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(const c of u){if(a.has(c))throw new Error(`Duplicate discriminator value "${String(c)}"`);a.set(c,o)}}return a});e._zod.parse=(i,a)=>{const o=i.value;if(!Ff(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:e}),i;const u=n.value.get(o?.[t.discriminator]);return u?u._zod.run(i,a):t.unionFallback?A(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:o,path:[t.discriminator],inst:e}),i)}}),LP=G("$ZodIntersection",(e,t)=>{$t.init(e,t),e._zod.parse=(A,n)=>{const i=A.value,a=t.left._zod.run({value:i,issues:[]},n),o=t.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||o instanceof Promise?Promise.all([a,o]).then(([c,h])=>H_(A,c,h)):H_(A,a,o)}});function vB(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ef(e)&&Ef(t)){const A=Object.keys(t),n=Object.keys(e).filter(a=>A.indexOf(a)!==-1),i={...e,...t};for(const a of n){const o=vB(e[a],t[a]);if(!o.valid)return{valid:!1,mergeErrorPath:[a,...o.mergeErrorPath]};i[a]=o.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const A=[];for(let n=0;n{$t.init(e,t),e._zod.parse=(A,n)=>{const i=A.value;if(!Ef(i))return A.issues.push({expected:"record",code:"invalid_type",input:i,inst:e}),A;const a=[];if(t.keyType._zod.values){const o=t.keyType._zod.values;A.value={};for(const c of o)if(typeof c=="string"||typeof c=="number"||typeof c=="symbol"){const h=t.valueType._zod.run({value:i[c],issues:[]},n);h instanceof Promise?a.push(h.then(g=>{g.issues.length&&A.issues.push(...Js(c,g.issues)),A.value[c]=g.value})):(h.issues.length&&A.issues.push(...Js(c,h.issues)),A.value[c]=h.value)}let u;for(const c in i)o.has(c)||(u=u??[],u.push(c));u&&u.length>0&&A.issues.push({code:"unrecognized_keys",input:i,inst:e,keys:u})}else{A.value={};for(const o of Reflect.ownKeys(i)){if(o==="__proto__")continue;const u=t.keyType._zod.run({value:o,issues:[]},n);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(u.issues.length){A.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map(h=>Ji(h,n,$i())),input:o,path:[o],inst:e}),A.value[u.value]=u.value;continue}const c=t.valueType._zod.run({value:i[o],issues:[]},n);c instanceof Promise?a.push(c.then(h=>{h.issues.length&&A.issues.push(...Js(o,h.issues)),A.value[u.value]=h.value})):(c.issues.length&&A.issues.push(...Js(o,c.issues)),A.value[u.value]=c.value)}}return a.length?Promise.all(a).then(()=>A):A}}),RP=G("$ZodEnum",(e,t)=>{$t.init(e,t);const A=$3(t.entries),n=new Set(A);e._zod.values=n,e._zod.pattern=new RegExp(`^(${A.filter(i=>tV.has(typeof i)).map(i=>typeof i=="string"?sa(i):i.toString()).join("|")})$`),e._zod.parse=(i,a)=>{const o=i.value;return n.has(o)||i.issues.push({code:"invalid_value",values:A,input:o,inst:e}),i}}),NP=G("$ZodLiteral",(e,t)=>{if($t.init(e,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");e._zod.values=new Set(t.values),e._zod.pattern=new RegExp(`^(${t.values.map(A=>typeof A=="string"?sa(A):A?sa(A.toString()):String(A)).join("|")})$`),e._zod.parse=(A,n)=>{const i=A.value;return e._zod.values.has(i)||A.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),A}}),KP=G("$ZodTransform",(e,t)=>{$t.init(e,t),e._zod.parse=(A,n)=>{const i=t.transform(A.value,A);if(n.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(A.value=o,A));if(i instanceof Promise)throw new ul;return A.value=i,A}});function O_(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const kP=G("$ZodOptional",(e,t)=>{$t.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Zt(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Zt(e._zod,"pattern",()=>{const A=t.innerType._zod.pattern;return A?new RegExp(`^(${cm(A.source)})?$`):void 0}),e._zod.parse=(A,n)=>{if(t.innerType._zod.optin==="optional"){const i=t.innerType._zod.run(A,n);return i instanceof Promise?i.then(a=>O_(a,A.value)):O_(i,A.value)}return A.value===void 0?A:t.innerType._zod.run(A,n)}}),zP=G("$ZodNullable",(e,t)=>{$t.init(e,t),Zt(e._zod,"optin",()=>t.innerType._zod.optin),Zt(e._zod,"optout",()=>t.innerType._zod.optout),Zt(e._zod,"pattern",()=>{const A=t.innerType._zod.pattern;return A?new RegExp(`^(${cm(A.source)}|null)$`):void 0}),Zt(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(A,n)=>A.value===null?A:t.innerType._zod.run(A,n)}),VP=G("$ZodDefault",(e,t)=>{$t.init(e,t),e._zod.optin="optional",Zt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(A,n)=>{if(A.value===void 0)return A.value=t.defaultValue,A;const i=t.innerType._zod.run(A,n);return i instanceof Promise?i.then(a=>T_(a,t)):T_(i,t)}});function T_(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const PP=G("$ZodPrefault",(e,t)=>{$t.init(e,t),e._zod.optin="optional",Zt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(A,n)=>(A.value===void 0&&(A.value=t.defaultValue),t.innerType._zod.run(A,n))}),jP=G("$ZodNonOptional",(e,t)=>{$t.init(e,t),Zt(e._zod,"values",()=>{const A=t.innerType._zod.values;return A?new Set([...A].filter(n=>n!==void 0)):void 0}),e._zod.parse=(A,n)=>{const i=t.innerType._zod.run(A,n);return i instanceof Promise?i.then(a=>D_(a,e)):D_(i,e)}});function D_(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}const GP=G("$ZodCatch",(e,t)=>{$t.init(e,t),Zt(e._zod,"optin",()=>t.innerType._zod.optin),Zt(e._zod,"optout",()=>t.innerType._zod.optout),Zt(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(A,n)=>{const i=t.innerType._zod.run(A,n);return i instanceof Promise?i.then(a=>(A.value=a.value,a.issues.length&&(A.value=t.catchValue({...A,error:{issues:a.issues.map(o=>Ji(o,n,$i()))},input:A.value}),A.issues=[]),A)):(A.value=i.value,i.issues.length&&(A.value=t.catchValue({...A,error:{issues:i.issues.map(a=>Ji(a,n,$i()))},input:A.value}),A.issues=[]),A)}}),XP=G("$ZodPipe",(e,t)=>{$t.init(e,t),Zt(e._zod,"values",()=>t.in._zod.values),Zt(e._zod,"optin",()=>t.in._zod.optin),Zt(e._zod,"optout",()=>t.out._zod.optout),Zt(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(A,n)=>{const i=t.in._zod.run(A,n);return i instanceof Promise?i.then(a=>M_(a,t,n)):M_(i,t,n)}});function M_(e,t,A){return e.issues.length?e:t.out._zod.run({value:e.value,issues:e.issues},A)}const ZP=G("$ZodReadonly",(e,t)=>{$t.init(e,t),Zt(e._zod,"propValues",()=>t.innerType._zod.propValues),Zt(e._zod,"values",()=>t.innerType._zod.values),Zt(e._zod,"optin",()=>t.innerType._zod.optin),Zt(e._zod,"optout",()=>t.innerType._zod.optout),e._zod.parse=(A,n)=>{const i=t.innerType._zod.run(A,n);return i instanceof Promise?i.then(L_):L_(i)}});function L_(e){return e.value=Object.freeze(e.value),e}const YP=G("$ZodCustom",(e,t)=>{cA.init(e,t),$t.init(e,t),e._zod.parse=(A,n)=>A,e._zod.check=A=>{const n=A.value,i=t.fn(n);if(i instanceof Promise)return i.then(a=>I_(a,A,n,e));I_(i,A,n,e)}});function I_(e,t,A,n){if(!e){const i={code:"custom",input:A,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),t.issues.push(cl(i))}}class WP{constructor(){this._map=new Map,this._idmap=new Map}add(t,...A){const n=A[0];if(this._map.set(t,n),n&&typeof n=="object"&&"id"in n){if(this._idmap.has(n.id))throw new Error(`ID ${n.id} already exists in the registry`);this._idmap.set(n.id,t)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(t){const A=this._map.get(t);return A&&typeof A=="object"&&"id"in A&&this._idmap.delete(A.id),this._map.delete(t),this}get(t){const A=t._zod.parent;if(A){const n={...this.get(A)??{}};delete n.id;const i={...n,...this._map.get(t)};return Object.keys(i).length?i:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function $P(){return new WP}const Dc=$P();function JP(e,t){return new e({type:"string",...gt(t)})}function qP(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...gt(t)})}function R_(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...gt(t)})}function tj(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...gt(t)})}function ej(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...gt(t)})}function Aj(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...gt(t)})}function nj(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...gt(t)})}function ij(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...gt(t)})}function rj(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...gt(t)})}function sj(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...gt(t)})}function aj(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...gt(t)})}function oj(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...gt(t)})}function lj(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...gt(t)})}function uj(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...gt(t)})}function cj(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...gt(t)})}function fj(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...gt(t)})}function hj(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...gt(t)})}function dj(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...gt(t)})}function gj(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...gt(t)})}function pj(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...gt(t)})}function Bj(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...gt(t)})}function mj(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...gt(t)})}function vj(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...gt(t)})}function wj(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...gt(t)})}function bj(e,t){return new e({type:"string",format:"date",check:"string_format",...gt(t)})}function yj(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...gt(t)})}function Cj(e,t){return new e({type:"string",format:"duration",check:"string_format",...gt(t)})}function _j(e,t){return new e({type:"number",checks:[],...gt(t)})}function Qj(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...gt(t)})}function Uj(e,t){return new e({type:"boolean",...gt(t)})}function xj(e){return new e({type:"any"})}function Fj(e){return new e({type:"unknown"})}function Ej(e,t){return new e({type:"never",...gt(t)})}function Sj(e,t){return new e({type:"date",...gt(t)})}function N_(e,t){return new FF({check:"less_than",...gt(t),value:e,inclusive:!1})}function Wc(e,t){return new FF({check:"less_than",...gt(t),value:e,inclusive:!0})}function K_(e,t){return new EF({check:"greater_than",...gt(t),value:e,inclusive:!1})}function $c(e,t){return new EF({check:"greater_than",...gt(t),value:e,inclusive:!0})}function k_(e,t){return new zV({check:"multiple_of",...gt(t),value:e})}function TF(e,t){return new PV({check:"max_length",...gt(t),maximum:e})}function Sf(e,t){return new jV({check:"min_length",...gt(t),minimum:e})}function DF(e,t){return new GV({check:"length_equals",...gt(t),length:e})}function Hj(e,t){return new XV({check:"string_format",format:"regex",...gt(t),pattern:e})}function Oj(e){return new ZV({check:"string_format",format:"lowercase",...gt(e)})}function Tj(e){return new YV({check:"string_format",format:"uppercase",...gt(e)})}function Dj(e,t){return new WV({check:"string_format",format:"includes",...gt(t),includes:e})}function Mj(e,t){return new $V({check:"string_format",format:"starts_with",...gt(t),prefix:e})}function Lj(e,t){return new JV({check:"string_format",format:"ends_with",...gt(t),suffix:e})}function Ql(e){return new qV({check:"overwrite",tx:e})}function Ij(e){return Ql(t=>t.normalize(e))}function Rj(){return Ql(e=>e.trim())}function Nj(){return Ql(e=>e.toLowerCase())}function Kj(){return Ql(e=>e.toUpperCase())}function kj(e,t,A){return new e({type:"array",element:t,...gt(A)})}function zj(e,t,A){return new e({type:"custom",check:"custom",fn:t,...gt(A)})}function Vj(e){const t=Pj(A=>(A.addIssue=n=>{if(typeof n=="string")A.issues.push(cl(n,A.value,t._zod.def));else{const i=n;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=A.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),A.issues.push(cl(i))}},e(A.value,A)));return t}function Pj(e,t){const A=new cA({check:"custom",...gt(t)});return A._zod.check=e,A}const jj=G("ZodISODateTime",(e,t)=>{hP.init(e,t),ue.init(e,t)});function Gj(e){return wj(jj,e)}const Xj=G("ZodISODate",(e,t)=>{dP.init(e,t),ue.init(e,t)});function Zj(e){return bj(Xj,e)}const Yj=G("ZodISOTime",(e,t)=>{gP.init(e,t),ue.init(e,t)});function Wj(e){return yj(Yj,e)}const $j=G("ZodISODuration",(e,t)=>{pP.init(e,t),ue.init(e,t)});function Jj(e){return Cj($j,e)}const qj=(e,t)=>{wF.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:A=>uV(e,A)},flatten:{value:A=>lV(e,A)},addIssue:{value:A=>{e.issues.push(A),e.message=JSON.stringify(e.issues,mB,2)}},addIssues:{value:A=>{e.issues.push(...A),e.message=JSON.stringify(e.issues,mB,2)}},isEmpty:{get(){return e.issues.length===0}}})},lh=G("ZodError",qj,{Parent:Error}),tG=cV(lh),eG=fV(lh),AG=yF(lh),nG=CF(lh),oe=G("ZodType",(e,t)=>($t.init(e,t),e.def=t,Object.defineProperty(e,"_def",{value:t}),e.check=(...A)=>e.clone({...t,checks:[...t.checks??[],...A.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),e.clone=(A,n)=>Wr(e,A,n),e.brand=()=>e,e.register=(A,n)=>(A.add(e,n),e),e.parse=(A,n)=>tG(e,A,n,{callee:e.parse}),e.safeParse=(A,n)=>AG(e,A,n),e.parseAsync=async(A,n)=>eG(e,A,n,{callee:e.parseAsync}),e.safeParseAsync=async(A,n)=>nG(e,A,n),e.spa=e.safeParseAsync,e.refine=(A,n)=>e.check($G(A,n)),e.superRefine=A=>e.check(JG(A)),e.overwrite=A=>e.check(Ql(A)),e.optional=()=>j_(e),e.nullable=()=>G_(e),e.nullish=()=>j_(G_(e)),e.nonoptional=A=>PG(e,A),e.array=()=>UA(e),e.or=A=>ch([e,A]),e.and=A=>MG(e,A),e.transform=A=>bB(e,RF(A)),e.default=A=>kG(e,A),e.prefault=A=>VG(e,A),e.catch=A=>GG(e,A),e.pipe=A=>bB(e,A),e.readonly=()=>YG(e),e.describe=A=>{const n=e.clone();return Dc.add(n,{description:A}),n},Object.defineProperty(e,"description",{get(){return Dc.get(e)?.description},configurable:!0}),e.meta=(...A)=>{if(A.length===0)return Dc.get(e);const n=e.clone();return Dc.add(n,A[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e)),MF=G("_ZodString",(e,t)=>{hm.init(e,t),oe.init(e,t);const A=e._zod.bag;e.format=A.format??null,e.minLength=A.minimum??null,e.maxLength=A.maximum??null,e.regex=(...n)=>e.check(Hj(...n)),e.includes=(...n)=>e.check(Dj(...n)),e.startsWith=(...n)=>e.check(Mj(...n)),e.endsWith=(...n)=>e.check(Lj(...n)),e.min=(...n)=>e.check(Sf(...n)),e.max=(...n)=>e.check(TF(...n)),e.length=(...n)=>e.check(DF(...n)),e.nonempty=(...n)=>e.check(Sf(1,...n)),e.lowercase=n=>e.check(Oj(n)),e.uppercase=n=>e.check(Tj(n)),e.trim=()=>e.check(Rj()),e.normalize=(...n)=>e.check(Ij(...n)),e.toLowerCase=()=>e.check(Nj()),e.toUpperCase=()=>e.check(Kj())}),iG=G("ZodString",(e,t)=>{hm.init(e,t),MF.init(e,t),e.email=A=>e.check(qP(rG,A)),e.url=A=>e.check(ij(sG,A)),e.jwt=A=>e.check(vj(bG,A)),e.emoji=A=>e.check(rj(aG,A)),e.guid=A=>e.check(R_(z_,A)),e.uuid=A=>e.check(tj(Mc,A)),e.uuidv4=A=>e.check(ej(Mc,A)),e.uuidv6=A=>e.check(Aj(Mc,A)),e.uuidv7=A=>e.check(nj(Mc,A)),e.nanoid=A=>e.check(sj(oG,A)),e.guid=A=>e.check(R_(z_,A)),e.cuid=A=>e.check(aj(lG,A)),e.cuid2=A=>e.check(oj(uG,A)),e.ulid=A=>e.check(lj(cG,A)),e.base64=A=>e.check(pj(mG,A)),e.base64url=A=>e.check(Bj(vG,A)),e.xid=A=>e.check(uj(fG,A)),e.ksuid=A=>e.check(cj(hG,A)),e.ipv4=A=>e.check(fj(dG,A)),e.ipv6=A=>e.check(hj(gG,A)),e.cidrv4=A=>e.check(dj(pG,A)),e.cidrv6=A=>e.check(gj(BG,A)),e.e164=A=>e.check(mj(wG,A)),e.datetime=A=>e.check(Gj(A)),e.date=A=>e.check(Zj(A)),e.time=A=>e.check(Wj(A)),e.duration=A=>e.check(Jj(A))});function ft(e){return JP(iG,e)}const ue=G("ZodStringFormat",(e,t)=>{ae.init(e,t),MF.init(e,t)}),rG=G("ZodEmail",(e,t)=>{iP.init(e,t),ue.init(e,t)}),z_=G("ZodGUID",(e,t)=>{AP.init(e,t),ue.init(e,t)}),Mc=G("ZodUUID",(e,t)=>{nP.init(e,t),ue.init(e,t)}),sG=G("ZodURL",(e,t)=>{rP.init(e,t),ue.init(e,t)}),aG=G("ZodEmoji",(e,t)=>{sP.init(e,t),ue.init(e,t)}),oG=G("ZodNanoID",(e,t)=>{aP.init(e,t),ue.init(e,t)}),lG=G("ZodCUID",(e,t)=>{oP.init(e,t),ue.init(e,t)}),uG=G("ZodCUID2",(e,t)=>{lP.init(e,t),ue.init(e,t)}),cG=G("ZodULID",(e,t)=>{uP.init(e,t),ue.init(e,t)}),fG=G("ZodXID",(e,t)=>{cP.init(e,t),ue.init(e,t)}),hG=G("ZodKSUID",(e,t)=>{fP.init(e,t),ue.init(e,t)}),dG=G("ZodIPv4",(e,t)=>{BP.init(e,t),ue.init(e,t)}),gG=G("ZodIPv6",(e,t)=>{mP.init(e,t),ue.init(e,t)}),pG=G("ZodCIDRv4",(e,t)=>{vP.init(e,t),ue.init(e,t)}),BG=G("ZodCIDRv6",(e,t)=>{wP.init(e,t),ue.init(e,t)}),mG=G("ZodBase64",(e,t)=>{bP.init(e,t),ue.init(e,t)}),vG=G("ZodBase64URL",(e,t)=>{CP.init(e,t),ue.init(e,t)}),wG=G("ZodE164",(e,t)=>{_P.init(e,t),ue.init(e,t)}),bG=G("ZodJWT",(e,t)=>{UP.init(e,t),ue.init(e,t)}),LF=G("ZodNumber",(e,t)=>{HF.init(e,t),oe.init(e,t),e.gt=(n,i)=>e.check(K_(n,i)),e.gte=(n,i)=>e.check($c(n,i)),e.min=(n,i)=>e.check($c(n,i)),e.lt=(n,i)=>e.check(N_(n,i)),e.lte=(n,i)=>e.check(Wc(n,i)),e.max=(n,i)=>e.check(Wc(n,i)),e.int=n=>e.check(V_(n)),e.safe=n=>e.check(V_(n)),e.positive=n=>e.check(K_(0,n)),e.nonnegative=n=>e.check($c(0,n)),e.negative=n=>e.check(N_(0,n)),e.nonpositive=n=>e.check(Wc(0,n)),e.multipleOf=(n,i)=>e.check(k_(n,i)),e.step=(n,i)=>e.check(k_(n,i)),e.finite=()=>e;const A=e._zod.bag;e.minValue=Math.max(A.minimum??Number.NEGATIVE_INFINITY,A.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(A.maximum??Number.POSITIVE_INFINITY,A.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(A.format??"").includes("int")||Number.isSafeInteger(A.multipleOf??.5),e.isFinite=!0,e.format=A.format??null});function lA(e){return _j(LF,e)}const yG=G("ZodNumberFormat",(e,t)=>{xP.init(e,t),LF.init(e,t)});function V_(e){return Qj(yG,e)}const CG=G("ZodBoolean",(e,t)=>{FP.init(e,t),oe.init(e,t)});function uh(e){return Uj(CG,e)}const _G=G("ZodAny",(e,t)=>{EP.init(e,t),oe.init(e,t)});function uA(){return xj(_G)}const QG=G("ZodUnknown",(e,t)=>{SP.init(e,t),oe.init(e,t)});function P_(){return Fj(QG)}const UG=G("ZodNever",(e,t)=>{HP.init(e,t),oe.init(e,t)});function xG(e){return Ej(UG,e)}const FG=G("ZodDate",(e,t)=>{OP.init(e,t),oe.init(e,t),e.min=(n,i)=>e.check($c(n,i)),e.max=(n,i)=>e.check(Wc(n,i));const A=e._zod.bag;e.minDate=A.minimum?new Date(A.minimum):null,e.maxDate=A.maximum?new Date(A.maximum):null});function EG(e){return Sj(FG,e)}const SG=G("ZodArray",(e,t)=>{TP.init(e,t),oe.init(e,t),e.element=t.element,e.min=(A,n)=>e.check(Sf(A,n)),e.nonempty=A=>e.check(Sf(1,A)),e.max=(A,n)=>e.check(TF(A,n)),e.length=(A,n)=>e.check(DF(A,n)),e.unwrap=()=>e.element});function UA(e,t){return kj(SG,e,t)}const HG=G("ZodObject",(e,t)=>{DP.init(e,t),oe.init(e,t),Zt(e,"shape",()=>t.shape),e.keyof=()=>fh(Object.keys(e._zod.def.shape)),e.catchall=A=>e.clone({...e._zod.def,catchall:A}),e.passthrough=()=>e.clone({...e._zod.def,catchall:P_()}),e.loose=()=>e.clone({...e._zod.def,catchall:P_()}),e.strict=()=>e.clone({...e._zod.def,catchall:xG()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=A=>rV(e,A),e.merge=A=>sV(e,A),e.pick=A=>nV(e,A),e.omit=A=>iV(e,A),e.partial=(...A)=>aV(NF,e,A[0]),e.required=(...A)=>oV(KF,e,A[0])});function ce(e,t){const A={type:"object",get shape(){return Yr(this,"shape",{...e}),this.shape},...gt(t)};return new HG(A)}const IF=G("ZodUnion",(e,t)=>{OF.init(e,t),oe.init(e,t),e.options=t.options});function ch(e,t){return new IF({type:"union",options:e,...gt(t)})}const OG=G("ZodDiscriminatedUnion",(e,t)=>{IF.init(e,t),MP.init(e,t)});function TG(e,t,A){return new OG({type:"union",options:t,discriminator:e,...gt(A)})}const DG=G("ZodIntersection",(e,t)=>{LP.init(e,t),oe.init(e,t)});function MG(e,t){return new DG({type:"intersection",left:e,right:t})}const LG=G("ZodRecord",(e,t)=>{IP.init(e,t),oe.init(e,t),e.keyType=t.keyType,e.valueType=t.valueType});function qe(e,t,A){return new LG({type:"record",keyType:e,valueType:t,...gt(A)})}const wB=G("ZodEnum",(e,t)=>{RP.init(e,t),oe.init(e,t),e.enum=t.entries,e.options=Object.values(t.entries);const A=new Set(Object.keys(t.entries));e.extract=(n,i)=>{const a={};for(const o of n)if(A.has(o))a[o]=t.entries[o];else throw new Error(`Key ${o} not found in enum`);return new wB({...t,checks:[],...gt(i),entries:a})},e.exclude=(n,i)=>{const a={...t.entries};for(const o of n)if(A.has(o))delete a[o];else throw new Error(`Key ${o} not found in enum`);return new wB({...t,checks:[],...gt(i),entries:a})}});function fh(e,t){const A=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new wB({type:"enum",entries:A,...gt(t)})}const IG=G("ZodLiteral",(e,t)=>{NP.init(e,t),oe.init(e,t),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function Ul(e,t){return new IG({type:"literal",values:Array.isArray(e)?e:[e],...gt(t)})}const RG=G("ZodTransform",(e,t)=>{KP.init(e,t),oe.init(e,t),e._zod.parse=(A,n)=>{A.addIssue=a=>{if(typeof a=="string")A.issues.push(cl(a,A.value,t));else{const o=a;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=A.value),o.inst??(o.inst=e),A.issues.push(cl(o))}};const i=t.transform(A.value,A);return i instanceof Promise?i.then(a=>(A.value=a,A)):(A.value=i,A)}});function RF(e){return new RG({type:"transform",transform:e})}const NF=G("ZodOptional",(e,t)=>{kP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType});function j_(e){return new NF({type:"optional",innerType:e})}const NG=G("ZodNullable",(e,t)=>{zP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType});function G_(e){return new NG({type:"nullable",innerType:e})}const KG=G("ZodDefault",(e,t)=>{VP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function kG(e,t){return new KG({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}const zG=G("ZodPrefault",(e,t)=>{PP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType});function VG(e,t){return new zG({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():t}})}const KF=G("ZodNonOptional",(e,t)=>{jP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType});function PG(e,t){return new KF({type:"nonoptional",innerType:e,...gt(t)})}const jG=G("ZodCatch",(e,t)=>{GP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function GG(e,t){return new jG({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}const XG=G("ZodPipe",(e,t)=>{XP.init(e,t),oe.init(e,t),e.in=t.in,e.out=t.out});function bB(e,t){return new XG({type:"pipe",in:e,out:t})}const ZG=G("ZodReadonly",(e,t)=>{ZP.init(e,t),oe.init(e,t),e.unwrap=()=>e._zod.def.innerType});function YG(e){return new ZG({type:"readonly",innerType:e})}const WG=G("ZodCustom",(e,t)=>{YP.init(e,t),oe.init(e,t)});function $G(e,t={}){return zj(WG,e,t)}function JG(e){return Vj(e)}function qG(e,t){return bB(RF(e),t)}const t5=ce({text:ft().describe("The text content."),type:Ul("text").default("text").describe("The type of the content part.")}),kF=ce({name:ft(),arguments:ft()}),e5=ce({id:ft(),type:Ul("function"),function:kF}),A5=ce({role:ft().describe("assistant, user, system, tool"),content:ch([ft(),UA(t5)]).optional().default("").describe("The content of the message."),name:ft().optional(),tool_call_id:ft().optional(),tool_calls:UA(e5).optional(),function_call:kF.optional(),control_plane_step:qe(ft(),uA()).optional()}),n5=ce({is_score_valid:uh().default(!0),score:lA().min(0).max(1),reason:ft()}),i5=ce({step_index:ch([lA(),ft()]).describe("User-defined index for the step (e.g., assistant message index, turn number). This is used by the system to map this output to the internal StepData."),base_reward:lA().describe("Base reward calculated by the user's reward function for this step."),terminated:uh().default(!1).describe("Whether the environment signaled termination at this step."),control_plane_info:qe(ft(),uA()).optional().describe("Structured info from the environment's control plane."),metrics:qe(ft(),uA()).default({}).describe("Optional dictionary of custom metrics for this step."),reason:ft().optional().describe("Optional explanation for the step's base reward or metrics.")}),r5=ce({score:lA().describe("The overall evaluation score, typically between 0.0 and 1.0."),is_score_valid:uh().default(!0).describe("Whether the overall score is valid."),reason:ft().optional().describe("Optional explanation for the overall score."),metrics:qe(ft(),n5).default({}).describe("Dictionary of component metrics for detailed breakdown."),step_outputs:UA(i5).optional().describe("For RL, a list of outputs for each conceptual step, providing base rewards."),error:ft().optional().describe("Optional error message if the evaluation itself encountered an issue."),trajectory_info:qe(ft(),uA()).optional().describe("Additional trajectory-level information (duration, steps, termination_reason, etc.)."),final_control_plane_info:qe(ft(),uA()).optional().describe("The final control plane state that led to termination.")}),s5=qe(ft(),uA()),a5=ce({row_id:ft().optional().describe("Unique string to ID the row"),completion_params:s5.describe("Completion endpoint parameters used"),dataset_info:qe(ft(),uA()).optional().describe("Dataset row details: seed, system_prompt, environment_context, etc"),session_data:qe(ft(),uA()).optional().describe("Session metadata like timestamp (input only, no duration/usage)")}).loose(),o5=ce({prompt_tokens:lA(),completion_tokens:lA(),total_tokens:lA()}),l5=ce({name:ft().describe("Name of the evaluation"),description:ft().optional().describe("Description of the evaluation"),version:ft().describe("Version of the evaluation. By default, we will populate this with the current commit hash."),status:fh(["running","finished","error","stopped"]).optional().describe("Status of the evaluation"),num_runs:lA().int().describe("Number of times the evaluation was repeated"),aggregation_method:ft().describe("Method used to aggregate scores across runs"),threshold_of_success:lA().optional().describe("Threshold score for test success"),passed:uh().optional().describe("Whether the evaluation passed based on the threshold")}),u5=ce({status:fh(["running","finished","error","stopped"]).default("finished").describe("Status of the rollout."),error_message:ft().optional().describe("Error message if the rollout failed.")}),c5=ce({invocation_id:ft().optional().describe("The ID of the invocation that this row belongs to."),experiment_id:ft().optional().describe("The ID of the experiment that this row belongs to."),rollout_id:ft().optional().describe("The ID of the rollout that this row belongs to."),run_id:ft().optional().describe("The ID of the run that this row belongs to.")}),yB=ce({messages:UA(A5).describe("List of messages in the conversation/trajectory."),tools:UA(qe(ft(),uA())).optional().describe("Available tools/functions that were provided to the agent."),input_metadata:a5.describe("Metadata related to the input (dataset info, model config, session data, etc.)."),rollout_status:u5.default({status:"finished"}).describe("The status of the rollout."),execution_metadata:c5.optional().describe("Metadata about the execution of the evaluation."),ground_truth:ft().optional().describe("Optional ground truth reference for this evaluation."),evaluation_result:r5.optional().describe("The evaluation result for this row/trajectory."),usage:o5.optional().describe("Token usage statistics from LLM calls during execution."),created_at:qG(e=>typeof e=="string"?new Date(e):e,EG()).describe("The timestamp when the row was created. Accepts string and parses to Date."),eval_metadata:l5.optional().describe("Metadata about the evaluation that was run."),pid:lA().optional().describe("The PID of the process that created the row. This is used by the evaluation watcher to detect stopped evaluations.")}),f5=ce({start_command:ft().describe("The command to start the server. The string '{port}' will be replaced with a dynamically allocated free port."),health_check_url:ft().describe("The URL to poll to check if the server is ready. The string '{port}' will be replaced with the allocated port.")}),h5=ce({final_state_query:ft().optional().describe("A query (e.g., SQL) to run on the final state of the resource."),expected_query_result_transform:ft().optional().describe("A Python lambda string (e.g., 'lambda x: x > 0') to transform and evaluate the query result to a boolean."),ground_truth_function_calls:UA(UA(ft())).optional().describe("Ground truth function calls for BFCL evaluation."),ground_truth_comparable_state:qe(ft(),uA()).optional().describe("Ground truth comparable state for BFCL evaluation.")});ce({name:ft().describe("Unique name for the task."),description:ft().optional().describe("A brief description of the task."),resource_type:ft().describe("The type of ForkableResource to use (e.g., 'SQLResource', 'PythonStateResource', 'FileSystemResource', 'DockerResource')."),base_resource_config:qe(ft(),uA()).default({}).describe("Configuration dictionary passed to the base resource's setup() method."),tools_module_path:ft().optional().describe("Optional Python import path to a module containing custom tool functions for this task."),reward_function_path:ft().describe("Python import path to the reward function (e.g., 'my_module.my_reward_func')."),goal_description:ft().optional().describe("A human-readable description of the agent's goal for this task."),evaluation_criteria:h5.optional().describe("Criteria used by the Orchestrator to determine if the primary goal was achieved."),initial_user_prompt:ft().optional().describe("The initial prompt or message to start the agent interaction. Deprecated if 'messages' field is used for multi-turn."),messages:UA(qe(ft(),uA())).optional().describe("A list of messages to start the conversation, can represent multiple user turns for sequential processing."),poc_max_turns:lA().int().min(1).default(3).describe("For PoC Orchestrator, the maximum number of interaction turns."),resource_server:f5.optional().describe("Configuration for a background server required for the task."),num_rollouts:lA().int().min(1).default(1).describe("Number of parallel rollouts to execute for this task definition."),dataset_path:ft().optional().describe("Path to dataset file (JSONL) containing experimental conditions for data-driven evaluation."),num_rollouts_per_sample:lA().int().min(1).default(1).describe("Number of rollouts to execute per sample from the dataset.")}).loose();const d5=ce({command:ft().describe("command to run the MCP server"),args:UA(ft()).default([]).describe("to pass to the command"),env:UA(ft()).default([]).describe("List of environment variables to verify exist in the environment")}),g5=ce({url:ft().describe("url to the MCP server")});ce({mcpServers:qe(ft(),ch([d5,g5]))});const p5=ce({type:Ul("initialize_logs"),logs:UA(uA())}),B5=ce({type:Ul("log"),row:yB}),m5=TG("type",[p5,B5]);ce({status:Ul("ok"),build_dir:ft(),active_connections:lA(),watch_paths:UA(ft())});ce({id:ft(),timestamp:ft(),level:fh(["DEBUG","INFO","WARNING","ERROR"]),message:ft(),metadata:qe(ft(),uA()).optional()});function v5(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function X_(e,t){if(typeof t=="number")return`${e}[${t}]`;if(/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))return`${e}.${t}`;const n=t.replace(/'/g,"\\'");return`${e}['${n}']`}function w5(e,t="$"){const A={},n=(i,a)=>{if(i===null||typeof i=="string"||typeof i=="number"||typeof i=="boolean"||i===void 0){A[a]=i;return}if(i instanceof Date){A[a]=i;return}if(Array.isArray(i)){for(let o=0;o{try{localStorage.setItem("pivotConfig",JSON.stringify(this.pivotConfig))}catch(t){console.warn("Failed to save pivot config to localStorage:",t)}},200)}saveFilterConfig(){this.saveFilterConfigTimer&&clearTimeout(this.saveFilterConfigTimer),this.saveFilterConfigTimer=setTimeout(()=>{try{localStorage.setItem("filterConfig",JSON.stringify(this.filterConfig))}catch(t){console.warn("Failed to save filter config to localStorage:",t)}},200)}savePaginationConfig(){this.savePaginationConfigTimer&&clearTimeout(this.savePaginationConfigTimer),this.savePaginationConfigTimer=setTimeout(()=>{try{localStorage.setItem("paginationConfig",JSON.stringify({currentPage:this.currentPage,pageSize:this.pageSize}))}catch(t){console.warn("Failed to save pagination config to localStorage:",t)}},200)}updatePivotConfig(t){Object.assign(this.pivotConfig,t),this.savePivotConfig()}updateFilterConfig(t){this.filterConfig=t,this.saveFilterConfig(),this.applyFilterTimer&&clearTimeout(this.applyFilterTimer),this.applyFilterTimer=setTimeout(()=>{this.appliedFilterConfig=this.filterConfig.slice()},150)}updatePaginationConfig(t){t.currentPage!==void 0&&(this.currentPage=t.currentPage),t.pageSize!==void 0&&(this.pageSize=t.pageSize),this.savePaginationConfig()}resetPivotConfig(){this.pivotConfig={...yp},this.savePivotConfig()}resetFilterConfig(){this.filterConfig=[...Lc],this.appliedFilterConfig=[...Lc],this.saveFilterConfig()}resetPaginationConfig(){this.currentPage=Ic.currentPage,this.pageSize=Ic.pageSize,this.savePaginationConfig()}setCurrentPage(t){this.currentPage=t,this.savePaginationConfig()}setPageSize(t){this.pageSize=t,this.currentPage=1,this.savePaginationConfig()}setLoading(t){this.isLoading=t}setConnected(t){this.isConnected=t}upsertRows(t){Ub(()=>{this.isLoading=!0}),t.forEach(A=>{if(!A.execution_metadata?.rollout_id)return;const n=A.execution_metadata.rollout_id;this.dataset[n]=A;const i=new Date(A.created_at).getTime();this.createdAtMsById[n]=isNaN(i)?0:i,this.flattenedById[n]=w5(A)}),Ub(()=>{this.currentPage=1,this.isLoading=!1}),this.savePaginationConfig()}toggleRowExpansion(t){t&&(this.expandedRows[t]?this.expandedRows[t]=!1:this.expandedRows[t]=!0)}isRowExpanded(t){return t?this.expandedRows[t]:!1}setAllRowsExpanded(t){Object.keys(this.dataset).forEach(A=>{this.expandedRows[A]=t})}get sortedIds(){return Object.keys(this.dataset).sort((t,A)=>(this.createdAtMsById[A]??0)-(this.createdAtMsById[t]??0))}get sortedDataset(){return this.sortedIds.map(t=>this.dataset[t])}get flattenedDataset(){return this.sortedIds.map(t=>this.flattenedById[t])}get filteredFlattenedDataset(){if(this.appliedFilterConfig.length===0)return this.flattenedDataset;const t=lf(this.appliedFilterConfig);return this.flattenedDataset.filter(t)}get filteredOriginalDataset(){if(this.appliedFilterConfig.length===0)return this.sortedDataset;const t=lf(this.appliedFilterConfig);return this.sortedIds.filter(A=>t(this.flattenedById[A])).map(A=>this.dataset[A])}get flattenedDatasetKeys(){const t=new Set;return this.sortedIds.forEach(A=>{const n=this.flattenedById[A];n&&Object.keys(n).forEach(i=>t.add(i))}),Array.from(t)}get totalCount(){return this.filteredFlattenedDataset.length}get totalPages(){return Math.ceil(this.totalCount/this.pageSize)}get startRow(){return(this.currentPage-1)*this.pageSize+1}get endRow(){return Math.min(this.currentPage*this.pageSize,this.totalCount)}}const y5="/assets/logo-light-BprIBJQW.png",$e={websocket:{host:"localhost",port:"8000",protocol:"ws"},api:{host:"localhost",port:"8000",protocol:"http"}},C5=()=>{const{protocol:e,host:t,port:A}=$e.websocket;return`${e}://${t}:${A}/ws`},_5=async()=>{try{if(window.SERVER_CONFIG){const n=window.SERVER_CONFIG;$e.websocket.host=n.host,$e.websocket.port=n.port,$e.websocket.protocol=n.protocol,$e.api.host=n.host,$e.api.port=n.port,$e.api.protocol=n.apiProtocol,console.log("Using server-injected config:",$e);return}const e=window.location.hostname,t=window.location.port,A=window.location.protocol==="https:"?"wss:":"ws:";$e.websocket.host=e,$e.websocket.port=t||(A==="wss:"?"443":"80"),$e.websocket.protocol=A,$e.api.host=e,$e.api.port=t||(A==="wss:"?"443":"80"),$e.api.protocol=window.location.protocol==="https:"?"https:":"http:",console.log("Using discovered config from location:",$e)}catch(e){console.warn("Failed to discover server config, using defaults:",e)}},dt=new b5,Q5=1e3,Z_=5,U5=se(()=>{const e=M.useRef(null),t=M.useRef(null),A=M.useRef(0),n=()=>{if(e.current?.readyState===WebSocket.OPEN)return;const o=new WebSocket(C5());e.current=o,o.onopen=()=>{console.log("Connected to file watcher"),dt.setConnected(!0),dt.setLoading(!0),A.current=0},o.onmessage=u=>{try{const c=m5.parse(JSON.parse(u.data));if(c.type==="initialize_logs"){const h=c.logs.map(g=>yB.parse(g));console.log("initialize_logs",h),dt.upsertRows(h)}else if(c.type==="log"){dt.setLoading(!0);const h=yB.parse(c.row);console.log("log",h),dt.upsertRows([h])}}catch(c){console.error("Failed to parse WebSocket message:",c),dt.setLoading(!1)}},o.onclose=u=>{console.log("Disconnected from file watcher",u.code,u.reason),dt.setConnected(!1),dt.setLoading(!1),u.code!==1e3&&A.current{console.error("WebSocket error:",u),dt.setConnected(!1),dt.setLoading(!1)}},i=()=>{t.current&&clearTimeout(t.current);const o=Q5*Math.pow(2,A.current);console.log(`Scheduling reconnect attempt ${A.current+1} in ${o}ms`),t.current=setTimeout(()=>{A.current++,console.log(`Attempting to reconnect (attempt ${A.current}/${Z_})`),n()},o)},a=()=>{if(dt.setLoading(!0),e.current){try{e.current.onclose=null,e.current.close()}catch{}e.current=null}n()};return M.useEffect(()=>((async()=>{await _5(),n()})(),()=>{t.current&&clearTimeout(t.current),e.current&&e.current.close()}),[]),U.jsxs("div",{className:"min-h-screen bg-gray-50",children:[U.jsx("nav",{className:"bg-white border-b border-gray-200",children:U.jsx("div",{className:"max-w-7xl mx-auto px-3",children:U.jsxs("div",{className:"flex justify-between items-center h-10",children:[U.jsx("div",{className:"flex items-center space-x-2",children:U.jsx("a",{href:"https://evalprotocol.io",target:"_blank",children:U.jsx("img",{src:y5,alt:"Eval Protocol",className:"h-6 w-auto"})})}),U.jsxs("div",{className:"flex items-center gap-2",children:[U.jsx(aU,{status:dt.isConnected?"connected":"disconnected"}),U.jsx(Ne,{onClick:a,className:"ml-2",children:"Refresh"})]})]})})}),U.jsx("main",{className:"max-w-7xl mx-auto px-3 py-4",children:U.jsxs(lH,{children:[U.jsx(Rc,{path:"/",element:U.jsx(aH,{to:"/table",replace:!0})}),U.jsx(Rc,{path:"/table",element:U.jsx(Q_,{onRefresh:a})}),U.jsx(Rc,{path:"/pivot",element:U.jsx(Q_,{onRefresh:a})})]})})]})});m1.createRoot(document.getElementById("root")).render(U.jsx(ii.StrictMode,{children:U.jsx(OH,{children:U.jsx(U5,{})})})); -//# sourceMappingURL=index-CQTgWyJ8.js.map +//# sourceMappingURL=index-CFNV6YnL.js.map diff --git a/vite-app/dist/assets/index-CQTgWyJ8.js.map b/vite-app/dist/assets/index-CFNV6YnL.js.map similarity index 68% rename from vite-app/dist/assets/index-CQTgWyJ8.js.map rename to vite-app/dist/assets/index-CFNV6YnL.js.map index f6e166cd..59177388 100644 --- a/vite-app/dist/assets/index-CQTgWyJ8.js.map +++ b/vite-app/dist/assets/index-CFNV6YnL.js.map @@ -1 +1 @@ -{"version":3,"file":"index-CQTgWyJ8.js","sources":["../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react-jsx-runtime.production.js","../../node_modules/.pnpm/react@19.1.1/node_modules/react/jsx-runtime.js","../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react.production.js","../../node_modules/.pnpm/react@19.1.1/node_modules/react/index.js","../../node_modules/.pnpm/scheduler@0.26.0/node_modules/scheduler/cjs/scheduler.production.js","../../node_modules/.pnpm/scheduler@0.26.0/node_modules/scheduler/index.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/cjs/react-dom.production.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/index.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/cjs/react-dom-client.production.js","../../node_modules/.pnpm/react-dom@19.1.1_react@19.1.1/node_modules/react-dom/client.js","../../node_modules/.pnpm/react-router@7.7.1_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/react-router/dist/development/chunk-C37GKA54.mjs","../../node_modules/.pnpm/mobx@6.13.7/node_modules/mobx/dist/mobx.esm.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/assertEnvironment.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/observerBatching.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/printDebugValue.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/UniversalFinalizationRegistry.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/utils/observerFinalizationRegistry.js","../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.1.1/node_modules/use-sync-external-store/shim/index.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/useObserver.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/observer.js","../../node_modules/.pnpm/mobx-react-lite@4.1.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react-lite/es/index.js","../../node_modules/.pnpm/mobx-react@9.2.0_mobx@6.13.7_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/mobx-react/dist/mobxreact.esm.js","../../src/styles/common.ts","../../src/components/Button.tsx","../../src/components/MessageBubble.tsx","../../src/components/ChatInterface.tsx","../../src/components/MetadataSection.tsx","../../src/components/StatusIndicator.tsx","../../src/components/TableContainer.tsx","../../src/components/Tooltip.tsx","../../src/components/EvaluationRow.tsx","../../src/components/Select.tsx","../../src/components/SearchableSelect.tsx","../../src/components/FilterInput.tsx","../../src/util/filter-utils.ts","../../src/components/FilterSelector.tsx","../../src/components/EvaluationTable.tsx","../../src/util/pivot.ts","../../src/components/PivotTable.tsx","../../node_modules/.pnpm/@kurkle+color@0.3.4/node_modules/@kurkle/color/dist/color.esm.js","../../node_modules/.pnpm/chart.js@4.5.0/node_modules/chart.js/dist/chunks/helpers.dataset.js","../../node_modules/.pnpm/chart.js@4.5.0/node_modules/chart.js/dist/chart.js","../../node_modules/.pnpm/react-chartjs-2@5.3.0_chart.js@4.5.0_react@19.1.1/node_modules/react-chartjs-2/dist/index.js","../../node_modules/.pnpm/html2canvas-oklch@1.5.0-alpha.0/node_modules/html2canvas-oklch/dist/html2canvas.esm.js","../../src/components/ChartExport.tsx","../../src/hooks/usePivotData.ts","../../src/util/field-processors.ts","../../src/components/PivotTab.tsx","../../src/components/TabButton.tsx","../../src/components/Dashboard.tsx","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/core.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/util.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/errors.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/parse.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/regexes.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/checks.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/doc.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/versions.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/schemas.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/registries.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/core/api.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/iso.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/errors.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/parse.js","../../node_modules/.pnpm/zod@4.0.14/node_modules/zod/v4/classic/schemas.js","../../src/types/eval-protocol.ts","../../src/types/websocket.ts","../../src/util/flatten-json.ts","../../src/GlobalState.tsx","../../src/assets/logo-light.png","../../src/config.ts","../../src/App.tsx","../../src/main.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null, V: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, createDeps, update) {\n var dispatcher = ReactSharedInternals.H;\n if (\"function\" === typeof update)\n throw Error(\n \"useEffect CRUD overload is not enabled in this build of React.\"\n );\n return dispatcher.useEffect(create, createDeps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.1\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionLane = 256,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194048;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194048) && (nextTransitionLane = 256);\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$5 = 31 - clz32(remainingLanes),\n lane = 1 << index$5;\n entanglements[index$5] = 0;\n expirationTimes[index$5] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$5];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$5] = null, index$5 = 0;\n index$5 < hiddenUpdatesForLane.length;\n index$5++\n ) {\n var update = hiddenUpdatesForLane[index$5];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194090);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$6 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$6;\n (lane & entangledLanes) | (root[index$6] & entangledLanes) &&\n (root[index$6] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentSuspenseInstance(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentSuspenseInstance(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$9) {\n control = x$9;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$10) {\n control = x$10;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\",\n descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n ),\n currentValue = \"\" + node[valueField];\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n node._valueTracker || (node._valueTracker = trackValueOnNode(node));\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n )\n return;\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$282;\n if (canUseDOM) {\n var isSupported$jscomp$inline_417 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_417) {\n var element$jscomp$inline_418 = document.createElement(\"div\");\n element$jscomp$inline_418.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_417 =\n \"function\" === typeof element$jscomp$inline_418.oninput;\n }\n JSCompiler_inline_result$jscomp$282 = isSupported$jscomp$inline_417;\n } else JSCompiler_inline_result$jscomp$282 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$282 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(formatProdErrorMessage(418, \"\"));\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n track(instance);\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children),\n track(instance);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n a: {\n fiber = fiber.nextSibling;\n for (tag = 0; fiber; ) {\n if (8 === fiber.nodeType)\n if (((JSCompiler_temp = fiber.data), \"/$\" === JSCompiler_temp)) {\n if (0 === tag) {\n nextHydratableInstance = getNextHydratable(fiber.nextSibling);\n break a;\n }\n tag--;\n } else\n (\"$\" !== JSCompiler_temp &&\n \"$!\" !== JSCompiler_temp &&\n \"$?\" !== JSCompiler_temp) ||\n tag++;\n fiber = fiber.nextSibling;\n }\n nextHydratableInstance = null;\n }\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction noop$3() {}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$3, noop$3), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$3, noop$3);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter$1 = 0,\n thenableState$1 = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter$1 = 0;\n thenableState$1 = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState$1 = null);\n thenableIndexCounter$1 = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter$1 = localIdCounter = 0;\n thenableState$1 = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n thenable = trackUsedThenable(thenableState$1, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$32 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$32 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$32 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$32 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n var create = subscribeToStore.bind(null, fiber, hook, subscribe);\n updateEffectImpl(2048, 8, create, [subscribe]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$38) {\n onActionError(actionQueue, node, error$38);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, createDeps) {\n tag = { tag: tag, create: create, deps: createDeps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((createDeps = create.next),\n (create.next = tag),\n (tag.next = createDeps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction createEffectInstance() {\n return { destroy: void 0, resource: void 0 };\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, createDeps) {\n var hook = mountWorkInProgressHook();\n createDeps = void 0 === createDeps ? null : createDeps;\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n createEffectInstance(),\n create,\n createDeps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, createDeps) {\n mountEffectImpl(8390656, 8, create, createDeps);\n}\nfunction updateEffect(create, createDeps) {\n updateEffectImpl(2048, 8, create, createDeps);\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop$2() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop$2\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var resetStateQueue = ensureFormComponentIsStateful(formFiber).next.queue;\n dispatchSetStateInternal(formFiber, resetStateQueue, {}, requestUpdateLane());\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$41 = enqueueUpdate(provider, fiber, lane);\n null !== root$41 &&\n (scheduleUpdateOnFiber(root$41, provider, lane),\n entangleTransitions(root$41, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n },\n HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 124) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n createEffectInstance(),\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"\\u00ab\" + identifierPrefix + \"R\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"\\u00bb\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"\\u00ab\" +\n identifierPrefix +\n \"r\" +\n JSCompiler_inline_result.toString(32) +\n \"\\u00bb\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n },\n HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n },\n thenableState = null,\n thenableIndexCounter = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n \"$?\" === state.data ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (prevState = 0; null !== nextChildren; )\n (prevState =\n prevState | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = prevState & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n if (isHydrating) {\n var nextInstance = nextHydratableInstance,\n JSCompiler_temp$jscomp$0;\n if ((JSCompiler_temp$jscomp$0 = nextInstance)) {\n c: {\n JSCompiler_temp$jscomp$0 = nextInstance;\n for (\n nextInstance = rootOrSingletonContext;\n 8 !== JSCompiler_temp$jscomp$0.nodeType;\n\n ) {\n if (!nextInstance) {\n nextInstance = null;\n break c;\n }\n JSCompiler_temp$jscomp$0 = getNextHydratable(\n JSCompiler_temp$jscomp$0.nextSibling\n );\n if (null === JSCompiler_temp$jscomp$0) {\n nextInstance = null;\n break c;\n }\n }\n nextInstance = JSCompiler_temp$jscomp$0;\n }\n null !== nextInstance\n ? ((workInProgress.memoizedState = {\n dehydrated: nextInstance,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (JSCompiler_temp$jscomp$0 = createFiberImplClass(\n 18,\n null,\n null,\n 0\n )),\n (JSCompiler_temp$jscomp$0.stateNode = nextInstance),\n (JSCompiler_temp$jscomp$0.return = workInProgress),\n (workInProgress.child = JSCompiler_temp$jscomp$0),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (JSCompiler_temp$jscomp$0 = !0))\n : (JSCompiler_temp$jscomp$0 = !1);\n }\n JSCompiler_temp$jscomp$0 || throwOnHydrationMismatch(workInProgress);\n }\n nextInstance = workInProgress.memoizedState;\n if (\n null !== nextInstance &&\n ((nextInstance = nextInstance.dehydrated), null !== nextInstance)\n )\n return (\n isSuspenseInstanceFallback(nextInstance)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912),\n null\n );\n popSuspenseHandler(workInProgress);\n }\n nextInstance = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextInstance = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextInstance },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextInstance.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextInstance.sibling = nextProps),\n (workInProgress.child = nextInstance),\n (showFallback = workInProgress.child),\n (showFallback.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextInstance);\n }\n JSCompiler_temp$jscomp$0 = current.memoizedState;\n if (\n null !== JSCompiler_temp$jscomp$0 &&\n ((nextInstance = JSCompiler_temp$jscomp$0.dehydrated),\n null !== nextInstance)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n nextInstance\n )),\n (showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2),\n (nextProps.return = workInProgress),\n (showFallback.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = showFallback));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextInstance))\n ) {\n JSCompiler_temp =\n nextInstance.nextSibling && nextInstance.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = renderLanes & -renderLanes),\n (nextProps =\n 0 !== (nextProps & 42)\n ? 1\n : getBumpedLaneForHydrationByLane(nextProps)),\n (nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps),\n 0 !== nextProps && nextProps !== JSCompiler_temp$jscomp$0.retryLane)\n )\n throw (\n ((JSCompiler_temp$jscomp$0.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n \"$?\" === nextInstance.data || renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n \"$?\" === nextInstance.data\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = JSCompiler_temp$jscomp$0.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextInstance.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n ((idStack[idStackIndex++] = treeContextId),\n (idStack[idStackIndex++] = treeContextOverflow),\n (idStack[idStackIndex++] = treeContextProvider),\n (treeContextId = current.id),\n (treeContextOverflow = current.overflow),\n (treeContextProvider = workInProgress)),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = nextProps.fallback),\n (nextInstance = workInProgress.mode),\n (JSCompiler_temp$jscomp$0 = current.child),\n (digest = JSCompiler_temp$jscomp$0.sibling),\n (nextProps = createWorkInProgress(JSCompiler_temp$jscomp$0, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags =\n JSCompiler_temp$jscomp$0.subtreeFlags & 65011712),\n null !== digest\n ? (showFallback = createWorkInProgress(digest, showFallback))\n : ((showFallback = createFiberFromFragment(\n showFallback,\n nextInstance,\n renderLanes,\n null\n )),\n (showFallback.flags |= 2)),\n (showFallback.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = showFallback),\n (workInProgress.child = nextProps),\n (nextProps = showFallback),\n (showFallback = workInProgress.child),\n (nextInstance = current.child.memoizedState),\n null === nextInstance\n ? (nextInstance = mountSuspenseOffscreenState(renderLanes))\n : ((JSCompiler_temp$jscomp$0 = nextInstance.cachePool),\n null !== JSCompiler_temp$jscomp$0\n ? ((digest = CacheContext._currentValue),\n (JSCompiler_temp$jscomp$0 =\n JSCompiler_temp$jscomp$0.parent !== digest\n ? { parent: digest, pool: digest }\n : JSCompiler_temp$jscomp$0))\n : (JSCompiler_temp$jscomp$0 = getSuspendedCache()),\n (nextInstance = {\n baseLanes: nextInstance.baseLanes | renderLanes,\n cachePool: JSCompiler_temp$jscomp$0\n })),\n (showFallback.memoizedState = nextInstance),\n (showFallback.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n offscreenProps.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n };\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n current = workInProgress.pendingProps;\n var lazyComponent = workInProgress.elementType,\n init = lazyComponent._init;\n lazyComponent = init(lazyComponent._payload);\n workInProgress.type = lazyComponent;\n if (\"function\" === typeof lazyComponent)\n shouldConstruct(lazyComponent)\n ? ((current = resolveClassComponentProps(lazyComponent, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== lazyComponent && null !== lazyComponent)\n if (\n ((init = lazyComponent.$$typeof), init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n lazyComponent,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress =\n getComponentNameFromType(lazyComponent) || lazyComponent;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (lazyComponent = workInProgress.type),\n (init = resolveClassComponentProps(\n lazyComponent,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n lazyComponent,\n init,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n lazyComponent = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n init = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, lazyComponent, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n lazyComponent = nextState.cache;\n pushProvider(workInProgress, CacheContext, lazyComponent);\n lazyComponent !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n lazyComponent = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: lazyComponent,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n break a;\n } else if (lazyComponent !== init) {\n init = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError(init);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (lazyComponent === init) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n );\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (lazyComponent = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (lazyComponent[internalInstanceKey] = workInProgress),\n (lazyComponent[internalPropsKey] = current),\n setInitialProperties(lazyComponent, renderLanes, current),\n markNodeAsHoistable(lazyComponent),\n (workInProgress.stateNode = lazyComponent))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((lazyComponent = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n (init = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = init),\n (nextHydratableInstance = getNextHydratable(\n lazyComponent.firstChild\n )))\n : (nextHydratableInstance = init)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if ((init = lazyComponent = nextHydratableInstance))\n (lazyComponent = canHydrateInstance(\n lazyComponent,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== lazyComponent\n ? ((workInProgress.stateNode = lazyComponent),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(\n lazyComponent.firstChild\n )),\n (rootOrSingletonContext = !1),\n (init = !0))\n : (init = !1);\n init || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n init = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n lazyComponent = prevState.children;\n shouldSetTextContent(init, prevState)\n ? (lazyComponent = null)\n : null !== nextState &&\n shouldSetTextContent(init, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = init));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (lazyComponent = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n lazyComponent,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n lazyComponent,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (lazyComponent = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, lazyComponent.value),\n reconcileChildren(\n current,\n workInProgress,\n lazyComponent.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (lazyComponent = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (lazyComponent = lazyComponent(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, lazyComponent, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return (\n (lazyComponent = workInProgress.pendingProps),\n (renderLanes = workInProgress.mode),\n (lazyComponent = {\n mode: lazyComponent.mode,\n children: lazyComponent.children\n }),\n null === current\n ? ((renderLanes = mountWorkInProgressOffscreenFiber(\n lazyComponent,\n renderLanes\n )),\n (renderLanes.ref = workInProgress.ref),\n (workInProgress.child = renderLanes),\n (renderLanes.return = workInProgress),\n (workInProgress = renderLanes))\n : ((renderLanes = createWorkInProgress(current.child, lazyComponent)),\n (renderLanes.ref = workInProgress.ref),\n (workInProgress.child = renderLanes),\n (renderLanes.return = workInProgress),\n (workInProgress = renderLanes)),\n workInProgress\n );\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (lazyComponent = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (prevState = createCache()),\n (init.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && (init.pooledCacheLanes |= renderLanes),\n (init = prevState)),\n (workInProgress.memoizedState = {\n parent: lazyComponent,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n init.parent !== lazyComponent\n ? ((init = { parent: lazyComponent, cache: lazyComponent }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, lazyComponent))\n : ((lazyComponent = prevState.cache),\n pushProvider(workInProgress, CacheContext, lazyComponent),\n lazyComponent !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource))) {\n resource = suspenseHandlerStackCursor.current;\n if (\n null !== resource &&\n ((workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null !== shellBoundary\n : ((workInProgressRootRenderLanes & 62914560) !==\n workInProgressRootRenderLanes &&\n 0 === (workInProgressRootRenderLanes & 536870912)) ||\n resource !== shellBoundary)\n )\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n workInProgress.flags |= 8192;\n }\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$113 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$113 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$113\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$113.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$114 = completedWork.child; null !== child$114; )\n (newChildLanes |= child$114.lanes | child$114.childLanes),\n (subtreeFlags |= child$114.subtreeFlags & 65011712),\n (subtreeFlags |= child$114.flags & 65011712),\n (child$114.return = completedWork),\n (child$114 = child$114.sibling);\n else\n for (child$114 = completedWork.child; null !== child$114; )\n (newChildLanes |= child$114.lanes | child$114.childLanes),\n (subtreeFlags |= child$114.subtreeFlags),\n (subtreeFlags |= child$114.flags),\n (child$114.return = completedWork),\n (child$114 = child$114.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 31:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n return (\n (renderLanes = workInProgress.memoizedState),\n null === current\n ? (markUpdate(workInProgress),\n null !== renderLanes\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, renderLanes))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)))\n : renderLanes\n ? renderLanes !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, renderLanes))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : (current.memoizedProps !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217)),\n null\n );\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n var type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, current);\n else {\n type = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (current) {\n case 1:\n current = type.createElementNS(\n \"http://www.w3.org/2000/svg\",\n renderLanes\n );\n break;\n case 2:\n current = type.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n renderLanes\n );\n break;\n default:\n switch (renderLanes) {\n case \"svg\":\n current = type.createElementNS(\n \"http://www.w3.org/2000/svg\",\n renderLanes\n );\n break;\n case \"math\":\n current = type.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n renderLanes\n );\n break;\n case \"script\":\n current = type.createElement(\"div\");\n current.innerHTML = \" + diff --git a/vite-app/src/components/ChartExport.tsx b/vite-app/src/components/ChartExport.tsx index 60a5e434..8435e7c5 100644 --- a/vite-app/src/components/ChartExport.tsx +++ b/vite-app/src/components/ChartExport.tsx @@ -229,7 +229,7 @@ const ChartExport = >({ ]; return ( -
+

Chart Export

diff --git a/vite-app/src/hooks/usePivotData.ts b/vite-app/src/hooks/usePivotData.ts index 65261522..ad170a15 100644 --- a/vite-app/src/hooks/usePivotData.ts +++ b/vite-app/src/hooks/usePivotData.ts @@ -74,7 +74,7 @@ export function usePivotData( aggregator, filter: createFilterFunction(state.filterConfig), }); - }, [hasValidConfiguration, processedRowFields, processedColumnFields, processedValueField, aggregator]); + }, [hasValidConfiguration, processedRowFields, processedColumnFields, processedValueField, aggregator, state.filterConfig]); return { rowFields: processedRowFields, From 20c936279c5c1d69582c76b2b53cc47843f2e129 Mon Sep 17 00:00:00 2001 From: Dylan Huang Date: Sat, 16 Aug 2025 12:31:35 -0700 Subject: [PATCH 5/5] no black border / vite build --- .../{index-CFNV6YnL.js => index-CbFeqRvW.js} | 42 +++++++++---------- ...-CFNV6YnL.js.map => index-CbFeqRvW.js.map} | 2 +- vite-app/dist/index.html | 2 +- vite-app/src/components/ChartExport.tsx | 39 +++++++++++++---- 4 files changed, 55 insertions(+), 30 deletions(-) rename vite-app/dist/assets/{index-CFNV6YnL.js => index-CbFeqRvW.js} (88%) rename vite-app/dist/assets/{index-CFNV6YnL.js.map => index-CbFeqRvW.js.map} (67%) diff --git a/vite-app/dist/assets/index-CFNV6YnL.js b/vite-app/dist/assets/index-CbFeqRvW.js similarity index 88% rename from vite-app/dist/assets/index-CFNV6YnL.js rename to vite-app/dist/assets/index-CbFeqRvW.js index 845ba88a..37226d6f 100644 --- a/vite-app/dist/assets/index-CFNV6YnL.js +++ b/vite-app/dist/assets/index-CbFeqRvW.js @@ -6,7 +6,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ab;function l1(){if(ab)return ho;ab=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var u in i)u!=="key"&&(a[u]=i[u])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return ho.Fragment=t,ho.jsx=A,ho.jsxs=A,ho}var ob;function u1(){return ob||(ob=1,_g.exports=l1()),_g.exports}var U=u1(),Qg={exports:{}},Ct={};/** + */var ab;function l1(){if(ab)return ho;ab=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function A(n,i,a){var o=null;if(a!==void 0&&(o=""+a),i.key!==void 0&&(o=""+i.key),"key"in i){a={};for(var u in i)u!=="key"&&(a[u]=i[u])}else a=i;return i=a.ref,{$$typeof:e,type:n,key:o,ref:i!==void 0?i:null,props:a}}return ho.Fragment=t,ho.jsx=A,ho.jsxs=A,ho}var ob;function u1(){return ob||(ob=1,_g.exports=l1()),_g.exports}var x=u1(),Qg={exports:{}},Ct={};/** * @license React * react.production.js * @@ -14,7 +14,7 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var lb;function c1(){if(lb)return Ct;lb=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),o=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),B=Symbol.iterator;function m(H){return H===null||typeof H!="object"?null:(H=B&&H[B]||H["@@iterator"],typeof H=="function"?H:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,y={};function _(H,X,tt){this.props=H,this.context=X,this.refs=y,this.updater=tt||v}_.prototype.isReactComponent={},_.prototype.setState=function(H,X){if(typeof H!="object"&&typeof H!="function"&&H!=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,H,X,"setState")},_.prototype.forceUpdate=function(H){this.updater.enqueueForceUpdate(this,H,"forceUpdate")};function C(){}C.prototype=_.prototype;function x(H,X,tt){this.props=H,this.context=X,this.refs=y,this.updater=tt||v}var E=x.prototype=new C;E.constructor=x,b(E,_.prototype),E.isPureReactComponent=!0;var O=Array.isArray,F={H:null,A:null,T:null,S:null,V:null},T=Object.prototype.hasOwnProperty;function k(H,X,tt,q,Y,ot){return tt=ot.ref,{$$typeof:e,type:H,key:X,ref:tt!==void 0?tt:null,props:ot}}function P(H,X){return k(H.type,X,void 0,void 0,void 0,H.props)}function N(H){return typeof H=="object"&&H!==null&&H.$$typeof===e}function J(H){var X={"=":"=0",":":"=2"};return"$"+H.replace(/[=:]/g,function(tt){return X[tt]})}var et=/\/+/g;function nt(H,X){return typeof H=="object"&&H!==null&&H.key!=null?J(""+H.key):X.toString(36)}function ct(){}function bt(H){switch(H.status){case"fulfilled":return H.value;case"rejected":throw H.reason;default:switch(typeof H.status=="string"?H.then(ct,ct):(H.status="pending",H.then(function(X){H.status==="pending"&&(H.status="fulfilled",H.value=X)},function(X){H.status==="pending"&&(H.status="rejected",H.reason=X)})),H.status){case"fulfilled":return H.value;case"rejected":throw H.reason}}throw H}function ut(H,X,tt,q,Y){var ot=typeof H;(ot==="undefined"||ot==="boolean")&&(H=null);var st=!1;if(H===null)st=!0;else switch(ot){case"bigint":case"string":case"number":st=!0;break;case"object":switch(H.$$typeof){case e:case t:st=!0;break;case g:return st=H._init,ut(st(H._payload),X,tt,q,Y)}}if(st)return Y=Y(H),st=q===""?"."+nt(H,0):q,O(Y)?(tt="",st!=null&&(tt=st.replace(et,"$&/")+"/"),ut(Y,X,tt,"",function(FA){return FA})):Y!=null&&(N(Y)&&(Y=P(Y,tt+(Y.key==null||H&&H.key===Y.key?"":(""+Y.key).replace(et,"$&/")+"/")+st)),X.push(Y)),1;st=0;var be=q===""?".":q+":";if(O(H))for(var qt=0;qt>>1,H=I[ht];if(0>>1;hti(q,rt))Yi(ot,q)?(I[ht]=ot,I[Y]=rt,ht=Y):(I[ht]=q,I[tt]=rt,ht=tt);else if(Yi(ot,rt))I[ht]=ot,I[Y]=rt,ht=Y;else break t}}return W}function i(I,W){var rt=I.sortIndex-W.sortIndex;return rt!==0?rt:I.id-W.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var c=[],h=[],g=1,B=null,m=3,v=!1,b=!1,y=!1,_=!1,C=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function O(I){for(var W=A(h);W!==null;){if(W.callback===null)n(h);else if(W.startTime<=I)n(h),W.sortIndex=W.expirationTime,t(c,W);else break;W=A(h)}}function F(I){if(y=!1,O(I),!b)if(A(c)!==null)b=!0,T||(T=!0,nt());else{var W=A(h);W!==null&&ut(F,W.startTime-I)}}var T=!1,k=-1,P=5,N=-1;function J(){return _?!0:!(e.unstable_now()-NI&&J());){var ht=B.callback;if(typeof ht=="function"){B.callback=null,m=B.priorityLevel;var H=ht(B.expirationTime<=I);if(I=e.unstable_now(),typeof H=="function"){B.callback=H,O(I),W=!0;break e}B===A(c)&&n(c),O(I)}else n(c);B=A(c)}if(B!==null)W=!0;else{var X=A(h);X!==null&&ut(F,X.startTime-I),W=!1}}break t}finally{B=null,m=rt,v=!1}W=void 0}}finally{W?nt():T=!1}}}var nt;if(typeof E=="function")nt=function(){E(et)};else if(typeof MessageChannel<"u"){var ct=new MessageChannel,bt=ct.port2;ct.port1.onmessage=et,nt=function(){bt.postMessage(null)}}else nt=function(){C(et,0)};function ut(I,W){k=C(function(){I(e.unstable_now())},W)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125ht?(I.sortIndex=rt,t(h,I),A(c)===null&&I===A(h)&&(y?(x(k),k=-1):y=!0,ut(F,rt-ht))):(I.sortIndex=H,t(c,I),b||v||(b=!0,T||(T=!0,nt()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var W=m;return function(){var rt=m;m=W;try{return I.apply(this,arguments)}finally{m=rt}}}}(Fg)),Fg}var fb;function h1(){return fb||(fb=1,xg.exports=f1()),xg.exports}var Eg={exports:{}},Ve={};/** + */var cb;function f1(){return cb||(cb=1,function(e){function t(I,W){var rt=I.length;I.push(W);t:for(;0>>1,H=I[ht];if(0>>1;hti(q,rt))Yi(ot,q)?(I[ht]=ot,I[Y]=rt,ht=Y):(I[ht]=q,I[tt]=rt,ht=tt);else if(Yi(ot,rt))I[ht]=ot,I[Y]=rt,ht=Y;else break t}}return W}function i(I,W){var rt=I.sortIndex-W.sortIndex;return rt!==0?rt:I.id-W.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,u=o.now();e.unstable_now=function(){return o.now()-u}}var c=[],h=[],g=1,B=null,m=3,v=!1,b=!1,y=!1,_=!1,C=typeof setTimeout=="function"?setTimeout:null,U=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;function O(I){for(var W=A(h);W!==null;){if(W.callback===null)n(h);else if(W.startTime<=I)n(h),W.sortIndex=W.expirationTime,t(c,W);else break;W=A(h)}}function F(I){if(y=!1,O(I),!b)if(A(c)!==null)b=!0,T||(T=!0,nt());else{var W=A(h);W!==null&&ut(F,W.startTime-I)}}var T=!1,k=-1,P=5,N=-1;function J(){return _?!0:!(e.unstable_now()-NI&&J());){var ht=B.callback;if(typeof ht=="function"){B.callback=null,m=B.priorityLevel;var H=ht(B.expirationTime<=I);if(I=e.unstable_now(),typeof H=="function"){B.callback=H,O(I),W=!0;break e}B===A(c)&&n(c),O(I)}else n(c);B=A(c)}if(B!==null)W=!0;else{var X=A(h);X!==null&&ut(F,X.startTime-I),W=!1}}break t}finally{B=null,m=rt,v=!1}W=void 0}}finally{W?nt():T=!1}}}var nt;if(typeof E=="function")nt=function(){E(et)};else if(typeof MessageChannel<"u"){var ct=new MessageChannel,bt=ct.port2;ct.port1.onmessage=et,nt=function(){bt.postMessage(null)}}else nt=function(){C(et,0)};function ut(I,W){k=C(function(){I(e.unstable_now())},W)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(I){I.callback=null},e.unstable_forceFrameRate=function(I){0>I||125ht?(I.sortIndex=rt,t(h,I),A(c)===null&&I===A(h)&&(y?(U(k),k=-1):y=!0,ut(F,rt-ht))):(I.sortIndex=H,t(c,I),b||v||(b=!0,T||(T=!0,nt()))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var W=m;return function(){var rt=m;m=W;try{return I.apply(this,arguments)}finally{m=rt}}}}(Fg)),Fg}var fb;function h1(){return fb||(fb=1,Ug.exports=f1()),Ug.exports}var Eg={exports:{}},Ve={};/** * @license React * react-dom.production.js * @@ -38,15 +38,15 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var gb;function g1(){if(gb)return go;gb=1;var e=h1(),t=Hf(),A=W_();function n(r){var s="https://react.dev/errors/"+r;if(1H||(r.current=ht[H],ht[H]=null,H--)}function q(r,s){H++,ht[H]=r.current,r.current=s}var Y=X(null),ot=X(null),st=X(null),be=X(null);function qt(r,s){switch(q(st,s),q(ot,r),q(Y,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Mw(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Mw(s),r=Lw(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}tt(Y),q(Y,r)}function FA(){tt(Y),tt(ot),tt(st)}function da(r){r.memoizedState!==null&&q(be,r);var s=Y.current,l=Lw(s,r.type);s!==l&&(q(ot,r),q(Y,l))}function $r(r){ot.current===r&&(tt(Y),tt(ot)),be.current===r&&(tt(be),oo._currentValue=rt)}var ui=Object.prototype.hasOwnProperty,ci=e.unstable_scheduleCallback,ga=e.unstable_cancelCallback,dm=e.unstable_shouldYield,zF=e.unstable_requestPaint,an=e.unstable_now,VF=e.unstable_getCurrentPriorityLevel,gm=e.unstable_ImmediatePriority,pm=e.unstable_UserBlockingPriority,xl=e.unstable_NormalPriority,PF=e.unstable_LowPriority,Bm=e.unstable_IdlePriority,jF=e.log,GF=e.unstable_setDisableYieldValue,pa=null,fA=null;function fi(r){if(typeof jF=="function"&&GF(r),fA&&typeof fA.setStrictMode=="function")try{fA.setStrictMode(pa,r)}catch{}}var hA=Math.clz32?Math.clz32:YF,XF=Math.log,ZF=Math.LN2;function YF(r){return r>>>=0,r===0?32:31-(XF(r)/ZF|0)|0}var Fl=256,El=4194304;function nr(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Sl(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var d=0,p=r.suspendedLanes,w=r.pingedLanes;r=r.warmLanes;var Q=f&134217727;return Q!==0?(f=Q&~p,f!==0?d=nr(f):(w&=Q,w!==0?d=nr(w):l||(l=Q&~r,l!==0&&(d=nr(l))))):(Q=f&~p,Q!==0?d=nr(Q):w!==0?d=nr(w):l||(l=f&~r,l!==0&&(d=nr(l)))),d===0?0:s!==0&&s!==d&&(s&p)===0&&(p=d&-d,l=s&-s,p>=l||p===32&&(l&4194048)!==0)?s:d}function Ba(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function WF(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 mm(){var r=Fl;return Fl<<=1,(Fl&4194048)===0&&(Fl=256),r}function vm(){var r=El;return El<<=1,(El&62914560)===0&&(El=4194304),r}function hh(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function ma(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function $F(r,s,l,f,d,p){var w=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var Q=r.entanglements,S=r.expirationTimes,K=r.hiddenUpdates;for(l=w&~l;0H||(r.current=ht[H],ht[H]=null,H--)}function q(r,s){H++,ht[H]=r.current,r.current=s}var Y=X(null),ot=X(null),st=X(null),be=X(null);function qt(r,s){switch(q(st,s),q(ot,r),q(Y,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Mw(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Mw(s),r=Lw(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}tt(Y),q(Y,r)}function FA(){tt(Y),tt(ot),tt(st)}function da(r){r.memoizedState!==null&&q(be,r);var s=Y.current,l=Lw(s,r.type);s!==l&&(q(ot,r),q(Y,l))}function $r(r){ot.current===r&&(tt(Y),tt(ot)),be.current===r&&(tt(be),oo._currentValue=rt)}var ui=Object.prototype.hasOwnProperty,ci=e.unstable_scheduleCallback,ga=e.unstable_cancelCallback,dm=e.unstable_shouldYield,zF=e.unstable_requestPaint,an=e.unstable_now,VF=e.unstable_getCurrentPriorityLevel,gm=e.unstable_ImmediatePriority,pm=e.unstable_UserBlockingPriority,Ul=e.unstable_NormalPriority,PF=e.unstable_LowPriority,Bm=e.unstable_IdlePriority,jF=e.log,GF=e.unstable_setDisableYieldValue,pa=null,fA=null;function fi(r){if(typeof jF=="function"&&GF(r),fA&&typeof fA.setStrictMode=="function")try{fA.setStrictMode(pa,r)}catch{}}var hA=Math.clz32?Math.clz32:YF,XF=Math.log,ZF=Math.LN2;function YF(r){return r>>>=0,r===0?32:31-(XF(r)/ZF|0)|0}var Fl=256,El=4194304;function nr(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function Sl(r,s,l){var f=r.pendingLanes;if(f===0)return 0;var d=0,p=r.suspendedLanes,w=r.pingedLanes;r=r.warmLanes;var Q=f&134217727;return Q!==0?(f=Q&~p,f!==0?d=nr(f):(w&=Q,w!==0?d=nr(w):l||(l=Q&~r,l!==0&&(d=nr(l))))):(Q=f&~p,Q!==0?d=nr(Q):w!==0?d=nr(w):l||(l=f&~r,l!==0&&(d=nr(l)))),d===0?0:s!==0&&s!==d&&(s&p)===0&&(p=d&-d,l=s&-s,p>=l||p===32&&(l&4194048)!==0)?s:d}function Ba(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function WF(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+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 s+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 mm(){var r=Fl;return Fl<<=1,(Fl&4194048)===0&&(Fl=256),r}function vm(){var r=El;return El<<=1,(El&62914560)===0&&(El=4194304),r}function hh(r){for(var s=[],l=0;31>l;l++)s.push(r);return s}function ma(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function $F(r,s,l,f,d,p){var w=r.pendingLanes;r.pendingLanes=l,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=l,r.entangledLanes&=l,r.errorRecoveryDisabledLanes&=l,r.shellSuspendCounter=0;var Q=r.entanglements,S=r.expirationTimes,K=r.hiddenUpdates;for(l=w&~l;0)":-1d||S[f]!==K[d]){var j=` `+S[f].replace(" at new "," at ");return r.displayName&&j.includes("")&&(j=j.replace("",r.displayName)),j}while(1<=f&&0<=d);break}}}finally{vh=!1,Error.prepareStackTrace=l}return(l=r?r.displayName||r.name:"")?ns(l):""}function nE(r){switch(r.tag){case 26:case 27:case 5:return ns(r.type);case 16:return ns("Lazy");case 13:return ns("Suspense");case 19:return ns("SuspenseList");case 0:case 15:return wh(r.type,!1);case 11:return wh(r.type.render,!1);case 1:return wh(r.type,!0);case 31:return ns("Activity");default:return""}}function Em(r){try{var s="";do s+=nE(r),r=r.return;while(r);return s}catch(l){return` Error generating stack: `+l.message+` -`+l.stack}}function EA(r){switch(typeof r){case"bigint":case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Sm(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function iE(r){var s=Sm(r)?"checked":"value",l=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),f=""+r[s];if(!r.hasOwnProperty(s)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var d=l.get,p=l.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(w){f=""+w,p.call(this,w)}}),Object.defineProperty(r,s,{enumerable:l.enumerable}),{getValue:function(){return f},setValue:function(w){f=""+w},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function Tl(r){r._valueTracker||(r._valueTracker=iE(r))}function Hm(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var l=s.getValue(),f="";return r&&(f=Sm(r)?r.checked?"true":"false":r.value),r=f,r!==l?(s.setValue(r),!0):!1}function Dl(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var rE=/[\n"\\]/g;function SA(r){return r.replace(rE,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function bh(r,s,l,f,d,p,w,Q){r.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?r.type=w:r.removeAttribute("type"),s!=null?w==="number"?(s===0&&r.value===""||r.value!=s)&&(r.value=""+EA(s)):r.value!==""+EA(s)&&(r.value=""+EA(s)):w!=="submit"&&w!=="reset"||r.removeAttribute("value"),s!=null?yh(r,w,EA(s)):l!=null?yh(r,w,EA(l)):f!=null&&r.removeAttribute("value"),d==null&&p!=null&&(r.defaultChecked=!!p),d!=null&&(r.checked=d&&typeof d!="function"&&typeof d!="symbol"),Q!=null&&typeof Q!="function"&&typeof Q!="symbol"&&typeof Q!="boolean"?r.name=""+EA(Q):r.removeAttribute("name")}function Om(r,s,l,f,d,p,w,Q){if(p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(r.type=p),s!=null||l!=null){if(!(p!=="submit"&&p!=="reset"||s!=null))return;l=l!=null?""+EA(l):"",s=s!=null?""+EA(s):l,Q||s===r.value||(r.value=s),r.defaultValue=s}f=f??d,f=typeof f!="function"&&typeof f!="symbol"&&!!f,r.checked=Q?r.checked:!!f,r.defaultChecked=!!f,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(r.name=w)}function yh(r,s,l){s==="number"&&Dl(r.ownerDocument)===r||r.defaultValue===""+l||(r.defaultValue=""+l)}function is(r,s,l,f){if(r=r.options,s){s={};for(var d=0;d"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xh=!1;if(Fn)try{var ya={};Object.defineProperty(ya,"passive",{get:function(){xh=!0}}),window.addEventListener("test",ya,ya),window.removeEventListener("test",ya,ya)}catch{xh=!1}var di=null,Fh=null,Ll=null;function Nm(){if(Ll)return Ll;var r,s=Fh,l=s.length,f,d="value"in di?di.value:di.textContent,p=d.length;for(r=0;r=Qa),jm=" ",Gm=!1;function Xm(r,s){switch(r){case"keyup":return TE.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zm(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var os=!1;function ME(r,s){switch(r){case"compositionend":return Zm(s);case"keypress":return s.which!==32?null:(Gm=!0,jm);case"textInput":return r=s.data,r===jm&&Gm?null:r;default:return null}}function LE(r,s){if(os)return r==="compositionend"||!Th&&Xm(r,s)?(r=Nm(),Ll=Fh=di=null,os=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:l,offset:s-r};r=f}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=A0(l)}}function i0(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?i0(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function r0(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var s=Dl(r.document);s instanceof r.HTMLIFrameElement;){try{var l=typeof s.contentWindow.location.href=="string"}catch{l=!1}if(l)r=s.contentWindow;else break;s=Dl(r.document)}return s}function Lh(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}var PE=Fn&&"documentMode"in document&&11>=document.documentMode,ls=null,Ih=null,Ea=null,Rh=!1;function s0(r,s,l){var f=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Rh||ls==null||ls!==Dl(f)||(f=ls,"selectionStart"in f&&Lh(f)?f={start:f.selectionStart,end:f.selectionEnd}:(f=(f.ownerDocument&&f.ownerDocument.defaultView||window).getSelection(),f={anchorNode:f.anchorNode,anchorOffset:f.anchorOffset,focusNode:f.focusNode,focusOffset:f.focusOffset}),Ea&&Fa(Ea,f)||(Ea=f,f=Uu(Ih,"onSelect"),0>=w,d-=w,Sn=1<<32-hA(s)+d|l<p?p:8;var w=I.T,Q={};I.T=Q,Cd(r,!1,s,l);try{var S=d(),K=I.S;if(K!==null&&K(Q,S),S!==null&&typeof S=="object"&&typeof S.then=="function"){var j=qE(S,f);Pa(r,s,j,vA(r))}else Pa(r,s,f,vA(r))}catch($){Pa(r,s,{then:function(){},status:"rejected",reason:$},vA())}finally{W.p=p,I.T=w}}function iS(){}function bd(r,s,l,f){if(r.tag!==5)throw Error(n(476));var d=av(r).queue;sv(r,d,s,rt,l===null?iS:function(){return ov(r),l(f)})}function av(r){var s=r.memoizedState;if(s!==null)return s;s={memoizedState:rt,baseState:rt,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:rt},next:null};var l={};return s.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Dn,lastRenderedState:l},next:null},r.memoizedState=s,r=r.alternate,r!==null&&(r.memoizedState=s),s}function ov(r){var s=av(r).next.queue;Pa(r,s,{},vA())}function yd(){return ze(oo)}function lv(){return Ce().memoizedState}function uv(){return Ce().memoizedState}function rS(r){for(var s=r.return;s!==null;){switch(s.tag){case 24:case 3:var l=vA();r=Bi(l);var f=mi(s,r,l);f!==null&&(wA(f,s,l),Ra(f,s,l)),s={cache:Jh()},r.payload=s;return}s=s.return}}function sS(r,s,l){var f=vA();l={lane:f,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null},su(r)?fv(s,l):(l=zh(r,s,l,f),l!==null&&(wA(l,r,f),hv(l,s,f)))}function cv(r,s,l){var f=vA();Pa(r,s,l,f)}function Pa(r,s,l,f){var d={lane:f,revertLane:0,action:l,hasEagerState:!1,eagerState:null,next:null};if(su(r))fv(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var w=s.lastRenderedState,Q=p(w,l);if(d.hasEagerState=!0,d.eagerState=Q,dA(Q,w))return Vl(r,s,d,0),Yt===null&&zl(),!1}catch{}finally{}if(l=zh(r,s,d,f),l!==null)return wA(l,r,f),hv(l,s,f),!0}return!1}function Cd(r,s,l,f){if(f={lane:2,revertLane:eg(),action:f,hasEagerState:!1,eagerState:null,next:null},su(r)){if(s)throw Error(n(479))}else s=zh(r,l,f,2),s!==null&&wA(s,r,2)}function su(r){var s=r.alternate;return r===_t||s!==null&&s===_t}function fv(r,s){vs=tu=!0;var l=r.pending;l===null?s.next=s:(s.next=l.next,l.next=s),r.pending=s}function hv(r,s,l){if((l&4194048)!==0){var f=s.lanes;f&=r.pendingLanes,l|=f,s.lanes=l,bm(r,l)}}var au={readContext:ze,use:Au,useCallback:pe,useContext:pe,useEffect:pe,useImperativeHandle:pe,useLayoutEffect:pe,useInsertionEffect:pe,useMemo:pe,useReducer:pe,useRef:pe,useState:pe,useDebugValue:pe,useDeferredValue:pe,useTransition:pe,useSyncExternalStore:pe,useId:pe,useHostTransitionStatus:pe,useFormState:pe,useActionState:pe,useOptimistic:pe,useMemoCache:pe,useCacheRefresh:pe},dv={readContext:ze,use:Au,useCallback:function(r,s){return AA().memoizedState=[r,s===void 0?null:s],r},useContext:ze,useEffect:$0,useImperativeHandle:function(r,s,l){l=l!=null?l.concat([r]):null,ru(4194308,4,ev.bind(null,s,r),l)},useLayoutEffect:function(r,s){return ru(4194308,4,r,s)},useInsertionEffect:function(r,s){ru(4,2,r,s)},useMemo:function(r,s){var l=AA();s=s===void 0?null:s;var f=r();if(pr){fi(!0);try{r()}finally{fi(!1)}}return l.memoizedState=[f,s],f},useReducer:function(r,s,l){var f=AA();if(l!==void 0){var d=l(s);if(pr){fi(!0);try{l(s)}finally{fi(!1)}}}else d=s;return f.memoizedState=f.baseState=d,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:d},f.queue=r,r=r.dispatch=sS.bind(null,_t,r),[f.memoizedState,r]},useRef:function(r){var s=AA();return r={current:r},s.memoizedState=r},useState:function(r){r=Bd(r);var s=r.queue,l=cv.bind(null,_t,s);return s.dispatch=l,[r.memoizedState,l]},useDebugValue:vd,useDeferredValue:function(r,s){var l=AA();return wd(l,r,s)},useTransition:function(){var r=Bd(!1);return r=sv.bind(null,_t,r.queue,!0,!1),AA().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,s,l){var f=_t,d=AA();if(Lt){if(l===void 0)throw Error(n(407));l=l()}else{if(l=s(),Yt===null)throw Error(n(349));(Ht&124)!==0||M0(f,s,l)}d.memoizedState=l;var p={value:l,getSnapshot:s};return d.queue=p,$0(I0.bind(null,f,p,r),[r]),f.flags|=2048,bs(9,iu(),L0.bind(null,f,p,l,s),null),l},useId:function(){var r=AA(),s=Yt.identifierPrefix;if(Lt){var l=Hn,f=Sn;l=(f&~(1<<32-hA(f)-1)).toString(32)+l,s="«"+s+"R"+l,l=eu++,0mt?(He=pt,pt=null):He=pt.sibling;var Tt=z(L,pt,R[mt],Z);if(Tt===null){pt===null&&(pt=He);break}r&&pt&&Tt.alternate===null&&s(L,pt),D=p(Tt,D,mt),Qt===null?lt=Tt:Qt.sibling=Tt,Qt=Tt,pt=He}if(mt===R.length)return l(L,pt),Lt&&ur(L,mt),lt;if(pt===null){for(;mtmt?(He=pt,pt=null):He=pt.sibling;var Mi=z(L,pt,Tt.value,Z);if(Mi===null){pt===null&&(pt=He);break}r&&pt&&Mi.alternate===null&&s(L,pt),D=p(Mi,D,mt),Qt===null?lt=Mi:Qt.sibling=Mi,Qt=Mi,pt=He}if(Tt.done)return l(L,pt),Lt&&ur(L,mt),lt;if(pt===null){for(;!Tt.done;mt++,Tt=R.next())Tt=$(L,Tt.value,Z),Tt!==null&&(D=p(Tt,D,mt),Qt===null?lt=Tt:Qt.sibling=Tt,Qt=Tt);return Lt&&ur(L,mt),lt}for(pt=f(pt);!Tt.done;mt++,Tt=R.next())Tt=V(pt,L,mt,Tt.value,Z),Tt!==null&&(r&&Tt.alternate!==null&&pt.delete(Tt.key===null?mt:Tt.key),D=p(Tt,D,mt),Qt===null?lt=Tt:Qt.sibling=Tt,Qt=Tt);return r&&pt.forEach(function(o1){return s(L,o1)}),Lt&&ur(L,mt),lt}function Vt(L,D,R,Z){if(typeof R=="object"&&R!==null&&R.type===b&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case m:t:{for(var lt=R.key;D!==null;){if(D.key===lt){if(lt=R.type,lt===b){if(D.tag===7){l(L,D.sibling),Z=d(D,R.props.children),Z.return=L,L=Z;break t}}else if(D.elementType===lt||typeof lt=="object"&<!==null&<.$$typeof===P&&pv(lt)===D.type){l(L,D.sibling),Z=d(D,R.props),Ga(Z,R),Z.return=L,L=Z;break t}l(L,D);break}else s(L,D);D=D.sibling}R.type===b?(Z=or(R.props.children,L.mode,Z,R.key),Z.return=L,L=Z):(Z=jl(R.type,R.key,R.props,null,L.mode,Z),Ga(Z,R),Z.return=L,L=Z)}return w(L);case v:t:{for(lt=R.key;D!==null;){if(D.key===lt)if(D.tag===4&&D.stateNode.containerInfo===R.containerInfo&&D.stateNode.implementation===R.implementation){l(L,D.sibling),Z=d(D,R.children||[]),Z.return=L,L=Z;break t}else{l(L,D);break}else s(L,D);D=D.sibling}Z=jh(R,L.mode,Z),Z.return=L,L=Z}return w(L);case P:return lt=R._init,R=lt(R._payload),Vt(L,D,R,Z)}if(ut(R))return vt(L,D,R,Z);if(nt(R)){if(lt=nt(R),typeof lt!="function")throw Error(n(150));return R=lt.call(R),Bt(L,D,R,Z)}if(typeof R.then=="function")return Vt(L,D,ou(R),Z);if(R.$$typeof===E)return Vt(L,D,Yl(L,R),Z);lu(L,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,D!==null&&D.tag===6?(l(L,D.sibling),Z=d(D,R),Z.return=L,L=Z):(l(L,D),Z=Ph(R,L.mode,Z),Z.return=L,L=Z),w(L)):l(L,D)}return function(L,D,R,Z){try{ja=0;var lt=Vt(L,D,R,Z);return ys=null,lt}catch(pt){if(pt===La||pt===$l)throw pt;var Qt=gA(29,pt,null,L.mode);return Qt.lanes=Z,Qt.return=L,Qt}finally{}}}var Cs=Bv(!0),mv=Bv(!1),MA=X(null),ln=null;function wi(r){var s=r.alternate;q(Qe,Qe.current&1),q(MA,r),ln===null&&(s===null||ms.current!==null||s.memoizedState!==null)&&(ln=r)}function vv(r){if(r.tag===22){if(q(Qe,Qe.current),q(MA,r),ln===null){var s=r.alternate;s!==null&&s.memoizedState!==null&&(ln=r)}}else bi()}function bi(){q(Qe,Qe.current),q(MA,MA.current)}function Mn(r){tt(MA),ln===r&&(ln=null),tt(Qe)}var Qe=X(0);function uu(r){for(var s=r;s!==null;){if(s.tag===13){var l=s.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||hg(l)))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===r)break;for(;s.sibling===null;){if(s.return===null||s.return===r)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}function _d(r,s,l,f){s=r.memoizedState,l=l(f,s),l=l==null?s:g({},s,l),r.memoizedState=l,r.lanes===0&&(r.updateQueue.baseState=l)}var Qd={enqueueSetState:function(r,s,l){r=r._reactInternals;var f=vA(),d=Bi(f);d.payload=s,l!=null&&(d.callback=l),s=mi(r,d,f),s!==null&&(wA(s,r,f),Ra(s,r,f))},enqueueReplaceState:function(r,s,l){r=r._reactInternals;var f=vA(),d=Bi(f);d.tag=1,d.payload=s,l!=null&&(d.callback=l),s=mi(r,d,f),s!==null&&(wA(s,r,f),Ra(s,r,f))},enqueueForceUpdate:function(r,s){r=r._reactInternals;var l=vA(),f=Bi(l);f.tag=2,s!=null&&(f.callback=s),s=mi(r,f,l),s!==null&&(wA(s,r,l),Ra(s,r,l))}};function wv(r,s,l,f,d,p,w){return r=r.stateNode,typeof r.shouldComponentUpdate=="function"?r.shouldComponentUpdate(f,p,w):s.prototype&&s.prototype.isPureReactComponent?!Fa(l,f)||!Fa(d,p):!0}function bv(r,s,l,f){r=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(l,f),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(l,f),s.state!==r&&Qd.enqueueReplaceState(s,s.state,null)}function Br(r,s){var l=s;if("ref"in s){l={};for(var f in s)f!=="ref"&&(l[f]=s[f])}if(r=r.defaultProps){l===s&&(l=g({},l));for(var d in r)l[d]===void 0&&(l[d]=r[d])}return l}var cu=typeof reportError=="function"?reportError:function(r){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof r=="object"&&r!==null&&typeof r.message=="string"?String(r.message):String(r),error:r});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",r);return}console.error(r)};function yv(r){cu(r)}function Cv(r){console.error(r)}function _v(r){cu(r)}function fu(r,s){try{var l=r.onUncaughtError;l(s.value,{componentStack:s.stack})}catch(f){setTimeout(function(){throw f})}}function Qv(r,s,l){try{var f=r.onCaughtError;f(l.value,{componentStack:l.stack,errorBoundary:s.tag===1?s.stateNode:null})}catch(d){setTimeout(function(){throw d})}}function Ud(r,s,l){return l=Bi(l),l.tag=3,l.payload={element:null},l.callback=function(){fu(r,s)},l}function Uv(r){return r=Bi(r),r.tag=3,r}function xv(r,s,l,f){var d=l.type.getDerivedStateFromError;if(typeof d=="function"){var p=f.value;r.payload=function(){return d(p)},r.callback=function(){Qv(s,l,f)}}var w=l.stateNode;w!==null&&typeof w.componentDidCatch=="function"&&(r.callback=function(){Qv(s,l,f),typeof d!="function"&&(xi===null?xi=new Set([this]):xi.add(this));var Q=f.stack;this.componentDidCatch(f.value,{componentStack:Q!==null?Q:""})})}function oS(r,s,l,f,d){if(l.flags|=32768,f!==null&&typeof f=="object"&&typeof f.then=="function"){if(s=l.alternate,s!==null&&Ta(s,l,d,!0),l=MA.current,l!==null){switch(l.tag){case 13:return ln===null?Wd():l.alternate===null&&he===0&&(he=3),l.flags&=-257,l.flags|=65536,l.lanes=d,f===ed?l.flags|=16384:(s=l.updateQueue,s===null?l.updateQueue=new Set([f]):s.add(f),Jd(r,f,d)),!1;case 22:return l.flags|=65536,f===ed?l.flags|=16384:(s=l.updateQueue,s===null?(s={transitions:null,markerInstances:null,retryQueue:new Set([f])},l.updateQueue=s):(l=s.retryQueue,l===null?s.retryQueue=new Set([f]):l.add(f)),Jd(r,f,d)),!1}throw Error(n(435,l.tag))}return Jd(r,f,d),Wd(),!1}if(Lt)return s=MA.current,s!==null?((s.flags&65536)===0&&(s.flags|=256),s.flags|=65536,s.lanes=d,f!==Zh&&(r=Error(n(422),{cause:f}),Oa(HA(r,l)))):(f!==Zh&&(s=Error(n(423),{cause:f}),Oa(HA(s,l))),r=r.current.alternate,r.flags|=65536,d&=-d,r.lanes|=d,f=HA(f,l),d=Ud(r.stateNode,f,d),id(r,d),he!==4&&(he=2)),!1;var p=Error(n(520),{cause:f});if(p=HA(p,l),qa===null?qa=[p]:qa.push(p),he!==4&&(he=2),s===null)return!0;f=HA(f,l),l=s;do{switch(l.tag){case 3:return l.flags|=65536,r=d&-d,l.lanes|=r,r=Ud(l.stateNode,f,r),id(l,r),!1;case 1:if(s=l.type,p=l.stateNode,(l.flags&128)===0&&(typeof s.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(xi===null||!xi.has(p))))return l.flags|=65536,d&=-d,l.lanes|=d,d=Uv(d),xv(d,r,l,f),id(l,d),!1}l=l.return}while(l!==null);return!1}var Fv=Error(n(461)),Ee=!1;function Me(r,s,l,f){s.child=r===null?mv(s,null,l,f):Cs(s,r.child,l,f)}function Ev(r,s,l,f,d){l=l.render;var p=s.ref;if("ref"in f){var w={};for(var Q in f)Q!=="ref"&&(w[Q]=f[Q])}else w=f;return dr(s),f=ld(r,s,l,w,p,d),Q=ud(),r!==null&&!Ee?(cd(r,s,d),Ln(r,s,d)):(Lt&&Q&&Gh(s),s.flags|=1,Me(r,s,f,d),s.child)}function Sv(r,s,l,f,d){if(r===null){var p=l.type;return typeof p=="function"&&!Vh(p)&&p.defaultProps===void 0&&l.compare===null?(s.tag=15,s.type=p,Hv(r,s,p,f,d)):(r=jl(l.type,null,f,s,s.mode,d),r.ref=s.ref,r.return=s,s.child=r)}if(p=r.child,!Dd(r,d)){var w=p.memoizedProps;if(l=l.compare,l=l!==null?l:Fa,l(w,f)&&r.ref===s.ref)return Ln(r,s,d)}return s.flags|=1,r=En(p,f),r.ref=s.ref,r.return=s,s.child=r}function Hv(r,s,l,f,d){if(r!==null){var p=r.memoizedProps;if(Fa(p,f)&&r.ref===s.ref)if(Ee=!1,s.pendingProps=f=p,Dd(r,d))(r.flags&131072)!==0&&(Ee=!0);else return s.lanes=r.lanes,Ln(r,s,d)}return xd(r,s,l,f,d)}function Ov(r,s,l){var f=s.pendingProps,d=f.children,p=r!==null?r.memoizedState:null;if(f.mode==="hidden"){if((s.flags&128)!==0){if(f=p!==null?p.baseLanes|l:l,r!==null){for(d=s.child=r.child,p=0;d!==null;)p=p|d.lanes|d.childLanes,d=d.sibling;s.childLanes=p&~f}else s.childLanes=0,s.child=null;return Tv(r,s,f,l)}if((l&536870912)!==0)s.memoizedState={baseLanes:0,cachePool:null},r!==null&&Wl(s,p!==null?p.cachePool:null),p!==null?H0(s,p):sd(),vv(s);else return s.lanes=s.childLanes=536870912,Tv(r,s,p!==null?p.baseLanes|l:l,l)}else p!==null?(Wl(s,p.cachePool),H0(s,p),bi(),s.memoizedState=null):(r!==null&&Wl(s,null),sd(),bi());return Me(r,s,d,l),s.child}function Tv(r,s,l,f){var d=td();return d=d===null?null:{parent:_e._currentValue,pool:d},s.memoizedState={baseLanes:l,cachePool:d},r!==null&&Wl(s,null),sd(),vv(s),r!==null&&Ta(r,s,f,!0),null}function hu(r,s){var l=s.ref;if(l===null)r!==null&&r.ref!==null&&(s.flags|=4194816);else{if(typeof l!="function"&&typeof l!="object")throw Error(n(284));(r===null||r.ref!==l)&&(s.flags|=4194816)}}function xd(r,s,l,f,d){return dr(s),l=ld(r,s,l,f,void 0,d),f=ud(),r!==null&&!Ee?(cd(r,s,d),Ln(r,s,d)):(Lt&&f&&Gh(s),s.flags|=1,Me(r,s,l,d),s.child)}function Dv(r,s,l,f,d,p){return dr(s),s.updateQueue=null,l=T0(s,f,l,d),O0(r),f=ud(),r!==null&&!Ee?(cd(r,s,p),Ln(r,s,p)):(Lt&&f&&Gh(s),s.flags|=1,Me(r,s,l,p),s.child)}function Mv(r,s,l,f,d){if(dr(s),s.stateNode===null){var p=hs,w=l.contextType;typeof w=="object"&&w!==null&&(p=ze(w)),p=new l(f,p),s.memoizedState=p.state!==null&&p.state!==void 0?p.state:null,p.updater=Qd,s.stateNode=p,p._reactInternals=s,p=s.stateNode,p.props=f,p.state=s.memoizedState,p.refs={},Ad(s),w=l.contextType,p.context=typeof w=="object"&&w!==null?ze(w):hs,p.state=s.memoizedState,w=l.getDerivedStateFromProps,typeof w=="function"&&(_d(s,l,w,f),p.state=s.memoizedState),typeof l.getDerivedStateFromProps=="function"||typeof p.getSnapshotBeforeUpdate=="function"||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(w=p.state,typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount(),w!==p.state&&Qd.enqueueReplaceState(p,p.state,null),Ka(s,f,p,d),Na(),p.state=s.memoizedState),typeof p.componentDidMount=="function"&&(s.flags|=4194308),f=!0}else if(r===null){p=s.stateNode;var Q=s.memoizedProps,S=Br(l,Q);p.props=S;var K=p.context,j=l.contextType;w=hs,typeof j=="object"&&j!==null&&(w=ze(j));var $=l.getDerivedStateFromProps;j=typeof $=="function"||typeof p.getSnapshotBeforeUpdate=="function",Q=s.pendingProps!==Q,j||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(Q||K!==w)&&bv(s,p,f,w),pi=!1;var z=s.memoizedState;p.state=z,Ka(s,f,p,d),Na(),K=s.memoizedState,Q||z!==K||pi?(typeof $=="function"&&(_d(s,l,$,f),K=s.memoizedState),(S=pi||wv(s,l,S,f,z,K,w))?(j||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount()),typeof p.componentDidMount=="function"&&(s.flags|=4194308)):(typeof p.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=f,s.memoizedState=K),p.props=f,p.state=K,p.context=w,f=S):(typeof p.componentDidMount=="function"&&(s.flags|=4194308),f=!1)}else{p=s.stateNode,nd(r,s),w=s.memoizedProps,j=Br(l,w),p.props=j,$=s.pendingProps,z=p.context,K=l.contextType,S=hs,typeof K=="object"&&K!==null&&(S=ze(K)),Q=l.getDerivedStateFromProps,(K=typeof Q=="function"||typeof p.getSnapshotBeforeUpdate=="function")||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(w!==$||z!==S)&&bv(s,p,f,S),pi=!1,z=s.memoizedState,p.state=z,Ka(s,f,p,d),Na();var V=s.memoizedState;w!==$||z!==V||pi||r!==null&&r.dependencies!==null&&Zl(r.dependencies)?(typeof Q=="function"&&(_d(s,l,Q,f),V=s.memoizedState),(j=pi||wv(s,l,j,f,z,V,S)||r!==null&&r.dependencies!==null&&Zl(r.dependencies))?(K||typeof p.UNSAFE_componentWillUpdate!="function"&&typeof p.componentWillUpdate!="function"||(typeof p.componentWillUpdate=="function"&&p.componentWillUpdate(f,V,S),typeof p.UNSAFE_componentWillUpdate=="function"&&p.UNSAFE_componentWillUpdate(f,V,S)),typeof p.componentDidUpdate=="function"&&(s.flags|=4),typeof p.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof p.componentDidUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=1024),s.memoizedProps=f,s.memoizedState=V),p.props=f,p.state=V,p.context=S,f=j):(typeof p.componentDidUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||w===r.memoizedProps&&z===r.memoizedState||(s.flags|=1024),f=!1)}return p=f,hu(r,s),f=(s.flags&128)!==0,p||f?(p=s.stateNode,l=f&&typeof l.getDerivedStateFromError!="function"?null:p.render(),s.flags|=1,r!==null&&f?(s.child=Cs(s,r.child,null,d),s.child=Cs(s,null,l,d)):Me(r,s,l,d),s.memoizedState=p.state,r=s.child):r=Ln(r,s,d),r}function Lv(r,s,l,f){return Ha(),s.flags|=256,Me(r,s,l,f),s.child}var Fd={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ed(r){return{baseLanes:r,cachePool:C0()}}function Sd(r,s,l){return r=r!==null?r.childLanes&~l:0,s&&(r|=LA),r}function Iv(r,s,l){var f=s.pendingProps,d=!1,p=(s.flags&128)!==0,w;if((w=p)||(w=r!==null&&r.memoizedState===null?!1:(Qe.current&2)!==0),w&&(d=!0,s.flags&=-129),w=(s.flags&32)!==0,s.flags&=-33,r===null){if(Lt){if(d?wi(s):bi(),Lt){var Q=fe,S;if(S=Q){t:{for(S=Q,Q=on;S.nodeType!==8;){if(!Q){Q=null;break t}if(S=ZA(S.nextSibling),S===null){Q=null;break t}}Q=S}Q!==null?(s.memoizedState={dehydrated:Q,treeContext:lr!==null?{id:Sn,overflow:Hn}:null,retryLane:536870912,hydrationErrors:null},S=gA(18,null,null,0),S.stateNode=Q,S.return=s,s.child=S,We=s,fe=null,S=!0):S=!1}S||fr(s)}if(Q=s.memoizedState,Q!==null&&(Q=Q.dehydrated,Q!==null))return hg(Q)?s.lanes=32:s.lanes=536870912,null;Mn(s)}return Q=f.children,f=f.fallback,d?(bi(),d=s.mode,Q=du({mode:"hidden",children:Q},d),f=or(f,d,l,null),Q.return=s,f.return=s,Q.sibling=f,s.child=Q,d=s.child,d.memoizedState=Ed(l),d.childLanes=Sd(r,w,l),s.memoizedState=Fd,f):(wi(s),Hd(s,Q))}if(S=r.memoizedState,S!==null&&(Q=S.dehydrated,Q!==null)){if(p)s.flags&256?(wi(s),s.flags&=-257,s=Od(r,s,l)):s.memoizedState!==null?(bi(),s.child=r.child,s.flags|=128,s=null):(bi(),d=f.fallback,Q=s.mode,f=du({mode:"visible",children:f.children},Q),d=or(d,Q,l,null),d.flags|=2,f.return=s,d.return=s,f.sibling=d,s.child=f,Cs(s,r.child,null,l),f=s.child,f.memoizedState=Ed(l),f.childLanes=Sd(r,w,l),s.memoizedState=Fd,s=d);else if(wi(s),hg(Q)){if(w=Q.nextSibling&&Q.nextSibling.dataset,w)var K=w.dgst;w=K,f=Error(n(419)),f.stack="",f.digest=w,Oa({value:f,source:null,stack:null}),s=Od(r,s,l)}else if(Ee||Ta(r,s,l,!1),w=(l&r.childLanes)!==0,Ee||w){if(w=Yt,w!==null&&(f=l&-l,f=(f&42)!==0?1:dh(f),f=(f&(w.suspendedLanes|l))!==0?0:f,f!==0&&f!==S.retryLane))throw S.retryLane=f,fs(r,f),wA(w,r,f),Fv;Q.data==="$?"||Wd(),s=Od(r,s,l)}else Q.data==="$?"?(s.flags|=192,s.child=r.child,s=null):(r=S.treeContext,fe=ZA(Q.nextSibling),We=s,Lt=!0,cr=null,on=!1,r!==null&&(TA[DA++]=Sn,TA[DA++]=Hn,TA[DA++]=lr,Sn=r.id,Hn=r.overflow,lr=s),s=Hd(s,f.children),s.flags|=4096);return s}return d?(bi(),d=f.fallback,Q=s.mode,S=r.child,K=S.sibling,f=En(S,{mode:"hidden",children:f.children}),f.subtreeFlags=S.subtreeFlags&65011712,K!==null?d=En(K,d):(d=or(d,Q,l,null),d.flags|=2),d.return=s,f.return=s,f.sibling=d,s.child=f,f=d,d=s.child,Q=r.child.memoizedState,Q===null?Q=Ed(l):(S=Q.cachePool,S!==null?(K=_e._currentValue,S=S.parent!==K?{parent:K,pool:K}:S):S=C0(),Q={baseLanes:Q.baseLanes|l,cachePool:S}),d.memoizedState=Q,d.childLanes=Sd(r,w,l),s.memoizedState=Fd,f):(wi(s),l=r.child,r=l.sibling,l=En(l,{mode:"visible",children:f.children}),l.return=s,l.sibling=null,r!==null&&(w=s.deletions,w===null?(s.deletions=[r],s.flags|=16):w.push(r)),s.child=l,s.memoizedState=null,l)}function Hd(r,s){return s=du({mode:"visible",children:s},r.mode),s.return=r,r.child=s}function du(r,s){return r=gA(22,r,null,s),r.lanes=0,r.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},r}function Od(r,s,l){return Cs(s,r.child,null,l),r=Hd(s,s.pendingProps.children),r.flags|=2,s.memoizedState=null,r}function Rv(r,s,l){r.lanes|=s;var f=r.alternate;f!==null&&(f.lanes|=s),Wh(r.return,s,l)}function Td(r,s,l,f,d){var p=r.memoizedState;p===null?r.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:f,tail:l,tailMode:d}:(p.isBackwards=s,p.rendering=null,p.renderingStartTime=0,p.last=f,p.tail=l,p.tailMode=d)}function Nv(r,s,l){var f=s.pendingProps,d=f.revealOrder,p=f.tail;if(Me(r,s,f.children,l),f=Qe.current,(f&2)!==0)f=f&1|2,s.flags|=128;else{if(r!==null&&(r.flags&128)!==0)t:for(r=s.child;r!==null;){if(r.tag===13)r.memoizedState!==null&&Rv(r,l,s);else if(r.tag===19)Rv(r,l,s);else if(r.child!==null){r.child.return=r,r=r.child;continue}if(r===s)break t;for(;r.sibling===null;){if(r.return===null||r.return===s)break t;r=r.return}r.sibling.return=r.return,r=r.sibling}f&=1}switch(q(Qe,f),d){case"forwards":for(l=s.child,d=null;l!==null;)r=l.alternate,r!==null&&uu(r)===null&&(d=l),l=l.sibling;l=d,l===null?(d=s.child,s.child=null):(d=l.sibling,l.sibling=null),Td(s,!1,d,l,p);break;case"backwards":for(l=null,d=s.child,s.child=null;d!==null;){if(r=d.alternate,r!==null&&uu(r)===null){s.child=d;break}r=d.sibling,d.sibling=l,l=d,d=r}Td(s,!0,l,null,p);break;case"together":Td(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Ln(r,s,l){if(r!==null&&(s.dependencies=r.dependencies),Ui|=s.lanes,(l&s.childLanes)===0)if(r!==null){if(Ta(r,s,l,!1),(l&s.childLanes)===0)return null}else return null;if(r!==null&&s.child!==r.child)throw Error(n(153));if(s.child!==null){for(r=s.child,l=En(r,r.pendingProps),s.child=l,l.return=s;r.sibling!==null;)r=r.sibling,l=l.sibling=En(r,r.pendingProps),l.return=s;l.sibling=null}return s.child}function Dd(r,s){return(r.lanes&s)!==0?!0:(r=r.dependencies,!!(r!==null&&Zl(r)))}function lS(r,s,l){switch(s.tag){case 3:qt(s,s.stateNode.containerInfo),gi(s,_e,r.memoizedState.cache),Ha();break;case 27:case 5:da(s);break;case 4:qt(s,s.stateNode.containerInfo);break;case 10:gi(s,s.type,s.memoizedProps.value);break;case 13:var f=s.memoizedState;if(f!==null)return f.dehydrated!==null?(wi(s),s.flags|=128,null):(l&s.child.childLanes)!==0?Iv(r,s,l):(wi(s),r=Ln(r,s,l),r!==null?r.sibling:null);wi(s);break;case 19:var d=(r.flags&128)!==0;if(f=(l&s.childLanes)!==0,f||(Ta(r,s,l,!1),f=(l&s.childLanes)!==0),d){if(f)return Nv(r,s,l);s.flags|=128}if(d=s.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),q(Qe,Qe.current),f)break;return null;case 22:case 23:return s.lanes=0,Ov(r,s,l);case 24:gi(s,_e,r.memoizedState.cache)}return Ln(r,s,l)}function Kv(r,s,l){if(r!==null)if(r.memoizedProps!==s.pendingProps)Ee=!0;else{if(!Dd(r,l)&&(s.flags&128)===0)return Ee=!1,lS(r,s,l);Ee=(r.flags&131072)!==0}else Ee=!1,Lt&&(s.flags&1048576)!==0&&p0(s,Xl,s.index);switch(s.lanes=0,s.tag){case 16:t:{r=s.pendingProps;var f=s.elementType,d=f._init;if(f=d(f._payload),s.type=f,typeof f=="function")Vh(f)?(r=Br(f,r),s.tag=1,s=Mv(null,s,f,r,l)):(s.tag=0,s=xd(null,s,f,r,l));else{if(f!=null){if(d=f.$$typeof,d===O){s.tag=11,s=Ev(null,s,f,r,l);break t}else if(d===k){s.tag=14,s=Sv(null,s,f,r,l);break t}}throw s=bt(f)||f,Error(n(306,s,""))}}return s;case 0:return xd(r,s,s.type,s.pendingProps,l);case 1:return f=s.type,d=Br(f,s.pendingProps),Mv(r,s,f,d,l);case 3:t:{if(qt(s,s.stateNode.containerInfo),r===null)throw Error(n(387));f=s.pendingProps;var p=s.memoizedState;d=p.element,nd(r,s),Ka(s,f,null,l);var w=s.memoizedState;if(f=w.cache,gi(s,_e,f),f!==p.cache&&$h(s,[_e],l,!0),Na(),f=w.element,p.isDehydrated)if(p={element:f,isDehydrated:!1,cache:w.cache},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){s=Lv(r,s,f,l);break t}else if(f!==d){d=HA(Error(n(424)),s),Oa(d),s=Lv(r,s,f,l);break t}else{switch(r=s.stateNode.containerInfo,r.nodeType){case 9:r=r.body;break;default:r=r.nodeName==="HTML"?r.ownerDocument.body:r}for(fe=ZA(r.firstChild),We=s,Lt=!0,cr=null,on=!0,l=mv(s,null,f,l),s.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling}else{if(Ha(),f===d){s=Ln(r,s,l);break t}Me(r,s,f,l)}s=s.child}return s;case 26:return hu(r,s),r===null?(l=Pw(s.type,null,s.pendingProps,null))?s.memoizedState=l:Lt||(l=s.type,r=s.pendingProps,f=Fu(st.current).createElement(l),f[ke]=s,f[tA]=r,Ie(f,l,r),Fe(f),s.stateNode=f):s.memoizedState=Pw(s.type,r.memoizedProps,s.pendingProps,r.memoizedState),null;case 27:return da(s),r===null&&Lt&&(f=s.stateNode=kw(s.type,s.pendingProps,st.current),We=s,on=!0,d=fe,Si(s.type)?(dg=d,fe=ZA(f.firstChild)):fe=d),Me(r,s,s.pendingProps.children,l),hu(r,s),r===null&&(s.flags|=4194304),s.child;case 5:return r===null&&Lt&&((d=f=fe)&&(f=IS(f,s.type,s.pendingProps,on),f!==null?(s.stateNode=f,We=s,fe=ZA(f.firstChild),on=!1,d=!0):d=!1),d||fr(s)),da(s),d=s.type,p=s.pendingProps,w=r!==null?r.memoizedProps:null,f=p.children,ug(d,p)?f=null:w!==null&&ug(d,w)&&(s.flags|=32),s.memoizedState!==null&&(d=ld(r,s,eS,null,null,l),oo._currentValue=d),hu(r,s),Me(r,s,f,l),s.child;case 6:return r===null&&Lt&&((r=l=fe)&&(l=RS(l,s.pendingProps,on),l!==null?(s.stateNode=l,We=s,fe=null,r=!0):r=!1),r||fr(s)),null;case 13:return Iv(r,s,l);case 4:return qt(s,s.stateNode.containerInfo),f=s.pendingProps,r===null?s.child=Cs(s,null,f,l):Me(r,s,f,l),s.child;case 11:return Ev(r,s,s.type,s.pendingProps,l);case 7:return Me(r,s,s.pendingProps,l),s.child;case 8:return Me(r,s,s.pendingProps.children,l),s.child;case 12:return Me(r,s,s.pendingProps.children,l),s.child;case 10:return f=s.pendingProps,gi(s,s.type,f.value),Me(r,s,f.children,l),s.child;case 9:return d=s.type._context,f=s.pendingProps.children,dr(s),d=ze(d),f=f(d),s.flags|=1,Me(r,s,f,l),s.child;case 14:return Sv(r,s,s.type,s.pendingProps,l);case 15:return Hv(r,s,s.type,s.pendingProps,l);case 19:return Nv(r,s,l);case 31:return f=s.pendingProps,l=s.mode,f={mode:f.mode,children:f.children},r===null?(l=du(f,l),l.ref=s.ref,s.child=l,l.return=s,s=l):(l=En(r.child,f),l.ref=s.ref,s.child=l,l.return=s,s=l),s;case 22:return Ov(r,s,l);case 24:return dr(s),f=ze(_e),r===null?(d=td(),d===null&&(d=Yt,p=Jh(),d.pooledCache=p,p.refCount++,p!==null&&(d.pooledCacheLanes|=l),d=p),s.memoizedState={parent:f,cache:d},Ad(s),gi(s,_e,d)):((r.lanes&l)!==0&&(nd(r,s),Ka(s,null,null,l),Na()),d=r.memoizedState,p=s.memoizedState,d.parent!==f?(d={parent:f,cache:f},s.memoizedState=d,s.lanes===0&&(s.memoizedState=s.updateQueue.baseState=d),gi(s,_e,f)):(f=p.cache,gi(s,_e,f),f!==d.cache&&$h(s,[_e],l,!0))),Me(r,s,s.pendingProps.children,l),s.child;case 29:throw s.pendingProps}throw Error(n(156,s.tag))}function In(r){r.flags|=4}function kv(r,s){if(s.type!=="stylesheet"||(s.state.loading&4)!==0)r.flags&=-16777217;else if(r.flags|=16777216,!Yw(s)){if(s=MA.current,s!==null&&((Ht&4194048)===Ht?ln!==null:(Ht&62914560)!==Ht&&(Ht&536870912)===0||s!==ln))throw Ia=ed,_0;r.flags|=8192}}function gu(r,s){s!==null&&(r.flags|=4),r.flags&16384&&(s=r.tag!==22?vm():536870912,r.lanes|=s,xs|=s)}function Xa(r,s){if(!Lt)switch(r.tailMode){case"hidden":s=r.tail;for(var l=null;s!==null;)s.alternate!==null&&(l=s),s=s.sibling;l===null?r.tail=null:l.sibling=null;break;case"collapsed":l=r.tail;for(var f=null;l!==null;)l.alternate!==null&&(f=l),l=l.sibling;f===null?s||r.tail===null?r.tail=null:r.tail.sibling=null:f.sibling=null}}function le(r){var s=r.alternate!==null&&r.alternate.child===r.child,l=0,f=0;if(s)for(var d=r.child;d!==null;)l|=d.lanes|d.childLanes,f|=d.subtreeFlags&65011712,f|=d.flags&65011712,d.return=r,d=d.sibling;else for(d=r.child;d!==null;)l|=d.lanes|d.childLanes,f|=d.subtreeFlags,f|=d.flags,d.return=r,d=d.sibling;return r.subtreeFlags|=f,r.childLanes=l,s}function uS(r,s,l){var f=s.pendingProps;switch(Xh(s),s.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return le(s),null;case 1:return le(s),null;case 3:return l=s.stateNode,f=null,r!==null&&(f=r.memoizedState.cache),s.memoizedState.cache!==f&&(s.flags|=2048),Tn(_e),FA(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),(r===null||r.child===null)&&(Sa(s)?In(s):r===null||r.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,v0())),le(s),null;case 26:return l=s.memoizedState,r===null?(In(s),l!==null?(le(s),kv(s,l)):(le(s),s.flags&=-16777217)):l?l!==r.memoizedState?(In(s),le(s),kv(s,l)):(le(s),s.flags&=-16777217):(r.memoizedProps!==f&&In(s),le(s),s.flags&=-16777217),null;case 27:$r(s),l=st.current;var d=s.type;if(r!==null&&s.stateNode!=null)r.memoizedProps!==f&&In(s);else{if(!f){if(s.stateNode===null)throw Error(n(166));return le(s),null}r=Y.current,Sa(s)?B0(s):(r=kw(d,f,l),s.stateNode=r,In(s))}return le(s),null;case 5:if($r(s),l=s.type,r!==null&&s.stateNode!=null)r.memoizedProps!==f&&In(s);else{if(!f){if(s.stateNode===null)throw Error(n(166));return le(s),null}if(r=Y.current,Sa(s))B0(s);else{switch(d=Fu(st.current),r){case 1:r=d.createElementNS("http://www.w3.org/2000/svg",l);break;case 2:r=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;default:switch(l){case"svg":r=d.createElementNS("http://www.w3.org/2000/svg",l);break;case"math":r=d.createElementNS("http://www.w3.org/1998/Math/MathML",l);break;case"script":r=d.createElement("div"),r.innerHTML=" + diff --git a/vite-app/src/components/ChartExport.tsx b/vite-app/src/components/ChartExport.tsx index 8435e7c5..755f7201 100644 --- a/vite-app/src/components/ChartExport.tsx +++ b/vite-app/src/components/ChartExport.tsx @@ -93,10 +93,11 @@ const ChartExport = >({ return { label: colLabel, data, - backgroundColor: color, + backgroundColor: selectedChartType === "line" ? "transparent" : color, borderColor: color, - borderWidth: 1, - type: selectedChartType as "bar" | "line", + borderWidth: selectedChartType === "line" ? 2 : 1, + fill: selectedChartType === "line" ? false : true, + tension: selectedChartType === "line" ? 0.1 : undefined, }; }); @@ -153,6 +154,21 @@ const ChartExport = >({ ); } + // Additional safety check for line charts + if ( + selectedChartType === "line" && + chartData.datasets.some((dataset) => dataset.data.length === 0) + ) { + return ( +
+
+ Line charts require data in all datasets. Please check your pivot + configuration. +
+
+ ); + } + const chartOptions = { responsive: true, maintainAspectRatio: false, @@ -195,6 +211,18 @@ const ChartExport = >({ }, } : undefined, + elements: + selectedChartType === "line" + ? { + line: { + tension: 0.1, + }, + point: { + radius: 3, + hoverRadius: 5, + }, + } + : undefined, }; const exportChartAsImage = useCallback(async () => { @@ -262,10 +290,7 @@ const ChartExport = >({ change the exported image dimensions.
-
+