From eb6d6e6ce5ee3031dab3a7cf9faef5277bfca87e Mon Sep 17 00:00:00 2001 From: Martin Ziegler Date: Sat, 6 Dec 2025 15:24:48 +0100 Subject: [PATCH] Refactoring AMS module --- backend/app/services/bambu_mqtt.py | 68 +++++---- backend/app/services/printer_manager.py | 4 + frontend/public/icons/ams-settings.svg | 5 +- frontend/public/icons/dual-extruder-left.png | Bin 16187 -> 13160 bytes frontend/public/icons/dual-extruder-right.png | Bin 19716 -> 13039 bytes .../public/icons/dual-extruder-right_sav.png | Bin 0 -> 19716 bytes frontend/public/icons/extruder-left-right.png | Bin 6234 -> 5775 bytes frontend/public/icons/hotend.svg | 8 +- frontend/public/icons/speed.svg | 7 +- frontend/public/icons/ventilation.svg | 8 +- .../src/components/control/AMSSectionDual.tsx | 144 ++++++++++++++---- .../components/control/useAmsOperations.ts | 17 ++- frontend/vite.config.ts | 5 + .../{index-BHvBWY5n.js => index-DbzgStXX.js} | 82 +++++----- static/icons/ams-settings.svg | 5 +- static/icons/dual-extruder-left.png | Bin 16187 -> 13160 bytes static/icons/dual-extruder-right.png | Bin 19716 -> 13039 bytes static/icons/dual-extruder-right_sav.png | Bin 0 -> 19716 bytes static/icons/extruder-left-right.png | Bin 6234 -> 5775 bytes static/icons/hotend.svg | 8 +- static/icons/speed.svg | 7 +- static/icons/ventilation.svg | 8 +- static/index.html | 2 +- 23 files changed, 254 insertions(+), 124 deletions(-) create mode 100644 frontend/public/icons/dual-extruder-right_sav.png rename static/assets/{index-BHvBWY5n.js => index-DbzgStXX.js} (86%) create mode 100644 static/icons/dual-extruder-right_sav.png diff --git a/backend/app/services/bambu_mqtt.py b/backend/app/services/bambu_mqtt.py index ca2c6d8b6..b62da6814 100644 --- a/backend/app/services/bambu_mqtt.py +++ b/backend/app/services/bambu_mqtt.py @@ -753,10 +753,13 @@ class BambuMQTTClient: if ams_id is not None and info is not None: try: info_val = int(info) if isinstance(info, str) else info - # Extract bit 8 for extruder assignment (0=right, 1=left) - extruder_id = (info_val >> 8) & 0x1 + # Extract bit 8 for extruder assignment + # Bit 8 = 0 means LEFT extruder (id 1), bit 8 = 1 means RIGHT extruder (id 0) + # So we invert: extruder_id = 1 - bit8 + bit8 = (info_val >> 8) & 0x1 + extruder_id = 1 - bit8 # 0=right, 1=left ams_extruder_map[str(ams_id)] = extruder_id - logger.debug(f"[{self.serial_number}] AMS {ams_id} info={info_val} -> extruder {extruder_id}") + logger.debug(f"[{self.serial_number}] AMS {ams_id} info={info_val} (bit8={bit8}) -> extruder {extruder_id}") except (ValueError, TypeError): pass if ams_extruder_map: @@ -2394,8 +2397,7 @@ class BambuMQTTClient: Args: tray_id: Global tray ID (0-15 for AMS slots, or 254 for external spool) - extruder_id: Extruder ID for dual-nozzle printers (0=right, 1=left). - If None, defaults to 0. + extruder_id: Unused - kept for API compatibility Returns: True if command was sent, False otherwise @@ -2404,11 +2406,7 @@ class BambuMQTTClient: logger.warning(f"[{self.serial_number}] Cannot load filament: not connected") return False - # Default to extruder 0 if not specified - curr_nozzle = extruder_id if extruder_id is not None else 0 - - # Convert global tray_id to ams_id and slot_id - # External spool is special case (254) + # Calculate ams_id and slot_id for logging if tray_id == 254: ams_id = 255 # External spool slot_id = 254 @@ -2416,24 +2414,26 @@ class BambuMQTTClient: ams_id = tray_id // 4 # AMS unit (0, 1, 2, 3...) slot_id = tray_id % 4 # Slot within AMS (0, 1, 2, 3) - # Build command with ams_id and slot_id format (per HA-Bambulab integration) - # Note: curr_nozzle is NOT included - ha-bambulab doesn't use it and it may cause issues + # Command format from BambuStudio traffic capture: + # - No extruder_id field + # - curr_temp and tar_temp are -1 (not 0) + self._sequence_id += 1 command = { "print": { "command": "ams_change_filament", - "target": tray_id, # Global tray ID (ams_id * 4 + slot_id) + "sequence_id": str(self._sequence_id), "ams_id": ams_id, "slot_id": slot_id, - "curr_temp": 220, - "tar_temp": 220, - "sequence_id": "0" + "target": tray_id, + "curr_temp": -1, + "tar_temp": -1 } } command_json = json.dumps(command) logger.info(f"[{self.serial_number}] Publishing ams_change_filament command: {command_json}") self._client.publish(self.topic_publish, command_json) - logger.info(f"[{self.serial_number}] Loading filament from AMS {ams_id} slot {slot_id} (global tray {tray_id}) to extruder {curr_nozzle}") + logger.info(f"[{self.serial_number}] Loading filament from tray {tray_id} (AMS {ams_id} slot {slot_id})") # Track this load request for H2D dual-nozzle disambiguation # H2D reports only slot number (0-3) in tray_now, so we use our tracked value @@ -2457,32 +2457,38 @@ class BambuMQTTClient: tray_now = self.state.tray_now logger.info(f"[{self.serial_number}] Unload requested, tray_now={tray_now}") - # Determine the ams_id from tray_now (if valid tray is loaded) - # From BambuStudio source: unload requires target=255 AND slot_id=255 - # plus the ams_id of the source AMS unit - if tray_now is not None and tray_now < 254: - ams_id = tray_now // 4 + # Determine source ams_id for the unload command + if tray_now == 255 or tray_now == 254: + ams_id = 255 # No filament or external spool else: - ams_id = 0 # Default to AMS 0 if no tray loaded + ams_id = tray_now // 4 # Source AMS - # Build unload command using BambuStudio's "new protocol" - # Key: Both target=255 AND slot_id=255 are required for unload + # Command format from BambuStudio traffic capture: + # - No extruder_id field + # - For UNLOAD: curr_temp and tar_temp are the actual nozzle temp (e.g., 210) + # - slot_id=255 and target=255 for unload + # Get current nozzle temperature for the unload command + nozzle_temp = int(self.state.temperatures.get("nozzle", 210)) + if nozzle_temp < 180: + nozzle_temp = 210 # Default to PLA temp if nozzle is cold + + self._sequence_id += 1 command = { "print": { "command": "ams_change_filament", - "sequence_id": "0", - "target": 255, # 255 = unload - "slot_id": 255, # 255 = unload (new protocol) + "sequence_id": str(self._sequence_id), "ams_id": ams_id, - "curr_temp": 220, - "tar_temp": 220 + "slot_id": 255, # 255 = unload marker + "target": 255, # 255 = unload destination + "curr_temp": nozzle_temp, + "tar_temp": nozzle_temp } } command_json = json.dumps(command) logger.info(f"[{self.serial_number}] Publishing ams_change_filament (unload) command: {command_json}") self._client.publish(self.topic_publish, command_json) - logger.info(f"[{self.serial_number}] Unloading filament from AMS {ams_id}") + logger.info(f"[{self.serial_number}] Unloading filament (tray_now was {tray_now})") # Clear tracked load request since we're unloading self._last_load_tray_id = None diff --git a/backend/app/services/printer_manager.py b/backend/app/services/printer_manager.py index a1d66fccd..c0d344709 100644 --- a/backend/app/services/printer_manager.py +++ b/backend/app/services/printer_manager.py @@ -283,6 +283,10 @@ def printer_state_to_dict(state: PrinterState, printer_id: int | None = None) -> {"code": e.code, "attr": e.attr, "module": e.module, "severity": e.severity} for e in (state.hms_errors or []) ], + # AMS status for filament change tracking + "ams_status_main": state.ams_status_main, + "ams_status_sub": state.ams_status_sub, + "tray_now": state.tray_now, } # Add cover URL if there's an active print and printer_id is provided if printer_id and state.state == "RUNNING" and state.gcode_file: diff --git a/frontend/public/icons/ams-settings.svg b/frontend/public/icons/ams-settings.svg index 8c4ac4736..41836434c 100644 --- a/frontend/public/icons/ams-settings.svg +++ b/frontend/public/icons/ams-settings.svg @@ -1,2 +1,3 @@ - - + + + diff --git a/frontend/public/icons/dual-extruder-left.png b/frontend/public/icons/dual-extruder-left.png index b4fcee9345ad3f3916652308732e96458183eab3..b379921e9a02252c25af015412c9573106b996ec 100644 GIT binary patch literal 13160 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 Z`2WrkSL~`sx5xkh002ovPDHLkV1jtL-C+O# diff --git a/frontend/public/icons/dual-extruder-right.png b/frontend/public/icons/dual-extruder-right.png index 52f02eb4be5a4e2dfbd1ffd9cfd57a71b84609ec..749ba0bd23c541afdc4f0b52f3fbb1efa414369e 100644 GIT binary patch delta 13010 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 UekyF^egFUf07*qoM6N<$f?x$o5&!@I literal 19716 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 XIwv*OIt`Mk00000NkvXXu0mjfTCnx8 diff --git a/frontend/public/icons/dual-extruder-right_sav.png b/frontend/public/icons/dual-extruder-right_sav.png new file mode 100644 index 0000000000000000000000000000000000000000..52f02eb4be5a4e2dfbd1ffd9cfd57a71b84609ec GIT binary patch literal 19716 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 XIwv*OIt`Mk00000NkvXXu0mjfTCnx8 literal 0 HcmV?d00001 diff --git a/frontend/public/icons/extruder-left-right.png b/frontend/public/icons/extruder-left-right.png index 276368be70a747a17ab569ed980705c345d48c3a..ef54986a2cd542202581e8737e396f73f214d866 100644 GIT binary patch delta 5688 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�wM3+ezGupMta@g6L%uPvsq+U83urX9++T657B7uku=aaI;w|e8aW^2U) z_Se~Ab*t?yJJzIIudt_i8{!7u5f>3Pi9?3)M0_c+XXL7&0ih1Wwt7)IR9o_+tpB{> zRY5e<&a2cNbgK49tAEOt%-q1fbx^%Whc&--QL}qTxVT z+9GY3kLG1`ew;0;O2g?PSu8F}BHW={iyMzZ3J{c@`h+w@8YDS8RuzU%bb0EE8fJTJ zvlUTx3~c{<1`Ayen#K7NsR=}}U`!H`c1*A-xju8<%B#pP&wqR+3s?;7thZH-&vMPC zYD{9I7h_xXCH7xWzr=!ysXuwj`wCdK!Km!SO3GZ+I!E`092Zs4x)bin;G;U?OHwEz zw=`~sW#e*c;q(DM$D zvhqOZA$fe$Bhm;3**ir9u3bBJDXp?B%lP?>-$Qgw2jV=oDgWcfG3mz&g{iB)OM2tI zva@xkjDO4}9MsMs@G^>zNa<7xU$u^!d4~oEq2NVq zwkC87g7(mNL^R~P!5F5C6Ig8b&wP%>Hjj`jCo<%O-570_gK)F^JNCo9YZZ?HhV?sl z?sV|W?RZB8LwL=hAt(vuWQ+dki}FVD=Q0W7s(*{I&MGAuipqmsN9E~F2ekniyDDwX zjNci#as3z+bgxTLiJ?=)Vc^CcIpU9sb|8%ZVDpo*ySZ2Xd%9o7vUpuunAT_&ukFNm z+ib5(^_zA5Nf1+xJbAZvQbdA53ts_>+lO`UT`hkrU(b!mmCTR~=7yy$+%CIfTjVyl zvVW@Nw9-*W3-Q@$%OK;Uy2UohFbdU-pah{cw52k2k09vW-F%1i;g5Xg7qeIr;rl!+ zT1o`b=C*J!Oj56%48!VtDu#Iu1#U0_iq@Iqa}fvfNa^F@ z!F6t#Kt6#oCF3wL;yC5R_G37R z;HU91tb~pqe^vI;%PgZLb)hlv1X1RIe&n#yvWs5b75=4 z_pde=>q^MsGs>@pAK`k|dPnhHreidiOmaVi9Q4=c4h4d`Qt^qkUWGT;@h!_%YH`&9 z1a#kOG+Irw3ZGoK4tDX`go6d_XSrwB!grd$V7A~eC?}N(&Iht$vI-i=-@5SK#p)o4 z5;}UvN1Og{GHvGz&VL6^G0Yu9cOlDa@M##nMqwB&e@ieWSY@h_nUN8g2>8RV^%zZ# z?m{x7u*#QWxxErpnd!!tx*^*e&#Xy`x4Q^XK5~penE8}^WfyitdYGICw>jeR3|;%kzgu;j#WOR2bDx8 zHmf8B6=OeAGkj3<}4BpSzbqJ_TLbSV`|DN$$bE?l@MS1w=ncJAB)G>7GWHf10{X~Y+v)_SVp>4#=3a4}D^L0;r8uGSsB)aaW>qoZ#-OpbynN;dDC(%A_OdU8j&^{s&S|82IpwU(xvEdQo?@;%k-(7@ zy{`h_w_+9e6v-cA?#0x^BbYBfcOjg(#@h7`?V_K#osfPPShyw!4=02Ze(i?W=bwLG zcJ1B`n$`GtUWIRcruMCfPbn}>nCW?RL%WM0Dt|mg#Z~ujR4IyXBCrKT(cy@DORRM+ zgVP!J?7v6uzWZ(#R!lgW8F=f>x4h&CUYCfXtqetXO-lFy9PLWT&=5YiZGf*si%Q@Z zD;aWwV9GS8^Pdhq5cnQuv;jSN%fsh9H_AkHf{>sTOehn4f+q)m_`|>0_reP=C|xxf z7k@8|#+-j`=&L~5)W@ehMg6p39BFdmTSBG7w|81}9U7K;kagtDp46{1j=wVZHC0Zm z2QM_B6-&zb?b$$)0s~53Wk!760&)0!$tB2YeE#defddaIzR#M+FRxy`YVxCj1xF4t z^k5vP+NW{enL<%mDo3VaoE+@N7~+WqD}RRw08HcHcX^^vRpA!M`$4#ry8RPquI0ev@)!die0+HOotd zLqmh`J@f_^(%qXjmQXu8W`R1E)W#E#!I#uK=jb3570|y?KXP - + + + + + + diff --git a/frontend/public/icons/speed.svg b/frontend/public/icons/speed.svg index 5af93bce8..f8e7e6863 100644 --- a/frontend/public/icons/speed.svg +++ b/frontend/public/icons/speed.svg @@ -1 +1,6 @@ - \ No newline at end of file + + + + + + diff --git a/frontend/public/icons/ventilation.svg b/frontend/public/icons/ventilation.svg index 4b6a734e4..f7f31e089 100644 --- a/frontend/public/icons/ventilation.svg +++ b/frontend/public/icons/ventilation.svg @@ -1,4 +1,6 @@ - - - + + + + + diff --git a/frontend/src/components/control/AMSSectionDual.tsx b/frontend/src/components/control/AMSSectionDual.tsx index 86b9cc491..e343d6f13 100644 --- a/frontend/src/components/control/AMSSectionDual.tsx +++ b/frontend/src/components/control/AMSSectionDual.tsx @@ -151,6 +151,7 @@ interface FilamentChangeCardProps { targetTrayId: number | null; // Target tray we're trying to load (null for unload) onComplete: () => void; // Called when operation completes onRetry?: () => void; + operationInitiated: boolean; // True if we initiated the operation (hook is in LOADING/UNLOADING state) } interface StepInfo { @@ -159,7 +160,7 @@ interface StepInfo { stepNumber: number; } -function FilamentChangeCard({ isLoading, amsStatusMain, amsStatusSub, trayNow, targetTrayId, onComplete, onRetry }: FilamentChangeCardProps) { +function FilamentChangeCard({ isLoading, amsStatusMain, amsStatusSub, trayNow, targetTrayId, onComplete, onRetry, operationInitiated }: FilamentChangeCardProps) { const [isCollapsed, setIsCollapsed] = useState(false); const [isCompleted, setIsCompleted] = useState(false); const prevAmsStatusRef = useRef(amsStatusMain); @@ -167,31 +168,47 @@ function FilamentChangeCard({ isLoading, amsStatusMain, amsStatusSub, trayNow, t const completionTimeoutRef = useRef(null); // ams_status_sub values for filament change steps - // Observed progression: 5 -> 6 -> 2 -> 7 -> 0 + // Observed from H2D printer logs: + // Load progression: 9 (feeding start) -> 5 (prep) -> 6 (pushing) -> 2 (heating) -> 6 (more pushing) -> 7 (purging) + // Unload progression: 9 (start) -> 2 (heating) -> 3 (retract prep) -> 4 (retract) // 2: Heating nozzle - // 3: AMS feeding filament to hub + // 3: AMS feeding filament to hub / retract prep // 4: Retraction / extruder pulling filament // 5: Initial filament push / preparation // 6: Load verification / extruder pushing // 7: Purging + // 9: Feeding start / operation initiated const SUB_HEATING = 2; const SUB_FEEDING = 3; const SUB_RETRACT = 4; const SUB_PUSH_PREP = 5; const SUB_PUSH = 6; const SUB_PURGE = 7; + const SUB_FEEDING_START = 9; // Log status updates for debugging useEffect(() => { console.log(`[FilamentChangeCard] Status: main=${amsStatusMain}, sub=${amsStatusSub}, trayNow=${trayNow}, isLoading=${isLoading}`); }, [amsStatusMain, amsStatusSub, trayNow, isLoading]); + // Track component mount time for minimum operation duration check + const mountTimeRef = useRef(Date.now()); + // Detect completion via ams_status_main transition from 1 (filament_change) to 0 (idle) // Also use tray_now as a secondary indicator useEffect(() => { const wasActive = prevAmsStatusRef.current === 1; const isNowIdle = amsStatusMain === 0; const trayChanged = trayNow !== prevTrayNowRef.current; + const elapsed = Date.now() - mountTimeRef.current; + + // Don't detect completion in the first 3 seconds - operation can't complete that fast + // This prevents false positives from initial state or rapid updates + if (elapsed < 3000) { + prevAmsStatusRef.current = amsStatusMain; + prevTrayNowRef.current = trayNow; + return; + } // Primary completion detection: ams_status_main transitions from 1 to 0 if (wasActive && isNowIdle) { @@ -239,23 +256,29 @@ function FilamentChangeCard({ isLoading, amsStatusMain, amsStatusSub, trayNow, t const getStepFromAmsStatusSub = (): number => { if (isCompleted) return 99; // All done - // If not in filament change mode, not started - if (amsStatusMain !== 1) return 0; + // If not in filament change mode yet, check if we initiated the operation + // This handles the delay between sending the command and MQTT status updating + if (amsStatusMain !== 1) { + // If we initiated the operation, show step 1 as in progress + if (operationInitiated) return 1; + return 0; // Not started + } if (isLoading) { // Loading sequence: Push -> Heat -> Purge (matches Bambu Studio/OrcaSlicer display) - // Observed progression: 5 -> 6 -> 2 -> 7 - // Map sub status to steps: 5/6 -> step 1, 2 -> step 2, 7 -> step 3 - if (amsStatusSub === SUB_PUSH_PREP || amsStatusSub === SUB_PUSH || amsStatusSub === SUB_FEEDING) return 1; // Step 1: Pushing + // Observed progression: 9 (start) -> 5 (prep) -> 6 (push) -> 2 (heat) -> 6 (push) -> 7 (purge) + // Map sub status to steps: 9/5/6 -> step 1, 2 -> step 2, 7 -> step 3 + if (amsStatusSub === SUB_FEEDING_START || amsStatusSub === SUB_PUSH_PREP || amsStatusSub === SUB_PUSH || amsStatusSub === SUB_FEEDING) return 1; // Step 1: Pushing if (amsStatusSub === SUB_HEATING) return 2; // Step 2: Heating if (amsStatusSub === SUB_PURGE) return 3; // Step 3: Purging // Default to step 1 when in filament_change mode return 1; } else { // Unloading sequence: Heat -> Retract - // Map sub status to steps: 2 -> step 1, 4 -> step 2 - if (amsStatusSub === SUB_HEATING) return 1; // Step 1: Heating - if (amsStatusSub === SUB_RETRACT) return 2; // Step 2: Retracting + // Observed progression: 9 (start) -> 2 (heat) -> 3 (retract prep) -> 4 (retract) + // Map sub status to steps: 9/2 -> step 1, 3/4 -> step 2 + if (amsStatusSub === SUB_FEEDING_START || amsStatusSub === SUB_HEATING) return 1; // Step 1: Heating + if (amsStatusSub === SUB_FEEDING || amsStatusSub === SUB_RETRACT) return 2; // Step 2: Retracting // Default to step 1 when in filament_change mode return 1; } @@ -899,14 +922,13 @@ export function AMSSectionDual({ printerId, printerModel, status, nozzleCount }: // Distribute AMS units based on ams_extruder_map // Each AMS unit's info field tells us which extruder it's connected to: - // UI layout: Left panel shows extruder 0 AMS units, Right panel shows extruder 1 AMS units - // Note: Internal nozzle IDs are different (T0=right physical nozzle, T1=left physical nozzle) + // Bambu convention: extruder_id 0 = RIGHT physical nozzle, extruder_id 1 = LEFT physical nozzle + // UI layout: Left panel shows extruder 1 (left nozzle), Right panel shows extruder 0 (right nozzle) const leftUnits = (() => { if (!isDualNozzle) return amsUnits; if (Object.keys(amsExtruderMap).length > 0) { - // Filter AMS units assigned to extruder 0 (left UI panel) - // JSON keys are strings, so convert unit.id to string - return amsUnits.filter(unit => amsExtruderMap[String(unit.id)] === 0); + // Filter AMS units assigned to extruder 1 (LEFT physical nozzle -> left UI panel) + return amsUnits.filter(unit => amsExtruderMap[String(unit.id)] === 1); } // Fallback: even indices go to left return amsUnits.filter((_, i) => i % 2 === 0); @@ -915,9 +937,8 @@ export function AMSSectionDual({ printerId, printerModel, status, nozzleCount }: const rightUnits = (() => { if (!isDualNozzle) return []; if (Object.keys(amsExtruderMap).length > 0) { - // Filter AMS units assigned to extruder 1 (right UI panel) - // JSON keys are strings, so convert unit.id to string - return amsUnits.filter(unit => amsExtruderMap[String(unit.id)] === 1); + // Filter AMS units assigned to extruder 0 (RIGHT physical nozzle -> right UI panel) + return amsUnits.filter(unit => amsExtruderMap[String(unit.id)] === 0); } // Fallback: odd indices go to right return amsUnits.filter((_, i) => i % 2 === 1); @@ -1033,12 +1054,66 @@ export function AMSSectionDual({ printerId, printerModel, status, nozzleCount }: }; // Show FilamentChangeCard when operation is in progress (LOADING or UNLOADING state) + // Use debounced visibility to prevent flickering when ams_status_main bounces const isMqttFilamentChangeActive = amsStatusMain === 1; - const showFilamentChangeCard = amsOps.state === 'LOADING' || amsOps.state === 'UNLOADING' || isMqttFilamentChangeActive; + const shouldShowCard = amsOps.state === 'LOADING' || amsOps.state === 'UNLOADING' || isMqttFilamentChangeActive; - // Get the loaded tray info for wire coloring - // Wire coloring should show the path from the currently loaded filament to the extruder - // But ONLY if the currently displayed AMS panel is the one with the loaded filament + // Debounce hiding the card - keep it visible for at least 2 seconds after conditions become false + const [showFilamentChangeCard, setShowFilamentChangeCard] = useState(false); + const hideTimeoutRef = useRef(null); + + useEffect(() => { + if (shouldShowCard) { + // Clear any pending hide timeout + if (hideTimeoutRef.current) { + clearTimeout(hideTimeoutRef.current); + hideTimeoutRef.current = null; + } + setShowFilamentChangeCard(true); + } else if (showFilamentChangeCard) { + // Delay hiding the card by 1.5 seconds to prevent flicker + if (!hideTimeoutRef.current) { + hideTimeoutRef.current = setTimeout(() => { + setShowFilamentChangeCard(false); + hideTimeoutRef.current = null; + }, 1500); + } + } + + return () => { + if (hideTimeoutRef.current) { + clearTimeout(hideTimeoutRef.current); + } + }; + }, [shouldShowCard, showFilamentChangeCard]); + + // Determine if it's a load operation for the FilamentChangeCard + // Simple logic: use state if active, otherwise use lastOperationType + // - LOADING state -> definitely load + // - UNLOADING state -> definitely unload + // - IDLE state -> use lastOperationType to remember what we initiated + // - Fallback: if lastOperationType is null and MQTT shows activity, infer from tray_now + // (tray_now=255 means unloading, any other value means loading) + const isFilamentLoadOperation = (() => { + if (amsOps.state === 'LOADING') return true; + if (amsOps.state === 'UNLOADING') return false; + if (amsOps.lastOperationType === 'load') return true; + if (amsOps.lastOperationType === 'unload') return false; + // Fallback: infer from tray_now when MQTT shows filament change active + // If tray has a valid filament (not 255), we're loading + return trayNow !== 255; + })(); + + // Debug logging for card type determination + useEffect(() => { + if (showFilamentChangeCard) { + console.log(`[AMSSectionDual] Card type: isFilamentLoadOperation=${isFilamentLoadOperation}, state=${amsOps.state}, lastOperationType=${amsOps.lastOperationType}, trayNow=${trayNow}`); + } + }, [showFilamentChangeCard, isFilamentLoadOperation, amsOps.state, amsOps.lastOperationType, trayNow]); + + // Get the loaded tray info for wire coloring and extruder inlet + // Wire coloring: only show path if the currently displayed AMS panel has the loaded filament + // Extruder inlet: ALWAYS show the loaded filament color regardless of which AMS is displayed const getLoadedTrayInfo = (): { leftActiveSlot: number | null; rightActiveSlot: number | null; @@ -1060,31 +1135,33 @@ export function AMSSectionDual({ printerId, printerModel, status, nozzleCount }: const color = tray?.tray_color ?? null; // Determine if this AMS is on left or right UI panel - // UI layout: extruder 0 = left panel, extruder 1 = right panel + // Bambu convention: extruder 0 = RIGHT physical nozzle, extruder 1 = LEFT physical nozzle + // UI layout: left panel shows extruder 1 (left nozzle), right panel shows extruder 0 (right nozzle) const extruderId = amsExtruderMap[String(unit.id)]; // Check if this AMS unit is the one currently displayed in the panel const currentLeftUnit = leftUnits[leftAmsIndex]; const currentRightUnit = rightUnits[rightAmsIndex]; - if (extruderId === 0) { - // Left UI panel (extruder 0) - leftUnits filters for amsExtruderMap === 0 - // Only show colored wiring if the currently displayed AMS unit is the one with loaded filament + if (extruderId === 1) { + // Left UI panel (extruder 1 = LEFT physical nozzle) - leftUnits filters for amsExtruderMap === 1 + // Wire path: only show if the currently displayed AMS unit is the one with loaded filament + // Extruder inlet: ALWAYS show the loaded filament color const isDisplayed = currentLeftUnit?.id === unit.id; return { - leftActiveSlot: isDisplayed ? slotIndex : null, + leftActiveSlot: isDisplayed ? slotIndex : null, // Wire path only when AMS is displayed rightActiveSlot: null, - leftFilamentColor: isDisplayed ? color : null, // Hide color if different AMS is selected + leftFilamentColor: color, // Extruder inlet always shows loaded color rightFilamentColor: null }; } else { - // Right UI panel (extruder 1) - rightUnits filters for amsExtruderMap === 1 + // Right UI panel (extruder 0 = RIGHT physical nozzle) - rightUnits filters for amsExtruderMap === 0 const isDisplayed = currentRightUnit?.id === unit.id; return { leftActiveSlot: null, - rightActiveSlot: isDisplayed ? slotIndex : null, + rightActiveSlot: isDisplayed ? slotIndex : null, // Wire path only when AMS is displayed leftFilamentColor: null, - rightFilamentColor: isDisplayed ? color : null // Hide color if different AMS is selected + rightFilamentColor: color // Extruder inlet always shows loaded color }; } } @@ -1211,12 +1288,13 @@ export function AMSSectionDual({ printerId, printerModel, status, nozzleCount }: {/* Filament Change Progress Card - appears during load/unload operations */} {showFilamentChangeCard && ( )} diff --git a/frontend/src/components/control/useAmsOperations.ts b/frontend/src/components/control/useAmsOperations.ts index 1af17a614..460fffbec 100644 --- a/frontend/src/components/control/useAmsOperations.ts +++ b/frontend/src/components/control/useAmsOperations.ts @@ -67,6 +67,9 @@ interface UseAmsOperationsReturn { // For FilamentChangeCard - which type of operation isLoadOperation: boolean; loadTargetTrayId: number | null; + // Last initiated operation type - persists after state reset + // Used to determine card type when MQTT shows change but our state is IDLE + lastOperationType: 'load' | 'unload' | null; // Mutation error states (for UI feedback) loadError: Error | null; @@ -88,6 +91,10 @@ export function useAmsOperations({ }: UseAmsOperationsProps): UseAmsOperationsReturn { const [state, setState] = useState('IDLE'); const [context, setContext] = useState(null); + // Track the last operation type (load vs unload) - persists after state reset + // This helps show correct card type when MQTT shows filament change but our state is IDLE + // Using state instead of ref so changes trigger re-renders in consuming components + const [lastOperationType, setLastOperationType] = useState<'load' | 'unload' | null>(null); // Track previous values for transition detection const prevAmsStatusMainRef = useRef(amsStatusMain); @@ -210,6 +217,7 @@ export function useAmsOperations({ const startTime = Date.now(); setState('LOADING'); setContext({ loadTargetTrayId: trayId, startTime }); + setLastOperationType('load'); // Remember this was a load operation // Set timeout timeoutRef.current = setTimeout(() => { @@ -231,6 +239,7 @@ export function useAmsOperations({ const startTime = Date.now(); setState('UNLOADING'); setContext({ startTime }); + setLastOperationType('unload'); // Remember this was an unload operation // Set timeout timeoutRef.current = setTimeout(() => { @@ -306,11 +315,14 @@ export function useAmsOperations({ }, [state, amsStatusMain, reset]); // Secondary completion detection for LOAD: tray_now matches target + // Wait at least 5 seconds to ensure the filament actually reached the nozzle + // (tray_now can be updated before the physical load is complete) useEffect(() => { if (state !== 'LOADING' || !context?.loadTargetTrayId) return; - if (trayNow === context.loadTargetTrayId) { - console.log(`[useAmsOperations] Load complete: tray_now=${trayNow} matches target`); + const elapsed = context?.startTime ? Date.now() - context.startTime : 0; + if (trayNow === context.loadTargetTrayId && elapsed > 5000) { + console.log(`[useAmsOperations] Load complete: tray_now=${trayNow} matches target (${elapsed}ms elapsed)`); reset(); } }, [state, context, trayNow, reset]); @@ -357,6 +369,7 @@ export function useAmsOperations({ isRefreshingSlot, isLoadOperation, loadTargetTrayId, + lastOperationType, loadError: loadMutation.error, unloadError: unloadMutation.error, refreshError: refreshMutation.error, diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 99571f409..c3d9a9c6f 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -10,6 +10,11 @@ export default defineConfig({ }, server: { proxy: { + '/api/v1/ws': { + target: 'http://localhost:8000', + ws: true, + changeOrigin: true, + }, '/api': { target: 'http://localhost:8000', changeOrigin: true, diff --git a/static/assets/index-BHvBWY5n.js b/static/assets/index-DbzgStXX.js similarity index 86% rename from static/assets/index-BHvBWY5n.js rename to static/assets/index-DbzgStXX.js index f608710ce..af69ec9ff 100644 --- a/static/assets/index-BHvBWY5n.js +++ b/static/assets/index-DbzgStXX.js @@ -1,14 +1,14 @@ -function ane(t,e){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(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 r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();var Nb=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Js(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var AA={exports:{}},Ng={};var Z4;function sne(){if(Z4)return Ng;Z4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(r,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:r,key:s,ref:i!==void 0?i:null,props:a}}return Ng.Fragment=e,Ng.jsx=n,Ng.jsxs=n,Ng}var Q4;function one(){return Q4||(Q4=1,AA.exports=sne()),AA.exports}var h=one(),TA={exports:{}},Kt={};var J4;function lne(){if(J4)return Kt;J4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),g=Symbol.iterator;function m($){return $===null||typeof $!="object"?null:($=g&&$[g]||$["@@iterator"],typeof $=="function"?$:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x($,X,ae){this.props=$,this.context=X,this.refs=b,this.updater=ae||y}x.prototype.isReactComponent={},x.prototype.setState=function($,X){if(typeof $!="object"&&typeof $!="function"&&$!=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,$,X,"setState")},x.prototype.forceUpdate=function($){this.updater.enqueueForceUpdate(this,$,"forceUpdate")};function M(){}M.prototype=x.prototype;function w($,X,ae){this.props=$,this.context=X,this.refs=b,this.updater=ae||y}var A=w.prototype=new M;A.constructor=w,v(A,x.prototype),A.isPureReactComponent=!0;var T=Array.isArray;function R(){}var N={H:null,A:null,T:null,S:null},j=Object.prototype.hasOwnProperty;function C($,X,ae){var ce=ae.ref;return{$$typeof:t,type:$,key:X,ref:ce!==void 0?ce:null,props:ae}}function k($,X){return C($.type,X,$.props)}function U($){return typeof $=="object"&&$!==null&&$.$$typeof===t}function I($){var X={"=":"=0",":":"=2"};return"$"+$.replace(/[=:]/g,function(ae){return X[ae]})}var H=/\/+/g;function O($,X){return typeof $=="object"&&$!==null&&$.key!=null?I(""+$.key):X.toString(36)}function B($){switch($.status){case"fulfilled":return $.value;case"rejected":throw $.reason;default:switch(typeof $.status=="string"?$.then(R,R):($.status="pending",$.then(function(X){$.status==="pending"&&($.status="fulfilled",$.value=X)},function(X){$.status==="pending"&&($.status="rejected",$.reason=X)})),$.status){case"fulfilled":return $.value;case"rejected":throw $.reason}}throw $}function V($,X,ae,ce,xe){var te=typeof $;(te==="undefined"||te==="boolean")&&($=null);var ve=!1;if($===null)ve=!0;else switch(te){case"bigint":case"string":case"number":ve=!0;break;case"object":switch($.$$typeof){case t:case e:ve=!0;break;case u:return ve=$._init,V(ve($._payload),X,ae,ce,xe)}}if(ve)return xe=xe($),ve=ce===""?"."+O($,0):ce,T(xe)?(ae="",ve!=null&&(ae=ve.replace(H,"$&/")+"/"),V(xe,X,ae,"",function(me){return me})):xe!=null&&(U(xe)&&(xe=k(xe,ae+(xe.key==null||$&&$.key===xe.key?"":(""+xe.key).replace(H,"$&/")+"/")+ve)),X.push(xe)),1;ve=0;var De=ce===""?".":ce+":";if(T($))for(var he=0;he<$.length;he++)ce=$[he],te=De+O(ce,he),ve+=V(ce,X,ae,te,xe);else if(he=m($),typeof he=="function")for($=he.call($),he=0;!(ce=$.next()).done;)ce=ce.value,te=De+O(ce,he++),ve+=V(ce,X,ae,te,xe);else if(te==="object"){if(typeof $.then=="function")return V(B($),X,ae,ce,xe);throw X=String($),Error("Objects are not valid as a React child (found: "+(X==="[object Object]"?"object with keys {"+Object.keys($).join(", ")+"}":X)+"). If you meant to render a collection of children, use an array instead.")}return ve}function G($,X,ae){if($==null)return $;var ce=[],xe=0;return V($,ce,"","",function(te){return X.call(ae,te,xe++)}),ce}function K($){if($._status===-1){var X=$._result;X=X(),X.then(function(ae){($._status===0||$._status===-1)&&($._status=1,$._result=ae)},function(ae){($._status===0||$._status===-1)&&($._status=2,$._result=ae)}),$._status===-1&&($._status=0,$._result=X)}if($._status===1)return $._result.default;throw $._result}var Y=typeof reportError=="function"?reportError:function($){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var X=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof $=="object"&&$!==null&&typeof $.message=="string"?String($.message):String($),error:$});if(!window.dispatchEvent(X))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",$);return}console.error($)},oe={map:G,forEach:function($,X,ae){G($,function(){X.apply(this,arguments)},ae)},count:function($){var X=0;return G($,function(){X++}),X},toArray:function($){return G($,function(X){return X})||[]},only:function($){if(!U($))throw Error("React.Children.only expected to receive a single React element child.");return $}};return Kt.Activity=f,Kt.Children=oe,Kt.Component=x,Kt.Fragment=n,Kt.Profiler=i,Kt.PureComponent=w,Kt.StrictMode=r,Kt.Suspense=l,Kt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=N,Kt.__COMPILER_RUNTIME={__proto__:null,c:function($){return N.H.useMemoCache($)}},Kt.cache=function($){return function(){return $.apply(null,arguments)}},Kt.cacheSignal=function(){return null},Kt.cloneElement=function($,X,ae){if($==null)throw Error("The argument must be a React element, but you passed "+$+".");var ce=v({},$.props),xe=$.key;if(X!=null)for(te in X.key!==void 0&&(xe=""+X.key),X)!j.call(X,te)||te==="key"||te==="__self"||te==="__source"||te==="ref"&&X.ref===void 0||(ce[te]=X[te]);var te=arguments.length-2;if(te===1)ce.children=ae;else if(1>>1,oe=V[Y];if(0>>1;Y<$;){var X=2*(Y+1)-1,ae=V[X],ce=X+1,xe=V[ce];if(0>i(ae,K))cei(xe,ae)?(V[Y]=xe,V[ce]=K,Y=ce):(V[Y]=ae,V[X]=K,Y=X);else if(cei(xe,K))V[Y]=xe,V[ce]=K,Y=ce;else break e}}return G}function i(V,G){var K=V.sortIndex-G.sortIndex;return K!==0?K:V.id-G.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],c=[],u=1,f=null,g=3,m=!1,y=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function A(V){for(var G=n(c);G!==null;){if(G.callback===null)r(c);else if(G.startTime<=V)r(c),G.sortIndex=G.expirationTime,e(l,G);else break;G=n(c)}}function T(V){if(v=!1,A(V),!y)if(n(l)!==null)y=!0,R||(R=!0,I());else{var G=n(c);G!==null&&B(T,G.startTime-V)}}var R=!1,N=-1,j=5,C=-1;function k(){return b?!0:!(t.unstable_now()-CV&&k());){var Y=f.callback;if(typeof Y=="function"){f.callback=null,g=f.priorityLevel;var oe=Y(f.expirationTime<=V);if(V=t.unstable_now(),typeof oe=="function"){f.callback=oe,A(V),G=!0;break t}f===n(l)&&r(l),A(V)}else r(l);f=n(l)}if(f!==null)G=!0;else{var $=n(c);$!==null&&B(T,$.startTime-V),G=!1}}break e}finally{f=null,g=K,m=!1}G=void 0}}finally{G?I():R=!1}}}var I;if(typeof w=="function")I=function(){w(U)};else if(typeof MessageChannel<"u"){var H=new MessageChannel,O=H.port2;H.port1.onmessage=U,I=function(){O.postMessage(null)}}else I=function(){x(U,0)};function B(V,G){N=x(function(){V(t.unstable_now())},G)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(V){V.callback=null},t.unstable_forceFrameRate=function(V){0>V||125Y?(V.sortIndex=K,e(c,V),n(l)===null&&V===n(c)&&(v?(M(N),N=-1):v=!0,B(T,K-Y))):(V.sortIndex=oe,e(l,V),y||m||(y=!0,R||(R=!0,I()))),V},t.unstable_shouldYield=k,t.unstable_wrapCallback=function(V){var G=g;return function(){var K=g;g=G;try{return V.apply(this,arguments)}finally{g=K}}}})(RA)),RA}var nU;function dne(){return nU||(nU=1,NA.exports=une()),NA.exports}var PA={exports:{}},Xi={};var rU;function fne(){if(rU)return Xi;rU=1;var t=xm();function e(l){var c="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),PA.exports=fne(),PA.exports}var aU;function hne(){if(aU)return Rg;aU=1;var t=dne(),e=xm(),n=bG();function r(d){var p="https://react.dev/errors/"+d;if(1oe||(d.current=Y[oe],Y[oe]=null,oe--)}function ae(d,p){oe++,Y[oe]=d.current,d.current=p}var ce=$(null),xe=$(null),te=$(null),ve=$(null);function De(d,p){switch(ae(te,p),ae(xe,d),ae(ce,null),p.nodeType){case 9:case 11:d=(d=p.documentElement)&&(d=d.namespaceURI)?y4(d):0;break;default:if(d=p.tagName,p=p.namespaceURI)p=y4(p),d=_4(p,d);else switch(d){case"svg":d=1;break;case"math":d=2;break;default:d=0}}X(ce),ae(ce,d)}function he(){X(ce),X(xe),X(te)}function me(d){d.memoizedState!==null&&ae(ve,d);var p=ce.current,_=_4(p,d.type);p!==_&&(ae(xe,d),ae(ce,_))}function we(d){xe.current===d&&(X(ce),X(xe)),ve.current===d&&(X(ve),Eg._currentValue=K)}var se,st;function z(d){if(se===void 0)try{throw Error()}catch(_){var p=_.stack.trim().match(/\n( *(at )?)/);se=p&&p[1]||"",st=-1<_.stack.indexOf(` +function ane(t,e){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(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 r(i){if(i.ep)return;i.ep=!0;const a=n(i);fetch(i.href,a)}})();var Nb=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Js(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var AA={exports:{}},Ng={};var Z4;function sne(){if(Z4)return Ng;Z4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(r,i,a){var s=null;if(a!==void 0&&(s=""+a),i.key!==void 0&&(s=""+i.key),"key"in i){a={};for(var o in i)o!=="key"&&(a[o]=i[o])}else a=i;return i=a.ref,{$$typeof:t,type:r,key:s,ref:i!==void 0?i:null,props:a}}return Ng.Fragment=e,Ng.jsx=n,Ng.jsxs=n,Ng}var Q4;function one(){return Q4||(Q4=1,AA.exports=sne()),AA.exports}var h=one(),TA={exports:{}},Kt={};var J4;function lne(){if(J4)return Kt;J4=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),u=Symbol.for("react.lazy"),f=Symbol.for("react.activity"),g=Symbol.iterator;function m(V){return V===null||typeof V!="object"?null:(V=g&&V[g]||V["@@iterator"],typeof V=="function"?V:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function x(V,X,ae){this.props=V,this.context=X,this.refs=b,this.updater=ae||y}x.prototype.isReactComponent={},x.prototype.setState=function(V,X){if(typeof V!="object"&&typeof V!="function"&&V!=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,V,X,"setState")},x.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function M(){}M.prototype=x.prototype;function w(V,X,ae){this.props=V,this.context=X,this.refs=b,this.updater=ae||y}var A=w.prototype=new M;A.constructor=w,v(A,x.prototype),A.isPureReactComponent=!0;var T=Array.isArray;function R(){}var N={H:null,A:null,T:null,S:null},j=Object.prototype.hasOwnProperty;function C(V,X,ae){var ce=ae.ref;return{$$typeof:t,type:V,key:X,ref:ce!==void 0?ce:null,props:ae}}function k(V,X){return C(V.type,X,V.props)}function F(V){return typeof V=="object"&&V!==null&&V.$$typeof===t}function I(V){var X={"=":"=0",":":"=2"};return"$"+V.replace(/[=:]/g,function(ae){return X[ae]})}var B=/\/+/g;function O(V,X){return typeof V=="object"&&V!==null&&V.key!=null?I(""+V.key):X.toString(36)}function H(V){switch(V.status){case"fulfilled":return V.value;case"rejected":throw V.reason;default:switch(typeof V.status=="string"?V.then(R,R):(V.status="pending",V.then(function(X){V.status==="pending"&&(V.status="fulfilled",V.value=X)},function(X){V.status==="pending"&&(V.status="rejected",V.reason=X)})),V.status){case"fulfilled":return V.value;case"rejected":throw V.reason}}throw V}function $(V,X,ae,ce,ve){var te=typeof V;(te==="undefined"||te==="boolean")&&(V=null);var xe=!1;if(V===null)xe=!0;else switch(te){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(V.$$typeof){case t:case e:xe=!0;break;case u:return xe=V._init,$(xe(V._payload),X,ae,ce,ve)}}if(xe)return ve=ve(V),xe=ce===""?"."+O(V,0):ce,T(ve)?(ae="",xe!=null&&(ae=xe.replace(B,"$&/")+"/"),$(ve,X,ae,"",function(ge){return ge})):ve!=null&&(F(ve)&&(ve=k(ve,ae+(ve.key==null||V&&V.key===ve.key?"":(""+ve.key).replace(B,"$&/")+"/")+xe)),X.push(ve)),1;xe=0;var Re=ce===""?".":ce+":";if(T(V))for(var he=0;he>>1,se=$[Y];if(0>>1;Yi(ae,K))cei(ve,ae)?($[Y]=ve,$[ce]=K,Y=ce):($[Y]=ae,$[X]=K,Y=X);else if(cei(ve,K))$[Y]=ve,$[ce]=K,Y=ce;else break e}}return W}function i($,W){var K=$.sortIndex-W.sortIndex;return K!==0?K:$.id-W.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;t.unstable_now=function(){return a.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var l=[],c=[],u=1,f=null,g=3,m=!1,y=!1,v=!1,b=!1,x=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;function A($){for(var W=n(c);W!==null;){if(W.callback===null)r(c);else if(W.startTime<=$)r(c),W.sortIndex=W.expirationTime,e(l,W);else break;W=n(c)}}function T($){if(v=!1,A($),!y)if(n(l)!==null)y=!0,R||(R=!0,I());else{var W=n(c);W!==null&&H(T,W.startTime-$)}}var R=!1,N=-1,j=5,C=-1;function k(){return b?!0:!(t.unstable_now()-C$&&k());){var Y=f.callback;if(typeof Y=="function"){f.callback=null,g=f.priorityLevel;var se=Y(f.expirationTime<=$);if($=t.unstable_now(),typeof se=="function"){f.callback=se,A($),W=!0;break t}f===n(l)&&r(l),A($)}else r(l);f=n(l)}if(f!==null)W=!0;else{var V=n(c);V!==null&&H(T,V.startTime-$),W=!1}}break e}finally{f=null,g=K,m=!1}W=void 0}}finally{W?I():R=!1}}}var I;if(typeof w=="function")I=function(){w(F)};else if(typeof MessageChannel<"u"){var B=new MessageChannel,O=B.port2;B.port1.onmessage=F,I=function(){O.postMessage(null)}}else I=function(){x(F,0)};function H($,W){N=x(function(){$(t.unstable_now())},W)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function($){$.callback=null},t.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):j=0<$?Math.floor(1e3/$):5},t.unstable_getCurrentPriorityLevel=function(){return g},t.unstable_next=function($){switch(g){case 1:case 2:case 3:var W=3;break;default:W=g}var K=g;g=W;try{return $()}finally{g=K}},t.unstable_requestPaint=function(){b=!0},t.unstable_runWithPriority=function($,W){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var K=g;g=$;try{return W()}finally{g=K}},t.unstable_scheduleCallback=function($,W,K){var Y=t.unstable_now();switch(typeof K=="object"&&K!==null?(K=K.delay,K=typeof K=="number"&&0Y?($.sortIndex=K,e(c,$),n(l)===null&&$===n(c)&&(v?(M(N),N=-1):v=!0,H(T,K-Y))):($.sortIndex=se,e(l,$),y||m||(y=!0,R||(R=!0,I()))),$},t.unstable_shouldYield=k,t.unstable_wrapCallback=function($){var W=g;return function(){var K=g;g=W;try{return $.apply(this,arguments)}finally{g=K}}}})(RA)),RA}var nU;function dne(){return nU||(nU=1,NA.exports=une()),NA.exports}var PA={exports:{}},Xi={};var rU;function fne(){if(rU)return Xi;rU=1;var t=xm();function e(l){var c="https://react.dev/errors/"+l;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),PA.exports=fne(),PA.exports}var aU;function hne(){if(aU)return Rg;aU=1;var t=dne(),e=xm(),n=bG();function r(d){var p="https://react.dev/errors/"+d;if(1se||(d.current=Y[se],Y[se]=null,se--)}function ae(d,p){se++,Y[se]=d.current,d.current=p}var ce=V(null),ve=V(null),te=V(null),xe=V(null);function Re(d,p){switch(ae(te,p),ae(ve,d),ae(ce,null),p.nodeType){case 9:case 11:d=(d=p.documentElement)&&(d=d.namespaceURI)?y4(d):0;break;default:if(d=p.tagName,p=p.namespaceURI)p=y4(p),d=_4(p,d);else switch(d){case"svg":d=1;break;case"math":d=2;break;default:d=0}}X(ce),ae(ce,d)}function he(){X(ce),X(ve),X(te)}function ge(d){d.memoizedState!==null&&ae(xe,d);var p=ce.current,_=_4(p,d.type);p!==_&&(ae(ve,d),ae(ce,_))}function De(d){ve.current===d&&(X(ce),X(ve)),xe.current===d&&(X(xe),Eg._currentValue=K)}var oe,ct;function z(d){if(oe===void 0)try{throw Error()}catch(_){var p=_.stack.trim().match(/\n( *(at )?)/);oe=p&&p[1]||"",ct=-1<_.stack.indexOf(` at`)?" ()":-1<_.stack.indexOf("@")?"@unknown:0:0":""}return` -`+se+d+st}var q=!1;function ie(d,p){if(!d||q)return"";q=!0;var _=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var S={DetermineComponentFrameRoot:function(){try{if(p){var lt=function(){throw Error()};if(Object.defineProperty(lt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(lt,[])}catch(Ye){var Ve=Ye}Reflect.construct(d,[],lt)}else{try{lt.call()}catch(Ye){Ve=Ye}d.call(lt.prototype)}}else{try{throw Error()}catch(Ye){Ve=Ye}(lt=d())&&typeof lt.catch=="function"&<.catch(function(){})}}catch(Ye){if(Ye&&Ve&&typeof Ye.stack=="string")return[Ye.stack,Ve.stack]}return[null,null]}};S.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var P=Object.getOwnPropertyDescriptor(S.DetermineComponentFrameRoot,"name");P&&P.configurable&&Object.defineProperty(S.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var D=S.DetermineComponentFrameRoot(),W=D[0],re=D[1];if(W&&re){var Se=W.split(` -`),Be=re.split(` +`+oe+d+ct}var G=!1;function re(d,p){if(!d||G)return"";G=!0;var _=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var S={DetermineComponentFrameRoot:function(){try{if(p){var ot=function(){throw Error()};if(Object.defineProperty(ot.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ot,[])}catch(Ye){var Ve=Ye}Reflect.construct(d,[],ot)}else{try{ot.call()}catch(Ye){Ve=Ye}d.call(ot.prototype)}}else{try{throw Error()}catch(Ye){Ve=Ye}(ot=d())&&typeof ot.catch=="function"&&ot.catch(function(){})}}catch(Ye){if(Ye&&Ve&&typeof Ye.stack=="string")return[Ye.stack,Ve.stack]}return[null,null]}};S.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var P=Object.getOwnPropertyDescriptor(S.DetermineComponentFrameRoot,"name");P&&P.configurable&&Object.defineProperty(S.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var D=S.DetermineComponentFrameRoot(),q=D[0],ie=D[1];if(q&&ie){var Se=q.split(` +`),Be=ie.split(` `);for(P=S=0;SP||Se[S]!==Be[P]){var et=` -`+Se[S].replace(" at new "," at ");return d.displayName&&et.includes("")&&(et=et.replace("",d.displayName)),et}while(1<=S&&0<=P);break}}}finally{q=!1,Error.prepareStackTrace=_}return(_=d?d.displayName||d.name:"")?z(_):""}function Q(d,p){switch(d.tag){case 26:case 27:case 5:return z(d.type);case 16:return z("Lazy");case 13:return d.child!==p&&p!==null?z("Suspense Fallback"):z("Suspense");case 19:return z("SuspenseList");case 0:case 15:return ie(d.type,!1);case 11:return ie(d.type.render,!1);case 1:return ie(d.type,!0);case 31:return z("Activity");default:return""}}function ee(d){try{var p="",_=null;do p+=Q(d,_),_=d,d=d.return;while(d);return p}catch(S){return` +`+Se[S].replace(" at new "," at ");return d.displayName&&et.includes("")&&(et=et.replace("",d.displayName)),et}while(1<=S&&0<=P);break}}}finally{G=!1,Error.prepareStackTrace=_}return(_=d?d.displayName||d.name:"")?z(_):""}function Q(d,p){switch(d.tag){case 26:case 27:case 5:return z(d.type);case 16:return z("Lazy");case 13:return d.child!==p&&p!==null?z("Suspense Fallback"):z("Suspense");case 19:return z("SuspenseList");case 0:case 15:return re(d.type,!1);case 11:return re(d.type.render,!1);case 1:return re(d.type,!0);case 31:return z("Activity");default:return""}}function ee(d){try{var p="",_=null;do p+=Q(d,_),_=d,d=d.return;while(d);return p}catch(S){return` Error generating stack: `+S.message+` -`+S.stack}}var le=Object.prototype.hasOwnProperty,Re=t.unstable_scheduleCallback,Pe=t.unstable_cancelCallback,ne=t.unstable_shouldYield,F=t.unstable_requestPaint,L=t.unstable_now,Z=t.unstable_getCurrentPriorityLevel,ge=t.unstable_ImmediatePriority,ye=t.unstable_UserBlockingPriority,pe=t.unstable_NormalPriority,Ze=t.unstable_LowPriority,Ie=t.unstable_IdlePriority,Xe=t.log,ot=t.unstable_setDisableYieldValue,je=null,ke=null;function pt(d){if(typeof Xe=="function"&&ot(d),ke&&typeof ke.setStrictMode=="function")try{ke.setStrictMode(je,d)}catch{}}var rt=Math.clz32?Math.clz32:de,nt=Math.log,dt=Math.LN2;function de(d){return d>>>=0,d===0?32:31-(nt(d)/dt|0)|0}var it=256,fe=262144,Le=4194304;function Ee(d){var p=d&42;if(p!==0)return p;switch(d&-d){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return d&261888;case 262144:case 524288:case 1048576:case 2097152:return d&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return d&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return d}}function be(d,p,_){var S=d.pendingLanes;if(S===0)return 0;var P=0,D=d.suspendedLanes,W=d.pingedLanes;d=d.warmLanes;var re=S&134217727;return re!==0?(S=re&~D,S!==0?P=Ee(S):(W&=re,W!==0?P=Ee(W):_||(_=re&~d,_!==0&&(P=Ee(_))))):(re=S&~D,re!==0?P=Ee(re):W!==0?P=Ee(W):_||(_=S&~d,_!==0&&(P=Ee(_)))),P===0?0:p!==0&&p!==P&&(p&D)===0&&(D=P&-P,_=p&-p,D>=_||D===32&&(_&4194048)!==0)?p:P}function He(d,p){return(d.pendingLanes&~(d.suspendedLanes&~d.pingedLanes)&p)===0}function ut(d,p){switch(d){case 1:case 2:case 4:case 8:case 64:return p+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 p+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 _t(){var d=Le;return Le<<=1,(Le&62914560)===0&&(Le=4194304),d}function Rt(d){for(var p=[],_=0;31>_;_++)p.push(d);return p}function ln(d,p){d.pendingLanes|=p,p!==268435456&&(d.suspendedLanes=0,d.pingedLanes=0,d.warmLanes=0)}function Dt(d,p,_,S,P,D){var W=d.pendingLanes;d.pendingLanes=_,d.suspendedLanes=0,d.pingedLanes=0,d.warmLanes=0,d.expiredLanes&=_,d.entangledLanes&=_,d.errorRecoveryDisabledLanes&=_,d.shellSuspendCounter=0;var re=d.entanglements,Se=d.expirationTimes,Be=d.hiddenUpdates;for(_=W&~_;0<_;){var et=31-rt(_),lt=1<"u")return null;try{return d.activeElement||d.body}catch{return d.body}}var Tr=/[\n"\\]/g;function Nn(d){return d.replace(Tr,function(p){return"\\"+p.charCodeAt(0).toString(16)+" "})}function ro(d,p,_,S,P,D,W,re){d.name="",W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"?d.type=W:d.removeAttribute("type"),p!=null?W==="number"?(p===0&&d.value===""||d.value!=p)&&(d.value=""+un(p)):d.value!==""+un(p)&&(d.value=""+un(p)):W!=="submit"&&W!=="reset"||d.removeAttribute("value"),p!=null?gi(d,W,un(p)):_!=null?gi(d,W,un(_)):S!=null&&d.removeAttribute("value"),P==null&&D!=null&&(d.defaultChecked=!!D),P!=null&&(d.checked=P&&typeof P!="function"&&typeof P!="symbol"),re!=null&&typeof re!="function"&&typeof re!="symbol"&&typeof re!="boolean"?d.name=""+un(re):d.removeAttribute("name")}function Pn(d,p,_,S,P,D,W,re){if(D!=null&&typeof D!="function"&&typeof D!="symbol"&&typeof D!="boolean"&&(d.type=D),p!=null||_!=null){if(!(D!=="submit"&&D!=="reset"||p!=null)){Xt(d);return}_=_!=null?""+un(_):"",p=p!=null?""+un(p):_,re||p===d.value||(d.value=p),d.defaultValue=p}S=S??P,S=typeof S!="function"&&typeof S!="symbol"&&!!S,d.checked=re?d.checked:!!S,d.defaultChecked=!!S,W!=null&&typeof W!="function"&&typeof W!="symbol"&&typeof W!="boolean"&&(d.name=W),Xt(d)}function gi(d,p,_){p==="number"&&br(d.ownerDocument)===d||d.defaultValue===""+_||(d.defaultValue=""+_)}function Qr(d,p,_,S){if(d=d.options,p){p={};for(var P=0;P<_.length;P++)p["$"+_[P]]=!0;for(_=0;_"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),AM=!1;if(pl)try{var $m={};Object.defineProperty($m,"passive",{get:function(){AM=!0}}),window.addEventListener("test",$m,$m),window.removeEventListener("test",$m,$m)}catch{AM=!1}var Lc=null,TM=null,_v=null;function _L(){if(_v)return _v;var d,p=TM,_=p.length,S,P="value"in Lc?Lc.value:Lc.textContent,D=P.length;for(d=0;d<_&&p[d]===P[d];d++);var W=_-d;for(S=1;S<=W&&p[_-S]===P[D-S];S++);return _v=P.slice(d,1=Wm),TL=" ",CL=!1;function NL(d,p){switch(d){case"keyup":return Tee.indexOf(p.keyCode)!==-1;case"keydown":return p.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function RL(d){return d=d.detail,typeof d=="object"&&"data"in d?d.data:null}var eh=!1;function Nee(d,p){switch(d){case"compositionend":return RL(p);case"keypress":return p.which!==32?null:(CL=!0,TL);case"textInput":return d=p.data,d===TL&&CL?null:d;default:return null}}function Ree(d,p){if(eh)return d==="compositionend"||!kM&&NL(d,p)?(d=_L(),_v=TM=Lc=null,eh=!1,d):null;switch(d){case"paste":return null;case"keypress":if(!(p.ctrlKey||p.altKey||p.metaKey)||p.ctrlKey&&p.altKey){if(p.char&&1=p)return{node:_,offset:p-d};d=S}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=UL(_)}}function zL(d,p){return d&&p?d===p?!0:d&&d.nodeType===3?!1:p&&p.nodeType===3?zL(d,p.parentNode):"contains"in d?d.contains(p):d.compareDocumentPosition?!!(d.compareDocumentPosition(p)&16):!1:!1}function BL(d){d=d!=null&&d.ownerDocument!=null&&d.ownerDocument.defaultView!=null?d.ownerDocument.defaultView:window;for(var p=br(d.document);p instanceof d.HTMLIFrameElement;){try{var _=typeof p.contentWindow.location.href=="string"}catch{_=!1}if(_)d=p.contentWindow;else break;p=br(d.document)}return p}function LM(d){var p=d&&d.nodeName&&d.nodeName.toLowerCase();return p&&(p==="input"&&(d.type==="text"||d.type==="search"||d.type==="tel"||d.type==="url"||d.type==="password")||p==="textarea"||d.contentEditable==="true")}var Uee=pl&&"documentMode"in document&&11>=document.documentMode,th=null,IM=null,Ym=null,jM=!1;function HL(d,p,_){var S=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;jM||th==null||th!==br(S)||(S=th,"selectionStart"in S&&LM(S)?S={start:S.selectionStart,end:S.selectionEnd}:(S=(S.ownerDocument&&S.ownerDocument.defaultView||window).getSelection(),S={anchorNode:S.anchorNode,anchorOffset:S.anchorOffset,focusNode:S.focusNode,focusOffset:S.focusOffset}),Ym&&Km(Ym,S)||(Ym=S,S=pb(IM,"onSelect"),0>=W,P-=W,Ro=1<<32-rt(p)+P|_<Jt?(vn=kt,kt=null):vn=kt.sibling;var Mn=Ve(Oe,kt,ze[Jt],at);if(Mn===null){kt===null&&(kt=vn);break}d&&kt&&Mn.alternate===null&&p(Oe,kt),Ae=D(Mn,Ae,Jt),wn===null?It=Mn:wn.sibling=Mn,wn=Mn,kt=vn}if(Jt===ze.length)return _(Oe,kt),yn&&gl(Oe,Jt),It;if(kt===null){for(;JtJt?(vn=kt,kt=null):vn=kt.sibling;var ru=Ve(Oe,kt,Mn.value,at);if(ru===null){kt===null&&(kt=vn);break}d&&kt&&ru.alternate===null&&p(Oe,kt),Ae=D(ru,Ae,Jt),wn===null?It=ru:wn.sibling=ru,wn=ru,kt=vn}if(Mn.done)return _(Oe,kt),yn&&gl(Oe,Jt),It;if(kt===null){for(;!Mn.done;Jt++,Mn=ze.next())Mn=lt(Oe,Mn.value,at),Mn!==null&&(Ae=D(Mn,Ae,Jt),wn===null?It=Mn:wn.sibling=Mn,wn=Mn);return yn&&gl(Oe,Jt),It}for(kt=S(kt);!Mn.done;Jt++,Mn=ze.next())Mn=Ye(kt,Oe,Jt,Mn.value,at),Mn!==null&&(d&&Mn.alternate!==null&&kt.delete(Mn.key===null?Jt:Mn.key),Ae=D(Mn,Ae,Jt),wn===null?It=Mn:wn.sibling=Mn,wn=Mn);return d&&kt.forEach(function(ine){return p(Oe,ine)}),yn&&gl(Oe,Jt),It}function Fn(Oe,Ae,ze,at){if(typeof ze=="object"&&ze!==null&&ze.type===v&&ze.key===null&&(ze=ze.props.children),typeof ze=="object"&&ze!==null){switch(ze.$$typeof){case m:e:{for(var It=ze.key;Ae!==null;){if(Ae.key===It){if(It=ze.type,It===v){if(Ae.tag===7){_(Oe,Ae.sibling),at=P(Ae,ze.props.children),at.return=Oe,Oe=at;break e}}else if(Ae.elementType===It||typeof It=="object"&&It!==null&&It.$$typeof===j&&Md(It)===Ae.type){_(Oe,Ae.sibling),at=P(Ae,ze.props),ng(at,ze),at.return=Oe,Oe=at;break e}_(Oe,Ae);break}else p(Oe,Ae);Ae=Ae.sibling}ze.type===v?(at=bd(ze.props.children,Oe.mode,at,ze.key),at.return=Oe,Oe=at):(at=Pv(ze.type,ze.key,ze.props,null,Oe.mode,at),ng(at,ze),at.return=Oe,Oe=at)}return W(Oe);case y:e:{for(It=ze.key;Ae!==null;){if(Ae.key===It)if(Ae.tag===4&&Ae.stateNode.containerInfo===ze.containerInfo&&Ae.stateNode.implementation===ze.implementation){_(Oe,Ae.sibling),at=P(Ae,ze.children||[]),at.return=Oe,Oe=at;break e}else{_(Oe,Ae);break}else p(Oe,Ae);Ae=Ae.sibling}at=VM(ze,Oe.mode,at),at.return=Oe,Oe=at}return W(Oe);case j:return ze=Md(ze),Fn(Oe,Ae,ze,at)}if(B(ze))return Nt(Oe,Ae,ze,at);if(I(ze)){if(It=I(ze),typeof It!="function")throw Error(r(150));return ze=It.call(ze),Ht(Oe,Ae,ze,at)}if(typeof ze.then=="function")return Fn(Oe,Ae,Uv(ze),at);if(ze.$$typeof===w)return Fn(Oe,Ae,Ov(Oe,ze),at);Fv(Oe,ze)}return typeof ze=="string"&&ze!==""||typeof ze=="number"||typeof ze=="bigint"?(ze=""+ze,Ae!==null&&Ae.tag===6?(_(Oe,Ae.sibling),at=P(Ae,ze),at.return=Oe,Oe=at):(_(Oe,Ae),at=$M(ze,Oe.mode,at),at.return=Oe,Oe=at),W(Oe)):_(Oe,Ae)}return function(Oe,Ae,ze,at){try{tg=0;var It=Fn(Oe,Ae,ze,at);return fh=null,It}catch(kt){if(kt===dh||kt===Iv)throw kt;var wn=Ka(29,kt,null,Oe.mode);return wn.lanes=at,wn.return=Oe,wn}finally{}}}var Ad=dI(!0),fI=dI(!1),zc=!1;function nE(d){d.updateQueue={baseState:d.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function rE(d,p){d=d.updateQueue,p.updateQueue===d&&(p.updateQueue={baseState:d.baseState,firstBaseUpdate:d.firstBaseUpdate,lastBaseUpdate:d.lastBaseUpdate,shared:d.shared,callbacks:null})}function Bc(d){return{lane:d,tag:0,payload:null,callback:null,next:null}}function Hc(d,p,_){var S=d.updateQueue;if(S===null)return null;if(S=S.shared,(Cn&2)!==0){var P=S.pending;return P===null?p.next=p:(p.next=P.next,P.next=p),S.pending=p,p=Rv(d),KL(d,null,_),p}return Nv(d,S,p,_),Rv(d)}function rg(d,p,_){if(p=p.updateQueue,p!==null&&(p=p.shared,(_&4194048)!==0)){var S=p.lanes;S&=d.pendingLanes,_|=S,p.lanes=_,qn(d,_)}}function iE(d,p){var _=d.updateQueue,S=d.alternate;if(S!==null&&(S=S.updateQueue,_===S)){var P=null,D=null;if(_=_.firstBaseUpdate,_!==null){do{var W={lane:_.lane,tag:_.tag,payload:_.payload,callback:null,next:null};D===null?P=D=W:D=D.next=W,_=_.next}while(_!==null);D===null?P=D=p:D=D.next=p}else P=D=p;_={baseState:S.baseState,firstBaseUpdate:P,lastBaseUpdate:D,shared:S.shared,callbacks:S.callbacks},d.updateQueue=_;return}d=_.lastBaseUpdate,d===null?_.firstBaseUpdate=p:d.next=p,_.lastBaseUpdate=p}var aE=!1;function ig(){if(aE){var d=uh;if(d!==null)throw d}}function ag(d,p,_,S){aE=!1;var P=d.updateQueue;zc=!1;var D=P.firstBaseUpdate,W=P.lastBaseUpdate,re=P.shared.pending;if(re!==null){P.shared.pending=null;var Se=re,Be=Se.next;Se.next=null,W===null?D=Be:W.next=Be,W=Se;var et=d.alternate;et!==null&&(et=et.updateQueue,re=et.lastBaseUpdate,re!==W&&(re===null?et.firstBaseUpdate=Be:re.next=Be,et.lastBaseUpdate=Se))}if(D!==null){var lt=P.baseState;W=0,et=Be=Se=null,re=D;do{var Ve=re.lane&-536870913,Ye=Ve!==re.lane;if(Ye?(xn&Ve)===Ve:(S&Ve)===Ve){Ve!==0&&Ve===ch&&(aE=!0),et!==null&&(et=et.next={lane:0,tag:re.tag,payload:re.payload,callback:null,next:null});e:{var Nt=d,Ht=re;Ve=p;var Fn=_;switch(Ht.tag){case 1:if(Nt=Ht.payload,typeof Nt=="function"){lt=Nt.call(Fn,lt,Ve);break e}lt=Nt;break e;case 3:Nt.flags=Nt.flags&-65537|128;case 0:if(Nt=Ht.payload,Ve=typeof Nt=="function"?Nt.call(Fn,lt,Ve):Nt,Ve==null)break e;lt=f({},lt,Ve);break e;case 2:zc=!0}}Ve=re.callback,Ve!==null&&(d.flags|=64,Ye&&(d.flags|=8192),Ye=P.callbacks,Ye===null?P.callbacks=[Ve]:Ye.push(Ve))}else Ye={lane:Ve,tag:re.tag,payload:re.payload,callback:re.callback,next:null},et===null?(Be=et=Ye,Se=lt):et=et.next=Ye,W|=Ve;if(re=re.next,re===null){if(re=P.shared.pending,re===null)break;Ye=re,re=Ye.next,Ye.next=null,P.lastBaseUpdate=Ye,P.shared.pending=null}}while(!0);et===null&&(Se=lt),P.baseState=Se,P.firstBaseUpdate=Be,P.lastBaseUpdate=et,D===null&&(P.shared.lanes=0),qc|=W,d.lanes=W,d.memoizedState=lt}}function hI(d,p){if(typeof d!="function")throw Error(r(191,d));d.call(p)}function pI(d,p){var _=d.callbacks;if(_!==null)for(d.callbacks=null,d=0;d<_.length;d++)hI(_[d],p)}var hh=$(null),zv=$(0);function mI(d,p){d=Tl,ae(zv,d),ae(hh,p),Tl=d|p.baseLanes}function sE(){ae(zv,Tl),ae(hh,hh.current)}function oE(){Tl=zv.current,X(hh),X(zv)}var Ya=$(null),ws=null;function $c(d){var p=d.alternate;ae(Cr,Cr.current&1),ae(Ya,d),ws===null&&(p===null||hh.current!==null||p.memoizedState!==null)&&(ws=d)}function lE(d){ae(Cr,Cr.current),ae(Ya,d),ws===null&&(ws=d)}function gI(d){d.tag===22?(ae(Cr,Cr.current),ae(Ya,d),ws===null&&(ws=d)):Vc()}function Vc(){ae(Cr,Cr.current),ae(Ya,Ya.current)}function Za(d){X(Ya),ws===d&&(ws=null),X(Cr)}var Cr=$(0);function Bv(d){for(var p=d;p!==null;){if(p.tag===13){var _=p.memoizedState;if(_!==null&&(_=_.dehydrated,_===null||pA(_)||mA(_)))return p}else if(p.tag===19&&(p.memoizedProps.revealOrder==="forwards"||p.memoizedProps.revealOrder==="backwards"||p.memoizedProps.revealOrder==="unstable_legacy-backwards"||p.memoizedProps.revealOrder==="together")){if((p.flags&128)!==0)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===d)break;for(;p.sibling===null;){if(p.return===null||p.return===d)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}var bl=0,Qt=null,jn=null,jr=null,Hv=!1,ph=!1,Td=!1,$v=0,sg=0,mh=null,Xee=0;function yr(){throw Error(r(321))}function cE(d,p){if(p===null)return!1;for(var _=0;_D?D:8;var W=V.T,re={};V.T=re,ME(d,!1,p,_);try{var Se=P(),Be=V.S;if(Be!==null&&Be(re,Se),Se!==null&&typeof Se=="object"&&typeof Se.then=="function"){var et=qee(Se,S);lg(d,p,et,es(d))}else lg(d,p,S,es(d))}catch(lt){lg(d,p,{then:function(){},status:"rejected",reason:lt},es())}finally{G.p=D,W!==null&&re.types!==null&&(W.types=re.types),V.T=W}}function Jee(){}function SE(d,p,_,S){if(d.tag!==5)throw Error(r(476));var P=WI(d).queue;GI(d,P,p,K,_===null?Jee:function(){return qI(d),_(S)})}function WI(d){var p=d.memoizedState;if(p!==null)return p;p={memoizedState:K,baseState:K,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:yl,lastRenderedState:K},next:null};var _={};return p.next={memoizedState:_,baseState:_,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:yl,lastRenderedState:_},next:null},d.memoizedState=p,d=d.alternate,d!==null&&(d.memoizedState=p),p}function qI(d){var p=WI(d);p.next===null&&(p=d.alternate.memoizedState),lg(d,p.next.queue,{},es())}function wE(){return Oi(Eg)}function XI(){return Nr().memoizedState}function KI(){return Nr().memoizedState}function ete(d){for(var p=d.return;p!==null;){switch(p.tag){case 24:case 3:var _=es();d=Bc(_);var S=Hc(p,d,_);S!==null&&(ka(S,p,_),rg(S,p,_)),p={cache:QM()},d.payload=p;return}p=p.return}}function tte(d,p,_){var S=es();_={lane:S,revertLane:0,gesture:null,action:_,hasEagerState:!1,eagerState:null,next:null},Kv(d)?ZI(p,_):(_=BM(d,p,_,S),_!==null&&(ka(_,d,S),QI(_,p,S)))}function YI(d,p,_){var S=es();lg(d,p,_,S)}function lg(d,p,_,S){var P={lane:S,revertLane:0,gesture:null,action:_,hasEagerState:!1,eagerState:null,next:null};if(Kv(d))ZI(p,P);else{var D=d.alternate;if(d.lanes===0&&(D===null||D.lanes===0)&&(D=p.lastRenderedReducer,D!==null))try{var W=p.lastRenderedState,re=D(W,_);if(P.hasEagerState=!0,P.eagerState=re,Xa(re,W))return Nv(d,p,P,0),Xn===null&&Cv(),!1}catch{}finally{}if(_=BM(d,p,P,S),_!==null)return ka(_,d,S),QI(_,p,S),!0}return!1}function ME(d,p,_,S){if(S={lane:2,revertLane:nA(),gesture:null,action:S,hasEagerState:!1,eagerState:null,next:null},Kv(d)){if(p)throw Error(r(479))}else p=BM(d,_,S,2),p!==null&&ka(p,d,2)}function Kv(d){var p=d.alternate;return d===Qt||p!==null&&p===Qt}function ZI(d,p){ph=Hv=!0;var _=d.pending;_===null?p.next=p:(p.next=_.next,_.next=p),d.pending=p}function QI(d,p,_){if((_&4194048)!==0){var S=p.lanes;S&=d.pendingLanes,_|=S,p.lanes=_,qn(d,_)}}var cg={readContext:Oi,use:Gv,useCallback:yr,useContext:yr,useEffect:yr,useImperativeHandle:yr,useLayoutEffect:yr,useInsertionEffect:yr,useMemo:yr,useReducer:yr,useRef:yr,useState:yr,useDebugValue:yr,useDeferredValue:yr,useTransition:yr,useSyncExternalStore:yr,useId:yr,useHostTransitionStatus:yr,useFormState:yr,useActionState:yr,useOptimistic:yr,useMemoCache:yr,useCacheRefresh:yr};cg.useEffectEvent=yr;var JI={readContext:Oi,use:Gv,useCallback:function(d,p){return ua().memoizedState=[d,p===void 0?null:p],d},useContext:Oi,useEffect:II,useImperativeHandle:function(d,p,_){_=_!=null?_.concat([d]):null,qv(4194308,4,zI.bind(null,p,d),_)},useLayoutEffect:function(d,p){return qv(4194308,4,d,p)},useInsertionEffect:function(d,p){qv(4,2,d,p)},useMemo:function(d,p){var _=ua();p=p===void 0?null:p;var S=d();if(Td){pt(!0);try{d()}finally{pt(!1)}}return _.memoizedState=[S,p],S},useReducer:function(d,p,_){var S=ua();if(_!==void 0){var P=_(p);if(Td){pt(!0);try{_(p)}finally{pt(!1)}}}else P=p;return S.memoizedState=S.baseState=P,d={pending:null,lanes:0,dispatch:null,lastRenderedReducer:d,lastRenderedState:P},S.queue=d,d=d.dispatch=tte.bind(null,Qt,d),[S.memoizedState,d]},useRef:function(d){var p=ua();return d={current:d},p.memoizedState=d},useState:function(d){d=xE(d);var p=d.queue,_=YI.bind(null,Qt,p);return p.dispatch=_,[d.memoizedState,_]},useDebugValue:yE,useDeferredValue:function(d,p){var _=ua();return _E(_,d,p)},useTransition:function(){var d=xE(!1);return d=GI.bind(null,Qt,d.queue,!0,!1),ua().memoizedState=d,[!1,d]},useSyncExternalStore:function(d,p,_){var S=Qt,P=ua();if(yn){if(_===void 0)throw Error(r(407));_=_()}else{if(_=p(),Xn===null)throw Error(r(349));(xn&127)!==0||yI(S,p,_)}P.memoizedState=_;var D={value:_,getSnapshot:p};return P.queue=D,II(SI.bind(null,S,D,d),[d]),S.flags|=2048,gh(9,{destroy:void 0},_I.bind(null,S,D,_,p),null),_},useId:function(){var d=ua(),p=Xn.identifierPrefix;if(yn){var _=Po,S=Ro;_=(S&~(1<<32-rt(S)-1)).toString(32)+_,p="_"+p+"R_"+_,_=$v++,0<_&&(p+="H"+_.toString(32)),p+="_"}else _=Xee++,p="_"+p+"r_"+_.toString(32)+"_";return d.memoizedState=p},useHostTransitionStatus:wE,useFormState:PI,useActionState:PI,useOptimistic:function(d){var p=ua();p.memoizedState=p.baseState=d;var _={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return p.queue=_,p=ME.bind(null,Qt,!0,_),_.dispatch=p,[d,p]},useMemoCache:pE,useCacheRefresh:function(){return ua().memoizedState=ete.bind(null,Qt)},useEffectEvent:function(d){var p=ua(),_={impl:d};return p.memoizedState=_,function(){if((Cn&2)!==0)throw Error(r(440));return _.impl.apply(void 0,arguments)}}},EE={readContext:Oi,use:Gv,useCallback:HI,useContext:Oi,useEffect:bE,useImperativeHandle:BI,useInsertionEffect:UI,useLayoutEffect:FI,useMemo:$I,useReducer:Wv,useRef:LI,useState:function(){return Wv(yl)},useDebugValue:yE,useDeferredValue:function(d,p){var _=Nr();return VI(_,jn.memoizedState,d,p)},useTransition:function(){var d=Wv(yl)[0],p=Nr().memoizedState;return[typeof d=="boolean"?d:og(d),p]},useSyncExternalStore:bI,useId:XI,useHostTransitionStatus:wE,useFormState:kI,useActionState:kI,useOptimistic:function(d,p){var _=Nr();return EI(_,jn,d,p)},useMemoCache:pE,useCacheRefresh:KI};EE.useEffectEvent=jI;var ej={readContext:Oi,use:Gv,useCallback:HI,useContext:Oi,useEffect:bE,useImperativeHandle:BI,useInsertionEffect:UI,useLayoutEffect:FI,useMemo:$I,useReducer:gE,useRef:LI,useState:function(){return gE(yl)},useDebugValue:yE,useDeferredValue:function(d,p){var _=Nr();return jn===null?_E(_,d,p):VI(_,jn.memoizedState,d,p)},useTransition:function(){var d=gE(yl)[0],p=Nr().memoizedState;return[typeof d=="boolean"?d:og(d),p]},useSyncExternalStore:bI,useId:XI,useHostTransitionStatus:wE,useFormState:OI,useActionState:OI,useOptimistic:function(d,p){var _=Nr();return jn!==null?EI(_,jn,d,p):(_.baseState=d,[d,_.queue.dispatch])},useMemoCache:pE,useCacheRefresh:KI};ej.useEffectEvent=jI;function AE(d,p,_,S){p=d.memoizedState,_=_(S,p),_=_==null?p:f({},p,_),d.memoizedState=_,d.lanes===0&&(d.updateQueue.baseState=_)}var TE={enqueueSetState:function(d,p,_){d=d._reactInternals;var S=es(),P=Bc(S);P.payload=p,_!=null&&(P.callback=_),p=Hc(d,P,S),p!==null&&(ka(p,d,S),rg(p,d,S))},enqueueReplaceState:function(d,p,_){d=d._reactInternals;var S=es(),P=Bc(S);P.tag=1,P.payload=p,_!=null&&(P.callback=_),p=Hc(d,P,S),p!==null&&(ka(p,d,S),rg(p,d,S))},enqueueForceUpdate:function(d,p){d=d._reactInternals;var _=es(),S=Bc(_);S.tag=2,p!=null&&(S.callback=p),p=Hc(d,S,_),p!==null&&(ka(p,d,_),rg(p,d,_))}};function tj(d,p,_,S,P,D,W){return d=d.stateNode,typeof d.shouldComponentUpdate=="function"?d.shouldComponentUpdate(S,D,W):p.prototype&&p.prototype.isPureReactComponent?!Km(_,S)||!Km(P,D):!0}function nj(d,p,_,S){d=p.state,typeof p.componentWillReceiveProps=="function"&&p.componentWillReceiveProps(_,S),typeof p.UNSAFE_componentWillReceiveProps=="function"&&p.UNSAFE_componentWillReceiveProps(_,S),p.state!==d&&TE.enqueueReplaceState(p,p.state,null)}function Cd(d,p){var _=p;if("ref"in p){_={};for(var S in p)S!=="ref"&&(_[S]=p[S])}if(d=d.defaultProps){_===p&&(_=f({},_));for(var P in d)_[P]===void 0&&(_[P]=d[P])}return _}function rj(d){Tv(d)}function ij(d){console.error(d)}function aj(d){Tv(d)}function Yv(d,p){try{var _=d.onUncaughtError;_(p.value,{componentStack:p.stack})}catch(S){setTimeout(function(){throw S})}}function sj(d,p,_){try{var S=d.onCaughtError;S(_.value,{componentStack:_.stack,errorBoundary:p.tag===1?p.stateNode:null})}catch(P){setTimeout(function(){throw P})}}function CE(d,p,_){return _=Bc(_),_.tag=3,_.payload={element:null},_.callback=function(){Yv(d,p)},_}function oj(d){return d=Bc(d),d.tag=3,d}function lj(d,p,_,S){var P=_.type.getDerivedStateFromError;if(typeof P=="function"){var D=S.value;d.payload=function(){return P(D)},d.callback=function(){sj(p,_,S)}}var W=_.stateNode;W!==null&&typeof W.componentDidCatch=="function"&&(d.callback=function(){sj(p,_,S),typeof P!="function"&&(Xc===null?Xc=new Set([this]):Xc.add(this));var re=S.stack;this.componentDidCatch(S.value,{componentStack:re!==null?re:""})})}function nte(d,p,_,S,P){if(_.flags|=32768,S!==null&&typeof S=="object"&&typeof S.then=="function"){if(p=_.alternate,p!==null&&lh(p,_,P,!0),_=Ya.current,_!==null){switch(_.tag){case 31:case 13:return ws===null?lb():_.alternate===null&&_r===0&&(_r=3),_.flags&=-257,_.flags|=65536,_.lanes=P,S===jv?_.flags|=16384:(p=_.updateQueue,p===null?_.updateQueue=new Set([S]):p.add(S),JE(d,S,P)),!1;case 22:return _.flags|=65536,S===jv?_.flags|=16384:(p=_.updateQueue,p===null?(p={transitions:null,markerInstances:null,retryQueue:new Set([S])},_.updateQueue=p):(_=p.retryQueue,_===null?p.retryQueue=new Set([S]):_.add(S)),JE(d,S,P)),!1}throw Error(r(435,_.tag))}return JE(d,S,P),lb(),!1}if(yn)return p=Ya.current,p!==null?((p.flags&65536)===0&&(p.flags|=256),p.flags|=65536,p.lanes=P,S!==qM&&(d=Error(r(422),{cause:S}),Qm(bs(d,_)))):(S!==qM&&(p=Error(r(423),{cause:S}),Qm(bs(p,_))),d=d.current.alternate,d.flags|=65536,P&=-P,d.lanes|=P,S=bs(S,_),P=CE(d.stateNode,S,P),iE(d,P),_r!==4&&(_r=2)),!1;var D=Error(r(520),{cause:S});if(D=bs(D,_),xg===null?xg=[D]:xg.push(D),_r!==4&&(_r=2),p===null)return!0;S=bs(S,_),_=p;do{switch(_.tag){case 3:return _.flags|=65536,d=P&-P,_.lanes|=d,d=CE(_.stateNode,S,d),iE(_,d),!1;case 1:if(p=_.type,D=_.stateNode,(_.flags&128)===0&&(typeof p.getDerivedStateFromError=="function"||D!==null&&typeof D.componentDidCatch=="function"&&(Xc===null||!Xc.has(D))))return _.flags|=65536,P&=-P,_.lanes|=P,P=oj(P),lj(P,d,_,S),iE(_,P),!1}_=_.return}while(_!==null);return!1}var NE=Error(r(461)),Ur=!1;function Li(d,p,_,S){p.child=d===null?fI(p,null,_,S):Ad(p,d.child,_,S)}function cj(d,p,_,S,P){_=_.render;var D=p.ref;if("ref"in S){var W={};for(var re in S)re!=="ref"&&(W[re]=S[re])}else W=S;return Sd(p),S=uE(d,p,_,W,D,P),re=dE(),d!==null&&!Ur?(fE(d,p,P),_l(d,p,P)):(yn&&re&&GM(p),p.flags|=1,Li(d,p,S,P),p.child)}function uj(d,p,_,S,P){if(d===null){var D=_.type;return typeof D=="function"&&!HM(D)&&D.defaultProps===void 0&&_.compare===null?(p.tag=15,p.type=D,dj(d,p,D,S,P)):(d=Pv(_.type,null,S,p,p.mode,P),d.ref=p.ref,d.return=p,p.child=d)}if(D=d.child,!jE(d,P)){var W=D.memoizedProps;if(_=_.compare,_=_!==null?_:Km,_(W,S)&&d.ref===p.ref)return _l(d,p,P)}return p.flags|=1,d=ml(D,S),d.ref=p.ref,d.return=p,p.child=d}function dj(d,p,_,S,P){if(d!==null){var D=d.memoizedProps;if(Km(D,S)&&d.ref===p.ref)if(Ur=!1,p.pendingProps=S=D,jE(d,P))(d.flags&131072)!==0&&(Ur=!0);else return p.lanes=d.lanes,_l(d,p,P)}return RE(d,p,_,S,P)}function fj(d,p,_,S){var P=S.children,D=d!==null?d.memoizedState:null;if(d===null&&p.stateNode===null&&(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),S.mode==="hidden"){if((p.flags&128)!==0){if(D=D!==null?D.baseLanes|_:_,d!==null){for(S=p.child=d.child,P=0;S!==null;)P=P|S.lanes|S.childLanes,S=S.sibling;S=P&~D}else S=0,p.child=null;return hj(d,p,D,_,S)}if((_&536870912)!==0)p.memoizedState={baseLanes:0,cachePool:null},d!==null&&Lv(p,D!==null?D.cachePool:null),D!==null?mI(p,D):sE(),gI(p);else return S=p.lanes=536870912,hj(d,p,D!==null?D.baseLanes|_:_,_,S)}else D!==null?(Lv(p,D.cachePool),mI(p,D),Vc(),p.memoizedState=null):(d!==null&&Lv(p,null),sE(),Vc());return Li(d,p,P,_),p.child}function ug(d,p){return d!==null&&d.tag===22||p.stateNode!==null||(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),p.sibling}function hj(d,p,_,S,P){var D=eE();return D=D===null?null:{parent:Ir._currentValue,pool:D},p.memoizedState={baseLanes:_,cachePool:D},d!==null&&Lv(p,null),sE(),gI(p),d!==null&&lh(d,p,S,!0),p.childLanes=P,null}function Zv(d,p){return p=Jv({mode:p.mode,children:p.children},d.mode),p.ref=d.ref,d.child=p,p.return=d,p}function pj(d,p,_){return Ad(p,d.child,null,_),d=Zv(p,p.pendingProps),d.flags|=2,Za(p),p.memoizedState=null,d}function rte(d,p,_){var S=p.pendingProps,P=(p.flags&128)!==0;if(p.flags&=-129,d===null){if(yn){if(S.mode==="hidden")return d=Zv(p,S),p.lanes=536870912,ug(null,d);if(lE(p),(d=tr)?(d=A4(d,Ss),d=d!==null&&d.data==="&"?d:null,d!==null&&(p.memoizedState={dehydrated:d,treeContext:Ic!==null?{id:Ro,overflow:Po}:null,retryLane:536870912,hydrationErrors:null},_=ZL(d),_.return=p,p.child=_,Di=p,tr=null)):d=null,d===null)throw Uc(p);return p.lanes=536870912,null}return Zv(p,S)}var D=d.memoizedState;if(D!==null){var W=D.dehydrated;if(lE(p),P)if(p.flags&256)p.flags&=-257,p=pj(d,p,_);else if(p.memoizedState!==null)p.child=d.child,p.flags|=128,p=null;else throw Error(r(558));else if(Ur||lh(d,p,_,!1),P=(_&d.childLanes)!==0,Ur||P){if(S=Xn,S!==null&&(W=pi(S,_),W!==0&&W!==D.retryLane))throw D.retryLane=W,vd(d,W),ka(S,d,W),NE;lb(),p=pj(d,p,_)}else d=D.treeContext,tr=Ms(W.nextSibling),Di=p,yn=!0,jc=null,Ss=!1,d!==null&&eI(p,d),p=Zv(p,S),p.flags|=4096;return p}return d=ml(d.child,{mode:S.mode,children:S.children}),d.ref=p.ref,p.child=d,d.return=p,d}function Qv(d,p){var _=p.ref;if(_===null)d!==null&&d.ref!==null&&(p.flags|=4194816);else{if(typeof _!="function"&&typeof _!="object")throw Error(r(284));(d===null||d.ref!==_)&&(p.flags|=4194816)}}function RE(d,p,_,S,P){return Sd(p),_=uE(d,p,_,S,void 0,P),S=dE(),d!==null&&!Ur?(fE(d,p,P),_l(d,p,P)):(yn&&S&&GM(p),p.flags|=1,Li(d,p,_,P),p.child)}function mj(d,p,_,S,P,D){return Sd(p),p.updateQueue=null,_=vI(p,S,_,P),xI(d),S=dE(),d!==null&&!Ur?(fE(d,p,D),_l(d,p,D)):(yn&&S&&GM(p),p.flags|=1,Li(d,p,_,D),p.child)}function gj(d,p,_,S,P){if(Sd(p),p.stateNode===null){var D=ih,W=_.contextType;typeof W=="object"&&W!==null&&(D=Oi(W)),D=new _(S,D),p.memoizedState=D.state!==null&&D.state!==void 0?D.state:null,D.updater=TE,p.stateNode=D,D._reactInternals=p,D=p.stateNode,D.props=S,D.state=p.memoizedState,D.refs={},nE(p),W=_.contextType,D.context=typeof W=="object"&&W!==null?Oi(W):ih,D.state=p.memoizedState,W=_.getDerivedStateFromProps,typeof W=="function"&&(AE(p,_,W,S),D.state=p.memoizedState),typeof _.getDerivedStateFromProps=="function"||typeof D.getSnapshotBeforeUpdate=="function"||typeof D.UNSAFE_componentWillMount!="function"&&typeof D.componentWillMount!="function"||(W=D.state,typeof D.componentWillMount=="function"&&D.componentWillMount(),typeof D.UNSAFE_componentWillMount=="function"&&D.UNSAFE_componentWillMount(),W!==D.state&&TE.enqueueReplaceState(D,D.state,null),ag(p,S,D,P),ig(),D.state=p.memoizedState),typeof D.componentDidMount=="function"&&(p.flags|=4194308),S=!0}else if(d===null){D=p.stateNode;var re=p.memoizedProps,Se=Cd(_,re);D.props=Se;var Be=D.context,et=_.contextType;W=ih,typeof et=="object"&&et!==null&&(W=Oi(et));var lt=_.getDerivedStateFromProps;et=typeof lt=="function"||typeof D.getSnapshotBeforeUpdate=="function",re=p.pendingProps!==re,et||typeof D.UNSAFE_componentWillReceiveProps!="function"&&typeof D.componentWillReceiveProps!="function"||(re||Be!==W)&&nj(p,D,S,W),zc=!1;var Ve=p.memoizedState;D.state=Ve,ag(p,S,D,P),ig(),Be=p.memoizedState,re||Ve!==Be||zc?(typeof lt=="function"&&(AE(p,_,lt,S),Be=p.memoizedState),(Se=zc||tj(p,_,Se,S,Ve,Be,W))?(et||typeof D.UNSAFE_componentWillMount!="function"&&typeof D.componentWillMount!="function"||(typeof D.componentWillMount=="function"&&D.componentWillMount(),typeof D.UNSAFE_componentWillMount=="function"&&D.UNSAFE_componentWillMount()),typeof D.componentDidMount=="function"&&(p.flags|=4194308)):(typeof D.componentDidMount=="function"&&(p.flags|=4194308),p.memoizedProps=S,p.memoizedState=Be),D.props=S,D.state=Be,D.context=W,S=Se):(typeof D.componentDidMount=="function"&&(p.flags|=4194308),S=!1)}else{D=p.stateNode,rE(d,p),W=p.memoizedProps,et=Cd(_,W),D.props=et,lt=p.pendingProps,Ve=D.context,Be=_.contextType,Se=ih,typeof Be=="object"&&Be!==null&&(Se=Oi(Be)),re=_.getDerivedStateFromProps,(Be=typeof re=="function"||typeof D.getSnapshotBeforeUpdate=="function")||typeof D.UNSAFE_componentWillReceiveProps!="function"&&typeof D.componentWillReceiveProps!="function"||(W!==lt||Ve!==Se)&&nj(p,D,S,Se),zc=!1,Ve=p.memoizedState,D.state=Ve,ag(p,S,D,P),ig();var Ye=p.memoizedState;W!==lt||Ve!==Ye||zc||d!==null&&d.dependencies!==null&&Dv(d.dependencies)?(typeof re=="function"&&(AE(p,_,re,S),Ye=p.memoizedState),(et=zc||tj(p,_,et,S,Ve,Ye,Se)||d!==null&&d.dependencies!==null&&Dv(d.dependencies))?(Be||typeof D.UNSAFE_componentWillUpdate!="function"&&typeof D.componentWillUpdate!="function"||(typeof D.componentWillUpdate=="function"&&D.componentWillUpdate(S,Ye,Se),typeof D.UNSAFE_componentWillUpdate=="function"&&D.UNSAFE_componentWillUpdate(S,Ye,Se)),typeof D.componentDidUpdate=="function"&&(p.flags|=4),typeof D.getSnapshotBeforeUpdate=="function"&&(p.flags|=1024)):(typeof D.componentDidUpdate!="function"||W===d.memoizedProps&&Ve===d.memoizedState||(p.flags|=4),typeof D.getSnapshotBeforeUpdate!="function"||W===d.memoizedProps&&Ve===d.memoizedState||(p.flags|=1024),p.memoizedProps=S,p.memoizedState=Ye),D.props=S,D.state=Ye,D.context=Se,S=et):(typeof D.componentDidUpdate!="function"||W===d.memoizedProps&&Ve===d.memoizedState||(p.flags|=4),typeof D.getSnapshotBeforeUpdate!="function"||W===d.memoizedProps&&Ve===d.memoizedState||(p.flags|=1024),S=!1)}return D=S,Qv(d,p),S=(p.flags&128)!==0,D||S?(D=p.stateNode,_=S&&typeof _.getDerivedStateFromError!="function"?null:D.render(),p.flags|=1,d!==null&&S?(p.child=Ad(p,d.child,null,P),p.child=Ad(p,null,_,P)):Li(d,p,_,P),p.memoizedState=D.state,d=p.child):d=_l(d,p,P),d}function xj(d,p,_,S){return yd(),p.flags|=256,Li(d,p,_,S),p.child}var PE={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function kE(d){return{baseLanes:d,cachePool:sI()}}function DE(d,p,_){return d=d!==null?d.childLanes&~_:0,p&&(d|=Ja),d}function vj(d,p,_){var S=p.pendingProps,P=!1,D=(p.flags&128)!==0,W;if((W=D)||(W=d!==null&&d.memoizedState===null?!1:(Cr.current&2)!==0),W&&(P=!0,p.flags&=-129),W=(p.flags&32)!==0,p.flags&=-33,d===null){if(yn){if(P?$c(p):Vc(),(d=tr)?(d=A4(d,Ss),d=d!==null&&d.data!=="&"?d:null,d!==null&&(p.memoizedState={dehydrated:d,treeContext:Ic!==null?{id:Ro,overflow:Po}:null,retryLane:536870912,hydrationErrors:null},_=ZL(d),_.return=p,p.child=_,Di=p,tr=null)):d=null,d===null)throw Uc(p);return mA(d)?p.lanes=32:p.lanes=536870912,null}var re=S.children;return S=S.fallback,P?(Vc(),P=p.mode,re=Jv({mode:"hidden",children:re},P),S=bd(S,P,_,null),re.return=p,S.return=p,re.sibling=S,p.child=re,S=p.child,S.memoizedState=kE(_),S.childLanes=DE(d,W,_),p.memoizedState=PE,ug(null,S)):($c(p),OE(p,re))}var Se=d.memoizedState;if(Se!==null&&(re=Se.dehydrated,re!==null)){if(D)p.flags&256?($c(p),p.flags&=-257,p=LE(d,p,_)):p.memoizedState!==null?(Vc(),p.child=d.child,p.flags|=128,p=null):(Vc(),re=S.fallback,P=p.mode,S=Jv({mode:"visible",children:S.children},P),re=bd(re,P,_,null),re.flags|=2,S.return=p,re.return=p,S.sibling=re,p.child=S,Ad(p,d.child,null,_),S=p.child,S.memoizedState=kE(_),S.childLanes=DE(d,W,_),p.memoizedState=PE,p=ug(null,S));else if($c(p),mA(re)){if(W=re.nextSibling&&re.nextSibling.dataset,W)var Be=W.dgst;W=Be,S=Error(r(419)),S.stack="",S.digest=W,Qm({value:S,source:null,stack:null}),p=LE(d,p,_)}else if(Ur||lh(d,p,_,!1),W=(_&d.childLanes)!==0,Ur||W){if(W=Xn,W!==null&&(S=pi(W,_),S!==0&&S!==Se.retryLane))throw Se.retryLane=S,vd(d,S),ka(W,d,S),NE;pA(re)||lb(),p=LE(d,p,_)}else pA(re)?(p.flags|=192,p.child=d.child,p=null):(d=Se.treeContext,tr=Ms(re.nextSibling),Di=p,yn=!0,jc=null,Ss=!1,d!==null&&eI(p,d),p=OE(p,S.children),p.flags|=4096);return p}return P?(Vc(),re=S.fallback,P=p.mode,Se=d.child,Be=Se.sibling,S=ml(Se,{mode:"hidden",children:S.children}),S.subtreeFlags=Se.subtreeFlags&65011712,Be!==null?re=ml(Be,re):(re=bd(re,P,_,null),re.flags|=2),re.return=p,S.return=p,S.sibling=re,p.child=S,ug(null,S),S=p.child,re=d.child.memoizedState,re===null?re=kE(_):(P=re.cachePool,P!==null?(Se=Ir._currentValue,P=P.parent!==Se?{parent:Se,pool:Se}:P):P=sI(),re={baseLanes:re.baseLanes|_,cachePool:P}),S.memoizedState=re,S.childLanes=DE(d,W,_),p.memoizedState=PE,ug(d.child,S)):($c(p),_=d.child,d=_.sibling,_=ml(_,{mode:"visible",children:S.children}),_.return=p,_.sibling=null,d!==null&&(W=p.deletions,W===null?(p.deletions=[d],p.flags|=16):W.push(d)),p.child=_,p.memoizedState=null,_)}function OE(d,p){return p=Jv({mode:"visible",children:p},d.mode),p.return=d,d.child=p}function Jv(d,p){return d=Ka(22,d,null,p),d.lanes=0,d}function LE(d,p,_){return Ad(p,d.child,null,_),d=OE(p,p.pendingProps.children),d.flags|=2,p.memoizedState=null,d}function bj(d,p,_){d.lanes|=p;var S=d.alternate;S!==null&&(S.lanes|=p),YM(d.return,p,_)}function IE(d,p,_,S,P,D){var W=d.memoizedState;W===null?d.memoizedState={isBackwards:p,rendering:null,renderingStartTime:0,last:S,tail:_,tailMode:P,treeForkCount:D}:(W.isBackwards=p,W.rendering=null,W.renderingStartTime=0,W.last=S,W.tail=_,W.tailMode=P,W.treeForkCount=D)}function yj(d,p,_){var S=p.pendingProps,P=S.revealOrder,D=S.tail;S=S.children;var W=Cr.current,re=(W&2)!==0;if(re?(W=W&1|2,p.flags|=128):W&=1,ae(Cr,W),Li(d,p,S,_),S=yn?Zm:0,!re&&d!==null&&(d.flags&128)!==0)e:for(d=p.child;d!==null;){if(d.tag===13)d.memoizedState!==null&&bj(d,_,p);else if(d.tag===19)bj(d,_,p);else if(d.child!==null){d.child.return=d,d=d.child;continue}if(d===p)break e;for(;d.sibling===null;){if(d.return===null||d.return===p)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}switch(P){case"forwards":for(_=p.child,P=null;_!==null;)d=_.alternate,d!==null&&Bv(d)===null&&(P=_),_=_.sibling;_=P,_===null?(P=p.child,p.child=null):(P=_.sibling,_.sibling=null),IE(p,!1,P,_,D,S);break;case"backwards":case"unstable_legacy-backwards":for(_=null,P=p.child,p.child=null;P!==null;){if(d=P.alternate,d!==null&&Bv(d)===null){p.child=P;break}d=P.sibling,P.sibling=_,_=P,P=d}IE(p,!0,_,null,D,S);break;case"together":IE(p,!1,null,null,void 0,S);break;default:p.memoizedState=null}return p.child}function _l(d,p,_){if(d!==null&&(p.dependencies=d.dependencies),qc|=p.lanes,(_&p.childLanes)===0)if(d!==null){if(lh(d,p,_,!1),(_&p.childLanes)===0)return null}else return null;if(d!==null&&p.child!==d.child)throw Error(r(153));if(p.child!==null){for(d=p.child,_=ml(d,d.pendingProps),p.child=_,_.return=p;d.sibling!==null;)d=d.sibling,_=_.sibling=ml(d,d.pendingProps),_.return=p;_.sibling=null}return p.child}function jE(d,p){return(d.lanes&p)!==0?!0:(d=d.dependencies,!!(d!==null&&Dv(d)))}function ite(d,p,_){switch(p.tag){case 3:De(p,p.stateNode.containerInfo),Fc(p,Ir,d.memoizedState.cache),yd();break;case 27:case 5:me(p);break;case 4:De(p,p.stateNode.containerInfo);break;case 10:Fc(p,p.type,p.memoizedProps.value);break;case 31:if(p.memoizedState!==null)return p.flags|=128,lE(p),null;break;case 13:var S=p.memoizedState;if(S!==null)return S.dehydrated!==null?($c(p),p.flags|=128,null):(_&p.child.childLanes)!==0?vj(d,p,_):($c(p),d=_l(d,p,_),d!==null?d.sibling:null);$c(p);break;case 19:var P=(d.flags&128)!==0;if(S=(_&p.childLanes)!==0,S||(lh(d,p,_,!1),S=(_&p.childLanes)!==0),P){if(S)return yj(d,p,_);p.flags|=128}if(P=p.memoizedState,P!==null&&(P.rendering=null,P.tail=null,P.lastEffect=null),ae(Cr,Cr.current),S)break;return null;case 22:return p.lanes=0,fj(d,p,_,p.pendingProps);case 24:Fc(p,Ir,d.memoizedState.cache)}return _l(d,p,_)}function _j(d,p,_){if(d!==null)if(d.memoizedProps!==p.pendingProps)Ur=!0;else{if(!jE(d,_)&&(p.flags&128)===0)return Ur=!1,ite(d,p,_);Ur=(d.flags&131072)!==0}else Ur=!1,yn&&(p.flags&1048576)!==0&&JL(p,Zm,p.index);switch(p.lanes=0,p.tag){case 16:e:{var S=p.pendingProps;if(d=Md(p.elementType),p.type=d,typeof d=="function")HM(d)?(S=Cd(d,S),p.tag=1,p=gj(null,p,d,S,_)):(p.tag=0,p=RE(null,p,d,S,_));else{if(d!=null){var P=d.$$typeof;if(P===A){p.tag=11,p=cj(null,p,d,S,_);break e}else if(P===N){p.tag=14,p=uj(null,p,d,S,_);break e}}throw p=O(d)||d,Error(r(306,p,""))}}return p;case 0:return RE(d,p,p.type,p.pendingProps,_);case 1:return S=p.type,P=Cd(S,p.pendingProps),gj(d,p,S,P,_);case 3:e:{if(De(p,p.stateNode.containerInfo),d===null)throw Error(r(387));S=p.pendingProps;var D=p.memoizedState;P=D.element,rE(d,p),ag(p,S,null,_);var W=p.memoizedState;if(S=W.cache,Fc(p,Ir,S),S!==D.cache&&ZM(p,[Ir],_,!0),ig(),S=W.element,D.isDehydrated)if(D={element:S,isDehydrated:!1,cache:W.cache},p.updateQueue.baseState=D,p.memoizedState=D,p.flags&256){p=xj(d,p,S,_);break e}else if(S!==P){P=bs(Error(r(424)),p),Qm(P),p=xj(d,p,S,_);break e}else{switch(d=p.stateNode.containerInfo,d.nodeType){case 9:d=d.body;break;default:d=d.nodeName==="HTML"?d.ownerDocument.body:d}for(tr=Ms(d.firstChild),Di=p,yn=!0,jc=null,Ss=!0,_=fI(p,null,S,_),p.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling}else{if(yd(),S===P){p=_l(d,p,_);break e}Li(d,p,S,_)}p=p.child}return p;case 26:return Qv(d,p),d===null?(_=k4(p.type,null,p.pendingProps,null))?p.memoizedState=_:yn||(_=p.type,d=p.pendingProps,S=mb(te.current).createElement(_),S[hr]=p,S[Ar]=d,Ii(S,_,d),Ce(S),p.stateNode=S):p.memoizedState=k4(p.type,d.memoizedProps,p.pendingProps,d.memoizedState),null;case 27:return me(p),d===null&&yn&&(S=p.stateNode=N4(p.type,p.pendingProps,te.current),Di=p,Ss=!0,P=tr,Qc(p.type)?(gA=P,tr=Ms(S.firstChild)):tr=P),Li(d,p,p.pendingProps.children,_),Qv(d,p),d===null&&(p.flags|=4194304),p.child;case 5:return d===null&&yn&&((P=S=tr)&&(S=Ote(S,p.type,p.pendingProps,Ss),S!==null?(p.stateNode=S,Di=p,tr=Ms(S.firstChild),Ss=!1,P=!0):P=!1),P||Uc(p)),me(p),P=p.type,D=p.pendingProps,W=d!==null?d.memoizedProps:null,S=D.children,dA(P,D)?S=null:W!==null&&dA(P,W)&&(p.flags|=32),p.memoizedState!==null&&(P=uE(d,p,Kee,null,null,_),Eg._currentValue=P),Qv(d,p),Li(d,p,S,_),p.child;case 6:return d===null&&yn&&((d=_=tr)&&(_=Lte(_,p.pendingProps,Ss),_!==null?(p.stateNode=_,Di=p,tr=null,d=!0):d=!1),d||Uc(p)),null;case 13:return vj(d,p,_);case 4:return De(p,p.stateNode.containerInfo),S=p.pendingProps,d===null?p.child=Ad(p,null,S,_):Li(d,p,S,_),p.child;case 11:return cj(d,p,p.type,p.pendingProps,_);case 7:return Li(d,p,p.pendingProps,_),p.child;case 8:return Li(d,p,p.pendingProps.children,_),p.child;case 12:return Li(d,p,p.pendingProps.children,_),p.child;case 10:return S=p.pendingProps,Fc(p,p.type,S.value),Li(d,p,S.children,_),p.child;case 9:return P=p.type._context,S=p.pendingProps.children,Sd(p),P=Oi(P),S=S(P),p.flags|=1,Li(d,p,S,_),p.child;case 14:return uj(d,p,p.type,p.pendingProps,_);case 15:return dj(d,p,p.type,p.pendingProps,_);case 19:return yj(d,p,_);case 31:return rte(d,p,_);case 22:return fj(d,p,_,p.pendingProps);case 24:return Sd(p),S=Oi(Ir),d===null?(P=eE(),P===null&&(P=Xn,D=QM(),P.pooledCache=D,D.refCount++,D!==null&&(P.pooledCacheLanes|=_),P=D),p.memoizedState={parent:S,cache:P},nE(p),Fc(p,Ir,P)):((d.lanes&_)!==0&&(rE(d,p),ag(p,null,null,_),ig()),P=d.memoizedState,D=p.memoizedState,P.parent!==S?(P={parent:S,cache:S},p.memoizedState=P,p.lanes===0&&(p.memoizedState=p.updateQueue.baseState=P),Fc(p,Ir,S)):(S=D.cache,Fc(p,Ir,S),S!==P.cache&&ZM(p,[Ir],_,!0))),Li(d,p,p.pendingProps.children,_),p.child;case 29:throw p.pendingProps}throw Error(r(156,p.tag))}function Sl(d){d.flags|=4}function UE(d,p,_,S,P){if((p=(d.mode&32)!==0)&&(p=!1),p){if(d.flags|=16777216,(P&335544128)===P)if(d.stateNode.complete)d.flags|=8192;else if(Xj())d.flags|=8192;else throw Ed=jv,tE}else d.flags&=-16777217}function Sj(d,p){if(p.type!=="stylesheet"||(p.state.loading&4)!==0)d.flags&=-16777217;else if(d.flags|=16777216,!j4(p))if(Xj())d.flags|=8192;else throw Ed=jv,tE}function eb(d,p){p!==null&&(d.flags|=4),d.flags&16384&&(p=d.tag!==22?_t():536870912,d.lanes|=p,yh|=p)}function dg(d,p){if(!yn)switch(d.tailMode){case"hidden":p=d.tail;for(var _=null;p!==null;)p.alternate!==null&&(_=p),p=p.sibling;_===null?d.tail=null:_.sibling=null;break;case"collapsed":_=d.tail;for(var S=null;_!==null;)_.alternate!==null&&(S=_),_=_.sibling;S===null?p||d.tail===null?d.tail=null:d.tail.sibling=null:S.sibling=null}}function nr(d){var p=d.alternate!==null&&d.alternate.child===d.child,_=0,S=0;if(p)for(var P=d.child;P!==null;)_|=P.lanes|P.childLanes,S|=P.subtreeFlags&65011712,S|=P.flags&65011712,P.return=d,P=P.sibling;else for(P=d.child;P!==null;)_|=P.lanes|P.childLanes,S|=P.subtreeFlags,S|=P.flags,P.return=d,P=P.sibling;return d.subtreeFlags|=S,d.childLanes=_,p}function ate(d,p,_){var S=p.pendingProps;switch(WM(p),p.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return nr(p),null;case 1:return nr(p),null;case 3:return _=p.stateNode,S=null,d!==null&&(S=d.memoizedState.cache),p.memoizedState.cache!==S&&(p.flags|=2048),vl(Ir),he(),_.pendingContext&&(_.context=_.pendingContext,_.pendingContext=null),(d===null||d.child===null)&&(oh(p)?Sl(p):d===null||d.memoizedState.isDehydrated&&(p.flags&256)===0||(p.flags|=1024,XM())),nr(p),null;case 26:var P=p.type,D=p.memoizedState;return d===null?(Sl(p),D!==null?(nr(p),Sj(p,D)):(nr(p),UE(p,P,null,S,_))):D?D!==d.memoizedState?(Sl(p),nr(p),Sj(p,D)):(nr(p),p.flags&=-16777217):(d=d.memoizedProps,d!==S&&Sl(p),nr(p),UE(p,P,d,S,_)),null;case 27:if(we(p),_=te.current,P=p.type,d!==null&&p.stateNode!=null)d.memoizedProps!==S&&Sl(p);else{if(!S){if(p.stateNode===null)throw Error(r(166));return nr(p),null}d=ce.current,oh(p)?tI(p):(d=N4(P,S,_),p.stateNode=d,Sl(p))}return nr(p),null;case 5:if(we(p),P=p.type,d!==null&&p.stateNode!=null)d.memoizedProps!==S&&Sl(p);else{if(!S){if(p.stateNode===null)throw Error(r(166));return nr(p),null}if(D=ce.current,oh(p))tI(p);else{var W=mb(te.current);switch(D){case 1:D=W.createElementNS("http://www.w3.org/2000/svg",P);break;case 2:D=W.createElementNS("http://www.w3.org/1998/Math/MathML",P);break;default:switch(P){case"svg":D=W.createElementNS("http://www.w3.org/2000/svg",P);break;case"math":D=W.createElementNS("http://www.w3.org/1998/Math/MathML",P);break;case"script":D=W.createElement("div"),D.innerHTML="]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let n=rq().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(t),i;if((i=r&&nq[r[1].toLowerCase()])&&(t=i.map(a=>"<"+a+">").join("")+t+i.map(a=>"").reverse().join("")),n.innerHTML=Mwe(t),i)for(let a=0;a=0;o-=2){let l=n.nodes[r[o]];if(!l||l.hasRequiredAttrs())break;i=ht.from(l.create(r[o+1],i)),a++,s++}return new Et(i,a,s)}const Sa={},wa={},Cwe={touchstart:!0,touchmove:!0};class Nwe{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function Rwe(t){for(let e in Sa){let n=Sa[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=r=>{kwe(t,r)&&!Dk(t,r)&&(t.editable||!(r.type in wa))&&n(t,r)},Cwe[e]?{passive:!0}:void 0)}_a&&t.dom.addEventListener("input",()=>null),rR(t)}function Uu(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function Pwe(t){t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function rR(t){t.someProp("handleDOMEvents",e=>{for(let n in e)t.input.eventHandlers[n]||t.dom.addEventListener(n,t.input.eventHandlers[n]=r=>Dk(t,r))})}function Dk(t,e){return t.someProp("handleDOMEvents",n=>{let r=n[e.type];return r?r(t,e)||e.defaultPrevented:!1})}function kwe(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target;n!=t.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(e))return!1;return!0}function Dwe(t,e){!Dk(t,e)&&Sa[e.type]&&(t.editable||!(e.type in wa))&&Sa[e.type](t,e)}wa.keydown=(t,e)=>{let n=e;if(t.input.shiftKey=n.keyCode==16||n.shiftKey,!aq(t,n)&&(t.input.lastKeyCode=n.keyCode,t.input.lastKeyCodeTime=Date.now(),!(rc&&ia&&n.keyCode==13)))if(n.keyCode!=229&&t.domObserver.forceFlush(),im&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();t.input.lastIOSEnter=r,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==r&&(t.someProp("handleKeyDown",i=>i(t,Jd(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",r=>r(t,n))||_we(t,n)?n.preventDefault():Uu(t,"key")};wa.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};wa.keypress=(t,e)=>{let n=e;if(aq(t,n)||!n.charCode||n.ctrlKey&&!n.altKey||Is&&n.metaKey)return;if(t.someProp("handleKeyPress",i=>i(t,n))){n.preventDefault();return}let r=t.state.selection;if(!(r instanceof Vt)||!r.$from.sameParent(r.$to)){let i=String.fromCharCode(n.charCode),a=()=>t.state.tr.insertText(i).scrollIntoView();!/[\r\n]/.test(i)&&!t.someProp("handleTextInput",s=>s(t,r.$from.pos,r.$to.pos,i,a))&&t.dispatch(a()),n.preventDefault()}};function bw(t){return{left:t.clientX,top:t.clientY}}function Owe(t,e){let n=e.x-t.clientX,r=e.y-t.clientY;return n*n+r*r<100}function Ok(t,e,n,r,i){if(r==-1)return!1;let a=t.state.doc.resolve(r);for(let s=a.depth+1;s>0;s--)if(t.someProp(e,o=>s>a.depth?o(t,n,a.nodeAfter,a.before(s),i,!0):o(t,n,a.node(s),a.before(s),i,!1)))return!0;return!1}function jp(t,e,n){if(t.focused||t.focus(),t.state.selection.eq(e))return;let r=t.state.tr.setSelection(e);r.setMeta("pointer",!0),t.dispatch(r)}function Lwe(t,e){if(e==-1)return!1;let n=t.state.doc.resolve(e),r=n.nodeAfter;return r&&r.isAtom&&zt.isSelectable(r)?(jp(t,new zt(n)),!0):!1}function Iwe(t,e){if(e==-1)return!1;let n=t.state.selection,r,i;n instanceof zt&&(r=n.node);let a=t.state.doc.resolve(e);for(let s=a.depth+1;s>0;s--){let o=s>a.depth?a.nodeAfter:a.node(s);if(zt.isSelectable(o)){r&&n.$from.depth>0&&s>=n.$from.depth&&a.before(n.$from.depth+1)==n.$from.pos?i=a.before(n.$from.depth):i=a.before(s);break}}return i!=null?(jp(t,zt.create(t.state.doc,i)),!0):!1}function jwe(t,e,n,r,i){return Ok(t,"handleClickOn",e,n,r)||t.someProp("handleClick",a=>a(t,e,r))||(i?Iwe(t,n):Lwe(t,n))}function Uwe(t,e,n,r){return Ok(t,"handleDoubleClickOn",e,n,r)||t.someProp("handleDoubleClick",i=>i(t,e,r))}function Fwe(t,e,n,r){return Ok(t,"handleTripleClickOn",e,n,r)||t.someProp("handleTripleClick",i=>i(t,e,r))||zwe(t,n,r)}function zwe(t,e,n){if(n.button!=0)return!1;let r=t.state.doc;if(e==-1)return r.inlineContent?(jp(t,Vt.create(r,0,r.content.size)),!0):!1;let i=r.resolve(e);for(let a=i.depth+1;a>0;a--){let s=a>i.depth?i.nodeAfter:i.node(a),o=i.before(a);if(s.inlineContent)jp(t,Vt.create(r,o+1,o+1+s.content.size));else if(zt.isSelectable(s))jp(t,zt.create(r,o));else continue;return!0}}function Lk(t){return m1(t)}const iq=Is?"metaKey":"ctrlKey";Sa.mousedown=(t,e)=>{let n=e;t.input.shiftKey=n.shiftKey;let r=Lk(t),i=Date.now(),a="singleClick";i-t.input.lastClick.time<500&&Owe(n,t.input.lastClick)&&!n[iq]&&t.input.lastClick.button==n.button&&(t.input.lastClick.type=="singleClick"?a="doubleClick":t.input.lastClick.type=="doubleClick"&&(a="tripleClick")),t.input.lastClick={time:i,x:n.clientX,y:n.clientY,type:a,button:n.button};let s=t.posAtCoords(bw(n));s&&(a=="singleClick"?(t.input.mouseDown&&t.input.mouseDown.done(),t.input.mouseDown=new Bwe(t,s,n,!!r)):(a=="doubleClick"?Uwe:Fwe)(t,s.pos,s.inside,n)?n.preventDefault():Uu(t,"pointer"))};class Bwe{constructor(e,n,r,i){this.view=e,this.pos=n,this.event=r,this.flushed=i,this.delayedSelectionSync=!1,this.mightDrag=null,this.startDoc=e.state.doc,this.selectNode=!!r[iq],this.allowDefault=r.shiftKey;let a,s;if(n.inside>-1)a=e.state.doc.nodeAt(n.inside),s=n.inside;else{let u=e.state.doc.resolve(n.pos);a=u.parent,s=u.depth?u.before():0}const o=i?null:r.target,l=o?e.docView.nearestDesc(o,!0):null;this.target=l&&l.nodeDOM.nodeType==1?l.nodeDOM:null;let{selection:c}=e.state;(r.button==0&&a.type.spec.draggable&&a.type.spec.selectable!==!1||c instanceof zt&&c.from<=s&&c.to>s)&&(this.mightDrag={node:a,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&qs&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this)),Uu(e,"pointer")}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>dc(this.view)),this.view.input.mouseDown=null}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(bw(e))),this.updateAllowDefault(e),this.allowDefault||!n?Uu(this.view,"pointer"):jwe(this.view,n.pos,n.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||_a&&this.mightDrag&&!this.mightDrag.node.isAtom||ia&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(jp(this.view,sn.near(this.view.state.doc.resolve(n.pos))),e.preventDefault()):Uu(this.view,"pointer")}move(e){this.updateAllowDefault(e),Uu(this.view,"pointer"),e.buttons==0&&this.done()}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}}Sa.touchstart=t=>{t.input.lastTouch=Date.now(),Lk(t),Uu(t,"pointer")};Sa.touchmove=t=>{t.input.lastTouch=Date.now(),Uu(t,"pointer")};Sa.contextmenu=t=>Lk(t);function aq(t,e){return t.composing?!0:_a&&Math.abs(e.timeStamp-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}const Hwe=rc?5e3:-1;wa.compositionstart=wa.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,n=e.selection.$to;if(e.selection instanceof Vt&&(e.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)))t.markCursor=t.state.storedMarks||n.marks(),m1(t,!0),t.markCursor=null;else if(m1(t,!e.selection.empty),qs&&e.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=t.domSelectionRange();for(let i=r.focusNode,a=r.focusOffset;i&&i.nodeType==1&&a!=0;){let s=a<0?i.lastChild:i.childNodes[a-1];if(!s)break;if(s.nodeType==3){let o=t.domSelection();o&&o.collapse(s,s.nodeValue.length);break}else i=s,a=-1}}t.input.composing=!0}sq(t,Hwe)};wa.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=e.timeStamp,t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,sq(t,20))};function sq(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>m1(t),e))}function oq(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=Vwe());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function $we(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let n=LSe(e.focusNode,e.focusOffset),r=ISe(e.focusNode,e.focusOffset);if(n&&r&&n!=r){let i=r.pmViewDesc,a=t.domObserver.lastChangedTextNode;if(n==a||r==a)return a;if(!i||!i.isText(r.nodeValue))return r;if(t.input.compositionNode==r){let s=n.pmViewDesc;if(!(!s||!s.isText(n.nodeValue)))return r}}return n||r}function Vwe(){let t=document.createEvent("Event");return t.initEvent("event",!0,!0),t.timeStamp}function m1(t,e=!1){if(!(rc&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),oq(t),e||t.docView&&t.docView.dirty){let n=Rk(t),r=t.state.selection;return n&&!n.eq(r)?t.dispatch(t.state.tr.setSelection(n)):(t.markCursor||e)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function Gwe(t,e){if(!t.dom.parentNode)return;let n=t.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(e),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),i=document.createRange();i.selectNodeContents(e),t.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),t.focus()},50)}const o0=Ha&&Gu<15||im&&BSe<604;Sa.copy=wa.cut=(t,e)=>{let n=e,r=t.state.selection,i=n.type=="cut";if(r.empty)return;let a=o0?null:n.clipboardData,s=r.content(),{dom:o,text:l}=kk(t,s);a?(n.preventDefault(),a.clearData(),a.setData("text/html",o.innerHTML),a.setData("text/plain",l)):Gwe(t,o),i&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function Wwe(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function qwe(t,e){if(!t.dom.parentNode)return;let n=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,r=t.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let i=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),r.parentNode&&r.parentNode.removeChild(r),n?l0(t,r.value,null,i,e):l0(t,r.textContent,r.innerHTML,i,e)},50)}function l0(t,e,n,r,i){let a=Q7(t,e,n,r,t.state.selection.$from);if(t.someProp("handlePaste",l=>l(t,i,a||Et.empty)))return!0;if(!a)return!1;let s=Wwe(a),o=s?t.state.tr.replaceSelectionWith(s,r):t.state.tr.replaceSelection(a);return t.dispatch(o.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function lq(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let n=t.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}wa.paste=(t,e)=>{let n=e;if(t.composing&&!rc)return;let r=o0?null:n.clipboardData,i=t.input.shiftKey&&t.input.lastKeyCode!=45;r&&l0(t,lq(r),r.getData("text/html"),i,n)?n.preventDefault():qwe(t,n)};class cq{constructor(e,n,r){this.slice=e,this.move=n,this.node=r}}const Xwe=Is?"altKey":"ctrlKey";function uq(t,e){let n=t.someProp("dragCopies",r=>!r(e));return n??!e[Xwe]}Sa.dragstart=(t,e)=>{let n=e,r=t.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let i=t.state.selection,a=i.empty?null:t.posAtCoords(bw(n)),s;if(!(a&&a.pos>=i.from&&a.pos<=(i instanceof zt?i.to-1:i.to))){if(r&&r.mightDrag)s=zt.create(t.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let f=t.docView.nearestDesc(n.target,!0);f&&f.node.type.spec.draggable&&f!=t.docView&&(s=zt.create(t.state.doc,f.posBefore))}}let o=(s||t.state.selection).content(),{dom:l,text:c,slice:u}=kk(t,o);(!n.dataTransfer.files.length||!ia||I7>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(o0?"Text":"text/html",l.innerHTML),n.dataTransfer.effectAllowed="copyMove",o0||n.dataTransfer.setData("text/plain",c),t.dragging=new cq(u,uq(t,n),s)};Sa.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};wa.dragover=wa.dragenter=(t,e)=>e.preventDefault();wa.drop=(t,e)=>{let n=e,r=t.dragging;if(t.dragging=null,!n.dataTransfer)return;let i=t.posAtCoords(bw(n));if(!i)return;let a=t.state.doc.resolve(i.pos),s=r&&r.slice;s?t.someProp("transformPasted",y=>{s=y(s,t,!1)}):s=Q7(t,lq(n.dataTransfer),o0?null:n.dataTransfer.getData("text/html"),!1,a);let o=!!(r&&uq(t,n));if(t.someProp("handleDrop",y=>y(t,n,s||Et.empty,o))){n.preventDefault();return}if(!s)return;n.preventDefault();let l=s?m7(t.state.doc,a.pos,s):a.pos;l==null&&(l=a.pos);let c=t.state.tr;if(o){let{node:y}=r;y?y.replace(c):c.deleteSelection()}let u=c.mapping.map(l),f=s.openStart==0&&s.openEnd==0&&s.content.childCount==1,g=c.doc;if(f?c.replaceRangeWith(u,u,s.content.firstChild):c.replaceRange(u,u,s),c.doc.eq(g))return;let m=c.doc.resolve(u);if(f&&zt.isSelectable(s.content.firstChild)&&m.nodeAfter&&m.nodeAfter.sameMarkup(s.content.firstChild))c.setSelection(new zt(m));else{let y=c.mapping.map(l);c.mapping.maps[c.mapping.maps.length-1].forEach((v,b,x,M)=>y=M),c.setSelection(Pk(t,m,c.doc.resolve(y)))}t.focus(),t.dispatch(c.setMeta("uiEvent","drop"))};Sa.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&dc(t)},20))};Sa.blur=(t,e)=>{let n=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),n.relatedTarget&&t.dom.contains(n.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};Sa.beforeinput=(t,e)=>{if(ia&&rc&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:r}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=r||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",a=>a(t,Jd(8,"Backspace")))))return;let{$cursor:i}=t.state.selection;i&&i.pos>0&&t.dispatch(t.state.tr.delete(i.pos-1,i.pos).scrollIntoView())},50)}};for(let t in wa)Sa[t]=wa[t];function c0(t,e){if(t==e)return!0;for(let n in t)if(t[n]!==e[n])return!1;for(let n in e)if(!(n in t))return!1;return!0}class g1{constructor(e,n){this.toDOM=e,this.spec=n||mf,this.side=this.spec.side||0}map(e,n,r,i){let{pos:a,deleted:s}=e.mapResult(n.from+i,this.side<0?-1:1);return s?null:new ga(a-r,a-r,this)}valid(){return!0}eq(e){return this==e||e instanceof g1&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&c0(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}}class qu{constructor(e,n){this.attrs=e,this.spec=n||mf}map(e,n,r,i){let a=e.map(n.from+i,this.spec.inclusiveStart?-1:1)-r,s=e.map(n.to+i,this.spec.inclusiveEnd?1:-1)-r;return a>=s?null:new ga(a,s,this)}valid(e,n){return n.from=e&&(!a||a(o.spec))&&r.push(o.copy(o.from+i,o.to+i))}for(let s=0;se){let o=this.children[s]+1;this.children[s+2].findInner(e-o,n-o,r,i+o,a)}}map(e,n,r){return this==ta||e.maps.length==0?this:this.mapInner(e,n,0,0,r||mf)}mapInner(e,n,r,i,a){let s;for(let o=0;o{let c=l+r,u;if(u=fq(n,o,c)){for(i||(i=this.children.slice());ao&&f.to=e){this.children[o]==e&&(r=this.children[o+2]);break}let a=e+1,s=a+n.content.size;for(let o=0;oa&&l.type instanceof qu){let c=Math.max(a,l.from)-a,u=Math.min(s,l.to)-a;ci.map(e,n,mf));return Ru.from(r)}forChild(e,n){if(n.isLeaf)return pr.empty;let r=[];for(let i=0;in instanceof pr)?e:e.reduce((n,r)=>n.concat(r instanceof pr?r:r.members),[]))}}forEachSet(e){for(let n=0;n{let b=v-y-(m-g);for(let x=0;xM+u-f)continue;let w=o[x]+u-f;m>=w?o[x+1]=g<=w?-2:-1:g>=u&&b&&(o[x]+=b,o[x+1]+=b)}f+=b}),u=n.maps[c].map(u,-1)}let l=!1;for(let c=0;c=r.content.size){l=!0;continue}let g=n.map(t[c+1]+a,-1),m=g-i,{index:y,offset:v}=r.content.findIndex(f),b=r.maybeChild(y);if(b&&v==f&&v+b.nodeSize==m){let x=o[c+2].mapInner(n,b,u+1,t[c]+a+1,s);x!=ta?(o[c]=f,o[c+1]=m,o[c+2]=x):(o[c+1]=-2,l=!0)}else l=!0}if(l){let c=Ywe(o,t,e,n,i,a,s),u=x1(c,r,0,s);e=u.local;for(let f=0;fn&&s.to{let c=fq(t,o,l+n);if(c){a=!0;let u=x1(c,o,n+l+1,r);u!=ta&&i.push(l,l+o.nodeSize,u)}});let s=dq(a?hq(t):t,-n).sort(gf);for(let o=0;o0;)e++;t.splice(e,0,n)}function p2(t){let e=[];return t.someProp("decorations",n=>{let r=n(t.state);r&&r!=ta&&e.push(r)}),t.cursorWrapper&&e.push(pr.create(t.state.doc,[t.cursorWrapper.deco])),Ru.from(e)}const Zwe={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},Qwe=Ha&&Gu<=11;class Jwe{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}}class eMe{constructor(e,n){this.view=e,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new Jwe,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let i=0;ii.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),Qwe&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,Zwe)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let n=0;nthis.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(UB(this.view)){if(this.suppressingSelectionUpdates)return dc(this.view);if(Ha&&Gu<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&Lf(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let n=new Set,r;for(let a=e.focusNode;a;a=rm(a))n.add(a);for(let a=e.anchorNode;a;a=rm(a))if(n.has(a)){r=a;break}let i=r&&this.view.docView.nearestDesc(r);if(i&&i.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=e.domSelectionRange(),i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&UB(e)&&!this.ignoreSelectionChange(r),a=-1,s=-1,o=!1,l=[];if(e.editable)for(let u=0;uf.nodeName=="BR");if(u.length==2){let[f,g]=u;f.parentNode&&f.parentNode.parentNode==g.parentNode?g.remove():f.remove()}else{let{focusNode:f}=this.currentSelection;for(let g of u){let m=g.parentNode;m&&m.nodeName=="LI"&&(!f||rMe(e,f)!=m)&&g.remove()}}}let c=null;a<0&&i&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)-1||i)&&(a>-1&&(e.docView.markDirty(a,s),tMe(e)),this.handleDOMChange(a,s,o,l),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(r)||dc(e),this.currentSelection.set(r))}registerMutation(e,n){if(n.indexOf(e.target)>-1)return null;let r=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(r==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!r||r.ignoreMutation(e))return null;if(e.type=="childList"){for(let u=0;ui;b--){let x=r.childNodes[b-1],M=x.pmViewDesc;if(x.nodeName=="BR"&&!M){a=b;break}if(!M||M.size)break}let f=t.state.doc,g=t.someProp("domParser")||wx.fromSchema(t.state.schema),m=f.resolve(s),y=null,v=g.parse(r,{topNode:m.parent,topMatch:m.parent.contentMatchAt(m.index()),topOpen:!0,from:i,to:a,preserveWhitespace:m.parent.type.whitespace=="pre"?"full":!0,findPositions:c,ruleFromNode:aMe,context:m});if(c&&c[0].pos!=null){let b=c[0].pos,x=c[1]&&c[1].pos;x==null&&(x=b),y={anchor:b+s,head:x+s}}return{doc:v,sel:y,from:s,to:o}}function aMe(t){let e=t.pmViewDesc;if(e)return e.parseRule();if(t.nodeName=="BR"&&t.parentNode){if(_a&&/^(ul|ol)$/i.test(t.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(t.parentNode.lastChild==t||_a&&/^(tr|table)$/i.test(t.parentNode.nodeName))return{ignore:!0}}else if(t.nodeName=="IMG"&&t.getAttribute("mark-placeholder"))return{ignore:!0};return null}const sMe=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function oMe(t,e,n,r,i){let a=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let N=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,j=Rk(t,N);if(j&&!t.state.selection.eq(j)){if(ia&&rc&&t.input.lastKeyCode===13&&Date.now()-100k(t,Jd(13,"Enter"))))return;let C=t.state.tr.setSelection(j);N=="pointer"?C.setMeta("pointer",!0):N=="key"&&C.scrollIntoView(),a&&C.setMeta("composition",a),t.dispatch(C)}return}let s=t.state.doc.resolve(e),o=s.sharedDepth(n);e=s.before(o+1),n=t.state.doc.resolve(n).after(o+1);let l=t.state.selection,c=iMe(t,e,n),u=t.state.doc,f=u.slice(c.from,c.to),g,m;t.input.lastKeyCode===8&&Date.now()-100Date.now()-225||rc)&&i.some(N=>N.nodeType==1&&!sMe.test(N.nodeName))&&(!y||y.endA>=y.endB)&&t.someProp("handleKeyDown",N=>N(t,Jd(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!y)if(r&&l instanceof Vt&&!l.empty&&l.$head.sameParent(l.$anchor)&&!t.composing&&!(c.sel&&c.sel.anchor!=c.sel.head))y={start:l.from,endA:l.to,endB:l.to};else{if(c.sel){let N=YB(t,t.state.doc,c.sel);if(N&&!N.eq(t.state.selection)){let j=t.state.tr.setSelection(N);a&&j.setMeta("composition",a),t.dispatch(j)}}return}t.state.selection.fromt.state.selection.from&&y.start<=t.state.selection.from+2&&t.state.selection.from>=c.from?y.start=t.state.selection.from:y.endA=t.state.selection.to-2&&t.state.selection.to<=c.to&&(y.endB+=t.state.selection.to-y.endA,y.endA=t.state.selection.to)),Ha&&Gu<=11&&y.endB==y.start+1&&y.endA==y.start&&y.start>c.from&&c.doc.textBetween(y.start-c.from-1,y.start-c.from+1)=="  "&&(y.start--,y.endA--,y.endB--);let v=c.doc.resolveNoCache(y.start-c.from),b=c.doc.resolveNoCache(y.endB-c.from),x=u.resolve(y.start),M=v.sameParent(b)&&v.parent.inlineContent&&x.end()>=y.endA;if((im&&t.input.lastIOSEnter>Date.now()-225&&(!M||i.some(N=>N.nodeName=="DIV"||N.nodeName=="P"))||!M&&v.posN(t,Jd(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>y.start&&cMe(u,y.start,y.endA,v,b)&&t.someProp("handleKeyDown",N=>N(t,Jd(8,"Backspace")))){rc&&ia&&t.domObserver.suppressSelectionUpdates();return}ia&&y.endB==y.start&&(t.input.lastChromeDelete=Date.now()),rc&&!M&&v.start()!=b.start()&&b.parentOffset==0&&v.depth==b.depth&&c.sel&&c.sel.anchor==c.sel.head&&c.sel.head==y.endA&&(y.endB-=2,b=c.doc.resolveNoCache(y.endB-c.from),setTimeout(()=>{t.someProp("handleKeyDown",function(N){return N(t,Jd(13,"Enter"))})},20));let w=y.start,A=y.endA,T=N=>{let j=N||t.state.tr.replace(w,A,c.doc.slice(y.start-c.from,y.endB-c.from));if(c.sel){let C=YB(t,j.doc,c.sel);C&&!(ia&&t.composing&&C.empty&&(y.start!=y.endB||t.input.lastChromeDeletedc(t),20));let N=T(t.state.tr.delete(w,A)),j=u.resolve(y.start).marksAcross(u.resolve(y.endA));j&&N.ensureMarks(j),t.dispatch(N)}else if(y.endA==y.endB&&(R=lMe(v.parent.content.cut(v.parentOffset,b.parentOffset),x.parent.content.cut(x.parentOffset,y.endA-x.start())))){let N=T(t.state.tr);R.type=="add"?N.addMark(w,A,R.mark):N.removeMark(w,A,R.mark),t.dispatch(N)}else if(v.parent.child(v.index()).isText&&v.index()==b.index()-(b.textOffset?0:1)){let N=v.parent.textBetween(v.parentOffset,b.parentOffset),j=()=>T(t.state.tr.insertText(N,w,A));t.someProp("handleTextInput",C=>C(t,w,A,N,j))||t.dispatch(j())}else t.dispatch(T());else t.dispatch(T())}function YB(t,e,n){return Math.max(n.anchor,n.head)>e.content.size?null:Pk(t,e.resolve(n.anchor),e.resolve(n.head))}function lMe(t,e){let n=t.firstChild.marks,r=e.firstChild.marks,i=n,a=r,s,o,l;for(let u=0;uu.mark(o.addToSet(u.marks));else if(i.length==0&&a.length==1)o=a[0],s="remove",l=u=>u.mark(o.removeFromSet(u.marks));else return null;let c=[];for(let u=0;un||m2(s,!0,!1)0&&(e||t.indexAfter(r)==t.node(r).childCount);)r--,i++,e=!1;if(n){let a=t.node(r).maybeChild(t.indexAfter(r));for(;a&&!a.isLeaf;)a=a.firstChild,i++}return i}function uMe(t,e,n,r,i){let a=t.findDiffStart(e,n);if(a==null)return null;let{a:s,b:o}=t.findDiffEnd(e,n+t.size,n+e.size);if(i=="end"){let l=Math.max(0,a-Math.min(s,o));r-=s+l-a}if(s=s?a-r:0;a-=l,a&&a=o?a-r:0;a-=l,a&&a=56320&&e<=57343&&n>=55296&&n<=56319}class pq{constructor(e,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new Nwe,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(nH),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=eH(this),JB(this),this.nodeViews=tH(this),this.docView=kB(this.state.doc,QB(this),p2(this),this.dom,this),this.domObserver=new eMe(this,(r,i,a,s)=>oMe(this,r,i,a,s)),this.domObserver.start(),Rwe(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let n in e)this._props[n]=e[n];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&rR(this);let n=this._props;this._props=e,e.plugins&&(e.plugins.forEach(nH),this.directPlugins=e.plugins),this.updateStateInner(e.state,n)}setProps(e){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in e)n[r]=e[r];this.update(n)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,n){var r;let i=this.state,a=!1,s=!1;e.storedMarks&&this.composing&&(oq(this),s=!0),this.state=e;let o=i.plugins!=e.plugins||this._props.plugins!=n.plugins;if(o||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let m=tH(this);fMe(m,this.nodeViews)&&(this.nodeViews=m,a=!0)}(o||n.handleDOMEvents!=this._props.handleDOMEvents)&&rR(this),this.editable=eH(this),JB(this);let l=p2(this),c=QB(this),u=i.plugins!=e.plugins&&!i.doc.eq(e.doc)?"reset":e.scrollToSelection>i.scrollToSelection?"to selection":"preserve",f=a||!this.docView.matchesNode(e.doc,c,l);(f||!e.selection.eq(i.selection))&&(s=!0);let g=u=="preserve"&&s&&this.dom.style.overflowAnchor==null&&VSe(this);if(s){this.domObserver.stop();let m=f&&(Ha||ia)&&!this.composing&&!i.selection.empty&&!e.selection.empty&&dMe(i.selection,e.selection);if(f){let y=ia?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=$we(this)),(a||!this.docView.update(e.doc,c,l,this))&&(this.docView.updateOuterDeco(c),this.docView.destroy(),this.docView=kB(e.doc,c,l,this.dom,this)),y&&!this.trackWrites&&(m=!0)}m||!(this.input.mouseDown&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&pwe(this))?dc(this,m):(K7(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(i),!((r=this.dragging)===null||r===void 0)&&r.node&&!i.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,i),u=="reset"?this.dom.scrollTop=0:u=="to selection"?this.scrollToSelection():g&&GSe(g)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof zt){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&AB(this,n.getBoundingClientRect(),e)}else AB(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n0&&this.state.doc.nodeAt(a))==r.node&&(i=a)}this.dragging=new cq(e.slice,e.move,i<0?void 0:zt.create(this.state.doc,i))}someProp(e,n){let r=this._props&&this._props[e],i;if(r!=null&&(i=n?n(r):r))return i;for(let s=0;sn.ownerDocument.getSelection()),this._root=n}return e||document}updateRoot(){this._root=null}posAtCoords(e){return ZSe(this,e)}coordsAtPos(e,n=1){return B7(this,e,n)}domAtPos(e,n=0){return this.docView.domFromPos(e,n)}nodeDOM(e){let n=this.docView.descAt(e);return n?n.nodeDOM:null}posAtDOM(e,n,r=-1){let i=this.docView.posFromDOM(e,n,r);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(e,n){return nwe(this,n||this.state,e)}pasteHTML(e,n){return l0(this,"",e,!1,n||new ClipboardEvent("paste"))}pasteText(e,n){return l0(this,e,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(e){return kk(this,e)}destroy(){this.docView&&(Pwe(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],p2(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,DSe())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return Dwe(this,e)}domSelectionRange(){let e=this.domSelection();return e?_a&&this.root.nodeType===11&&USe(this.dom.ownerDocument)==this.dom&&nMe(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}}pq.prototype.dispatch=function(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))};function QB(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(t.state)),n)for(let r in n)r=="class"?e.class+=" "+n[r]:r=="style"?e.style=(e.style?e.style+";":"")+n[r]:!e[r]&&r!="contenteditable"&&r!="nodeName"&&(e[r]=String(n[r]))}),e.translate||(e.translate="no"),[ga.node(0,t.state.doc.content.size,e)]}function JB(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:ga.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function eH(t){return!t.someProp("editable",e=>e(t.state)===!1)}function dMe(t,e){let n=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(n)!=e.$anchor.start(n)}function tH(t){let e=Object.create(null);function n(r){for(let i in r)Object.prototype.hasOwnProperty.call(e,i)||(e[i]=r[i])}return t.someProp("nodeViews",n),t.someProp("markViews",n),e}function fMe(t,e){let n=0,r=0;for(let i in t){if(t[i]!=e[i])return!0;n++}for(let i in e)r++;return n!=r}function nH(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var ed={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},v1={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},hMe=typeof navigator<"u"&&/Mac/.test(navigator.platform),pMe=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Wi=0;Wi<10;Wi++)ed[48+Wi]=ed[96+Wi]=String(Wi);for(var Wi=1;Wi<=24;Wi++)ed[Wi+111]="F"+Wi;for(var Wi=65;Wi<=90;Wi++)ed[Wi]=String.fromCharCode(Wi+32),v1[Wi]=String.fromCharCode(Wi);for(var g2 in ed)v1.hasOwnProperty(g2)||(v1[g2]=ed[g2]);function mMe(t){var e=hMe&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||pMe&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?v1:ed)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}const gMe=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),xMe=typeof navigator<"u"&&/Win/.test(navigator.platform);function vMe(t){let e=t.split(/-(?!$)/),n=e[e.length-1];n=="Space"&&(n=" ");let r,i,a,s;for(let o=0;o{for(var n in e)_Me(t,n,{get:e[n],enumerable:!0})};function yw(t){const{state:e,transaction:n}=t;let{selection:r}=n,{doc:i}=n,{storedMarks:a}=n;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return a},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,a=n.storedMarks,n}}}var _w=class{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:t,editor:e,state:n}=this,{view:r}=e,{tr:i}=n,a=this.buildProps(i);return Object.fromEntries(Object.entries(t).map(([s,o])=>[s,(...c)=>{const u=o(...c)(a);return!i.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(i),u}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(t,e=!0){const{rawCommands:n,editor:r,state:i}=this,{view:a}=r,s=[],o=!!t,l=t||i.tr,c=()=>(!o&&e&&!l.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(l),s.every(f=>f===!0)),u={...Object.fromEntries(Object.entries(n).map(([f,g])=>[f,(...y)=>{const v=this.buildProps(l,e),b=g(...y)(v);return s.push(b),u}])),run:c};return u}createCan(t){const{rawCommands:e,state:n}=this,r=!1,i=t||n.tr,a=this.buildProps(i,r);return{...Object.fromEntries(Object.entries(e).map(([o,l])=>[o,(...c)=>l(...c)({...a,dispatch:void 0})])),chain:()=>this.createChain(i,r)}}buildProps(t,e=!0){const{rawCommands:n,editor:r,state:i}=this,{view:a}=r,s={tr:t,editor:r,view:a,state:yw({state:i,transaction:t}),dispatch:e?()=>{}:void 0,chain:()=>this.createChain(t,e),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map(([o,l])=>[o,(...c)=>l(...c)(s)]))}};return s}},gq={};Uk(gq,{blur:()=>SMe,clearContent:()=>wMe,clearNodes:()=>MMe,command:()=>EMe,createParagraphNear:()=>AMe,cut:()=>TMe,deleteCurrentNode:()=>CMe,deleteNode:()=>NMe,deleteRange:()=>RMe,deleteSelection:()=>PMe,enter:()=>kMe,exitCode:()=>DMe,extendMarkRange:()=>OMe,first:()=>LMe,focus:()=>jMe,forEach:()=>UMe,insertContent:()=>FMe,insertContentAt:()=>HMe,joinBackward:()=>GMe,joinDown:()=>VMe,joinForward:()=>WMe,joinItemBackward:()=>qMe,joinItemForward:()=>XMe,joinTextblockBackward:()=>KMe,joinTextblockForward:()=>YMe,joinUp:()=>$Me,keyboardShortcut:()=>QMe,lift:()=>JMe,liftEmptyBlock:()=>eEe,liftListItem:()=>tEe,newlineInCode:()=>nEe,resetAttributes:()=>rEe,scrollIntoView:()=>iEe,selectAll:()=>aEe,selectNodeBackward:()=>sEe,selectNodeForward:()=>oEe,selectParentNode:()=>lEe,selectTextblockEnd:()=>cEe,selectTextblockStart:()=>uEe,setContent:()=>dEe,setMark:()=>NEe,setMeta:()=>REe,setNode:()=>PEe,setNodeSelection:()=>kEe,setTextDirection:()=>DEe,setTextSelection:()=>OEe,sinkListItem:()=>LEe,splitBlock:()=>IEe,splitListItem:()=>jEe,toggleList:()=>UEe,toggleMark:()=>FEe,toggleNode:()=>zEe,toggleWrap:()=>BEe,undoInputRule:()=>HEe,unsetAllMarks:()=>$Ee,unsetMark:()=>VEe,unsetTextDirection:()=>GEe,updateAttributes:()=>WEe,wrapIn:()=>qEe,wrapInList:()=>XEe});var SMe=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{var n;t.isDestroyed||(e.dom.blur(),(n=window?.getSelection())==null||n.removeAllRanges())}),!0),wMe=(t=!0)=>({commands:e})=>e.setContent("",{emitUpdate:t}),MMe=()=>({state:t,tr:e,dispatch:n})=>{const{selection:r}=e,{ranges:i}=r;return n&&i.forEach(({$from:a,$to:s})=>{t.doc.nodesBetween(a.pos,s.pos,(o,l)=>{if(o.type.isText)return;const{doc:c,mapping:u}=e,f=c.resolve(u.map(l)),g=c.resolve(u.map(l+o.nodeSize)),m=f.blockRange(g);if(!m)return;const y=Am(m);if(o.type.isTextblock){const{defaultType:v}=f.parent.contentMatchAt(f.index());e.setNodeMarkup(m.start,v)}(y||y===0)&&e.lift(m,y)})}),!0},EMe=t=>e=>t(e),AMe=()=>({state:t,dispatch:e})=>P7(t,e),TMe=(t,e)=>({editor:n,tr:r})=>{const{state:i}=n,a=i.doc.slice(t.from,t.to);r.deleteRange(t.from,t.to);const s=r.mapping.map(e);return r.insert(s,a.content),r.setSelection(new Vt(r.doc.resolve(Math.max(s-1,0)))),!0},CMe=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,r=n.$anchor.node();if(r.content.size>0)return!1;const i=t.selection.$anchor;for(let a=i.depth;a>0;a-=1)if(i.node(a).type===r.type){if(e){const o=i.before(a),l=i.after(a);t.delete(o,l).scrollIntoView()}return!0}return!1};function Kr(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}var NMe=t=>({tr:e,state:n,dispatch:r})=>{const i=Kr(t,n.schema),a=e.selection.$anchor;for(let s=a.depth;s>0;s-=1)if(a.node(s).type===i){if(r){const l=a.before(s),c=a.after(s);e.delete(l,c).scrollIntoView()}return!0}return!1},RMe=t=>({tr:e,dispatch:n})=>{const{from:r,to:i}=t;return n&&e.delete(r,i),!0},PMe=()=>({state:t,dispatch:e})=>Mk(t,e),kMe=()=>({commands:t})=>t.keyboardShortcut("Enter"),DMe=()=>({state:t,dispatch:e})=>vSe(t,e);function Fk(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function b1(t,e,n={strict:!0}){const r=Object.keys(e);return r.length?r.every(i=>n.strict?e[i]===t[i]:Fk(e[i])?e[i].test(t[i]):e[i]===t[i]):!0}function xq(t,e,n={}){return t.find(r=>r.type===e&&b1(Object.fromEntries(Object.keys(n).map(i=>[i,r.attrs[i]])),n))}function rH(t,e,n={}){return!!xq(t,e,n)}function zk(t,e,n){var r;if(!t||!e)return;let i=t.parent.childAfter(t.parentOffset);if((!i.node||!i.node.marks.some(u=>u.type===e))&&(i=t.parent.childBefore(t.parentOffset)),!i.node||!i.node.marks.some(u=>u.type===e)||(n=n||((r=i.node.marks[0])==null?void 0:r.attrs),!xq([...i.node.marks],e,n)))return;let s=i.index,o=t.start()+i.offset,l=s+1,c=o+i.node.nodeSize;for(;s>0&&rH([...t.parent.child(s-1).marks],e,n);)s-=1,o-=t.parent.child(s).nodeSize;for(;l({tr:n,state:r,dispatch:i})=>{const a=Ac(t,r.schema),{doc:s,selection:o}=n,{$from:l,from:c,to:u}=o;if(i){const f=zk(l,a,e);if(f&&f.from<=c&&f.to>=u){const g=Vt.create(s,f.from,f.to);n.setSelection(g)}}return!0},LMe=t=>e=>{const n=typeof t=="function"?t(e):t;for(let r=0;r({editor:n,view:r,tr:i,dispatch:a})=>{e={scrollIntoView:!0,...e};const s=()=>{(Bk()||IMe())&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),e?.scrollIntoView&&n.commands.scrollIntoView())})};if(r.hasFocus()&&t===null||t===!1)return!0;if(a&&t===null&&!vq(n.state.selection))return s(),!0;const o=bq(i.doc,t)||n.state.selection,l=n.state.selection.eq(o);return a&&(l||i.setSelection(o),l&&i.storedMarks&&i.setStoredMarks(i.storedMarks),s()),!0},UMe=(t,e)=>n=>t.every((r,i)=>e(r,{...n,index:i})),FMe=(t,e)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},t,e),yq=t=>{const e=t.childNodes;for(let n=e.length-1;n>=0;n-=1){const r=e[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?t.removeChild(r):r.nodeType===1&&yq(r)}return t};function Iy(t){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");const e=`${t}`,n=new window.DOMParser().parseFromString(e,"text/html").body;return yq(n)}function u0(t,e,n){if(t instanceof Vu||t instanceof ht)return t;n={slice:!0,parseOptions:{},...n};const r=typeof t=="object"&&t!==null,i=typeof t=="string";if(r)try{if(Array.isArray(t)&&t.length>0)return ht.fromArray(t.map(o=>e.nodeFromJSON(o)));const s=e.nodeFromJSON(t);return n.errorOnInvalidContent&&s.check(),s}catch(a){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:a});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",a),u0("",e,n)}if(i){if(n.errorOnInvalidContent){let s=!1,o="";const l=new i7({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:c=>(s=!0,o=typeof c=="string"?c:c.outerHTML,null)}]}})});if(n.slice?wx.fromSchema(l).parseSlice(Iy(t),n.parseOptions):wx.fromSchema(l).parse(Iy(t),n.parseOptions),n.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${o}`)})}const a=wx.fromSchema(e);return n.slice?a.parseSlice(Iy(t),n.parseOptions).content:a.parse(Iy(t),n.parseOptions)}return u0("",e,n)}function zMe(t,e,n){const r=t.steps.length-1;if(r{s===0&&(s=u)}),t.setSelection(sn.near(t.doc.resolve(s),n))}var BMe=t=>!("type"in t),HMe=(t,e,n)=>({tr:r,dispatch:i,editor:a})=>{var s;if(i){n={parseOptions:a.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let o;const l=b=>{a.emit("contentError",{editor:a,error:b,disableCollaboration:()=>{"collaboration"in a.storage&&typeof a.storage.collaboration=="object"&&a.storage.collaboration&&(a.storage.collaboration.isDisabled=!0)}})},c={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!a.options.enableContentCheck&&a.options.emitContentError)try{u0(e,a.schema,{parseOptions:c,errorOnInvalidContent:!0})}catch(b){l(b)}try{o=u0(e,a.schema,{parseOptions:c,errorOnInvalidContent:(s=n.errorOnInvalidContent)!=null?s:a.options.enableContentCheck})}catch(b){return l(b),!1}let{from:u,to:f}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},g=!0,m=!0;if((BMe(o)?o:[o]).forEach(b=>{b.check(),g=g?b.isText&&b.marks.length===0:!1,m=m?b.isBlock:!1}),u===f&&m){const{parent:b}=r.doc.resolve(u);b.isTextblock&&!b.type.spec.code&&!b.childCount&&(u-=1,f+=1)}let v;if(g){if(Array.isArray(e))v=e.map(b=>b.text||"").join("");else if(e instanceof ht){let b="";e.forEach(x=>{x.text&&(b+=x.text)}),v=b}else typeof e=="object"&&e&&e.text?v=e.text:v=e;r.insertText(v,u,f)}else{v=o;const b=r.doc.resolve(u),x=b.node(),M=b.parentOffset===0,w=x.isText||x.isTextblock,A=x.content.size>0;M&&w&&A&&(u=Math.max(0,u-1)),r.replaceWith(u,f,v)}n.updateSelection&&zMe(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:u,text:v}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:u,text:v})}return!0},$Me=()=>({state:t,dispatch:e})=>mSe(t,e),VMe=()=>({state:t,dispatch:e})=>gSe(t,e),GMe=()=>({state:t,dispatch:e})=>M7(t,e),WMe=()=>({state:t,dispatch:e})=>C7(t,e),qMe=()=>({state:t,dispatch:e,tr:n})=>{try{const r=pw(t.doc,t.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},XMe=()=>({state:t,dispatch:e,tr:n})=>{try{const r=pw(t.doc,t.selection.$from.pos,1);return r==null?!1:(n.join(r,2),e&&e(n),!0)}catch{return!1}},KMe=()=>({state:t,dispatch:e})=>hSe(t,e),YMe=()=>({state:t,dispatch:e})=>pSe(t,e);function _q(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function ZMe(t){const e=t.split(/-(?!$)/);let n=e[e.length-1];n==="Space"&&(n=" ");let r,i,a,s;for(let o=0;o({editor:e,view:n,tr:r,dispatch:i})=>{const a=ZMe(t).split(/-(?!$)/),s=a.find(c=>!["Alt","Ctrl","Meta","Shift"].includes(c)),o=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:a.includes("Alt"),ctrlKey:a.includes("Ctrl"),metaKey:a.includes("Meta"),shiftKey:a.includes("Shift"),bubbles:!0,cancelable:!0}),l=e.captureTransaction(()=>{n.someProp("handleKeyDown",c=>c(n,o))});return l?.steps.forEach(c=>{const u=c.map(r.mapping);u&&i&&r.maybeStep(u)}),!0};function td(t,e,n={}){const{from:r,to:i,empty:a}=t.selection,s=e?Kr(e,t.schema):null,o=[];t.doc.nodesBetween(r,i,(f,g)=>{if(f.isText)return;const m=Math.max(r,g),y=Math.min(i,g+f.nodeSize);o.push({node:f,from:m,to:y})});const l=i-r,c=o.filter(f=>s?s.name===f.node.type.name:!0).filter(f=>b1(f.node.attrs,n,{strict:!1}));return a?!!c.length:c.reduce((f,g)=>f+g.to-g.from,0)>=l}var JMe=(t,e={})=>({state:n,dispatch:r})=>{const i=Kr(t,n.schema);return td(n,i,e)?xSe(n,r):!1},eEe=()=>({state:t,dispatch:e})=>k7(t,e),tEe=t=>({state:e,dispatch:n})=>{const r=Kr(t,e.schema);return NSe(r)(e,n)},nEe=()=>({state:t,dispatch:e})=>R7(t,e);function Sw(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function iH(t,e){const n=typeof e=="string"?[e]:e;return Object.keys(t).reduce((r,i)=>(n.includes(i)||(r[i]=t[i]),r),{})}var rEe=(t,e)=>({tr:n,state:r,dispatch:i})=>{let a=null,s=null;const o=Sw(typeof t=="string"?t:t.name,r.schema);if(!o)return!1;o==="node"&&(a=Kr(t,r.schema)),o==="mark"&&(s=Ac(t,r.schema));let l=!1;return n.selection.ranges.forEach(c=>{r.doc.nodesBetween(c.$from.pos,c.$to.pos,(u,f)=>{a&&a===u.type&&(l=!0,i&&n.setNodeMarkup(f,void 0,iH(u.attrs,e))),s&&u.marks.length&&u.marks.forEach(g=>{s===g.type&&(l=!0,i&&n.addMark(f,f+u.nodeSize,s.create(iH(g.attrs,e))))})})}),l},iEe=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),aEe=()=>({tr:t,dispatch:e})=>{if(e){const n=new ps(t.doc);t.setSelection(n)}return!0},sEe=()=>({state:t,dispatch:e})=>A7(t,e),oEe=()=>({state:t,dispatch:e})=>N7(t,e),lEe=()=>({state:t,dispatch:e})=>_Se(t,e),cEe=()=>({state:t,dispatch:e})=>MSe(t,e),uEe=()=>({state:t,dispatch:e})=>wSe(t,e);function iR(t,e,n={},r={}){return u0(t,e,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var dEe=(t,{errorOnInvalidContent:e,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:i,tr:a,dispatch:s,commands:o})=>{const{doc:l}=a;if(r.preserveWhitespace!=="full"){const c=iR(t,i.schema,r,{errorOnInvalidContent:e??i.options.enableContentCheck});return s&&a.replaceWith(0,l.content.size,c).setMeta("preventUpdate",!n),!0}return s&&a.setMeta("preventUpdate",!n),o.insertContentAt({from:0,to:l.content.size},t,{parseOptions:r,errorOnInvalidContent:e??i.options.enableContentCheck})};function Sq(t,e){const n=Ac(e,t.schema),{from:r,to:i,empty:a}=t.selection,s=[];a?(t.storedMarks&&s.push(...t.storedMarks),s.push(...t.selection.$head.marks())):t.doc.nodesBetween(r,i,l=>{s.push(...l.marks)});const o=s.find(l=>l.type.name===n.name);return o?{...o.attrs}:{}}function wq(t,e){const n=new y7(t);return e.forEach(r=>{r.steps.forEach(i=>{n.step(i)})}),n}function fEe(t){for(let e=0;e{n(i)&&r.push({node:i,pos:a})}),r}function pEe(t,e){for(let n=t.depth;n>0;n-=1){const r=t.node(n);if(e(r))return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:r}}}function ww(t){return e=>pEe(e.$from,t)}function jt(t,e,n){return t.config[e]===void 0&&t.parent?jt(t.parent,e,n):typeof t.config[e]=="function"?t.config[e].bind({...n,parent:t.parent?jt(t.parent,e,n):null}):t.config[e]}function Hk(t){return t.map(e=>{const n={name:e.name,options:e.options,storage:e.storage},r=jt(e,"addExtensions",n);return r?[e,...Hk(r())]:e}).flat(10)}function $k(t,e){const n=Kf.fromSchema(e).serializeFragment(t),i=document.implementation.createHTMLDocument().createElement("div");return i.appendChild(n),i.innerHTML}function Mq(t){return typeof t=="function"}function On(t,e=void 0,...n){return Mq(t)?e?t.bind(e)(...n):t(...n):t}function mEe(t={}){return Object.keys(t).length===0&&t.constructor===Object}function am(t){const e=t.filter(i=>i.type==="extension"),n=t.filter(i=>i.type==="node"),r=t.filter(i=>i.type==="mark");return{baseExtensions:e,nodeExtensions:n,markExtensions:r}}function Eq(t){const e=[],{nodeExtensions:n,markExtensions:r}=am(t),i=[...n,...r],a={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return t.forEach(s=>{const o={name:s.name,options:s.options,storage:s.storage,extensions:i},l=jt(s,"addGlobalAttributes",o);if(!l)return;l().forEach(u=>{u.types.forEach(f=>{Object.entries(u.attributes).forEach(([g,m])=>{e.push({type:f,name:g,attribute:{...a,...m}})})})})}),i.forEach(s=>{const o={name:s.name,options:s.options,storage:s.storage},l=jt(s,"addAttributes",o);if(!l)return;const c=l();Object.entries(c).forEach(([u,f])=>{const g={...a,...f};typeof g?.default=="function"&&(g.default=g.default()),g?.isRequired&&g?.default===void 0&&delete g.default,e.push({type:s.name,name:u,attribute:g})})}),e}function Er(...t){return t.filter(e=>!!e).reduce((e,n)=>{const r={...e};return Object.entries(n).forEach(([i,a])=>{if(!r[i]){r[i]=a;return}if(i==="class"){const o=a?String(a).split(" "):[],l=r[i]?r[i].split(" "):[],c=o.filter(u=>!l.includes(u));r[i]=[...l,...c].join(" ")}else if(i==="style"){const o=a?a.split(";").map(u=>u.trim()).filter(Boolean):[],l=r[i]?r[i].split(";").map(u=>u.trim()).filter(Boolean):[],c=new Map;l.forEach(u=>{const[f,g]=u.split(":").map(m=>m.trim());c.set(f,g)}),o.forEach(u=>{const[f,g]=u.split(":").map(m=>m.trim());c.set(f,g)}),r[i]=Array.from(c.entries()).map(([u,f])=>`${u}: ${f}`).join("; ")}else r[i]=a}),r},{})}function y1(t,e){return e.filter(n=>n.type===t.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(t.attrs)||{}:{[n.name]:t.attrs[n.name]}).reduce((n,r)=>Er(n,r),{})}function gEe(t){return typeof t!="string"?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):t==="true"?!0:t==="false"?!1:t}function aH(t,e){return"style"in t?t:{...t,getAttrs:n=>{const r=t.getAttrs?t.getAttrs(n):t.attrs;if(r===!1)return!1;const i=e.reduce((a,s)=>{const o=s.attribute.parseHTML?s.attribute.parseHTML(n):gEe(n.getAttribute(s.name));return o==null?a:{...a,[s.name]:o}},{});return{...r,...i}}}}function sH(t){return Object.fromEntries(Object.entries(t).filter(([e,n])=>e==="attrs"&&mEe(n)?!1:n!=null))}function oH(t){var e,n;const r={};return!((e=t?.attribute)!=null&&e.isRequired)&&"default"in(t?.attribute||{})&&(r.default=t.attribute.default),((n=t?.attribute)==null?void 0:n.validate)!==void 0&&(r.validate=t.attribute.validate),[t.name,r]}function xEe(t,e){var n;const r=Eq(t),{nodeExtensions:i,markExtensions:a}=am(t),s=(n=i.find(c=>jt(c,"topNode")))==null?void 0:n.name,o=Object.fromEntries(i.map(c=>{const u=r.filter(x=>x.type===c.name),f={name:c.name,options:c.options,storage:c.storage,editor:e},g=t.reduce((x,M)=>{const w=jt(M,"extendNodeSchema",f);return{...x,...w?w(c):{}}},{}),m=sH({...g,content:On(jt(c,"content",f)),marks:On(jt(c,"marks",f)),group:On(jt(c,"group",f)),inline:On(jt(c,"inline",f)),atom:On(jt(c,"atom",f)),selectable:On(jt(c,"selectable",f)),draggable:On(jt(c,"draggable",f)),code:On(jt(c,"code",f)),whitespace:On(jt(c,"whitespace",f)),linebreakReplacement:On(jt(c,"linebreakReplacement",f)),defining:On(jt(c,"defining",f)),isolating:On(jt(c,"isolating",f)),attrs:Object.fromEntries(u.map(oH))}),y=On(jt(c,"parseHTML",f));y&&(m.parseDOM=y.map(x=>aH(x,u)));const v=jt(c,"renderHTML",f);v&&(m.toDOM=x=>v({node:x,HTMLAttributes:y1(x,u)}));const b=jt(c,"renderText",f);return b&&(m.toText=b),[c.name,m]})),l=Object.fromEntries(a.map(c=>{const u=r.filter(b=>b.type===c.name),f={name:c.name,options:c.options,storage:c.storage,editor:e},g=t.reduce((b,x)=>{const M=jt(x,"extendMarkSchema",f);return{...b,...M?M(c):{}}},{}),m=sH({...g,inclusive:On(jt(c,"inclusive",f)),excludes:On(jt(c,"excludes",f)),group:On(jt(c,"group",f)),spanning:On(jt(c,"spanning",f)),code:On(jt(c,"code",f)),attrs:Object.fromEntries(u.map(oH))}),y=On(jt(c,"parseHTML",f));y&&(m.parseDOM=y.map(b=>aH(b,u)));const v=jt(c,"renderHTML",f);return v&&(m.toDOM=b=>v({mark:b,HTMLAttributes:y1(b,u)})),[c.name,m]}));return new i7({topNode:s,nodes:o,marks:l})}function vEe(t){const e=t.filter((n,r)=>t.indexOf(n)!==r);return Array.from(new Set(e))}function Vk(t){return t.sort((n,r)=>{const i=jt(n,"priority")||100,a=jt(r,"priority")||100;return i>a?-1:ir.name));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map(r=>`'${r}'`).join(", ")}]. This can lead to issues.`),e}function Tq(t,e,n){const{from:r,to:i}=e,{blockSeparator:a=` `,textSerializers:s={}}=n||{};let o="";return t.nodesBetween(r,i,(l,c,u,f)=>{var g;l.isBlock&&c>r&&(o+=a);const m=s?.[l.type.name];if(m)return u&&(o+=m({node:l,pos:c,parent:u,index:f,range:e})),!1;l.isText&&(o+=(g=l?.text)==null?void 0:g.slice(Math.max(r,c)-c,i-c))}),o}function bEe(t,e){const n={from:0,to:t.content.size};return Tq(t,n,e)}function Cq(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,n])=>[e,n.spec.toText]))}function yEe(t,e){const n=Kr(e,t.schema),{from:r,to:i}=t.selection,a=[];t.doc.nodesBetween(r,i,o=>{a.push(o)});const s=a.reverse().find(o=>o.type.name===n.name);return s?{...s.attrs}:{}}function Nq(t,e){const n=Sw(typeof e=="string"?e:e.name,t.schema);return n==="node"?yEe(t,e):n==="mark"?Sq(t,e):{}}function _Ee(t,e=JSON.stringify){const n={};return t.filter(r=>{const i=e(r);return Object.prototype.hasOwnProperty.call(n,i)?!1:n[i]=!0})}function SEe(t){const e=_Ee(t);return e.length===1?e:e.filter((n,r)=>!e.filter((a,s)=>s!==r).some(a=>n.oldRange.from>=a.oldRange.from&&n.oldRange.to<=a.oldRange.to&&n.newRange.from>=a.newRange.from&&n.newRange.to<=a.newRange.to))}function Rq(t){const{mapping:e,steps:n}=t,r=[];return e.maps.forEach((i,a)=>{const s=[];if(i.ranges.length)i.forEach((o,l)=>{s.push({from:o,to:l})});else{const{from:o,to:l}=n[a];if(o===void 0||l===void 0)return;s.push({from:o,to:l})}s.forEach(({from:o,to:l})=>{const c=e.slice(a).map(o,-1),u=e.slice(a).map(l),f=e.invert().map(c,-1),g=e.invert().map(u);r.push({oldRange:{from:f,to:g},newRange:{from:c,to:u}})})}),SEe(r)}function Gk(t,e,n){const r=[];return t===e?n.resolve(t).marks().forEach(i=>{const a=n.resolve(t),s=zk(a,i.type);s&&r.push({mark:i,...s})}):n.nodesBetween(t,e,(i,a)=>{!i||i?.nodeSize===void 0||r.push(...i.marks.map(s=>({from:a,to:a+i.nodeSize,mark:s})))}),r}var wEe=(t,e,n,r=20)=>{const i=t.doc.resolve(n);let a=r,s=null;for(;a>0&&s===null;){const o=i.node(a);o?.type.name===e?s=o:a-=1}return[s,a]};function v2(t,e){return e.nodes[t]||e.marks[t]||null}function T_(t,e,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{const i=t.find(a=>a.type===e&&a.name===r);return i?i.attribute.keepOnSplit:!1}))}var MEe=(t,e=500)=>{let n="";const r=t.parentOffset;return t.parent.nodesBetween(Math.max(0,r-e),r,(i,a,s,o)=>{var l,c;const u=((c=(l=i.type.spec).toText)==null?void 0:c.call(l,{node:i,pos:a,parent:s,index:o}))||i.textContent||"%leaf%";n+=i.isAtom&&!i.isText?u:u.slice(0,Math.max(0,r-a))}),n};function aR(t,e,n={}){const{empty:r,ranges:i}=t.selection,a=e?Ac(e,t.schema):null;if(r)return!!(t.storedMarks||t.selection.$from.marks()).filter(f=>a?a.name===f.type.name:!0).find(f=>b1(f.attrs,n,{strict:!1}));let s=0;const o=[];if(i.forEach(({$from:f,$to:g})=>{const m=f.pos,y=g.pos;t.doc.nodesBetween(m,y,(v,b)=>{if(!v.isText&&!v.marks.length)return;const x=Math.max(m,b),M=Math.min(y,b+v.nodeSize),w=M-x;s+=w,o.push(...v.marks.map(A=>({mark:A,from:x,to:M})))})}),s===0)return!1;const l=o.filter(f=>a?a.name===f.mark.type.name:!0).filter(f=>b1(f.mark.attrs,n,{strict:!1})).reduce((f,g)=>f+g.to-g.from,0),c=o.filter(f=>a?f.mark.type!==a&&f.mark.type.excludes(a):!0).reduce((f,g)=>f+g.to-g.from,0);return(l>0?l+c:l)>=s}function EEe(t,e,n={}){if(!e)return td(t,null,n)||aR(t,null,n);const r=Sw(e,t.schema);return r==="node"?td(t,e,n):r==="mark"?aR(t,e,n):!1}var AEe=(t,e)=>{const{$from:n,$to:r,$anchor:i}=t.selection;if(e){const a=ww(o=>o.type.name===e)(t.selection);if(!a)return!1;const s=t.doc.resolve(a.pos+1);return i.pos+1===s.end()}return!(r.parentOffset{const{$from:e,$to:n}=t.selection;return!(e.parentOffset>0||e.pos!==n.pos)};function lH(t,e){return Array.isArray(e)?e.some(n=>(typeof n=="string"?n:n.name)===t.name):e}function cH(t,e){const{nodeExtensions:n}=am(e),r=n.find(s=>s.name===t);if(!r)return!1;const i={name:r.name,options:r.options,storage:r.storage},a=On(jt(r,"group",i));return typeof a!="string"?!1:a.split(" ").includes("list")}function Mw(t,{checkChildren:e=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(t.type.name==="hardBreak")return!0;if(t.isText)return/^\s*$/m.test((r=t.text)!=null?r:"")}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let i=!0;return t.content.forEach(a=>{i!==!1&&(Mw(a,{ignoreWhitespace:n,checkChildren:e})||(i=!1))}),i}return!1}function Pq(t){return t instanceof zt}function CEe(t,e,n){var r;const{selection:i}=e;let a=null;if(vq(i)&&(a=i.$cursor),a){const o=(r=t.storedMarks)!=null?r:a.marks();return a.parent.type.allowsMarkType(n)&&(!!n.isInSet(o)||!o.some(c=>c.type.excludes(n)))}const{ranges:s}=i;return s.some(({$from:o,$to:l})=>{let c=o.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(n):!1;return t.doc.nodesBetween(o.pos,l.pos,(u,f,g)=>{if(c)return!1;if(u.isInline){const m=!g||g.type.allowsMarkType(n),y=!!n.isInSet(u.marks)||!u.marks.some(v=>v.type.excludes(n));c=m&&y}return!c}),c})}var NEe=(t,e={})=>({tr:n,state:r,dispatch:i})=>{const{selection:a}=n,{empty:s,ranges:o}=a,l=Ac(t,r.schema);if(i)if(s){const c=Sq(r,l);n.addStoredMark(l.create({...c,...e}))}else o.forEach(c=>{const u=c.$from.pos,f=c.$to.pos;r.doc.nodesBetween(u,f,(g,m)=>{const y=Math.max(m,u),v=Math.min(m+g.nodeSize,f);g.marks.find(x=>x.type===l)?g.marks.forEach(x=>{l===x.type&&n.addMark(y,v,l.create({...x.attrs,...e}))}):n.addMark(y,v,l.create(e))})});return CEe(r,n,l)},REe=(t,e)=>({tr:n})=>(n.setMeta(t,e),!0),PEe=(t,e={})=>({state:n,dispatch:r,chain:i})=>{const a=Kr(t,n.schema);let s;return n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),a.isTextblock?i().command(({commands:o})=>wB(a,{...s,...e})(n)?!0:o.clearNodes()).command(({state:o})=>wB(a,{...s,...e})(o,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},kEe=t=>({tr:e,dispatch:n})=>{if(n){const{doc:r}=e,i=af(t,0,r.content.size),a=zt.create(r,i);e.setSelection(a)}return!0},DEe=(t,e)=>({tr:n,state:r,dispatch:i})=>{const{selection:a}=r;let s,o;return typeof e=="number"?(s=e,o=e):e&&"from"in e&&"to"in e?(s=e.from,o=e.to):(s=a.from,o=a.to),i&&n.doc.nodesBetween(s,o,(l,c)=>{l.isText||n.setNodeMarkup(c,void 0,{...l.attrs,dir:t})}),!0},OEe=t=>({tr:e,dispatch:n})=>{if(n){const{doc:r}=e,{from:i,to:a}=typeof t=="number"?{from:t,to:t}:t,s=Vt.atStart(r).from,o=Vt.atEnd(r).to,l=af(i,s,o),c=af(a,s,o),u=Vt.create(r,l,c);e.setSelection(u)}return!0},LEe=t=>({state:e,dispatch:n})=>{const r=Kr(t,e.schema);return kSe(r)(e,n)};function uH(t,e){const n=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(n){const r=n.filter(i=>e?.includes(i.type.name));t.tr.ensureMarks(r)}}var IEe=({keepMarks:t=!0}={})=>({tr:e,state:n,dispatch:r,editor:i})=>{const{selection:a,doc:s}=e,{$from:o,$to:l}=a,c=i.extensionManager.attributes,u=T_(c,o.node().type.name,o.node().attrs);if(a instanceof zt&&a.node.isBlock)return!o.parentOffset||!uc(s,o.pos)?!1:(r&&(t&&uH(n,i.extensionManager.splittableMarks),e.split(o.pos).scrollIntoView()),!0);if(!o.parent.isBlock)return!1;const f=l.parentOffset===l.parent.content.size,g=o.depth===0?void 0:fEe(o.node(-1).contentMatchAt(o.indexAfter(-1)));let m=f&&g?[{type:g,attrs:u}]:void 0,y=uc(e.doc,e.mapping.map(o.pos),1,m);if(!m&&!y&&uc(e.doc,e.mapping.map(o.pos),1,g?[{type:g}]:void 0)&&(y=!0,m=g?[{type:g,attrs:u}]:void 0),r){if(y&&(a instanceof Vt&&e.deleteSelection(),e.split(e.mapping.map(o.pos),1,m),g&&!f&&!o.parentOffset&&o.parent.type!==g)){const v=e.mapping.map(o.before()),b=e.doc.resolve(v);o.node(-1).canReplaceWith(b.index(),b.index()+1,g)&&e.setNodeMarkup(e.mapping.map(o.before()),g)}t&&uH(n,i.extensionManager.splittableMarks),e.scrollIntoView()}return y},jEe=(t,e={})=>({tr:n,state:r,dispatch:i,editor:a})=>{var s;const o=Kr(t,r.schema),{$from:l,$to:c}=r.selection,u=r.selection.node;if(u&&u.isBlock||l.depth<2||!l.sameParent(c))return!1;const f=l.node(-1);if(f.type!==o)return!1;const g=a.extensionManager.attributes;if(l.parent.content.size===0&&l.node(-1).childCount===l.indexAfter(-1)){if(l.depth===2||l.node(-3).type!==o||l.index(-2)!==l.node(-2).childCount-1)return!1;if(i){let x=ht.empty;const M=l.index(-1)?1:l.index(-2)?2:3;for(let j=l.depth-M;j>=l.depth-3;j-=1)x=ht.from(l.node(j).copy(x));const w=l.indexAfter(-1){if(N>-1)return!1;j.isTextblock&&j.content.size===0&&(N=C+1)}),N>-1&&n.setSelection(Vt.near(n.doc.resolve(N))),n.scrollIntoView()}return!0}const m=c.pos===l.end()?f.contentMatchAt(0).defaultType:null,y={...T_(g,f.type.name,f.attrs),...e},v={...T_(g,l.node().type.name,l.node().attrs),...e};n.delete(l.pos,c.pos);const b=m?[{type:o,attrs:y},{type:m,attrs:v}]:[{type:o,attrs:y}];if(!uc(n.doc,l.pos,2))return!1;if(i){const{selection:x,storedMarks:M}=r,{splittableMarks:w}=a.extensionManager,A=M||x.$to.parentOffset&&x.$from.marks();if(n.split(l.pos,2,b).scrollIntoView(),!A||!i)return!0;const T=A.filter(R=>w.includes(R.type.name));n.ensureMarks(T)}return!0},b2=(t,e)=>{const n=ww(s=>s.type===e)(t.selection);if(!n)return!0;const r=t.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;const i=t.doc.nodeAt(r);return n.node.type===i?.type&&cd(t.doc,n.pos)&&t.join(n.pos),!0},y2=(t,e)=>{const n=ww(s=>s.type===e)(t.selection);if(!n)return!0;const r=t.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;const i=t.doc.nodeAt(r);return n.node.type===i?.type&&cd(t.doc,r)&&t.join(r),!0},UEe=(t,e,n,r={})=>({editor:i,tr:a,state:s,dispatch:o,chain:l,commands:c,can:u})=>{const{extensions:f,splittableMarks:g}=i.extensionManager,m=Kr(t,s.schema),y=Kr(e,s.schema),{selection:v,storedMarks:b}=s,{$from:x,$to:M}=v,w=x.blockRange(M),A=b||v.$to.parentOffset&&v.$from.marks();if(!w)return!1;const T=ww(R=>cH(R.type.name,f))(v);if(w.depth>=1&&T&&w.depth-T.depth<=1){if(T.node.type===m)return c.liftListItem(y);if(cH(T.node.type.name,f)&&m.validContent(T.node.content)&&o)return l().command(()=>(a.setNodeMarkup(T.pos,m),!0)).command(()=>b2(a,m)).command(()=>y2(a,m)).run()}return!n||!A||!o?l().command(()=>u().wrapInList(m,r)?!0:c.clearNodes()).wrapInList(m,r).command(()=>b2(a,m)).command(()=>y2(a,m)).run():l().command(()=>{const R=u().wrapInList(m,r),N=A.filter(j=>g.includes(j.type.name));return a.ensureMarks(N),R?!0:c.clearNodes()}).wrapInList(m,r).command(()=>b2(a,m)).command(()=>y2(a,m)).run()},FEe=(t,e={},n={})=>({state:r,commands:i})=>{const{extendEmptyMarkRange:a=!1}=n,s=Ac(t,r.schema);return aR(r,s,e)?i.unsetMark(s,{extendEmptyMarkRange:a}):i.setMark(s,e)},zEe=(t,e,n={})=>({state:r,commands:i})=>{const a=Kr(t,r.schema),s=Kr(e,r.schema),o=td(r,a,n);let l;return r.selection.$anchor.sameParent(r.selection.$head)&&(l=r.selection.$anchor.parent.attrs),o?i.setNode(s,l):i.setNode(a,{...l,...n})},BEe=(t,e={})=>({state:n,commands:r})=>{const i=Kr(t,n.schema);return td(n,i,e)?r.lift(i):r.wrapIn(i,e)},HEe=()=>({state:t,dispatch:e})=>{const n=t.plugins;for(let r=0;r=0;l-=1)s.step(o.steps[l].invert(o.docs[l]));if(a.text){const l=s.doc.resolve(a.from).marks();s.replaceWith(a.from,a.to,t.schema.text(a.text,l))}else s.delete(a.from,a.to)}return!0}}return!1},$Ee=()=>({tr:t,dispatch:e})=>{const{selection:n}=t,{empty:r,ranges:i}=n;return r||e&&i.forEach(a=>{t.removeMark(a.$from.pos,a.$to.pos)}),!0},VEe=(t,e={})=>({tr:n,state:r,dispatch:i})=>{var a;const{extendEmptyMarkRange:s=!1}=e,{selection:o}=n,l=Ac(t,r.schema),{$from:c,empty:u,ranges:f}=o;if(!i)return!0;if(u&&s){let{from:g,to:m}=o;const y=(a=c.marks().find(b=>b.type===l))==null?void 0:a.attrs,v=zk(c,l,y);v&&(g=v.from,m=v.to),n.removeMark(g,m,l)}else f.forEach(g=>{n.removeMark(g.$from.pos,g.$to.pos,l)});return n.removeStoredMark(l),!0},GEe=t=>({tr:e,state:n,dispatch:r})=>{const{selection:i}=n;let a,s;return typeof t=="number"?(a=t,s=t):t&&"from"in t&&"to"in t?(a=t.from,s=t.to):(a=i.from,s=i.to),r&&e.doc.nodesBetween(a,s,(o,l)=>{if(o.isText)return;const c={...o.attrs};delete c.dir,e.setNodeMarkup(l,void 0,c)}),!0},WEe=(t,e={})=>({tr:n,state:r,dispatch:i})=>{let a=null,s=null;const o=Sw(typeof t=="string"?t:t.name,r.schema);if(!o)return!1;o==="node"&&(a=Kr(t,r.schema)),o==="mark"&&(s=Ac(t,r.schema));let l=!1;return n.selection.ranges.forEach(c=>{const u=c.$from.pos,f=c.$to.pos;let g,m,y,v;n.selection.empty?r.doc.nodesBetween(u,f,(b,x)=>{a&&a===b.type&&(l=!0,y=Math.max(x,u),v=Math.min(x+b.nodeSize,f),g=x,m=b)}):r.doc.nodesBetween(u,f,(b,x)=>{x=u&&x<=f&&(a&&a===b.type&&(l=!0,i&&n.setNodeMarkup(x,void 0,{...b.attrs,...e})),s&&b.marks.length&&b.marks.forEach(M=>{if(s===M.type&&(l=!0,i)){const w=Math.max(x,u),A=Math.min(x+b.nodeSize,f);n.addMark(w,A,s.create({...M.attrs,...e}))}}))}),m&&(g!==void 0&&i&&n.setNodeMarkup(g,void 0,{...m.attrs,...e}),s&&m.marks.length&&m.marks.forEach(b=>{s===b.type&&i&&n.addMark(y,v,s.create({...b.attrs,...e}))}))}),l},qEe=(t,e={})=>({state:n,dispatch:r})=>{const i=Kr(t,n.schema);return ESe(i,e)(n,r)},XEe=(t,e={})=>({state:n,dispatch:r})=>{const i=Kr(t,n.schema);return ASe(i,e)(n,r)},KEe=class{constructor(){this.callbacks={}}on(e,n){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(n),this}emit(e,...n){const r=this.callbacks[e];return r&&r.forEach(i=>i.apply(this,n)),this}off(e,n){const r=this.callbacks[e];return r&&(n?this.callbacks[e]=r.filter(i=>i!==n):delete this.callbacks[e]),this}once(e,n){const r=(...i)=>{this.off(e,r),n.apply(this,i)};return this.on(e,r)}removeAllListeners(){this.callbacks={}}},Ew=class{constructor(t){var e;this.find=t.find,this.handler=t.handler,this.undoable=(e=t.undoable)!=null?e:!0}},YEe=(t,e)=>{if(Fk(e))return e.exec(t);const n=e(t);if(!n)return null;const r=[n.text];return r.index=n.index,r.input=t,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function jy(t){var e;const{editor:n,from:r,to:i,text:a,rules:s,plugin:o}=t,{view:l}=n;if(l.composing)return!1;const c=l.state.doc.resolve(r);if(c.parent.type.spec.code||(e=c.nodeBefore||c.nodeAfter)!=null&&e.marks.find(g=>g.type.spec.code))return!1;let u=!1;const f=MEe(c)+a;return s.forEach(g=>{if(u)return;const m=YEe(f,g.find);if(!m)return;const y=l.state.tr,v=yw({state:l.state,transaction:y}),b={from:r-(m[0].length-a.length),to:i},{commands:x,chain:M,can:w}=new _w({editor:n,state:v});g.handler({state:v,range:b,match:m,commands:x,chain:M,can:w})===null||!y.steps.length||(g.undoable&&y.setMeta(o,{transform:y,from:r,to:i,text:a}),l.dispatch(y),u=!0)}),u}function ZEe(t){const{editor:e,rules:n}=t,r=new xr({state:{init(){return null},apply(i,a,s){const o=i.getMeta(r);if(o)return o;const l=i.getMeta("applyInputRules");return!!l&&setTimeout(()=>{let{text:u}=l;typeof u=="string"?u=u:u=$k(ht.from(u),s.schema);const{from:f}=l,g=f+u.length;jy({editor:e,from:f,to:g,text:u,rules:n,plugin:r})}),i.selectionSet||i.docChanged?null:a}},props:{handleTextInput(i,a,s,o){return jy({editor:e,from:a,to:s,text:o,rules:n,plugin:r})},handleDOMEvents:{compositionend:i=>(setTimeout(()=>{const{$cursor:a}=i.state.selection;a&&jy({editor:e,from:a.pos,to:a.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(i,a){if(a.key!=="Enter")return!1;const{$cursor:s}=i.state.selection;return s?jy({editor:e,from:s.pos,to:s.pos,text:` -`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function QEe(t){return Object.prototype.toString.call(t).slice(8,-1)}function Uy(t){return QEe(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function kq(t,e){const n={...t};return Uy(t)&&Uy(e)&&Object.keys(e).forEach(r=>{Uy(e[r])&&Uy(t[r])?n[r]=kq(t[r],e[r]):n[r]=e[r]}),n}var Wk=class{constructor(t={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...t},this.name=this.config.name}get options(){return{...On(jt(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...On(jt(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(t={}){const e=this.extend({...this.config,addOptions:()=>kq(this.options,t)});return e.name=this.name,e.parent=this.parent,e}extend(t={}){const e=new this.constructor({...this.config,...t});return e.parent=this,this.child=e,e.name="name"in t?t.name:e.parent.name,e}},dd=class Dq extends Wk{constructor(){super(...arguments),this.type="mark"}static create(e={}){const n=typeof e=="function"?e():e;return new Dq(n)}static handleExit({editor:e,mark:n}){const{tr:r}=e.state,i=e.state.selection.$from;if(i.pos===i.end()){const s=i.marks();if(!!!s.find(c=>c?.type.name===n.name))return!1;const l=s.find(c=>c?.type.name===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",i.pos),e.view.dispatch(r),!0}return!1}configure(e){return super.configure(e)}extend(e){const n=typeof e=="function"?e():e;return super.extend(n)}};function JEe(t){return typeof t=="number"}var eAe=class{constructor(t){this.find=t.find,this.handler=t.handler}},tAe=(t,e,n)=>{if(Fk(e))return[...t.matchAll(e)];const r=e(t,n);return r?r.map(i=>{const a=[i.text];return a.index=i.index,a.input=t,a.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),a.push(i.replaceWith)),a}):[]};function nAe(t){const{editor:e,state:n,from:r,to:i,rule:a,pasteEvent:s,dropEvent:o}=t,{commands:l,chain:c,can:u}=new _w({editor:e,state:n}),f=[];return n.doc.nodesBetween(r,i,(m,y)=>{var v,b,x,M,w;if((b=(v=m.type)==null?void 0:v.spec)!=null&&b.code||!(m.isText||m.isTextblock||m.isInline))return;const A=(w=(M=(x=m.content)==null?void 0:x.size)!=null?M:m.nodeSize)!=null?w:0,T=Math.max(r,y),R=Math.min(i,y+A);if(T>=R)return;const N=m.isText?m.text||"":m.textBetween(T-y,R-y,void 0,"");tAe(N,a.find,s).forEach(C=>{if(C.index===void 0)return;const k=T+C.index+1,U=k+C[0].length,I={from:n.tr.mapping.map(k),to:n.tr.mapping.map(U)},H=a.handler({state:n,range:I,match:C,commands:l,chain:c,can:u,pasteEvent:s,dropEvent:o});f.push(H)})}),f.every(m=>m!==null)}var Fy=null,rAe=t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=n.clipboardData)==null||e.setData("text/html",t),n};function iAe(t){const{editor:e,rules:n}=t;let r=null,i=!1,a=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,o;try{o=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{o=null}const l=({state:u,from:f,to:g,rule:m,pasteEvt:y})=>{const v=u.tr,b=yw({state:u,transaction:v});if(!(!nAe({editor:e,state:b,from:Math.max(f-1,0),to:g.b-1,rule:m,pasteEvent:y,dropEvent:o})||!v.steps.length)){try{o=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{o=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,v}};return n.map(u=>new xr({view(f){const g=y=>{var v;r=(v=f.dom.parentElement)!=null&&v.contains(y.target)?f.dom.parentElement:null,r&&(Fy=e)},m=()=>{Fy&&(Fy=null)};return window.addEventListener("dragstart",g),window.addEventListener("dragend",m),{destroy(){window.removeEventListener("dragstart",g),window.removeEventListener("dragend",m)}}},props:{handleDOMEvents:{drop:(f,g)=>{if(a=r===f.dom.parentElement,o=g,!a){const m=Fy;m?.isEditable&&setTimeout(()=>{const y=m.state.selection;y&&m.commands.deleteRange({from:y.from,to:y.to})},10)}return!1},paste:(f,g)=>{var m;const y=(m=g.clipboardData)==null?void 0:m.getData("text/html");return s=g,i=!!y?.includes("data-pm-slice"),!1}}},appendTransaction:(f,g,m)=>{const y=f[0],v=y.getMeta("uiEvent")==="paste"&&!i,b=y.getMeta("uiEvent")==="drop"&&!a,x=y.getMeta("applyPasteRules"),M=!!x;if(!v&&!b&&!M)return;if(M){let{text:T}=x;typeof T=="string"?T=T:T=$k(ht.from(T),m.schema);const{from:R}=x,N=R+T.length,j=rAe(T);return l({rule:u,state:m,from:R,to:{b:N},pasteEvt:j})}const w=g.doc.content.findDiffStart(m.doc.content),A=g.doc.content.findDiffEnd(m.doc.content);if(!(!JEe(w)||!A||w===A.b))return l({rule:u,state:m,from:w,to:A,pasteEvt:s})}}))}var Aw=class{constructor(t,e){this.splittableMarks=[],this.editor=e,this.baseExtensions=t,this.extensions=Aq(t),this.schema=xEe(this.extensions,e),this.setupExtensions()}get commands(){return this.extensions.reduce((t,e)=>{const n={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:v2(e.name,this.schema)},r=jt(e,"addCommands",n);return r?{...t,...r()}:t},{})}get plugins(){const{editor:t}=this;return Vk([...this.extensions].reverse()).flatMap(r=>{const i={name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:t,type:v2(r.name,this.schema)},a=[],s=jt(r,"addKeyboardShortcuts",i);let o={};if(r.type==="mark"&&jt(r,"exitable",i)&&(o.ArrowRight=()=>dd.handleExit({editor:t,mark:r})),s){const g=Object.fromEntries(Object.entries(s()).map(([m,y])=>[m,()=>y({editor:t})]));o={...o,...g}}const l=yMe(o);a.push(l);const c=jt(r,"addInputRules",i);if(lH(r,t.options.enableInputRules)&&c){const g=c();if(g&&g.length){const m=ZEe({editor:t,rules:g}),y=Array.isArray(m)?m:[m];a.push(...y)}}const u=jt(r,"addPasteRules",i);if(lH(r,t.options.enablePasteRules)&&u){const g=u();if(g&&g.length){const m=iAe({editor:t,rules:g});a.push(...m)}}const f=jt(r,"addProseMirrorPlugins",i);if(f){const g=f();a.push(...g)}return a})}get attributes(){return Eq(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:e}=am(this.extensions);return Object.fromEntries(e.filter(n=>!!jt(n,"addNodeView")).map(n=>{const r=this.attributes.filter(l=>l.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:Kr(n.name,this.schema)},a=jt(n,"addNodeView",i);if(!a)return[];const s=a();if(!s)return[];const o=(l,c,u,f,g)=>{const m=y1(l,r);return s({node:l,view:c,getPos:u,decorations:f,innerDecorations:g,editor:t,extension:n,HTMLAttributes:m})};return[n.name,o]}))}get markViews(){const{editor:t}=this,{markExtensions:e}=am(this.extensions);return Object.fromEntries(e.filter(n=>!!jt(n,"addMarkView")).map(n=>{const r=this.attributes.filter(o=>o.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:Ac(n.name,this.schema)},a=jt(n,"addMarkView",i);if(!a)return[];const s=(o,l,c)=>{const u=y1(o,r);return a()({mark:o,view:l,inline:c,editor:t,extension:n,HTMLAttributes:u,updateAttributes:f=>{bAe(o,t,f)}})};return[n.name,s]}))}setupExtensions(){const t=this.extensions;this.editor.extensionStorage=Object.fromEntries(t.map(e=>[e.name,e.storage])),t.forEach(e=>{var n;const r={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:v2(e.name,this.schema)};e.type==="mark"&&((n=On(jt(e,"keepOnSplit",r)))==null||n)&&this.splittableMarks.push(e.name);const i=jt(e,"onBeforeCreate",r),a=jt(e,"onCreate",r),s=jt(e,"onUpdate",r),o=jt(e,"onSelectionUpdate",r),l=jt(e,"onTransaction",r),c=jt(e,"onFocus",r),u=jt(e,"onBlur",r),f=jt(e,"onDestroy",r);i&&this.editor.on("beforeCreate",i),a&&this.editor.on("create",a),s&&this.editor.on("update",s),o&&this.editor.on("selectionUpdate",o),l&&this.editor.on("transaction",l),c&&this.editor.on("focus",c),u&&this.editor.on("blur",u),f&&this.editor.on("destroy",f)})}};Aw.resolve=Aq;Aw.sort=Vk;Aw.flatten=Hk;var aAe={};Uk(aAe,{ClipboardTextSerializer:()=>Lq,Commands:()=>Iq,Delete:()=>jq,Drop:()=>Uq,Editable:()=>Fq,FocusEvents:()=>Bq,Keymap:()=>Hq,Paste:()=>$q,Tabindex:()=>Vq,TextDirection:()=>Gq,focusEventsPluginKey:()=>zq});var Wn=class Oq extends Wk{constructor(){super(...arguments),this.type="extension"}static create(e={}){const n=typeof e=="function"?e():e;return new Oq(n)}configure(e){return super.configure(e)}extend(e){const n=typeof e=="function"?e():e;return super.extend(n)}},Lq=Wn.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new xr({key:new ci("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:i}=e,{ranges:a}=i,s=Math.min(...a.map(u=>u.$from.pos)),o=Math.max(...a.map(u=>u.$to.pos)),l=Cq(n);return Tq(r,{from:s,to:o},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),Iq=Wn.create({name:"commands",addCommands(){return{...gq}}}),jq=Wn.create({name:"delete",onUpdate({transaction:t,appendedTransactions:e}){var n,r,i;const a=()=>{var s,o,l,c;if((c=(l=(o=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:o.filterTransaction)==null?void 0:l.call(o,t))!=null?c:t.getMeta("y-sync$"))return;const u=wq(t.before,[t,...e]);Rq(u).forEach(m=>{u.mapping.mapResult(m.oldRange.from).deletedAfter&&u.mapping.mapResult(m.oldRange.to).deletedBefore&&u.before.nodesBetween(m.oldRange.from,m.oldRange.to,(y,v)=>{const b=v+y.nodeSize-2,x=m.oldRange.from<=v&&b<=m.oldRange.to;this.editor.emit("delete",{type:"node",node:y,from:v,to:b,newFrom:u.mapping.map(v),newTo:u.mapping.map(b),deletedRange:m.oldRange,newRange:m.newRange,partial:!x,editor:this.editor,transaction:t,combinedTransform:u})})});const g=u.mapping;u.steps.forEach((m,y)=>{var v,b;if(m instanceof So){const x=g.slice(y).map(m.from,-1),M=g.slice(y).map(m.to),w=g.invert().map(x,-1),A=g.invert().map(M),T=(v=u.doc.nodeAt(x-1))==null?void 0:v.marks.some(N=>N.eq(m.mark)),R=(b=u.doc.nodeAt(M))==null?void 0:b.marks.some(N=>N.eq(m.mark));this.editor.emit("delete",{type:"mark",mark:m.mark,from:m.from,to:m.to,deletedRange:{from:w,to:A},newRange:{from:x,to:M},partial:!!(R||T),editor:this.editor,transaction:t,combinedTransform:u})}})};(i=(r=(n=this.editor.options.coreExtensionOptions)==null?void 0:n.delete)==null?void 0:r.async)==null||i?setTimeout(a,0):a()}}),Uq=Wn.create({name:"drop",addProseMirrorPlugins(){return[new xr({key:new ci("tiptapDrop"),props:{handleDrop:(t,e,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:r})}}})]}}),Fq=Wn.create({name:"editable",addProseMirrorPlugins(){return[new xr({key:new ci("editable"),props:{editable:()=>this.editor.options.editable}})]}}),zq=new ci("focusEvents"),Bq=Wn.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new xr({key:zq,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),Hq=Wn.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:o})=>{const{selection:l,doc:c}=o,{empty:u,$anchor:f}=l,{pos:g,parent:m}=f,y=f.parent.isTextblock&&g>0?o.doc.resolve(g-1):f,v=y.parent.type.spec.isolating,b=f.pos-f.parentOffset,x=v&&y.parent.childCount===1?b===f.pos:sn.atStart(c).from===g;return!u||!m.type.isTextblock||m.textContent.length||!x||x&&f.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},i={...r},a={...r,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Bk()||_q()?a:i},addProseMirrorPlugins(){return[new xr({key:new ci("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(v=>v.getMeta("composition")))return;const r=t.some(v=>v.docChanged)&&!e.doc.eq(n.doc),i=t.some(v=>v.getMeta("preventClearDocument"));if(!r||i)return;const{empty:a,from:s,to:o}=e.selection,l=sn.atStart(e.doc).from,c=sn.atEnd(e.doc).to;if(a||!(s===l&&o===c)||!Mw(n.doc))return;const g=n.tr,m=yw({state:n,transaction:g}),{commands:y}=new _w({editor:this.editor,state:m});if(y.clearNodes(),!!g.steps.length)return g}})]}}),$q=Wn.create({name:"paste",addProseMirrorPlugins(){return[new xr({key:new ci("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}}),Vq=Wn.create({name:"tabindex",addProseMirrorPlugins(){return[new xr({key:new ci("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),Gq=Wn.create({name:"textDirection",addOptions(){return{direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return[];const{nodeExtensions:t}=am(this.extensions);return[{types:t.filter(e=>e.name!=="text").map(e=>e.name),attributes:{dir:{default:this.options.direction,parseHTML:e=>{const n=e.getAttribute("dir");return n&&(n==="ltr"||n==="rtl"||n==="auto")?n:this.options.direction},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new xr({key:new ci("textDirection"),props:{attributes:()=>{const t=this.options.direction;return t?{dir:t}:{}}}})]}}),sAe=class bp{constructor(e,n,r=!1,i=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=e,this.editor=n,this.currentNode=i}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!=null?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;const e=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(e);return new bp(n,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new bp(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new bp(e,this.editor)}get children(){const e=[];return this.node.content.forEach((n,r)=>{const i=n.isBlock&&!n.isTextblock,a=n.isAtom&&!n.isText,s=this.pos+r+(a?0:1);if(s<0||s>this.resolvedPos.doc.nodeSize-2)return;const o=this.resolvedPos.doc.resolve(s);if(!i&&o.depth<=this.depth)return;const l=new bp(o,this.editor,i,i?n:null);i&&(l.actualDepth=this.depth+1),e.push(new bp(o,this.editor,i,i?n:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){const e=this.children;return e[e.length-1]||null}closest(e,n={}){let r=null,i=this.parent;for(;i&&!r;){if(i.node.type.name===e)if(Object.keys(n).length>0){const a=i.node.attrs,s=Object.keys(n);for(let o=0;o{r&&i.length>0||(s.node.type.name===e&&a.every(l=>n[l]===s.node.attrs[l])&&i.push(s),!(r&&i.length>0)&&(i=i.concat(s.querySelectorAll(e,n,r))))}),i}setAttribute(e){const{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(n)}},oAe=`.ProseMirror { +`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function QEe(t){return Object.prototype.toString.call(t).slice(8,-1)}function Uy(t){return QEe(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function kq(t,e){const n={...t};return Uy(t)&&Uy(e)&&Object.keys(e).forEach(r=>{Uy(e[r])&&Uy(t[r])?n[r]=kq(t[r],e[r]):n[r]=e[r]}),n}var Wk=class{constructor(t={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...t},this.name=this.config.name}get options(){return{...On(jt(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...On(jt(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(t={}){const e=this.extend({...this.config,addOptions:()=>kq(this.options,t)});return e.name=this.name,e.parent=this.parent,e}extend(t={}){const e=new this.constructor({...this.config,...t});return e.parent=this,this.child=e,e.name="name"in t?t.name:e.parent.name,e}},dd=class Dq extends Wk{constructor(){super(...arguments),this.type="mark"}static create(e={}){const n=typeof e=="function"?e():e;return new Dq(n)}static handleExit({editor:e,mark:n}){const{tr:r}=e.state,i=e.state.selection.$from;if(i.pos===i.end()){const s=i.marks();if(!!!s.find(c=>c?.type.name===n.name))return!1;const l=s.find(c=>c?.type.name===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",i.pos),e.view.dispatch(r),!0}return!1}configure(e){return super.configure(e)}extend(e){const n=typeof e=="function"?e():e;return super.extend(n)}};function JEe(t){return typeof t=="number"}var eAe=class{constructor(t){this.find=t.find,this.handler=t.handler}},tAe=(t,e,n)=>{if(Fk(e))return[...t.matchAll(e)];const r=e(t,n);return r?r.map(i=>{const a=[i.text];return a.index=i.index,a.input=t,a.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),a.push(i.replaceWith)),a}):[]};function nAe(t){const{editor:e,state:n,from:r,to:i,rule:a,pasteEvent:s,dropEvent:o}=t,{commands:l,chain:c,can:u}=new _w({editor:e,state:n}),f=[];return n.doc.nodesBetween(r,i,(m,y)=>{var v,b,x,M,w;if((b=(v=m.type)==null?void 0:v.spec)!=null&&b.code||!(m.isText||m.isTextblock||m.isInline))return;const A=(w=(M=(x=m.content)==null?void 0:x.size)!=null?M:m.nodeSize)!=null?w:0,T=Math.max(r,y),R=Math.min(i,y+A);if(T>=R)return;const N=m.isText?m.text||"":m.textBetween(T-y,R-y,void 0,"");tAe(N,a.find,s).forEach(C=>{if(C.index===void 0)return;const k=T+C.index+1,F=k+C[0].length,I={from:n.tr.mapping.map(k),to:n.tr.mapping.map(F)},B=a.handler({state:n,range:I,match:C,commands:l,chain:c,can:u,pasteEvent:s,dropEvent:o});f.push(B)})}),f.every(m=>m!==null)}var Fy=null,rAe=t=>{var e;const n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=n.clipboardData)==null||e.setData("text/html",t),n};function iAe(t){const{editor:e,rules:n}=t;let r=null,i=!1,a=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,o;try{o=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{o=null}const l=({state:u,from:f,to:g,rule:m,pasteEvt:y})=>{const v=u.tr,b=yw({state:u,transaction:v});if(!(!nAe({editor:e,state:b,from:Math.max(f-1,0),to:g.b-1,rule:m,pasteEvent:y,dropEvent:o})||!v.steps.length)){try{o=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{o=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,v}};return n.map(u=>new xr({view(f){const g=y=>{var v;r=(v=f.dom.parentElement)!=null&&v.contains(y.target)?f.dom.parentElement:null,r&&(Fy=e)},m=()=>{Fy&&(Fy=null)};return window.addEventListener("dragstart",g),window.addEventListener("dragend",m),{destroy(){window.removeEventListener("dragstart",g),window.removeEventListener("dragend",m)}}},props:{handleDOMEvents:{drop:(f,g)=>{if(a=r===f.dom.parentElement,o=g,!a){const m=Fy;m?.isEditable&&setTimeout(()=>{const y=m.state.selection;y&&m.commands.deleteRange({from:y.from,to:y.to})},10)}return!1},paste:(f,g)=>{var m;const y=(m=g.clipboardData)==null?void 0:m.getData("text/html");return s=g,i=!!y?.includes("data-pm-slice"),!1}}},appendTransaction:(f,g,m)=>{const y=f[0],v=y.getMeta("uiEvent")==="paste"&&!i,b=y.getMeta("uiEvent")==="drop"&&!a,x=y.getMeta("applyPasteRules"),M=!!x;if(!v&&!b&&!M)return;if(M){let{text:T}=x;typeof T=="string"?T=T:T=$k(ht.from(T),m.schema);const{from:R}=x,N=R+T.length,j=rAe(T);return l({rule:u,state:m,from:R,to:{b:N},pasteEvt:j})}const w=g.doc.content.findDiffStart(m.doc.content),A=g.doc.content.findDiffEnd(m.doc.content);if(!(!JEe(w)||!A||w===A.b))return l({rule:u,state:m,from:w,to:A,pasteEvt:s})}}))}var Aw=class{constructor(t,e){this.splittableMarks=[],this.editor=e,this.baseExtensions=t,this.extensions=Aq(t),this.schema=xEe(this.extensions,e),this.setupExtensions()}get commands(){return this.extensions.reduce((t,e)=>{const n={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:v2(e.name,this.schema)},r=jt(e,"addCommands",n);return r?{...t,...r()}:t},{})}get plugins(){const{editor:t}=this;return Vk([...this.extensions].reverse()).flatMap(r=>{const i={name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:t,type:v2(r.name,this.schema)},a=[],s=jt(r,"addKeyboardShortcuts",i);let o={};if(r.type==="mark"&&jt(r,"exitable",i)&&(o.ArrowRight=()=>dd.handleExit({editor:t,mark:r})),s){const g=Object.fromEntries(Object.entries(s()).map(([m,y])=>[m,()=>y({editor:t})]));o={...o,...g}}const l=yMe(o);a.push(l);const c=jt(r,"addInputRules",i);if(lH(r,t.options.enableInputRules)&&c){const g=c();if(g&&g.length){const m=ZEe({editor:t,rules:g}),y=Array.isArray(m)?m:[m];a.push(...y)}}const u=jt(r,"addPasteRules",i);if(lH(r,t.options.enablePasteRules)&&u){const g=u();if(g&&g.length){const m=iAe({editor:t,rules:g});a.push(...m)}}const f=jt(r,"addProseMirrorPlugins",i);if(f){const g=f();a.push(...g)}return a})}get attributes(){return Eq(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:e}=am(this.extensions);return Object.fromEntries(e.filter(n=>!!jt(n,"addNodeView")).map(n=>{const r=this.attributes.filter(l=>l.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:Kr(n.name,this.schema)},a=jt(n,"addNodeView",i);if(!a)return[];const s=a();if(!s)return[];const o=(l,c,u,f,g)=>{const m=y1(l,r);return s({node:l,view:c,getPos:u,decorations:f,innerDecorations:g,editor:t,extension:n,HTMLAttributes:m})};return[n.name,o]}))}get markViews(){const{editor:t}=this,{markExtensions:e}=am(this.extensions);return Object.fromEntries(e.filter(n=>!!jt(n,"addMarkView")).map(n=>{const r=this.attributes.filter(o=>o.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:Ac(n.name,this.schema)},a=jt(n,"addMarkView",i);if(!a)return[];const s=(o,l,c)=>{const u=y1(o,r);return a()({mark:o,view:l,inline:c,editor:t,extension:n,HTMLAttributes:u,updateAttributes:f=>{bAe(o,t,f)}})};return[n.name,s]}))}setupExtensions(){const t=this.extensions;this.editor.extensionStorage=Object.fromEntries(t.map(e=>[e.name,e.storage])),t.forEach(e=>{var n;const r={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:v2(e.name,this.schema)};e.type==="mark"&&((n=On(jt(e,"keepOnSplit",r)))==null||n)&&this.splittableMarks.push(e.name);const i=jt(e,"onBeforeCreate",r),a=jt(e,"onCreate",r),s=jt(e,"onUpdate",r),o=jt(e,"onSelectionUpdate",r),l=jt(e,"onTransaction",r),c=jt(e,"onFocus",r),u=jt(e,"onBlur",r),f=jt(e,"onDestroy",r);i&&this.editor.on("beforeCreate",i),a&&this.editor.on("create",a),s&&this.editor.on("update",s),o&&this.editor.on("selectionUpdate",o),l&&this.editor.on("transaction",l),c&&this.editor.on("focus",c),u&&this.editor.on("blur",u),f&&this.editor.on("destroy",f)})}};Aw.resolve=Aq;Aw.sort=Vk;Aw.flatten=Hk;var aAe={};Uk(aAe,{ClipboardTextSerializer:()=>Lq,Commands:()=>Iq,Delete:()=>jq,Drop:()=>Uq,Editable:()=>Fq,FocusEvents:()=>Bq,Keymap:()=>Hq,Paste:()=>$q,Tabindex:()=>Vq,TextDirection:()=>Gq,focusEventsPluginKey:()=>zq});var Wn=class Oq extends Wk{constructor(){super(...arguments),this.type="extension"}static create(e={}){const n=typeof e=="function"?e():e;return new Oq(n)}configure(e){return super.configure(e)}extend(e){const n=typeof e=="function"?e():e;return super.extend(n)}},Lq=Wn.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new xr({key:new ci("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:n}=t,{doc:r,selection:i}=e,{ranges:a}=i,s=Math.min(...a.map(u=>u.$from.pos)),o=Math.max(...a.map(u=>u.$to.pos)),l=Cq(n);return Tq(r,{from:s,to:o},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),Iq=Wn.create({name:"commands",addCommands(){return{...gq}}}),jq=Wn.create({name:"delete",onUpdate({transaction:t,appendedTransactions:e}){var n,r,i;const a=()=>{var s,o,l,c;if((c=(l=(o=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:o.filterTransaction)==null?void 0:l.call(o,t))!=null?c:t.getMeta("y-sync$"))return;const u=wq(t.before,[t,...e]);Rq(u).forEach(m=>{u.mapping.mapResult(m.oldRange.from).deletedAfter&&u.mapping.mapResult(m.oldRange.to).deletedBefore&&u.before.nodesBetween(m.oldRange.from,m.oldRange.to,(y,v)=>{const b=v+y.nodeSize-2,x=m.oldRange.from<=v&&b<=m.oldRange.to;this.editor.emit("delete",{type:"node",node:y,from:v,to:b,newFrom:u.mapping.map(v),newTo:u.mapping.map(b),deletedRange:m.oldRange,newRange:m.newRange,partial:!x,editor:this.editor,transaction:t,combinedTransform:u})})});const g=u.mapping;u.steps.forEach((m,y)=>{var v,b;if(m instanceof So){const x=g.slice(y).map(m.from,-1),M=g.slice(y).map(m.to),w=g.invert().map(x,-1),A=g.invert().map(M),T=(v=u.doc.nodeAt(x-1))==null?void 0:v.marks.some(N=>N.eq(m.mark)),R=(b=u.doc.nodeAt(M))==null?void 0:b.marks.some(N=>N.eq(m.mark));this.editor.emit("delete",{type:"mark",mark:m.mark,from:m.from,to:m.to,deletedRange:{from:w,to:A},newRange:{from:x,to:M},partial:!!(R||T),editor:this.editor,transaction:t,combinedTransform:u})}})};(i=(r=(n=this.editor.options.coreExtensionOptions)==null?void 0:n.delete)==null?void 0:r.async)==null||i?setTimeout(a,0):a()}}),Uq=Wn.create({name:"drop",addProseMirrorPlugins(){return[new xr({key:new ci("tiptapDrop"),props:{handleDrop:(t,e,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:n,moved:r})}}})]}}),Fq=Wn.create({name:"editable",addProseMirrorPlugins(){return[new xr({key:new ci("editable"),props:{editable:()=>this.editor.options.editable}})]}}),zq=new ci("focusEvents"),Bq=Wn.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new xr({key:zq,props:{handleDOMEvents:{focus:(e,n)=>{t.isFocused=!0;const r=t.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1},blur:(e,n)=>{t.isFocused=!1;const r=t.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return e.dispatch(r),!1}}}})]}}),Hq=Wn.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:o})=>{const{selection:l,doc:c}=o,{empty:u,$anchor:f}=l,{pos:g,parent:m}=f,y=f.parent.isTextblock&&g>0?o.doc.resolve(g-1):f,v=y.parent.type.spec.isolating,b=f.pos-f.parentOffset,x=v&&y.parent.childCount===1?b===f.pos:sn.atStart(c).from===g;return!u||!m.type.isTextblock||m.textContent.length||!x||x&&f.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},i={...r},a={...r,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Bk()||_q()?a:i},addProseMirrorPlugins(){return[new xr({key:new ci("clearDocument"),appendTransaction:(t,e,n)=>{if(t.some(v=>v.getMeta("composition")))return;const r=t.some(v=>v.docChanged)&&!e.doc.eq(n.doc),i=t.some(v=>v.getMeta("preventClearDocument"));if(!r||i)return;const{empty:a,from:s,to:o}=e.selection,l=sn.atStart(e.doc).from,c=sn.atEnd(e.doc).to;if(a||!(s===l&&o===c)||!Mw(n.doc))return;const g=n.tr,m=yw({state:n,transaction:g}),{commands:y}=new _w({editor:this.editor,state:m});if(y.clearNodes(),!!g.steps.length)return g}})]}}),$q=Wn.create({name:"paste",addProseMirrorPlugins(){return[new xr({key:new ci("tiptapPaste"),props:{handlePaste:(t,e,n)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:n})}}})]}}),Vq=Wn.create({name:"tabindex",addProseMirrorPlugins(){return[new xr({key:new ci("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),Gq=Wn.create({name:"textDirection",addOptions(){return{direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return[];const{nodeExtensions:t}=am(this.extensions);return[{types:t.filter(e=>e.name!=="text").map(e=>e.name),attributes:{dir:{default:this.options.direction,parseHTML:e=>{const n=e.getAttribute("dir");return n&&(n==="ltr"||n==="rtl"||n==="auto")?n:this.options.direction},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new xr({key:new ci("textDirection"),props:{attributes:()=>{const t=this.options.direction;return t?{dir:t}:{}}}})]}}),sAe=class bp{constructor(e,n,r=!1,i=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=e,this.editor=n,this.currentNode=i}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!=null?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;const e=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(e);return new bp(n,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new bp(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new bp(e,this.editor)}get children(){const e=[];return this.node.content.forEach((n,r)=>{const i=n.isBlock&&!n.isTextblock,a=n.isAtom&&!n.isText,s=this.pos+r+(a?0:1);if(s<0||s>this.resolvedPos.doc.nodeSize-2)return;const o=this.resolvedPos.doc.resolve(s);if(!i&&o.depth<=this.depth)return;const l=new bp(o,this.editor,i,i?n:null);i&&(l.actualDepth=this.depth+1),e.push(new bp(o,this.editor,i,i?n:null))}),e}get firstChild(){return this.children[0]||null}get lastChild(){const e=this.children;return e[e.length-1]||null}closest(e,n={}){let r=null,i=this.parent;for(;i&&!r;){if(i.node.type.name===e)if(Object.keys(n).length>0){const a=i.node.attrs,s=Object.keys(n);for(let o=0;o{r&&i.length>0||(s.node.type.name===e&&a.every(l=>n[l]===s.node.attrs[l])&&i.push(s),!(r&&i.length>0)&&(i=i.concat(s.querySelectorAll(e,n,r))))}),i}setAttribute(e){const{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(n)}},oAe=`.ProseMirror { position: relative; } @@ -8492,7 +8492,7 @@ img.ProseMirror-separator { display: block; }`;function lAe(t,e,n){const r=document.querySelector("style[data-tiptap-style]");if(r!==null)return r;const i=document.createElement("style");return e&&i.setAttribute("nonce",e),i.setAttribute("data-tiptap-style",""),i.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(i),i}var cAe=class extends KEe{constructor(t={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:typeof document<"u"?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:r})=>{throw r},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:r,slice:i,moved:a})=>this.options.onDrop(r,i,a)),this.on("paste",({event:r,slice:i})=>this.options.onPaste(r,i)),this.on("delete",this.options.onDelete);const e=this.createDoc(),n=bq(e,this.options.autofocus);this.editorState=Ep.create({doc:e,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(t){if(typeof document>"u")throw new Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(t),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(this.options.autofocus!==!1&&this.options.autofocus!==null&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){const t=this.editorView.dom;t?.editor&&delete t.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{typeof this.css.remove=="function"?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(t){console.warn("Failed to remove CSS element:",t)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&typeof document<"u"&&(this.css=lAe(oAe,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},!(!this.editorView||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:t=>{this.editorState=t},dispatch:t=>{this.dispatchTransaction(t)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(t,e)=>{if(this.editorView)return this.editorView[e];if(e==="state")return this.editorState;if(e in t)return Reflect.get(t,e);throw new Error(`[tiptap error]: The editor view is not available. Cannot access view['${e}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(t,e){const n=Mq(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(t){if(this.isDestroyed)return;const e=this.state.plugins;let n=e;if([].concat(t).forEach(i=>{const a=typeof i=="string"?`${i}$`:i.key;n=n.filter(s=>!s.key.startsWith(a))}),e.length===n.length)return;const r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var t,e;const r=[...this.options.enableCoreExtensions?[Fq,Lq.configure({blockSeparator:(e=(t=this.options.coreExtensionOptions)==null?void 0:t.clipboardTextSerializer)==null?void 0:e.blockSeparator}),Iq,Bq,Hq,Vq,Uq,$q,jq,Gq.configure({direction:this.options.textDirection})].filter(i=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[i.name]!==!1:!0):[],...this.options.extensions].filter(i=>["extension","node","mark"].includes(i?.type));this.extensionManager=new Aw(r,this)}createCommandManager(){this.commandManager=new _w({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let t;try{t=iR(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(e){if(!(e instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(e.message))throw e;this.emit("contentError",{editor:this,error:e,disableCollaboration:()=>{"collaboration"in this.storage&&typeof this.storage.collaboration=="object"&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(n=>n.name!=="collaboration"),this.createExtensionManager()}}),t=iR(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return t}createView(t){var e;this.editorView=new pq(t,{...this.options.editorProps,attributes:{role:"textbox",...(e=this.options.editorProps)==null?void 0:e.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});const n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.prependClass(),this.injectCSS();const r=this.view.dom;r.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=t;return}t.steps.forEach(c=>{var u;return(u=this.capturedTransaction)==null?void 0:u.step(c)});return}const{state:e,transactions:n}=this.state.applyTransaction(t),r=!this.state.selection.eq(e.selection),i=n.includes(t),a=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:t,nextState:e}),!i)return;this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:t});const s=n.findLast(c=>c.getMeta("focus")||c.getMeta("blur")),o=s?.getMeta("focus"),l=s?.getMeta("blur");o&&this.emit("focus",{editor:this,event:o.event,transaction:s}),l&&this.emit("blur",{editor:this,event:l.event,transaction:s}),!(t.getMeta("preventUpdate")||!n.some(c=>c.docChanged)||a.doc.eq(e.doc))&&this.emit("update",{editor:this,transaction:t,appendedTransactions:n.slice(1)})}getAttributes(t){return Nq(this.state,t)}isActive(t,e){const n=typeof t=="string"?t:null,r=typeof t=="string"?e:t;return EEe(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return $k(this.state.doc.content,this.schema)}getText(t){const{blockSeparator:e=` -`,textSerializers:n={}}=t||{};return bEe(this.state.doc,{blockSeparator:e,textSerializers:{...Cq(this.schema),...n}})}get isEmpty(){return Mw(this.state.doc)}destroy(){this.emit("destroy"),this.unmount(),this.removeAllListeners()}get isDestroyed(){var t,e;return(e=(t=this.editorView)==null?void 0:t.isDestroyed)!=null?e:!0}$node(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelectorAll(t,e))||null}$pos(t){const e=this.state.doc.resolve(t);return new sAe(e,this)}get $doc(){return this.$pos(0)}};function sm(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r})=>{const i=On(t.getAttributes,void 0,r);if(i===!1||i===null)return null;const{tr:a}=e,s=r[r.length-1],o=r[0];if(s){const l=o.search(/\S/),c=n.from+o.indexOf(s),u=c+s.length;if(Gk(n.from,n.to,e.doc).filter(m=>m.mark.type.excluded.find(v=>v===t.type&&v!==m.mark.type)).filter(m=>m.to>c).length)return null;un.from&&a.delete(n.from+l,c);const g=n.from+l+s.length;a.addMark(n.from+l,g,t.type.create(i||{})),a.removeStoredMark(t.type)}},undoable:t.undoable})}function Wq(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r})=>{const i=On(t.getAttributes,void 0,r)||{},{tr:a}=e,s=n.from;let o=n.to;const l=t.type.create(i);if(r[1]){const c=r[0].lastIndexOf(r[1]);let u=s+c;u>o?u=o:o=u+r[1].length;const f=r[0][r[0].length-1];a.insertText(f,s+r[0].length-1),a.replaceWith(u,o,l)}else if(r[0]){const c=t.type.isInline?s:s-1;a.insert(c,t.type.create(i)).delete(a.mapping.map(s),a.mapping.map(o))}a.scrollIntoView()},undoable:t.undoable})}function sR(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r})=>{const i=e.doc.resolve(n.from),a=On(t.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,a)},undoable:t.undoable})}function om(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r,chain:i})=>{const a=On(t.getAttributes,void 0,r)||{},s=e.tr.delete(n.from,n.to),l=s.doc.resolve(n.from).blockRange(),c=l&&Sk(l,t.type,a);if(!c)return null;if(s.wrap(l,c),t.keepMarks&&t.editor){const{selection:f,storedMarks:g}=e,{splittableMarks:m}=t.editor.extensionManager,y=g||f.$to.parentOffset&&f.$from.marks();if(y){const v=y.filter(b=>m.includes(b.type.name));s.ensureMarks(v)}}if(t.keepAttributes){const f=t.type.name==="bulletList"||t.type.name==="orderedList"?"listItem":"taskList";i().updateAttributes(f,a).run()}const u=s.doc.resolve(n.from-1).nodeBefore;u&&u.type===t.type&&cd(s.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(r,u))&&s.join(n.from-1)},undoable:t.undoable})}var uAe=t=>"touches"in t,dAe=class{constructor(t){this.directions=["bottom-left","bottom-right","top-left","top-right"],this.minSize={height:8,width:8},this.preserveAspectRatio=!1,this.classNames={container:"",wrapper:"",handle:"",resizing:""},this.initialWidth=0,this.initialHeight=0,this.aspectRatio=1,this.isResizing=!1,this.activeHandle=null,this.startX=0,this.startY=0,this.startWidth=0,this.startHeight=0,this.isShiftKeyPressed=!1,this.handleMouseMove=s=>{if(!this.isResizing||!this.activeHandle)return;const o=s.clientX-this.startX,l=s.clientY-this.startY;this.handleResize(o,l)},this.handleTouchMove=s=>{if(!this.isResizing||!this.activeHandle)return;const o=s.touches[0];if(!o)return;const l=o.clientX-this.startX,c=o.clientY-this.startY;this.handleResize(l,c)},this.handleMouseUp=()=>{if(!this.isResizing)return;const s=this.element.offsetWidth,o=this.element.offsetHeight;this.onCommit(s,o),this.isResizing=!1,this.activeHandle=null,this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)},this.handleKeyDown=s=>{s.key==="Shift"&&(this.isShiftKeyPressed=!0)},this.handleKeyUp=s=>{s.key==="Shift"&&(this.isShiftKeyPressed=!1)};var e,n,r,i,a;this.node=t.node,this.element=t.element,this.contentElement=t.contentElement,this.getPos=t.getPos,this.onResize=t.onResize,this.onCommit=t.onCommit,this.onUpdate=t.onUpdate,(e=t.options)!=null&&e.min&&(this.minSize={...this.minSize,...t.options.min}),(n=t.options)!=null&&n.max&&(this.maxSize=t.options.max),(r=t?.options)!=null&&r.directions&&(this.directions=t.options.directions),(i=t.options)!=null&&i.preserveAspectRatio&&(this.preserveAspectRatio=t.options.preserveAspectRatio),(a=t.options)!=null&&a.className&&(this.classNames={container:t.options.className.container||"",wrapper:t.options.className.wrapper||"",handle:t.options.className.handle||"",resizing:t.options.className.resizing||""}),this.wrapper=this.createWrapper(),this.container=this.createContainer(),this.applyInitialSize(),this.attachHandles()}get dom(){return this.container}get contentDOM(){return this.contentElement}update(t,e,n){return t.type!==this.node.type?!1:(this.node=t,this.onUpdate?this.onUpdate(t,e,n):!0)}destroy(){this.isResizing&&(this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp),this.isResizing=!1,this.activeHandle=null),this.container.remove()}createContainer(){const t=document.createElement("div");return t.dataset.resizeContainer="",t.dataset.node=this.node.type.name,t.style.display="flex",t.style.justifyContent="flex-start",t.style.alignItems="flex-start",this.classNames.container&&(t.className=this.classNames.container),t.appendChild(this.wrapper),t}createWrapper(){const t=document.createElement("div");return t.style.position="relative",t.style.display="block",t.dataset.resizeWrapper="",this.classNames.wrapper&&(t.className=this.classNames.wrapper),t.appendChild(this.element),t}createHandle(t){const e=document.createElement("div");return e.dataset.resizeHandle=t,e.style.position="absolute",this.classNames.handle&&(e.className=this.classNames.handle),e}positionHandle(t,e){const n=e.includes("top"),r=e.includes("bottom"),i=e.includes("left"),a=e.includes("right");n&&(t.style.top="0"),r&&(t.style.bottom="0"),i&&(t.style.left="0"),a&&(t.style.right="0"),(e==="top"||e==="bottom")&&(t.style.left="0",t.style.right="0"),(e==="left"||e==="right")&&(t.style.top="0",t.style.bottom="0")}attachHandles(){this.directions.forEach(t=>{const e=this.createHandle(t);this.positionHandle(e,t),e.addEventListener("mousedown",n=>this.handleResizeStart(n,t)),e.addEventListener("touchstart",n=>this.handleResizeStart(n,t)),this.wrapper.appendChild(e)})}applyInitialSize(){const t=this.node.attrs.width,e=this.node.attrs.height;t?(this.element.style.width=`${t}px`,this.initialWidth=t):this.initialWidth=this.element.offsetWidth,e?(this.element.style.height=`${e}px`,this.initialHeight=e):this.initialHeight=this.element.offsetHeight,this.initialWidth>0&&this.initialHeight>0&&(this.aspectRatio=this.initialWidth/this.initialHeight)}handleResizeStart(t,e){t.preventDefault(),t.stopPropagation(),this.isResizing=!0,this.activeHandle=e,uAe(t)?(this.startX=t.touches[0].clientX,this.startY=t.touches[0].clientY):(this.startX=t.clientX,this.startY=t.clientY),this.startWidth=this.element.offsetWidth,this.startHeight=this.element.offsetHeight,this.startWidth>0&&this.startHeight>0&&(this.aspectRatio=this.startWidth/this.startHeight),this.getPos(),this.container.dataset.resizeState="true",this.classNames.resizing&&this.container.classList.add(this.classNames.resizing),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchmove",this.handleTouchMove),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}handleResize(t,e){if(!this.activeHandle)return;const n=this.preserveAspectRatio||this.isShiftKeyPressed,{width:r,height:i}=this.calculateNewDimensions(this.activeHandle,t,e),a=this.applyConstraints(r,i,n);this.element.style.width=`${a.width}px`,this.element.style.height=`${a.height}px`,this.onResize&&this.onResize(a.width,a.height)}calculateNewDimensions(t,e,n){let r=this.startWidth,i=this.startHeight;const a=t.includes("right"),s=t.includes("left"),o=t.includes("bottom"),l=t.includes("top");return a?r=this.startWidth+e:s&&(r=this.startWidth-e),o?i=this.startHeight+n:l&&(i=this.startHeight-n),(t==="right"||t==="left")&&(r=this.startWidth+(a?e:-e)),(t==="top"||t==="bottom")&&(i=this.startHeight+(o?n:-n)),this.preserveAspectRatio||this.isShiftKeyPressed?this.applyAspectRatio(r,i,t):{width:r,height:i}}applyConstraints(t,e,n){var r,i,a,s;if(!n){let c=Math.max(this.minSize.width,t),u=Math.max(this.minSize.height,e);return(r=this.maxSize)!=null&&r.width&&(c=Math.min(this.maxSize.width,c)),(i=this.maxSize)!=null&&i.height&&(u=Math.min(this.maxSize.height,u)),{width:c,height:u}}let o=t,l=e;return othis.maxSize.width&&(o=this.maxSize.width,l=o/this.aspectRatio),(s=this.maxSize)!=null&&s.height&&l>this.maxSize.height&&(l=this.maxSize.height,o=l*this.aspectRatio),{width:o,height:l}}applyAspectRatio(t,e,n){const r=n==="left"||n==="right",i=n==="top"||n==="bottom";return r?{width:t,height:t/this.aspectRatio}:i?{width:e*this.aspectRatio,height:e}:{width:t,height:t/this.aspectRatio}}};function fAe(t,e){const{selection:n}=t,{$from:r}=n;if(n instanceof zt){const a=r.index();return r.parent.canReplaceWith(a,a+1,e)}let i=r.depth;for(;i>=0;){const a=r.index(i);if(r.node(i).contentMatchAt(a).matchType(e))return!0;i-=1}return!1}var hAe={};Uk(hAe,{createAtomBlockMarkdownSpec:()=>pAe,createBlockMarkdownSpec:()=>mAe,createInlineMarkdownSpec:()=>vAe,parseAttributes:()=>qk,parseIndentedBlocks:()=>oR,renderNestedMarkdownContent:()=>Kk,serializeAttributes:()=>Xk});function qk(t){if(!t?.trim())return{};const e={},n=[],r=t.replace(/["']([^"']*)["']/g,c=>(n.push(c),`__QUOTED_${n.length-1}__`)),i=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(i){const c=i.map(u=>u.trim().slice(1));e.class=c.join(" ")}const a=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);a&&(e.id=a[1]);const s=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(r.matchAll(s)).forEach(([,c,u])=>{var f;const g=parseInt(((f=u.match(/__QUOTED_(\d+)__/))==null?void 0:f[1])||"0",10),m=n[g];m&&(e[c]=m.slice(1,-1))});const l=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return l&&l.split(/\s+/).filter(Boolean).forEach(u=>{u.match(/^[a-zA-Z][\w-]*$/)&&(e[u]=!0)}),e}function Xk(t){if(!t||Object.keys(t).length===0)return"";const e=[];return t.class&&String(t.class).split(/\s+/).filter(Boolean).forEach(r=>e.push(`.${r}`)),t.id&&e.push(`#${t.id}`),Object.entries(t).forEach(([n,r])=>{n==="class"||n==="id"||(r===!0?e.push(n):r!==!1&&r!=null&&e.push(`${n}="${String(r)}"`))}),e.join(" ")}function pAe(t){const{nodeName:e,name:n,parseAttributes:r=qk,serializeAttributes:i=Xk,defaultAttributes:a={},requiredAttributes:s=[],allowedAttributes:o}=t,l=n||e,c=u=>{if(!o)return u;const f={};return o.forEach(g=>{g in u&&(f[g]=u[g])}),f};return{parseMarkdown:(u,f)=>{const g={...a,...u.attributes};return f.createNode(e,g,[])},markdownTokenizer:{name:e,level:"block",start(u){var f;const g=new RegExp(`^:::${l}(?:\\s|$)`,"m"),m=(f=u.match(g))==null?void 0:f.index;return m!==void 0?m:-1},tokenize(u,f,g){const m=new RegExp(`^:::${l}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),y=u.match(m);if(!y)return;const v=y[1]||"",b=r(v);if(!s.find(M=>!(M in b)))return{type:e,raw:y[0],attributes:b}}},renderMarkdown:u=>{const f=c(u.attrs||{}),g=i(f),m=g?` {${g}}`:"";return`:::${l}${m} :::`}}}function mAe(t){const{nodeName:e,name:n,getContent:r,parseAttributes:i=qk,serializeAttributes:a=Xk,defaultAttributes:s={},content:o="block",allowedAttributes:l}=t,c=n||e,u=f=>{if(!l)return f;const g={};return l.forEach(m=>{m in f&&(g[m]=f[m])}),g};return{parseMarkdown:(f,g)=>{let m;if(r){const v=r(f);m=typeof v=="string"?[{type:"text",text:v}]:v}else o==="block"?m=g.parseChildren(f.tokens||[]):m=g.parseInline(f.tokens||[]);const y={...s,...f.attributes};return g.createNode(e,y,m)},markdownTokenizer:{name:e,level:"block",start(f){var g;const m=new RegExp(`^:::${c}`,"m"),y=(g=f.match(m))==null?void 0:g.index;return y!==void 0?y:-1},tokenize(f,g,m){var y;const v=new RegExp(`^:::${c}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),b=f.match(v);if(!b)return;const[x,M=""]=b,w=i(M);let A=1;const T=x.length;let R="";const N=/^:::([\w-]*)(\s.*)?/gm,j=f.slice(T);for(N.lastIndex=0;;){const C=N.exec(j);if(C===null)break;const k=C.index,U=C[1];if(!((y=C[2])!=null&&y.endsWith(":::"))){if(U)A+=1;else if(A-=1,A===0){const I=j.slice(0,k);R=I.trim();const H=f.slice(0,T+k+C[0].length);let O=[];if(R)if(o==="block")for(O=m.blockTokens(I),O.forEach(B=>{B.text&&(!B.tokens||B.tokens.length===0)&&(B.tokens=m.inlineTokens(B.text))});O.length>0;){const B=O[O.length-1];if(B.type==="paragraph"&&(!B.text||B.text.trim()===""))O.pop();else break}else O=m.inlineTokens(R);return{type:e,raw:H,attributes:w,content:R,tokens:O}}}}}},renderMarkdown:(f,g)=>{const m=u(f.attrs||{}),y=a(m),v=y?` {${y}}`:"",b=g.renderChildren(f.content||[],` +`,textSerializers:n={}}=t||{};return bEe(this.state.doc,{blockSeparator:e,textSerializers:{...Cq(this.schema),...n}})}get isEmpty(){return Mw(this.state.doc)}destroy(){this.emit("destroy"),this.unmount(),this.removeAllListeners()}get isDestroyed(){var t,e;return(e=(t=this.editorView)==null?void 0:t.isDestroyed)!=null?e:!0}$node(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelector(t,e))||null}$nodes(t,e){var n;return((n=this.$doc)==null?void 0:n.querySelectorAll(t,e))||null}$pos(t){const e=this.state.doc.resolve(t);return new sAe(e,this)}get $doc(){return this.$pos(0)}};function sm(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r})=>{const i=On(t.getAttributes,void 0,r);if(i===!1||i===null)return null;const{tr:a}=e,s=r[r.length-1],o=r[0];if(s){const l=o.search(/\S/),c=n.from+o.indexOf(s),u=c+s.length;if(Gk(n.from,n.to,e.doc).filter(m=>m.mark.type.excluded.find(v=>v===t.type&&v!==m.mark.type)).filter(m=>m.to>c).length)return null;un.from&&a.delete(n.from+l,c);const g=n.from+l+s.length;a.addMark(n.from+l,g,t.type.create(i||{})),a.removeStoredMark(t.type)}},undoable:t.undoable})}function Wq(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r})=>{const i=On(t.getAttributes,void 0,r)||{},{tr:a}=e,s=n.from;let o=n.to;const l=t.type.create(i);if(r[1]){const c=r[0].lastIndexOf(r[1]);let u=s+c;u>o?u=o:o=u+r[1].length;const f=r[0][r[0].length-1];a.insertText(f,s+r[0].length-1),a.replaceWith(u,o,l)}else if(r[0]){const c=t.type.isInline?s:s-1;a.insert(c,t.type.create(i)).delete(a.mapping.map(s),a.mapping.map(o))}a.scrollIntoView()},undoable:t.undoable})}function sR(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r})=>{const i=e.doc.resolve(n.from),a=On(t.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),t.type))return null;e.tr.delete(n.from,n.to).setBlockType(n.from,n.from,t.type,a)},undoable:t.undoable})}function om(t){return new Ew({find:t.find,handler:({state:e,range:n,match:r,chain:i})=>{const a=On(t.getAttributes,void 0,r)||{},s=e.tr.delete(n.from,n.to),l=s.doc.resolve(n.from).blockRange(),c=l&&Sk(l,t.type,a);if(!c)return null;if(s.wrap(l,c),t.keepMarks&&t.editor){const{selection:f,storedMarks:g}=e,{splittableMarks:m}=t.editor.extensionManager,y=g||f.$to.parentOffset&&f.$from.marks();if(y){const v=y.filter(b=>m.includes(b.type.name));s.ensureMarks(v)}}if(t.keepAttributes){const f=t.type.name==="bulletList"||t.type.name==="orderedList"?"listItem":"taskList";i().updateAttributes(f,a).run()}const u=s.doc.resolve(n.from-1).nodeBefore;u&&u.type===t.type&&cd(s.doc,n.from-1)&&(!t.joinPredicate||t.joinPredicate(r,u))&&s.join(n.from-1)},undoable:t.undoable})}var uAe=t=>"touches"in t,dAe=class{constructor(t){this.directions=["bottom-left","bottom-right","top-left","top-right"],this.minSize={height:8,width:8},this.preserveAspectRatio=!1,this.classNames={container:"",wrapper:"",handle:"",resizing:""},this.initialWidth=0,this.initialHeight=0,this.aspectRatio=1,this.isResizing=!1,this.activeHandle=null,this.startX=0,this.startY=0,this.startWidth=0,this.startHeight=0,this.isShiftKeyPressed=!1,this.handleMouseMove=s=>{if(!this.isResizing||!this.activeHandle)return;const o=s.clientX-this.startX,l=s.clientY-this.startY;this.handleResize(o,l)},this.handleTouchMove=s=>{if(!this.isResizing||!this.activeHandle)return;const o=s.touches[0];if(!o)return;const l=o.clientX-this.startX,c=o.clientY-this.startY;this.handleResize(l,c)},this.handleMouseUp=()=>{if(!this.isResizing)return;const s=this.element.offsetWidth,o=this.element.offsetHeight;this.onCommit(s,o),this.isResizing=!1,this.activeHandle=null,this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)},this.handleKeyDown=s=>{s.key==="Shift"&&(this.isShiftKeyPressed=!0)},this.handleKeyUp=s=>{s.key==="Shift"&&(this.isShiftKeyPressed=!1)};var e,n,r,i,a;this.node=t.node,this.element=t.element,this.contentElement=t.contentElement,this.getPos=t.getPos,this.onResize=t.onResize,this.onCommit=t.onCommit,this.onUpdate=t.onUpdate,(e=t.options)!=null&&e.min&&(this.minSize={...this.minSize,...t.options.min}),(n=t.options)!=null&&n.max&&(this.maxSize=t.options.max),(r=t?.options)!=null&&r.directions&&(this.directions=t.options.directions),(i=t.options)!=null&&i.preserveAspectRatio&&(this.preserveAspectRatio=t.options.preserveAspectRatio),(a=t.options)!=null&&a.className&&(this.classNames={container:t.options.className.container||"",wrapper:t.options.className.wrapper||"",handle:t.options.className.handle||"",resizing:t.options.className.resizing||""}),this.wrapper=this.createWrapper(),this.container=this.createContainer(),this.applyInitialSize(),this.attachHandles()}get dom(){return this.container}get contentDOM(){return this.contentElement}update(t,e,n){return t.type!==this.node.type?!1:(this.node=t,this.onUpdate?this.onUpdate(t,e,n):!0)}destroy(){this.isResizing&&(this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp),this.isResizing=!1,this.activeHandle=null),this.container.remove()}createContainer(){const t=document.createElement("div");return t.dataset.resizeContainer="",t.dataset.node=this.node.type.name,t.style.display="flex",t.style.justifyContent="flex-start",t.style.alignItems="flex-start",this.classNames.container&&(t.className=this.classNames.container),t.appendChild(this.wrapper),t}createWrapper(){const t=document.createElement("div");return t.style.position="relative",t.style.display="block",t.dataset.resizeWrapper="",this.classNames.wrapper&&(t.className=this.classNames.wrapper),t.appendChild(this.element),t}createHandle(t){const e=document.createElement("div");return e.dataset.resizeHandle=t,e.style.position="absolute",this.classNames.handle&&(e.className=this.classNames.handle),e}positionHandle(t,e){const n=e.includes("top"),r=e.includes("bottom"),i=e.includes("left"),a=e.includes("right");n&&(t.style.top="0"),r&&(t.style.bottom="0"),i&&(t.style.left="0"),a&&(t.style.right="0"),(e==="top"||e==="bottom")&&(t.style.left="0",t.style.right="0"),(e==="left"||e==="right")&&(t.style.top="0",t.style.bottom="0")}attachHandles(){this.directions.forEach(t=>{const e=this.createHandle(t);this.positionHandle(e,t),e.addEventListener("mousedown",n=>this.handleResizeStart(n,t)),e.addEventListener("touchstart",n=>this.handleResizeStart(n,t)),this.wrapper.appendChild(e)})}applyInitialSize(){const t=this.node.attrs.width,e=this.node.attrs.height;t?(this.element.style.width=`${t}px`,this.initialWidth=t):this.initialWidth=this.element.offsetWidth,e?(this.element.style.height=`${e}px`,this.initialHeight=e):this.initialHeight=this.element.offsetHeight,this.initialWidth>0&&this.initialHeight>0&&(this.aspectRatio=this.initialWidth/this.initialHeight)}handleResizeStart(t,e){t.preventDefault(),t.stopPropagation(),this.isResizing=!0,this.activeHandle=e,uAe(t)?(this.startX=t.touches[0].clientX,this.startY=t.touches[0].clientY):(this.startX=t.clientX,this.startY=t.clientY),this.startWidth=this.element.offsetWidth,this.startHeight=this.element.offsetHeight,this.startWidth>0&&this.startHeight>0&&(this.aspectRatio=this.startWidth/this.startHeight),this.getPos(),this.container.dataset.resizeState="true",this.classNames.resizing&&this.container.classList.add(this.classNames.resizing),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchmove",this.handleTouchMove),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}handleResize(t,e){if(!this.activeHandle)return;const n=this.preserveAspectRatio||this.isShiftKeyPressed,{width:r,height:i}=this.calculateNewDimensions(this.activeHandle,t,e),a=this.applyConstraints(r,i,n);this.element.style.width=`${a.width}px`,this.element.style.height=`${a.height}px`,this.onResize&&this.onResize(a.width,a.height)}calculateNewDimensions(t,e,n){let r=this.startWidth,i=this.startHeight;const a=t.includes("right"),s=t.includes("left"),o=t.includes("bottom"),l=t.includes("top");return a?r=this.startWidth+e:s&&(r=this.startWidth-e),o?i=this.startHeight+n:l&&(i=this.startHeight-n),(t==="right"||t==="left")&&(r=this.startWidth+(a?e:-e)),(t==="top"||t==="bottom")&&(i=this.startHeight+(o?n:-n)),this.preserveAspectRatio||this.isShiftKeyPressed?this.applyAspectRatio(r,i,t):{width:r,height:i}}applyConstraints(t,e,n){var r,i,a,s;if(!n){let c=Math.max(this.minSize.width,t),u=Math.max(this.minSize.height,e);return(r=this.maxSize)!=null&&r.width&&(c=Math.min(this.maxSize.width,c)),(i=this.maxSize)!=null&&i.height&&(u=Math.min(this.maxSize.height,u)),{width:c,height:u}}let o=t,l=e;return othis.maxSize.width&&(o=this.maxSize.width,l=o/this.aspectRatio),(s=this.maxSize)!=null&&s.height&&l>this.maxSize.height&&(l=this.maxSize.height,o=l*this.aspectRatio),{width:o,height:l}}applyAspectRatio(t,e,n){const r=n==="left"||n==="right",i=n==="top"||n==="bottom";return r?{width:t,height:t/this.aspectRatio}:i?{width:e*this.aspectRatio,height:e}:{width:t,height:t/this.aspectRatio}}};function fAe(t,e){const{selection:n}=t,{$from:r}=n;if(n instanceof zt){const a=r.index();return r.parent.canReplaceWith(a,a+1,e)}let i=r.depth;for(;i>=0;){const a=r.index(i);if(r.node(i).contentMatchAt(a).matchType(e))return!0;i-=1}return!1}var hAe={};Uk(hAe,{createAtomBlockMarkdownSpec:()=>pAe,createBlockMarkdownSpec:()=>mAe,createInlineMarkdownSpec:()=>vAe,parseAttributes:()=>qk,parseIndentedBlocks:()=>oR,renderNestedMarkdownContent:()=>Kk,serializeAttributes:()=>Xk});function qk(t){if(!t?.trim())return{};const e={},n=[],r=t.replace(/["']([^"']*)["']/g,c=>(n.push(c),`__QUOTED_${n.length-1}__`)),i=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(i){const c=i.map(u=>u.trim().slice(1));e.class=c.join(" ")}const a=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);a&&(e.id=a[1]);const s=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(r.matchAll(s)).forEach(([,c,u])=>{var f;const g=parseInt(((f=u.match(/__QUOTED_(\d+)__/))==null?void 0:f[1])||"0",10),m=n[g];m&&(e[c]=m.slice(1,-1))});const l=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return l&&l.split(/\s+/).filter(Boolean).forEach(u=>{u.match(/^[a-zA-Z][\w-]*$/)&&(e[u]=!0)}),e}function Xk(t){if(!t||Object.keys(t).length===0)return"";const e=[];return t.class&&String(t.class).split(/\s+/).filter(Boolean).forEach(r=>e.push(`.${r}`)),t.id&&e.push(`#${t.id}`),Object.entries(t).forEach(([n,r])=>{n==="class"||n==="id"||(r===!0?e.push(n):r!==!1&&r!=null&&e.push(`${n}="${String(r)}"`))}),e.join(" ")}function pAe(t){const{nodeName:e,name:n,parseAttributes:r=qk,serializeAttributes:i=Xk,defaultAttributes:a={},requiredAttributes:s=[],allowedAttributes:o}=t,l=n||e,c=u=>{if(!o)return u;const f={};return o.forEach(g=>{g in u&&(f[g]=u[g])}),f};return{parseMarkdown:(u,f)=>{const g={...a,...u.attributes};return f.createNode(e,g,[])},markdownTokenizer:{name:e,level:"block",start(u){var f;const g=new RegExp(`^:::${l}(?:\\s|$)`,"m"),m=(f=u.match(g))==null?void 0:f.index;return m!==void 0?m:-1},tokenize(u,f,g){const m=new RegExp(`^:::${l}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),y=u.match(m);if(!y)return;const v=y[1]||"",b=r(v);if(!s.find(M=>!(M in b)))return{type:e,raw:y[0],attributes:b}}},renderMarkdown:u=>{const f=c(u.attrs||{}),g=i(f),m=g?` {${g}}`:"";return`:::${l}${m} :::`}}}function mAe(t){const{nodeName:e,name:n,getContent:r,parseAttributes:i=qk,serializeAttributes:a=Xk,defaultAttributes:s={},content:o="block",allowedAttributes:l}=t,c=n||e,u=f=>{if(!l)return f;const g={};return l.forEach(m=>{m in f&&(g[m]=f[m])}),g};return{parseMarkdown:(f,g)=>{let m;if(r){const v=r(f);m=typeof v=="string"?[{type:"text",text:v}]:v}else o==="block"?m=g.parseChildren(f.tokens||[]):m=g.parseInline(f.tokens||[]);const y={...s,...f.attributes};return g.createNode(e,y,m)},markdownTokenizer:{name:e,level:"block",start(f){var g;const m=new RegExp(`^:::${c}`,"m"),y=(g=f.match(m))==null?void 0:g.index;return y!==void 0?y:-1},tokenize(f,g,m){var y;const v=new RegExp(`^:::${c}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),b=f.match(v);if(!b)return;const[x,M=""]=b,w=i(M);let A=1;const T=x.length;let R="";const N=/^:::([\w-]*)(\s.*)?/gm,j=f.slice(T);for(N.lastIndex=0;;){const C=N.exec(j);if(C===null)break;const k=C.index,F=C[1];if(!((y=C[2])!=null&&y.endsWith(":::"))){if(F)A+=1;else if(A-=1,A===0){const I=j.slice(0,k);R=I.trim();const B=f.slice(0,T+k+C[0].length);let O=[];if(R)if(o==="block")for(O=m.blockTokens(I),O.forEach(H=>{H.text&&(!H.tokens||H.tokens.length===0)&&(H.tokens=m.inlineTokens(H.text))});O.length>0;){const H=O[O.length-1];if(H.type==="paragraph"&&(!H.text||H.text.trim()===""))O.pop();else break}else O=m.inlineTokens(R);return{type:e,raw:B,attributes:w,content:R,tokens:O}}}}}},renderMarkdown:(f,g)=>{const m=u(f.attrs||{}),y=a(m),v=y?` {${y}}`:"",b=g.renderChildren(f.content||[],` `);return`:::${c}${v} @@ -8533,7 +8533,7 @@ ${n} `):""}),tTe=Va.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",Er(this.options.HTMLAttributes,t)]},renderText(){return` `},renderMarkdown:()=>` `,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:n,editor:r})=>t.first([()=>t.exitCode(),()=>t.command(()=>{const{selection:i,storedMarks:a}=n;if(i.$from.parent.type.spec.isolating)return!1;const{keepMarks:s}=this.options,{splittableMarks:o}=r.extensionManager,l=a||i.$to.parentOffset&&i.$from.marks();return e().insertContent({type:this.name}).command(({tr:c,dispatch:u})=>{if(u&&l&&s){const f=l.filter(g=>o.includes(g.type.name));c.ensureMarks(f)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),nTe=Va.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(t=>({tag:`h${t}`,attrs:{level:t}}))},renderHTML({node:t,HTMLAttributes:e}){return[`h${this.options.levels.includes(t.attrs.level)?t.attrs.level:this.options.levels[0]}`,Er(this.options.HTMLAttributes,e),0]},parseMarkdown:(t,e)=>e.createNode("heading",{level:t.depth||1},e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>{var n;const r=(n=t.attrs)!=null&&n.level?parseInt(t.attrs.level,10):1,i="#".repeat(r);return t.content?`${i} ${e.renderChildren(t.content)}`:""},addCommands(){return{setHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.setNode(this.name,t):!1,toggleHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.toggleNode(this.name,"paragraph",t):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((t,e)=>({...t,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})}),{})},addInputRules(){return this.options.levels.map(t=>sR({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${t}})\\s$`),type:this.type,getAttributes:{level:t}}))}}),rTe=Va.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{},nextNodeType:"paragraph"}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:t}){return["hr",Er(this.options.HTMLAttributes,t)]},markdownTokenName:"hr",parseMarkdown:(t,e)=>e.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{if(!fAe(e,e.schema.nodes[this.name]))return!1;const{selection:n}=e,{$to:r}=n,i=t();return Pq(n)?i.insertContentAt(r.pos,{type:this.name}):i.insertContent({type:this.name}),i.command(({state:a,tr:s,dispatch:o})=>{if(o){const{$to:l}=s.selection,c=l.end();if(l.nodeAfter)l.nodeAfter.isTextblock?s.setSelection(Vt.create(s.doc,l.pos+1)):l.nodeAfter.isBlock?s.setSelection(zt.create(s.doc,l.pos)):s.setSelection(Vt.create(s.doc,l.pos));else{const u=a.schema.nodes[this.options.nextNodeType]||l.parent.type.contentMatch.defaultType,f=u?.create();f&&(s.insert(c,f),s.setSelection(Vt.create(s.doc,c+1)))}s.scrollIntoView()}return!0}).run()}}},addInputRules(){return[Wq({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),iTe=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,aTe=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,sTe=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,oTe=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,lTe=dd.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:t=>t.style.fontStyle!=="normal"&&null},{style:"font-style=normal",clearMark:t=>t.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:t}){return["em",Er(this.options.HTMLAttributes,t),0]},addCommands(){return{setItalic:()=>({commands:t})=>t.setMark(this.name),toggleItalic:()=>({commands:t})=>t.toggleMark(this.name),unsetItalic:()=>({commands:t})=>t.unsetMark(this.name)}},markdownTokenName:"em",parseMarkdown:(t,e)=>e.applyMark("italic",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`*${e.renderChildren(t)}*`,addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[sm({find:iTe,type:this.type}),sm({find:sTe,type:this.type})]},addPasteRules(){return[jf({find:aTe,type:this.type}),jf({find:oTe,type:this.type})]}});const cTe="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",uTe="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",cR="numeric",uR="ascii",dR="alpha",Tx="asciinumeric",fx="alphanumeric",fR="domain",Yq="emoji",dTe="scheme",fTe="slashscheme",E2="whitespace";function hTe(t,e){return t in e||(e[t]=[]),e[t]}function sf(t,e,n){e[cR]&&(e[Tx]=!0,e[fx]=!0),e[uR]&&(e[Tx]=!0,e[dR]=!0),e[Tx]&&(e[fx]=!0),e[dR]&&(e[fx]=!0),e[fx]&&(e[fR]=!0),e[Yq]&&(e[fR]=!0);for(const r in e){const i=hTe(r,n);i.indexOf(t)<0&&i.push(t)}}function pTe(t,e){const n={};for(const r in e)e[r].indexOf(t)>=0&&(n[r]=!0);return n}function ja(t=null){this.j={},this.jr=[],this.jd=null,this.t=t}ja.groups={};ja.prototype={accepts(){return!!this.t},go(t){const e=this,n=e.j[t];if(n)return n;for(let r=0;rt.ta(e,n,r,i),Sr=(t,e,n,r,i)=>t.tr(e,n,r,i),pH=(t,e,n,r,i)=>t.ts(e,n,r,i),gt=(t,e,n,r,i)=>t.tt(e,n,r,i),Wl="WORD",hR="UWORD",Zq="ASCIINUMERICAL",Qq="ALPHANUMERICAL",d0="LOCALHOST",pR="TLD",mR="UTLD",C_="SCHEME",yp="SLASH_SCHEME",Yk="NUM",gR="WS",Zk="NL",Cx="OPENBRACE",Nx="CLOSEBRACE",S1="OPENBRACKET",w1="CLOSEBRACKET",M1="OPENPAREN",E1="CLOSEPAREN",A1="OPENANGLEBRACKET",T1="CLOSEANGLEBRACKET",C1="FULLWIDTHLEFTPAREN",N1="FULLWIDTHRIGHTPAREN",R1="LEFTCORNERBRACKET",P1="RIGHTCORNERBRACKET",k1="LEFTWHITECORNERBRACKET",D1="RIGHTWHITECORNERBRACKET",O1="FULLWIDTHLESSTHAN",L1="FULLWIDTHGREATERTHAN",I1="AMPERSAND",j1="APOSTROPHE",U1="ASTERISK",Mu="AT",F1="BACKSLASH",z1="BACKTICK",B1="CARET",Pu="COLON",Qk="COMMA",H1="DOLLAR",Uo="DOT",$1="EQUALS",Jk="EXCLAMATION",ks="HYPHEN",Rx="PERCENT",V1="PIPE",G1="PLUS",W1="POUND",Px="QUERY",eD="QUOTE",Jq="FULLWIDTHMIDDLEDOT",tD="SEMI",Fo="SLASH",kx="TILDE",q1="UNDERSCORE",eX="EMOJI",X1="SYM";var tX=Object.freeze({__proto__:null,ALPHANUMERICAL:Qq,AMPERSAND:I1,APOSTROPHE:j1,ASCIINUMERICAL:Zq,ASTERISK:U1,AT:Mu,BACKSLASH:F1,BACKTICK:z1,CARET:B1,CLOSEANGLEBRACKET:T1,CLOSEBRACE:Nx,CLOSEBRACKET:w1,CLOSEPAREN:E1,COLON:Pu,COMMA:Qk,DOLLAR:H1,DOT:Uo,EMOJI:eX,EQUALS:$1,EXCLAMATION:Jk,FULLWIDTHGREATERTHAN:L1,FULLWIDTHLEFTPAREN:C1,FULLWIDTHLESSTHAN:O1,FULLWIDTHMIDDLEDOT:Jq,FULLWIDTHRIGHTPAREN:N1,HYPHEN:ks,LEFTCORNERBRACKET:R1,LEFTWHITECORNERBRACKET:k1,LOCALHOST:d0,NL:Zk,NUM:Yk,OPENANGLEBRACKET:A1,OPENBRACE:Cx,OPENBRACKET:S1,OPENPAREN:M1,PERCENT:Rx,PIPE:V1,PLUS:G1,POUND:W1,QUERY:Px,QUOTE:eD,RIGHTCORNERBRACKET:P1,RIGHTWHITECORNERBRACKET:D1,SCHEME:C_,SEMI:tD,SLASH:Fo,SLASH_SCHEME:yp,SYM:X1,TILDE:kx,TLD:pR,UNDERSCORE:q1,UTLD:mR,UWORD:hR,WORD:Wl,WS:gR});const Hl=/[a-z]/,Xg=new RegExp("\\p{L}","u"),A2=new RegExp("\\p{Emoji}","u"),$l=/\d/,T2=/\s/,mH="\r",C2=` -`,mTe="️",gTe="‍",N2="";let zy=null,By=null;function xTe(t=[]){const e={};ja.groups=e;const n=new ja;zy==null&&(zy=gH(cTe)),By==null&&(By=gH(uTe)),gt(n,"'",j1),gt(n,"{",Cx),gt(n,"}",Nx),gt(n,"[",S1),gt(n,"]",w1),gt(n,"(",M1),gt(n,")",E1),gt(n,"<",A1),gt(n,">",T1),gt(n,"(",C1),gt(n,")",N1),gt(n,"「",R1),gt(n,"」",P1),gt(n,"『",k1),gt(n,"』",D1),gt(n,"<",O1),gt(n,">",L1),gt(n,"&",I1),gt(n,"*",U1),gt(n,"@",Mu),gt(n,"`",z1),gt(n,"^",B1),gt(n,":",Pu),gt(n,",",Qk),gt(n,"$",H1),gt(n,".",Uo),gt(n,"=",$1),gt(n,"!",Jk),gt(n,"-",ks),gt(n,"%",Rx),gt(n,"|",V1),gt(n,"+",G1),gt(n,"#",W1),gt(n,"?",Px),gt(n,'"',eD),gt(n,"/",Fo),gt(n,";",tD),gt(n,"~",kx),gt(n,"_",q1),gt(n,"\\",F1),gt(n,"・",Jq);const r=Sr(n,$l,Yk,{[cR]:!0});Sr(r,$l,r);const i=Sr(r,Hl,Zq,{[Tx]:!0}),a=Sr(r,Xg,Qq,{[fx]:!0}),s=Sr(n,Hl,Wl,{[uR]:!0});Sr(s,$l,i),Sr(s,Hl,s),Sr(i,$l,i),Sr(i,Hl,i);const o=Sr(n,Xg,hR,{[dR]:!0});Sr(o,Hl),Sr(o,$l,a),Sr(o,Xg,o),Sr(a,$l,a),Sr(a,Hl),Sr(a,Xg,a);const l=gt(n,C2,Zk,{[E2]:!0}),c=gt(n,mH,gR,{[E2]:!0}),u=Sr(n,T2,gR,{[E2]:!0});gt(n,N2,u),gt(c,C2,l),gt(c,N2,u),Sr(c,T2,u),gt(u,mH),gt(u,C2),Sr(u,T2,u),gt(u,N2,u);const f=Sr(n,A2,eX,{[Yq]:!0});gt(f,"#"),Sr(f,A2,f),gt(f,mTe,f);const g=gt(f,gTe);gt(g,"#"),Sr(g,A2,f);const m=[[Hl,s],[$l,i]],y=[[Hl,null],[Xg,o],[$l,a]];for(let v=0;vv[0]>b[0]?1:-1);for(let v=0;v=0?M[fR]=!0:Hl.test(b)?$l.test(b)?M[Tx]=!0:M[uR]=!0:M[cR]=!0,pH(n,b,b,M)}return pH(n,"localhost",d0,{ascii:!0}),n.jd=new ja(X1),{start:n,tokens:Object.assign({groups:e},tX)}}function nX(t,e){const n=vTe(e.replace(/[A-Z]/g,o=>o.toLowerCase())),r=n.length,i=[];let a=0,s=0;for(;s=0&&(f+=n[s].length,g++),c+=n[s].length,a+=n[s].length,s++;a-=f,s-=g,c-=f,i.push({t:u.t,v:e.slice(a-c,a),s:a-c,e:a})}return i}function vTe(t){const e=[],n=t.length;let r=0;for(;r56319||r+1===n||(a=t.charCodeAt(r+1))<56320||a>57343?t[r]:t.slice(r,r+2);e.push(s),r+=s.length}return e}function xu(t,e,n,r,i){let a;const s=e.length;for(let o=0;o=0;)a++;if(a>0){e.push(n.join(""));for(let s=parseInt(t.substring(r,r+a),10);s>0;s--)n.pop();r+=a}else n.push(t[r]),r++}return e}const f0={defaultProtocol:"http",events:null,format:xH,formatHref:xH,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function nD(t,e=null){let n=Object.assign({},f0);t&&(n=Object.assign(n,t instanceof nD?t.o:t));const r=n.ignoreTags,i=[];for(let a=0;an?r.substring(0,n)+"…":r},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=f0.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const e=this,n=this.toHref(t.get("defaultProtocol")),r=t.get("formatHref",n,this),i=t.get("tagName",n,e),a=this.toFormattedString(t),s={},o=t.get("className",n,e),l=t.get("target",n,e),c=t.get("rel",n,e),u=t.getObj("attributes",n,e),f=t.getObj("events",n,e);return s.href=r,o&&(s.class=o),l&&(s.target=l),c&&(s.rel=c),u&&Object.assign(s,u),{tagName:i,attributes:s,content:a,eventListeners:f}}};function Tw(t,e){class n extends rX{constructor(i,a){super(i,a),this.t=t}}for(const r in e)n.prototype[r]=e[r];return n.t=t,n}const vH=Tw("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),bH=Tw("text"),bTe=Tw("nl"),Hy=Tw("url",{isLink:!0,toHref(t=f0.defaultProtocol){return this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==d0&&t[1].t===Pu}}),Cs=t=>new ja(t);function yTe({groups:t}){const e=t.domain.concat([I1,U1,Mu,F1,z1,B1,H1,$1,ks,Yk,Rx,V1,G1,W1,Fo,X1,kx,q1]),n=[j1,Pu,Qk,Uo,Jk,Rx,Px,eD,tD,A1,T1,Cx,Nx,w1,S1,M1,E1,C1,N1,R1,P1,k1,D1,O1,L1],r=[I1,j1,U1,F1,z1,B1,H1,$1,ks,Cx,Nx,Rx,V1,G1,W1,Px,Fo,X1,kx,q1],i=Cs(),a=gt(i,kx);tn(a,r,a),tn(a,t.domain,a);const s=Cs(),o=Cs(),l=Cs();tn(i,t.domain,s),tn(i,t.scheme,o),tn(i,t.slashscheme,l),tn(s,r,a),tn(s,t.domain,s);const c=gt(s,Mu);gt(a,Mu,c),gt(o,Mu,c),gt(l,Mu,c);const u=gt(a,Uo);tn(u,r,a),tn(u,t.domain,a);const f=Cs();tn(c,t.domain,f),tn(f,t.domain,f);const g=gt(f,Uo);tn(g,t.domain,f);const m=Cs(vH);tn(g,t.tld,m),tn(g,t.utld,m),gt(c,d0,m);const y=gt(f,ks);gt(y,ks,y),tn(y,t.domain,f),tn(m,t.domain,f),gt(m,Uo,g),gt(m,ks,y);const v=gt(m,Pu);tn(v,t.numeric,vH);const b=gt(s,ks),x=gt(s,Uo);gt(b,ks,b),tn(b,t.domain,s),tn(x,r,a),tn(x,t.domain,s);const M=Cs(Hy);tn(x,t.tld,M),tn(x,t.utld,M),tn(M,t.domain,s),tn(M,r,a),gt(M,Uo,x),gt(M,ks,b),gt(M,Mu,c);const w=gt(M,Pu),A=Cs(Hy);tn(w,t.numeric,A);const T=Cs(Hy),R=Cs();tn(T,e,T),tn(T,n,R),tn(R,e,T),tn(R,n,R),gt(M,Fo,T),gt(A,Fo,T);const N=gt(o,Pu),j=gt(l,Pu),C=gt(j,Fo),k=gt(C,Fo);tn(o,t.domain,s),gt(o,Uo,x),gt(o,ks,b),tn(l,t.domain,s),gt(l,Uo,x),gt(l,ks,b),tn(N,t.domain,T),gt(N,Fo,T),gt(N,Px,T),tn(k,t.domain,T),tn(k,e,T),gt(k,Fo,T);const U=[[Cx,Nx],[S1,w1],[M1,E1],[A1,T1],[C1,N1],[R1,P1],[k1,D1],[O1,L1]];for(let I=0;I=0&&g++,i++,u++;if(g<0)i-=u,i0&&(a.push(R2(bH,e,s)),s=[]),i-=g,u-=g;const m=f.t,y=n.slice(i-u,i);a.push(R2(m,e,y))}}return s.length>0&&a.push(R2(bH,e,s)),a}function R2(t,e,n){const r=n[0].s,i=n[n.length-1].e,a=e.slice(r,i);return new t(a,n)}const STe=typeof console<"u"&&console&&console.warn||(()=>{}),wTe="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",ir={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function MTe(){return ja.groups={},ir.scanner=null,ir.parser=null,ir.tokenQueue=[],ir.pluginQueue=[],ir.customSchemes=[],ir.initialized=!1,ir}function yH(t,e=!1){if(ir.initialized&&STe(`linkifyjs: already initialized - will not register custom scheme "${t}" ${wTe}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error(`linkifyjs: incorrect scheme format. +`,mTe="️",gTe="‍",N2="";let zy=null,By=null;function xTe(t=[]){const e={};ja.groups=e;const n=new ja;zy==null&&(zy=gH(cTe)),By==null&&(By=gH(uTe)),gt(n,"'",j1),gt(n,"{",Cx),gt(n,"}",Nx),gt(n,"[",S1),gt(n,"]",w1),gt(n,"(",M1),gt(n,")",E1),gt(n,"<",A1),gt(n,">",T1),gt(n,"(",C1),gt(n,")",N1),gt(n,"「",R1),gt(n,"」",P1),gt(n,"『",k1),gt(n,"』",D1),gt(n,"<",O1),gt(n,">",L1),gt(n,"&",I1),gt(n,"*",U1),gt(n,"@",Mu),gt(n,"`",z1),gt(n,"^",B1),gt(n,":",Pu),gt(n,",",Qk),gt(n,"$",H1),gt(n,".",Uo),gt(n,"=",$1),gt(n,"!",Jk),gt(n,"-",ks),gt(n,"%",Rx),gt(n,"|",V1),gt(n,"+",G1),gt(n,"#",W1),gt(n,"?",Px),gt(n,'"',eD),gt(n,"/",Fo),gt(n,";",tD),gt(n,"~",kx),gt(n,"_",q1),gt(n,"\\",F1),gt(n,"・",Jq);const r=Sr(n,$l,Yk,{[cR]:!0});Sr(r,$l,r);const i=Sr(r,Hl,Zq,{[Tx]:!0}),a=Sr(r,Xg,Qq,{[fx]:!0}),s=Sr(n,Hl,Wl,{[uR]:!0});Sr(s,$l,i),Sr(s,Hl,s),Sr(i,$l,i),Sr(i,Hl,i);const o=Sr(n,Xg,hR,{[dR]:!0});Sr(o,Hl),Sr(o,$l,a),Sr(o,Xg,o),Sr(a,$l,a),Sr(a,Hl),Sr(a,Xg,a);const l=gt(n,C2,Zk,{[E2]:!0}),c=gt(n,mH,gR,{[E2]:!0}),u=Sr(n,T2,gR,{[E2]:!0});gt(n,N2,u),gt(c,C2,l),gt(c,N2,u),Sr(c,T2,u),gt(u,mH),gt(u,C2),Sr(u,T2,u),gt(u,N2,u);const f=Sr(n,A2,eX,{[Yq]:!0});gt(f,"#"),Sr(f,A2,f),gt(f,mTe,f);const g=gt(f,gTe);gt(g,"#"),Sr(g,A2,f);const m=[[Hl,s],[$l,i]],y=[[Hl,null],[Xg,o],[$l,a]];for(let v=0;vv[0]>b[0]?1:-1);for(let v=0;v=0?M[fR]=!0:Hl.test(b)?$l.test(b)?M[Tx]=!0:M[uR]=!0:M[cR]=!0,pH(n,b,b,M)}return pH(n,"localhost",d0,{ascii:!0}),n.jd=new ja(X1),{start:n,tokens:Object.assign({groups:e},tX)}}function nX(t,e){const n=vTe(e.replace(/[A-Z]/g,o=>o.toLowerCase())),r=n.length,i=[];let a=0,s=0;for(;s=0&&(f+=n[s].length,g++),c+=n[s].length,a+=n[s].length,s++;a-=f,s-=g,c-=f,i.push({t:u.t,v:e.slice(a-c,a),s:a-c,e:a})}return i}function vTe(t){const e=[],n=t.length;let r=0;for(;r56319||r+1===n||(a=t.charCodeAt(r+1))<56320||a>57343?t[r]:t.slice(r,r+2);e.push(s),r+=s.length}return e}function xu(t,e,n,r,i){let a;const s=e.length;for(let o=0;o=0;)a++;if(a>0){e.push(n.join(""));for(let s=parseInt(t.substring(r,r+a),10);s>0;s--)n.pop();r+=a}else n.push(t[r]),r++}return e}const f0={defaultProtocol:"http",events:null,format:xH,formatHref:xH,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function nD(t,e=null){let n=Object.assign({},f0);t&&(n=Object.assign(n,t instanceof nD?t.o:t));const r=n.ignoreTags,i=[];for(let a=0;an?r.substring(0,n)+"…":r},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=f0.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const e=this,n=this.toHref(t.get("defaultProtocol")),r=t.get("formatHref",n,this),i=t.get("tagName",n,e),a=this.toFormattedString(t),s={},o=t.get("className",n,e),l=t.get("target",n,e),c=t.get("rel",n,e),u=t.getObj("attributes",n,e),f=t.getObj("events",n,e);return s.href=r,o&&(s.class=o),l&&(s.target=l),c&&(s.rel=c),u&&Object.assign(s,u),{tagName:i,attributes:s,content:a,eventListeners:f}}};function Tw(t,e){class n extends rX{constructor(i,a){super(i,a),this.t=t}}for(const r in e)n.prototype[r]=e[r];return n.t=t,n}const vH=Tw("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),bH=Tw("text"),bTe=Tw("nl"),Hy=Tw("url",{isLink:!0,toHref(t=f0.defaultProtocol){return this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==d0&&t[1].t===Pu}}),Cs=t=>new ja(t);function yTe({groups:t}){const e=t.domain.concat([I1,U1,Mu,F1,z1,B1,H1,$1,ks,Yk,Rx,V1,G1,W1,Fo,X1,kx,q1]),n=[j1,Pu,Qk,Uo,Jk,Rx,Px,eD,tD,A1,T1,Cx,Nx,w1,S1,M1,E1,C1,N1,R1,P1,k1,D1,O1,L1],r=[I1,j1,U1,F1,z1,B1,H1,$1,ks,Cx,Nx,Rx,V1,G1,W1,Px,Fo,X1,kx,q1],i=Cs(),a=gt(i,kx);tn(a,r,a),tn(a,t.domain,a);const s=Cs(),o=Cs(),l=Cs();tn(i,t.domain,s),tn(i,t.scheme,o),tn(i,t.slashscheme,l),tn(s,r,a),tn(s,t.domain,s);const c=gt(s,Mu);gt(a,Mu,c),gt(o,Mu,c),gt(l,Mu,c);const u=gt(a,Uo);tn(u,r,a),tn(u,t.domain,a);const f=Cs();tn(c,t.domain,f),tn(f,t.domain,f);const g=gt(f,Uo);tn(g,t.domain,f);const m=Cs(vH);tn(g,t.tld,m),tn(g,t.utld,m),gt(c,d0,m);const y=gt(f,ks);gt(y,ks,y),tn(y,t.domain,f),tn(m,t.domain,f),gt(m,Uo,g),gt(m,ks,y);const v=gt(m,Pu);tn(v,t.numeric,vH);const b=gt(s,ks),x=gt(s,Uo);gt(b,ks,b),tn(b,t.domain,s),tn(x,r,a),tn(x,t.domain,s);const M=Cs(Hy);tn(x,t.tld,M),tn(x,t.utld,M),tn(M,t.domain,s),tn(M,r,a),gt(M,Uo,x),gt(M,ks,b),gt(M,Mu,c);const w=gt(M,Pu),A=Cs(Hy);tn(w,t.numeric,A);const T=Cs(Hy),R=Cs();tn(T,e,T),tn(T,n,R),tn(R,e,T),tn(R,n,R),gt(M,Fo,T),gt(A,Fo,T);const N=gt(o,Pu),j=gt(l,Pu),C=gt(j,Fo),k=gt(C,Fo);tn(o,t.domain,s),gt(o,Uo,x),gt(o,ks,b),tn(l,t.domain,s),gt(l,Uo,x),gt(l,ks,b),tn(N,t.domain,T),gt(N,Fo,T),gt(N,Px,T),tn(k,t.domain,T),tn(k,e,T),gt(k,Fo,T);const F=[[Cx,Nx],[S1,w1],[M1,E1],[A1,T1],[C1,N1],[R1,P1],[k1,D1],[O1,L1]];for(let I=0;I=0&&g++,i++,u++;if(g<0)i-=u,i0&&(a.push(R2(bH,e,s)),s=[]),i-=g,u-=g;const m=f.t,y=n.slice(i-u,i);a.push(R2(m,e,y))}}return s.length>0&&a.push(R2(bH,e,s)),a}function R2(t,e,n){const r=n[0].s,i=n[n.length-1].e,a=e.slice(r,i);return new t(a,n)}const STe=typeof console<"u"&&console&&console.warn||(()=>{}),wTe="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",ir={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function MTe(){return ja.groups={},ir.scanner=null,ir.parser=null,ir.tokenQueue=[],ir.pluginQueue=[],ir.customSchemes=[],ir.initialized=!1,ir}function yH(t,e=!1){if(ir.initialized&&STe(`linkifyjs: already initialized - will not register custom scheme "${t}" ${wTe}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error(`linkifyjs: incorrect scheme format. 1. Must only contain digits, lowercase ASCII letters or "-" 2. Cannot start or end with "-" 3. "-" cannot repeat`);ir.customSchemes.push([t,e])}function ETe(){ir.scanner=xTe(ir.customSchemes);for(let t=0;t{const i=e.some(c=>c.docChanged)&&!n.doc.eq(r.doc),a=e.some(c=>c.getMeta("preventAutolink"));if(!i||a)return;const{tr:s}=r,o=wq(n.doc,[...e]);if(Rq(o).forEach(({newRange:c})=>{const u=hEe(r.doc,c,m=>m.isTextblock);let f,g;if(u.length>1)f=u[0],g=r.doc.textBetween(f.pos,f.pos+f.node.nodeSize,void 0," ");else if(u.length){const m=r.doc.textBetween(c.from,c.to," "," ");if(!TTe.test(m))return;f=u[0],g=r.doc.textBetween(f.pos,c.to,void 0," ")}if(f&&g){const m=g.split(ATe).filter(Boolean);if(m.length<=0)return!1;const y=m[m.length-1],v=f.pos+g.lastIndexOf(y);if(!y)return!1;const b=rD(y).map(x=>x.toObject(t.defaultProtocol));if(!NTe(b))return!1;b.filter(x=>x.isLink).map(x=>({...x,from:v+x.start+1,to:v+x.end+1})).filter(x=>r.schema.marks.code?!r.doc.rangeHasMark(x.from,x.to,r.schema.marks.code):!0).filter(x=>t.validate(x.value)).filter(x=>t.shouldAutoLink(x.value)).forEach(x=>{Gk(x.from,x.to,r.doc).some(M=>M.mark.type===t.type)||s.addMark(x.from,x.to,t.type.create({href:x.href}))})}}),!!s.steps.length)return s}})}function PTe(t){return new xr({key:new ci("handleClickLink"),props:{handleClick:(e,n,r)=>{var i,a;if(r.button!==0||!e.editable)return!1;let s=null;if(r.target instanceof HTMLAnchorElement)s=r.target;else{let u=r.target;const f=[];for(;u.nodeName!=="DIV";)f.push(u),u=u.parentNode;s=f.find(g=>g.nodeName==="A")}if(!s)return!1;const o=Nq(e.state,t.type.name),l=(i=s?.href)!=null?i:o.href,c=(a=s?.target)!=null?a:o.target;return t.enableClickSelection&&t.editor.commands.extendMarkRange(t.type.name),s&&l?(window.open(l,c),!0):!1}}})}function kTe(t){return new xr({key:new ci("handlePasteLink"),props:{handlePaste:(e,n,r)=>{const{shouldAutoLink:i}=t,{state:a}=e,{selection:s}=a,{empty:o}=s;if(o)return!1;let l="";r.content.forEach(u=>{l+=u.textContent});const c=iX(l,{defaultProtocol:t.defaultProtocol}).find(u=>u.isLink&&u.value===l);return!l||!c||i!==void 0&&!i(c.href)?!1:t.editor.commands.setMark(t.type,{href:c.href})}}})}function Hd(t,e){const n=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(r=>{const i=typeof r=="string"?r:r.scheme;i&&n.push(i)}),!t||t.replace(CTe,"").match(new RegExp(`^(?:(?:${n.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,"i"))}var aX=dd.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){yH(t);return}yH(t.scheme,t.optionalSlashes)})},onDestroy(){MTe()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!Hd(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>!!t}},addAttributes(){return{href:{default:null,parseHTML(t){return t.getAttribute("href")}},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{const e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:n=>!!Hd(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!Hd(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",Er(this.options.HTMLAttributes,t),0]:["a",Er(this.options.HTMLAttributes,{...t,href:""}),0]},markdownTokenName:"link",parseMarkdown:(t,e)=>e.applyMark("link",e.parseInline(t.tokens||[]),{href:t.href,title:t.title||null}),renderMarkdown:(t,e)=>{var n;const r=((n=t.attrs)==null?void 0:n.href)||"";return`[${e.renderChildren(t)}](${r})`},addCommands(){return{setLink:t=>({chain:e})=>{const{href:n}=t;return this.options.isAllowedUri(n,{defaultValidate:r=>!!Hd(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e})=>{const{href:n}=t||{};return n&&!this.options.isAllowedUri(n,{defaultValidate:r=>!!Hd(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:e().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()},unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[jf({find:t=>{const e=[];if(t){const{protocols:n,defaultProtocol:r}=this.options,i=iX(t).filter(a=>a.isLink&&this.options.isAllowedUri(a.value,{defaultValidate:s=>!!Hd(s,n),protocols:n,defaultProtocol:r}));i.length&&i.forEach(a=>{this.options.shouldAutoLink(a.value)&&e.push({text:a.value,data:{href:a.href},index:a.start})})}return e},type:this.type,getAttributes:t=>{var e;return{href:(e=t.data)==null?void 0:e.href}}})]},addProseMirrorPlugins(){const t=[],{protocols:e,defaultProtocol:n}=this.options;return this.options.autolink&&t.push(RTe({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:r=>this.options.isAllowedUri(r,{defaultValidate:i=>!!Hd(i,e),protocols:e,defaultProtocol:n}),shouldAutoLink:this.options.shouldAutoLink})),this.options.openOnClick===!0&&t.push(PTe({type:this.type,editor:this.editor,enableClickSelection:this.options.enableClickSelection})),this.options.linkOnPaste&&t.push(kTe({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type,shouldAutoLink:this.options.shouldAutoLink})),t}}),DTe=aX,OTe=Object.defineProperty,LTe=(t,e)=>{for(var n in e)OTe(t,n,{get:e[n],enumerable:!0})},ITe="listItem",_H="textStyle",SH=/^\s*([-+*])\s$/,sX=Va.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:t}){return["ul",Er(this.options.HTMLAttributes,t),0]},markdownTokenName:"list",parseMarkdown:(t,e)=>t.type!=="list"||t.ordered?[]:{type:"bulletList",content:t.items?e.parseChildren(t.items):[]},renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,` @@ -8547,18 +8547,18 @@ ${m.slice(c+2)}`,f+=1;else break}e.push({indent:c,number:parseInt(o,10),content: `):"",markdownTokenizer:{name:"orderedList",level:"block",start:t=>{const e=t.match(/^(\s*)(\d+)\.\s+/),n=e?.index;return n!==void 0?n:-1},tokenize:(t,e,n)=>{var r;const i=t.split(` `),[a,s]=zTe(i);if(a.length===0)return;const o=pX(a,0,n);return o.length===0?void 0:{type:"list",ordered:!0,start:((r=a[0])==null?void 0:r.number)||1,items:o,raw:i.slice(0,s).join(` `)}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleOrderedList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(HTe,this.editor.getAttributes(MH)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let t=om({find:EH,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,n)=>n.childCount+n.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(t=om({find:EH,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(MH)}),joinPredicate:(e,n)=>n.childCount+n.attrs.start===+e[1],editor:this.editor})),[t]}}),$Te=/^\s*(\[([( |x])?\])\s$/,VTe=Va.create({name:"taskItem",addOptions(){return{nested:!1,HTMLAttributes:{},taskListTypeName:"taskList",a11y:void 0}},content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes(){return{checked:{default:!1,keepOnSplit:!1,parseHTML:t=>{const e=t.getAttribute("data-checked");return e===""||e==="true"},renderHTML:t=>({"data-checked":t.checked})}}},parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:t,HTMLAttributes:e}){return["li",Er(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:t.attrs.checked?"checked":null}],["span"]],["div",0]]},parseMarkdown:(t,e)=>{const n=[];if(t.tokens&&t.tokens.length>0?n.push(e.createNode("paragraph",{},e.parseInline(t.tokens))):t.text?n.push(e.createNode("paragraph",{},[e.createNode("text",{text:t.text})])):n.push(e.createNode("paragraph",{},[])),t.nestedTokens&&t.nestedTokens.length>0){const r=e.parseChildren(t.nestedTokens);n.push(...r)}return e.createNode("taskItem",{checked:t.checked||!1},n)},renderMarkdown:(t,e)=>{var n;const i=`- [${(n=t.attrs)!=null&&n.checked?"x":" "}] `;return Kk(t,e,i)},addKeyboardShortcuts(){const t={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...t,Tab:()=>this.editor.commands.sinkListItem(this.name)}:t},addNodeView(){return({node:t,HTMLAttributes:e,getPos:n,editor:r})=>{const i=document.createElement("li"),a=document.createElement("label"),s=document.createElement("span"),o=document.createElement("input"),l=document.createElement("div"),c=u=>{var f,g;o.ariaLabel=((g=(f=this.options.a11y)==null?void 0:f.checkboxLabel)==null?void 0:g.call(f,u,o.checked))||`Task item checkbox for ${u.textContent||"empty task item"}`};return c(t),a.contentEditable="false",o.type="checkbox",o.addEventListener("mousedown",u=>u.preventDefault()),o.addEventListener("change",u=>{if(!r.isEditable&&!this.options.onReadOnlyChecked){o.checked=!o.checked;return}const{checked:f}=u.target;r.isEditable&&typeof n=="function"&&r.chain().focus(void 0,{scrollIntoView:!1}).command(({tr:g})=>{const m=n();if(typeof m!="number")return!1;const y=g.doc.nodeAt(m);return g.setNodeMarkup(m,void 0,{...y?.attrs,checked:f}),!0}).run(),!r.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(t,f)||(o.checked=!o.checked))}),Object.entries(this.options.HTMLAttributes).forEach(([u,f])=>{i.setAttribute(u,f)}),i.dataset.checked=t.attrs.checked,o.checked=t.attrs.checked,a.append(o,s),i.append(a,l),Object.entries(e).forEach(([u,f])=>{i.setAttribute(u,f)}),{dom:i,contentDOM:l,update:u=>u.type!==this.type?!1:(i.dataset.checked=u.attrs.checked,o.checked=u.attrs.checked,c(u),!0)}}},addInputRules(){return[om({find:$Te,type:this.type,getAttributes:t=>({checked:t[t.length-1]==="x"})})]}}),GTe=Va.create({name:"taskList",addOptions(){return{itemTypeName:"taskItem",HTMLAttributes:{}}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:t}){return["ul",Er(this.options.HTMLAttributes,t,{"data-type":this.name}),0]},parseMarkdown:(t,e)=>e.createNode("taskList",{},e.parseChildren(t.items||[])),renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,` -`):"",markdownTokenizer:{name:"taskList",level:"block",start(t){var e;const n=(e=t.match(/^\s*[-+*]\s+\[([ xX])\]\s+/))==null?void 0:e.index;return n!==void 0?n:-1},tokenize(t,e,n){const r=a=>{const s=oR(a,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:o=>({indentLevel:o[1].length,mainContent:o[4],checked:o[3].toLowerCase()==="x"}),createToken:(o,l)=>({type:"taskItem",raw:"",mainContent:o.mainContent,indentLevel:o.indentLevel,checked:o.checked,text:o.mainContent,tokens:n.inlineTokens(o.mainContent),nestedTokens:l}),customNestedParser:r},n);return s?[{type:"taskList",raw:s.raw,items:s.items}]:n.blockTokens(a)},i=oR(t,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:a=>({indentLevel:a[1].length,mainContent:a[4],checked:a[3].toLowerCase()==="x"}),createToken:(a,s)=>({type:"taskItem",raw:"",mainContent:a.mainContent,indentLevel:a.indentLevel,checked:a.checked,text:a.mainContent,tokens:n.inlineTokens(a.mainContent),nestedTokens:s}),customNestedParser:r},n);if(i)return{type:"taskList",raw:i.raw,items:i.items}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleTaskList:()=>({commands:t})=>t.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}});Wn.create({name:"listKit",addExtensions(){const t=[];return this.options.bulletList!==!1&&t.push(sX.configure(this.options.bulletList)),this.options.listItem!==!1&&t.push(oX.configure(this.options.listItem)),this.options.listKeymap!==!1&&t.push(hX.configure(this.options.listKeymap)),this.options.orderedList!==!1&&t.push(mX.configure(this.options.orderedList)),this.options.taskItem!==!1&&t.push(VTe.configure(this.options.taskItem)),this.options.taskList!==!1&&t.push(GTe.configure(this.options.taskList)),t}});var WTe=Va.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",Er(this.options.HTMLAttributes,t),0]},parseMarkdown:(t,e)=>{const n=t.tokens||[];return n.length===1&&n[0].type==="image"?e.parseChildren([n[0]]):e.createNode("paragraph",void 0,e.parseInline(n))},renderMarkdown:(t,e)=>!t||!Array.isArray(t.content)?"":e.renderChildren(t.content),addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),qTe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,XTe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,KTe=dd.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["s",Er(this.options.HTMLAttributes,t),0]},markdownTokenName:"del",parseMarkdown:(t,e)=>e.applyMark("strike",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`~~${e.renderChildren(t)}~~`,addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[sm({find:qTe,type:this.type})]},addPasteRules(){return[jf({find:XTe,type:this.type})]}}),YTe=Va.create({name:"text",group:"inline",parseMarkdown:t=>({type:"text",text:t.text||""}),renderMarkdown:t=>t.text||""}),gX=dd.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["u",Er(this.options.HTMLAttributes,t),0]},parseMarkdown(t,e){return e.applyMark(this.name||"underline",e.parseInline(t.tokens||[]))},renderMarkdown(t,e){return`++${e.renderChildren(t)}++`},markdownTokenizer:{name:"underline",level:"inline",start(t){return t.indexOf("++")},tokenize(t,e,n){const i=/^(\+\+)([\s\S]+?)(\+\+)/.exec(t);if(!i)return;const a=i[2].trim();return{type:"underline",raw:i[0],text:a,tokens:n.inlineTokens(a)}}},addCommands(){return{setUnderline:()=>({commands:t})=>t.setMark(this.name),toggleUnderline:()=>({commands:t})=>t.toggleMark(this.name),unsetUnderline:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),ZTe=gX;function QTe(t={}){return new xr({view(e){return new JTe(e,t)}})}class JTe{constructor(e,n){var r;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=(r=n.width)!==null&&r!==void 0?r:1,this.color=n.color===!1?void 0:n.color||"black",this.class=n.class,this.handlers=["dragover","dragend","drop","dragleave"].map(i=>{let a=s=>{this[i](s)};return e.dom.addEventListener(i,a),{name:i,handler:a}})}destroy(){this.handlers.forEach(({name:e,handler:n})=>this.editorView.dom.removeEventListener(e,n))}update(e,n){this.cursorPos!=null&&n.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),n=!e.parent.inlineContent,r,i=this.editorView.dom,a=i.getBoundingClientRect(),s=a.width/i.offsetWidth,o=a.height/i.offsetHeight;if(n){let f=e.nodeBefore,g=e.nodeAfter;if(f||g){let m=this.editorView.nodeDOM(this.cursorPos-(f?f.nodeSize:0));if(m){let y=m.getBoundingClientRect(),v=f?y.bottom:y.top;f&&g&&(v=(v+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let b=this.width/2*o;r={left:y.left,right:y.right,top:v-b,bottom:v+b}}}}if(!r){let f=this.editorView.coordsAtPos(this.cursorPos),g=this.width/2*s;r={left:f.left-g,right:f.left+g,top:f.top,bottom:f.bottom}}let l=this.editorView.dom.offsetParent;this.element||(this.element=l.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",n),this.element.classList.toggle("prosemirror-dropcursor-inline",!n);let c,u;if(!l||l==document.body&&getComputedStyle(l).position=="static")c=-pageXOffset,u=-pageYOffset;else{let f=l.getBoundingClientRect(),g=f.width/l.offsetWidth,m=f.height/l.offsetHeight;c=f.left-l.scrollLeft*g,u=f.top-l.scrollTop*m}this.element.style.left=(r.left-c)/s+"px",this.element.style.top=(r.top-u)/o+"px",this.element.style.width=(r.right-r.left)/s+"px",this.element.style.height=(r.bottom-r.top)/o+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let n=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),r=n&&n.inside>=0&&this.editorView.state.doc.nodeAt(n.inside),i=r&&r.type.spec.disableDropCursor,a=typeof i=="function"?i(this.editorView,n,e):i;if(n&&!a){let s=n.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let o=m7(this.editorView.state.doc,s,this.editorView.dragging.slice);o!=null&&(s=o)}this.setCursor(s),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}class Mr extends sn{constructor(e){super(e,e)}map(e,n){let r=e.resolve(n.map(this.head));return Mr.valid(r)?new Mr(r):sn.near(r)}content(){return Et.empty}eq(e){return e instanceof Mr&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new Mr(e.resolve(n.pos))}getBookmark(){return new sD(this.anchor)}static valid(e){let n=e.parent;if(n.isTextblock||!e2e(e)||!t2e(e))return!1;let r=n.type.spec.allowGapCursor;if(r!=null)return r;let i=n.contentMatchAt(e.index()).defaultType;return i&&i.isTextblock}static findGapCursorFrom(e,n,r=!1){e:for(;;){if(!r&&Mr.valid(e))return e;let i=e.pos,a=null;for(let s=e.depth;;s--){let o=e.node(s);if(n>0?e.indexAfter(s)0){a=o.child(n>0?e.indexAfter(s):e.index(s)-1);break}else if(s==0)return null;i+=n;let l=e.doc.resolve(i);if(Mr.valid(l))return l}for(;;){let s=n>0?a.firstChild:a.lastChild;if(!s){if(a.isAtom&&!a.isText&&!zt.isSelectable(a)){e=e.doc.resolve(i+a.nodeSize*n),r=!1;continue e}break}a=s,i+=n;let o=e.doc.resolve(i);if(Mr.valid(o))return o}return null}}}Mr.prototype.visible=!1;Mr.findFrom=Mr.findGapCursorFrom;sn.jsonID("gapcursor",Mr);class sD{constructor(e){this.pos=e}map(e){return new sD(e.map(this.pos))}resolve(e){let n=e.resolve(this.pos);return Mr.valid(n)?new Mr(n):sn.near(n)}}function xX(t){return t.isAtom||t.spec.isolating||t.spec.createGapCursor}function e2e(t){for(let e=t.depth;e>=0;e--){let n=t.index(e),r=t.node(e);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let i=r.child(n-1);;i=i.lastChild){if(i.childCount==0&&!i.inlineContent||xX(i.type))return!0;if(i.inlineContent)return!1}}return!0}function t2e(t){for(let e=t.depth;e>=0;e--){let n=t.indexAfter(e),r=t.node(e);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let i=r.child(n);;i=i.firstChild){if(i.childCount==0&&!i.inlineContent||xX(i.type))return!0;if(i.inlineContent)return!1}}return!0}function n2e(){return new xr({props:{decorations:s2e,createSelectionBetween(t,e,n){return e.pos==n.pos&&Mr.valid(n)?new Mr(n):null},handleClick:i2e,handleKeyDown:r2e,handleDOMEvents:{beforeinput:a2e}}})}const r2e=mq({ArrowLeft:$y("horiz",-1),ArrowRight:$y("horiz",1),ArrowUp:$y("vert",-1),ArrowDown:$y("vert",1)});function $y(t,e){const n=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(r,i,a){let s=r.selection,o=e>0?s.$to:s.$from,l=s.empty;if(s instanceof Vt){if(!a.endOfTextblock(n)||o.depth==0)return!1;l=!1,o=r.doc.resolve(e>0?o.after():o.before())}let c=Mr.findGapCursorFrom(o,e,l);return c?(i&&i(r.tr.setSelection(new Mr(c))),!0):!1}}function i2e(t,e,n){if(!t||!t.editable)return!1;let r=t.state.doc.resolve(e);if(!Mr.valid(r))return!1;let i=t.posAtCoords({left:n.clientX,top:n.clientY});return i&&i.inside>-1&&zt.isSelectable(t.state.doc.nodeAt(i.inside))?!1:(t.dispatch(t.state.tr.setSelection(new Mr(r))),!0)}function a2e(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof Mr))return!1;let{$from:n}=t.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(t.state.schema.nodes.text);if(!r)return!1;let i=ht.empty;for(let s=r.length-1;s>=0;s--)i=ht.from(r[s].createAndFill(null,i));let a=t.state.tr.replace(n.pos,n.pos,new Et(i,0,0));return a.setSelection(Vt.near(a.doc.resolve(n.pos+1))),t.dispatch(a),!1}function s2e(t){if(!(t.selection instanceof Mr))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",pr.create(t.doc,[ga.widget(t.selection.head,e,{key:"gapcursor"})])}var K1=200,Ni=function(){};Ni.prototype.append=function(e){return e.length?(e=Ni.from(e),!this.length&&e||e.length=n?Ni.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))};Ni.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};Ni.prototype.forEach=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(e,n,r,0):this.forEachInvertedInner(e,n,r,0)};Ni.prototype.map=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var i=[];return this.forEach(function(a,s){return i.push(e(a,s))},n,r),i};Ni.from=function(e){return e instanceof Ni?e:e&&e.length?new vX(e):Ni.empty};var vX=(function(t){function e(r){t.call(this),this.values=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(i,a){return i==0&&a==this.length?this:new e(this.values.slice(i,a))},e.prototype.getInner=function(i){return this.values[i]},e.prototype.forEachInner=function(i,a,s,o){for(var l=a;l=s;l--)if(i(this.values[l],o+l)===!1)return!1},e.prototype.leafAppend=function(i){if(this.length+i.length<=K1)return new e(this.values.concat(i.flatten()))},e.prototype.leafPrepend=function(i){if(this.length+i.length<=K1)return new e(i.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e})(Ni);Ni.empty=new vX([]);var o2e=(function(t){function e(n,r){t.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(r){return ro&&this.right.forEachInner(r,Math.max(i-o,0),Math.min(this.length,a)-o,s+o)===!1)return!1},e.prototype.forEachInvertedInner=function(r,i,a,s){var o=this.left.length;if(i>o&&this.right.forEachInvertedInner(r,i-o,Math.max(a,o)-o,s+o)===!1||a=a?this.right.slice(r-a,i-a):this.left.slice(r,a).append(this.right.slice(0,i-a))},e.prototype.leafAppend=function(r){var i=this.right.leafAppend(r);if(i)return new e(this.left,i)},e.prototype.leafPrepend=function(r){var i=this.left.leafPrepend(r);if(i)return new e(i,this.right)},e.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new e(this.left,new e(this.right,r)):new e(this,r)},e})(Ni);const l2e=500;class go{constructor(e,n){this.items=e,this.eventCount=n}popEvent(e,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let i,a;n&&(i=this.remapping(r,this.items.length),a=i.maps.length);let s=e.tr,o,l,c=[],u=[];return this.items.forEach((f,g)=>{if(!f.step){i||(i=this.remapping(r,g+1),a=i.maps.length),a--,u.push(f);return}if(i){u.push(new zo(f.map));let m=f.step.map(i.slice(a)),y;m&&s.maybeStep(m).doc&&(y=s.mapping.maps[s.mapping.maps.length-1],c.push(new zo(y,void 0,void 0,c.length+u.length))),a--,y&&i.appendMap(y,a)}else s.maybeStep(f.step);if(f.selection)return o=i?f.selection.map(i.slice(a)):f.selection,l=new go(this.items.slice(0,r).append(u.reverse().concat(c)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:o}}addTransform(e,n,r,i){let a=[],s=this.eventCount,o=this.items,l=!i&&o.length?o.get(o.length-1):null;for(let u=0;uu2e&&(o=c2e(o,c),s-=c),new go(o.append(a),s)}remapping(e,n){let r=new a0;return this.items.forEach((i,a)=>{let s=i.mirrorOffset!=null&&a-i.mirrorOffset>=e?r.maps.length-i.mirrorOffset:void 0;r.appendMap(i.map,s)},e,n),r}addMaps(e){return this.eventCount==0?this:new go(this.items.append(e.map(n=>new zo(n))),this.eventCount)}rebased(e,n){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-n),a=e.mapping,s=e.steps.length,o=this.eventCount;this.items.forEach(g=>{g.selection&&o--},i);let l=n;this.items.forEach(g=>{let m=a.getMirror(--l);if(m==null)return;s=Math.min(s,m);let y=a.maps[m];if(g.step){let v=e.steps[m].invert(e.docs[m]),b=g.selection&&g.selection.map(a.slice(l+1,m));b&&o++,r.push(new zo(y,v,b))}else r.push(new zo(y))},i);let c=[];for(let g=n;gl2e&&(f=f.compress(this.items.length-r.length)),f}emptyItemCount(){let e=0;return this.items.forEach(n=>{n.step||e++}),e}compress(e=this.items.length){let n=this.remapping(0,e),r=n.maps.length,i=[],a=0;return this.items.forEach((s,o)=>{if(o>=e)i.push(s),s.selection&&a++;else if(s.step){let l=s.step.map(n.slice(r)),c=l&&l.getMap();if(r--,c&&n.appendMap(c,r),l){let u=s.selection&&s.selection.map(n.slice(r));u&&a++;let f=new zo(c.invert(),l,u),g,m=i.length-1;(g=i.length&&i[m].merge(f))?i[m]=g:i.push(f)}}else s.map&&r--},this.items.length,0),new go(Ni.from(i.reverse()),a)}}go.empty=new go(Ni.empty,0);function c2e(t,e){let n;return t.forEach((r,i)=>{if(r.selection&&e--==0)return n=i,!1}),t.slice(n)}class zo{constructor(e,n,r,i){this.map=e,this.step=n,this.selection=r,this.mirrorOffset=i}merge(e){if(this.step&&e.step&&!e.selection){let n=e.step.merge(this.step);if(n)return new zo(n.getMap().invert(),n,this.selection)}}}class Eu{constructor(e,n,r,i,a){this.done=e,this.undone=n,this.prevRanges=r,this.prevTime=i,this.prevComposition=a}}const u2e=20;function d2e(t,e,n,r){let i=n.getMeta(xf),a;if(i)return i.historyState;n.getMeta(p2e)&&(t=new Eu(t.done,t.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(n.steps.length==0)return t;if(s&&s.getMeta(xf))return s.getMeta(xf).redo?new Eu(t.done.addTransform(n,void 0,r,N_(e)),t.undone,AH(n.mapping.maps),t.prevTime,t.prevComposition):new Eu(t.done,t.undone.addTransform(n,void 0,r,N_(e)),null,t.prevTime,t.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let o=n.getMeta("composition"),l=t.prevTime==0||!s&&t.prevComposition!=o&&(t.prevTime<(n.time||0)-r.newGroupDelay||!f2e(n,t.prevRanges)),c=s?P2(t.prevRanges,n.mapping):AH(n.mapping.maps);return new Eu(t.done.addTransform(n,l?e.selection.getBookmark():void 0,r,N_(e)),go.empty,c,n.time,o??t.prevComposition)}else return(a=n.getMeta("rebased"))?new Eu(t.done.rebased(n,a),t.undone.rebased(n,a),P2(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new Eu(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),P2(t.prevRanges,n.mapping),t.prevTime,t.prevComposition)}function f2e(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach((r,i)=>{for(let a=0;a=e[a]&&(n=!0)}),n}function AH(t){let e=[];for(let n=t.length-1;n>=0&&e.length==0;n--)t[n].forEach((r,i,a,s)=>e.push(a,s));return e}function P2(t,e){if(!t)return null;let n=[];for(let r=0;r{let i=xf.getState(n);if(!i||(t?i.undone:i.done).eventCount==0)return!1;if(r){let a=h2e(i,n,t);a&&r(e?a.scrollIntoView():a)}return!0}}const yX=bX(!1,!0),_X=bX(!0,!0);Wn.create({name:"characterCount",addOptions(){return{limit:null,mode:"textSize",textCounter:t=>t.length,wordCounter:t=>t.split(" ").filter(e=>e!=="").length}},addStorage(){return{characters:()=>0,words:()=>0}},onBeforeCreate(){this.storage.characters=t=>{const e=t?.node||this.editor.state.doc;if((t?.mode||this.options.mode)==="textSize"){const r=e.textBetween(0,e.content.size,void 0," ");return this.options.textCounter(r)}return e.nodeSize},this.storage.words=t=>{const e=t?.node||this.editor.state.doc,n=e.textBetween(0,e.content.size," "," ");return this.options.wordCounter(n)}},addProseMirrorPlugins(){let t=!1;return[new xr({key:new ci("characterCount"),appendTransaction:(e,n,r)=>{if(t)return;const i=this.options.limit;if(i==null||i===0){t=!0;return}const a=this.storage.characters({node:r.doc});if(a>i){const s=a-i,o=0,l=s;console.warn(`[CharacterCount] Initial content exceeded limit of ${i} characters. Content was automatically trimmed.`);const c=r.tr.deleteRange(o,l);return t=!0,c}t=!0},filterTransaction:(e,n)=>{const r=this.options.limit;if(!e.docChanged||r===0||r===null||r===void 0)return!0;const i=this.storage.characters({node:n.doc}),a=this.storage.characters({node:e.doc});if(a<=r||i>r&&a>r&&a<=i)return!0;if(i>r&&a>r&&a>i||!e.getMeta("paste"))return!1;const o=e.selection.$head.pos,l=a-r,c=o-l,u=o;return e.deleteRange(c,u),!(this.storage.characters({node:e.doc})>r)}})]}});var g2e=Wn.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[QTe(this.options)]}});Wn.create({name:"focus",addOptions(){return{className:"has-focus",mode:"all"}},addProseMirrorPlugins(){return[new xr({key:new ci("focus"),props:{decorations:({doc:t,selection:e})=>{const{isEditable:n,isFocused:r}=this.editor,{anchor:i}=e,a=[];if(!n||!r)return pr.create(t,[]);let s=0;this.options.mode==="deepest"&&t.descendants((l,c)=>{if(l.isText)return;if(!(i>=c&&i<=c+l.nodeSize-1))return!1;s+=1});let o=0;return t.descendants((l,c)=>{if(l.isText||!(i>=c&&i<=c+l.nodeSize-1))return!1;if(o+=1,this.options.mode==="deepest"&&s-o>0||this.options.mode==="shallowest"&&o>1)return this.options.mode==="deepest";a.push(ga.node(c,c+l.nodeSize,{class:this.options.className}))}),pr.create(t,a)}}})]}});var x2e=Wn.create({name:"gapCursor",addProseMirrorPlugins(){return[n2e()]},extendNodeSchema(t){var e;const n={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:(e=On(jt(t,"allowGapCursor",n)))!=null?e:null}}});Wn.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new xr({key:new ci("placeholder"),props:{decorations:({doc:t,selection:e})=>{const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=e,i=[];if(!n)return null;const a=this.editor.isEmpty;return t.descendants((s,o)=>{const l=r>=o&&r<=o+s.nodeSize,c=!s.isLeaf&&Mw(s);if((l||!this.options.showOnlyCurrent)&&c){const u=[this.options.emptyNodeClass];a&&u.push(this.options.emptyEditorClass);const f=ga.node(o,o+s.nodeSize,{class:u.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:s,pos:o,hasAnchor:l}):this.options.placeholder});i.push(f)}return this.options.includeChildren}),pr.create(t,i)}}})]}});Wn.create({name:"selection",addOptions(){return{className:"selection"}},addProseMirrorPlugins(){const{editor:t,options:e}=this;return[new xr({key:new ci("selection"),props:{decorations(n){return n.selection.empty||t.isFocused||!t.isEditable||Pq(n.selection)||t.view.dragging?null:pr.create(n.doc,[ga.inline(n.selection.from,n.selection.to,{class:e.className})])}}})]}});function CH({types:t,node:e}){return e&&Array.isArray(t)&&t.includes(e.type)||e?.type===t}var v2e=Wn.create({name:"trailingNode",addOptions(){return{node:void 0,notAfter:[]}},addProseMirrorPlugins(){var t;const e=new ci(this.name),n=this.options.node||((t=this.editor.schema.topNodeType.contentMatch.defaultType)==null?void 0:t.name)||"paragraph",r=Object.entries(this.editor.schema.nodes).map(([,i])=>i).filter(i=>(this.options.notAfter||[]).concat(n).includes(i.name));return[new xr({key:e,appendTransaction:(i,a,s)=>{const{doc:o,tr:l,schema:c}=s,u=e.getState(s),f=o.content.size,g=c.nodes[n];if(u)return l.insert(f,g.create())},state:{init:(i,a)=>{const s=a.tr.doc.lastChild;return!CH({node:s,types:r})},apply:(i,a)=>{if(!i.docChanged||i.getMeta("__uniqueIDTransaction"))return a;const s=i.doc.lastChild;return!CH({node:s,types:r})}}})]}}),b2e=Wn.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>yX(t,e),redo:()=>({state:t,dispatch:e})=>_X(t,e)}},addProseMirrorPlugins(){return[m2e(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),y2e=Wn.create({name:"starterKit",addExtensions(){var t,e,n,r;const i=[];return this.options.bold!==!1&&i.push(qAe.configure(this.options.bold)),this.options.blockquote!==!1&&i.push(HAe.configure(this.options.blockquote)),this.options.bulletList!==!1&&i.push(sX.configure(this.options.bulletList)),this.options.code!==!1&&i.push(YAe.configure(this.options.code)),this.options.codeBlock!==!1&&i.push(JAe.configure(this.options.codeBlock)),this.options.document!==!1&&i.push(eTe.configure(this.options.document)),this.options.dropcursor!==!1&&i.push(g2e.configure(this.options.dropcursor)),this.options.gapcursor!==!1&&i.push(x2e.configure(this.options.gapcursor)),this.options.hardBreak!==!1&&i.push(tTe.configure(this.options.hardBreak)),this.options.heading!==!1&&i.push(nTe.configure(this.options.heading)),this.options.undoRedo!==!1&&i.push(b2e.configure(this.options.undoRedo)),this.options.horizontalRule!==!1&&i.push(rTe.configure(this.options.horizontalRule)),this.options.italic!==!1&&i.push(lTe.configure(this.options.italic)),this.options.listItem!==!1&&i.push(oX.configure(this.options.listItem)),this.options.listKeymap!==!1&&i.push(hX.configure((t=this.options)==null?void 0:t.listKeymap)),this.options.link!==!1&&i.push(aX.configure((e=this.options)==null?void 0:e.link)),this.options.orderedList!==!1&&i.push(mX.configure(this.options.orderedList)),this.options.paragraph!==!1&&i.push(WTe.configure(this.options.paragraph)),this.options.strike!==!1&&i.push(KTe.configure(this.options.strike)),this.options.text!==!1&&i.push(YTe.configure(this.options.text)),this.options.underline!==!1&&i.push(gX.configure((n=this.options)==null?void 0:n.underline)),this.options.trailingNode!==!1&&i.push(v2e.configure((r=this.options)==null?void 0:r.trailingNode)),i}}),_2e=y2e,S2e=Wn.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:null}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:t=>{const e=t.style.textAlign;return this.options.alignments.includes(e)?e:this.options.defaultAlignment},renderHTML:t=>t.textAlign?{style:`text-align: ${t.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:t=>({commands:e})=>this.options.alignments.includes(t)?this.options.types.map(n=>e.updateAttributes(n,{textAlign:t})).some(n=>n):!1,unsetTextAlign:()=>({commands:t})=>this.options.types.map(e=>t.resetAttributes(e,"textAlign")).some(e=>e),toggleTextAlign:t=>({editor:e,commands:n})=>this.options.alignments.includes(t)?e.isActive({textAlign:t})?n.unsetTextAlign():n.setTextAlign(t):!1}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),w2e=S2e,M2e=20,SX=(t,e=0)=>{const n=[];return!t.children.length||e>M2e||Array.from(t.children).forEach(r=>{r.tagName==="SPAN"?n.push(r):r.children.length&&n.push(...SX(r,e+1))}),n},E2e=t=>{if(!t.children.length)return;const e=SX(t);e&&e.forEach(n=>{var r,i;const a=n.getAttribute("style"),s=(i=(r=n.parentElement)==null?void 0:r.closest("span"))==null?void 0:i.getAttribute("style");n.setAttribute("style",`${s};${a}`)})},wX=dd.create({name:"textStyle",priority:101,addOptions(){return{HTMLAttributes:{},mergeNestedSpanStyles:!0}},parseHTML(){return[{tag:"span",consuming:!1,getAttrs:t=>t.hasAttribute("style")?(this.options.mergeNestedSpanStyles&&E2e(t),{}):!1}]},renderHTML({HTMLAttributes:t}){return["span",Er(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleTextStyle:t=>({commands:e})=>e.toggleMark(this.name,t),removeEmptyTextStyle:()=>({tr:t})=>{const{selection:e}=t;return t.doc.nodesBetween(e.from,e.to,(n,r)=>{if(n.isTextblock)return!0;n.marks.filter(i=>i.type===this.type).some(i=>Object.values(i.attrs).some(a=>!!a))||t.removeMark(r,r+n.nodeSize,this.type)}),!0}}}}),A2e=Wn.create({name:"backgroundColor",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{backgroundColor:{default:null,parseHTML:t=>{var e;const n=t.getAttribute("style");if(n){const r=n.split(";").map(i=>i.trim()).filter(Boolean);for(let i=r.length-1;i>=0;i-=1){const a=r[i].split(":");if(a.length>=2){const s=a[0].trim().toLowerCase(),o=a.slice(1).join(":").trim();if(s==="background-color")return o.replace(/['"]+/g,"")}}}return(e=t.style.backgroundColor)==null?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.backgroundColor?{style:`background-color: ${t.backgroundColor}`}:{}}}}]},addCommands(){return{setBackgroundColor:t=>({chain:e})=>e().setMark("textStyle",{backgroundColor:t}).run(),unsetBackgroundColor:()=>({chain:t})=>t().setMark("textStyle",{backgroundColor:null}).removeEmptyTextStyle().run()}}}),MX=Wn.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:t=>{var e;const n=t.getAttribute("style");if(n){const r=n.split(";").map(i=>i.trim()).filter(Boolean);for(let i=r.length-1;i>=0;i-=1){const a=r[i].split(":");if(a.length>=2){const s=a[0].trim().toLowerCase(),o=a.slice(1).join(":").trim();if(s==="color")return o.replace(/['"]+/g,"")}}}return(e=t.style.color)==null?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.color?{style:`color: ${t.color}`}:{}}}}]},addCommands(){return{setColor:t=>({chain:e})=>e().setMark("textStyle",{color:t}).run(),unsetColor:()=>({chain:t})=>t().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),T2e=Wn.create({name:"fontFamily",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:t=>t.style.fontFamily,renderHTML:t=>t.fontFamily?{style:`font-family: ${t.fontFamily}`}:{}}}}]},addCommands(){return{setFontFamily:t=>({chain:e})=>e().setMark("textStyle",{fontFamily:t}).run(),unsetFontFamily:()=>({chain:t})=>t().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()}}}),C2e=Wn.create({name:"fontSize",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:t=>t.style.fontSize,renderHTML:t=>t.fontSize?{style:`font-size: ${t.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:t=>({chain:e})=>e().setMark("textStyle",{fontSize:t}).run(),unsetFontSize:()=>({chain:t})=>t().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}}),N2e=Wn.create({name:"lineHeight",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:t=>t.style.lineHeight,renderHTML:t=>t.lineHeight?{style:`line-height: ${t.lineHeight}`}:{}}}}]},addCommands(){return{setLineHeight:t=>({chain:e})=>e().setMark("textStyle",{lineHeight:t}).run(),unsetLineHeight:()=>({chain:t})=>t().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()}}});Wn.create({name:"textStyleKit",addExtensions(){const t=[];return this.options.backgroundColor!==!1&&t.push(A2e.configure(this.options.backgroundColor)),this.options.color!==!1&&t.push(MX.configure(this.options.color)),this.options.fontFamily!==!1&&t.push(T2e.configure(this.options.fontFamily)),this.options.fontSize!==!1&&t.push(C2e.configure(this.options.fontSize)),this.options.lineHeight!==!1&&t.push(N2e.configure(this.options.lineHeight)),this.options.textStyle!==!1&&t.push(wX.configure(this.options.textStyle)),t}});var R2e=MX,P2e=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,k2e=Va.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:t}){return["img",Er(this.options.HTMLAttributes,t)]},parseMarkdown:(t,e)=>e.createNode("image",{src:t.href,title:t.title,alt:t.text}),renderMarkdown:t=>{var e,n,r,i,a,s;const o=(n=(e=t.attrs)==null?void 0:e.src)!=null?n:"",l=(i=(r=t.attrs)==null?void 0:r.alt)!=null?i:"",c=(s=(a=t.attrs)==null?void 0:a.title)!=null?s:"";return c?`![${l}](${o} "${c}")`:`![${l}](${o})`},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>"u"||!this.editor.isEditable)return null;const{directions:t,minWidth:e,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:i,getPos:a,HTMLAttributes:s})=>{const o=document.createElement("img");Object.entries(s).forEach(([u,f])=>{if(f!=null)switch(u){case"width":case"height":break;default:o.setAttribute(u,f);break}}),o.src=s.src;const l=new dAe({element:o,node:i,getPos:a,onResize:(u,f)=>{o.style.width=`${u}px`,o.style.height=`${f}px`},onCommit:(u,f)=>{const g=a();g!==void 0&&this.editor.chain().setNodeSelection(g).updateAttributes(this.name,{width:u,height:f}).run()},onUpdate:(u,f,g)=>u.type===i.type,options:{directions:t,min:{width:e,height:n},preserveAspectRatio:r===!0}}),c=l.dom;return c.style.visibility="hidden",c.style.pointerEvents="none",o.onload=()=>{c.style.visibility="",c.style.pointerEvents=""},l}},addCommands(){return{setImage:t=>({commands:e})=>e.insertContent({type:this.name,attrs:t})}},addInputRules(){return[Wq({find:P2e,type:this.type,getAttributes:t=>{const[,,e,n,r]=t;return{src:n,alt:e,title:r}}})]}}),D2e=k2e;function NH({content:t,onChange:e,placeholder:n}){const r=jAe({extensions:[_2e.configure({heading:!1,codeBlock:!1,code:!1}),ZTe,DTe.configure({openOnClick:!1,HTMLAttributes:{target:"_blank",rel:"noopener noreferrer"}}),w2e.configure({types:["paragraph"]}),wX,R2e,D2e.configure({HTMLAttributes:{style:"max-width: 100%; height: auto;"}})],content:t,onUpdate:({editor:s})=>{e(s.getHTML())},editorProps:{attributes:{class:"prose prose-invert prose-sm max-w-none focus:outline-none min-h-[120px] px-3 py-2",placeholder:n||""}}});if(!r)return null;const i=({onClick:s,isActive:o=!1,children:l,title:c})=>h.jsx("button",{type:"button",onClick:s,title:c,className:`p-1.5 rounded hover:bg-bambu-dark-tertiary transition-colors ${o?"bg-bambu-dark-tertiary text-bambu-green":"text-bambu-gray"}`,children:l}),a=()=>{const s=window.prompt("Enter URL:");s&&r.chain().focus().setLink({href:s}).run()};return h.jsxs("div",{className:"border border-bambu-dark-tertiary rounded-lg overflow-hidden bg-bambu-dark",children:[h.jsxs("div",{className:"flex items-center gap-0.5 p-1.5 border-b border-bambu-dark-tertiary bg-bambu-dark-secondary",children:[h.jsx(i,{onClick:()=>r.chain().focus().toggleBold().run(),isActive:r.isActive("bold"),title:"Bold",children:h.jsx(Hae,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().toggleItalic().run(),isActive:r.isActive("italic"),title:"Italic",children:h.jsx(Zse,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().toggleUnderline().run(),isActive:r.isActive("underline"),title:"Underline",children:h.jsx(Sle,{className:"w-4 h-4"})}),h.jsx("div",{className:"w-px h-5 bg-bambu-dark-tertiary mx-1"}),h.jsx(i,{onClick:()=>r.chain().focus().toggleBulletList().run(),isActive:r.isActive("bulletList"),title:"Bullet List",children:h.jsx(d9,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().toggleOrderedList().run(),isActive:r.isActive("orderedList"),title:"Numbered List",children:h.jsx(doe,{className:"w-4 h-4"})}),h.jsx("div",{className:"w-px h-5 bg-bambu-dark-tertiary mx-1"}),h.jsx(i,{onClick:()=>r.chain().focus().setTextAlign("left").run(),isActive:r.isActive({textAlign:"left"}),title:"Align Left",children:h.jsx(xle,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().setTextAlign("center").run(),isActive:r.isActive({textAlign:"center"}),title:"Align Center",children:h.jsx(hle,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().setTextAlign("right").run(),isActive:r.isActive({textAlign:"right"}),title:"Align Right",children:h.jsx(mle,{className:"w-4 h-4"})}),h.jsx("div",{className:"w-px h-5 bg-bambu-dark-tertiary mx-1"}),h.jsx(i,{onClick:a,isActive:r.isActive("link"),title:"Add Link",children:h.jsx(coe,{className:"w-4 h-4"})}),r.isActive("link")&&h.jsx(i,{onClick:()=>r.chain().focus().unsetLink().run(),title:"Remove Link",children:h.jsx(Mle,{className:"w-4 h-4"})})]}),h.jsx(RAe,{editor:r})]})}function O2e({archiveId:t,archiveName:e,onClose:n}){const r=In(),[i,a]=E.useState(!1),[s,o]=E.useState(null),[l,c]=E.useState({}),{data:u,isLoading:f,error:g}=Ut({queryKey:["archive-project-page",t],queryFn:()=>Fe.getArchiveProjectPage(t)}),m=yt({mutationFn:T=>Fe.updateArchiveProjectPage(t,T),onSuccess:()=>{r.invalidateQueries({queryKey:["archive-project-page",t]}),a(!1),c({})}});E.useEffect(()=>{const T=R=>{R.key==="Escape"&&(s!==null?o(null):i?x():n())};return document.addEventListener("keydown",T),()=>document.removeEventListener("keydown",T)},[s,i,n]);const y=[...u?.model_pictures||[],...u?.profile_pictures||[]],v=()=>{c({title:u?.title||"",description:u?.description||"",designer:u?.designer||"",license:u?.license||"",profile_title:u?.profile_title||"",profile_description:u?.profile_description||""}),a(!0)},b=()=>{m.mutate(l)},x=()=>{a(!1),c({})},M=T=>{const R=["p","br","b","strong","i","em","u","a","ul","ol","li","figure","img"],N=new DOMParser().parseFromString(T,"text/html"),j=C=>{if(C.nodeType===Node.TEXT_NODE)return C.textContent||"";if(C.nodeType===Node.ELEMENT_NODE){const k=C,U=k.tagName.toLowerCase();if(!R.includes(U))return Array.from(k.childNodes).map(j).join("");let I="";if(U==="a"&&k.getAttribute("href")){const O=k.getAttribute("href");O?.toLowerCase().startsWith("http")&&(I=` href="${O}" target="_blank" rel="noopener noreferrer"`)}if(U==="img"){const O=k.getAttribute("src");if(!O?.toLowerCase().startsWith("http"))return"";I=` src="${O}" style="max-width: 100%; height: auto;"`}const H=Array.from(k.childNodes).map(j).join("");return["br","img"].includes(U)?`<${U}${I} />`:`<${U}${I}>${H}`}return""};return Array.from(N.body.childNodes).map(j).join("")},w=u&&(u.title||u.description||u.designer||u.profile_title||y.length>0),A=T=>{T.target===T.currentTarget&&n()};return h.jsxs("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:A,children:[h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl max-w-4xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(Sp,{className:"w-5 h-5 text-bambu-green"}),h.jsxs("h2",{className:"text-lg font-semibold text-white",children:["Project Page",e&&h.jsxs("span",{className:"text-bambu-gray ml-2",children:["- ",e]})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[!i&&w&&h.jsxs(ct,{variant:"ghost",size:"sm",onClick:v,children:[h.jsx(VP,{className:"w-4 h-4 mr-1"}),"Edit"]}),i&&h.jsxs(h.Fragment,{children:[h.jsx(ct,{variant:"ghost",size:"sm",onClick:x,children:"Cancel"}),h.jsxs(ct,{variant:"primary",size:"sm",onClick:b,disabled:m.isPending,children:[h.jsx(I0,{className:"w-4 h-4 mr-1"}),"Save"]})]}),h.jsx("button",{onClick:n,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-bambu-gray"})})]})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[f&&h.jsx("div",{className:"flex items-center justify-center py-12",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-bambu-green border-t-transparent"})}),g&&h.jsx("div",{className:"text-red-400 text-center py-12",children:"Failed to load project page data"}),u&&!w&&h.jsxs("div",{className:"text-bambu-gray text-center py-12",children:[h.jsx(Sp,{className:"w-12 h-12 mx-auto mb-4 opacity-50"}),h.jsx("p",{children:"No project page data found in this 3MF file."}),h.jsx("p",{className:"text-sm mt-2",children:"Project pages are typically included in files downloaded from MakerWorld."})]}),u&&w&&h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"space-y-4",children:[i?h.jsx("input",{type:"text",value:l.title||"",onChange:T=>c({...l,title:T.target.value}),placeholder:"Title",className:"w-full bg-bambu-dark border border-bambu-dark-tertiary rounded-lg px-4 py-2 text-white text-xl font-semibold"}):u.title&&h.jsx("h3",{className:"text-xl font-semibold text-white",children:u.title}),h.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[i?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(nF,{className:"w-4 h-4 text-bambu-gray"}),h.jsx("input",{type:"text",value:l.designer||"",onChange:T=>c({...l,designer:T.target.value}),placeholder:"Designer",className:"bg-bambu-dark border border-bambu-dark-tertiary rounded px-2 py-1 text-white"})]}):u.designer&&h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(nF,{className:"w-4 h-4"}),h.jsx("span",{children:u.designer}),u.designer_user_id&&h.jsx("a",{href:`https://makerworld.com/en/@${u.designer_user_id}`,target:"_blank",rel:"noopener noreferrer",className:"text-bambu-green hover:underline",children:h.jsx(Qo,{className:"w-3 h-3"})})]}),u.creation_date&&h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(Zo,{className:"w-4 h-4"}),h.jsx("span",{children:u.creation_date})]}),i?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(Sp,{className:"w-4 h-4 text-bambu-gray"}),h.jsx("input",{type:"text",value:l.license||"",onChange:T=>c({...l,license:T.target.value}),placeholder:"License",className:"bg-bambu-dark border border-bambu-dark-tertiary rounded px-2 py-1 text-white"})]}):u.license&&h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(Sp,{className:"w-4 h-4"}),h.jsx("span",{children:u.license})]}),u.origin&&h.jsx("span",{className:"px-2 py-0.5 bg-bambu-dark rounded text-bambu-gray",children:u.origin})]})]}),(u.description||i)&&h.jsxs("div",{className:"space-y-2",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray uppercase tracking-wide",children:"Description"}),i?h.jsx(NH,{content:l.description||"",onChange:T=>c({...l,description:T}),placeholder:"Enter description..."}):h.jsx("div",{className:"prose prose-invert prose-sm max-w-none text-bambu-gray-light",dangerouslySetInnerHTML:{__html:M(u.description||"")}})]}),(u.profile_title||u.profile_description||i)&&h.jsxs("div",{className:"space-y-2 p-4 bg-bambu-dark rounded-lg",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray uppercase tracking-wide",children:"Print Profile"}),i?h.jsxs("div",{className:"space-y-2",children:[h.jsx("input",{type:"text",value:l.profile_title||"",onChange:T=>c({...l,profile_title:T.target.value}),placeholder:"Profile Title",className:"w-full bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded px-3 py-2 text-white"}),h.jsx(NH,{content:l.profile_description||"",onChange:T=>c({...l,profile_description:T}),placeholder:"Profile description..."})]}):h.jsxs(h.Fragment,{children:[u.profile_title&&h.jsx("p",{className:"text-white font-medium",children:u.profile_title}),u.profile_description&&h.jsx("div",{className:"prose prose-invert prose-sm max-w-none text-bambu-gray-light",dangerouslySetInnerHTML:{__html:M(u.profile_description)}}),u.profile_user_name&&h.jsxs("p",{className:"text-sm text-bambu-gray",children:["by ",u.profile_user_name]})]})]}),y.length>0&&h.jsxs("div",{className:"space-y-2",children:[h.jsxs("h4",{className:"text-sm font-medium text-bambu-gray uppercase tracking-wide flex items-center gap-2",children:[h.jsx(JS,{className:"w-4 h-4"}),"Images (",y.length,")"]}),h.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 gap-2",children:y.map((T,R)=>h.jsx("button",{onClick:()=>o(R),className:"aspect-square rounded-lg overflow-hidden border border-bambu-dark-tertiary hover:border-bambu-green transition-colors",children:h.jsx("img",{src:T.url,alt:T.name,className:"w-full h-full object-cover"})},T.path))})]}),u.design_model_id&&h.jsx("div",{className:"pt-4 border-t border-bambu-dark-tertiary",children:h.jsxs("a",{href:`https://makerworld.com/en/models/${u.design_model_id}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-bambu-green hover:underline",children:[h.jsx(Qo,{className:"w-4 h-4"}),"View on MakerWorld"]})})]})]})]}),s!==null&&y[s]&&h.jsxs("div",{className:"fixed inset-0 bg-black/90 flex items-center justify-center z-60",onClick:()=>o(null),children:[h.jsx("button",{onClick:T=>{T.stopPropagation(),o(Math.max(0,s-1))},disabled:s===0,className:"absolute left-4 p-2 bg-bambu-dark-secondary rounded-full hover:bg-bambu-dark-tertiary disabled:opacity-30",children:h.jsx(Af,{className:"w-6 h-6 text-white"})}),h.jsx("img",{src:y[s].url,alt:y[s].name,className:"max-w-[90vw] max-h-[90vh] object-contain",onClick:T=>T.stopPropagation()}),h.jsx("button",{onClick:T=>{T.stopPropagation(),o(Math.min(y.length-1,s+1))},disabled:s===y.length-1,className:"absolute right-4 p-2 bg-bambu-dark-secondary rounded-full hover:bg-bambu-dark-tertiary disabled:opacity-30",children:h.jsx(Wf,{className:"w-6 h-6 text-white"})}),h.jsx("button",{onClick:()=>o(null),className:"absolute top-4 right-4 p-2 bg-bambu-dark-secondary rounded-full hover:bg-bambu-dark-tertiary",children:h.jsx(mn,{className:"w-6 h-6 text-white"})}),h.jsxs("div",{className:"absolute bottom-4 text-white text-sm",children:[s+1," / ",y.length]})]})]})}const L2e=[.25,.5,.75,1,1.5,2,3,4];function I2e({src:t,title:e,downloadFilename:n,onClose:r}){const i=E.useRef(null),[a,s]=E.useState(!0),[o,l]=E.useState(.5),[c,u]=E.useState(0),[f,g]=E.useState(0);E.useEffect(()=>{const w=i.current;w&&(w.playbackRate=o)},[o]),E.useEffect(()=>{const w=A=>{A.key==="Escape"&&r()};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[r]),E.useEffect(()=>{const w=i.current;if(!w)return;const A=()=>u(w.currentTime),T=()=>g(w.duration),R=()=>s(!0),N=()=>s(!1);return w.addEventListener("timeupdate",A),w.addEventListener("durationchange",T),w.addEventListener("play",R),w.addEventListener("pause",N),()=>{w.removeEventListener("timeupdate",A),w.removeEventListener("durationchange",T),w.removeEventListener("play",R),w.removeEventListener("pause",N)}},[]);const m=()=>{const w=i.current;w&&(a?w.pause():w.play())},y=w=>{const A=i.current;A&&(A.currentTime=parseFloat(w.target.value))},v=()=>{const w=i.current;w&&(w.currentTime=Math.max(0,w.currentTime-5))},b=()=>{const w=i.current;w&&(w.currentTime=Math.min(f,w.currentTime+5))},x=w=>{const A=Math.floor(w/60),T=Math.floor(w%60);return`${A}:${T.toString().padStart(2,"0")}`},M=()=>{const w=document.createElement("a");w.href=t,w.download=n,w.click()};return h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80",children:h.jsxs("div",{className:"relative bg-bambu-dark-secondary rounded-xl max-w-4xl w-full mx-4 overflow-hidden",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("h3",{className:"text-lg font-semibold text-white flex items-center gap-2",children:[h.jsx(Np,{className:"w-5 h-5 text-bambu-green"}),e]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs(ct,{variant:"secondary",size:"sm",onClick:M,children:[h.jsx(Ku,{className:"w-4 h-4"}),"Download"]}),h.jsx("button",{onClick:r,className:"p-1 hover:bg-bambu-dark-tertiary rounded transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-bambu-gray"})})]})]}),h.jsxs("div",{className:"p-4",children:[h.jsx("video",{ref:i,src:t,autoPlay:!0,className:"w-full rounded-lg",onClick:m}),h.jsxs("div",{className:"mt-4 space-y-3",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("span",{className:"text-xs text-bambu-gray w-12 text-right",children:x(c)}),h.jsx("input",{type:"range",min:0,max:f||100,value:c,onChange:y,className:`flex-1 h-1 bg-bambu-dark-tertiary rounded-lg appearance-none cursor-pointer +`):"",markdownTokenizer:{name:"taskList",level:"block",start(t){var e;const n=(e=t.match(/^\s*[-+*]\s+\[([ xX])\]\s+/))==null?void 0:e.index;return n!==void 0?n:-1},tokenize(t,e,n){const r=a=>{const s=oR(a,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:o=>({indentLevel:o[1].length,mainContent:o[4],checked:o[3].toLowerCase()==="x"}),createToken:(o,l)=>({type:"taskItem",raw:"",mainContent:o.mainContent,indentLevel:o.indentLevel,checked:o.checked,text:o.mainContent,tokens:n.inlineTokens(o.mainContent),nestedTokens:l}),customNestedParser:r},n);return s?[{type:"taskList",raw:s.raw,items:s.items}]:n.blockTokens(a)},i=oR(t,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:a=>({indentLevel:a[1].length,mainContent:a[4],checked:a[3].toLowerCase()==="x"}),createToken:(a,s)=>({type:"taskItem",raw:"",mainContent:a.mainContent,indentLevel:a.indentLevel,checked:a.checked,text:a.mainContent,tokens:n.inlineTokens(a.mainContent),nestedTokens:s}),customNestedParser:r},n);if(i)return{type:"taskList",raw:i.raw,items:i.items}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleTaskList:()=>({commands:t})=>t.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}});Wn.create({name:"listKit",addExtensions(){const t=[];return this.options.bulletList!==!1&&t.push(sX.configure(this.options.bulletList)),this.options.listItem!==!1&&t.push(oX.configure(this.options.listItem)),this.options.listKeymap!==!1&&t.push(hX.configure(this.options.listKeymap)),this.options.orderedList!==!1&&t.push(mX.configure(this.options.orderedList)),this.options.taskItem!==!1&&t.push(VTe.configure(this.options.taskItem)),this.options.taskList!==!1&&t.push(GTe.configure(this.options.taskList)),t}});var WTe=Va.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",Er(this.options.HTMLAttributes,t),0]},parseMarkdown:(t,e)=>{const n=t.tokens||[];return n.length===1&&n[0].type==="image"?e.parseChildren([n[0]]):e.createNode("paragraph",void 0,e.parseInline(n))},renderMarkdown:(t,e)=>!t||!Array.isArray(t.content)?"":e.renderChildren(t.content),addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),qTe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,XTe=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,KTe=dd.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["s",Er(this.options.HTMLAttributes,t),0]},markdownTokenName:"del",parseMarkdown:(t,e)=>e.applyMark("strike",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`~~${e.renderChildren(t)}~~`,addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[sm({find:qTe,type:this.type})]},addPasteRules(){return[jf({find:XTe,type:this.type})]}}),YTe=Va.create({name:"text",group:"inline",parseMarkdown:t=>({type:"text",text:t.text||""}),renderMarkdown:t=>t.text||""}),gX=dd.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["u",Er(this.options.HTMLAttributes,t),0]},parseMarkdown(t,e){return e.applyMark(this.name||"underline",e.parseInline(t.tokens||[]))},renderMarkdown(t,e){return`++${e.renderChildren(t)}++`},markdownTokenizer:{name:"underline",level:"inline",start(t){return t.indexOf("++")},tokenize(t,e,n){const i=/^(\+\+)([\s\S]+?)(\+\+)/.exec(t);if(!i)return;const a=i[2].trim();return{type:"underline",raw:i[0],text:a,tokens:n.inlineTokens(a)}}},addCommands(){return{setUnderline:()=>({commands:t})=>t.setMark(this.name),toggleUnderline:()=>({commands:t})=>t.toggleMark(this.name),unsetUnderline:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),ZTe=gX;function QTe(t={}){return new xr({view(e){return new JTe(e,t)}})}class JTe{constructor(e,n){var r;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=(r=n.width)!==null&&r!==void 0?r:1,this.color=n.color===!1?void 0:n.color||"black",this.class=n.class,this.handlers=["dragover","dragend","drop","dragleave"].map(i=>{let a=s=>{this[i](s)};return e.dom.addEventListener(i,a),{name:i,handler:a}})}destroy(){this.handlers.forEach(({name:e,handler:n})=>this.editorView.dom.removeEventListener(e,n))}update(e,n){this.cursorPos!=null&&n.doc!=e.state.doc&&(this.cursorPos>e.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),n=!e.parent.inlineContent,r,i=this.editorView.dom,a=i.getBoundingClientRect(),s=a.width/i.offsetWidth,o=a.height/i.offsetHeight;if(n){let f=e.nodeBefore,g=e.nodeAfter;if(f||g){let m=this.editorView.nodeDOM(this.cursorPos-(f?f.nodeSize:0));if(m){let y=m.getBoundingClientRect(),v=f?y.bottom:y.top;f&&g&&(v=(v+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let b=this.width/2*o;r={left:y.left,right:y.right,top:v-b,bottom:v+b}}}}if(!r){let f=this.editorView.coordsAtPos(this.cursorPos),g=this.width/2*s;r={left:f.left-g,right:f.left+g,top:f.top,bottom:f.bottom}}let l=this.editorView.dom.offsetParent;this.element||(this.element=l.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",n),this.element.classList.toggle("prosemirror-dropcursor-inline",!n);let c,u;if(!l||l==document.body&&getComputedStyle(l).position=="static")c=-pageXOffset,u=-pageYOffset;else{let f=l.getBoundingClientRect(),g=f.width/l.offsetWidth,m=f.height/l.offsetHeight;c=f.left-l.scrollLeft*g,u=f.top-l.scrollTop*m}this.element.style.left=(r.left-c)/s+"px",this.element.style.top=(r.top-u)/o+"px",this.element.style.width=(r.right-r.left)/s+"px",this.element.style.height=(r.bottom-r.top)/o+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}dragover(e){if(!this.editorView.editable)return;let n=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),r=n&&n.inside>=0&&this.editorView.state.doc.nodeAt(n.inside),i=r&&r.type.spec.disableDropCursor,a=typeof i=="function"?i(this.editorView,n,e):i;if(n&&!a){let s=n.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let o=m7(this.editorView.state.doc,s,this.editorView.dragging.slice);o!=null&&(s=o)}this.setCursor(s),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}class Mr extends sn{constructor(e){super(e,e)}map(e,n){let r=e.resolve(n.map(this.head));return Mr.valid(r)?new Mr(r):sn.near(r)}content(){return Et.empty}eq(e){return e instanceof Mr&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,n){if(typeof n.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new Mr(e.resolve(n.pos))}getBookmark(){return new sD(this.anchor)}static valid(e){let n=e.parent;if(n.isTextblock||!e2e(e)||!t2e(e))return!1;let r=n.type.spec.allowGapCursor;if(r!=null)return r;let i=n.contentMatchAt(e.index()).defaultType;return i&&i.isTextblock}static findGapCursorFrom(e,n,r=!1){e:for(;;){if(!r&&Mr.valid(e))return e;let i=e.pos,a=null;for(let s=e.depth;;s--){let o=e.node(s);if(n>0?e.indexAfter(s)0){a=o.child(n>0?e.indexAfter(s):e.index(s)-1);break}else if(s==0)return null;i+=n;let l=e.doc.resolve(i);if(Mr.valid(l))return l}for(;;){let s=n>0?a.firstChild:a.lastChild;if(!s){if(a.isAtom&&!a.isText&&!zt.isSelectable(a)){e=e.doc.resolve(i+a.nodeSize*n),r=!1;continue e}break}a=s,i+=n;let o=e.doc.resolve(i);if(Mr.valid(o))return o}return null}}}Mr.prototype.visible=!1;Mr.findFrom=Mr.findGapCursorFrom;sn.jsonID("gapcursor",Mr);class sD{constructor(e){this.pos=e}map(e){return new sD(e.map(this.pos))}resolve(e){let n=e.resolve(this.pos);return Mr.valid(n)?new Mr(n):sn.near(n)}}function xX(t){return t.isAtom||t.spec.isolating||t.spec.createGapCursor}function e2e(t){for(let e=t.depth;e>=0;e--){let n=t.index(e),r=t.node(e);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let i=r.child(n-1);;i=i.lastChild){if(i.childCount==0&&!i.inlineContent||xX(i.type))return!0;if(i.inlineContent)return!1}}return!0}function t2e(t){for(let e=t.depth;e>=0;e--){let n=t.indexAfter(e),r=t.node(e);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let i=r.child(n);;i=i.firstChild){if(i.childCount==0&&!i.inlineContent||xX(i.type))return!0;if(i.inlineContent)return!1}}return!0}function n2e(){return new xr({props:{decorations:s2e,createSelectionBetween(t,e,n){return e.pos==n.pos&&Mr.valid(n)?new Mr(n):null},handleClick:i2e,handleKeyDown:r2e,handleDOMEvents:{beforeinput:a2e}}})}const r2e=mq({ArrowLeft:$y("horiz",-1),ArrowRight:$y("horiz",1),ArrowUp:$y("vert",-1),ArrowDown:$y("vert",1)});function $y(t,e){const n=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(r,i,a){let s=r.selection,o=e>0?s.$to:s.$from,l=s.empty;if(s instanceof Vt){if(!a.endOfTextblock(n)||o.depth==0)return!1;l=!1,o=r.doc.resolve(e>0?o.after():o.before())}let c=Mr.findGapCursorFrom(o,e,l);return c?(i&&i(r.tr.setSelection(new Mr(c))),!0):!1}}function i2e(t,e,n){if(!t||!t.editable)return!1;let r=t.state.doc.resolve(e);if(!Mr.valid(r))return!1;let i=t.posAtCoords({left:n.clientX,top:n.clientY});return i&&i.inside>-1&&zt.isSelectable(t.state.doc.nodeAt(i.inside))?!1:(t.dispatch(t.state.tr.setSelection(new Mr(r))),!0)}function a2e(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof Mr))return!1;let{$from:n}=t.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(t.state.schema.nodes.text);if(!r)return!1;let i=ht.empty;for(let s=r.length-1;s>=0;s--)i=ht.from(r[s].createAndFill(null,i));let a=t.state.tr.replace(n.pos,n.pos,new Et(i,0,0));return a.setSelection(Vt.near(a.doc.resolve(n.pos+1))),t.dispatch(a),!1}function s2e(t){if(!(t.selection instanceof Mr))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",pr.create(t.doc,[ga.widget(t.selection.head,e,{key:"gapcursor"})])}var K1=200,Ni=function(){};Ni.prototype.append=function(e){return e.length?(e=Ni.from(e),!this.length&&e||e.length=n?Ni.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,n))};Ni.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};Ni.prototype.forEach=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(e,n,r,0):this.forEachInvertedInner(e,n,r,0)};Ni.prototype.map=function(e,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var i=[];return this.forEach(function(a,s){return i.push(e(a,s))},n,r),i};Ni.from=function(e){return e instanceof Ni?e:e&&e.length?new vX(e):Ni.empty};var vX=(function(t){function e(r){t.call(this),this.values=r}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(i,a){return i==0&&a==this.length?this:new e(this.values.slice(i,a))},e.prototype.getInner=function(i){return this.values[i]},e.prototype.forEachInner=function(i,a,s,o){for(var l=a;l=s;l--)if(i(this.values[l],o+l)===!1)return!1},e.prototype.leafAppend=function(i){if(this.length+i.length<=K1)return new e(this.values.concat(i.flatten()))},e.prototype.leafPrepend=function(i){if(this.length+i.length<=K1)return new e(i.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(e.prototype,n),e})(Ni);Ni.empty=new vX([]);var o2e=(function(t){function e(n,r){t.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(r){return ro&&this.right.forEachInner(r,Math.max(i-o,0),Math.min(this.length,a)-o,s+o)===!1)return!1},e.prototype.forEachInvertedInner=function(r,i,a,s){var o=this.left.length;if(i>o&&this.right.forEachInvertedInner(r,i-o,Math.max(a,o)-o,s+o)===!1||a=a?this.right.slice(r-a,i-a):this.left.slice(r,a).append(this.right.slice(0,i-a))},e.prototype.leafAppend=function(r){var i=this.right.leafAppend(r);if(i)return new e(this.left,i)},e.prototype.leafPrepend=function(r){var i=this.left.leafPrepend(r);if(i)return new e(i,this.right)},e.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new e(this.left,new e(this.right,r)):new e(this,r)},e})(Ni);const l2e=500;class go{constructor(e,n){this.items=e,this.eventCount=n}popEvent(e,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let i,a;n&&(i=this.remapping(r,this.items.length),a=i.maps.length);let s=e.tr,o,l,c=[],u=[];return this.items.forEach((f,g)=>{if(!f.step){i||(i=this.remapping(r,g+1),a=i.maps.length),a--,u.push(f);return}if(i){u.push(new zo(f.map));let m=f.step.map(i.slice(a)),y;m&&s.maybeStep(m).doc&&(y=s.mapping.maps[s.mapping.maps.length-1],c.push(new zo(y,void 0,void 0,c.length+u.length))),a--,y&&i.appendMap(y,a)}else s.maybeStep(f.step);if(f.selection)return o=i?f.selection.map(i.slice(a)):f.selection,l=new go(this.items.slice(0,r).append(u.reverse().concat(c)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:o}}addTransform(e,n,r,i){let a=[],s=this.eventCount,o=this.items,l=!i&&o.length?o.get(o.length-1):null;for(let u=0;uu2e&&(o=c2e(o,c),s-=c),new go(o.append(a),s)}remapping(e,n){let r=new a0;return this.items.forEach((i,a)=>{let s=i.mirrorOffset!=null&&a-i.mirrorOffset>=e?r.maps.length-i.mirrorOffset:void 0;r.appendMap(i.map,s)},e,n),r}addMaps(e){return this.eventCount==0?this:new go(this.items.append(e.map(n=>new zo(n))),this.eventCount)}rebased(e,n){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-n),a=e.mapping,s=e.steps.length,o=this.eventCount;this.items.forEach(g=>{g.selection&&o--},i);let l=n;this.items.forEach(g=>{let m=a.getMirror(--l);if(m==null)return;s=Math.min(s,m);let y=a.maps[m];if(g.step){let v=e.steps[m].invert(e.docs[m]),b=g.selection&&g.selection.map(a.slice(l+1,m));b&&o++,r.push(new zo(y,v,b))}else r.push(new zo(y))},i);let c=[];for(let g=n;gl2e&&(f=f.compress(this.items.length-r.length)),f}emptyItemCount(){let e=0;return this.items.forEach(n=>{n.step||e++}),e}compress(e=this.items.length){let n=this.remapping(0,e),r=n.maps.length,i=[],a=0;return this.items.forEach((s,o)=>{if(o>=e)i.push(s),s.selection&&a++;else if(s.step){let l=s.step.map(n.slice(r)),c=l&&l.getMap();if(r--,c&&n.appendMap(c,r),l){let u=s.selection&&s.selection.map(n.slice(r));u&&a++;let f=new zo(c.invert(),l,u),g,m=i.length-1;(g=i.length&&i[m].merge(f))?i[m]=g:i.push(f)}}else s.map&&r--},this.items.length,0),new go(Ni.from(i.reverse()),a)}}go.empty=new go(Ni.empty,0);function c2e(t,e){let n;return t.forEach((r,i)=>{if(r.selection&&e--==0)return n=i,!1}),t.slice(n)}class zo{constructor(e,n,r,i){this.map=e,this.step=n,this.selection=r,this.mirrorOffset=i}merge(e){if(this.step&&e.step&&!e.selection){let n=e.step.merge(this.step);if(n)return new zo(n.getMap().invert(),n,this.selection)}}}class Eu{constructor(e,n,r,i,a){this.done=e,this.undone=n,this.prevRanges=r,this.prevTime=i,this.prevComposition=a}}const u2e=20;function d2e(t,e,n,r){let i=n.getMeta(xf),a;if(i)return i.historyState;n.getMeta(p2e)&&(t=new Eu(t.done,t.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(n.steps.length==0)return t;if(s&&s.getMeta(xf))return s.getMeta(xf).redo?new Eu(t.done.addTransform(n,void 0,r,N_(e)),t.undone,AH(n.mapping.maps),t.prevTime,t.prevComposition):new Eu(t.done,t.undone.addTransform(n,void 0,r,N_(e)),null,t.prevTime,t.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let o=n.getMeta("composition"),l=t.prevTime==0||!s&&t.prevComposition!=o&&(t.prevTime<(n.time||0)-r.newGroupDelay||!f2e(n,t.prevRanges)),c=s?P2(t.prevRanges,n.mapping):AH(n.mapping.maps);return new Eu(t.done.addTransform(n,l?e.selection.getBookmark():void 0,r,N_(e)),go.empty,c,n.time,o??t.prevComposition)}else return(a=n.getMeta("rebased"))?new Eu(t.done.rebased(n,a),t.undone.rebased(n,a),P2(t.prevRanges,n.mapping),t.prevTime,t.prevComposition):new Eu(t.done.addMaps(n.mapping.maps),t.undone.addMaps(n.mapping.maps),P2(t.prevRanges,n.mapping),t.prevTime,t.prevComposition)}function f2e(t,e){if(!e)return!1;if(!t.docChanged)return!0;let n=!1;return t.mapping.maps[0].forEach((r,i)=>{for(let a=0;a=e[a]&&(n=!0)}),n}function AH(t){let e=[];for(let n=t.length-1;n>=0&&e.length==0;n--)t[n].forEach((r,i,a,s)=>e.push(a,s));return e}function P2(t,e){if(!t)return null;let n=[];for(let r=0;r{let i=xf.getState(n);if(!i||(t?i.undone:i.done).eventCount==0)return!1;if(r){let a=h2e(i,n,t);a&&r(e?a.scrollIntoView():a)}return!0}}const yX=bX(!1,!0),_X=bX(!0,!0);Wn.create({name:"characterCount",addOptions(){return{limit:null,mode:"textSize",textCounter:t=>t.length,wordCounter:t=>t.split(" ").filter(e=>e!=="").length}},addStorage(){return{characters:()=>0,words:()=>0}},onBeforeCreate(){this.storage.characters=t=>{const e=t?.node||this.editor.state.doc;if((t?.mode||this.options.mode)==="textSize"){const r=e.textBetween(0,e.content.size,void 0," ");return this.options.textCounter(r)}return e.nodeSize},this.storage.words=t=>{const e=t?.node||this.editor.state.doc,n=e.textBetween(0,e.content.size," "," ");return this.options.wordCounter(n)}},addProseMirrorPlugins(){let t=!1;return[new xr({key:new ci("characterCount"),appendTransaction:(e,n,r)=>{if(t)return;const i=this.options.limit;if(i==null||i===0){t=!0;return}const a=this.storage.characters({node:r.doc});if(a>i){const s=a-i,o=0,l=s;console.warn(`[CharacterCount] Initial content exceeded limit of ${i} characters. Content was automatically trimmed.`);const c=r.tr.deleteRange(o,l);return t=!0,c}t=!0},filterTransaction:(e,n)=>{const r=this.options.limit;if(!e.docChanged||r===0||r===null||r===void 0)return!0;const i=this.storage.characters({node:n.doc}),a=this.storage.characters({node:e.doc});if(a<=r||i>r&&a>r&&a<=i)return!0;if(i>r&&a>r&&a>i||!e.getMeta("paste"))return!1;const o=e.selection.$head.pos,l=a-r,c=o-l,u=o;return e.deleteRange(c,u),!(this.storage.characters({node:e.doc})>r)}})]}});var g2e=Wn.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[QTe(this.options)]}});Wn.create({name:"focus",addOptions(){return{className:"has-focus",mode:"all"}},addProseMirrorPlugins(){return[new xr({key:new ci("focus"),props:{decorations:({doc:t,selection:e})=>{const{isEditable:n,isFocused:r}=this.editor,{anchor:i}=e,a=[];if(!n||!r)return pr.create(t,[]);let s=0;this.options.mode==="deepest"&&t.descendants((l,c)=>{if(l.isText)return;if(!(i>=c&&i<=c+l.nodeSize-1))return!1;s+=1});let o=0;return t.descendants((l,c)=>{if(l.isText||!(i>=c&&i<=c+l.nodeSize-1))return!1;if(o+=1,this.options.mode==="deepest"&&s-o>0||this.options.mode==="shallowest"&&o>1)return this.options.mode==="deepest";a.push(ga.node(c,c+l.nodeSize,{class:this.options.className}))}),pr.create(t,a)}}})]}});var x2e=Wn.create({name:"gapCursor",addProseMirrorPlugins(){return[n2e()]},extendNodeSchema(t){var e;const n={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:(e=On(jt(t,"allowGapCursor",n)))!=null?e:null}}});Wn.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[new xr({key:new ci("placeholder"),props:{decorations:({doc:t,selection:e})=>{const n=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:r}=e,i=[];if(!n)return null;const a=this.editor.isEmpty;return t.descendants((s,o)=>{const l=r>=o&&r<=o+s.nodeSize,c=!s.isLeaf&&Mw(s);if((l||!this.options.showOnlyCurrent)&&c){const u=[this.options.emptyNodeClass];a&&u.push(this.options.emptyEditorClass);const f=ga.node(o,o+s.nodeSize,{class:u.join(" "),"data-placeholder":typeof this.options.placeholder=="function"?this.options.placeholder({editor:this.editor,node:s,pos:o,hasAnchor:l}):this.options.placeholder});i.push(f)}return this.options.includeChildren}),pr.create(t,i)}}})]}});Wn.create({name:"selection",addOptions(){return{className:"selection"}},addProseMirrorPlugins(){const{editor:t,options:e}=this;return[new xr({key:new ci("selection"),props:{decorations(n){return n.selection.empty||t.isFocused||!t.isEditable||Pq(n.selection)||t.view.dragging?null:pr.create(n.doc,[ga.inline(n.selection.from,n.selection.to,{class:e.className})])}}})]}});function CH({types:t,node:e}){return e&&Array.isArray(t)&&t.includes(e.type)||e?.type===t}var v2e=Wn.create({name:"trailingNode",addOptions(){return{node:void 0,notAfter:[]}},addProseMirrorPlugins(){var t;const e=new ci(this.name),n=this.options.node||((t=this.editor.schema.topNodeType.contentMatch.defaultType)==null?void 0:t.name)||"paragraph",r=Object.entries(this.editor.schema.nodes).map(([,i])=>i).filter(i=>(this.options.notAfter||[]).concat(n).includes(i.name));return[new xr({key:e,appendTransaction:(i,a,s)=>{const{doc:o,tr:l,schema:c}=s,u=e.getState(s),f=o.content.size,g=c.nodes[n];if(u)return l.insert(f,g.create())},state:{init:(i,a)=>{const s=a.tr.doc.lastChild;return!CH({node:s,types:r})},apply:(i,a)=>{if(!i.docChanged||i.getMeta("__uniqueIDTransaction"))return a;const s=i.doc.lastChild;return!CH({node:s,types:r})}}})]}}),b2e=Wn.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>yX(t,e),redo:()=>({state:t,dispatch:e})=>_X(t,e)}},addProseMirrorPlugins(){return[m2e(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),y2e=Wn.create({name:"starterKit",addExtensions(){var t,e,n,r;const i=[];return this.options.bold!==!1&&i.push(qAe.configure(this.options.bold)),this.options.blockquote!==!1&&i.push(HAe.configure(this.options.blockquote)),this.options.bulletList!==!1&&i.push(sX.configure(this.options.bulletList)),this.options.code!==!1&&i.push(YAe.configure(this.options.code)),this.options.codeBlock!==!1&&i.push(JAe.configure(this.options.codeBlock)),this.options.document!==!1&&i.push(eTe.configure(this.options.document)),this.options.dropcursor!==!1&&i.push(g2e.configure(this.options.dropcursor)),this.options.gapcursor!==!1&&i.push(x2e.configure(this.options.gapcursor)),this.options.hardBreak!==!1&&i.push(tTe.configure(this.options.hardBreak)),this.options.heading!==!1&&i.push(nTe.configure(this.options.heading)),this.options.undoRedo!==!1&&i.push(b2e.configure(this.options.undoRedo)),this.options.horizontalRule!==!1&&i.push(rTe.configure(this.options.horizontalRule)),this.options.italic!==!1&&i.push(lTe.configure(this.options.italic)),this.options.listItem!==!1&&i.push(oX.configure(this.options.listItem)),this.options.listKeymap!==!1&&i.push(hX.configure((t=this.options)==null?void 0:t.listKeymap)),this.options.link!==!1&&i.push(aX.configure((e=this.options)==null?void 0:e.link)),this.options.orderedList!==!1&&i.push(mX.configure(this.options.orderedList)),this.options.paragraph!==!1&&i.push(WTe.configure(this.options.paragraph)),this.options.strike!==!1&&i.push(KTe.configure(this.options.strike)),this.options.text!==!1&&i.push(YTe.configure(this.options.text)),this.options.underline!==!1&&i.push(gX.configure((n=this.options)==null?void 0:n.underline)),this.options.trailingNode!==!1&&i.push(v2e.configure((r=this.options)==null?void 0:r.trailingNode)),i}}),_2e=y2e,S2e=Wn.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:null}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:t=>{const e=t.style.textAlign;return this.options.alignments.includes(e)?e:this.options.defaultAlignment},renderHTML:t=>t.textAlign?{style:`text-align: ${t.textAlign}`}:{}}}}]},addCommands(){return{setTextAlign:t=>({commands:e})=>this.options.alignments.includes(t)?this.options.types.map(n=>e.updateAttributes(n,{textAlign:t})).some(n=>n):!1,unsetTextAlign:()=>({commands:t})=>this.options.types.map(e=>t.resetAttributes(e,"textAlign")).some(e=>e),toggleTextAlign:t=>({editor:e,commands:n})=>this.options.alignments.includes(t)?e.isActive({textAlign:t})?n.unsetTextAlign():n.setTextAlign(t):!1}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),w2e=S2e,M2e=20,SX=(t,e=0)=>{const n=[];return!t.children.length||e>M2e||Array.from(t.children).forEach(r=>{r.tagName==="SPAN"?n.push(r):r.children.length&&n.push(...SX(r,e+1))}),n},E2e=t=>{if(!t.children.length)return;const e=SX(t);e&&e.forEach(n=>{var r,i;const a=n.getAttribute("style"),s=(i=(r=n.parentElement)==null?void 0:r.closest("span"))==null?void 0:i.getAttribute("style");n.setAttribute("style",`${s};${a}`)})},wX=dd.create({name:"textStyle",priority:101,addOptions(){return{HTMLAttributes:{},mergeNestedSpanStyles:!0}},parseHTML(){return[{tag:"span",consuming:!1,getAttrs:t=>t.hasAttribute("style")?(this.options.mergeNestedSpanStyles&&E2e(t),{}):!1}]},renderHTML({HTMLAttributes:t}){return["span",Er(this.options.HTMLAttributes,t),0]},addCommands(){return{toggleTextStyle:t=>({commands:e})=>e.toggleMark(this.name,t),removeEmptyTextStyle:()=>({tr:t})=>{const{selection:e}=t;return t.doc.nodesBetween(e.from,e.to,(n,r)=>{if(n.isTextblock)return!0;n.marks.filter(i=>i.type===this.type).some(i=>Object.values(i.attrs).some(a=>!!a))||t.removeMark(r,r+n.nodeSize,this.type)}),!0}}}}),A2e=Wn.create({name:"backgroundColor",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{backgroundColor:{default:null,parseHTML:t=>{var e;const n=t.getAttribute("style");if(n){const r=n.split(";").map(i=>i.trim()).filter(Boolean);for(let i=r.length-1;i>=0;i-=1){const a=r[i].split(":");if(a.length>=2){const s=a[0].trim().toLowerCase(),o=a.slice(1).join(":").trim();if(s==="background-color")return o.replace(/['"]+/g,"")}}}return(e=t.style.backgroundColor)==null?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.backgroundColor?{style:`background-color: ${t.backgroundColor}`}:{}}}}]},addCommands(){return{setBackgroundColor:t=>({chain:e})=>e().setMark("textStyle",{backgroundColor:t}).run(),unsetBackgroundColor:()=>({chain:t})=>t().setMark("textStyle",{backgroundColor:null}).removeEmptyTextStyle().run()}}}),MX=Wn.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:t=>{var e;const n=t.getAttribute("style");if(n){const r=n.split(";").map(i=>i.trim()).filter(Boolean);for(let i=r.length-1;i>=0;i-=1){const a=r[i].split(":");if(a.length>=2){const s=a[0].trim().toLowerCase(),o=a.slice(1).join(":").trim();if(s==="color")return o.replace(/['"]+/g,"")}}}return(e=t.style.color)==null?void 0:e.replace(/['"]+/g,"")},renderHTML:t=>t.color?{style:`color: ${t.color}`}:{}}}}]},addCommands(){return{setColor:t=>({chain:e})=>e().setMark("textStyle",{color:t}).run(),unsetColor:()=>({chain:t})=>t().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),T2e=Wn.create({name:"fontFamily",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:t=>t.style.fontFamily,renderHTML:t=>t.fontFamily?{style:`font-family: ${t.fontFamily}`}:{}}}}]},addCommands(){return{setFontFamily:t=>({chain:e})=>e().setMark("textStyle",{fontFamily:t}).run(),unsetFontFamily:()=>({chain:t})=>t().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()}}}),C2e=Wn.create({name:"fontSize",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:t=>t.style.fontSize,renderHTML:t=>t.fontSize?{style:`font-size: ${t.fontSize}`}:{}}}}]},addCommands(){return{setFontSize:t=>({chain:e})=>e().setMark("textStyle",{fontSize:t}).run(),unsetFontSize:()=>({chain:t})=>t().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()}}}),N2e=Wn.create({name:"lineHeight",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:t=>t.style.lineHeight,renderHTML:t=>t.lineHeight?{style:`line-height: ${t.lineHeight}`}:{}}}}]},addCommands(){return{setLineHeight:t=>({chain:e})=>e().setMark("textStyle",{lineHeight:t}).run(),unsetLineHeight:()=>({chain:t})=>t().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()}}});Wn.create({name:"textStyleKit",addExtensions(){const t=[];return this.options.backgroundColor!==!1&&t.push(A2e.configure(this.options.backgroundColor)),this.options.color!==!1&&t.push(MX.configure(this.options.color)),this.options.fontFamily!==!1&&t.push(T2e.configure(this.options.fontFamily)),this.options.fontSize!==!1&&t.push(C2e.configure(this.options.fontSize)),this.options.lineHeight!==!1&&t.push(N2e.configure(this.options.lineHeight)),this.options.textStyle!==!1&&t.push(wX.configure(this.options.textStyle)),t}});var R2e=MX,P2e=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,k2e=Va.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:t}){return["img",Er(this.options.HTMLAttributes,t)]},parseMarkdown:(t,e)=>e.createNode("image",{src:t.href,title:t.title,alt:t.text}),renderMarkdown:t=>{var e,n,r,i,a,s;const o=(n=(e=t.attrs)==null?void 0:e.src)!=null?n:"",l=(i=(r=t.attrs)==null?void 0:r.alt)!=null?i:"",c=(s=(a=t.attrs)==null?void 0:a.title)!=null?s:"";return c?`![${l}](${o} "${c}")`:`![${l}](${o})`},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>"u"||!this.editor.isEditable)return null;const{directions:t,minWidth:e,minHeight:n,alwaysPreserveAspectRatio:r}=this.options.resize;return({node:i,getPos:a,HTMLAttributes:s})=>{const o=document.createElement("img");Object.entries(s).forEach(([u,f])=>{if(f!=null)switch(u){case"width":case"height":break;default:o.setAttribute(u,f);break}}),o.src=s.src;const l=new dAe({element:o,node:i,getPos:a,onResize:(u,f)=>{o.style.width=`${u}px`,o.style.height=`${f}px`},onCommit:(u,f)=>{const g=a();g!==void 0&&this.editor.chain().setNodeSelection(g).updateAttributes(this.name,{width:u,height:f}).run()},onUpdate:(u,f,g)=>u.type===i.type,options:{directions:t,min:{width:e,height:n},preserveAspectRatio:r===!0}}),c=l.dom;return c.style.visibility="hidden",c.style.pointerEvents="none",o.onload=()=>{c.style.visibility="",c.style.pointerEvents=""},l}},addCommands(){return{setImage:t=>({commands:e})=>e.insertContent({type:this.name,attrs:t})}},addInputRules(){return[Wq({find:P2e,type:this.type,getAttributes:t=>{const[,,e,n,r]=t;return{src:n,alt:e,title:r}}})]}}),D2e=k2e;function NH({content:t,onChange:e,placeholder:n}){const r=jAe({extensions:[_2e.configure({heading:!1,codeBlock:!1,code:!1}),ZTe,DTe.configure({openOnClick:!1,HTMLAttributes:{target:"_blank",rel:"noopener noreferrer"}}),w2e.configure({types:["paragraph"]}),wX,R2e,D2e.configure({HTMLAttributes:{style:"max-width: 100%; height: auto;"}})],content:t,onUpdate:({editor:s})=>{e(s.getHTML())},editorProps:{attributes:{class:"prose prose-invert prose-sm max-w-none focus:outline-none min-h-[120px] px-3 py-2",placeholder:n||""}}});if(!r)return null;const i=({onClick:s,isActive:o=!1,children:l,title:c})=>h.jsx("button",{type:"button",onClick:s,title:c,className:`p-1.5 rounded hover:bg-bambu-dark-tertiary transition-colors ${o?"bg-bambu-dark-tertiary text-bambu-green":"text-bambu-gray"}`,children:l}),a=()=>{const s=window.prompt("Enter URL:");s&&r.chain().focus().setLink({href:s}).run()};return h.jsxs("div",{className:"border border-bambu-dark-tertiary rounded-lg overflow-hidden bg-bambu-dark",children:[h.jsxs("div",{className:"flex items-center gap-0.5 p-1.5 border-b border-bambu-dark-tertiary bg-bambu-dark-secondary",children:[h.jsx(i,{onClick:()=>r.chain().focus().toggleBold().run(),isActive:r.isActive("bold"),title:"Bold",children:h.jsx(Hae,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().toggleItalic().run(),isActive:r.isActive("italic"),title:"Italic",children:h.jsx(Zse,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().toggleUnderline().run(),isActive:r.isActive("underline"),title:"Underline",children:h.jsx(Sle,{className:"w-4 h-4"})}),h.jsx("div",{className:"w-px h-5 bg-bambu-dark-tertiary mx-1"}),h.jsx(i,{onClick:()=>r.chain().focus().toggleBulletList().run(),isActive:r.isActive("bulletList"),title:"Bullet List",children:h.jsx(d9,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().toggleOrderedList().run(),isActive:r.isActive("orderedList"),title:"Numbered List",children:h.jsx(doe,{className:"w-4 h-4"})}),h.jsx("div",{className:"w-px h-5 bg-bambu-dark-tertiary mx-1"}),h.jsx(i,{onClick:()=>r.chain().focus().setTextAlign("left").run(),isActive:r.isActive({textAlign:"left"}),title:"Align Left",children:h.jsx(xle,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().setTextAlign("center").run(),isActive:r.isActive({textAlign:"center"}),title:"Align Center",children:h.jsx(hle,{className:"w-4 h-4"})}),h.jsx(i,{onClick:()=>r.chain().focus().setTextAlign("right").run(),isActive:r.isActive({textAlign:"right"}),title:"Align Right",children:h.jsx(mle,{className:"w-4 h-4"})}),h.jsx("div",{className:"w-px h-5 bg-bambu-dark-tertiary mx-1"}),h.jsx(i,{onClick:a,isActive:r.isActive("link"),title:"Add Link",children:h.jsx(coe,{className:"w-4 h-4"})}),r.isActive("link")&&h.jsx(i,{onClick:()=>r.chain().focus().unsetLink().run(),title:"Remove Link",children:h.jsx(Mle,{className:"w-4 h-4"})})]}),h.jsx(RAe,{editor:r})]})}function O2e({archiveId:t,archiveName:e,onClose:n}){const r=In(),[i,a]=E.useState(!1),[s,o]=E.useState(null),[l,c]=E.useState({}),{data:u,isLoading:f,error:g}=Ut({queryKey:["archive-project-page",t],queryFn:()=>Fe.getArchiveProjectPage(t)}),m=yt({mutationFn:T=>Fe.updateArchiveProjectPage(t,T),onSuccess:()=>{r.invalidateQueries({queryKey:["archive-project-page",t]}),a(!1),c({})}});E.useEffect(()=>{const T=R=>{R.key==="Escape"&&(s!==null?o(null):i?x():n())};return document.addEventListener("keydown",T),()=>document.removeEventListener("keydown",T)},[s,i,n]);const y=[...u?.model_pictures||[],...u?.profile_pictures||[]],v=()=>{c({title:u?.title||"",description:u?.description||"",designer:u?.designer||"",license:u?.license||"",profile_title:u?.profile_title||"",profile_description:u?.profile_description||""}),a(!0)},b=()=>{m.mutate(l)},x=()=>{a(!1),c({})},M=T=>{const R=["p","br","b","strong","i","em","u","a","ul","ol","li","figure","img"],N=new DOMParser().parseFromString(T,"text/html"),j=C=>{if(C.nodeType===Node.TEXT_NODE)return C.textContent||"";if(C.nodeType===Node.ELEMENT_NODE){const k=C,F=k.tagName.toLowerCase();if(!R.includes(F))return Array.from(k.childNodes).map(j).join("");let I="";if(F==="a"&&k.getAttribute("href")){const O=k.getAttribute("href");O?.toLowerCase().startsWith("http")&&(I=` href="${O}" target="_blank" rel="noopener noreferrer"`)}if(F==="img"){const O=k.getAttribute("src");if(!O?.toLowerCase().startsWith("http"))return"";I=` src="${O}" style="max-width: 100%; height: auto;"`}const B=Array.from(k.childNodes).map(j).join("");return["br","img"].includes(F)?`<${F}${I} />`:`<${F}${I}>${B}`}return""};return Array.from(N.body.childNodes).map(j).join("")},w=u&&(u.title||u.description||u.designer||u.profile_title||y.length>0),A=T=>{T.target===T.currentTarget&&n()};return h.jsxs("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:A,children:[h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl max-w-4xl w-full max-h-[90vh] overflow-hidden flex flex-col",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(Sp,{className:"w-5 h-5 text-bambu-green"}),h.jsxs("h2",{className:"text-lg font-semibold text-white",children:["Project Page",e&&h.jsxs("span",{className:"text-bambu-gray ml-2",children:["- ",e]})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[!i&&w&&h.jsxs(lt,{variant:"ghost",size:"sm",onClick:v,children:[h.jsx(VP,{className:"w-4 h-4 mr-1"}),"Edit"]}),i&&h.jsxs(h.Fragment,{children:[h.jsx(lt,{variant:"ghost",size:"sm",onClick:x,children:"Cancel"}),h.jsxs(lt,{variant:"primary",size:"sm",onClick:b,disabled:m.isPending,children:[h.jsx(I0,{className:"w-4 h-4 mr-1"}),"Save"]})]}),h.jsx("button",{onClick:n,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-bambu-gray"})})]})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[f&&h.jsx("div",{className:"flex items-center justify-center py-12",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-bambu-green border-t-transparent"})}),g&&h.jsx("div",{className:"text-red-400 text-center py-12",children:"Failed to load project page data"}),u&&!w&&h.jsxs("div",{className:"text-bambu-gray text-center py-12",children:[h.jsx(Sp,{className:"w-12 h-12 mx-auto mb-4 opacity-50"}),h.jsx("p",{children:"No project page data found in this 3MF file."}),h.jsx("p",{className:"text-sm mt-2",children:"Project pages are typically included in files downloaded from MakerWorld."})]}),u&&w&&h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"space-y-4",children:[i?h.jsx("input",{type:"text",value:l.title||"",onChange:T=>c({...l,title:T.target.value}),placeholder:"Title",className:"w-full bg-bambu-dark border border-bambu-dark-tertiary rounded-lg px-4 py-2 text-white text-xl font-semibold"}):u.title&&h.jsx("h3",{className:"text-xl font-semibold text-white",children:u.title}),h.jsxs("div",{className:"flex flex-wrap gap-4 text-sm",children:[i?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(nF,{className:"w-4 h-4 text-bambu-gray"}),h.jsx("input",{type:"text",value:l.designer||"",onChange:T=>c({...l,designer:T.target.value}),placeholder:"Designer",className:"bg-bambu-dark border border-bambu-dark-tertiary rounded px-2 py-1 text-white"})]}):u.designer&&h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(nF,{className:"w-4 h-4"}),h.jsx("span",{children:u.designer}),u.designer_user_id&&h.jsx("a",{href:`https://makerworld.com/en/@${u.designer_user_id}`,target:"_blank",rel:"noopener noreferrer",className:"text-bambu-green hover:underline",children:h.jsx(Qo,{className:"w-3 h-3"})})]}),u.creation_date&&h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(Zo,{className:"w-4 h-4"}),h.jsx("span",{children:u.creation_date})]}),i?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(Sp,{className:"w-4 h-4 text-bambu-gray"}),h.jsx("input",{type:"text",value:l.license||"",onChange:T=>c({...l,license:T.target.value}),placeholder:"License",className:"bg-bambu-dark border border-bambu-dark-tertiary rounded px-2 py-1 text-white"})]}):u.license&&h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(Sp,{className:"w-4 h-4"}),h.jsx("span",{children:u.license})]}),u.origin&&h.jsx("span",{className:"px-2 py-0.5 bg-bambu-dark rounded text-bambu-gray",children:u.origin})]})]}),(u.description||i)&&h.jsxs("div",{className:"space-y-2",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray uppercase tracking-wide",children:"Description"}),i?h.jsx(NH,{content:l.description||"",onChange:T=>c({...l,description:T}),placeholder:"Enter description..."}):h.jsx("div",{className:"prose prose-invert prose-sm max-w-none text-bambu-gray-light",dangerouslySetInnerHTML:{__html:M(u.description||"")}})]}),(u.profile_title||u.profile_description||i)&&h.jsxs("div",{className:"space-y-2 p-4 bg-bambu-dark rounded-lg",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray uppercase tracking-wide",children:"Print Profile"}),i?h.jsxs("div",{className:"space-y-2",children:[h.jsx("input",{type:"text",value:l.profile_title||"",onChange:T=>c({...l,profile_title:T.target.value}),placeholder:"Profile Title",className:"w-full bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded px-3 py-2 text-white"}),h.jsx(NH,{content:l.profile_description||"",onChange:T=>c({...l,profile_description:T}),placeholder:"Profile description..."})]}):h.jsxs(h.Fragment,{children:[u.profile_title&&h.jsx("p",{className:"text-white font-medium",children:u.profile_title}),u.profile_description&&h.jsx("div",{className:"prose prose-invert prose-sm max-w-none text-bambu-gray-light",dangerouslySetInnerHTML:{__html:M(u.profile_description)}}),u.profile_user_name&&h.jsxs("p",{className:"text-sm text-bambu-gray",children:["by ",u.profile_user_name]})]})]}),y.length>0&&h.jsxs("div",{className:"space-y-2",children:[h.jsxs("h4",{className:"text-sm font-medium text-bambu-gray uppercase tracking-wide flex items-center gap-2",children:[h.jsx(JS,{className:"w-4 h-4"}),"Images (",y.length,")"]}),h.jsx("div",{className:"grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 gap-2",children:y.map((T,R)=>h.jsx("button",{onClick:()=>o(R),className:"aspect-square rounded-lg overflow-hidden border border-bambu-dark-tertiary hover:border-bambu-green transition-colors",children:h.jsx("img",{src:T.url,alt:T.name,className:"w-full h-full object-cover"})},T.path))})]}),u.design_model_id&&h.jsx("div",{className:"pt-4 border-t border-bambu-dark-tertiary",children:h.jsxs("a",{href:`https://makerworld.com/en/models/${u.design_model_id}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-bambu-green hover:underline",children:[h.jsx(Qo,{className:"w-4 h-4"}),"View on MakerWorld"]})})]})]})]}),s!==null&&y[s]&&h.jsxs("div",{className:"fixed inset-0 bg-black/90 flex items-center justify-center z-60",onClick:()=>o(null),children:[h.jsx("button",{onClick:T=>{T.stopPropagation(),o(Math.max(0,s-1))},disabled:s===0,className:"absolute left-4 p-2 bg-bambu-dark-secondary rounded-full hover:bg-bambu-dark-tertiary disabled:opacity-30",children:h.jsx(Af,{className:"w-6 h-6 text-white"})}),h.jsx("img",{src:y[s].url,alt:y[s].name,className:"max-w-[90vw] max-h-[90vh] object-contain",onClick:T=>T.stopPropagation()}),h.jsx("button",{onClick:T=>{T.stopPropagation(),o(Math.min(y.length-1,s+1))},disabled:s===y.length-1,className:"absolute right-4 p-2 bg-bambu-dark-secondary rounded-full hover:bg-bambu-dark-tertiary disabled:opacity-30",children:h.jsx(Wf,{className:"w-6 h-6 text-white"})}),h.jsx("button",{onClick:()=>o(null),className:"absolute top-4 right-4 p-2 bg-bambu-dark-secondary rounded-full hover:bg-bambu-dark-tertiary",children:h.jsx(mn,{className:"w-6 h-6 text-white"})}),h.jsxs("div",{className:"absolute bottom-4 text-white text-sm",children:[s+1," / ",y.length]})]})]})}const L2e=[.25,.5,.75,1,1.5,2,3,4];function I2e({src:t,title:e,downloadFilename:n,onClose:r}){const i=E.useRef(null),[a,s]=E.useState(!0),[o,l]=E.useState(.5),[c,u]=E.useState(0),[f,g]=E.useState(0);E.useEffect(()=>{const w=i.current;w&&(w.playbackRate=o)},[o]),E.useEffect(()=>{const w=A=>{A.key==="Escape"&&r()};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[r]),E.useEffect(()=>{const w=i.current;if(!w)return;const A=()=>u(w.currentTime),T=()=>g(w.duration),R=()=>s(!0),N=()=>s(!1);return w.addEventListener("timeupdate",A),w.addEventListener("durationchange",T),w.addEventListener("play",R),w.addEventListener("pause",N),()=>{w.removeEventListener("timeupdate",A),w.removeEventListener("durationchange",T),w.removeEventListener("play",R),w.removeEventListener("pause",N)}},[]);const m=()=>{const w=i.current;w&&(a?w.pause():w.play())},y=w=>{const A=i.current;A&&(A.currentTime=parseFloat(w.target.value))},v=()=>{const w=i.current;w&&(w.currentTime=Math.max(0,w.currentTime-5))},b=()=>{const w=i.current;w&&(w.currentTime=Math.min(f,w.currentTime+5))},x=w=>{const A=Math.floor(w/60),T=Math.floor(w%60);return`${A}:${T.toString().padStart(2,"0")}`},M=()=>{const w=document.createElement("a");w.href=t,w.download=n,w.click()};return h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/80",children:h.jsxs("div",{className:"relative bg-bambu-dark-secondary rounded-xl max-w-4xl w-full mx-4 overflow-hidden",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("h3",{className:"text-lg font-semibold text-white flex items-center gap-2",children:[h.jsx(Np,{className:"w-5 h-5 text-bambu-green"}),e]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs(lt,{variant:"secondary",size:"sm",onClick:M,children:[h.jsx(Ku,{className:"w-4 h-4"}),"Download"]}),h.jsx("button",{onClick:r,className:"p-1 hover:bg-bambu-dark-tertiary rounded transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-bambu-gray"})})]})]}),h.jsxs("div",{className:"p-4",children:[h.jsx("video",{ref:i,src:t,autoPlay:!0,className:"w-full rounded-lg",onClick:m}),h.jsxs("div",{className:"mt-4 space-y-3",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("span",{className:"text-xs text-bambu-gray w-12 text-right",children:x(c)}),h.jsx("input",{type:"range",min:0,max:f||100,value:c,onChange:y,className:`flex-1 h-1 bg-bambu-dark-tertiary rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3 [&::-webkit-slider-thumb]:bg-bambu-green [&::-webkit-slider-thumb]:rounded-full - [&::-webkit-slider-thumb]:cursor-pointer`}),h.jsx("span",{className:"text-xs text-bambu-gray w-12",children:x(f)})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:v,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",title:"Skip back 5s",children:h.jsx(Zoe,{className:"w-5 h-5 text-bambu-gray"})}),h.jsx("button",{onClick:m,className:"p-2 bg-bambu-green hover:bg-bambu-green-dark rounded-lg transition-colors",children:a?h.jsx(h9,{className:"w-5 h-5 text-white"}):h.jsx(ew,{className:"w-5 h-5 text-white"})}),h.jsx("button",{onClick:b,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",title:"Skip forward 5s",children:h.jsx(x9,{className:"w-5 h-5 text-bambu-gray"})})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm text-bambu-gray",children:"Speed:"}),h.jsx("div",{className:"flex gap-1",children:L2e.map(w=>h.jsxs("button",{onClick:()=>l(w),className:`px-2 py-1 text-xs rounded transition-colors ${o===w?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray hover:bg-bambu-dark-tertiary/80"}`,children:[w,"x"]},w))})]})]})]})]})]})})}function j2e({archiveId:t,archiveName:e,onClose:n}){const r=In(),{showToast:i}=eo(),[a,s]=E.useState(null),[o,l]=E.useState("asap"),[c,u]=E.useState(""),[f,g]=E.useState(!1),[m,y]=E.useState(!1),{data:v}=Ut({queryKey:["printers"],queryFn:()=>Fe.getPrinters()});E.useEffect(()=>{v?.length===1&&!a&&s(v[0].id)},[v,a]),E.useEffect(()=>{const w=A=>{A.key==="Escape"&&n()};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[n]);const b=yt({mutationFn:w=>Fe.addToQueue(w),onSuccess:()=>{r.invalidateQueries({queryKey:["queue"]}),i("Added to print queue"),n()},onError:w=>{i(w.message||"Failed to add to queue","error")}}),x=w=>{if(w.preventDefault(),!a){i("Please select a printer","error");return}const A={printer_id:a,archive_id:t,require_previous_success:f,auto_off_after:m};o==="scheduled"&&c&&(A.scheduled_time=new Date(c).toISOString()),b.mutate(A)},M=()=>{const w=new Date;return w.setMinutes(w.getMinutes()+1),w.toISOString().slice(0,16)};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-md",onClick:w=>w.stopPropagation(),children:h.jsxs(on,{className:"p-0",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(Zo,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-xl font-semibold text-white",children:"Schedule Print"})]}),h.jsx("button",{onClick:n,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:x,className:"p-4 space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Print Job"}),h.jsx("p",{className:"text-white font-medium truncate",children:e})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Printer"}),v?.length===0?h.jsxs("div",{className:"flex items-center gap-2 text-red-400 text-sm",children:[h.jsx(od,{className:"w-4 h-4"}),"No printers configured"]}):h.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:a||"",onChange:w=>s(w.target.value?Number(w.target.value):null),required:!0,children:[h.jsx("option",{value:"",children:"Select printer..."}),v?.map(w=>h.jsx("option",{value:w.id,children:w.name},w.id))]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-2",children:"When to print"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsxs("button",{type:"button",className:`flex-1 px-3 py-2 rounded-lg border text-sm flex items-center justify-center gap-2 transition-colors ${o==="asap"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>l("asap"),children:[h.jsx(ba,{className:"w-4 h-4"}),"ASAP (when idle)"]}),h.jsxs("button",{type:"button",className:`flex-1 px-3 py-2 rounded-lg border text-sm flex items-center justify-center gap-2 transition-colors ${o==="scheduled"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>l("scheduled"),children:[h.jsx(Zo,{className:"w-4 h-4"}),"Scheduled"]})]})]}),o==="scheduled"&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Date & Time"}),h.jsx("input",{type:"datetime-local",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:c,onChange:w=>u(w.target.value),min:M(),required:!0})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"checkbox",id:"requirePrevious",checked:f,onChange:w=>g(w.target.checked),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),h.jsx("label",{htmlFor:"requirePrevious",className:"text-sm text-bambu-gray",children:"Only start if previous print succeeded"})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"checkbox",id:"autoOffAfter",checked:m,onChange:w=>y(w.target.checked),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),h.jsxs("label",{htmlFor:"autoOffAfter",className:"text-sm text-bambu-gray flex items-center gap-1",children:[h.jsx(tw,{className:"w-3.5 h-3.5"}),"Power off printer when done"]})]}),h.jsx("p",{className:"text-xs text-bambu-gray",children:o==="asap"?"Print will start as soon as the printer is idle.":"Print will start at the scheduled time if the printer is idle. If busy, it will wait until the printer becomes available."}),h.jsxs("div",{className:"flex gap-3 pt-2",children:[h.jsx(ct,{type:"button",variant:"secondary",onClick:n,className:"flex-1",children:"Cancel"}),h.jsx(ct,{type:"submit",className:"flex-1",disabled:b.isPending||!a||v?.length===0,children:b.isPending?"Adding...":"Add to Queue"})]})]})]})})})}function bR(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function Kg(t){const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function RH(t){return new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function U2e({archive:t,printerName:e,isSelected:n,onSelect:r,selectionMode:i}){const a=In(),{showToast:s}=eo(),[o,l]=E.useState(!1),[c,u]=E.useState(!1),[f,g]=E.useState(!1),[m,y]=E.useState(!1),[v,b]=E.useState(!1),[x,M]=E.useState(!1),[w,A]=E.useState([]),[T,R]=E.useState(!1),[N,j]=E.useState(!1),[C,k]=E.useState(!1),[U,I]=E.useState(!1),[H,O]=E.useState(!1),[B,V]=E.useState(null),G=E.useRef(null),K=yt({mutationFn:te=>Fe.uploadSource3mf(t.id,te),onSuccess:te=>{a.invalidateQueries({queryKey:["archives"]}),s(`Source 3MF attached: ${te.filename}`)},onError:te=>{s(te.message||"Failed to upload source 3MF","error")}}),Y=yt({mutationFn:()=>Fe.deleteSource3mf(t.id),onSuccess:()=>{a.invalidateQueries({queryKey:["archives"]}),s("Source 3MF removed")},onError:te=>{s(te.message||"Failed to remove source 3MF","error")}}),oe=yt({mutationFn:()=>Fe.scanArchiveTimelapse(t.id),onSuccess:te=>{te.status==="attached"?(a.invalidateQueries({queryKey:["archives"]}),s(`Timelapse attached: ${te.filename}`)):te.status==="exists"?s("Timelapse already attached"):te.status==="not_found"&&te.available_files&&te.available_files.length>0?(A(te.available_files),M(!0)):s(te.message||"No matching timelapse found","warning")},onError:te=>{s(te.message||"Failed to scan for timelapse","error")}}),$=yt({mutationFn:te=>Fe.selectArchiveTimelapse(t.id,te),onSuccess:te=>{a.invalidateQueries({queryKey:["archives"]}),s(`Timelapse attached: ${te.filename}`),M(!1),A([])},onError:te=>{s(te.message||"Failed to attach timelapse","error")}}),X=yt({mutationFn:()=>Fe.deleteArchive(t.id),onSuccess:()=>{a.invalidateQueries({queryKey:["archives"]}),s("Archive deleted")},onError:()=>{s("Failed to delete archive","error")}}),ae=yt({mutationFn:()=>Fe.toggleFavorite(t.id),onSuccess:te=>{a.invalidateQueries({queryKey:["archives"]}),s(te.is_favorite?"Added to favorites":"Removed from favorites")}}),ce=te=>{te.preventDefault(),V({x:te.clientX,y:te.clientY})},xe=[{label:"Print",icon:h.jsx(mc,{className:"w-4 h-4"}),onClick:()=>u(!0)},{label:"Schedule",icon:h.jsx(Zo,{className:"w-4 h-4"}),onClick:()=>I(!0)},{label:"Open in Bambu Studio",icon:h.jsx(Qo,{className:"w-4 h-4"}),onClick:()=>{const te=t.print_name||t.filename||"model",ve=`${window.location.origin}${Fe.getArchiveForSlicer(t.id,te)}`;window.location.href=`bambustudioopen://${encodeURIComponent(ve)}`}},{label:"View on MakerWorld",icon:h.jsx(V_,{className:"w-4 h-4"}),onClick:()=>t.makerworld_url&&window.open(t.makerworld_url,"_blank"),disabled:!t.makerworld_url},{label:"",divider:!0,onClick:()=>{}},{label:"3D Preview",icon:h.jsx(Hx,{className:"w-4 h-4"}),onClick:()=>l(!0)},{label:"View Timelapse",icon:h.jsx(Np,{className:"w-4 h-4"}),onClick:()=>b(!0),disabled:!t.timelapse_path},{label:"Scan for Timelapse",icon:h.jsx(Voe,{className:"w-4 h-4"}),onClick:()=>oe.mutate(),disabled:!t.printer_id||!!t.timelapse_path||oe.isPending},{label:"",divider:!0,onClick:()=>{}},{label:t.source_3mf_path?"Download Source 3MF":"Upload Source 3MF",icon:h.jsx(ZU,{className:"w-4 h-4"}),onClick:()=>{if(t.source_3mf_path){const te=document.createElement("a");te.href=Fe.getSource3mfDownloadUrl(t.id),te.download=`${t.print_name||t.filename}_source.3mf`,te.click()}else G.current?.click()}},...t.source_3mf_path?[{label:"Replace Source 3MF",icon:h.jsx(Gx,{className:"w-4 h-4"}),onClick:()=>G.current?.click()},{label:"Remove Source 3MF",icon:h.jsx(aa,{className:"w-4 h-4"}),onClick:()=>O(!0),danger:!0}]:[],{label:"",divider:!0,onClick:()=>{}},{label:"Download",icon:h.jsx(Ku,{className:"w-4 h-4"}),onClick:()=>{const te=document.createElement("a");te.href=Fe.getArchiveDownload(t.id),te.download=`${t.print_name||t.filename}.3mf`,te.click()}},{label:"Copy Download Link",icon:h.jsx(LN,{className:"w-4 h-4"}),onClick:()=>{const te=`${window.location.origin}${Fe.getArchiveDownload(t.id)}`;navigator.clipboard.writeText(te).then(()=>{s("Link copied to clipboard")}).catch(()=>{s("Failed to copy link","error")})}},{label:"QR Code",icon:h.jsx(Loe,{className:"w-4 h-4"}),onClick:()=>R(!0)},{label:`View Photos${t.photos?.length?` (${t.photos.length})`:""}`,icon:h.jsx($_,{className:"w-4 h-4"}),onClick:()=>j(!0),disabled:!t.photos?.length},{label:"Project Page",icon:h.jsx(Sp,{className:"w-4 h-4"}),onClick:()=>k(!0)},{label:"",divider:!0,onClick:()=>{}},{label:t.is_favorite?"Remove from Favorites":"Add to Favorites",icon:h.jsx($x,{className:`w-4 h-4 ${t.is_favorite?"fill-yellow-400 text-yellow-400":""}`}),onClick:()=>ae.mutate()},{label:"Edit",icon:h.jsx(eF,{className:"w-4 h-4"}),onClick:()=>y(!0)},{label:n?"Deselect":"Select",icon:n?h.jsx(X_,{className:"w-4 h-4"}):h.jsx($p,{className:"w-4 h-4"}),onClick:()=>r(t.id)},{label:"",divider:!0,onClick:()=>{}},{label:"Delete",icon:h.jsx(aa,{className:"w-4 h-4"}),onClick:()=>g(!0),danger:!0}];return h.jsxs(Yt,{className:`relative flex flex-col ${n?"ring-2 ring-bambu-green":""} ${i?"cursor-pointer":""}`,onContextMenu:ce,onClick:i?()=>r(t.id):void 0,children:[i&&h.jsx("button",{className:"absolute top-2 left-2 z-10 p-1 rounded bg-black/50 hover:bg-black/70 transition-colors",onClick:te=>{te.stopPropagation(),r(t.id)},children:n?h.jsx(X_,{className:"w-5 h-5 text-bambu-green"}):h.jsx($p,{className:"w-5 h-5 text-white"})}),h.jsxs("div",{className:"aspect-video bg-bambu-dark relative flex-shrink-0 overflow-hidden rounded-t-xl",children:[t.thumbnail_path?h.jsx("img",{src:Fe.getArchiveThumbnail(t.id),alt:t.print_name||t.filename,className:"w-full h-full object-cover"}):h.jsx("div",{className:"w-full h-full flex items-center justify-center",children:h.jsx(JS,{className:"w-12 h-12 text-bambu-dark-tertiary"})}),h.jsx("button",{className:"absolute top-2 right-2 p-1 rounded bg-black/50 hover:bg-black/70 transition-colors",onClick:te=>{te.stopPropagation(),ae.mutate()},title:t.is_favorite?"Remove from favorites":"Add to favorites",children:h.jsx($x,{className:`w-5 h-5 ${t.is_favorite?"text-yellow-400 fill-yellow-400":"text-white"}`})}),t.status==="failed"&&h.jsx("div",{className:"absolute top-2 left-12 px-2 py-1 rounded text-xs bg-red-500/80 text-white",children:"failed"}),t.duplicate_count>0&&h.jsxs("div",{className:"absolute top-2 right-2 px-2 py-1 rounded text-xs bg-purple-500/80 text-white flex items-center gap-1",title:"This model has been printed before",children:[h.jsx(LN,{className:"w-3 h-3"}),"duplicate"]}),t.source_3mf_path&&h.jsx("button",{className:"absolute bottom-2 left-2 p-1.5 rounded bg-black/60 hover:bg-black/80 transition-colors",onClick:te=>{te.stopPropagation();const ve=(t.print_name||t.filename||"source").replace(/\.gcode\.3mf$/i,"")+"_source",De=`${window.location.origin}${Fe.getSource3mfForSlicer(t.id,ve)}`;window.location.href=`bambustudioopen://${encodeURIComponent(De)}`},title:"Open source 3MF in Bambu Studio (right-click for more options)",children:h.jsx(ZU,{className:"w-4 h-4 text-orange-400"})}),t.timelapse_path&&h.jsx("button",{className:"absolute bottom-2 right-2 p-1.5 rounded bg-black/60 hover:bg-black/80 transition-colors",onClick:te=>{te.stopPropagation(),b(!0)},title:"View timelapse",children:h.jsx(Np,{className:"w-4 h-4 text-bambu-green"})}),t.photos&&t.photos.length>0&&h.jsxs("button",{className:`absolute bottom-2 ${t.timelapse_path?"right-12":"right-2"} p-1.5 rounded bg-black/60 hover:bg-black/80 transition-colors`,onClick:te=>{te.stopPropagation(),j(!0)},title:`View ${t.photos.length} photo${t.photos.length>1?"s":""}`,children:[h.jsx($_,{className:"w-4 h-4 text-blue-400"}),t.photos.length>1&&h.jsx("span",{className:"absolute -top-1 -right-1 w-4 h-4 bg-blue-500 rounded-full text-[10px] text-white flex items-center justify-center",children:t.photos.length})]})]}),h.jsxs(on,{className:"p-4 flex-1 flex flex-col",children:[h.jsx("h3",{className:"font-medium text-white mb-1 truncate",children:t.print_name||t.filename}),h.jsx("p",{className:"text-xs text-bambu-gray mb-3",children:e}),h.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs mb-4 min-h-[48px]",children:[(t.print_time_seconds||t.actual_time_seconds)&&h.jsxs("div",{className:"flex items-center gap-1.5 text-bambu-gray",title:t.time_accuracy?`Estimated: ${Kg(t.print_time_seconds||0)} + [&::-webkit-slider-thumb]:cursor-pointer`}),h.jsx("span",{className:"text-xs text-bambu-gray w-12",children:x(f)})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:v,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",title:"Skip back 5s",children:h.jsx(Zoe,{className:"w-5 h-5 text-bambu-gray"})}),h.jsx("button",{onClick:m,className:"p-2 bg-bambu-green hover:bg-bambu-green-dark rounded-lg transition-colors",children:a?h.jsx(h9,{className:"w-5 h-5 text-white"}):h.jsx(ew,{className:"w-5 h-5 text-white"})}),h.jsx("button",{onClick:b,className:"p-2 hover:bg-bambu-dark-tertiary rounded-lg transition-colors",title:"Skip forward 5s",children:h.jsx(x9,{className:"w-5 h-5 text-bambu-gray"})})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm text-bambu-gray",children:"Speed:"}),h.jsx("div",{className:"flex gap-1",children:L2e.map(w=>h.jsxs("button",{onClick:()=>l(w),className:`px-2 py-1 text-xs rounded transition-colors ${o===w?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray hover:bg-bambu-dark-tertiary/80"}`,children:[w,"x"]},w))})]})]})]})]})]})})}function j2e({archiveId:t,archiveName:e,onClose:n}){const r=In(),{showToast:i}=eo(),[a,s]=E.useState(null),[o,l]=E.useState("asap"),[c,u]=E.useState(""),[f,g]=E.useState(!1),[m,y]=E.useState(!1),{data:v}=Ut({queryKey:["printers"],queryFn:()=>Fe.getPrinters()});E.useEffect(()=>{v?.length===1&&!a&&s(v[0].id)},[v,a]),E.useEffect(()=>{const w=A=>{A.key==="Escape"&&n()};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[n]);const b=yt({mutationFn:w=>Fe.addToQueue(w),onSuccess:()=>{r.invalidateQueries({queryKey:["queue"]}),i("Added to print queue"),n()},onError:w=>{i(w.message||"Failed to add to queue","error")}}),x=w=>{if(w.preventDefault(),!a){i("Please select a printer","error");return}const A={printer_id:a,archive_id:t,require_previous_success:f,auto_off_after:m};o==="scheduled"&&c&&(A.scheduled_time=new Date(c).toISOString()),b.mutate(A)},M=()=>{const w=new Date;return w.setMinutes(w.getMinutes()+1),w.toISOString().slice(0,16)};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-md",onClick:w=>w.stopPropagation(),children:h.jsxs(on,{className:"p-0",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(Zo,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-xl font-semibold text-white",children:"Schedule Print"})]}),h.jsx("button",{onClick:n,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:x,className:"p-4 space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Print Job"}),h.jsx("p",{className:"text-white font-medium truncate",children:e})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Printer"}),v?.length===0?h.jsxs("div",{className:"flex items-center gap-2 text-red-400 text-sm",children:[h.jsx(od,{className:"w-4 h-4"}),"No printers configured"]}):h.jsxs("select",{className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:a||"",onChange:w=>s(w.target.value?Number(w.target.value):null),required:!0,children:[h.jsx("option",{value:"",children:"Select printer..."}),v?.map(w=>h.jsx("option",{value:w.id,children:w.name},w.id))]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-2",children:"When to print"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsxs("button",{type:"button",className:`flex-1 px-3 py-2 rounded-lg border text-sm flex items-center justify-center gap-2 transition-colors ${o==="asap"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>l("asap"),children:[h.jsx(ba,{className:"w-4 h-4"}),"ASAP (when idle)"]}),h.jsxs("button",{type:"button",className:`flex-1 px-3 py-2 rounded-lg border text-sm flex items-center justify-center gap-2 transition-colors ${o==="scheduled"?"bg-bambu-green border-bambu-green text-white":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,onClick:()=>l("scheduled"),children:[h.jsx(Zo,{className:"w-4 h-4"}),"Scheduled"]})]})]}),o==="scheduled"&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Date & Time"}),h.jsx("input",{type:"datetime-local",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:c,onChange:w=>u(w.target.value),min:M(),required:!0})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"checkbox",id:"requirePrevious",checked:f,onChange:w=>g(w.target.checked),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),h.jsx("label",{htmlFor:"requirePrevious",className:"text-sm text-bambu-gray",children:"Only start if previous print succeeded"})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"checkbox",id:"autoOffAfter",checked:m,onChange:w=>y(w.target.checked),className:"rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green"}),h.jsxs("label",{htmlFor:"autoOffAfter",className:"text-sm text-bambu-gray flex items-center gap-1",children:[h.jsx(tw,{className:"w-3.5 h-3.5"}),"Power off printer when done"]})]}),h.jsx("p",{className:"text-xs text-bambu-gray",children:o==="asap"?"Print will start as soon as the printer is idle.":"Print will start at the scheduled time if the printer is idle. If busy, it will wait until the printer becomes available."}),h.jsxs("div",{className:"flex gap-3 pt-2",children:[h.jsx(lt,{type:"button",variant:"secondary",onClick:n,className:"flex-1",children:"Cancel"}),h.jsx(lt,{type:"submit",className:"flex-1",disabled:b.isPending||!a||v?.length===0,children:b.isPending?"Adding...":"Add to Queue"})]})]})]})})})}function bR(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function Kg(t){const e=Math.floor(t/3600),n=Math.floor(t%3600/60);return e>0?`${e}h ${n}m`:`${n}m`}function RH(t){return new Date(t).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function U2e({archive:t,printerName:e,isSelected:n,onSelect:r,selectionMode:i}){const a=In(),{showToast:s}=eo(),[o,l]=E.useState(!1),[c,u]=E.useState(!1),[f,g]=E.useState(!1),[m,y]=E.useState(!1),[v,b]=E.useState(!1),[x,M]=E.useState(!1),[w,A]=E.useState([]),[T,R]=E.useState(!1),[N,j]=E.useState(!1),[C,k]=E.useState(!1),[F,I]=E.useState(!1),[B,O]=E.useState(!1),[H,$]=E.useState(null),W=E.useRef(null),K=yt({mutationFn:te=>Fe.uploadSource3mf(t.id,te),onSuccess:te=>{a.invalidateQueries({queryKey:["archives"]}),s(`Source 3MF attached: ${te.filename}`)},onError:te=>{s(te.message||"Failed to upload source 3MF","error")}}),Y=yt({mutationFn:()=>Fe.deleteSource3mf(t.id),onSuccess:()=>{a.invalidateQueries({queryKey:["archives"]}),s("Source 3MF removed")},onError:te=>{s(te.message||"Failed to remove source 3MF","error")}}),se=yt({mutationFn:()=>Fe.scanArchiveTimelapse(t.id),onSuccess:te=>{te.status==="attached"?(a.invalidateQueries({queryKey:["archives"]}),s(`Timelapse attached: ${te.filename}`)):te.status==="exists"?s("Timelapse already attached"):te.status==="not_found"&&te.available_files&&te.available_files.length>0?(A(te.available_files),M(!0)):s(te.message||"No matching timelapse found","warning")},onError:te=>{s(te.message||"Failed to scan for timelapse","error")}}),V=yt({mutationFn:te=>Fe.selectArchiveTimelapse(t.id,te),onSuccess:te=>{a.invalidateQueries({queryKey:["archives"]}),s(`Timelapse attached: ${te.filename}`),M(!1),A([])},onError:te=>{s(te.message||"Failed to attach timelapse","error")}}),X=yt({mutationFn:()=>Fe.deleteArchive(t.id),onSuccess:()=>{a.invalidateQueries({queryKey:["archives"]}),s("Archive deleted")},onError:()=>{s("Failed to delete archive","error")}}),ae=yt({mutationFn:()=>Fe.toggleFavorite(t.id),onSuccess:te=>{a.invalidateQueries({queryKey:["archives"]}),s(te.is_favorite?"Added to favorites":"Removed from favorites")}}),ce=te=>{te.preventDefault(),$({x:te.clientX,y:te.clientY})},ve=[{label:"Print",icon:h.jsx(mc,{className:"w-4 h-4"}),onClick:()=>u(!0)},{label:"Schedule",icon:h.jsx(Zo,{className:"w-4 h-4"}),onClick:()=>I(!0)},{label:"Open in Bambu Studio",icon:h.jsx(Qo,{className:"w-4 h-4"}),onClick:()=>{const te=t.print_name||t.filename||"model",xe=`${window.location.origin}${Fe.getArchiveForSlicer(t.id,te)}`;window.location.href=`bambustudioopen://${encodeURIComponent(xe)}`}},{label:"View on MakerWorld",icon:h.jsx(V_,{className:"w-4 h-4"}),onClick:()=>t.makerworld_url&&window.open(t.makerworld_url,"_blank"),disabled:!t.makerworld_url},{label:"",divider:!0,onClick:()=>{}},{label:"3D Preview",icon:h.jsx(Hx,{className:"w-4 h-4"}),onClick:()=>l(!0)},{label:"View Timelapse",icon:h.jsx(Np,{className:"w-4 h-4"}),onClick:()=>b(!0),disabled:!t.timelapse_path},{label:"Scan for Timelapse",icon:h.jsx(Voe,{className:"w-4 h-4"}),onClick:()=>se.mutate(),disabled:!t.printer_id||!!t.timelapse_path||se.isPending},{label:"",divider:!0,onClick:()=>{}},{label:t.source_3mf_path?"Download Source 3MF":"Upload Source 3MF",icon:h.jsx(ZU,{className:"w-4 h-4"}),onClick:()=>{if(t.source_3mf_path){const te=document.createElement("a");te.href=Fe.getSource3mfDownloadUrl(t.id),te.download=`${t.print_name||t.filename}_source.3mf`,te.click()}else W.current?.click()}},...t.source_3mf_path?[{label:"Replace Source 3MF",icon:h.jsx(Gx,{className:"w-4 h-4"}),onClick:()=>W.current?.click()},{label:"Remove Source 3MF",icon:h.jsx(aa,{className:"w-4 h-4"}),onClick:()=>O(!0),danger:!0}]:[],{label:"",divider:!0,onClick:()=>{}},{label:"Download",icon:h.jsx(Ku,{className:"w-4 h-4"}),onClick:()=>{const te=document.createElement("a");te.href=Fe.getArchiveDownload(t.id),te.download=`${t.print_name||t.filename}.3mf`,te.click()}},{label:"Copy Download Link",icon:h.jsx(LN,{className:"w-4 h-4"}),onClick:()=>{const te=`${window.location.origin}${Fe.getArchiveDownload(t.id)}`;navigator.clipboard.writeText(te).then(()=>{s("Link copied to clipboard")}).catch(()=>{s("Failed to copy link","error")})}},{label:"QR Code",icon:h.jsx(Loe,{className:"w-4 h-4"}),onClick:()=>R(!0)},{label:`View Photos${t.photos?.length?` (${t.photos.length})`:""}`,icon:h.jsx($_,{className:"w-4 h-4"}),onClick:()=>j(!0),disabled:!t.photos?.length},{label:"Project Page",icon:h.jsx(Sp,{className:"w-4 h-4"}),onClick:()=>k(!0)},{label:"",divider:!0,onClick:()=>{}},{label:t.is_favorite?"Remove from Favorites":"Add to Favorites",icon:h.jsx($x,{className:`w-4 h-4 ${t.is_favorite?"fill-yellow-400 text-yellow-400":""}`}),onClick:()=>ae.mutate()},{label:"Edit",icon:h.jsx(eF,{className:"w-4 h-4"}),onClick:()=>y(!0)},{label:n?"Deselect":"Select",icon:n?h.jsx(X_,{className:"w-4 h-4"}):h.jsx($p,{className:"w-4 h-4"}),onClick:()=>r(t.id)},{label:"",divider:!0,onClick:()=>{}},{label:"Delete",icon:h.jsx(aa,{className:"w-4 h-4"}),onClick:()=>g(!0),danger:!0}];return h.jsxs(Yt,{className:`relative flex flex-col ${n?"ring-2 ring-bambu-green":""} ${i?"cursor-pointer":""}`,onContextMenu:ce,onClick:i?()=>r(t.id):void 0,children:[i&&h.jsx("button",{className:"absolute top-2 left-2 z-10 p-1 rounded bg-black/50 hover:bg-black/70 transition-colors",onClick:te=>{te.stopPropagation(),r(t.id)},children:n?h.jsx(X_,{className:"w-5 h-5 text-bambu-green"}):h.jsx($p,{className:"w-5 h-5 text-white"})}),h.jsxs("div",{className:"aspect-video bg-bambu-dark relative flex-shrink-0 overflow-hidden rounded-t-xl",children:[t.thumbnail_path?h.jsx("img",{src:Fe.getArchiveThumbnail(t.id),alt:t.print_name||t.filename,className:"w-full h-full object-cover"}):h.jsx("div",{className:"w-full h-full flex items-center justify-center",children:h.jsx(JS,{className:"w-12 h-12 text-bambu-dark-tertiary"})}),h.jsx("button",{className:"absolute top-2 right-2 p-1 rounded bg-black/50 hover:bg-black/70 transition-colors",onClick:te=>{te.stopPropagation(),ae.mutate()},title:t.is_favorite?"Remove from favorites":"Add to favorites",children:h.jsx($x,{className:`w-5 h-5 ${t.is_favorite?"text-yellow-400 fill-yellow-400":"text-white"}`})}),t.status==="failed"&&h.jsx("div",{className:"absolute top-2 left-12 px-2 py-1 rounded text-xs bg-red-500/80 text-white",children:"failed"}),t.duplicate_count>0&&h.jsxs("div",{className:"absolute top-2 right-2 px-2 py-1 rounded text-xs bg-purple-500/80 text-white flex items-center gap-1",title:"This model has been printed before",children:[h.jsx(LN,{className:"w-3 h-3"}),"duplicate"]}),t.source_3mf_path&&h.jsx("button",{className:"absolute bottom-2 left-2 p-1.5 rounded bg-black/60 hover:bg-black/80 transition-colors",onClick:te=>{te.stopPropagation();const xe=(t.print_name||t.filename||"source").replace(/\.gcode\.3mf$/i,"")+"_source",Re=`${window.location.origin}${Fe.getSource3mfForSlicer(t.id,xe)}`;window.location.href=`bambustudioopen://${encodeURIComponent(Re)}`},title:"Open source 3MF in Bambu Studio (right-click for more options)",children:h.jsx(ZU,{className:"w-4 h-4 text-orange-400"})}),t.timelapse_path&&h.jsx("button",{className:"absolute bottom-2 right-2 p-1.5 rounded bg-black/60 hover:bg-black/80 transition-colors",onClick:te=>{te.stopPropagation(),b(!0)},title:"View timelapse",children:h.jsx(Np,{className:"w-4 h-4 text-bambu-green"})}),t.photos&&t.photos.length>0&&h.jsxs("button",{className:`absolute bottom-2 ${t.timelapse_path?"right-12":"right-2"} p-1.5 rounded bg-black/60 hover:bg-black/80 transition-colors`,onClick:te=>{te.stopPropagation(),j(!0)},title:`View ${t.photos.length} photo${t.photos.length>1?"s":""}`,children:[h.jsx($_,{className:"w-4 h-4 text-blue-400"}),t.photos.length>1&&h.jsx("span",{className:"absolute -top-1 -right-1 w-4 h-4 bg-blue-500 rounded-full text-[10px] text-white flex items-center justify-center",children:t.photos.length})]})]}),h.jsxs(on,{className:"p-4 flex-1 flex flex-col",children:[h.jsx("h3",{className:"font-medium text-white mb-1 truncate",children:t.print_name||t.filename}),h.jsx("p",{className:"text-xs text-bambu-gray mb-3",children:e}),h.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs mb-4 min-h-[48px]",children:[(t.print_time_seconds||t.actual_time_seconds)&&h.jsxs("div",{className:"flex items-center gap-1.5 text-bambu-gray",title:t.time_accuracy?`Estimated: ${Kg(t.print_time_seconds||0)} Actual: ${Kg(t.actual_time_seconds||0)} -Accuracy: ${t.time_accuracy.toFixed(0)}%`:t.actual_time_seconds?`Actual: ${Kg(t.actual_time_seconds)}`:`Estimated: ${Kg(t.print_time_seconds||0)}`,children:[h.jsx(ba,{className:"w-3 h-3"}),Kg(t.actual_time_seconds||t.print_time_seconds||0),t.time_accuracy&&h.jsxs("span",{className:`text-[10px] px-1 rounded ${t.time_accuracy>=95&&t.time_accuracy<=105?"bg-bambu-green/20 text-bambu-green":t.time_accuracy>105?"bg-blue-500/20 text-blue-400":"bg-orange-500/20 text-orange-400"}`,children:[t.time_accuracy>100?"+":"",(t.time_accuracy-100).toFixed(0),"%"]})]}),t.filament_used_grams&&h.jsxs("div",{className:"flex items-center gap-1.5 text-bambu-gray",children:[h.jsx(W_,{className:"w-3 h-3"}),t.filament_used_grams.toFixed(1),"g"]}),(t.layer_height||t.total_layers)&&h.jsxs("div",{className:"flex items-center gap-1.5 text-bambu-gray",children:[h.jsx(u9,{className:"w-3 h-3"}),t.total_layers&&h.jsxs("span",{children:[t.total_layers," layers"]}),t.total_layers&&t.layer_height&&h.jsx("span",{className:"text-bambu-gray/50",children:"·"}),t.layer_height&&h.jsxs("span",{children:[t.layer_height,"mm"]})]}),t.filament_type&&h.jsxs("div",{className:"flex items-center gap-1.5 col-span-2",children:[h.jsx("span",{className:"text-bambu-gray text-xs",children:t.filament_type}),t.filament_color&&h.jsx("div",{className:"flex items-center gap-0.5 flex-wrap",children:t.filament_color.split(",").map((te,ve)=>h.jsx("div",{className:"w-3 h-3 rounded-full border border-white/20",style:{backgroundColor:te},title:te},ve))})]})]}),(t.tags||t.notes)&&h.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mb-3",children:[t.notes&&h.jsx("div",{className:"flex items-center gap-1 px-1.5 py-0.5 bg-blue-500/20 text-blue-400 rounded text-xs",title:t.notes,children:h.jsx(ale,{className:"w-3 h-3"})}),t.tags?.split(",").map((te,ve)=>h.jsx("span",{className:"px-1.5 py-0.5 bg-bambu-dark-tertiary text-bambu-gray-light rounded text-xs",children:te.trim()},ve))]}),h.jsx("div",{className:"flex-1"}),h.jsxs("div",{className:"flex items-center justify-between text-xs text-bambu-gray border-t border-bambu-dark-tertiary pt-3",children:[h.jsx("span",{children:RH(t.created_at)}),h.jsx("span",{children:bR(t.file_size)})]}),h.jsxs("div",{className:"flex gap-1 mt-3",children:[h.jsxs(ct,{variant:"primary",size:"sm",className:"flex-1 min-w-0",onClick:()=>u(!0),children:[h.jsx(mc,{className:"w-3 h-3 flex-shrink-0"}),h.jsx("span",{className:"hidden sm:inline",children:"Print"})]}),h.jsx(ct,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>{const te=t.print_name||t.filename||"model",ve=`${window.location.origin}${Fe.getArchiveForSlicer(t.id,te)}`;window.location.href=`bambustudioopen://${encodeURIComponent(ve)}`},title:"Open in Bambu Studio",children:h.jsx(Qo,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(ct,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>t.makerworld_url&&window.open(t.makerworld_url,"_blank"),disabled:!t.makerworld_url,title:t.makerworld_url?`MakerWorld: ${t.designer||"View project"}`:"Not from MakerWorld",children:h.jsx(V_,{className:`w-3 h-3 sm:w-4 sm:h-4 ${t.makerworld_url?"":"opacity-20"}`})}),h.jsx(ct,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>l(!0),title:"3D Preview",children:h.jsx(Hx,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(ct,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>{const te=document.createElement("a");te.href=Fe.getArchiveDownload(t.id),te.download=`${t.print_name||t.filename}.3mf`,te.click()},title:"Download",children:h.jsx(Ku,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(ct,{variant:"ghost",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>y(!0),title:"Edit",children:h.jsx(eF,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(ct,{variant:"ghost",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>g(!0),title:"Delete",children:h.jsx(aa,{className:"w-3 h-3 sm:w-4 sm:h-4 text-red-400"})})]})]}),m&&h.jsx(l1e,{archive:t,onClose:()=>y(!1)}),o&&h.jsx(i1e,{archiveId:t.id,title:t.print_name||t.filename,onClose:()=>l(!1)}),c&&h.jsx(a1e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>u(!1),onSuccess:()=>{}}),f&&h.jsx(ii,{title:"Delete Archive",message:`Are you sure you want to delete "${t.print_name||t.filename}"? This action cannot be undone.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{X.mutate(),g(!1)},onCancel:()=>g(!1)}),H&&h.jsx(ii,{title:"Remove Source 3MF",message:`Are you sure you want to remove the source 3MF file from "${t.print_name||t.filename}"? This will delete the original slicer project file.`,confirmText:"Remove",variant:"danger",onConfirm:()=>{Y.mutate(),O(!1)},onCancel:()=>O(!1)}),B&&h.jsx(c1e,{x:B.x,y:B.y,items:xe,onClose:()=>V(null)}),v&&t.timelapse_path&&h.jsx(I2e,{src:Fe.getArchiveTimelapse(t.id),title:`${t.print_name||t.filename} - Timelapse`,downloadFilename:`${t.print_name||t.filename}_timelapse.mp4`,onClose:()=>b(!1)}),x&&w.length>0&&h.jsx("div",{className:"fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-4",children:h.jsxs("div",{className:"bg-card-dark rounded-lg max-w-lg w-full max-h-[80vh] flex flex-col",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-700",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold text-white",children:"Select Timelapse"}),h.jsx("p",{className:"text-sm text-gray-400 mt-1",children:"No auto-match found. Select the timelapse for this print:"})]}),h.jsx("button",{onClick:()=>{M(!1),A([])},className:"text-gray-400 hover:text-white p-1",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsx("div",{className:"overflow-y-auto flex-1 p-2",children:w.map(te=>h.jsxs("button",{onClick:()=>$.mutate(te.name),disabled:$.isPending,className:"w-full text-left p-3 rounded-lg hover:bg-gray-700 transition-colors flex items-center gap-3 disabled:opacity-50",children:[h.jsx(Np,{className:"w-8 h-8 text-bambu-green flex-shrink-0"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("p",{className:"text-white font-medium truncate",children:te.name}),h.jsxs("p",{className:"text-sm text-gray-400",children:[bR(te.size),te.mtime&&` • ${RH(te.mtime)}`]})]})]},te.name))}),h.jsx("div",{className:"p-4 border-t border-gray-700",children:h.jsx(ct,{variant:"secondary",onClick:()=>{M(!1),A([])},className:"w-full",children:"Cancel"})})]})}),T&&h.jsx(g1e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>R(!1)}),N&&t.photos&&t.photos.length>0&&h.jsx(x1e,{archiveId:t.id,archiveName:t.print_name||t.filename,photos:t.photos,onClose:()=>j(!1),onDelete:async te=>{try{await Fe.deleteArchivePhoto(t.id,te),a.invalidateQueries({queryKey:["archives"]}),s("Photo deleted")}catch{s("Failed to delete photo","error")}}}),C&&h.jsx(O2e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>k(!1)}),U&&h.jsx(j2e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>I(!1)}),h.jsx("input",{ref:G,type:"file",accept:".3mf",className:"hidden",onChange:te=>{const ve=te.target.files?.[0];ve&&K.mutate(ve),te.target.value=""}})]})}const F2e=[{id:"all",label:"All Archives",icon:h.jsx(Ise,{className:"w-4 h-4"})},{id:"recent",label:"Last 24 Hours",icon:h.jsx(ba,{className:"w-4 h-4"})},{id:"this-week",label:"This Week",icon:h.jsx(Zo,{className:"w-4 h-4"})},{id:"this-month",label:"This Month",icon:h.jsx(Zo,{className:"w-4 h-4"})},{id:"favorites",label:"Favorites",icon:h.jsx($x,{className:"w-4 h-4"})},{id:"failed",label:"Failed Prints",icon:h.jsx(od,{className:"w-4 h-4"})},{id:"duplicates",label:"Duplicates",icon:h.jsx(LN,{className:"w-4 h-4"})}];function z2e(){const t=In(),{showToast:e}=eo(),n=E.useRef(null),[r,i]=E.useState(""),[a,s]=E.useState(null),[o,l]=E.useState(null),[c,u]=E.useState(new Set),[f,g]=E.useState("or"),[m,y]=E.useState(!1),[v,b]=E.useState(null),[x,M]=E.useState(!1),[w,A]=E.useState([]),[T,R]=E.useState(!1),[N,j]=E.useState(new Set),[C,k]=E.useState(!1),[U,I]=E.useState(!1),[H,O]=E.useState(!1),[B,V]=E.useState("grid"),[G,K]=E.useState("date-desc"),[Y,oe]=E.useState("all"),{data:$,isLoading:X}=Ut({queryKey:["archives",a],queryFn:()=>Fe.getArchives(a||void 0)}),{data:ae}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),ce=yt({mutationFn:async ne=>(await Promise.all(ne.map(F=>Fe.deleteArchive(F))),ne.length),onSuccess:ne=>{t.invalidateQueries({queryKey:["archives"]}),j(new Set),e(`${ne} archive${ne!==1?"s":""} deleted`)},onError:()=>{e("Failed to delete archives","error")}}),xe=new Map(ae?.map(ne=>[ne.id,ne.name])||[]),te=[...new Set($?.flatMap(ne=>ne.filament_type?.split(", ")||[]).filter(Boolean)||[])].sort(),ve=[...new Set($?.flatMap(ne=>ne.filament_color?.split(",")||[]).filter(Boolean)||[])],De=[...new Set($?.flatMap(ne=>ne.tags?.split(",").map(F=>F.trim())||[]).filter(Boolean)||[])].sort(),he=$?.filter(ne=>{const F=new Date,L=new Date(ne.created_at);let Z=!0;switch(Y){case"recent":Z=F.getTime()-L.getTime()<1440*60*1e3;break;case"this-week":Z=F.getTime()-L.getTime()<10080*60*1e3;break;case"this-month":Z=L.getMonth()===F.getMonth()&&L.getFullYear()===F.getFullYear();break;case"favorites":Z=ne.is_favorite===!0;break;case"failed":Z=ne.status==="failed";break;case"duplicates":Z=ne.duplicate_count>0;break}const ge=(ne.print_name||ne.filename).toLowerCase().includes(r.toLowerCase()),ye=!o||ne.filament_type?.split(", ").includes(o),pe=ne.filament_color?.split(",")||[],Ze=c.size===0||(f==="or"?pe.some(je=>c.has(je)):[...c].every(je=>pe.includes(je))),Ie=Y==="favorites"||!m||ne.is_favorite,Xe=ne.tags?.split(",").map(je=>je.trim())||[],ot=!v||Xe.includes(v);return Z&&ge&&ye&&Ze&&Ie&&ot}).sort((ne,F)=>{switch(G){case"date-desc":return new Date(F.created_at).getTime()-new Date(ne.created_at).getTime();case"date-asc":return new Date(ne.created_at).getTime()-new Date(F.created_at).getTime();case"name-asc":return(ne.print_name||ne.filename).localeCompare(F.print_name||F.filename);case"name-desc":return(F.print_name||F.filename).localeCompare(ne.print_name||ne.filename);case"size-desc":return F.file_size-ne.file_size;case"size-asc":return ne.file_size-F.file_size;default:return 0}}),me=C||N.size>0,we=ne=>{j(F=>{const L=new Set(F);return L.has(ne)?L.delete(ne):L.add(ne),L})},se=()=>{he&&j(new Set(he.map(ne=>ne.id)))},st=()=>{j(new Set),k(!1)},z=ne=>{u(F=>{const L=new Set(F);return L.has(ne)?L.delete(ne):L.add(ne),L})},q=()=>{u(new Set)},ie=()=>{i(""),s(null),l(null),y(!1),b(null)},Q=r||a||o||m||v,ee=E.useCallback(ne=>{ne.preventDefault(),ne.dataTransfer.types.includes("Files")&&R(!0)},[]),le=E.useCallback(ne=>{ne.preventDefault(),ne.currentTarget===ne.target&&R(!1)},[]),Re=E.useCallback(ne=>{ne.preventDefault(),R(!1);const F=Array.from(ne.dataTransfer.files).filter(L=>L.name.endsWith(".3mf"));F.length>0?(A(F),M(!0)):ne.dataTransfer.files.length>0&&e("Only .3mf files are supported","warning")},[e]),Pe=E.useCallback(ne=>{const F=ne.target;if(F.tagName==="INPUT"||F.tagName==="TEXTAREA"||F.isContentEditable){ne.key==="Escape"&&F.blur();return}switch(ne.key){case"/":ne.preventDefault(),n.current?.focus();break;case"u":case"U":!ne.metaKey&&!ne.ctrlKey&&(ne.preventDefault(),M(!0));break;case"Escape":me&&st();break}},[me]);return E.useEffect(()=>(document.addEventListener("keydown",Pe),()=>document.removeEventListener("keydown",Pe)),[Pe]),h.jsxs("div",{className:"p-8 relative min-h-full",onDragOver:ee,onDragLeave:le,onDrop:Re,children:[T&&h.jsx("div",{className:"fixed inset-0 z-50 bg-bambu-dark/90 flex items-center justify-center pointer-events-none",children:h.jsxs("div",{className:"border-4 border-dashed border-bambu-green rounded-xl p-12 text-center",children:[h.jsx(Gx,{className:"w-16 h-16 mx-auto mb-4 text-bambu-green"}),h.jsx("p",{className:"text-2xl font-semibold text-white mb-2",children:"Drop .3mf files here"}),h.jsx("p",{className:"text-bambu-gray",children:"Release to upload"})]})}),me&&h.jsxs("div",{className:"fixed bottom-6 left-1/2 -translate-x-1/2 z-40 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-xl px-4 py-3 flex items-center gap-4",children:[h.jsxs("span",{className:"text-white font-medium",children:[N.size," selected"]}),h.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),h.jsx(ct,{variant:"secondary",size:"sm",onClick:se,children:"Select All"}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:st,children:[h.jsx(mn,{className:"w-4 h-4"}),"Clear"]}),h.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:()=>O(!0),children:[h.jsx(Vx,{className:"w-4 h-4"}),"Tags"]}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:()=>{const ne=Array.from(N);Promise.all(ne.map(F=>Fe.toggleFavorite(F))).then(()=>{t.invalidateQueries({queryKey:["archives"]}),e(`Toggled favorites for ${ne.length} archive${ne.length!==1?"s":""}`)}).catch(()=>{e("Failed to update favorites","error")})},children:[h.jsx($x,{className:"w-4 h-4"}),"Favorite"]}),h.jsxs(ct,{size:"sm",className:"bg-red-500 hover:bg-red-600",onClick:()=>I(!0),children:[h.jsx(aa,{className:"w-4 h-4"}),"Delete"]})]}),h.jsxs("div",{className:"flex items-center justify-between mb-8",children:[h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Archives"}),h.jsx("select",{className:"px-3 py-1.5 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-bambu-gray-light text-sm focus:border-bambu-green focus:outline-none",value:Y,onChange:ne=>oe(ne.target.value),children:F2e.map(ne=>h.jsx("option",{value:ne.id,children:ne.label},ne.id))})]}),h.jsxs("p",{className:"text-bambu-gray",children:[he?.length||0," of ",$?.length||0," prints"]})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[!me&&h.jsxs(ct,{variant:"secondary",onClick:()=>k(!0),children:[h.jsx(X_,{className:"w-4 h-4"}),"Select"]}),h.jsxs(ct,{onClick:()=>M(!0),children:[h.jsx(Gx,{className:"w-4 h-4"}),"Upload 3MF"]})]})]}),h.jsx(Yt,{className:"mb-6",children:h.jsxs(on,{className:"py-4",children:[h.jsxs("div",{className:"flex gap-4 items-center flex-wrap",children:[h.jsxs("div",{className:"flex-1 relative min-w-[200px]",children:[h.jsx(q_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray"}),h.jsx("input",{ref:n,type:"text",placeholder:"Search archives... (press /)",className:"w-full pl-10 pr-4 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r,onChange:ne=>i(ne.target.value)})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(zse,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:a||"",onChange:ne=>s(ne.target.value?Number(ne.target.value):null),children:[h.jsx("option",{value:"",children:"All Printers"}),ae?.map(ne=>h.jsx("option",{value:ne.id,children:ne.name},ne.id))]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(W_,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:o||"",onChange:ne=>l(ne.target.value||null),children:[h.jsx("option",{value:"",children:"All Materials"}),te.map(ne=>h.jsx("option",{value:ne,children:ne},ne))]})]}),h.jsxs("button",{onClick:()=>y(!m),className:`flex items-center gap-2 px-3 py-2 rounded-lg border transition-colors ${m?"bg-yellow-500/20 border-yellow-500 text-yellow-400":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,title:m?"Show all":"Show favorites only",children:[h.jsx($x,{className:`w-4 h-4 ${m?"fill-yellow-400":""}`}),h.jsx("span",{className:"text-sm",children:"Favorites"})]}),De.length>0&&h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(Vx,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:v||"",onChange:ne=>b(ne.target.value||null),children:[h.jsx("option",{value:"",children:"All Tags"}),De.map(ne=>h.jsx("option",{value:ne,children:ne},ne))]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(jae,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:G,onChange:ne=>K(ne.target.value),children:[h.jsx("option",{value:"date-desc",children:"Newest first"}),h.jsx("option",{value:"date-asc",children:"Oldest first"}),h.jsx("option",{value:"name-asc",children:"Name A-Z"}),h.jsx("option",{value:"name-desc",children:"Name Z-A"}),h.jsx("option",{value:"size-desc",children:"Largest first"}),h.jsx("option",{value:"size-asc",children:"Smallest first"})]})]}),h.jsxs("div",{className:"flex items-center border border-bambu-dark-tertiary rounded-lg overflow-hidden",children:[h.jsx("button",{className:`p-2 ${B==="grid"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,onClick:()=>V("grid"),title:"Grid view",children:h.jsx(roe,{className:"w-4 h-4"})}),h.jsx("button",{className:`p-2 ${B==="list"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,onClick:()=>V("list"),title:"List view",children:h.jsx(d9,{className:"w-4 h-4"})}),h.jsx("button",{className:`p-2 ${B==="calendar"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,onClick:()=>V("calendar"),title:"Calendar view",children:h.jsx(qae,{className:"w-4 h-4"})})]}),Q&&h.jsxs(ct,{variant:"ghost",size:"sm",onClick:ie,className:"text-bambu-gray hover:text-white",children:[h.jsx(mn,{className:"w-4 h-4"}),"Reset"]})]}),ve.length>0&&h.jsxs("div",{className:"flex items-center gap-3 mt-4 pt-4 border-t border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Colors:"}),c.size>1&&h.jsx("button",{onClick:()=>g(ne=>ne==="or"?"and":"or"),className:`px-2 py-0.5 text-xs rounded transition-colors ${f==="and"?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,title:f==="or"?"Match ANY selected color":"Match ALL selected colors",children:f.toUpperCase()}),h.jsx("div",{className:"flex items-center gap-1.5 flex-wrap",children:ve.map(ne=>h.jsx("button",{onClick:()=>z(ne),className:`w-6 h-6 rounded-full border-2 transition-all ${c.has(ne)?"border-bambu-green scale-110":"border-white/20 hover:border-white/40"}`,style:{backgroundColor:ne},title:ne},ne))}),c.size>0&&h.jsxs("button",{onClick:q,className:"text-xs text-bambu-gray hover:text-white flex items-center gap-1",children:[h.jsx(mn,{className:"w-3 h-3"}),"Clear"]})]})]})}),X?h.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading archives..."}):he?.length===0?h.jsx(Yt,{children:h.jsxs(on,{className:"text-center py-12",children:[h.jsx("p",{className:"text-bambu-gray",children:r?"No archives match your search":"No archives yet"}),h.jsx("p",{className:"text-sm text-bambu-gray mt-2",children:"Archives are created automatically when prints complete"})]})}):B==="calendar"?h.jsx(Yt,{className:"p-6",children:h.jsx(m1e,{archives:he||[],onArchiveClick:ne=>{i(ne.print_name||ne.filename),V("grid")}})}):B==="grid"?h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:he?.map(ne=>h.jsx(U2e,{archive:ne,printerName:ne.printer_id?xe.get(ne.printer_id)||"Unknown":"No Printer",isSelected:N.has(ne.id),onSelect:we,selectionMode:me},ne.id))}):B==="list"?h.jsx(Yt,{children:h.jsxs("div",{className:"divide-y divide-bambu-dark-tertiary",children:[h.jsxs("div",{className:"grid grid-cols-12 gap-4 px-4 py-3 text-xs text-bambu-gray font-medium",children:[h.jsx("div",{className:"col-span-1"}),h.jsx("div",{className:"col-span-4",children:"Name"}),h.jsx("div",{className:"col-span-2",children:"Printer"}),h.jsx("div",{className:"col-span-2",children:"Date"}),h.jsx("div",{className:"col-span-1",children:"Size"}),h.jsx("div",{className:"col-span-2 text-right",children:"Actions"})]}),he?.map(ne=>h.jsxs("div",{className:`grid grid-cols-12 gap-4 px-4 py-3 items-center hover:bg-bambu-dark-tertiary/30 ${N.has(ne.id)?"bg-bambu-green/10":""}`,children:[h.jsxs("div",{className:"col-span-1 flex items-center gap-2",children:[me&&h.jsx("button",{onClick:()=>we(ne.id),children:N.has(ne.id)?h.jsx(X_,{className:"w-4 h-4 text-bambu-green"}):h.jsx($p,{className:"w-4 h-4 text-bambu-gray"})}),ne.thumbnail_path?h.jsx("img",{src:Fe.getArchiveThumbnail(ne.id),alt:"",className:"w-10 h-10 object-cover rounded"}):h.jsx("div",{className:"w-10 h-10 bg-bambu-dark rounded flex items-center justify-center",children:h.jsx(JS,{className:"w-5 h-5 text-bambu-dark-tertiary"})})]}),h.jsxs("div",{className:"col-span-4",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("p",{className:"text-white text-sm truncate",children:ne.print_name||ne.filename}),ne.timelapse_path&&h.jsx("span",{title:"Has timelapse",children:h.jsx(Np,{className:"w-3.5 h-3.5 text-bambu-green flex-shrink-0"})})]}),ne.filament_type&&h.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:ne.filament_type}),ne.filament_color&&h.jsx("div",{className:"flex items-center gap-0.5 flex-wrap",children:ne.filament_color.split(",").map((F,L)=>h.jsx("div",{className:"w-2.5 h-2.5 rounded-full border border-white/20",style:{backgroundColor:F},title:F},L))})]})]}),h.jsx("div",{className:"col-span-2 text-sm text-bambu-gray truncate",children:ne.printer_id?xe.get(ne.printer_id)||"Unknown":"No Printer"}),h.jsx("div",{className:"col-span-2 text-sm text-bambu-gray",children:new Date(ne.created_at).toLocaleDateString()}),h.jsx("div",{className:"col-span-1 text-sm text-bambu-gray",children:bR(ne.file_size)}),h.jsxs("div",{className:"col-span-2 flex justify-end gap-1",children:[h.jsx(ct,{variant:"ghost",size:"sm",onClick:()=>{const F=ne.print_name||ne.filename||"model",L=`${window.location.origin}${Fe.getArchiveForSlicer(ne.id,F)}`;window.location.href=`bambustudioopen://${encodeURIComponent(L)}`},title:"Open in Slicer",children:h.jsx(Qo,{className:"w-4 h-4"})}),ne.makerworld_url&&h.jsx(ct,{variant:"ghost",size:"sm",onClick:()=>window.open(ne.makerworld_url,"_blank"),title:"MakerWorld",children:h.jsx(V_,{className:"w-4 h-4"})}),h.jsx(ct,{variant:"ghost",size:"sm",onClick:()=>{const F=document.createElement("a");F.href=Fe.getArchiveDownload(ne.id),F.download=`${ne.print_name||ne.filename}.3mf`,F.click()},title:"Download",children:h.jsx(Ku,{className:"w-4 h-4"})})]})]},ne.id))]})}):null,x&&h.jsx(s1e,{onClose:()=>{M(!1),A([])},initialFiles:w}),U&&h.jsx(ii,{title:"Delete Archives",message:`Are you sure you want to delete ${N.size} archive${N.size>1?"s":""}? This action cannot be undone.`,confirmText:`Delete ${N.size}`,variant:"danger",onConfirm:()=>{ce.mutate(Array.from(N)),I(!1)},onCancel:()=>I(!1)}),H&&h.jsx(u1e,{selectedIds:Array.from(N),existingTags:De,onClose:()=>O(!1)})]})}function B2e(t){if(!t)return"ASAP";const e=new Date(t),n=new Date,r=e.getTime()-n.getTime();return r<-6e4?"Overdue":r<0?"Now":r<6e4?"In less than a minute":r<36e5?`In ${Math.round(r/6e4)} min`:r<864e5?`In ${Math.round(r/36e5)} hours`:e.toLocaleString()}function H2e({status:t}){const e={pending:{icon:ba,color:"text-yellow-400 bg-yellow-400/10",label:"Pending"},printing:{icon:ew,color:"text-blue-400 bg-blue-400/10",label:"Printing"},completed:{icon:ld,color:"text-green-400 bg-green-400/10",label:"Completed"},failed:{icon:L0,color:"text-red-400 bg-red-400/10",label:"Failed"},skipped:{icon:x9,color:"text-orange-400 bg-orange-400/10",label:"Skipped"},cancelled:{icon:mn,color:"text-gray-400 bg-gray-400/10",label:"Cancelled"}},{icon:n,color:r,label:i}=e[t];return h.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2 py-1 rounded-full text-xs font-medium ${r}`,children:[h.jsx(n,{className:"w-3.5 h-3.5"}),i]})}function D2({item:t,onCancel:e,onRemove:n,onStop:r}){const[i,a]=E.useState(!1),[s,o]=E.useState(!1),[l,c]=E.useState(!1);return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-4 p-4 bg-bambu-dark-secondary rounded-lg",children:[t.status==="pending"&&h.jsx($P,{className:"w-5 h-5 text-bambu-gray cursor-grab"}),h.jsx("div",{className:"w-16 h-16 flex-shrink-0 bg-bambu-dark rounded-lg overflow-hidden",children:t.archive_thumbnail?h.jsx("img",{src:Fe.getArchiveThumbnail(t.archive_id),alt:"",className:"w-full h-full object-cover"}):h.jsx("div",{className:"w-full h-full flex items-center justify-center text-bambu-gray",children:h.jsx(Zo,{className:"w-6 h-6"})})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("p",{className:"text-white font-medium truncate",children:t.archive_name||`Archive #${t.archive_id}`}),h.jsx(ZS,{to:`/archives?highlight=${t.archive_id}`,className:"text-bambu-gray hover:text-bambu-green transition-colors flex-shrink-0",title:"View archive",children:h.jsx(Qo,{className:"w-3.5 h-3.5"})})]}),h.jsxs("div",{className:"flex items-center gap-3 mt-1 text-sm text-bambu-gray",children:[h.jsxs("span",{className:"flex items-center gap-1",children:[h.jsx(mc,{className:"w-3.5 h-3.5"}),t.printer_name||`Printer #${t.printer_id}`]}),h.jsxs("span",{className:"flex items-center gap-1",children:[h.jsx(ba,{className:"w-3.5 h-3.5"}),B2e(t.scheduled_time)]})]}),t.require_previous_success&&h.jsx("p",{className:"text-xs text-orange-400 mt-1",children:"Requires previous print to succeed"}),t.auto_off_after&&h.jsxs("p",{className:"text-xs text-blue-400 mt-1 flex items-center gap-1",children:[h.jsx(tw,{className:"w-3 h-3"}),"Will power off when done"]}),t.error_message&&h.jsxs("p",{className:"text-xs text-red-400 mt-1 flex items-center gap-1",children:[h.jsx(od,{className:"w-3 h-3"}),t.error_message]})]}),h.jsx(H2e,{status:t.status}),h.jsxs("div",{className:"flex items-center gap-2",children:[t.status==="printing"&&h.jsx(ct,{variant:"ghost",size:"sm",onClick:()=>c(!0),title:"Stop Print",className:"text-red-400 hover:text-red-300",children:h.jsx(cse,{className:"w-4 h-4"})}),t.status==="pending"&&h.jsx(ct,{variant:"ghost",size:"sm",onClick:()=>a(!0),title:"Cancel",children:h.jsx(mn,{className:"w-4 h-4"})}),["completed","failed","skipped","cancelled"].includes(t.status)&&h.jsx(ct,{variant:"ghost",size:"sm",onClick:()=>o(!0),title:"Remove",children:h.jsx(aa,{className:"w-4 h-4"})})]})]}),i&&h.jsx(ii,{title:"Cancel Scheduled Print",message:`Are you sure you want to cancel "${t.archive_name||"this print"}"? It will be removed from the queue.`,confirmText:"Cancel Print",variant:"danger",onConfirm:()=>{e(t.id),a(!1)},onCancel:()=>a(!1)}),s&&h.jsx(ii,{title:"Remove from History",message:`Are you sure you want to remove "${t.archive_name||"this item"}" from the queue history?`,confirmText:"Remove",variant:"danger",onConfirm:()=>{n(t.id),o(!1)},onCancel:()=>o(!1)}),l&&h.jsx(ii,{title:"Stop Print",message:`Are you sure you want to stop the current print "${t.archive_name||"this print"}"? This will cancel the print job on the printer.`,confirmText:"Stop Print",variant:"danger",onConfirm:()=>{r(t.id),c(!1)},onCancel:()=>c(!1)})]})}function $2e(){const t=In(),{showToast:e}=eo(),[n,r]=E.useState(null),[i,a]=E.useState(""),{data:s,isLoading:o}=Ut({queryKey:["queue",n,i],queryFn:()=>Fe.getQueue(n||void 0,i||void 0),refetchInterval:1e4}),{data:l}=Ut({queryKey:["printers"],queryFn:()=>Fe.getPrinters()}),c=yt({mutationFn:v=>Fe.cancelQueueItem(v),onSuccess:()=>{t.invalidateQueries({queryKey:["queue"]}),e("Queue item cancelled")},onError:()=>e("Failed to cancel item","error")}),u=yt({mutationFn:v=>Fe.removeFromQueue(v),onSuccess:()=>{t.invalidateQueries({queryKey:["queue"]}),e("Queue item removed")},onError:()=>e("Failed to remove item","error")}),f=yt({mutationFn:v=>Fe.stopQueueItem(v),onSuccess:()=>{t.invalidateQueries({queryKey:["queue"]}),e("Print stopped")},onError:()=>e("Failed to stop print","error")}),g=s?.filter(v=>v.status==="pending")||[],m=s?.filter(v=>v.status==="printing")||[],y=s?.filter(v=>["completed","failed","skipped","cancelled"].includes(v.status))||[];return h.jsxs("div",{className:"p-8",children:[h.jsx("div",{className:"flex items-center justify-between mb-6",children:h.jsxs("div",{children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Print Queue"}),h.jsx("p",{className:"text-bambu-gray mt-1",children:"Schedule and manage print jobs"})]})}),h.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n||"",onChange:v=>r(v.target.value?Number(v.target.value):null),children:[h.jsx("option",{value:"",children:"All Printers"}),l?.map(v=>h.jsx("option",{value:v.id,children:v.name},v.id))]}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i,onChange:v=>a(v.target.value),children:[h.jsx("option",{value:"",children:"All Status"}),h.jsx("option",{value:"pending",children:"Pending"}),h.jsx("option",{value:"printing",children:"Printing"}),h.jsx("option",{value:"completed",children:"Completed"}),h.jsx("option",{value:"failed",children:"Failed"}),h.jsx("option",{value:"skipped",children:"Skipped"}),h.jsx("option",{value:"cancelled",children:"Cancelled"})]})]}),o?h.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading..."}):s?.length===0?h.jsxs(Yt,{className:"p-12 text-center",children:[h.jsx(Zo,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-medium text-white mb-2",children:"No prints scheduled"}),h.jsx("p",{className:"text-bambu-gray",children:'Schedule a print from the Archives page using the "Schedule" option in the context menu.'})]}):h.jsxs("div",{className:"space-y-6",children:[m.length>0&&h.jsxs("div",{children:[h.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[h.jsx(ew,{className:"w-5 h-5 text-blue-400"}),"Currently Printing"]}),h.jsx("div",{className:"space-y-2",children:m.map(v=>h.jsx(D2,{item:v,onCancel:b=>c.mutate(b),onRemove:b=>u.mutate(b),onStop:b=>f.mutate(b)},v.id))})]}),g.length>0&&h.jsxs("div",{children:[h.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[h.jsx(ba,{className:"w-5 h-5 text-yellow-400"}),"Queued (",g.length,")"]}),h.jsx("div",{className:"space-y-2",children:g.map(v=>h.jsx(D2,{item:v,onCancel:b=>c.mutate(b),onRemove:b=>u.mutate(b),onStop:b=>f.mutate(b)},v.id))})]}),y.length>0&&h.jsxs("div",{children:[h.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[h.jsx(ld,{className:"w-5 h-5 text-bambu-gray"}),"History (",y.length,")"]}),h.jsx("div",{className:"space-y-2",children:y.slice(0,10).map(v=>h.jsx(D2,{item:v,onCancel:b=>c.mutate(b),onRemove:b=>u.mutate(b),onStop:b=>f.mutate(b)},v.id))})]})]})]})}function V2e({printDates:t,months:e=3}){const{weeks:n,monthLabels:r,printCounts:i}=E.useMemo(()=>{const l={};t.forEach(x=>{const M=x.split("T")[0];l[M]=(l[M]||0)+1});const c=new Date,u=new Date(c);u.setMonth(u.getMonth()-e),u.setDate(u.getDate()-u.getDay());const f=[],g=[];let m=[],y=-1;const v=new Date(u);let b=0;for(;v<=c;)v.getDay()===0&&m.length>0&&(f.push(m),m=[],b++),v.getMonth()!==y&&(g.push({month:v.toLocaleDateString("en-US",{month:"short"}),weekIndex:b}),y=v.getMonth()),m.push(new Date(v)),v.setDate(v.getDate()+1);return m.length>0&&f.push(m),{weeks:f,monthLabels:g,printCounts:l}},[t,e]),a=Math.max(1,...Object.values(i)),s=l=>{if(l===0)return"bg-bambu-dark";const c=l/a;return c<=.25?"bg-bambu-green/30":c<=.5?"bg-bambu-green/50":c<=.75?"bg-bambu-green/75":"bg-bambu-green"},o=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return h.jsxs("div",{className:"overflow-x-auto",children:[h.jsx("div",{className:"flex mb-1 ml-8",children:r.map(({month:l,weekIndex:c},u)=>h.jsx("div",{className:"text-xs text-bambu-gray",style:{marginLeft:u===0?0:`${(c-(r[u-1]?.weekIndex||0))*14-24}px`},children:l},u))}),h.jsxs("div",{className:"flex gap-0.5",children:[h.jsx("div",{className:"flex flex-col gap-0.5 mr-1",children:o.map((l,c)=>h.jsx("div",{className:"h-3 text-xs text-bambu-gray flex items-center",style:{visibility:c%2===1?"visible":"hidden"},children:l},l))}),n.map((l,c)=>h.jsx("div",{className:"flex flex-col gap-0.5",children:[0,1,2,3,4,5,6].map(u=>{const f=l.find(v=>v.getDay()===u);if(!f)return h.jsx("div",{className:"w-3 h-3"},u);const g=f.toISOString().split("T")[0],m=i[g]||0,y=g===new Date().toISOString().split("T")[0];return h.jsx("div",{className:`w-3 h-3 rounded-sm ${s(m)} ${y?"ring-1 ring-white":""}`,title:`${f.toLocaleDateString()}: ${m} print${m!==1?"s":""}`},u)})},c))]}),h.jsxs("div",{className:"flex items-center gap-2 mt-3 text-xs text-bambu-gray",children:[h.jsx("span",{children:"Less"}),h.jsxs("div",{className:"flex gap-0.5",children:[h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-dark"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green/30"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green/50"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green/75"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green"})]}),h.jsx("span",{children:"More"})]})]})}function EX(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e{var{children:n,width:r,height:i,viewBox:a,className:s,style:o,title:l,desc:c}=t,u=Y2e(t,K2e),f=a||{width:r,height:i,x:0,y:0},g=An("recharts-surface",s);return E.createElement("svg",yR({},Ma(u),{className:g,width:r,height:i,style:o,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:e}),E.createElement("title",null,l),E.createElement("desc",null,c),n)}),Q2e=["children","className"];function _R(){return _R=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{children:n,className:r}=t,i=J2e(t,Q2e),a=An("recharts-layer",r);return E.createElement("g",_R({className:a},Ma(i),{ref:e}),n)}),CX=E.createContext(null),tCe=()=>E.useContext(CX);function Qn(t){return function(){return t}}const NX=Math.cos,Y1=Math.sin,Co=Math.sqrt,Z1=Math.PI,Cw=2*Z1,SR=Math.PI,wR=2*SR,Gd=1e-6,nCe=wR-Gd;function RX(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return RX;const n=10**e;return function(r){this._+=r[0];for(let i=1,a=r.length;iGd)if(!(Math.abs(f*l-c*u)>Gd)||!a)this._append`L${this._x1=e},${this._y1=n}`;else{let m=r-s,y=i-o,v=l*l+c*c,b=m*m+y*y,x=Math.sqrt(v),M=Math.sqrt(g),w=a*Math.tan((SR-Math.acos((v+g-b)/(2*x*M)))/2),A=w/M,T=w/x;Math.abs(A-1)>Gd&&this._append`L${e+A*u},${n+A*f}`,this._append`A${a},${a},0,0,${+(f*m>u*y)},${this._x1=e+T*l},${this._y1=n+T*c}`}}arc(e,n,r,i,a,s){if(e=+e,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(i),l=r*Math.sin(i),c=e+o,u=n+l,f=1^s,g=s?i-a:a-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>Gd||Math.abs(this._y1-u)>Gd)&&this._append`L${c},${u}`,r&&(g<0&&(g=g%wR+wR),g>nCe?this._append`A${r},${r},0,1,${f},${e-o},${n-l}A${r},${r},0,1,${f},${this._x1=c},${this._y1=u}`:g>Gd&&this._append`A${r},${r},0,${+(g>=SR)},${f},${this._x1=e+r*Math.cos(a)},${this._y1=n+r*Math.sin(a)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function cD(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new iCe(e)}function uD(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function PX(t){this._context=t}PX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Nw(t){return new PX(t)}function kX(t){return t[0]}function DX(t){return t[1]}function OX(t,e){var n=Qn(!0),r=null,i=Nw,a=null,s=cD(o);t=typeof t=="function"?t:t===void 0?kX:Qn(t),e=typeof e=="function"?e:e===void 0?DX:Qn(e);function o(l){var c,u=(l=uD(l)).length,f,g=!1,m;for(r==null&&(a=i(m=s())),c=0;c<=u;++c)!(c=m;--y)o.point(w[y],A[y]);o.lineEnd(),o.areaEnd()}x&&(w[g]=+t(b,g,f),A[g]=+e(b,g,f),o.point(r?+r(b,g,f):w[g],n?+n(b,g,f):A[g]))}if(M)return o=null,M+""||null}function u(){return OX().defined(i).curve(s).context(a)}return c.x=function(f){return arguments.length?(t=typeof f=="function"?f:Qn(+f),r=null,c):t},c.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Qn(+f),c):t},c.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Qn(+f),c):r},c.y=function(f){return arguments.length?(e=typeof f=="function"?f:Qn(+f),n=null,c):e},c.y0=function(f){return arguments.length?(e=typeof f=="function"?f:Qn(+f),c):e},c.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Qn(+f),c):n},c.lineX0=c.lineY0=function(){return u().x(t).y(e)},c.lineY1=function(){return u().x(t).y(n)},c.lineX1=function(){return u().x(r).y(e)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Qn(!!f),c):i},c.curve=function(f){return arguments.length?(s=f,a!=null&&(o=s(a)),c):s},c.context=function(f){return arguments.length?(f==null?a=o=null:o=s(a=f),c):a},c}class LX{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function aCe(t){return new LX(t,!0)}function sCe(t){return new LX(t,!1)}const dD={draw(t,e){const n=Co(e/Z1);t.moveTo(n,0),t.arc(0,0,n,0,Cw)}},oCe={draw(t,e){const n=Co(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},IX=Co(1/3),lCe=IX*2,cCe={draw(t,e){const n=Co(e/lCe),r=n*IX;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},uCe={draw(t,e){const n=Co(e),r=-n/2;t.rect(r,r,n,n)}},dCe=.8908130915292852,jX=Y1(Z1/10)/Y1(7*Z1/10),fCe=Y1(Cw/10)*jX,hCe=-NX(Cw/10)*jX,pCe={draw(t,e){const n=Co(e*dCe),r=fCe*n,i=hCe*n;t.moveTo(0,-n),t.lineTo(r,i);for(let a=1;a<5;++a){const s=Cw*a/5,o=NX(s),l=Y1(s);t.lineTo(l*n,-o*n),t.lineTo(o*r-l*i,l*r+o*i)}t.closePath()}},O2=Co(3),mCe={draw(t,e){const n=-Co(e/(O2*3));t.moveTo(0,n*2),t.lineTo(-O2*n,-n),t.lineTo(O2*n,-n),t.closePath()}},Ns=-.5,Rs=Co(3)/2,MR=1/Co(12),gCe=(MR/2+1)*3,xCe={draw(t,e){const n=Co(e/gCe),r=n/2,i=n*MR,a=r,s=n*MR+n,o=-a,l=s;t.moveTo(r,i),t.lineTo(a,s),t.lineTo(o,l),t.lineTo(Ns*r-Rs*i,Rs*r+Ns*i),t.lineTo(Ns*a-Rs*s,Rs*a+Ns*s),t.lineTo(Ns*o-Rs*l,Rs*o+Ns*l),t.lineTo(Ns*r+Rs*i,Ns*i-Rs*r),t.lineTo(Ns*a+Rs*s,Ns*s-Rs*a),t.lineTo(Ns*o+Rs*l,Ns*l-Rs*o),t.closePath()}};function vCe(t,e){let n=null,r=cD(i);t=typeof t=="function"?t:Qn(t||dD),e=typeof e=="function"?e:Qn(e===void 0?64:+e);function i(){let a;if(n||(n=a=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(t=typeof a=="function"?a:Qn(a),i):t},i.size=function(a){return arguments.length?(e=typeof a=="function"?a:Qn(+a),i):e},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function Q1(){}function J1(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function UX(t){this._context=t}UX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:J1(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:J1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function bCe(t){return new UX(t)}function FX(t){this._context=t}FX.prototype={areaStart:Q1,areaEnd:Q1,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:J1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function yCe(t){return new FX(t)}function zX(t){this._context=t}zX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:J1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function _Ce(t){return new zX(t)}function BX(t){this._context=t}BX.prototype={areaStart:Q1,areaEnd:Q1,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function SCe(t){return new BX(t)}function PH(t){return t<0?-1:1}function kH(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),s=(n-t._y1)/(i||r<0&&-0),o=(a*i+s*r)/(r+i);return(PH(a)+PH(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function DH(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function L2(t,e,n){var r=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-r)/3;t._context.bezierCurveTo(r+o,i+o*e,a-o,s-o*n,a,s)}function eS(t){this._context=t}eS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:L2(this,this._t0,DH(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,L2(this,DH(this,n=kH(this,t,e)),n);break;default:L2(this,this._t0,n=kH(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function HX(t){this._context=new $X(t)}(HX.prototype=Object.create(eS.prototype)).point=function(t,e){eS.prototype.point.call(this,e,t)};function $X(t){this._context=t}$X.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}};function wCe(t){return new eS(t)}function MCe(t){return new HX(t)}function VX(t){this._context=t}VX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=OH(t),i=OH(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function ACe(t){return new Rw(t,.5)}function TCe(t){return new Rw(t,0)}function CCe(t){return new Rw(t,1)}function lm(t,e){if((s=t.length)>1)for(var n=1,r,i,a=t[e[0]],s,o=a.length;n=0;)n[e]=e;return n}function NCe(t,e){return t[e]}function RCe(t){const e=[];return e.key=t,e}function PCe(){var t=Qn([]),e=ER,n=lm,r=NCe;function i(a){var s=Array.from(t.apply(this,arguments),RCe),o,l=s.length,c=-1,u;for(const f of a)for(o=0,++c;o0){for(var n,r,i=0,a=t[0].length,s;i0){for(var n=0,r=t[e[0]],i,a=r.length;n0)||!((a=(i=t[e[0]]).length)>0))){for(var n=0,r=1,i,a,s;rt===0?0:t>0?1:-1,Ys=t=>typeof t=="number"&&t!=+t,vc=t=>typeof t=="string"&&t.indexOf("%")===t.length-1,At=t=>(typeof t=="number"||t instanceof Number)&&!Ys(t),al=t=>At(t)||typeof t=="string",FCe=0,h0=t=>{var e=++FCe;return"".concat(t||"").concat(e)},sa=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!At(e)&&typeof e!="string")return r;var a;if(vc(e)){if(n==null)return r;var s=e.indexOf("%");a=n*parseFloat(e.slice(0,s))/100}else a=+e;return Ys(a)&&(a=r),i&&n!=null&&a>n&&(a=n),a},WX=t=>{if(!Array.isArray(t))return!1;for(var e=t.length,n={},r=0;rr&&(typeof e=="function"?e(r):Ff(r,e))===n)}var gr=t=>t===null||typeof t>"u",G0=t=>gr(t)?t:"".concat(t.charAt(0).toUpperCase()).concat(t.slice(1));function zCe(t){return t!=null}function W0(){}var BCe=["type","size","sizeType"];function AR(){return AR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var e="symbol".concat(G0(t));return XX[e]||dD},KCe=(t,e,n)=>{if(e==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var r=18*qCe;return 1.25*t*t*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2)}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},YCe=(t,e)=>{XX["symbol".concat(G0(t))]=e},mD=t=>{var{type:e="circle",size:n=64,sizeType:r="area"}=t,i=GCe(t,BCe),a=$H($H({},i),{},{type:e,size:n,sizeType:r}),s="circle";typeof e=="string"&&(s=e);var o=()=>{var g=XCe(s),m=vCe().type(g).size(KCe(n,r,s)),y=m();if(y!==null)return y},{className:l,cx:c,cy:u}=a,f=Ma(a);return At(c)&&At(u)&&At(n)?E.createElement("path",AR({},f,{className:An("recharts-symbols",l),transform:"translate(".concat(c,", ").concat(u,")"),d:o()})):null};mD.registerSymbol=YCe;var KX=t=>"radius"in t&&"startAngle"in t&&"endAngle"in t,gD=(t,e)=>{if(!t||typeof t=="function"||typeof t=="boolean")return null;var n=t;if(E.isValidElement(t)&&(n=t.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(i=>{oD(i)&&(r[i]=(a=>n[i](n,a)))}),r},ZCe=(t,e,n)=>r=>(t(e,n,r),null),q0=(t,e,n)=>{if(t===null||typeof t!="object"&&typeof t!="function")return null;var r=null;return Object.keys(t).forEach(i=>{var a=t[i];oD(i)&&typeof a=="function"&&(r||(r={}),r[i]=ZCe(a,e,n))}),r};function VH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function QCe(t){for(var e=1;e(s[o]===void 0&&r[o]!==void 0&&(s[o]=r[o]),s),n);return a}function tS(){return tS=Object.assign?Object.assign.bind():function(t){for(var e=1;e=95&&t.time_accuracy<=105?"bg-bambu-green/20 text-bambu-green":t.time_accuracy>105?"bg-blue-500/20 text-blue-400":"bg-orange-500/20 text-orange-400"}`,children:[t.time_accuracy>100?"+":"",(t.time_accuracy-100).toFixed(0),"%"]})]}),t.filament_used_grams&&h.jsxs("div",{className:"flex items-center gap-1.5 text-bambu-gray",children:[h.jsx(W_,{className:"w-3 h-3"}),t.filament_used_grams.toFixed(1),"g"]}),(t.layer_height||t.total_layers)&&h.jsxs("div",{className:"flex items-center gap-1.5 text-bambu-gray",children:[h.jsx(u9,{className:"w-3 h-3"}),t.total_layers&&h.jsxs("span",{children:[t.total_layers," layers"]}),t.total_layers&&t.layer_height&&h.jsx("span",{className:"text-bambu-gray/50",children:"·"}),t.layer_height&&h.jsxs("span",{children:[t.layer_height,"mm"]})]}),t.filament_type&&h.jsxs("div",{className:"flex items-center gap-1.5 col-span-2",children:[h.jsx("span",{className:"text-bambu-gray text-xs",children:t.filament_type}),t.filament_color&&h.jsx("div",{className:"flex items-center gap-0.5 flex-wrap",children:t.filament_color.split(",").map((te,xe)=>h.jsx("div",{className:"w-3 h-3 rounded-full border border-white/20",style:{backgroundColor:te},title:te},xe))})]})]}),(t.tags||t.notes)&&h.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mb-3",children:[t.notes&&h.jsx("div",{className:"flex items-center gap-1 px-1.5 py-0.5 bg-blue-500/20 text-blue-400 rounded text-xs",title:t.notes,children:h.jsx(ale,{className:"w-3 h-3"})}),t.tags?.split(",").map((te,xe)=>h.jsx("span",{className:"px-1.5 py-0.5 bg-bambu-dark-tertiary text-bambu-gray-light rounded text-xs",children:te.trim()},xe))]}),h.jsx("div",{className:"flex-1"}),h.jsxs("div",{className:"flex items-center justify-between text-xs text-bambu-gray border-t border-bambu-dark-tertiary pt-3",children:[h.jsx("span",{children:RH(t.created_at)}),h.jsx("span",{children:bR(t.file_size)})]}),h.jsxs("div",{className:"flex gap-1 mt-3",children:[h.jsxs(lt,{variant:"primary",size:"sm",className:"flex-1 min-w-0",onClick:()=>u(!0),children:[h.jsx(mc,{className:"w-3 h-3 flex-shrink-0"}),h.jsx("span",{className:"hidden sm:inline",children:"Print"})]}),h.jsx(lt,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>{const te=t.print_name||t.filename||"model",xe=`${window.location.origin}${Fe.getArchiveForSlicer(t.id,te)}`;window.location.href=`bambustudioopen://${encodeURIComponent(xe)}`},title:"Open in Bambu Studio",children:h.jsx(Qo,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(lt,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>t.makerworld_url&&window.open(t.makerworld_url,"_blank"),disabled:!t.makerworld_url,title:t.makerworld_url?`MakerWorld: ${t.designer||"View project"}`:"Not from MakerWorld",children:h.jsx(V_,{className:`w-3 h-3 sm:w-4 sm:h-4 ${t.makerworld_url?"":"opacity-20"}`})}),h.jsx(lt,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>l(!0),title:"3D Preview",children:h.jsx(Hx,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(lt,{variant:"secondary",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>{const te=document.createElement("a");te.href=Fe.getArchiveDownload(t.id),te.download=`${t.print_name||t.filename}.3mf`,te.click()},title:"Download",children:h.jsx(Ku,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(lt,{variant:"ghost",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>y(!0),title:"Edit",children:h.jsx(eF,{className:"w-3 h-3 sm:w-4 sm:h-4"})}),h.jsx(lt,{variant:"ghost",size:"sm",className:"min-w-0 p-1 sm:p-1.5",onClick:()=>g(!0),title:"Delete",children:h.jsx(aa,{className:"w-3 h-3 sm:w-4 sm:h-4 text-red-400"})})]})]}),m&&h.jsx(l1e,{archive:t,onClose:()=>y(!1)}),o&&h.jsx(i1e,{archiveId:t.id,title:t.print_name||t.filename,onClose:()=>l(!1)}),c&&h.jsx(a1e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>u(!1),onSuccess:()=>{}}),f&&h.jsx(ii,{title:"Delete Archive",message:`Are you sure you want to delete "${t.print_name||t.filename}"? This action cannot be undone.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{X.mutate(),g(!1)},onCancel:()=>g(!1)}),B&&h.jsx(ii,{title:"Remove Source 3MF",message:`Are you sure you want to remove the source 3MF file from "${t.print_name||t.filename}"? This will delete the original slicer project file.`,confirmText:"Remove",variant:"danger",onConfirm:()=>{Y.mutate(),O(!1)},onCancel:()=>O(!1)}),H&&h.jsx(c1e,{x:H.x,y:H.y,items:ve,onClose:()=>$(null)}),v&&t.timelapse_path&&h.jsx(I2e,{src:Fe.getArchiveTimelapse(t.id),title:`${t.print_name||t.filename} - Timelapse`,downloadFilename:`${t.print_name||t.filename}_timelapse.mp4`,onClose:()=>b(!1)}),x&&w.length>0&&h.jsx("div",{className:"fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-4",children:h.jsxs("div",{className:"bg-card-dark rounded-lg max-w-lg w-full max-h-[80vh] flex flex-col",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-700",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold text-white",children:"Select Timelapse"}),h.jsx("p",{className:"text-sm text-gray-400 mt-1",children:"No auto-match found. Select the timelapse for this print:"})]}),h.jsx("button",{onClick:()=>{M(!1),A([])},className:"text-gray-400 hover:text-white p-1",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsx("div",{className:"overflow-y-auto flex-1 p-2",children:w.map(te=>h.jsxs("button",{onClick:()=>V.mutate(te.name),disabled:V.isPending,className:"w-full text-left p-3 rounded-lg hover:bg-gray-700 transition-colors flex items-center gap-3 disabled:opacity-50",children:[h.jsx(Np,{className:"w-8 h-8 text-bambu-green flex-shrink-0"}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("p",{className:"text-white font-medium truncate",children:te.name}),h.jsxs("p",{className:"text-sm text-gray-400",children:[bR(te.size),te.mtime&&` • ${RH(te.mtime)}`]})]})]},te.name))}),h.jsx("div",{className:"p-4 border-t border-gray-700",children:h.jsx(lt,{variant:"secondary",onClick:()=>{M(!1),A([])},className:"w-full",children:"Cancel"})})]})}),T&&h.jsx(g1e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>R(!1)}),N&&t.photos&&t.photos.length>0&&h.jsx(x1e,{archiveId:t.id,archiveName:t.print_name||t.filename,photos:t.photos,onClose:()=>j(!1),onDelete:async te=>{try{await Fe.deleteArchivePhoto(t.id,te),a.invalidateQueries({queryKey:["archives"]}),s("Photo deleted")}catch{s("Failed to delete photo","error")}}}),C&&h.jsx(O2e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>k(!1)}),F&&h.jsx(j2e,{archiveId:t.id,archiveName:t.print_name||t.filename,onClose:()=>I(!1)}),h.jsx("input",{ref:W,type:"file",accept:".3mf",className:"hidden",onChange:te=>{const xe=te.target.files?.[0];xe&&K.mutate(xe),te.target.value=""}})]})}const F2e=[{id:"all",label:"All Archives",icon:h.jsx(Ise,{className:"w-4 h-4"})},{id:"recent",label:"Last 24 Hours",icon:h.jsx(ba,{className:"w-4 h-4"})},{id:"this-week",label:"This Week",icon:h.jsx(Zo,{className:"w-4 h-4"})},{id:"this-month",label:"This Month",icon:h.jsx(Zo,{className:"w-4 h-4"})},{id:"favorites",label:"Favorites",icon:h.jsx($x,{className:"w-4 h-4"})},{id:"failed",label:"Failed Prints",icon:h.jsx(od,{className:"w-4 h-4"})},{id:"duplicates",label:"Duplicates",icon:h.jsx(LN,{className:"w-4 h-4"})}];function z2e(){const t=In(),{showToast:e}=eo(),n=E.useRef(null),[r,i]=E.useState(""),[a,s]=E.useState(null),[o,l]=E.useState(null),[c,u]=E.useState(new Set),[f,g]=E.useState("or"),[m,y]=E.useState(!1),[v,b]=E.useState(null),[x,M]=E.useState(!1),[w,A]=E.useState([]),[T,R]=E.useState(!1),[N,j]=E.useState(new Set),[C,k]=E.useState(!1),[F,I]=E.useState(!1),[B,O]=E.useState(!1),[H,$]=E.useState("grid"),[W,K]=E.useState("date-desc"),[Y,se]=E.useState("all"),{data:V,isLoading:X}=Ut({queryKey:["archives",a],queryFn:()=>Fe.getArchives(a||void 0)}),{data:ae}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),ce=yt({mutationFn:async ne=>(await Promise.all(ne.map(U=>Fe.deleteArchive(U))),ne.length),onSuccess:ne=>{t.invalidateQueries({queryKey:["archives"]}),j(new Set),e(`${ne} archive${ne!==1?"s":""} deleted`)},onError:()=>{e("Failed to delete archives","error")}}),ve=new Map(ae?.map(ne=>[ne.id,ne.name])||[]),te=[...new Set(V?.flatMap(ne=>ne.filament_type?.split(", ")||[]).filter(Boolean)||[])].sort(),xe=[...new Set(V?.flatMap(ne=>ne.filament_color?.split(",")||[]).filter(Boolean)||[])],Re=[...new Set(V?.flatMap(ne=>ne.tags?.split(",").map(U=>U.trim())||[]).filter(Boolean)||[])].sort(),he=V?.filter(ne=>{const U=new Date,L=new Date(ne.created_at);let Z=!0;switch(Y){case"recent":Z=U.getTime()-L.getTime()<1440*60*1e3;break;case"this-week":Z=U.getTime()-L.getTime()<10080*60*1e3;break;case"this-month":Z=L.getMonth()===U.getMonth()&&L.getFullYear()===U.getFullYear();break;case"favorites":Z=ne.is_favorite===!0;break;case"failed":Z=ne.status==="failed";break;case"duplicates":Z=ne.duplicate_count>0;break}const me=(ne.print_name||ne.filename).toLowerCase().includes(r.toLowerCase()),ye=!o||ne.filament_type?.split(", ").includes(o),pe=ne.filament_color?.split(",")||[],Ze=c.size===0||(f==="or"?pe.some(je=>c.has(je)):[...c].every(je=>pe.includes(je))),Ie=Y==="favorites"||!m||ne.is_favorite,Xe=ne.tags?.split(",").map(je=>je.trim())||[],st=!v||Xe.includes(v);return Z&&me&&ye&&Ze&&Ie&&st}).sort((ne,U)=>{switch(W){case"date-desc":return new Date(U.created_at).getTime()-new Date(ne.created_at).getTime();case"date-asc":return new Date(ne.created_at).getTime()-new Date(U.created_at).getTime();case"name-asc":return(ne.print_name||ne.filename).localeCompare(U.print_name||U.filename);case"name-desc":return(U.print_name||U.filename).localeCompare(ne.print_name||ne.filename);case"size-desc":return U.file_size-ne.file_size;case"size-asc":return ne.file_size-U.file_size;default:return 0}}),ge=C||N.size>0,De=ne=>{j(U=>{const L=new Set(U);return L.has(ne)?L.delete(ne):L.add(ne),L})},oe=()=>{he&&j(new Set(he.map(ne=>ne.id)))},ct=()=>{j(new Set),k(!1)},z=ne=>{u(U=>{const L=new Set(U);return L.has(ne)?L.delete(ne):L.add(ne),L})},G=()=>{u(new Set)},re=()=>{i(""),s(null),l(null),y(!1),b(null)},Q=r||a||o||m||v,ee=E.useCallback(ne=>{ne.preventDefault(),ne.dataTransfer.types.includes("Files")&&R(!0)},[]),le=E.useCallback(ne=>{ne.preventDefault(),ne.currentTarget===ne.target&&R(!1)},[]),ke=E.useCallback(ne=>{ne.preventDefault(),R(!1);const U=Array.from(ne.dataTransfer.files).filter(L=>L.name.endsWith(".3mf"));U.length>0?(A(U),M(!0)):ne.dataTransfer.files.length>0&&e("Only .3mf files are supported","warning")},[e]),Ne=E.useCallback(ne=>{const U=ne.target;if(U.tagName==="INPUT"||U.tagName==="TEXTAREA"||U.isContentEditable){ne.key==="Escape"&&U.blur();return}switch(ne.key){case"/":ne.preventDefault(),n.current?.focus();break;case"u":case"U":!ne.metaKey&&!ne.ctrlKey&&(ne.preventDefault(),M(!0));break;case"Escape":ge&&ct();break}},[ge]);return E.useEffect(()=>(document.addEventListener("keydown",Ne),()=>document.removeEventListener("keydown",Ne)),[Ne]),h.jsxs("div",{className:"p-8 relative min-h-full",onDragOver:ee,onDragLeave:le,onDrop:ke,children:[T&&h.jsx("div",{className:"fixed inset-0 z-50 bg-bambu-dark/90 flex items-center justify-center pointer-events-none",children:h.jsxs("div",{className:"border-4 border-dashed border-bambu-green rounded-xl p-12 text-center",children:[h.jsx(Gx,{className:"w-16 h-16 mx-auto mb-4 text-bambu-green"}),h.jsx("p",{className:"text-2xl font-semibold text-white mb-2",children:"Drop .3mf files here"}),h.jsx("p",{className:"text-bambu-gray",children:"Release to upload"})]})}),ge&&h.jsxs("div",{className:"fixed bottom-6 left-1/2 -translate-x-1/2 z-40 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded-lg shadow-xl px-4 py-3 flex items-center gap-4",children:[h.jsxs("span",{className:"text-white font-medium",children:[N.size," selected"]}),h.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),h.jsx(lt,{variant:"secondary",size:"sm",onClick:oe,children:"Select All"}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:ct,children:[h.jsx(mn,{className:"w-4 h-4"}),"Clear"]}),h.jsx("div",{className:"w-px h-6 bg-bambu-dark-tertiary"}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:()=>O(!0),children:[h.jsx(Vx,{className:"w-4 h-4"}),"Tags"]}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:()=>{const ne=Array.from(N);Promise.all(ne.map(U=>Fe.toggleFavorite(U))).then(()=>{t.invalidateQueries({queryKey:["archives"]}),e(`Toggled favorites for ${ne.length} archive${ne.length!==1?"s":""}`)}).catch(()=>{e("Failed to update favorites","error")})},children:[h.jsx($x,{className:"w-4 h-4"}),"Favorite"]}),h.jsxs(lt,{size:"sm",className:"bg-red-500 hover:bg-red-600",onClick:()=>I(!0),children:[h.jsx(aa,{className:"w-4 h-4"}),"Delete"]})]}),h.jsxs("div",{className:"flex items-center justify-between mb-8",children:[h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Archives"}),h.jsx("select",{className:"px-3 py-1.5 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-bambu-gray-light text-sm focus:border-bambu-green focus:outline-none",value:Y,onChange:ne=>se(ne.target.value),children:F2e.map(ne=>h.jsx("option",{value:ne.id,children:ne.label},ne.id))})]}),h.jsxs("p",{className:"text-bambu-gray",children:[he?.length||0," of ",V?.length||0," prints"]})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[!ge&&h.jsxs(lt,{variant:"secondary",onClick:()=>k(!0),children:[h.jsx(X_,{className:"w-4 h-4"}),"Select"]}),h.jsxs(lt,{onClick:()=>M(!0),children:[h.jsx(Gx,{className:"w-4 h-4"}),"Upload 3MF"]})]})]}),h.jsx(Yt,{className:"mb-6",children:h.jsxs(on,{className:"py-4",children:[h.jsxs("div",{className:"flex gap-4 items-center flex-wrap",children:[h.jsxs("div",{className:"flex-1 relative min-w-[200px]",children:[h.jsx(q_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray"}),h.jsx("input",{ref:n,type:"text",placeholder:"Search archives... (press /)",className:"w-full pl-10 pr-4 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:r,onChange:ne=>i(ne.target.value)})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(zse,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:a||"",onChange:ne=>s(ne.target.value?Number(ne.target.value):null),children:[h.jsx("option",{value:"",children:"All Printers"}),ae?.map(ne=>h.jsx("option",{value:ne.id,children:ne.name},ne.id))]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(W_,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:o||"",onChange:ne=>l(ne.target.value||null),children:[h.jsx("option",{value:"",children:"All Materials"}),te.map(ne=>h.jsx("option",{value:ne,children:ne},ne))]})]}),h.jsxs("button",{onClick:()=>y(!m),className:`flex items-center gap-2 px-3 py-2 rounded-lg border transition-colors ${m?"bg-yellow-500/20 border-yellow-500 text-yellow-400":"bg-bambu-dark border-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,title:m?"Show all":"Show favorites only",children:[h.jsx($x,{className:`w-4 h-4 ${m?"fill-yellow-400":""}`}),h.jsx("span",{className:"text-sm",children:"Favorites"})]}),Re.length>0&&h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(Vx,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:v||"",onChange:ne=>b(ne.target.value||null),children:[h.jsx("option",{value:"",children:"All Tags"}),Re.map(ne=>h.jsx("option",{value:ne,children:ne},ne))]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(jae,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:W,onChange:ne=>K(ne.target.value),children:[h.jsx("option",{value:"date-desc",children:"Newest first"}),h.jsx("option",{value:"date-asc",children:"Oldest first"}),h.jsx("option",{value:"name-asc",children:"Name A-Z"}),h.jsx("option",{value:"name-desc",children:"Name Z-A"}),h.jsx("option",{value:"size-desc",children:"Largest first"}),h.jsx("option",{value:"size-asc",children:"Smallest first"})]})]}),h.jsxs("div",{className:"flex items-center border border-bambu-dark-tertiary rounded-lg overflow-hidden",children:[h.jsx("button",{className:`p-2 ${H==="grid"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,onClick:()=>$("grid"),title:"Grid view",children:h.jsx(roe,{className:"w-4 h-4"})}),h.jsx("button",{className:`p-2 ${H==="list"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,onClick:()=>$("list"),title:"List view",children:h.jsx(d9,{className:"w-4 h-4"})}),h.jsx("button",{className:`p-2 ${H==="calendar"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,onClick:()=>$("calendar"),title:"Calendar view",children:h.jsx(qae,{className:"w-4 h-4"})})]}),Q&&h.jsxs(lt,{variant:"ghost",size:"sm",onClick:re,className:"text-bambu-gray hover:text-white",children:[h.jsx(mn,{className:"w-4 h-4"}),"Reset"]})]}),xe.length>0&&h.jsxs("div",{className:"flex items-center gap-3 mt-4 pt-4 border-t border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Colors:"}),c.size>1&&h.jsx("button",{onClick:()=>g(ne=>ne==="or"?"and":"or"),className:`px-2 py-0.5 text-xs rounded transition-colors ${f==="and"?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,title:f==="or"?"Match ANY selected color":"Match ALL selected colors",children:f.toUpperCase()}),h.jsx("div",{className:"flex items-center gap-1.5 flex-wrap",children:xe.map(ne=>h.jsx("button",{onClick:()=>z(ne),className:`w-6 h-6 rounded-full border-2 transition-all ${c.has(ne)?"border-bambu-green scale-110":"border-white/20 hover:border-white/40"}`,style:{backgroundColor:ne},title:ne},ne))}),c.size>0&&h.jsxs("button",{onClick:G,className:"text-xs text-bambu-gray hover:text-white flex items-center gap-1",children:[h.jsx(mn,{className:"w-3 h-3"}),"Clear"]})]})]})}),X?h.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading archives..."}):he?.length===0?h.jsx(Yt,{children:h.jsxs(on,{className:"text-center py-12",children:[h.jsx("p",{className:"text-bambu-gray",children:r?"No archives match your search":"No archives yet"}),h.jsx("p",{className:"text-sm text-bambu-gray mt-2",children:"Archives are created automatically when prints complete"})]})}):H==="calendar"?h.jsx(Yt,{className:"p-6",children:h.jsx(m1e,{archives:he||[],onArchiveClick:ne=>{i(ne.print_name||ne.filename),$("grid")}})}):H==="grid"?h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:he?.map(ne=>h.jsx(U2e,{archive:ne,printerName:ne.printer_id?ve.get(ne.printer_id)||"Unknown":"No Printer",isSelected:N.has(ne.id),onSelect:De,selectionMode:ge},ne.id))}):H==="list"?h.jsx(Yt,{children:h.jsxs("div",{className:"divide-y divide-bambu-dark-tertiary",children:[h.jsxs("div",{className:"grid grid-cols-12 gap-4 px-4 py-3 text-xs text-bambu-gray font-medium",children:[h.jsx("div",{className:"col-span-1"}),h.jsx("div",{className:"col-span-4",children:"Name"}),h.jsx("div",{className:"col-span-2",children:"Printer"}),h.jsx("div",{className:"col-span-2",children:"Date"}),h.jsx("div",{className:"col-span-1",children:"Size"}),h.jsx("div",{className:"col-span-2 text-right",children:"Actions"})]}),he?.map(ne=>h.jsxs("div",{className:`grid grid-cols-12 gap-4 px-4 py-3 items-center hover:bg-bambu-dark-tertiary/30 ${N.has(ne.id)?"bg-bambu-green/10":""}`,children:[h.jsxs("div",{className:"col-span-1 flex items-center gap-2",children:[ge&&h.jsx("button",{onClick:()=>De(ne.id),children:N.has(ne.id)?h.jsx(X_,{className:"w-4 h-4 text-bambu-green"}):h.jsx($p,{className:"w-4 h-4 text-bambu-gray"})}),ne.thumbnail_path?h.jsx("img",{src:Fe.getArchiveThumbnail(ne.id),alt:"",className:"w-10 h-10 object-cover rounded"}):h.jsx("div",{className:"w-10 h-10 bg-bambu-dark rounded flex items-center justify-center",children:h.jsx(JS,{className:"w-5 h-5 text-bambu-dark-tertiary"})})]}),h.jsxs("div",{className:"col-span-4",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("p",{className:"text-white text-sm truncate",children:ne.print_name||ne.filename}),ne.timelapse_path&&h.jsx("span",{title:"Has timelapse",children:h.jsx(Np,{className:"w-3.5 h-3.5 text-bambu-green flex-shrink-0"})})]}),ne.filament_type&&h.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:ne.filament_type}),ne.filament_color&&h.jsx("div",{className:"flex items-center gap-0.5 flex-wrap",children:ne.filament_color.split(",").map((U,L)=>h.jsx("div",{className:"w-2.5 h-2.5 rounded-full border border-white/20",style:{backgroundColor:U},title:U},L))})]})]}),h.jsx("div",{className:"col-span-2 text-sm text-bambu-gray truncate",children:ne.printer_id?ve.get(ne.printer_id)||"Unknown":"No Printer"}),h.jsx("div",{className:"col-span-2 text-sm text-bambu-gray",children:new Date(ne.created_at).toLocaleDateString()}),h.jsx("div",{className:"col-span-1 text-sm text-bambu-gray",children:bR(ne.file_size)}),h.jsxs("div",{className:"col-span-2 flex justify-end gap-1",children:[h.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>{const U=ne.print_name||ne.filename||"model",L=`${window.location.origin}${Fe.getArchiveForSlicer(ne.id,U)}`;window.location.href=`bambustudioopen://${encodeURIComponent(L)}`},title:"Open in Slicer",children:h.jsx(Qo,{className:"w-4 h-4"})}),ne.makerworld_url&&h.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>window.open(ne.makerworld_url,"_blank"),title:"MakerWorld",children:h.jsx(V_,{className:"w-4 h-4"})}),h.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>{const U=document.createElement("a");U.href=Fe.getArchiveDownload(ne.id),U.download=`${ne.print_name||ne.filename}.3mf`,U.click()},title:"Download",children:h.jsx(Ku,{className:"w-4 h-4"})})]})]},ne.id))]})}):null,x&&h.jsx(s1e,{onClose:()=>{M(!1),A([])},initialFiles:w}),F&&h.jsx(ii,{title:"Delete Archives",message:`Are you sure you want to delete ${N.size} archive${N.size>1?"s":""}? This action cannot be undone.`,confirmText:`Delete ${N.size}`,variant:"danger",onConfirm:()=>{ce.mutate(Array.from(N)),I(!1)},onCancel:()=>I(!1)}),B&&h.jsx(u1e,{selectedIds:Array.from(N),existingTags:Re,onClose:()=>O(!1)})]})}function B2e(t){if(!t)return"ASAP";const e=new Date(t),n=new Date,r=e.getTime()-n.getTime();return r<-6e4?"Overdue":r<0?"Now":r<6e4?"In less than a minute":r<36e5?`In ${Math.round(r/6e4)} min`:r<864e5?`In ${Math.round(r/36e5)} hours`:e.toLocaleString()}function H2e({status:t}){const e={pending:{icon:ba,color:"text-yellow-400 bg-yellow-400/10",label:"Pending"},printing:{icon:ew,color:"text-blue-400 bg-blue-400/10",label:"Printing"},completed:{icon:ld,color:"text-green-400 bg-green-400/10",label:"Completed"},failed:{icon:L0,color:"text-red-400 bg-red-400/10",label:"Failed"},skipped:{icon:x9,color:"text-orange-400 bg-orange-400/10",label:"Skipped"},cancelled:{icon:mn,color:"text-gray-400 bg-gray-400/10",label:"Cancelled"}},{icon:n,color:r,label:i}=e[t];return h.jsxs("span",{className:`inline-flex items-center gap-1.5 px-2 py-1 rounded-full text-xs font-medium ${r}`,children:[h.jsx(n,{className:"w-3.5 h-3.5"}),i]})}function D2({item:t,onCancel:e,onRemove:n,onStop:r}){const[i,a]=E.useState(!1),[s,o]=E.useState(!1),[l,c]=E.useState(!1);return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-4 p-4 bg-bambu-dark-secondary rounded-lg",children:[t.status==="pending"&&h.jsx($P,{className:"w-5 h-5 text-bambu-gray cursor-grab"}),h.jsx("div",{className:"w-16 h-16 flex-shrink-0 bg-bambu-dark rounded-lg overflow-hidden",children:t.archive_thumbnail?h.jsx("img",{src:Fe.getArchiveThumbnail(t.archive_id),alt:"",className:"w-full h-full object-cover"}):h.jsx("div",{className:"w-full h-full flex items-center justify-center text-bambu-gray",children:h.jsx(Zo,{className:"w-6 h-6"})})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("p",{className:"text-white font-medium truncate",children:t.archive_name||`Archive #${t.archive_id}`}),h.jsx(ZS,{to:`/archives?highlight=${t.archive_id}`,className:"text-bambu-gray hover:text-bambu-green transition-colors flex-shrink-0",title:"View archive",children:h.jsx(Qo,{className:"w-3.5 h-3.5"})})]}),h.jsxs("div",{className:"flex items-center gap-3 mt-1 text-sm text-bambu-gray",children:[h.jsxs("span",{className:"flex items-center gap-1",children:[h.jsx(mc,{className:"w-3.5 h-3.5"}),t.printer_name||`Printer #${t.printer_id}`]}),h.jsxs("span",{className:"flex items-center gap-1",children:[h.jsx(ba,{className:"w-3.5 h-3.5"}),B2e(t.scheduled_time)]})]}),t.require_previous_success&&h.jsx("p",{className:"text-xs text-orange-400 mt-1",children:"Requires previous print to succeed"}),t.auto_off_after&&h.jsxs("p",{className:"text-xs text-blue-400 mt-1 flex items-center gap-1",children:[h.jsx(tw,{className:"w-3 h-3"}),"Will power off when done"]}),t.error_message&&h.jsxs("p",{className:"text-xs text-red-400 mt-1 flex items-center gap-1",children:[h.jsx(od,{className:"w-3 h-3"}),t.error_message]})]}),h.jsx(H2e,{status:t.status}),h.jsxs("div",{className:"flex items-center gap-2",children:[t.status==="printing"&&h.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>c(!0),title:"Stop Print",className:"text-red-400 hover:text-red-300",children:h.jsx(cse,{className:"w-4 h-4"})}),t.status==="pending"&&h.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>a(!0),title:"Cancel",children:h.jsx(mn,{className:"w-4 h-4"})}),["completed","failed","skipped","cancelled"].includes(t.status)&&h.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>o(!0),title:"Remove",children:h.jsx(aa,{className:"w-4 h-4"})})]})]}),i&&h.jsx(ii,{title:"Cancel Scheduled Print",message:`Are you sure you want to cancel "${t.archive_name||"this print"}"? It will be removed from the queue.`,confirmText:"Cancel Print",variant:"danger",onConfirm:()=>{e(t.id),a(!1)},onCancel:()=>a(!1)}),s&&h.jsx(ii,{title:"Remove from History",message:`Are you sure you want to remove "${t.archive_name||"this item"}" from the queue history?`,confirmText:"Remove",variant:"danger",onConfirm:()=>{n(t.id),o(!1)},onCancel:()=>o(!1)}),l&&h.jsx(ii,{title:"Stop Print",message:`Are you sure you want to stop the current print "${t.archive_name||"this print"}"? This will cancel the print job on the printer.`,confirmText:"Stop Print",variant:"danger",onConfirm:()=>{r(t.id),c(!1)},onCancel:()=>c(!1)})]})}function $2e(){const t=In(),{showToast:e}=eo(),[n,r]=E.useState(null),[i,a]=E.useState(""),{data:s,isLoading:o}=Ut({queryKey:["queue",n,i],queryFn:()=>Fe.getQueue(n||void 0,i||void 0),refetchInterval:1e4}),{data:l}=Ut({queryKey:["printers"],queryFn:()=>Fe.getPrinters()}),c=yt({mutationFn:v=>Fe.cancelQueueItem(v),onSuccess:()=>{t.invalidateQueries({queryKey:["queue"]}),e("Queue item cancelled")},onError:()=>e("Failed to cancel item","error")}),u=yt({mutationFn:v=>Fe.removeFromQueue(v),onSuccess:()=>{t.invalidateQueries({queryKey:["queue"]}),e("Queue item removed")},onError:()=>e("Failed to remove item","error")}),f=yt({mutationFn:v=>Fe.stopQueueItem(v),onSuccess:()=>{t.invalidateQueries({queryKey:["queue"]}),e("Print stopped")},onError:()=>e("Failed to stop print","error")}),g=s?.filter(v=>v.status==="pending")||[],m=s?.filter(v=>v.status==="printing")||[],y=s?.filter(v=>["completed","failed","skipped","cancelled"].includes(v.status))||[];return h.jsxs("div",{className:"p-8",children:[h.jsx("div",{className:"flex items-center justify-between mb-6",children:h.jsxs("div",{children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Print Queue"}),h.jsx("p",{className:"text-bambu-gray mt-1",children:"Schedule and manage print jobs"})]})}),h.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:n||"",onChange:v=>r(v.target.value?Number(v.target.value):null),children:[h.jsx("option",{value:"",children:"All Printers"}),l?.map(v=>h.jsx("option",{value:v.id,children:v.name},v.id))]}),h.jsxs("select",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",value:i,onChange:v=>a(v.target.value),children:[h.jsx("option",{value:"",children:"All Status"}),h.jsx("option",{value:"pending",children:"Pending"}),h.jsx("option",{value:"printing",children:"Printing"}),h.jsx("option",{value:"completed",children:"Completed"}),h.jsx("option",{value:"failed",children:"Failed"}),h.jsx("option",{value:"skipped",children:"Skipped"}),h.jsx("option",{value:"cancelled",children:"Cancelled"})]})]}),o?h.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading..."}):s?.length===0?h.jsxs(Yt,{className:"p-12 text-center",children:[h.jsx(Zo,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-medium text-white mb-2",children:"No prints scheduled"}),h.jsx("p",{className:"text-bambu-gray",children:'Schedule a print from the Archives page using the "Schedule" option in the context menu.'})]}):h.jsxs("div",{className:"space-y-6",children:[m.length>0&&h.jsxs("div",{children:[h.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[h.jsx(ew,{className:"w-5 h-5 text-blue-400"}),"Currently Printing"]}),h.jsx("div",{className:"space-y-2",children:m.map(v=>h.jsx(D2,{item:v,onCancel:b=>c.mutate(b),onRemove:b=>u.mutate(b),onStop:b=>f.mutate(b)},v.id))})]}),g.length>0&&h.jsxs("div",{children:[h.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[h.jsx(ba,{className:"w-5 h-5 text-yellow-400"}),"Queued (",g.length,")"]}),h.jsx("div",{className:"space-y-2",children:g.map(v=>h.jsx(D2,{item:v,onCancel:b=>c.mutate(b),onRemove:b=>u.mutate(b),onStop:b=>f.mutate(b)},v.id))})]}),y.length>0&&h.jsxs("div",{children:[h.jsxs("h2",{className:"text-lg font-semibold text-white mb-3 flex items-center gap-2",children:[h.jsx(ld,{className:"w-5 h-5 text-bambu-gray"}),"History (",y.length,")"]}),h.jsx("div",{className:"space-y-2",children:y.slice(0,10).map(v=>h.jsx(D2,{item:v,onCancel:b=>c.mutate(b),onRemove:b=>u.mutate(b),onStop:b=>f.mutate(b)},v.id))})]})]})]})}function V2e({printDates:t,months:e=3}){const{weeks:n,monthLabels:r,printCounts:i}=E.useMemo(()=>{const l={};t.forEach(x=>{const M=x.split("T")[0];l[M]=(l[M]||0)+1});const c=new Date,u=new Date(c);u.setMonth(u.getMonth()-e),u.setDate(u.getDate()-u.getDay());const f=[],g=[];let m=[],y=-1;const v=new Date(u);let b=0;for(;v<=c;)v.getDay()===0&&m.length>0&&(f.push(m),m=[],b++),v.getMonth()!==y&&(g.push({month:v.toLocaleDateString("en-US",{month:"short"}),weekIndex:b}),y=v.getMonth()),m.push(new Date(v)),v.setDate(v.getDate()+1);return m.length>0&&f.push(m),{weeks:f,monthLabels:g,printCounts:l}},[t,e]),a=Math.max(1,...Object.values(i)),s=l=>{if(l===0)return"bg-bambu-dark";const c=l/a;return c<=.25?"bg-bambu-green/30":c<=.5?"bg-bambu-green/50":c<=.75?"bg-bambu-green/75":"bg-bambu-green"},o=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];return h.jsxs("div",{className:"overflow-x-auto",children:[h.jsx("div",{className:"flex mb-1 ml-8",children:r.map(({month:l,weekIndex:c},u)=>h.jsx("div",{className:"text-xs text-bambu-gray",style:{marginLeft:u===0?0:`${(c-(r[u-1]?.weekIndex||0))*14-24}px`},children:l},u))}),h.jsxs("div",{className:"flex gap-0.5",children:[h.jsx("div",{className:"flex flex-col gap-0.5 mr-1",children:o.map((l,c)=>h.jsx("div",{className:"h-3 text-xs text-bambu-gray flex items-center",style:{visibility:c%2===1?"visible":"hidden"},children:l},l))}),n.map((l,c)=>h.jsx("div",{className:"flex flex-col gap-0.5",children:[0,1,2,3,4,5,6].map(u=>{const f=l.find(v=>v.getDay()===u);if(!f)return h.jsx("div",{className:"w-3 h-3"},u);const g=f.toISOString().split("T")[0],m=i[g]||0,y=g===new Date().toISOString().split("T")[0];return h.jsx("div",{className:`w-3 h-3 rounded-sm ${s(m)} ${y?"ring-1 ring-white":""}`,title:`${f.toLocaleDateString()}: ${m} print${m!==1?"s":""}`},u)})},c))]}),h.jsxs("div",{className:"flex items-center gap-2 mt-3 text-xs text-bambu-gray",children:[h.jsx("span",{children:"Less"}),h.jsxs("div",{className:"flex gap-0.5",children:[h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-dark"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green/30"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green/50"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green/75"}),h.jsx("div",{className:"w-3 h-3 rounded-sm bg-bambu-green"})]}),h.jsx("span",{children:"More"})]})]})}function EX(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e{var{children:n,width:r,height:i,viewBox:a,className:s,style:o,title:l,desc:c}=t,u=Y2e(t,K2e),f=a||{width:r,height:i,x:0,y:0},g=An("recharts-surface",s);return E.createElement("svg",yR({},Ma(u),{className:g,width:r,height:i,style:o,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:e}),E.createElement("title",null,l),E.createElement("desc",null,c),n)}),Q2e=["children","className"];function _R(){return _R=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{children:n,className:r}=t,i=J2e(t,Q2e),a=An("recharts-layer",r);return E.createElement("g",_R({className:a},Ma(i),{ref:e}),n)}),CX=E.createContext(null),tCe=()=>E.useContext(CX);function Qn(t){return function(){return t}}const NX=Math.cos,Y1=Math.sin,Co=Math.sqrt,Z1=Math.PI,Cw=2*Z1,SR=Math.PI,wR=2*SR,Gd=1e-6,nCe=wR-Gd;function RX(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return RX;const n=10**e;return function(r){this._+=r[0];for(let i=1,a=r.length;iGd)if(!(Math.abs(f*l-c*u)>Gd)||!a)this._append`L${this._x1=e},${this._y1=n}`;else{let m=r-s,y=i-o,v=l*l+c*c,b=m*m+y*y,x=Math.sqrt(v),M=Math.sqrt(g),w=a*Math.tan((SR-Math.acos((v+g-b)/(2*x*M)))/2),A=w/M,T=w/x;Math.abs(A-1)>Gd&&this._append`L${e+A*u},${n+A*f}`,this._append`A${a},${a},0,0,${+(f*m>u*y)},${this._x1=e+T*l},${this._y1=n+T*c}`}}arc(e,n,r,i,a,s){if(e=+e,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let o=r*Math.cos(i),l=r*Math.sin(i),c=e+o,u=n+l,f=1^s,g=s?i-a:a-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>Gd||Math.abs(this._y1-u)>Gd)&&this._append`L${c},${u}`,r&&(g<0&&(g=g%wR+wR),g>nCe?this._append`A${r},${r},0,1,${f},${e-o},${n-l}A${r},${r},0,1,${f},${this._x1=c},${this._y1=u}`:g>Gd&&this._append`A${r},${r},0,${+(g>=SR)},${f},${this._x1=e+r*Math.cos(a)},${this._y1=n+r*Math.sin(a)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function cD(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new iCe(e)}function uD(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function PX(t){this._context=t}PX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Nw(t){return new PX(t)}function kX(t){return t[0]}function DX(t){return t[1]}function OX(t,e){var n=Qn(!0),r=null,i=Nw,a=null,s=cD(o);t=typeof t=="function"?t:t===void 0?kX:Qn(t),e=typeof e=="function"?e:e===void 0?DX:Qn(e);function o(l){var c,u=(l=uD(l)).length,f,g=!1,m;for(r==null&&(a=i(m=s())),c=0;c<=u;++c)!(c=m;--y)o.point(w[y],A[y]);o.lineEnd(),o.areaEnd()}x&&(w[g]=+t(b,g,f),A[g]=+e(b,g,f),o.point(r?+r(b,g,f):w[g],n?+n(b,g,f):A[g]))}if(M)return o=null,M+""||null}function u(){return OX().defined(i).curve(s).context(a)}return c.x=function(f){return arguments.length?(t=typeof f=="function"?f:Qn(+f),r=null,c):t},c.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Qn(+f),c):t},c.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Qn(+f),c):r},c.y=function(f){return arguments.length?(e=typeof f=="function"?f:Qn(+f),n=null,c):e},c.y0=function(f){return arguments.length?(e=typeof f=="function"?f:Qn(+f),c):e},c.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Qn(+f),c):n},c.lineX0=c.lineY0=function(){return u().x(t).y(e)},c.lineY1=function(){return u().x(t).y(n)},c.lineX1=function(){return u().x(r).y(e)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Qn(!!f),c):i},c.curve=function(f){return arguments.length?(s=f,a!=null&&(o=s(a)),c):s},c.context=function(f){return arguments.length?(f==null?a=o=null:o=s(a=f),c):a},c}class LX{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function aCe(t){return new LX(t,!0)}function sCe(t){return new LX(t,!1)}const dD={draw(t,e){const n=Co(e/Z1);t.moveTo(n,0),t.arc(0,0,n,0,Cw)}},oCe={draw(t,e){const n=Co(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},IX=Co(1/3),lCe=IX*2,cCe={draw(t,e){const n=Co(e/lCe),r=n*IX;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},uCe={draw(t,e){const n=Co(e),r=-n/2;t.rect(r,r,n,n)}},dCe=.8908130915292852,jX=Y1(Z1/10)/Y1(7*Z1/10),fCe=Y1(Cw/10)*jX,hCe=-NX(Cw/10)*jX,pCe={draw(t,e){const n=Co(e*dCe),r=fCe*n,i=hCe*n;t.moveTo(0,-n),t.lineTo(r,i);for(let a=1;a<5;++a){const s=Cw*a/5,o=NX(s),l=Y1(s);t.lineTo(l*n,-o*n),t.lineTo(o*r-l*i,l*r+o*i)}t.closePath()}},O2=Co(3),mCe={draw(t,e){const n=-Co(e/(O2*3));t.moveTo(0,n*2),t.lineTo(-O2*n,-n),t.lineTo(O2*n,-n),t.closePath()}},Ns=-.5,Rs=Co(3)/2,MR=1/Co(12),gCe=(MR/2+1)*3,xCe={draw(t,e){const n=Co(e/gCe),r=n/2,i=n*MR,a=r,s=n*MR+n,o=-a,l=s;t.moveTo(r,i),t.lineTo(a,s),t.lineTo(o,l),t.lineTo(Ns*r-Rs*i,Rs*r+Ns*i),t.lineTo(Ns*a-Rs*s,Rs*a+Ns*s),t.lineTo(Ns*o-Rs*l,Rs*o+Ns*l),t.lineTo(Ns*r+Rs*i,Ns*i-Rs*r),t.lineTo(Ns*a+Rs*s,Ns*s-Rs*a),t.lineTo(Ns*o+Rs*l,Ns*l-Rs*o),t.closePath()}};function vCe(t,e){let n=null,r=cD(i);t=typeof t=="function"?t:Qn(t||dD),e=typeof e=="function"?e:Qn(e===void 0?64:+e);function i(){let a;if(n||(n=a=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(t=typeof a=="function"?a:Qn(a),i):t},i.size=function(a){return arguments.length?(e=typeof a=="function"?a:Qn(+a),i):e},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function Q1(){}function J1(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function UX(t){this._context=t}UX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:J1(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:J1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function bCe(t){return new UX(t)}function FX(t){this._context=t}FX.prototype={areaStart:Q1,areaEnd:Q1,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:J1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function yCe(t){return new FX(t)}function zX(t){this._context=t}zX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:J1(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function _Ce(t){return new zX(t)}function BX(t){this._context=t}BX.prototype={areaStart:Q1,areaEnd:Q1,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function SCe(t){return new BX(t)}function PH(t){return t<0?-1:1}function kH(t,e,n){var r=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),s=(n-t._y1)/(i||r<0&&-0),o=(a*i+s*r)/(r+i);return(PH(a)+PH(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function DH(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function L2(t,e,n){var r=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-r)/3;t._context.bezierCurveTo(r+o,i+o*e,a-o,s-o*n,a,s)}function eS(t){this._context=t}eS.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:L2(this,this._t0,DH(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,L2(this,DH(this,n=kH(this,t,e)),n);break;default:L2(this,this._t0,n=kH(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function HX(t){this._context=new $X(t)}(HX.prototype=Object.create(eS.prototype)).point=function(t,e){eS.prototype.point.call(this,e,t)};function $X(t){this._context=t}$X.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,a){this._context.bezierCurveTo(e,t,r,n,a,i)}};function wCe(t){return new eS(t)}function MCe(t){return new HX(t)}function VX(t){this._context=t}VX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=OH(t),i=OH(e),a=0,s=1;s=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function ACe(t){return new Rw(t,.5)}function TCe(t){return new Rw(t,0)}function CCe(t){return new Rw(t,1)}function lm(t,e){if((s=t.length)>1)for(var n=1,r,i,a=t[e[0]],s,o=a.length;n=0;)n[e]=e;return n}function NCe(t,e){return t[e]}function RCe(t){const e=[];return e.key=t,e}function PCe(){var t=Qn([]),e=ER,n=lm,r=NCe;function i(a){var s=Array.from(t.apply(this,arguments),RCe),o,l=s.length,c=-1,u;for(const f of a)for(o=0,++c;o0){for(var n,r,i=0,a=t[0].length,s;i0){for(var n=0,r=t[e[0]],i,a=r.length;n0)||!((a=(i=t[e[0]]).length)>0))){for(var n=0,r=1,i,a,s;rt===0?0:t>0?1:-1,Ys=t=>typeof t=="number"&&t!=+t,vc=t=>typeof t=="string"&&t.indexOf("%")===t.length-1,At=t=>(typeof t=="number"||t instanceof Number)&&!Ys(t),al=t=>At(t)||typeof t=="string",FCe=0,h0=t=>{var e=++FCe;return"".concat(t||"").concat(e)},sa=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!At(e)&&typeof e!="string")return r;var a;if(vc(e)){if(n==null)return r;var s=e.indexOf("%");a=n*parseFloat(e.slice(0,s))/100}else a=+e;return Ys(a)&&(a=r),i&&n!=null&&a>n&&(a=n),a},WX=t=>{if(!Array.isArray(t))return!1;for(var e=t.length,n={},r=0;rr&&(typeof e=="function"?e(r):Ff(r,e))===n)}var gr=t=>t===null||typeof t>"u",G0=t=>gr(t)?t:"".concat(t.charAt(0).toUpperCase()).concat(t.slice(1));function zCe(t){return t!=null}function W0(){}var BCe=["type","size","sizeType"];function AR(){return AR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var e="symbol".concat(G0(t));return XX[e]||dD},KCe=(t,e,n)=>{if(e==="area")return t;switch(n){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var r=18*qCe;return 1.25*t*t*(Math.tan(r)-Math.tan(r*2)*Math.tan(r)**2)}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},YCe=(t,e)=>{XX["symbol".concat(G0(t))]=e},mD=t=>{var{type:e="circle",size:n=64,sizeType:r="area"}=t,i=GCe(t,BCe),a=$H($H({},i),{},{type:e,size:n,sizeType:r}),s="circle";typeof e=="string"&&(s=e);var o=()=>{var g=XCe(s),m=vCe().type(g).size(KCe(n,r,s)),y=m();if(y!==null)return y},{className:l,cx:c,cy:u}=a,f=Ma(a);return At(c)&&At(u)&&At(n)?E.createElement("path",AR({},f,{className:An("recharts-symbols",l),transform:"translate(".concat(c,", ").concat(u,")"),d:o()})):null};mD.registerSymbol=YCe;var KX=t=>"radius"in t&&"startAngle"in t&&"endAngle"in t,gD=(t,e)=>{if(!t||typeof t=="function"||typeof t=="boolean")return null;var n=t;if(E.isValidElement(t)&&(n=t.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(i=>{oD(i)&&(r[i]=(a=>n[i](n,a)))}),r},ZCe=(t,e,n)=>r=>(t(e,n,r),null),q0=(t,e,n)=>{if(t===null||typeof t!="object"&&typeof t!="function")return null;var r=null;return Object.keys(t).forEach(i=>{var a=t[i];oD(i)&&typeof a=="function"&&(r||(r={}),r[i]=ZCe(a,e,n))}),r};function VH(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function QCe(t){for(var e=1;e(s[o]===void 0&&r[o]!==void 0&&(s[o]=r[o]),s),n);return a}function tS(){return tS=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var g=u.formatter||i,m=An({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:u.inactive});if(u.type==="none")return null;var y=u.inactive?a:u.color,v=g?g(u.value,u,f):u.value;return E.createElement("li",tS({className:m,style:l,key:"legend-item-".concat(f)},q0(t,u,f)),E.createElement(lD,{width:n,height:n,viewBox:o,style:c,"aria-label":"".concat(v," legend icon")},E.createElement(oNe,{data:u,iconType:s,inactiveColor:a})),E.createElement("span",{className:"recharts-legend-item-text",style:{color:y}},v))})}var cNe=t=>{var e=Yr(t,sNe),{payload:n,layout:r,align:i}=e;if(!n||!n.length)return null;var a={padding:0,margin:0,textAlign:r==="horizontal"?i:"left"};return E.createElement("ul",{className:"recharts-default-legend",style:a},E.createElement(lNe,tS({},e,{payload:n})))},$2={},V2={},WH;function uNe(){return WH||(WH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r){const i=new Map;for(let a=0;a=0}t.isLength=e})(X2)),X2}var KH;function xD(){return KH||(KH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=dNe();function n(r){return r!=null&&typeof r!="function"&&e.isLength(r.length)}t.isArrayLike=n})(q2)),q2}var K2={},YH;function fNe(){return YH||(YH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return typeof n=="object"&&n!==null}t.isObjectLike=e})(K2)),K2}var ZH;function hNe(){return ZH||(ZH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=xD(),n=fNe();function r(i){return n.isObjectLike(i)&&e.isArrayLike(i)}t.isArrayLikeObject=r})(W2)),W2}var Y2={},Z2={},QH;function pNe(){return QH||(QH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=pD();function n(r){return function(i){return e.get(i,r)}}t.property=n})(Z2)),Z2}var Q2={},J2={},eC={},tC={},JH;function ZX(){return JH||(JH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n!==null&&(typeof n=="object"||typeof n=="function")}t.isObject=e})(tC)),tC}var nC={},e8;function QX(){return e8||(e8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n==null||typeof n!="object"&&typeof n!="function"}t.isPrimitive=e})(nC)),nC}var rC={},t8;function JX(){return t8||(t8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r){return n===r||Number.isNaN(n)&&Number.isNaN(r)}t.eq=e})(rC)),rC}var n8;function mNe(){return n8||(n8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=ZX(),n=QX(),r=JX();function i(u,f,g){return typeof g!="function"?i(u,f,()=>{}):a(u,f,function m(y,v,b,x,M,w){const A=g(y,v,b,x,M,w);return A!==void 0?!!A:a(y,v,m,w)},new Map)}function a(u,f,g,m){if(f===u)return!0;switch(typeof f){case"object":return s(u,f,g,m);case"function":return Object.keys(f).length>0?a(u,{...f},g,m):r.eq(u,f);default:return e.isObject(u)?typeof f=="string"?f==="":!0:r.eq(u,f)}}function s(u,f,g,m){if(f==null)return!0;if(Array.isArray(f))return l(u,f,g,m);if(f instanceof Map)return o(u,f,g,m);if(f instanceof Set)return c(u,f,g,m);const y=Object.keys(f);if(u==null)return y.length===0;if(y.length===0)return!0;if(m?.has(f))return m.get(f)===u;m?.set(f,u);try{for(let v=0;v{})}t.isMatch=n})(J2)),J2}var iC={},aC={},sC={},i8;function gNe(){return i8||(i8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Object.getOwnPropertySymbols(n).filter(r=>Object.prototype.propertyIsEnumerable.call(n,r))}t.getSymbols=e})(sC)),sC}var oC={},a8;function tK(){return a8||(a8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}t.getTag=e})(oC)),oC}var lC={},s8;function nK(){return s8||(s8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e="[object RegExp]",n="[object String]",r="[object Number]",i="[object Boolean]",a="[object Arguments]",s="[object Symbol]",o="[object Date]",l="[object Map]",c="[object Set]",u="[object Array]",f="[object Function]",g="[object ArrayBuffer]",m="[object Object]",y="[object Error]",v="[object DataView]",b="[object Uint8Array]",x="[object Uint8ClampedArray]",M="[object Uint16Array]",w="[object Uint32Array]",A="[object BigUint64Array]",T="[object Int8Array]",R="[object Int16Array]",N="[object Int32Array]",j="[object BigInt64Array]",C="[object Float32Array]",k="[object Float64Array]";t.argumentsTag=a,t.arrayBufferTag=g,t.arrayTag=u,t.bigInt64ArrayTag=j,t.bigUint64ArrayTag=A,t.booleanTag=i,t.dataViewTag=v,t.dateTag=o,t.errorTag=y,t.float32ArrayTag=C,t.float64ArrayTag=k,t.functionTag=f,t.int16ArrayTag=R,t.int32ArrayTag=N,t.int8ArrayTag=T,t.mapTag=l,t.numberTag=r,t.objectTag=m,t.regexpTag=e,t.setTag=c,t.stringTag=n,t.symbolTag=s,t.uint16ArrayTag=M,t.uint32ArrayTag=w,t.uint8ArrayTag=b,t.uint8ClampedArrayTag=x})(lC)),lC}var cC={},o8;function xNe(){return o8||(o8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}t.isTypedArray=e})(cC)),cC}var l8;function rK(){return l8||(l8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=gNe(),n=tK(),r=nK(),i=QX(),a=xNe();function s(u,f){return o(u,void 0,u,new Map,f)}function o(u,f,g,m=new Map,y=void 0){const v=y?.(u,f,g,m);if(v!==void 0)return v;if(i.isPrimitive(u))return u;if(m.has(u))return m.get(u);if(Array.isArray(u)){const b=new Array(u.length);m.set(u,b);for(let x=0;xe.isMatch(a,i)}t.matches=r})(Q2)),Q2}var uC={},dC={},fC={},d8;function yNe(){return d8||(d8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=rK(),n=nK();function r(i,a){return e.cloneDeepWith(i,(s,o,l,c)=>{const u=a?.(s,o,l,c);if(u!==void 0)return u;if(typeof i=="object")switch(Object.prototype.toString.call(i)){case n.numberTag:case n.stringTag:case n.booleanTag:{const f=new i.constructor(i?.valueOf());return e.copyProperties(f,i),f}case n.argumentsTag:{const f={};return e.copyProperties(f,i),f.length=i.length,f[Symbol.iterator]=i[Symbol.iterator],f}default:return}})}t.cloneDeepWith=r})(fC)),fC}var f8;function _Ne(){return f8||(f8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=yNe();function n(r){return e.cloneDeepWith(r)}t.cloneDeep=n})(dC)),dC}var hC={},pC={},h8;function iK(){return h8||(h8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=/^(?:0|[1-9]\d*)$/;function n(r,i=Number.MAX_SAFE_INTEGER){switch(typeof r){case"number":return Number.isInteger(r)&&r>=0&&rt,er=()=>{var t=E.useContext(vD);return t?t.store.dispatch:NNe},R_=()=>{},RNe=()=>R_,PNe=(t,e)=>t===e;function Tt(t){var e=E.useContext(vD);return Xq.useSyncExternalStoreWithSelector(e?e.subscription.addNestedSub:RNe,e?e.store.getState:R_,e?e.store.getState:R_,e?t:R_,PNe)}function kNe(t,e=`expected a function, instead received ${typeof t}`){if(typeof t!="function")throw new TypeError(e)}function DNe(t,e=`expected an object, instead received ${typeof t}`){if(typeof t!="object")throw new TypeError(e)}function ONe(t,e="expected all items to be functions, instead received the following types: "){if(!t.every(n=>typeof n=="function")){const n=t.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${e}[${n}]`)}}var _8=t=>Array.isArray(t)?t:[t];function LNe(t){const e=Array.isArray(t[0])?t[0]:t;return ONe(e,"createSelector expects all input-selectors to be functions, but received the following types: "),e}function INe(t,e){const n=[],{length:r}=t;for(let i=0;i{n=Gy(),s.resetResultsCount()},s.resultsCount=()=>a,s.resetResultsCount=()=>{a=0},s}function zNe(t,...e){const n=typeof t=="function"?{memoize:t,memoizeOptions:e}:t,r=(...i)=>{let a=0,s=0,o,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),kNe(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const u={...n,...l},{memoize:f,memoizeOptions:g=[],argsMemoize:m=sK,argsMemoizeOptions:y=[]}=u,v=_8(g),b=_8(y),x=LNe(i),M=f(function(){return a++,c.apply(null,arguments)},...v),w=m(function(){s++;const T=INe(x,arguments);return o=M.apply(null,T),o},...b);return Object.assign(w,{resultFunc:c,memoizedResultFunc:M,dependencies:x,dependencyRecomputations:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>o,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:f,argsMemoize:m})};return Object.assign(r,{withTypes:()=>r}),r}var $e=zNe(sK),BNe=Object.assign((t,e=$e)=>{DNe(t,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof t}`);const n=Object.keys(t),r=n.map(a=>t[a]);return e(r,(...a)=>a.reduce((s,o,l)=>(s[n[l]]=o,s),{}))},{withTypes:()=>BNe}),xC={},vC={},bC={},w8;function HNe(){return w8||(w8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(r){return typeof r=="symbol"?1:r===null?2:r===void 0?3:r!==r?4:0}const n=(r,i,a)=>{if(r!==i){const s=e(r),o=e(i);if(s===o&&s===0){if(ri)return a==="desc"?-1:1}return a==="desc"?o-s:s-o}return 0};t.compareValues=n})(bC)),bC}var yC={},_C={},M8;function oK(){return M8||(M8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return typeof n=="symbol"||n instanceof Symbol}t.isSymbol=e})(_C)),_C}var E8;function $Ne(){return E8||(E8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=oK(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(a,s){return Array.isArray(a)?!1:typeof a=="number"||typeof a=="boolean"||a==null||e.isSymbol(a)?!0:typeof a=="string"&&(r.test(a)||!n.test(a))||s!=null&&Object.hasOwn(s,a)}t.isKey=i})(yC)),yC}var A8;function VNe(){return A8||(A8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=HNe(),n=$Ne(),r=hD();function i(a,s,o,l){if(a==null)return[];o=l?void 0:o,Array.isArray(a)||(a=Object.values(a)),Array.isArray(s)||(s=s==null?[null]:[s]),s.length===0&&(s=[null]),Array.isArray(o)||(o=o==null?[]:[o]),o=o.map(m=>String(m));const c=(m,y)=>{let v=m;for(let b=0;by==null||m==null?y:typeof m=="object"&&"key"in m?Object.hasOwn(y,m.key)?y[m.key]:c(y,m.path):typeof m=="function"?m(y):Array.isArray(m)?c(y,m):typeof y=="object"?y[m]:y,f=s.map(m=>(Array.isArray(m)&&m.length===1&&(m=m[0]),m==null||typeof m=="function"||Array.isArray(m)||n.isKey(m)?m:{key:m,path:r.toPath(m)}));return a.map(m=>({original:m,criteria:f.map(y=>u(y,m))})).slice().sort((m,y)=>{for(let v=0;vm.original)}t.orderBy=i})(vC)),vC}var SC={},T8;function GNe(){return T8||(T8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r=1){const i=[],a=Math.floor(r),s=(o,l)=>{for(let c=0;c1&&r.isIterateeCall(a,s[0],s[1])?s=[]:o>2&&r.isIterateeCall(s[0],s[1],s[2])&&(s=[s[0]]),e.orderBy(a,n.flatten(s),["asc"])}t.sortBy=i})(xC)),xC}var MC,R8;function qNe(){return R8||(R8=1,MC=WNe().sortBy),MC}var XNe=qNe();const Pw=Js(XNe);var cK=t=>t.legend.settings,KNe=t=>t.legend.size,YNe=t=>t.legend.payload,ZNe=$e([YNe,cK],(t,e)=>{var{itemSorter:n}=e,r=t.flat(1);return n?Pw(r,n):r});function QNe(){return Tt(ZNe)}var Wy=1;function uK(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],[e,n]=E.useState({height:0,left:0,top:0,width:0}),r=E.useCallback(i=>{if(i!=null){var a=i.getBoundingClientRect(),s={height:a.height,left:a.left,top:a.top,width:a.width};(Math.abs(s.height-e.height)>Wy||Math.abs(s.left-e.left)>Wy||Math.abs(s.top-e.top)>Wy||Math.abs(s.width-e.width)>Wy)&&n({height:s.height,left:s.left,top:s.top,width:s.width})}},[e.width,e.height,e.top,e.left,...t]);return[e,r]}function zi(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var JNe=typeof Symbol=="function"&&Symbol.observable||"@@observable",P8=JNe,EC=()=>Math.random().toString(36).substring(7).split("").join("."),e3e={INIT:`@@redux/INIT${EC()}`,REPLACE:`@@redux/REPLACE${EC()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${EC()}`},nS=e3e;function bD(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e||Object.getPrototypeOf(t)===null}function dK(t,e,n){if(typeof t!="function")throw new Error(zi(2));if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(zi(0));if(typeof e=="function"&&typeof n>"u"&&(n=e,e=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(zi(1));return n(dK)(t,e)}let r=t,i=e,a=new Map,s=a,o=0,l=!1;function c(){s===a&&(s=new Map,a.forEach((b,x)=>{s.set(x,b)}))}function u(){if(l)throw new Error(zi(3));return i}function f(b){if(typeof b!="function")throw new Error(zi(4));if(l)throw new Error(zi(5));let x=!0;c();const M=o++;return s.set(M,b),function(){if(x){if(l)throw new Error(zi(6));x=!1,c(),s.delete(M),a=null}}}function g(b){if(!bD(b))throw new Error(zi(7));if(typeof b.type>"u")throw new Error(zi(8));if(typeof b.type!="string")throw new Error(zi(17));if(l)throw new Error(zi(9));try{l=!0,i=r(i,b)}finally{l=!1}return(a=s).forEach(M=>{M()}),b}function m(b){if(typeof b!="function")throw new Error(zi(10));r=b,g({type:nS.REPLACE})}function y(){const b=f;return{subscribe(x){if(typeof x!="object"||x===null)throw new Error(zi(11));function M(){const A=x;A.next&&A.next(u())}return M(),{unsubscribe:b(M)}},[P8](){return this}}}return g({type:nS.INIT}),{dispatch:g,subscribe:f,getState:u,replaceReducer:m,[P8]:y}}function t3e(t){Object.keys(t).forEach(e=>{const n=t[e];if(typeof n(void 0,{type:nS.INIT})>"u")throw new Error(zi(12));if(typeof n(void 0,{type:nS.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(zi(13))})}function fK(t){const e=Object.keys(t),n={};for(let a=0;a"u")throw o&&o.type,new Error(zi(14));c[f]=y,l=l||y!==m}return l=l||r.length!==Object.keys(s).length,l?c:s}}function rS(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,n)=>(...r)=>e(n(...r)))}function n3e(...t){return e=>(n,r)=>{const i=e(n,r);let a=()=>{throw new Error(zi(15))};const s={getState:i.getState,dispatch:(l,...c)=>a(l,...c)},o=t.map(l=>l(s));return a=rS(...o)(i.dispatch),{...i,dispatch:a}}}function hK(t){return bD(t)&&"type"in t&&typeof t.type=="string"}var pK=Symbol.for("immer-nothing"),k8=Symbol.for("immer-draftable"),Ea=Symbol.for("immer-state");function xo(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var ds=Object,cm=ds.getPrototypeOf,iS="constructor",kw="prototype",TR="configurable",aS="enumerable",P_="writable",p0="value",bc=t=>!!t&&!!t[Ea];function Eo(t){return t?mK(t)||Dw(t)||!!t[k8]||!!t[iS]?.[k8]||Ow(t)||Lw(t):!1}var r3e=ds[kw][iS].toString(),D8=new WeakMap;function mK(t){if(!t||!yD(t))return!1;const e=cm(t);if(e===null||e===ds[kw])return!0;const n=ds.hasOwnProperty.call(e,iS)&&e[iS];if(n===Object)return!0;if(!_p(n))return!1;let r=D8.get(n);return r===void 0&&(r=Function.toString.call(n),D8.set(n,r)),r===r3e}function X0(t,e,n=!0){K0(t)===0?(n?Reflect.ownKeys(t):ds.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function K0(t){const e=t[Ea];return e?e.type_:Dw(t)?1:Ow(t)?2:Lw(t)?3:0}var O8=(t,e,n=K0(t))=>n===2?t.has(e):ds[kw].hasOwnProperty.call(t,e),CR=(t,e,n=K0(t))=>n===2?t.get(e):t[e],sS=(t,e,n,r=K0(t))=>{r===2?t.set(e,n):r===3?t.add(n):t[e]=n};function i3e(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}var Dw=Array.isArray,Ow=t=>t instanceof Map,Lw=t=>t instanceof Set,yD=t=>typeof t=="object",_p=t=>typeof t=="function",AC=t=>typeof t=="boolean",Kl=t=>t.copy_||t.base_,_D=t=>t.modified_?t.copy_:t.base_;function NR(t,e){if(Ow(t))return new Map(t);if(Lw(t))return new Set(t);if(Dw(t))return Array[kw].slice.call(t);const n=mK(t);if(e===!0||e==="class_only"&&!n){const r=ds.getOwnPropertyDescriptors(t);delete r[Ea];let i=Reflect.ownKeys(r);for(let a=0;a1&&ds.defineProperties(t,{set:qy,add:qy,clear:qy,delete:qy}),ds.freeze(t),e&&X0(t,(n,r)=>{SD(r,!0)},!1)),t}function a3e(){xo(2)}var qy={[p0]:a3e};function Iw(t){return t===null||!yD(t)?!0:ds.isFrozen(t)}var oS="MapSet",RR="Patches",gK={};function um(t){const e=gK[t];return e||xo(0,t),e}var s3e=t=>!!gK[t],m0,xK=()=>m0,o3e=(t,e)=>({drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:s3e(oS)?um(oS):void 0});function L8(t,e){e&&(t.patchPlugin_=um(RR),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function PR(t){kR(t),t.drafts_.forEach(l3e),t.drafts_=null}function kR(t){t===m0&&(m0=t.parent_)}var I8=t=>m0=o3e(m0,t);function l3e(t){const e=t[Ea];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function j8(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];if(t!==void 0&&t!==n){n[Ea].modified_&&(PR(e),xo(4)),Eo(t)&&(t=U8(e,t));const{patchPlugin_:i}=e;i&&i.generateReplacementPatches_(n[Ea].base_,t,e)}else t=U8(e,n);return c3e(e,t,!0),PR(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==pK?t:void 0}function U8(t,e){if(Iw(e))return e;const n=e[Ea];if(!n)return wD(e,t.handledSet_,t);if(!jw(n,t))return e;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(t);yK(n,t)}return n.copy_}function c3e(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&SD(e,n)}function vK(t){t.finalized_=!0,t.scope_.unfinalizedDrafts_--}var jw=(t,e)=>t.scope_===e,u3e=[];function bK(t,e,n,r){const i=Kl(t),a=t.type_;if(r!==void 0&&CR(i,r,a)===e){sS(i,r,n,a);return}if(!t.draftLocations_){const o=t.draftLocations_=new Map;X0(i,(l,c)=>{if(bc(c)){const u=o.get(c)||[];u.push(l),o.set(c,u)}})}const s=t.draftLocations_.get(e)??u3e;for(const o of s)sS(i,o,n,a)}function d3e(t,e,n){t.callbacks_.push(function(i){const a=e;if(!a||!jw(a,i))return;i.mapSetPlugin_?.fixSetContents(a);const s=_D(a);bK(t,a.draft_??a,s,n),yK(a,i)})}function yK(t,e){if(t.modified_&&!t.finalized_&&(t.type_===3||(t.assigned_?.size??0)>0)){const{patchPlugin_:r}=e;if(r){const i=r.getPath(t);i&&r.generatePatches_(t,i,e)}vK(t)}}function f3e(t,e,n){const{scope_:r}=t;if(bc(n)){const i=n[Ea];jw(i,r)&&i.callbacks_.push(function(){k_(t);const s=_D(i);bK(t,n,s,e)})}else Eo(n)&&t.callbacks_.push(function(){const a=Kl(t);CR(a,e,t.type_)===n&&r.drafts_.length>1&&(t.assigned_.get(e)??!1)===!0&&t.copy_&&wD(CR(t.copy_,e,t.type_),r.handledSet_,r)})}function wD(t,e,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||bc(t)||e.has(t)||!Eo(t)||Iw(t)||(e.add(t),X0(t,(r,i)=>{if(bc(i)){const a=i[Ea];if(jw(a,n)){const s=_D(a);sS(t,r,s,t.type_),vK(a)}}else Eo(i)&&wD(i,e,n)})),t}function h3e(t,e){const n=Dw(t),r={type_:n?1:0,scope_:e?e.scope_:xK(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,a=MD;n&&(i=[r],a=g0);const{revoke:s,proxy:o}=Proxy.revocable(i,a);return r.draft_=o,r.revoke_=s,[o,r]}var MD={get(t,e){if(e===Ea)return t;const n=Kl(t);if(!O8(n,e,t.type_))return p3e(t,n,e);const r=n[e];if(t.finalized_||!Eo(r))return r;if(r===TC(t.base_,e)){k_(t);const i=t.type_===1?+e:e,a=OR(t.scope_,r,t,i);return t.copy_[i]=a}return r},has(t,e){return e in Kl(t)},ownKeys(t){return Reflect.ownKeys(Kl(t))},set(t,e,n){const r=_K(Kl(t),e);if(r?.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=TC(Kl(t),e),a=i?.[Ea];if(a&&a.base_===n)return t.copy_[e]=n,t.assigned_.set(e,!1),!0;if(i3e(n,i)&&(n!==void 0||O8(t.base_,e,t.type_)))return!0;k_(t),DR(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_.set(e,!0),f3e(t,e,n)),!0},deleteProperty(t,e){return k_(t),TC(t.base_,e)!==void 0||e in t.base_?(t.assigned_.set(e,!1),DR(t)):t.assigned_.delete(e),t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Kl(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{[P_]:!0,[TR]:t.type_!==1||e!=="length",[aS]:r[aS],[p0]:n[e]}},defineProperty(){xo(11)},getPrototypeOf(t){return cm(t.base_)},setPrototypeOf(){xo(12)}},g0={};X0(MD,(t,e)=>{g0[t]=function(){const n=arguments;return n[0]=n[0][0],e.apply(this,n)}});g0.deleteProperty=function(t,e){return g0.set.call(this,t,e,void 0)};g0.set=function(t,e,n){return MD.set.call(this,t[0],e,n,t[0])};function TC(t,e){const n=t[Ea];return(n?Kl(n):t)[e]}function p3e(t,e,n){const r=_K(e,n);return r?p0 in r?r[p0]:r.get?.call(t.draft_):void 0}function _K(t,e){if(!(e in t))return;let n=cm(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=cm(n)}}function DR(t){t.modified_||(t.modified_=!0,t.parent_&&DR(t.parent_))}function k_(t){t.copy_||(t.assigned_=new Map,t.copy_=NR(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var m3e=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,i)=>{if(_p(n)&&!_p(r)){const s=r;r=n;const o=this;return function(c=s,...u){return o.produce(c,f=>r.call(this,f,...u))}}_p(r)||xo(6),i!==void 0&&!_p(i)&&xo(7);let a;if(Eo(n)){const s=I8(this),o=OR(s,n,void 0);let l=!0;try{a=r(o),l=!1}finally{l?PR(s):kR(s)}return L8(s,i),j8(a,s)}else if(!n||!yD(n)){if(a=r(n),a===void 0&&(a=n),a===pK&&(a=void 0),this.autoFreeze_&&SD(a,!0),i){const s=[],o=[];um(RR).generateReplacementPatches_(n,a,{patches_:s,inversePatches_:o}),i(s,o)}return a}else xo(1,n)},this.produceWithPatches=(n,r)=>{if(_p(n))return(o,...l)=>this.produceWithPatches(o,c=>n(c,...l));let i,a;return[this.produce(n,r,(o,l)=>{i=o,a=l}),i,a]},AC(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),AC(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),AC(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Eo(e)||xo(8),bc(e)&&(e=Mo(e));const n=I8(this),r=OR(n,e,void 0);return r[Ea].isManual_=!0,kR(n),r}finishDraft(e,n){const r=e&&e[Ea];(!r||!r.isManual_)&&xo(9);const{scope_:i}=r;return L8(i,n),j8(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,n){let r;for(r=n.length-1;r>=0;r--){const a=n[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(n=n.slice(r+1));const i=um(RR).applyPatches_;return bc(e)?i(e,n):this.produce(e,a=>i(a,n))}};function OR(t,e,n,r){const[i,a]=Ow(e)?um(oS).proxyMap_(e,n):Lw(e)?um(oS).proxySet_(e,n):h3e(e,n);return(n?.scope_??xK()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?d3e(n,a,r):a.callbacks_.push(function(l){l.mapSetPlugin_?.fixSetContents(a);const{patchPlugin_:c}=l;a.modified_&&c&&c.generatePatches_(a,[],l)}),i}function Mo(t){return bc(t)||xo(10,t),SK(t)}function SK(t){if(!Eo(t)||Iw(t))return t;const e=t[Ea];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=NR(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=NR(t,!0);return X0(n,(i,a)=>{sS(n,i,SK(a))},r),e&&(e.finalized_=!1),n}var g3e=new m3e,wK=g3e.produce;function MK(t){return({dispatch:n,getState:r})=>i=>a=>typeof a=="function"?a(n,r,t):i(a)}var x3e=MK(),v3e=MK,b3e=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?rS:rS.apply(null,arguments)};function Zs(t,e){function n(...r){if(e){let i=e(...r);if(!i)throw new Error(ms(0));return{type:t,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:t,payload:r[0]}}return n.toString=()=>`${t}`,n.type=t,n.match=r=>hK(r)&&r.type===t,n}var EK=class hx extends Array{constructor(...e){super(...e),Object.setPrototypeOf(this,hx.prototype)}static get[Symbol.species](){return hx}concat(...e){return super.concat.apply(this,e)}prepend(...e){return e.length===1&&Array.isArray(e[0])?new hx(...e[0].concat(this)):new hx(...e.concat(this))}};function F8(t){return Eo(t)?wK(t,()=>{}):t}function Xy(t,e,n){return t.has(e)?t.get(e):t.set(e,n(e)).get(e)}function y3e(t){return typeof t=="boolean"}var _3e=()=>function(e){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=e??{};let s=new EK;return n&&(y3e(n)?s.push(x3e):s.push(v3e(n.extraArgument))),s},AK="RTK_autoBatch",cr=()=>t=>({payload:t,meta:{[AK]:!0}}),z8=t=>e=>{setTimeout(e,t)},TK=(t={type:"raf"})=>e=>(...n)=>{const r=e(...n);let i=!0,a=!1,s=!1;const o=new Set,l=t.type==="tick"?queueMicrotask:t.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:z8(10):t.type==="callback"?t.queueNotification:z8(t.timeout),c=()=>{s=!1,a&&(a=!1,o.forEach(u=>u()))};return Object.assign({},r,{subscribe(u){const f=()=>i&&u(),g=r.subscribe(f);return o.add(u),()=>{g(),o.delete(u)}},dispatch(u){try{return i=!u?.meta?.[AK],a=!i,a&&(s||(s=!0,l(c))),r.dispatch(u)}finally{i=!0}}})},S3e=t=>function(n){const{autoBatch:r=!0}=n??{};let i=new EK(t);return r&&i.push(TK(typeof r=="object"?r:void 0)),i};function w3e(t){const e=_3e(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:a=void 0,enhancers:s=void 0}=t||{};let o;if(typeof n=="function")o=n;else if(bD(n))o=fK(n);else throw new Error(ms(1));let l;typeof r=="function"?l=r(e):l=e();let c=rS;i&&(c=b3e({trace:!1,...typeof i=="object"&&i}));const u=n3e(...l),f=S3e(u);let g=typeof s=="function"?s(f):f();const m=c(...g);return dK(o,a,m)}function CK(t){const e={},n=[];let r;const i={addCase(a,s){const o=typeof a=="string"?a:a.type;if(!o)throw new Error(ms(28));if(o in e)throw new Error(ms(29));return e[o]=s,i},addAsyncThunk(a,s){return s.pending&&(e[a.pending.type]=s.pending),s.rejected&&(e[a.rejected.type]=s.rejected),s.fulfilled&&(e[a.fulfilled.type]=s.fulfilled),s.settled&&n.push({matcher:a.settled,reducer:s.settled}),i},addMatcher(a,s){return n.push({matcher:a,reducer:s}),i},addDefaultCase(a){return r=a,i}};return t(i),[e,n,r]}function M3e(t){return typeof t=="function"}function E3e(t,e){let[n,r,i]=CK(e),a;if(M3e(t))a=()=>F8(t());else{const o=F8(t);a=()=>o}function s(o=a(),l){let c=[n[l.type],...r.filter(({matcher:u})=>u(l)).map(({reducer:u})=>u)];return c.filter(u=>!!u).length===0&&(c=[i]),c.reduce((u,f)=>{if(f)if(bc(u)){const m=f(u,l);return m===void 0?u:m}else{if(Eo(u))return wK(u,g=>f(g,l));{const g=f(u,l);if(g===void 0){if(u===null)return u;throw Error("A case reducer on a non-draftable value must not return undefined")}return g}}return u},o)}return s.getInitialState=a,s}var A3e="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",T3e=(t=21)=>{let e="",n=t;for(;n--;)e+=A3e[Math.random()*64|0];return e},C3e=Symbol.for("rtk-slice-createasyncthunk");function N3e(t,e){return`${t}/${e}`}function R3e({creators:t}={}){const e=t?.asyncThunk?.[C3e];return function(r){const{name:i,reducerPath:a=i}=r;if(!i)throw new Error(ms(11));const s=(typeof r.reducers=="function"?r.reducers(k3e()):r.reducers)||{},o=Object.keys(s),l={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},c={addCase(w,A){const T=typeof w=="string"?w:w.type;if(!T)throw new Error(ms(12));if(T in l.sliceCaseReducersByType)throw new Error(ms(13));return l.sliceCaseReducersByType[T]=A,c},addMatcher(w,A){return l.sliceMatchers.push({matcher:w,reducer:A}),c},exposeAction(w,A){return l.actionCreators[w]=A,c},exposeCaseReducer(w,A){return l.sliceCaseReducersByName[w]=A,c}};o.forEach(w=>{const A=s[w],T={reducerName:w,type:N3e(i,w),createNotation:typeof r.reducers=="function"};O3e(A)?I3e(T,A,c,e):D3e(T,A,c)});function u(){const[w={},A=[],T=void 0]=typeof r.extraReducers=="function"?CK(r.extraReducers):[r.extraReducers],R={...w,...l.sliceCaseReducersByType};return E3e(r.initialState,N=>{for(let j in R)N.addCase(j,R[j]);for(let j of l.sliceMatchers)N.addMatcher(j.matcher,j.reducer);for(let j of A)N.addMatcher(j.matcher,j.reducer);T&&N.addDefaultCase(T)})}const f=w=>w,g=new Map,m=new WeakMap;let y;function v(w,A){return y||(y=u()),y(w,A)}function b(){return y||(y=u()),y.getInitialState()}function x(w,A=!1){function T(N){let j=N[w];return typeof j>"u"&&A&&(j=Xy(m,T,b)),j}function R(N=f){const j=Xy(g,A,()=>new WeakMap);return Xy(j,N,()=>{const C={};for(const[k,U]of Object.entries(r.selectors??{}))C[k]=P3e(U,N,()=>Xy(m,N,b),A);return C})}return{reducerPath:w,getSelectors:R,get selectors(){return R(T)},selectSlice:T}}const M={name:i,reducer:v,actions:l.actionCreators,caseReducers:l.sliceCaseReducersByName,getInitialState:b,...x(a),injectInto(w,{reducerPath:A,...T}={}){const R=A??a;return w.inject({reducerPath:R,reducer:v},T),{...M,...x(R,!0)}}};return M}}function P3e(t,e,n,r){function i(a,...s){let o=e(a);return typeof o>"u"&&r&&(o=n()),t(o,...s)}return i.unwrapped=t,i}var Ga=R3e();function k3e(){function t(e,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:e,...n}}return t.withTypes=()=>t,{reducer(e){return Object.assign({[e.name](...n){return e(...n)}}[e.name],{_reducerDefinitionType:"reducer"})},preparedReducer(e,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:e,reducer:n}},asyncThunk:t}}function D3e({type:t,reducerName:e,createNotation:n},r,i){let a,s;if("reducer"in r){if(n&&!L3e(r))throw new Error(ms(17));a=r.reducer,s=r.prepare}else a=r;i.addCase(t,a).exposeCaseReducer(e,a).exposeAction(e,s?Zs(t,s):Zs(t))}function O3e(t){return t._reducerDefinitionType==="asyncThunk"}function L3e(t){return t._reducerDefinitionType==="reducerWithPrepare"}function I3e({type:t,reducerName:e},n,r,i){if(!i)throw new Error(ms(18));const{payloadCreator:a,fulfilled:s,pending:o,rejected:l,settled:c,options:u}=n,f=i(t,a,u);r.exposeAction(e,f),s&&r.addCase(f.fulfilled,s),o&&r.addCase(f.pending,o),l&&r.addCase(f.rejected,l),c&&r.addMatcher(f.settled,c),r.exposeCaseReducer(e,{fulfilled:s||Ky,pending:o||Ky,rejected:l||Ky,settled:c||Ky})}function Ky(){}var j3e="task",NK="listener",RK="completed",ED="cancelled",U3e=`task-${ED}`,F3e=`task-${RK}`,LR=`${NK}-${ED}`,z3e=`${NK}-${RK}`,Uw=class{constructor(t){this.code=t,this.message=`${j3e} ${ED} (reason: ${t})`}name="TaskAbortError";message},AD=(t,e)=>{if(typeof t!="function")throw new TypeError(ms(32))},lS=()=>{},PK=(t,e=lS)=>(t.catch(e),t),kK=(t,e)=>(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)),vf=(t,e)=>{const n=t.signal;n.aborted||("reason"in n||Object.defineProperty(n,"reason",{enumerable:!0,value:e,configurable:!0,writable:!0}),t.abort(e))},bf=t=>{if(t.aborted){const{reason:e}=t;throw new Uw(e)}};function DK(t,e){let n=lS;return new Promise((r,i)=>{const a=()=>i(new Uw(t.reason));if(t.aborted){a();return}n=kK(t,a),e.finally(()=>n()).then(r,i)}).finally(()=>{n=lS})}var B3e=async(t,e)=>{try{return await Promise.resolve(),{status:"ok",value:await t()}}catch(n){return{status:n instanceof Uw?"cancelled":"rejected",error:n}}finally{e?.()}},cS=t=>e=>PK(DK(t,e).then(n=>(bf(t),n))),OK=t=>{const e=cS(t);return n=>e(new Promise(r=>setTimeout(r,n)))},{assign:Up}=Object,B8={},Fw="listenerMiddleware",H3e=(t,e)=>{const n=r=>kK(t,()=>vf(r,t.reason));return(r,i)=>{AD(r);const a=new AbortController;n(a);const s=B3e(async()=>{bf(t),bf(a.signal);const o=await r({pause:cS(a.signal),delay:OK(a.signal),signal:a.signal});return bf(a.signal),o},()=>vf(a,F3e));return i?.autoJoin&&e.push(s.catch(lS)),{result:cS(t)(s),cancel(){vf(a,U3e)}}}},$3e=(t,e)=>{const n=async(r,i)=>{bf(e);let a=()=>{};const o=[new Promise((l,c)=>{let u=t({predicate:r,effect:(f,g)=>{g.unsubscribe(),l([f,g.getState(),g.getOriginalState()])}});a=()=>{u(),c()}})];i!=null&&o.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await DK(e,Promise.race(o));return bf(e),l}finally{a()}};return(r,i)=>PK(n(r,i))},LK=t=>{let{type:e,actionCreator:n,matcher:r,predicate:i,effect:a}=t;if(e)i=Zs(e).match;else if(n)e=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(ms(21));return AD(a),{predicate:i,type:e,effect:a}},IK=Up(t=>{const{type:e,predicate:n,effect:r}=LK(t);return{id:T3e(),effect:r,type:e,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(ms(22))}}},{withTypes:()=>IK}),H8=(t,e)=>{const{type:n,effect:r,predicate:i}=LK(e);return Array.from(t.values()).find(a=>(typeof n=="string"?a.type===n:a.predicate===i)&&a.effect===r)},IR=t=>{t.pending.forEach(e=>{vf(e,LR)})},V3e=(t,e)=>()=>{for(const n of e.keys())IR(n);t.clear()},$8=(t,e,n)=>{try{t(e,n)}catch(r){setTimeout(()=>{throw r},0)}},jK=Up(Zs(`${Fw}/add`),{withTypes:()=>jK}),G3e=Zs(`${Fw}/removeAll`),UK=Up(Zs(`${Fw}/remove`),{withTypes:()=>UK}),W3e=(...t)=>{console.error(`${Fw}/error`,...t)},Y0=(t={})=>{const e=new Map,n=new Map,r=m=>{const y=n.get(m)??0;n.set(m,y+1)},i=m=>{const y=n.get(m)??1;y===1?n.delete(m):n.set(m,y-1)},{extra:a,onError:s=W3e}=t;AD(s);const o=m=>(m.unsubscribe=()=>e.delete(m.id),e.set(m.id,m),y=>{m.unsubscribe(),y?.cancelActive&&IR(m)}),l=m=>{const y=H8(e,m)??IK(m);return o(y)};Up(l,{withTypes:()=>l});const c=m=>{const y=H8(e,m);return y&&(y.unsubscribe(),m.cancelActive&&IR(y)),!!y};Up(c,{withTypes:()=>c});const u=async(m,y,v,b)=>{const x=new AbortController,M=$3e(l,x.signal),w=[];try{m.pending.add(x),r(m),await Promise.resolve(m.effect(y,Up({},v,{getOriginalState:b,condition:(A,T)=>M(A,T).then(Boolean),take:M,delay:OK(x.signal),pause:cS(x.signal),extra:a,signal:x.signal,fork:H3e(x.signal,w),unsubscribe:m.unsubscribe,subscribe:()=>{e.set(m.id,m)},cancelActiveListeners:()=>{m.pending.forEach((A,T,R)=>{A!==x&&(vf(A,LR),R.delete(A))})},cancel:()=>{vf(x,LR),m.pending.delete(x)},throwIfCancelled:()=>{bf(x.signal)}})))}catch(A){A instanceof Uw||$8(s,A,{raisedBy:"effect"})}finally{await Promise.all(w),vf(x,z3e),i(m),m.pending.delete(x)}},f=V3e(e,n);return{middleware:m=>y=>v=>{if(!hK(v))return y(v);if(jK.match(v))return l(v.payload);if(G3e.match(v)){f();return}if(UK.match(v))return c(v.payload);let b=m.getState();const x=()=>{if(b===B8)throw new Error(ms(23));return b};let M;try{if(M=y(v),e.size>0){const w=m.getState(),A=Array.from(e.values());for(const T of A){let R=!1;try{R=T.predicate(v,w,b)}catch(N){R=!1,$8(s,N,{raisedBy:"predicate"})}R&&u(T,v,m,x)}}}finally{b=B8}return M},startListening:l,stopListening:c,clearListeners:f}};function ms(t){return`Minified Redux Toolkit error #${t}; visit https://redux-toolkit.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var q3e={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},FK=Ga({name:"chartLayout",initialState:q3e,reducers:{setLayout(t,e){t.layoutType=e.payload},setChartSize(t,e){t.width=e.payload.width,t.height=e.payload.height},setMargin(t,e){var n,r,i,a;t.margin.top=(n=e.payload.top)!==null&&n!==void 0?n:0,t.margin.right=(r=e.payload.right)!==null&&r!==void 0?r:0,t.margin.bottom=(i=e.payload.bottom)!==null&&i!==void 0?i:0,t.margin.left=(a=e.payload.left)!==null&&a!==void 0?a:0},setScale(t,e){t.scale=e.payload}}}),{setMargin:X3e,setLayout:K3e,setChartSize:Y3e,setScale:Z3e}=FK.actions,Q3e=FK.reducer;function zK(t,e,n){return Array.isArray(t)&&t&&e+n!==0?t.slice(e,n+1):t}function V8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Ap(t){for(var e=1;e{if(e&&n){var{width:r,height:i}=n,{align:a,verticalAlign:s,layout:o}=e;if((o==="vertical"||o==="horizontal"&&s==="middle")&&a!=="center"&&At(t[a]))return Ap(Ap({},t),{},{[a]:t[a]+(r||0)});if((o==="horizontal"||o==="vertical"&&a==="center")&&s!=="middle"&&At(t[s]))return Ap(Ap({},t),{},{[s]:t[s]+(i||0)})}return t},Tc=(t,e)=>t==="horizontal"&&e==="xAxis"||t==="vertical"&&e==="yAxis"||t==="centric"&&e==="angleAxis"||t==="radial"&&e==="radiusAxis",BK=(t,e,n,r)=>{if(r)return t.map(o=>o.coordinate);var i,a,s=t.map(o=>(o.coordinate===e&&(i=!0),o.coordinate===n&&(a=!0),o.coordinate));return i||s.push(e),a||s.push(n),s},HK=(t,e,n)=>{if(!t)return null;var{duplicateDomain:r,type:i,range:a,scale:s,realScaleType:o,isCategorical:l,categoricalDomain:c,tickCount:u,ticks:f,niceTicks:g,axisType:m}=t;if(!s)return null;var y=o==="scaleBand"&&s.bandwidth?s.bandwidth()/2:2,v=i==="category"&&s.bandwidth?s.bandwidth()/y:0;if(v=m==="angleAxis"&&a&&a.length>=2?Ti(a[0]-a[1])*2*v:v,f||g){var b=(f||g||[]).map((x,M)=>{var w=r?r.indexOf(x):x;return{coordinate:s(w)+v,value:x,offset:v,index:M}});return b.filter(x=>!Ys(x.coordinate))}return l&&c?c.map((x,M)=>({coordinate:s(x)+v,value:x,index:M,offset:v})):s.ticks&&u!=null?s.ticks(u).map((x,M)=>({coordinate:s(x)+v,value:x,offset:v,index:M})):s.domain().map((x,M)=>({coordinate:s(x)+v,value:r?r[x]:x,index:M,offset:v}))},G8=1e-4,rRe=t=>{var e=t.domain();if(!(!e||e.length<=2)){var n=e.length,r=t.range(),i=Math.min(r[0],r[1])-G8,a=Math.max(r[0],r[1])+G8,s=t(e[0]),o=t(e[n-1]);(sa||oa)&&t.domain([e[0],e[n-1]])}},iRe=(t,e)=>{if(!e||e.length!==2||!At(e[0])||!At(e[1]))return t;var n=Math.min(e[0],e[1]),r=Math.max(e[0],e[1]),i=[t[0],t[1]];return(!At(t[0])||t[0]r)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]{var e=t.length;if(!(e<=0))for(var n=0,r=t[0].length;n=0?(t[s][n][0]=i,t[s][n][1]=i+o,i=t[s][n][1]):(t[s][n][0]=a,t[s][n][1]=a+o,a=t[s][n][1])}},sRe=t=>{var e=t.length;if(!(e<=0))for(var n=0,r=t[0].length;n=0?(t[a][n][0]=i,t[a][n][1]=i+s,i=t[a][n][1]):(t[a][n][0]=0,t[a][n][1]=0)}},oRe={sign:aRe,expand:kCe,none:lm,silhouette:DCe,wiggle:OCe,positive:sRe},lRe=(t,e,n)=>{var r=oRe[n],i=PCe().keys(e).value((a,s)=>Number(Yn(a,s,0))).order(ER).offset(r);return i(t)};function $K(t){return t==null?void 0:String(t)}function W8(t){var{axis:e,ticks:n,bandSize:r,entry:i,index:a,dataKey:s}=t;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!gr(i[e.dataKey])){var o=qX(n,"value",i[e.dataKey]);if(o)return o.coordinate+r/2}return n[a]?n[a].coordinate+r/2:null}var l=Yn(i,gr(s)?e.dataKey:s);return gr(l)?null:e.scale(l)}var q8=t=>{var{axis:e,ticks:n,offset:r,bandSize:i,entry:a,index:s}=t;if(e.type==="category")return n[s]?n[s].coordinate+r:null;var o=Yn(a,e.dataKey,e.scale.domain()[s]);return gr(o)?null:e.scale(o)-i/2+r},cRe=t=>{var{numericAxis:e}=t,n=e.scale.domain();if(e.type==="number"){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},uRe=t=>{var e=t.flat(2).filter(At);return[Math.min(...e),Math.max(...e)]},dRe=t=>[t[0]===1/0?0:t[0],t[1]===-1/0?0:t[1]],fRe=(t,e,n)=>{if(t!=null)return dRe(Object.keys(t).reduce((r,i)=>{var a=t[i],{stackedData:s}=a,o=s.reduce((l,c)=>{var u=zK(c,e,n),f=uRe(u);return[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},X8=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,K8=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,dm=(t,e,n)=>{if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var i=Pw(e,u=>u.coordinate),a=1/0,s=1,o=i.length;s{if(e==="horizontal")return t.chartX;if(e==="vertical")return t.chartY},pRe=(t,e)=>e==="centric"?t.angle:t.radius,Cc=t=>t.layout.width,Nc=t=>t.layout.height,mRe=t=>t.layout.scale,VK=t=>t.layout.margin,zw=$e(t=>t.cartesianAxis.xAxis,t=>Object.values(t)),Bw=$e(t=>t.cartesianAxis.yAxis,t=>Object.values(t)),GK="data-recharts-item-index",WK="data-recharts-item-data-key",Z0=60;function Z8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Yy(t){for(var e=1;et.brush.height;function yRe(t){var e=Bw(t);return e.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Z0;return n+i}return n},0)}function _Re(t){var e=Bw(t);return e.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Z0;return n+i}return n},0)}function SRe(t){var e=zw(t);return e.reduce((n,r)=>r.orientation==="top"&&!r.mirror&&!r.hide?n+r.height:n,0)}function wRe(t){var e=zw(t);return e.reduce((n,r)=>r.orientation==="bottom"&&!r.mirror&&!r.hide?n+r.height:n,0)}var ui=$e([Cc,Nc,VK,bRe,yRe,_Re,SRe,wRe,cK,KNe],(t,e,n,r,i,a,s,o,l,c)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},f={top:(n.top||0)+s,bottom:(n.bottom||0)+o},g=Yy(Yy({},f),u),m=g.bottom;g.bottom+=r,g=nRe(g,l,c);var y=t-g.left-g.right,v=e-g.top-g.bottom;return Yy(Yy({brushBottom:m},g),{},{width:Math.max(y,0),height:Math.max(v,0)})}),MRe=$e(ui,t=>({x:t.left,y:t.top,width:t.width,height:t.height})),TD=$e(Cc,Nc,(t,e)=>({x:0,y:0,width:t,height:e})),ERe=E.createContext(null),ca=()=>E.useContext(ERe)!=null,Hw=t=>t.brush,$w=$e([Hw,ui,VK],(t,e,n)=>({height:t.height,x:At(t.x)?t.x:e.left,y:At(t.y)?t.y:e.top+e.height+e.brushBottom-(n?.bottom||0),width:At(t.width)?t.width:e.width})),CC={},NC={},RC={},Q8;function ARe(){return Q8||(Q8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r,{signal:i,edges:a}={}){let s,o=null;const l=a!=null&&a.includes("leading"),c=a==null||a.includes("trailing"),u=()=>{o!==null&&(n.apply(s,o),s=void 0,o=null)},f=()=>{c&&u(),v()};let g=null;const m=()=>{g!=null&&clearTimeout(g),g=setTimeout(()=>{g=null,f()},r)},y=()=>{g!==null&&(clearTimeout(g),g=null)},v=()=>{y(),s=void 0,o=null},b=()=>{u()},x=function(...M){if(i?.aborted)return;s=this,o=M;const w=g==null;m(),l&&w&&u()};return x.schedule=m,x.cancel=v,x.flush=b,i?.addEventListener("abort",v,{once:!0}),x}t.debounce=e})(RC)),RC}var J8;function TRe(){return J8||(J8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=ARe();function n(r,i=0,a={}){typeof a!="object"&&(a={});const{leading:s=!1,trailing:o=!0,maxWait:l}=a,c=Array(2);s&&(c[0]="leading"),o&&(c[1]="trailing");let u,f=null;const g=e.debounce(function(...v){u=r.apply(this,v),f=null},i,{edges:c}),m=function(...v){return l!=null&&(f===null&&(f=Date.now()),Date.now()-f>=l)?(u=r.apply(this,v),f=Date.now(),g.cancel(),g.schedule(),u):(g.apply(this,v),u)},y=()=>(g.flush(),u);return m.cancel=g.cancel,m.flush=y,m}t.debounce=n})(NC)),NC}var e6;function CRe(){return e6||(e6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=TRe();function n(r,i=0,a={}){const{leading:s=!0,trailing:o=!0}=a;return e.debounce(r,i,{leading:s,maxWait:i,trailing:o})}t.throttle=n})(CC)),CC}var PC,t6;function NRe(){return t6||(t6=1,PC=CRe().throttle),PC}var RRe=NRe();const PRe=Js(RRe);var uS=function(e,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;ai[s++]))}},qK=(t,e,n)=>{var{width:r="100%",height:i="100%",aspect:a,maxHeight:s}=n,o=vc(r)?t:Number(r),l=vc(i)?e:Number(i);return a&&a>0&&(o?l=o/a:l&&(o=l*a),s&&l!=null&&l>s&&(l=s)),{calculatedWidth:o,calculatedHeight:l}},kRe={width:0,height:0,overflow:"visible"},DRe={width:0,overflowX:"visible"},ORe={height:0,overflowY:"visible"},LRe={},IRe=t=>{var{width:e,height:n}=t,r=vc(e),i=vc(n);return r&&i?kRe:r?DRe:i?ORe:LRe};function jRe(t){var{width:e,height:n,aspect:r}=t,i=e,a=n;return i===void 0&&a===void 0?(i="100%",a="100%"):i===void 0?i=r&&r>0?void 0:"100%":a===void 0&&(a=r&&r>0?void 0:"100%"),{width:i,height:a}}function or(t){return Number.isFinite(t)}function sl(t){return typeof t=="number"&&t>0&&Number.isFinite(t)}function jR(){return jR=Object.assign?Object.assign.bind():function(t){for(var e=1;e({width:n,height:r}),[n,r]);return BRe(i)?E.createElement(XK.Provider,{value:i},e):null}var CD=()=>E.useContext(XK),HRe=E.forwardRef((t,e)=>{var{aspect:n,initialDimension:r={width:-1,height:-1},width:i,height:a,minWidth:s=0,minHeight:o,maxHeight:l,children:c,debounce:u=0,id:f,className:g,onResize:m,style:y={}}=t,v=E.useRef(null),b=E.useRef();b.current=m,E.useImperativeHandle(e,()=>v.current);var[x,M]=E.useState({containerWidth:r.width,containerHeight:r.height}),w=E.useCallback((j,C)=>{M(k=>{var U=Math.round(j),I=Math.round(C);return k.containerWidth===U&&k.containerHeight===I?k:{containerWidth:U,containerHeight:I}})},[]);E.useEffect(()=>{if(v.current==null||typeof ResizeObserver>"u")return W0;var j=I=>{var H,{width:O,height:B}=I[0].contentRect;w(O,B),(H=b.current)===null||H===void 0||H.call(b,O,B)};u>0&&(j=PRe(j,u,{trailing:!0,leading:!1}));var C=new ResizeObserver(j),{width:k,height:U}=v.current.getBoundingClientRect();return w(k,U),C.observe(v.current),()=>{C.disconnect()}},[w,u]);var{containerWidth:A,containerHeight:T}=x;uS(!n||n>0,"The aspect(%s) must be greater than zero.",n);var{calculatedWidth:R,calculatedHeight:N}=qK(A,T,{width:i,height:a,aspect:n,maxHeight:l});return uS(R!=null&&R>0||N!=null&&N>0,`The width(%s) and height(%s) of chart should be greater than 0, + A`).concat(a,",").concat(a,",0,1,1,").concat(s,",").concat(i),className:"recharts-legend-icon"});if(l==="rect")return E.createElement("path",{stroke:"none",fill:o,d:"M0,".concat(Ds/8,"h").concat(Ds,"v").concat(Ds*3/4,"h").concat(-Ds,"z"),className:"recharts-legend-icon"});if(E.isValidElement(e.legendIcon)){var u=nNe({},e);return delete u.legendIcon,E.cloneElement(e.legendIcon,u)}return E.createElement(mD,{fill:o,cx:i,cy:i,size:Ds,sizeType:"diameter",type:l})}function lNe(t){var{payload:e,iconSize:n,layout:r,formatter:i,inactiveColor:a,iconType:s}=t,o={x:0,y:0,width:Ds,height:Ds},l={display:r==="horizontal"?"inline-block":"block",marginRight:10},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return e.map((u,f)=>{var g=u.formatter||i,m=An({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:u.inactive});if(u.type==="none")return null;var y=u.inactive?a:u.color,v=g?g(u.value,u,f):u.value;return E.createElement("li",tS({className:m,style:l,key:"legend-item-".concat(f)},q0(t,u,f)),E.createElement(lD,{width:n,height:n,viewBox:o,style:c,"aria-label":"".concat(v," legend icon")},E.createElement(oNe,{data:u,iconType:s,inactiveColor:a})),E.createElement("span",{className:"recharts-legend-item-text",style:{color:y}},v))})}var cNe=t=>{var e=Yr(t,sNe),{payload:n,layout:r,align:i}=e;if(!n||!n.length)return null;var a={padding:0,margin:0,textAlign:r==="horizontal"?i:"left"};return E.createElement("ul",{className:"recharts-default-legend",style:a},E.createElement(lNe,tS({},e,{payload:n})))},$2={},V2={},WH;function uNe(){return WH||(WH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r){const i=new Map;for(let a=0;a=0}t.isLength=e})(X2)),X2}var KH;function xD(){return KH||(KH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=dNe();function n(r){return r!=null&&typeof r!="function"&&e.isLength(r.length)}t.isArrayLike=n})(q2)),q2}var K2={},YH;function fNe(){return YH||(YH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return typeof n=="object"&&n!==null}t.isObjectLike=e})(K2)),K2}var ZH;function hNe(){return ZH||(ZH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=xD(),n=fNe();function r(i){return n.isObjectLike(i)&&e.isArrayLike(i)}t.isArrayLikeObject=r})(W2)),W2}var Y2={},Z2={},QH;function pNe(){return QH||(QH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=pD();function n(r){return function(i){return e.get(i,r)}}t.property=n})(Z2)),Z2}var Q2={},J2={},eC={},tC={},JH;function ZX(){return JH||(JH=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n!==null&&(typeof n=="object"||typeof n=="function")}t.isObject=e})(tC)),tC}var nC={},e8;function QX(){return e8||(e8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n==null||typeof n!="object"&&typeof n!="function"}t.isPrimitive=e})(nC)),nC}var rC={},t8;function JX(){return t8||(t8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r){return n===r||Number.isNaN(n)&&Number.isNaN(r)}t.eq=e})(rC)),rC}var n8;function mNe(){return n8||(n8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=ZX(),n=QX(),r=JX();function i(u,f,g){return typeof g!="function"?i(u,f,()=>{}):a(u,f,function m(y,v,b,x,M,w){const A=g(y,v,b,x,M,w);return A!==void 0?!!A:a(y,v,m,w)},new Map)}function a(u,f,g,m){if(f===u)return!0;switch(typeof f){case"object":return s(u,f,g,m);case"function":return Object.keys(f).length>0?a(u,{...f},g,m):r.eq(u,f);default:return e.isObject(u)?typeof f=="string"?f==="":!0:r.eq(u,f)}}function s(u,f,g,m){if(f==null)return!0;if(Array.isArray(f))return l(u,f,g,m);if(f instanceof Map)return o(u,f,g,m);if(f instanceof Set)return c(u,f,g,m);const y=Object.keys(f);if(u==null)return y.length===0;if(y.length===0)return!0;if(m?.has(f))return m.get(f)===u;m?.set(f,u);try{for(let v=0;v{})}t.isMatch=n})(J2)),J2}var iC={},aC={},sC={},i8;function gNe(){return i8||(i8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Object.getOwnPropertySymbols(n).filter(r=>Object.prototype.propertyIsEnumerable.call(n,r))}t.getSymbols=e})(sC)),sC}var oC={},a8;function tK(){return a8||(a8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n==null?n===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(n)}t.getTag=e})(oC)),oC}var lC={},s8;function nK(){return s8||(s8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e="[object RegExp]",n="[object String]",r="[object Number]",i="[object Boolean]",a="[object Arguments]",s="[object Symbol]",o="[object Date]",l="[object Map]",c="[object Set]",u="[object Array]",f="[object Function]",g="[object ArrayBuffer]",m="[object Object]",y="[object Error]",v="[object DataView]",b="[object Uint8Array]",x="[object Uint8ClampedArray]",M="[object Uint16Array]",w="[object Uint32Array]",A="[object BigUint64Array]",T="[object Int8Array]",R="[object Int16Array]",N="[object Int32Array]",j="[object BigInt64Array]",C="[object Float32Array]",k="[object Float64Array]";t.argumentsTag=a,t.arrayBufferTag=g,t.arrayTag=u,t.bigInt64ArrayTag=j,t.bigUint64ArrayTag=A,t.booleanTag=i,t.dataViewTag=v,t.dateTag=o,t.errorTag=y,t.float32ArrayTag=C,t.float64ArrayTag=k,t.functionTag=f,t.int16ArrayTag=R,t.int32ArrayTag=N,t.int8ArrayTag=T,t.mapTag=l,t.numberTag=r,t.objectTag=m,t.regexpTag=e,t.setTag=c,t.stringTag=n,t.symbolTag=s,t.uint16ArrayTag=M,t.uint32ArrayTag=w,t.uint8ArrayTag=b,t.uint8ClampedArrayTag=x})(lC)),lC}var cC={},o8;function xNe(){return o8||(o8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return ArrayBuffer.isView(n)&&!(n instanceof DataView)}t.isTypedArray=e})(cC)),cC}var l8;function rK(){return l8||(l8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=gNe(),n=tK(),r=nK(),i=QX(),a=xNe();function s(u,f){return o(u,void 0,u,new Map,f)}function o(u,f,g,m=new Map,y=void 0){const v=y?.(u,f,g,m);if(v!==void 0)return v;if(i.isPrimitive(u))return u;if(m.has(u))return m.get(u);if(Array.isArray(u)){const b=new Array(u.length);m.set(u,b);for(let x=0;xe.isMatch(a,i)}t.matches=r})(Q2)),Q2}var uC={},dC={},fC={},d8;function yNe(){return d8||(d8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=rK(),n=nK();function r(i,a){return e.cloneDeepWith(i,(s,o,l,c)=>{const u=a?.(s,o,l,c);if(u!==void 0)return u;if(typeof i=="object")switch(Object.prototype.toString.call(i)){case n.numberTag:case n.stringTag:case n.booleanTag:{const f=new i.constructor(i?.valueOf());return e.copyProperties(f,i),f}case n.argumentsTag:{const f={};return e.copyProperties(f,i),f.length=i.length,f[Symbol.iterator]=i[Symbol.iterator],f}default:return}})}t.cloneDeepWith=r})(fC)),fC}var f8;function _Ne(){return f8||(f8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=yNe();function n(r){return e.cloneDeepWith(r)}t.cloneDeep=n})(dC)),dC}var hC={},pC={},h8;function iK(){return h8||(h8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=/^(?:0|[1-9]\d*)$/;function n(r,i=Number.MAX_SAFE_INTEGER){switch(typeof r){case"number":return Number.isInteger(r)&&r>=0&&rt,er=()=>{var t=E.useContext(vD);return t?t.store.dispatch:NNe},R_=()=>{},RNe=()=>R_,PNe=(t,e)=>t===e;function Tt(t){var e=E.useContext(vD);return Xq.useSyncExternalStoreWithSelector(e?e.subscription.addNestedSub:RNe,e?e.store.getState:R_,e?e.store.getState:R_,e?t:R_,PNe)}function kNe(t,e=`expected a function, instead received ${typeof t}`){if(typeof t!="function")throw new TypeError(e)}function DNe(t,e=`expected an object, instead received ${typeof t}`){if(typeof t!="object")throw new TypeError(e)}function ONe(t,e="expected all items to be functions, instead received the following types: "){if(!t.every(n=>typeof n=="function")){const n=t.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${e}[${n}]`)}}var _8=t=>Array.isArray(t)?t:[t];function LNe(t){const e=Array.isArray(t[0])?t[0]:t;return ONe(e,"createSelector expects all input-selectors to be functions, but received the following types: "),e}function INe(t,e){const n=[],{length:r}=t;for(let i=0;i{n=Gy(),s.resetResultsCount()},s.resultsCount=()=>a,s.resetResultsCount=()=>{a=0},s}function zNe(t,...e){const n=typeof t=="function"?{memoize:t,memoizeOptions:e}:t,r=(...i)=>{let a=0,s=0,o,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),kNe(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const u={...n,...l},{memoize:f,memoizeOptions:g=[],argsMemoize:m=sK,argsMemoizeOptions:y=[]}=u,v=_8(g),b=_8(y),x=LNe(i),M=f(function(){return a++,c.apply(null,arguments)},...v),w=m(function(){s++;const T=INe(x,arguments);return o=M.apply(null,T),o},...b);return Object.assign(w,{resultFunc:c,memoizedResultFunc:M,dependencies:x,dependencyRecomputations:()=>s,resetDependencyRecomputations:()=>{s=0},lastResult:()=>o,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:f,argsMemoize:m})};return Object.assign(r,{withTypes:()=>r}),r}var $e=zNe(sK),BNe=Object.assign((t,e=$e)=>{DNe(t,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof t}`);const n=Object.keys(t),r=n.map(a=>t[a]);return e(r,(...a)=>a.reduce((s,o,l)=>(s[n[l]]=o,s),{}))},{withTypes:()=>BNe}),xC={},vC={},bC={},w8;function HNe(){return w8||(w8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(r){return typeof r=="symbol"?1:r===null?2:r===void 0?3:r!==r?4:0}const n=(r,i,a)=>{if(r!==i){const s=e(r),o=e(i);if(s===o&&s===0){if(ri)return a==="desc"?-1:1}return a==="desc"?o-s:s-o}return 0};t.compareValues=n})(bC)),bC}var yC={},_C={},M8;function oK(){return M8||(M8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return typeof n=="symbol"||n instanceof Symbol}t.isSymbol=e})(_C)),_C}var E8;function $Ne(){return E8||(E8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=oK(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function i(a,s){return Array.isArray(a)?!1:typeof a=="number"||typeof a=="boolean"||a==null||e.isSymbol(a)?!0:typeof a=="string"&&(r.test(a)||!n.test(a))||s!=null&&Object.hasOwn(s,a)}t.isKey=i})(yC)),yC}var A8;function VNe(){return A8||(A8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=HNe(),n=$Ne(),r=hD();function i(a,s,o,l){if(a==null)return[];o=l?void 0:o,Array.isArray(a)||(a=Object.values(a)),Array.isArray(s)||(s=s==null?[null]:[s]),s.length===0&&(s=[null]),Array.isArray(o)||(o=o==null?[]:[o]),o=o.map(m=>String(m));const c=(m,y)=>{let v=m;for(let b=0;by==null||m==null?y:typeof m=="object"&&"key"in m?Object.hasOwn(y,m.key)?y[m.key]:c(y,m.path):typeof m=="function"?m(y):Array.isArray(m)?c(y,m):typeof y=="object"?y[m]:y,f=s.map(m=>(Array.isArray(m)&&m.length===1&&(m=m[0]),m==null||typeof m=="function"||Array.isArray(m)||n.isKey(m)?m:{key:m,path:r.toPath(m)}));return a.map(m=>({original:m,criteria:f.map(y=>u(y,m))})).slice().sort((m,y)=>{for(let v=0;vm.original)}t.orderBy=i})(vC)),vC}var SC={},T8;function GNe(){return T8||(T8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r=1){const i=[],a=Math.floor(r),s=(o,l)=>{for(let c=0;c1&&r.isIterateeCall(a,s[0],s[1])?s=[]:o>2&&r.isIterateeCall(s[0],s[1],s[2])&&(s=[s[0]]),e.orderBy(a,n.flatten(s),["asc"])}t.sortBy=i})(xC)),xC}var MC,R8;function qNe(){return R8||(R8=1,MC=WNe().sortBy),MC}var XNe=qNe();const Pw=Js(XNe);var cK=t=>t.legend.settings,KNe=t=>t.legend.size,YNe=t=>t.legend.payload,ZNe=$e([YNe,cK],(t,e)=>{var{itemSorter:n}=e,r=t.flat(1);return n?Pw(r,n):r});function QNe(){return Tt(ZNe)}var Wy=1;function uK(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],[e,n]=E.useState({height:0,left:0,top:0,width:0}),r=E.useCallback(i=>{if(i!=null){var a=i.getBoundingClientRect(),s={height:a.height,left:a.left,top:a.top,width:a.width};(Math.abs(s.height-e.height)>Wy||Math.abs(s.left-e.left)>Wy||Math.abs(s.top-e.top)>Wy||Math.abs(s.width-e.width)>Wy)&&n({height:s.height,left:s.left,top:s.top,width:s.width})}},[e.width,e.height,e.top,e.left,...t]);return[e,r]}function zi(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var JNe=typeof Symbol=="function"&&Symbol.observable||"@@observable",P8=JNe,EC=()=>Math.random().toString(36).substring(7).split("").join("."),e3e={INIT:`@@redux/INIT${EC()}`,REPLACE:`@@redux/REPLACE${EC()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${EC()}`},nS=e3e;function bD(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e||Object.getPrototypeOf(t)===null}function dK(t,e,n){if(typeof t!="function")throw new Error(zi(2));if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(zi(0));if(typeof e=="function"&&typeof n>"u"&&(n=e,e=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(zi(1));return n(dK)(t,e)}let r=t,i=e,a=new Map,s=a,o=0,l=!1;function c(){s===a&&(s=new Map,a.forEach((b,x)=>{s.set(x,b)}))}function u(){if(l)throw new Error(zi(3));return i}function f(b){if(typeof b!="function")throw new Error(zi(4));if(l)throw new Error(zi(5));let x=!0;c();const M=o++;return s.set(M,b),function(){if(x){if(l)throw new Error(zi(6));x=!1,c(),s.delete(M),a=null}}}function g(b){if(!bD(b))throw new Error(zi(7));if(typeof b.type>"u")throw new Error(zi(8));if(typeof b.type!="string")throw new Error(zi(17));if(l)throw new Error(zi(9));try{l=!0,i=r(i,b)}finally{l=!1}return(a=s).forEach(M=>{M()}),b}function m(b){if(typeof b!="function")throw new Error(zi(10));r=b,g({type:nS.REPLACE})}function y(){const b=f;return{subscribe(x){if(typeof x!="object"||x===null)throw new Error(zi(11));function M(){const A=x;A.next&&A.next(u())}return M(),{unsubscribe:b(M)}},[P8](){return this}}}return g({type:nS.INIT}),{dispatch:g,subscribe:f,getState:u,replaceReducer:m,[P8]:y}}function t3e(t){Object.keys(t).forEach(e=>{const n=t[e];if(typeof n(void 0,{type:nS.INIT})>"u")throw new Error(zi(12));if(typeof n(void 0,{type:nS.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(zi(13))})}function fK(t){const e=Object.keys(t),n={};for(let a=0;a"u")throw o&&o.type,new Error(zi(14));c[f]=y,l=l||y!==m}return l=l||r.length!==Object.keys(s).length,l?c:s}}function rS(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,n)=>(...r)=>e(n(...r)))}function n3e(...t){return e=>(n,r)=>{const i=e(n,r);let a=()=>{throw new Error(zi(15))};const s={getState:i.getState,dispatch:(l,...c)=>a(l,...c)},o=t.map(l=>l(s));return a=rS(...o)(i.dispatch),{...i,dispatch:a}}}function hK(t){return bD(t)&&"type"in t&&typeof t.type=="string"}var pK=Symbol.for("immer-nothing"),k8=Symbol.for("immer-draftable"),Ea=Symbol.for("immer-state");function xo(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var ds=Object,cm=ds.getPrototypeOf,iS="constructor",kw="prototype",TR="configurable",aS="enumerable",P_="writable",p0="value",bc=t=>!!t&&!!t[Ea];function Eo(t){return t?mK(t)||Dw(t)||!!t[k8]||!!t[iS]?.[k8]||Ow(t)||Lw(t):!1}var r3e=ds[kw][iS].toString(),D8=new WeakMap;function mK(t){if(!t||!yD(t))return!1;const e=cm(t);if(e===null||e===ds[kw])return!0;const n=ds.hasOwnProperty.call(e,iS)&&e[iS];if(n===Object)return!0;if(!_p(n))return!1;let r=D8.get(n);return r===void 0&&(r=Function.toString.call(n),D8.set(n,r)),r===r3e}function X0(t,e,n=!0){K0(t)===0?(n?Reflect.ownKeys(t):ds.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function K0(t){const e=t[Ea];return e?e.type_:Dw(t)?1:Ow(t)?2:Lw(t)?3:0}var O8=(t,e,n=K0(t))=>n===2?t.has(e):ds[kw].hasOwnProperty.call(t,e),CR=(t,e,n=K0(t))=>n===2?t.get(e):t[e],sS=(t,e,n,r=K0(t))=>{r===2?t.set(e,n):r===3?t.add(n):t[e]=n};function i3e(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}var Dw=Array.isArray,Ow=t=>t instanceof Map,Lw=t=>t instanceof Set,yD=t=>typeof t=="object",_p=t=>typeof t=="function",AC=t=>typeof t=="boolean",Kl=t=>t.copy_||t.base_,_D=t=>t.modified_?t.copy_:t.base_;function NR(t,e){if(Ow(t))return new Map(t);if(Lw(t))return new Set(t);if(Dw(t))return Array[kw].slice.call(t);const n=mK(t);if(e===!0||e==="class_only"&&!n){const r=ds.getOwnPropertyDescriptors(t);delete r[Ea];let i=Reflect.ownKeys(r);for(let a=0;a1&&ds.defineProperties(t,{set:qy,add:qy,clear:qy,delete:qy}),ds.freeze(t),e&&X0(t,(n,r)=>{SD(r,!0)},!1)),t}function a3e(){xo(2)}var qy={[p0]:a3e};function Iw(t){return t===null||!yD(t)?!0:ds.isFrozen(t)}var oS="MapSet",RR="Patches",gK={};function um(t){const e=gK[t];return e||xo(0,t),e}var s3e=t=>!!gK[t],m0,xK=()=>m0,o3e=(t,e)=>({drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:s3e(oS)?um(oS):void 0});function L8(t,e){e&&(t.patchPlugin_=um(RR),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function PR(t){kR(t),t.drafts_.forEach(l3e),t.drafts_=null}function kR(t){t===m0&&(m0=t.parent_)}var I8=t=>m0=o3e(m0,t);function l3e(t){const e=t[Ea];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function j8(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];if(t!==void 0&&t!==n){n[Ea].modified_&&(PR(e),xo(4)),Eo(t)&&(t=U8(e,t));const{patchPlugin_:i}=e;i&&i.generateReplacementPatches_(n[Ea].base_,t,e)}else t=U8(e,n);return c3e(e,t,!0),PR(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==pK?t:void 0}function U8(t,e){if(Iw(e))return e;const n=e[Ea];if(!n)return wD(e,t.handledSet_,t);if(!jw(n,t))return e;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(t);yK(n,t)}return n.copy_}function c3e(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&SD(e,n)}function vK(t){t.finalized_=!0,t.scope_.unfinalizedDrafts_--}var jw=(t,e)=>t.scope_===e,u3e=[];function bK(t,e,n,r){const i=Kl(t),a=t.type_;if(r!==void 0&&CR(i,r,a)===e){sS(i,r,n,a);return}if(!t.draftLocations_){const o=t.draftLocations_=new Map;X0(i,(l,c)=>{if(bc(c)){const u=o.get(c)||[];u.push(l),o.set(c,u)}})}const s=t.draftLocations_.get(e)??u3e;for(const o of s)sS(i,o,n,a)}function d3e(t,e,n){t.callbacks_.push(function(i){const a=e;if(!a||!jw(a,i))return;i.mapSetPlugin_?.fixSetContents(a);const s=_D(a);bK(t,a.draft_??a,s,n),yK(a,i)})}function yK(t,e){if(t.modified_&&!t.finalized_&&(t.type_===3||(t.assigned_?.size??0)>0)){const{patchPlugin_:r}=e;if(r){const i=r.getPath(t);i&&r.generatePatches_(t,i,e)}vK(t)}}function f3e(t,e,n){const{scope_:r}=t;if(bc(n)){const i=n[Ea];jw(i,r)&&i.callbacks_.push(function(){k_(t);const s=_D(i);bK(t,n,s,e)})}else Eo(n)&&t.callbacks_.push(function(){const a=Kl(t);CR(a,e,t.type_)===n&&r.drafts_.length>1&&(t.assigned_.get(e)??!1)===!0&&t.copy_&&wD(CR(t.copy_,e,t.type_),r.handledSet_,r)})}function wD(t,e,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||bc(t)||e.has(t)||!Eo(t)||Iw(t)||(e.add(t),X0(t,(r,i)=>{if(bc(i)){const a=i[Ea];if(jw(a,n)){const s=_D(a);sS(t,r,s,t.type_),vK(a)}}else Eo(i)&&wD(i,e,n)})),t}function h3e(t,e){const n=Dw(t),r={type_:n?1:0,scope_:e?e.scope_:xK(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,a=MD;n&&(i=[r],a=g0);const{revoke:s,proxy:o}=Proxy.revocable(i,a);return r.draft_=o,r.revoke_=s,[o,r]}var MD={get(t,e){if(e===Ea)return t;const n=Kl(t);if(!O8(n,e,t.type_))return p3e(t,n,e);const r=n[e];if(t.finalized_||!Eo(r))return r;if(r===TC(t.base_,e)){k_(t);const i=t.type_===1?+e:e,a=OR(t.scope_,r,t,i);return t.copy_[i]=a}return r},has(t,e){return e in Kl(t)},ownKeys(t){return Reflect.ownKeys(Kl(t))},set(t,e,n){const r=_K(Kl(t),e);if(r?.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=TC(Kl(t),e),a=i?.[Ea];if(a&&a.base_===n)return t.copy_[e]=n,t.assigned_.set(e,!1),!0;if(i3e(n,i)&&(n!==void 0||O8(t.base_,e,t.type_)))return!0;k_(t),DR(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_.set(e,!0),f3e(t,e,n)),!0},deleteProperty(t,e){return k_(t),TC(t.base_,e)!==void 0||e in t.base_?(t.assigned_.set(e,!1),DR(t)):t.assigned_.delete(e),t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Kl(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{[P_]:!0,[TR]:t.type_!==1||e!=="length",[aS]:r[aS],[p0]:n[e]}},defineProperty(){xo(11)},getPrototypeOf(t){return cm(t.base_)},setPrototypeOf(){xo(12)}},g0={};X0(MD,(t,e)=>{g0[t]=function(){const n=arguments;return n[0]=n[0][0],e.apply(this,n)}});g0.deleteProperty=function(t,e){return g0.set.call(this,t,e,void 0)};g0.set=function(t,e,n){return MD.set.call(this,t[0],e,n,t[0])};function TC(t,e){const n=t[Ea];return(n?Kl(n):t)[e]}function p3e(t,e,n){const r=_K(e,n);return r?p0 in r?r[p0]:r.get?.call(t.draft_):void 0}function _K(t,e){if(!(e in t))return;let n=cm(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=cm(n)}}function DR(t){t.modified_||(t.modified_=!0,t.parent_&&DR(t.parent_))}function k_(t){t.copy_||(t.assigned_=new Map,t.copy_=NR(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var m3e=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,i)=>{if(_p(n)&&!_p(r)){const s=r;r=n;const o=this;return function(c=s,...u){return o.produce(c,f=>r.call(this,f,...u))}}_p(r)||xo(6),i!==void 0&&!_p(i)&&xo(7);let a;if(Eo(n)){const s=I8(this),o=OR(s,n,void 0);let l=!0;try{a=r(o),l=!1}finally{l?PR(s):kR(s)}return L8(s,i),j8(a,s)}else if(!n||!yD(n)){if(a=r(n),a===void 0&&(a=n),a===pK&&(a=void 0),this.autoFreeze_&&SD(a,!0),i){const s=[],o=[];um(RR).generateReplacementPatches_(n,a,{patches_:s,inversePatches_:o}),i(s,o)}return a}else xo(1,n)},this.produceWithPatches=(n,r)=>{if(_p(n))return(o,...l)=>this.produceWithPatches(o,c=>n(c,...l));let i,a;return[this.produce(n,r,(o,l)=>{i=o,a=l}),i,a]},AC(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),AC(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),AC(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Eo(e)||xo(8),bc(e)&&(e=Mo(e));const n=I8(this),r=OR(n,e,void 0);return r[Ea].isManual_=!0,kR(n),r}finishDraft(e,n){const r=e&&e[Ea];(!r||!r.isManual_)&&xo(9);const{scope_:i}=r;return L8(i,n),j8(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,n){let r;for(r=n.length-1;r>=0;r--){const a=n[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(n=n.slice(r+1));const i=um(RR).applyPatches_;return bc(e)?i(e,n):this.produce(e,a=>i(a,n))}};function OR(t,e,n,r){const[i,a]=Ow(e)?um(oS).proxyMap_(e,n):Lw(e)?um(oS).proxySet_(e,n):h3e(e,n);return(n?.scope_??xK()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?d3e(n,a,r):a.callbacks_.push(function(l){l.mapSetPlugin_?.fixSetContents(a);const{patchPlugin_:c}=l;a.modified_&&c&&c.generatePatches_(a,[],l)}),i}function Mo(t){return bc(t)||xo(10,t),SK(t)}function SK(t){if(!Eo(t)||Iw(t))return t;const e=t[Ea];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=NR(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=NR(t,!0);return X0(n,(i,a)=>{sS(n,i,SK(a))},r),e&&(e.finalized_=!1),n}var g3e=new m3e,wK=g3e.produce;function MK(t){return({dispatch:n,getState:r})=>i=>a=>typeof a=="function"?a(n,r,t):i(a)}var x3e=MK(),v3e=MK,b3e=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?rS:rS.apply(null,arguments)};function Zs(t,e){function n(...r){if(e){let i=e(...r);if(!i)throw new Error(ms(0));return{type:t,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:t,payload:r[0]}}return n.toString=()=>`${t}`,n.type=t,n.match=r=>hK(r)&&r.type===t,n}var EK=class hx extends Array{constructor(...e){super(...e),Object.setPrototypeOf(this,hx.prototype)}static get[Symbol.species](){return hx}concat(...e){return super.concat.apply(this,e)}prepend(...e){return e.length===1&&Array.isArray(e[0])?new hx(...e[0].concat(this)):new hx(...e.concat(this))}};function F8(t){return Eo(t)?wK(t,()=>{}):t}function Xy(t,e,n){return t.has(e)?t.get(e):t.set(e,n(e)).get(e)}function y3e(t){return typeof t=="boolean"}var _3e=()=>function(e){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:a=!0}=e??{};let s=new EK;return n&&(y3e(n)?s.push(x3e):s.push(v3e(n.extraArgument))),s},AK="RTK_autoBatch",cr=()=>t=>({payload:t,meta:{[AK]:!0}}),z8=t=>e=>{setTimeout(e,t)},TK=(t={type:"raf"})=>e=>(...n)=>{const r=e(...n);let i=!0,a=!1,s=!1;const o=new Set,l=t.type==="tick"?queueMicrotask:t.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame:z8(10):t.type==="callback"?t.queueNotification:z8(t.timeout),c=()=>{s=!1,a&&(a=!1,o.forEach(u=>u()))};return Object.assign({},r,{subscribe(u){const f=()=>i&&u(),g=r.subscribe(f);return o.add(u),()=>{g(),o.delete(u)}},dispatch(u){try{return i=!u?.meta?.[AK],a=!i,a&&(s||(s=!0,l(c))),r.dispatch(u)}finally{i=!0}}})},S3e=t=>function(n){const{autoBatch:r=!0}=n??{};let i=new EK(t);return r&&i.push(TK(typeof r=="object"?r:void 0)),i};function w3e(t){const e=_3e(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:a=void 0,enhancers:s=void 0}=t||{};let o;if(typeof n=="function")o=n;else if(bD(n))o=fK(n);else throw new Error(ms(1));let l;typeof r=="function"?l=r(e):l=e();let c=rS;i&&(c=b3e({trace:!1,...typeof i=="object"&&i}));const u=n3e(...l),f=S3e(u);let g=typeof s=="function"?s(f):f();const m=c(...g);return dK(o,a,m)}function CK(t){const e={},n=[];let r;const i={addCase(a,s){const o=typeof a=="string"?a:a.type;if(!o)throw new Error(ms(28));if(o in e)throw new Error(ms(29));return e[o]=s,i},addAsyncThunk(a,s){return s.pending&&(e[a.pending.type]=s.pending),s.rejected&&(e[a.rejected.type]=s.rejected),s.fulfilled&&(e[a.fulfilled.type]=s.fulfilled),s.settled&&n.push({matcher:a.settled,reducer:s.settled}),i},addMatcher(a,s){return n.push({matcher:a,reducer:s}),i},addDefaultCase(a){return r=a,i}};return t(i),[e,n,r]}function M3e(t){return typeof t=="function"}function E3e(t,e){let[n,r,i]=CK(e),a;if(M3e(t))a=()=>F8(t());else{const o=F8(t);a=()=>o}function s(o=a(),l){let c=[n[l.type],...r.filter(({matcher:u})=>u(l)).map(({reducer:u})=>u)];return c.filter(u=>!!u).length===0&&(c=[i]),c.reduce((u,f)=>{if(f)if(bc(u)){const m=f(u,l);return m===void 0?u:m}else{if(Eo(u))return wK(u,g=>f(g,l));{const g=f(u,l);if(g===void 0){if(u===null)return u;throw Error("A case reducer on a non-draftable value must not return undefined")}return g}}return u},o)}return s.getInitialState=a,s}var A3e="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",T3e=(t=21)=>{let e="",n=t;for(;n--;)e+=A3e[Math.random()*64|0];return e},C3e=Symbol.for("rtk-slice-createasyncthunk");function N3e(t,e){return`${t}/${e}`}function R3e({creators:t}={}){const e=t?.asyncThunk?.[C3e];return function(r){const{name:i,reducerPath:a=i}=r;if(!i)throw new Error(ms(11));const s=(typeof r.reducers=="function"?r.reducers(k3e()):r.reducers)||{},o=Object.keys(s),l={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},c={addCase(w,A){const T=typeof w=="string"?w:w.type;if(!T)throw new Error(ms(12));if(T in l.sliceCaseReducersByType)throw new Error(ms(13));return l.sliceCaseReducersByType[T]=A,c},addMatcher(w,A){return l.sliceMatchers.push({matcher:w,reducer:A}),c},exposeAction(w,A){return l.actionCreators[w]=A,c},exposeCaseReducer(w,A){return l.sliceCaseReducersByName[w]=A,c}};o.forEach(w=>{const A=s[w],T={reducerName:w,type:N3e(i,w),createNotation:typeof r.reducers=="function"};O3e(A)?I3e(T,A,c,e):D3e(T,A,c)});function u(){const[w={},A=[],T=void 0]=typeof r.extraReducers=="function"?CK(r.extraReducers):[r.extraReducers],R={...w,...l.sliceCaseReducersByType};return E3e(r.initialState,N=>{for(let j in R)N.addCase(j,R[j]);for(let j of l.sliceMatchers)N.addMatcher(j.matcher,j.reducer);for(let j of A)N.addMatcher(j.matcher,j.reducer);T&&N.addDefaultCase(T)})}const f=w=>w,g=new Map,m=new WeakMap;let y;function v(w,A){return y||(y=u()),y(w,A)}function b(){return y||(y=u()),y.getInitialState()}function x(w,A=!1){function T(N){let j=N[w];return typeof j>"u"&&A&&(j=Xy(m,T,b)),j}function R(N=f){const j=Xy(g,A,()=>new WeakMap);return Xy(j,N,()=>{const C={};for(const[k,F]of Object.entries(r.selectors??{}))C[k]=P3e(F,N,()=>Xy(m,N,b),A);return C})}return{reducerPath:w,getSelectors:R,get selectors(){return R(T)},selectSlice:T}}const M={name:i,reducer:v,actions:l.actionCreators,caseReducers:l.sliceCaseReducersByName,getInitialState:b,...x(a),injectInto(w,{reducerPath:A,...T}={}){const R=A??a;return w.inject({reducerPath:R,reducer:v},T),{...M,...x(R,!0)}}};return M}}function P3e(t,e,n,r){function i(a,...s){let o=e(a);return typeof o>"u"&&r&&(o=n()),t(o,...s)}return i.unwrapped=t,i}var Ga=R3e();function k3e(){function t(e,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:e,...n}}return t.withTypes=()=>t,{reducer(e){return Object.assign({[e.name](...n){return e(...n)}}[e.name],{_reducerDefinitionType:"reducer"})},preparedReducer(e,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:e,reducer:n}},asyncThunk:t}}function D3e({type:t,reducerName:e,createNotation:n},r,i){let a,s;if("reducer"in r){if(n&&!L3e(r))throw new Error(ms(17));a=r.reducer,s=r.prepare}else a=r;i.addCase(t,a).exposeCaseReducer(e,a).exposeAction(e,s?Zs(t,s):Zs(t))}function O3e(t){return t._reducerDefinitionType==="asyncThunk"}function L3e(t){return t._reducerDefinitionType==="reducerWithPrepare"}function I3e({type:t,reducerName:e},n,r,i){if(!i)throw new Error(ms(18));const{payloadCreator:a,fulfilled:s,pending:o,rejected:l,settled:c,options:u}=n,f=i(t,a,u);r.exposeAction(e,f),s&&r.addCase(f.fulfilled,s),o&&r.addCase(f.pending,o),l&&r.addCase(f.rejected,l),c&&r.addMatcher(f.settled,c),r.exposeCaseReducer(e,{fulfilled:s||Ky,pending:o||Ky,rejected:l||Ky,settled:c||Ky})}function Ky(){}var j3e="task",NK="listener",RK="completed",ED="cancelled",U3e=`task-${ED}`,F3e=`task-${RK}`,LR=`${NK}-${ED}`,z3e=`${NK}-${RK}`,Uw=class{constructor(t){this.code=t,this.message=`${j3e} ${ED} (reason: ${t})`}name="TaskAbortError";message},AD=(t,e)=>{if(typeof t!="function")throw new TypeError(ms(32))},lS=()=>{},PK=(t,e=lS)=>(t.catch(e),t),kK=(t,e)=>(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)),vf=(t,e)=>{const n=t.signal;n.aborted||("reason"in n||Object.defineProperty(n,"reason",{enumerable:!0,value:e,configurable:!0,writable:!0}),t.abort(e))},bf=t=>{if(t.aborted){const{reason:e}=t;throw new Uw(e)}};function DK(t,e){let n=lS;return new Promise((r,i)=>{const a=()=>i(new Uw(t.reason));if(t.aborted){a();return}n=kK(t,a),e.finally(()=>n()).then(r,i)}).finally(()=>{n=lS})}var B3e=async(t,e)=>{try{return await Promise.resolve(),{status:"ok",value:await t()}}catch(n){return{status:n instanceof Uw?"cancelled":"rejected",error:n}}finally{e?.()}},cS=t=>e=>PK(DK(t,e).then(n=>(bf(t),n))),OK=t=>{const e=cS(t);return n=>e(new Promise(r=>setTimeout(r,n)))},{assign:Up}=Object,B8={},Fw="listenerMiddleware",H3e=(t,e)=>{const n=r=>kK(t,()=>vf(r,t.reason));return(r,i)=>{AD(r);const a=new AbortController;n(a);const s=B3e(async()=>{bf(t),bf(a.signal);const o=await r({pause:cS(a.signal),delay:OK(a.signal),signal:a.signal});return bf(a.signal),o},()=>vf(a,F3e));return i?.autoJoin&&e.push(s.catch(lS)),{result:cS(t)(s),cancel(){vf(a,U3e)}}}},$3e=(t,e)=>{const n=async(r,i)=>{bf(e);let a=()=>{};const o=[new Promise((l,c)=>{let u=t({predicate:r,effect:(f,g)=>{g.unsubscribe(),l([f,g.getState(),g.getOriginalState()])}});a=()=>{u(),c()}})];i!=null&&o.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await DK(e,Promise.race(o));return bf(e),l}finally{a()}};return(r,i)=>PK(n(r,i))},LK=t=>{let{type:e,actionCreator:n,matcher:r,predicate:i,effect:a}=t;if(e)i=Zs(e).match;else if(n)e=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(ms(21));return AD(a),{predicate:i,type:e,effect:a}},IK=Up(t=>{const{type:e,predicate:n,effect:r}=LK(t);return{id:T3e(),effect:r,type:e,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(ms(22))}}},{withTypes:()=>IK}),H8=(t,e)=>{const{type:n,effect:r,predicate:i}=LK(e);return Array.from(t.values()).find(a=>(typeof n=="string"?a.type===n:a.predicate===i)&&a.effect===r)},IR=t=>{t.pending.forEach(e=>{vf(e,LR)})},V3e=(t,e)=>()=>{for(const n of e.keys())IR(n);t.clear()},$8=(t,e,n)=>{try{t(e,n)}catch(r){setTimeout(()=>{throw r},0)}},jK=Up(Zs(`${Fw}/add`),{withTypes:()=>jK}),G3e=Zs(`${Fw}/removeAll`),UK=Up(Zs(`${Fw}/remove`),{withTypes:()=>UK}),W3e=(...t)=>{console.error(`${Fw}/error`,...t)},Y0=(t={})=>{const e=new Map,n=new Map,r=m=>{const y=n.get(m)??0;n.set(m,y+1)},i=m=>{const y=n.get(m)??1;y===1?n.delete(m):n.set(m,y-1)},{extra:a,onError:s=W3e}=t;AD(s);const o=m=>(m.unsubscribe=()=>e.delete(m.id),e.set(m.id,m),y=>{m.unsubscribe(),y?.cancelActive&&IR(m)}),l=m=>{const y=H8(e,m)??IK(m);return o(y)};Up(l,{withTypes:()=>l});const c=m=>{const y=H8(e,m);return y&&(y.unsubscribe(),m.cancelActive&&IR(y)),!!y};Up(c,{withTypes:()=>c});const u=async(m,y,v,b)=>{const x=new AbortController,M=$3e(l,x.signal),w=[];try{m.pending.add(x),r(m),await Promise.resolve(m.effect(y,Up({},v,{getOriginalState:b,condition:(A,T)=>M(A,T).then(Boolean),take:M,delay:OK(x.signal),pause:cS(x.signal),extra:a,signal:x.signal,fork:H3e(x.signal,w),unsubscribe:m.unsubscribe,subscribe:()=>{e.set(m.id,m)},cancelActiveListeners:()=>{m.pending.forEach((A,T,R)=>{A!==x&&(vf(A,LR),R.delete(A))})},cancel:()=>{vf(x,LR),m.pending.delete(x)},throwIfCancelled:()=>{bf(x.signal)}})))}catch(A){A instanceof Uw||$8(s,A,{raisedBy:"effect"})}finally{await Promise.all(w),vf(x,z3e),i(m),m.pending.delete(x)}},f=V3e(e,n);return{middleware:m=>y=>v=>{if(!hK(v))return y(v);if(jK.match(v))return l(v.payload);if(G3e.match(v)){f();return}if(UK.match(v))return c(v.payload);let b=m.getState();const x=()=>{if(b===B8)throw new Error(ms(23));return b};let M;try{if(M=y(v),e.size>0){const w=m.getState(),A=Array.from(e.values());for(const T of A){let R=!1;try{R=T.predicate(v,w,b)}catch(N){R=!1,$8(s,N,{raisedBy:"predicate"})}R&&u(T,v,m,x)}}}finally{b=B8}return M},startListening:l,stopListening:c,clearListeners:f}};function ms(t){return`Minified Redux Toolkit error #${t}; visit https://redux-toolkit.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var q3e={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},FK=Ga({name:"chartLayout",initialState:q3e,reducers:{setLayout(t,e){t.layoutType=e.payload},setChartSize(t,e){t.width=e.payload.width,t.height=e.payload.height},setMargin(t,e){var n,r,i,a;t.margin.top=(n=e.payload.top)!==null&&n!==void 0?n:0,t.margin.right=(r=e.payload.right)!==null&&r!==void 0?r:0,t.margin.bottom=(i=e.payload.bottom)!==null&&i!==void 0?i:0,t.margin.left=(a=e.payload.left)!==null&&a!==void 0?a:0},setScale(t,e){t.scale=e.payload}}}),{setMargin:X3e,setLayout:K3e,setChartSize:Y3e,setScale:Z3e}=FK.actions,Q3e=FK.reducer;function zK(t,e,n){return Array.isArray(t)&&t&&e+n!==0?t.slice(e,n+1):t}function V8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Ap(t){for(var e=1;e{if(e&&n){var{width:r,height:i}=n,{align:a,verticalAlign:s,layout:o}=e;if((o==="vertical"||o==="horizontal"&&s==="middle")&&a!=="center"&&At(t[a]))return Ap(Ap({},t),{},{[a]:t[a]+(r||0)});if((o==="horizontal"||o==="vertical"&&a==="center")&&s!=="middle"&&At(t[s]))return Ap(Ap({},t),{},{[s]:t[s]+(i||0)})}return t},Tc=(t,e)=>t==="horizontal"&&e==="xAxis"||t==="vertical"&&e==="yAxis"||t==="centric"&&e==="angleAxis"||t==="radial"&&e==="radiusAxis",BK=(t,e,n,r)=>{if(r)return t.map(o=>o.coordinate);var i,a,s=t.map(o=>(o.coordinate===e&&(i=!0),o.coordinate===n&&(a=!0),o.coordinate));return i||s.push(e),a||s.push(n),s},HK=(t,e,n)=>{if(!t)return null;var{duplicateDomain:r,type:i,range:a,scale:s,realScaleType:o,isCategorical:l,categoricalDomain:c,tickCount:u,ticks:f,niceTicks:g,axisType:m}=t;if(!s)return null;var y=o==="scaleBand"&&s.bandwidth?s.bandwidth()/2:2,v=i==="category"&&s.bandwidth?s.bandwidth()/y:0;if(v=m==="angleAxis"&&a&&a.length>=2?Ti(a[0]-a[1])*2*v:v,f||g){var b=(f||g||[]).map((x,M)=>{var w=r?r.indexOf(x):x;return{coordinate:s(w)+v,value:x,offset:v,index:M}});return b.filter(x=>!Ys(x.coordinate))}return l&&c?c.map((x,M)=>({coordinate:s(x)+v,value:x,index:M,offset:v})):s.ticks&&u!=null?s.ticks(u).map((x,M)=>({coordinate:s(x)+v,value:x,offset:v,index:M})):s.domain().map((x,M)=>({coordinate:s(x)+v,value:r?r[x]:x,index:M,offset:v}))},G8=1e-4,rRe=t=>{var e=t.domain();if(!(!e||e.length<=2)){var n=e.length,r=t.range(),i=Math.min(r[0],r[1])-G8,a=Math.max(r[0],r[1])+G8,s=t(e[0]),o=t(e[n-1]);(sa||oa)&&t.domain([e[0],e[n-1]])}},iRe=(t,e)=>{if(!e||e.length!==2||!At(e[0])||!At(e[1]))return t;var n=Math.min(e[0],e[1]),r=Math.max(e[0],e[1]),i=[t[0],t[1]];return(!At(t[0])||t[0]r)&&(i[1]=r),i[0]>r&&(i[0]=r),i[1]{var e=t.length;if(!(e<=0))for(var n=0,r=t[0].length;n=0?(t[s][n][0]=i,t[s][n][1]=i+o,i=t[s][n][1]):(t[s][n][0]=a,t[s][n][1]=a+o,a=t[s][n][1])}},sRe=t=>{var e=t.length;if(!(e<=0))for(var n=0,r=t[0].length;n=0?(t[a][n][0]=i,t[a][n][1]=i+s,i=t[a][n][1]):(t[a][n][0]=0,t[a][n][1]=0)}},oRe={sign:aRe,expand:kCe,none:lm,silhouette:DCe,wiggle:OCe,positive:sRe},lRe=(t,e,n)=>{var r=oRe[n],i=PCe().keys(e).value((a,s)=>Number(Yn(a,s,0))).order(ER).offset(r);return i(t)};function $K(t){return t==null?void 0:String(t)}function W8(t){var{axis:e,ticks:n,bandSize:r,entry:i,index:a,dataKey:s}=t;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!gr(i[e.dataKey])){var o=qX(n,"value",i[e.dataKey]);if(o)return o.coordinate+r/2}return n[a]?n[a].coordinate+r/2:null}var l=Yn(i,gr(s)?e.dataKey:s);return gr(l)?null:e.scale(l)}var q8=t=>{var{axis:e,ticks:n,offset:r,bandSize:i,entry:a,index:s}=t;if(e.type==="category")return n[s]?n[s].coordinate+r:null;var o=Yn(a,e.dataKey,e.scale.domain()[s]);return gr(o)?null:e.scale(o)-i/2+r},cRe=t=>{var{numericAxis:e}=t,n=e.scale.domain();if(e.type==="number"){var r=Math.min(n[0],n[1]),i=Math.max(n[0],n[1]);return r<=0&&i>=0?0:i<0?i:r}return n[0]},uRe=t=>{var e=t.flat(2).filter(At);return[Math.min(...e),Math.max(...e)]},dRe=t=>[t[0]===1/0?0:t[0],t[1]===-1/0?0:t[1]],fRe=(t,e,n)=>{if(t!=null)return dRe(Object.keys(t).reduce((r,i)=>{var a=t[i],{stackedData:s}=a,o=s.reduce((l,c)=>{var u=zK(c,e,n),f=uRe(u);return[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},X8=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,K8=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,dm=(t,e,n)=>{if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var i=Pw(e,u=>u.coordinate),a=1/0,s=1,o=i.length;s{if(e==="horizontal")return t.chartX;if(e==="vertical")return t.chartY},pRe=(t,e)=>e==="centric"?t.angle:t.radius,Cc=t=>t.layout.width,Nc=t=>t.layout.height,mRe=t=>t.layout.scale,VK=t=>t.layout.margin,zw=$e(t=>t.cartesianAxis.xAxis,t=>Object.values(t)),Bw=$e(t=>t.cartesianAxis.yAxis,t=>Object.values(t)),GK="data-recharts-item-index",WK="data-recharts-item-data-key",Z0=60;function Z8(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Yy(t){for(var e=1;et.brush.height;function yRe(t){var e=Bw(t);return e.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Z0;return n+i}return n},0)}function _Re(t){var e=Bw(t);return e.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:Z0;return n+i}return n},0)}function SRe(t){var e=zw(t);return e.reduce((n,r)=>r.orientation==="top"&&!r.mirror&&!r.hide?n+r.height:n,0)}function wRe(t){var e=zw(t);return e.reduce((n,r)=>r.orientation==="bottom"&&!r.mirror&&!r.hide?n+r.height:n,0)}var ui=$e([Cc,Nc,VK,bRe,yRe,_Re,SRe,wRe,cK,KNe],(t,e,n,r,i,a,s,o,l,c)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},f={top:(n.top||0)+s,bottom:(n.bottom||0)+o},g=Yy(Yy({},f),u),m=g.bottom;g.bottom+=r,g=nRe(g,l,c);var y=t-g.left-g.right,v=e-g.top-g.bottom;return Yy(Yy({brushBottom:m},g),{},{width:Math.max(y,0),height:Math.max(v,0)})}),MRe=$e(ui,t=>({x:t.left,y:t.top,width:t.width,height:t.height})),TD=$e(Cc,Nc,(t,e)=>({x:0,y:0,width:t,height:e})),ERe=E.createContext(null),ca=()=>E.useContext(ERe)!=null,Hw=t=>t.brush,$w=$e([Hw,ui,VK],(t,e,n)=>({height:t.height,x:At(t.x)?t.x:e.left,y:At(t.y)?t.y:e.top+e.height+e.brushBottom-(n?.bottom||0),width:At(t.width)?t.width:e.width})),CC={},NC={},RC={},Q8;function ARe(){return Q8||(Q8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n,r,{signal:i,edges:a}={}){let s,o=null;const l=a!=null&&a.includes("leading"),c=a==null||a.includes("trailing"),u=()=>{o!==null&&(n.apply(s,o),s=void 0,o=null)},f=()=>{c&&u(),v()};let g=null;const m=()=>{g!=null&&clearTimeout(g),g=setTimeout(()=>{g=null,f()},r)},y=()=>{g!==null&&(clearTimeout(g),g=null)},v=()=>{y(),s=void 0,o=null},b=()=>{u()},x=function(...M){if(i?.aborted)return;s=this,o=M;const w=g==null;m(),l&&w&&u()};return x.schedule=m,x.cancel=v,x.flush=b,i?.addEventListener("abort",v,{once:!0}),x}t.debounce=e})(RC)),RC}var J8;function TRe(){return J8||(J8=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=ARe();function n(r,i=0,a={}){typeof a!="object"&&(a={});const{leading:s=!1,trailing:o=!0,maxWait:l}=a,c=Array(2);s&&(c[0]="leading"),o&&(c[1]="trailing");let u,f=null;const g=e.debounce(function(...v){u=r.apply(this,v),f=null},i,{edges:c}),m=function(...v){return l!=null&&(f===null&&(f=Date.now()),Date.now()-f>=l)?(u=r.apply(this,v),f=Date.now(),g.cancel(),g.schedule(),u):(g.apply(this,v),u)},y=()=>(g.flush(),u);return m.cancel=g.cancel,m.flush=y,m}t.debounce=n})(NC)),NC}var e6;function CRe(){return e6||(e6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=TRe();function n(r,i=0,a={}){const{leading:s=!0,trailing:o=!0}=a;return e.debounce(r,i,{leading:s,maxWait:i,trailing:o})}t.throttle=n})(CC)),CC}var PC,t6;function NRe(){return t6||(t6=1,PC=CRe().throttle),PC}var RRe=NRe();const PRe=Js(RRe);var uS=function(e,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;ai[s++]))}},qK=(t,e,n)=>{var{width:r="100%",height:i="100%",aspect:a,maxHeight:s}=n,o=vc(r)?t:Number(r),l=vc(i)?e:Number(i);return a&&a>0&&(o?l=o/a:l&&(o=l*a),s&&l!=null&&l>s&&(l=s)),{calculatedWidth:o,calculatedHeight:l}},kRe={width:0,height:0,overflow:"visible"},DRe={width:0,overflowX:"visible"},ORe={height:0,overflowY:"visible"},LRe={},IRe=t=>{var{width:e,height:n}=t,r=vc(e),i=vc(n);return r&&i?kRe:r?DRe:i?ORe:LRe};function jRe(t){var{width:e,height:n,aspect:r}=t,i=e,a=n;return i===void 0&&a===void 0?(i="100%",a="100%"):i===void 0?i=r&&r>0?void 0:"100%":a===void 0&&(a=r&&r>0?void 0:"100%"),{width:i,height:a}}function or(t){return Number.isFinite(t)}function sl(t){return typeof t=="number"&&t>0&&Number.isFinite(t)}function jR(){return jR=Object.assign?Object.assign.bind():function(t){for(var e=1;e({width:n,height:r}),[n,r]);return BRe(i)?E.createElement(XK.Provider,{value:i},e):null}var CD=()=>E.useContext(XK),HRe=E.forwardRef((t,e)=>{var{aspect:n,initialDimension:r={width:-1,height:-1},width:i,height:a,minWidth:s=0,minHeight:o,maxHeight:l,children:c,debounce:u=0,id:f,className:g,onResize:m,style:y={}}=t,v=E.useRef(null),b=E.useRef();b.current=m,E.useImperativeHandle(e,()=>v.current);var[x,M]=E.useState({containerWidth:r.width,containerHeight:r.height}),w=E.useCallback((j,C)=>{M(k=>{var F=Math.round(j),I=Math.round(C);return k.containerWidth===F&&k.containerHeight===I?k:{containerWidth:F,containerHeight:I}})},[]);E.useEffect(()=>{if(v.current==null||typeof ResizeObserver>"u")return W0;var j=I=>{var B,{width:O,height:H}=I[0].contentRect;w(O,H),(B=b.current)===null||B===void 0||B.call(b,O,H)};u>0&&(j=PRe(j,u,{trailing:!0,leading:!1}));var C=new ResizeObserver(j),{width:k,height:F}=v.current.getBoundingClientRect();return w(k,F),C.observe(v.current),()=>{C.disconnect()}},[w,u]);var{containerWidth:A,containerHeight:T}=x;uS(!n||n>0,"The aspect(%s) must be greater than zero.",n);var{calculatedWidth:R,calculatedHeight:N}=qK(A,T,{width:i,height:a,aspect:n,maxHeight:l});return uS(R!=null&&R>0||N!=null&&N>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,R,N,i,a,s,o,n),E.createElement("div",{id:f?"".concat(f):void 0,className:An("recharts-responsive-container",g),style:r6(r6({},y),{},{width:i,height:a,minWidth:s,minHeight:o,maxHeight:l}),ref:v},E.createElement("div",{style:IRe({width:i,height:a})},E.createElement(KK,{width:R,height:N},c)))}),kC=E.forwardRef((t,e)=>{var n=CD();if(sl(n.width)&&sl(n.height))return t.children;var{width:r,height:i}=jRe({width:t.width,height:t.height,aspect:t.aspect}),{calculatedWidth:a,calculatedHeight:s}=qK(void 0,void 0,{width:r,height:i,aspect:t.aspect,maxHeight:t.maxHeight});return At(a)&&At(s)?E.createElement(KK,{width:a,height:s},t.children):E.createElement(HRe,jR({},t,{width:r,height:i,ref:e}))});function YK(t){if(t)return{x:t.x,y:t.y,upperWidth:"upperWidth"in t?t.upperWidth:t.width,lowerWidth:"lowerWidth"in t?t.lowerWidth:t.width,width:t.width,height:t.height}}var Vw=()=>{var t,e=ca(),n=Tt(MRe),r=Tt($w),i=(t=Tt(Hw))===null||t===void 0?void 0:t.padding;return!e||!r||!i?n:{width:r.width-i.left-i.right,height:r.height-i.top-i.bottom,x:i.left,y:i.top}},$Re={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},ZK=()=>{var t;return(t=Tt(ui))!==null&&t!==void 0?t:$Re},ND=()=>Tt(Cc),RD=()=>Tt(Nc),VRe=()=>Tt(t=>t.layout.margin),Sn=t=>t.layout.layoutType,Cm=()=>Tt(Sn),GRe=()=>{var t=Cm();if(t==="horizontal"||t==="vertical")return t},WRe=()=>{var t=Cm();return t!==void 0},Gw=t=>{var e=er(),n=ca(),{width:r,height:i}=t,a=CD(),s=r,o=i;return a&&(s=a.width>0?a.width:r,o=a.height>0?a.height:i),E.useEffect(()=>{!n&&sl(s)&&sl(o)&&e(Y3e({width:s,height:o}))},[e,n,s,o]),null},QK=Symbol.for("immer-nothing"),i6=Symbol.for("immer-draftable"),xs=Symbol.for("immer-state");function vo(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var x0=Object.getPrototypeOf;function fm(t){return!!t&&!!t[xs]}function zf(t){return t?JK(t)||Array.isArray(t)||!!t[i6]||!!t.constructor?.[i6]||Q0(t)||qw(t):!1}var qRe=Object.prototype.constructor.toString(),a6=new WeakMap;function JK(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);if(e===null||e===Object.prototype)return!0;const n=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;if(n===Object)return!0;if(typeof n!="function")return!1;let r=a6.get(n);return r===void 0&&(r=Function.toString.call(n),a6.set(n,r)),r===qRe}function dS(t,e,n=!0){Ww(t)===0?(n?Reflect.ownKeys(t):Object.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function Ww(t){const e=t[xs];return e?e.type_:Array.isArray(t)?1:Q0(t)?2:qw(t)?3:0}function UR(t,e){return Ww(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function eY(t,e,n){const r=Ww(t);r===2?t.set(e,n):r===3?t.add(n):t[e]=n}function XRe(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Q0(t){return t instanceof Map}function qw(t){return t instanceof Set}function Wd(t){return t.copy_||t.base_}function FR(t,e){if(Q0(t))return new Map(t);if(qw(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);const n=JK(t);if(e===!0||e==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(t);delete r[xs];let i=Reflect.ownKeys(r);for(let a=0;a1&&Object.defineProperties(t,{set:Zy,add:Zy,clear:Zy,delete:Zy}),Object.freeze(t),e&&Object.values(t).forEach(n=>PD(n,!0))),t}function KRe(){vo(2)}var Zy={value:KRe};function Xw(t){return t===null||typeof t!="object"?!0:Object.isFrozen(t)}var YRe={};function Bf(t){const e=YRe[t];return e||vo(0,t),e}var v0;function tY(){return v0}function ZRe(t,e){return{drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function s6(t,e){e&&(Bf("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function zR(t){BR(t),t.drafts_.forEach(QRe),t.drafts_=null}function BR(t){t===v0&&(v0=t.parent_)}function o6(t){return v0=ZRe(v0,t)}function QRe(t){const e=t[xs];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function l6(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];return t!==void 0&&t!==n?(n[xs].modified_&&(zR(e),vo(4)),zf(t)&&(t=fS(e,t),e.parent_||hS(e,t)),e.patches_&&Bf("Patches").generateReplacementPatches_(n[xs].base_,t,e.patches_,e.inversePatches_)):t=fS(e,n,[]),zR(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==QK?t:void 0}function fS(t,e,n){if(Xw(e))return e;const r=t.immer_.shouldUseStrictIteration(),i=e[xs];if(!i)return dS(e,(a,s)=>c6(t,i,e,a,s,n),r),e;if(i.scope_!==t)return e;if(!i.modified_)return hS(t,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const a=i.copy_;let s=a,o=!1;i.type_===3&&(s=new Set(a),a.clear(),o=!0),dS(s,(l,c)=>c6(t,i,a,l,c,n,o),r),hS(t,a,!1),n&&t.patches_&&Bf("Patches").generatePatches_(i,n,t.patches_,t.inversePatches_)}return i.copy_}function c6(t,e,n,r,i,a,s){if(i==null||typeof i!="object"&&!s)return;const o=Xw(i);if(!(o&&!s)){if(fm(i)){const l=a&&e&&e.type_!==3&&!UR(e.assigned_,r)?a.concat(r):void 0,c=fS(t,i,l);if(eY(n,r,c),fm(c))t.canAutoFreeze_=!1;else return}else s&&n.add(i);if(zf(i)&&!o){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1||e&&e.base_&&e.base_[r]===i&&o)return;fS(t,i),(!e||!e.scope_.parent_)&&typeof r!="symbol"&&(Q0(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&hS(t,i)}}}function hS(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&PD(e,n)}function JRe(t,e){const n=Array.isArray(t),r={type_:n?1:0,scope_:e?e.scope_:tY(),modified_:!1,finalized_:!1,assigned_:{},parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,a=kD;n&&(i=[r],a=b0);const{revoke:s,proxy:o}=Proxy.revocable(i,a);return r.draft_=o,r.revoke_=s,o}var kD={get(t,e){if(e===xs)return t;const n=Wd(t);if(!UR(n,e))return ePe(t,n,e);const r=n[e];return t.finalized_||!zf(r)?r:r===DC(t.base_,e)?(OC(t),t.copy_[e]=$R(r,t)):r},has(t,e){return e in Wd(t)},ownKeys(t){return Reflect.ownKeys(Wd(t))},set(t,e,n){const r=nY(Wd(t),e);if(r?.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=DC(Wd(t),e),a=i?.[xs];if(a&&a.base_===n)return t.copy_[e]=n,t.assigned_[e]=!1,!0;if(XRe(n,i)&&(n!==void 0||UR(t.base_,e)))return!0;OC(t),HR(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_[e]=!0),!0},deleteProperty(t,e){return DC(t.base_,e)!==void 0||e in t.base_?(t.assigned_[e]=!1,OC(t),HR(t)):delete t.assigned_[e],t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Wd(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{writable:!0,configurable:t.type_!==1||e!=="length",enumerable:r.enumerable,value:n[e]}},defineProperty(){vo(11)},getPrototypeOf(t){return x0(t.base_)},setPrototypeOf(){vo(12)}},b0={};dS(kD,(t,e)=>{b0[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}});b0.deleteProperty=function(t,e){return b0.set.call(this,t,e,void 0)};b0.set=function(t,e,n){return kD.set.call(this,t[0],e,n,t[0])};function DC(t,e){const n=t[xs];return(n?Wd(n):t)[e]}function ePe(t,e,n){const r=nY(e,n);return r?"value"in r?r.value:r.get?.call(t.draft_):void 0}function nY(t,e){if(!(e in t))return;let n=x0(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=x0(n)}}function HR(t){t.modified_||(t.modified_=!0,t.parent_&&HR(t.parent_))}function OC(t){t.copy_||(t.copy_=FR(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var tPe=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,n,r)=>{if(typeof e=="function"&&typeof n!="function"){const a=n;n=e;const s=this;return function(l=a,...c){return s.produce(l,u=>n.call(this,u,...c))}}typeof n!="function"&&vo(6),r!==void 0&&typeof r!="function"&&vo(7);let i;if(zf(e)){const a=o6(this),s=$R(e,void 0);let o=!0;try{i=n(s),o=!1}finally{o?zR(a):BR(a)}return s6(a,r),l6(i,a)}else if(!e||typeof e!="object"){if(i=n(e),i===void 0&&(i=e),i===QK&&(i=void 0),this.autoFreeze_&&PD(i,!0),r){const a=[],s=[];Bf("Patches").generateReplacementPatches_(e,i,a,s),r(a,s)}return i}else vo(1,e)},this.produceWithPatches=(e,n)=>{if(typeof e=="function")return(s,...o)=>this.produceWithPatches(s,l=>e(l,...o));let r,i;return[this.produce(e,n,(s,o)=>{r=s,i=o}),r,i]},typeof t?.autoFreeze=="boolean"&&this.setAutoFreeze(t.autoFreeze),typeof t?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),typeof t?.useStrictIteration=="boolean"&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){zf(t)||vo(8),fm(t)&&(t=nPe(t));const e=o6(this),n=$R(t,void 0);return n[xs].isManual_=!0,BR(e),n}finishDraft(t,e){const n=t&&t[xs];(!n||!n.isManual_)&&vo(9);const{scope_:r}=n;return s6(r,e),l6(void 0,r)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,e){let n;for(n=e.length-1;n>=0;n--){const i=e[n];if(i.path.length===0&&i.op==="replace"){t=i.value;break}}n>-1&&(e=e.slice(n+1));const r=Bf("Patches").applyPatches_;return fm(t)?r(t,e):this.produce(t,i=>r(i,e))}};function $R(t,e){const n=Q0(t)?Bf("MapSet").proxyMap_(t,e):qw(t)?Bf("MapSet").proxySet_(t,e):JRe(t,e);return(e?e.scope_:tY()).drafts_.push(n),n}function nPe(t){return fm(t)||vo(10,t),rY(t)}function rY(t){if(!zf(t)||Xw(t))return t;const e=t[xs];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=FR(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=FR(t,!0);return dS(n,(i,a)=>{eY(n,i,rY(a))},r),e&&(e.finalized_=!1),n}var rPe=new tPe;rPe.produce;var iPe={settings:{layout:"horizontal",align:"center",verticalAlign:"middle",itemSorter:"value"},size:{width:0,height:0},payload:[]},iY=Ga({name:"legend",initialState:iPe,reducers:{setLegendSize(t,e){t.size.width=e.payload.width,t.size.height=e.payload.height},setLegendSettings(t,e){t.settings.align=e.payload.align,t.settings.layout=e.payload.layout,t.settings.verticalAlign=e.payload.verticalAlign,t.settings.itemSorter=e.payload.itemSorter},addLegendPayload:{reducer(t,e){t.payload.push(e.payload)},prepare:cr()},replaceLegendPayload:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Mo(t).payload.indexOf(n);i>-1&&(t.payload[i]=r)},prepare:cr()},removeLegendPayload:{reducer(t,e){var n=Mo(t).payload.indexOf(e.payload);n>-1&&t.payload.splice(n,1)},prepare:cr()}}}),{setLegendSize:u6,setLegendSettings:aPe,addLegendPayload:aY,replaceLegendPayload:sY,removeLegendPayload:oY}=iY.actions,sPe=iY.reducer,oPe=["contextPayload"];function VR(){return VR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{e(aPe(t))},[e,t]),null}function xPe(t){var e=er();return E.useEffect(()=>(e(u6(t)),()=>{e(u6({width:0,height:0}))}),[e,t]),null}function vPe(t,e,n,r){return t==="vertical"&&At(e)?{height:e}:t==="horizontal"?{width:n||r}:null}var bPe={align:"center",iconSize:14,itemSorter:"value",layout:"horizontal",verticalAlign:"bottom"};function lY(t){var e=Yr(t,bPe),n=QNe(),r=tCe(),i=VRe(),{width:a,height:s,wrapperStyle:o,portal:l}=e,[c,u]=uK([n]),f=ND(),g=RD();if(f==null||g==null)return null;var m=f-(i?.left||0)-(i?.right||0),y=vPe(e.layout,s,a,m),v=l?o:hm(hm({position:"absolute",width:y?.width||a||"auto",height:y?.height||s||"auto"},mPe(o,e,i,f,g,c)),o),b=l??r;if(b==null||n==null)return null;var x=E.createElement("div",{className:"recharts-legend-wrapper",style:v,ref:u},E.createElement(gPe,{layout:e.layout,align:e.align,verticalAlign:e.verticalAlign,itemSorter:e.itemSorter}),!l&&E.createElement(xPe,{width:c.width,height:c.height}),E.createElement(pPe,VR({},e,y,{margin:i,chartWidth:f,chartHeight:g,contextPayload:n})));return Jl.createPortal(x,b)}lY.displayName="Legend";function GR(){return GR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{separator:e=" : ",contentStyle:n={},itemStyle:r={},labelStyle:i={},payload:a,formatter:s,itemSorter:o,wrapperClassName:l,labelClassName:c,label:u,labelFormatter:f,accessibilityLayer:g=!1}=t,m=()=>{if(a&&a.length){var T={padding:0,margin:0},R=(o?Pw(a,o):a).map((N,j)=>{if(N.type==="none")return null;var C=N.formatter||s||wPe,{value:k,name:U}=N,I=k,H=U;if(C){var O=C(k,U,N,j,a);if(Array.isArray(O))[I,H]=O;else if(O!=null)I=O;else return null}var B=LC({display:"block",paddingTop:4,paddingBottom:4,color:N.color||"#000"},r);return E.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(j),style:B},al(H)?E.createElement("span",{className:"recharts-tooltip-item-name"},H):null,al(H)?E.createElement("span",{className:"recharts-tooltip-item-separator"},e):null,E.createElement("span",{className:"recharts-tooltip-item-value"},I),E.createElement("span",{className:"recharts-tooltip-item-unit"},N.unit||""))});return E.createElement("ul",{className:"recharts-tooltip-item-list",style:T},R)}return null},y=LC({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},n),v=LC({margin:0},i),b=!gr(u),x=b?u:"",M=An("recharts-default-tooltip",l),w=An("recharts-tooltip-label",c);b&&f&&a!==void 0&&a!==null&&(x=f(u,a));var A=g?{role:"status","aria-live":"assertive"}:{};return E.createElement("div",GR({className:M,style:y},A),E.createElement("p",{className:w,style:v},E.isValidElement(x)?x:"".concat(x)),m())},Yg="recharts-tooltip-wrapper",EPe={visibility:"hidden"};function APe(t){var{coordinate:e,translateX:n,translateY:r}=t;return An(Yg,{["".concat(Yg,"-right")]:At(n)&&e&&At(e.x)&&n>=e.x,["".concat(Yg,"-left")]:At(n)&&e&&At(e.x)&&n=e.y,["".concat(Yg,"-top")]:At(r)&&e&&At(e.y)&&r0?i:0),f=n[r]+i;if(e[r])return s[r]?u:f;var g=l[r];if(g==null)return 0;if(s[r]){var m=u,y=g;return mb?Math.max(u,g):Math.max(f,g)}function TPe(t){var{translateX:e,translateY:n,useTranslate3d:r}=t;return{transform:r?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function CPe(t){var{allowEscapeViewBox:e,coordinate:n,offsetTopLeft:r,position:i,reverseDirection:a,tooltipBox:s,useTranslate3d:o,viewBox:l}=t,c,u,f;return s.height>0&&s.width>0&&n?(u=h6({allowEscapeViewBox:e,coordinate:n,key:"x",offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=h6({allowEscapeViewBox:e,coordinate:n,key:"y",offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),c=TPe({translateX:u,translateY:f,useTranslate3d:o})):c=EPe,{cssProperties:c,cssClasses:APe({translateX:u,translateY:f,coordinate:n})}}function p6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Qy(t){for(var e=1;e{if(e.key==="Escape"){var n,r,i,a;this.setState({dismissed:!0,dismissedAtCoordinate:{x:(n=(r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==null&&n!==void 0?n:0,y:(i=(a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==null&&i!==void 0?i:0}})}})}componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}componentDidUpdate(){var e,n;this.state.dismissed&&(((e=this.props.coordinate)===null||e===void 0?void 0:e.x)!==this.state.dismissedAtCoordinate.x||((n=this.props.coordinate)===null||n===void 0?void 0:n.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}render(){var{active:e,allowEscapeViewBox:n,animationDuration:r,animationEasing:i,children:a,coordinate:s,hasPayload:o,isAnimationActive:l,offset:c,position:u,reverseDirection:f,useTranslate3d:g,viewBox:m,wrapperStyle:y,lastBoundingBox:v,innerRef:b,hasPortalFromProps:x}=this.props,{cssClasses:M,cssProperties:w}=CPe({allowEscapeViewBox:n,coordinate:s,offsetTopLeft:c,position:u,reverseDirection:f,tooltipBox:{height:v.height,width:v.width},useTranslate3d:g,viewBox:m}),A=x?{}:Qy(Qy({transition:l&&e?"transform ".concat(r,"ms ").concat(i):void 0},w),{},{pointerEvents:"none",visibility:!this.state.dismissed&&e&&o?"visible":"hidden",position:"absolute",top:0,left:0}),T=Qy(Qy({},A),{},{visibility:!this.state.dismissed&&e&&o?"visible":"hidden"},y);return E.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:M,style:T,ref:b},a)}}var cY=()=>{var t;return(t=Tt(e=>e.rootProps.accessibilityLayer))!==null&&t!==void 0?t:!0};function qR(){return qR=Object.assign?Object.assign.bind():function(t){for(var e=1;eor(t.x)&&or(t.y),v6=t=>t.base!=null&&pS(t.base)&&pS(t),Zg=t=>t.x,Qg=t=>t.y,LPe=(t,e)=>{if(typeof t=="function")return t;var n="curve".concat(G0(t));return(n==="curveMonotone"||n==="curveBump")&&e?x6["".concat(n).concat(e==="vertical"?"Y":"X")]:x6[n]||Nw},IPe=t=>{var{type:e="linear",points:n=[],baseLine:r,layout:i,connectNulls:a=!1}=t,s=LPe(e,i),o=a?n.filter(pS):n,l;if(Array.isArray(r)){var c=n.map((m,y)=>g6(g6({},m),{},{base:r[y]}));i==="vertical"?l=Vy().y(Qg).x1(Zg).x0(m=>m.base.x):l=Vy().x(Zg).y1(Qg).y0(m=>m.base.y);var u=l.defined(v6).curve(s),f=a?c.filter(v6):c;return u(f)}i==="vertical"&&At(r)?l=Vy().y(Qg).x1(Zg).x0(r):At(r)?l=Vy().x(Zg).y1(Qg).y0(r):l=OX().x(Zg).y(Qg);var g=l.defined(pS).curve(s);return g(o)},Fp=t=>{var{className:e,points:n,path:r,pathRef:i}=t;if((!n||!n.length)&&!r)return null;var a=n&&n.length?IPe(t):r;return E.createElement("path",qR({},$a(t),gD(t),{className:An("recharts-curve",e),d:a===null?void 0:a,ref:i}))},jPe=["x","y","top","left","width","height","className"];function XR(){return XR=Object.assign?Object.assign.bind():function(t){for(var e=1;e"M".concat(t,",").concat(i,"v").concat(r,"M").concat(a,",").concat(e,"h").concat(n),GPe=t=>{var{x:e=0,y:n=0,top:r=0,left:i=0,width:a=0,height:s=0,className:o}=t,l=HPe(t,jPe),c=UPe({x:e,y:n,top:r,left:i,width:a,height:s},l);return!At(e)||!At(n)||!At(a)||!At(s)||!At(r)||!At(i)?null:E.createElement("path",XR({},Ma(c),{className:An("recharts-cross",o),d:VPe(e,n,a,s,r,i)}))};function WPe(t,e,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:t==="horizontal"?e.x-i:n.left+.5,y:t==="horizontal"?n.top+.5:e.y-i,width:t==="horizontal"?r:n.width-1,height:t==="horizontal"?n.height-1:r}}function y6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function _6(t){for(var e=1;et.replace(/([A-Z])/g,e=>"-".concat(e.toLowerCase())),uY=(t,e,n)=>t.map(r=>"".concat(YPe(r)," ").concat(e,"ms ").concat(n)).join(","),ZPe=(t,e)=>[Object.keys(t),Object.keys(e)].reduce((n,r)=>n.filter(i=>r.includes(i))),y0=(t,e)=>Object.keys(e).reduce((n,r)=>_6(_6({},n),{},{[r]:t(r,e[r])}),{});function S6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ti(t){for(var e=1;et+(e-t)*n,KR=t=>{var{from:e,to:n}=t;return e!==n},dY=(t,e,n)=>{var r=y0((i,a)=>{if(KR(a)){var[s,o]=t(a.from,a.to,a.velocity);return ti(ti({},a),{},{from:s,velocity:o})}return a},e);return n<1?y0((i,a)=>KR(a)?ti(ti({},a),{},{velocity:mS(a.velocity,r[i].velocity,n),from:mS(a.from,r[i].from,n)}):a,e):dY(t,r,n-1)};function tke(t,e,n,r,i,a){var s,o=r.reduce((g,m)=>ti(ti({},g),{},{[m]:{from:t[m],velocity:0,to:e[m]}}),{}),l=()=>y0((g,m)=>m.from,o),c=()=>!Object.values(o).filter(KR).length,u=null,f=g=>{s||(s=g);var m=g-s,y=m/n.dt;o=dY(n,o,y),i(ti(ti(ti({},t),e),l())),s=g,c()||(u=a.setTimeout(f))};return()=>(u=a.setTimeout(f),()=>{var g;(g=u)===null||g===void 0||g()})}function nke(t,e,n,r,i,a,s){var o=null,l=i.reduce((f,g)=>ti(ti({},f),{},{[g]:[t[g],e[g]]}),{}),c,u=f=>{c||(c=f);var g=(f-c)/r,m=y0((v,b)=>mS(...b,n(g)),l);if(a(ti(ti(ti({},t),e),m)),g<1)o=s.setTimeout(u);else{var y=y0((v,b)=>mS(...b,n(1)),l);a(ti(ti(ti({},t),e),y))}};return()=>(o=s.setTimeout(u),()=>{var f;(f=o)===null||f===void 0||f()})}const rke=(t,e,n,r,i,a)=>{var s=ZPe(t,e);return n==null?()=>(i(ti(ti({},t),e)),()=>{}):n.isStepper===!0?tke(t,e,n,s,i,a):nke(t,e,n,r,s,i,a)};var gS=1e-4,fY=(t,e)=>[0,3*t,3*e-6*t,3*t-3*e+1],hY=(t,e)=>t.map((n,r)=>n*e**r).reduce((n,r)=>n+r),w6=(t,e)=>n=>{var r=fY(t,e);return hY(r,n)},ike=(t,e)=>n=>{var r=fY(t,e),i=[...r.map((a,s)=>a*s).slice(1),0];return hY(i,n)},ake=function(){for(var e=arguments.length,n=new Array(e),r=0;rparseFloat(o));return[s[0],s[1],s[2],s[3]]}}}return n.length===4?n:[0,0,1,1]},ske=(t,e,n,r)=>{var i=w6(t,n),a=w6(e,r),s=ike(t,n),o=c=>c>1?1:c<0?0:c,l=c=>{for(var u=c>1?1:c,f=u,g=0;g<8;++g){var m=i(f)-u,y=s(f);if(Math.abs(m-u)0&&arguments[0]!==void 0?arguments[0]:{},{stiff:n=100,damping:r=8,dt:i=17}=e,a=(s,o,l)=>{var c=-(s-o)*n,u=l*r,f=l+(c-u)*i/1e3,g=l*i/1e3+s;return Math.abs(g-o){if(typeof t=="string")switch(t){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return M6(t);case"spring":return oke();default:if(t.split("(")[0]==="cubic-bezier")return M6(t)}return typeof t=="function"?t:null};function cke(t){var e,n=()=>null,r=!1,i=null,a=s=>{if(!r){if(Array.isArray(s)){if(!s.length)return;var o=s,[l,...c]=o;if(typeof l=="number"){i=t.setTimeout(a.bind(null,c),l);return}a(l),i=t.setTimeout(a.bind(null,c));return}typeof s=="string"&&(e=s,n(e)),typeof s=="object"&&(e=s,n(e)),typeof s=="function"&&s()}};return{stop:()=>{r=!0},start:s=>{r=!1,i&&(i(),i=null),a(s)},subscribe:s=>(n=s,()=>{n=()=>null}),getTimeoutController:()=>t}}class uke{setTimeout(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),i=null,a=s=>{s-r>=n?e(s):typeof requestAnimationFrame=="function"&&(i=requestAnimationFrame(a))};return i=requestAnimationFrame(a),()=>{i!=null&&cancelAnimationFrame(i)}}}function dke(){return cke(new uke)}var fke=E.createContext(dke);function hke(t,e){var n=E.useContext(fke);return E.useMemo(()=>e??n(t),[t,e,n])}var pke=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Nm={devToolsEnabled:!1,isSsr:pke()},mke={begin:0,duration:1e3,easing:"ease",isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},E6={t:0},IC={t:1};function J0(t){var e=Yr(t,mke),{isActive:n,canBegin:r,duration:i,easing:a,begin:s,onAnimationEnd:o,onAnimationStart:l,children:c}=e,u=n==="auto"?!Nm.isSsr:n,f=hke(e.animationId,e.animationManager),[g,m]=E.useState(u?E6:IC),y=E.useRef(null);return E.useEffect(()=>{u||m(IC)},[u]),E.useEffect(()=>{if(!u||!r)return W0;var v=rke(E6,IC,lke(a),i,m,f.getTimeoutController()),b=()=>{y.current=v()};return f.start([l,s,b,i,o]),()=>{f.stop(),y.current&&y.current(),o()}},[u,r,i,a,s,l,o,f]),c(g.t)}function ev(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=E.useRef(h0(e)),r=E.useRef(t);return r.current!==t&&(n.current=h0(e),r.current=t),n.current}var gke=["radius"],xke=["radius"];function A6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function T6(t){for(var e=1;e{var a=Math.min(Math.abs(n)/2,Math.abs(r)/2),s=r>=0?1:-1,o=n>=0?1:-1,l=r>=0&&n>=0||r<0&&n<0?1:0,c;if(a>0&&i instanceof Array){for(var u=[0,0,0,0],f=0,g=4;fa?a:i[f];c="M".concat(t,",").concat(e+s*u[0]),u[0]>0&&(c+="A ".concat(u[0],",").concat(u[0],",0,0,").concat(l,",").concat(t+o*u[0],",").concat(e)),c+="L ".concat(t+n-o*u[1],",").concat(e),u[1]>0&&(c+="A ".concat(u[1],",").concat(u[1],",0,0,").concat(l,`, + height and width.`,R,N,i,a,s,o,n),E.createElement("div",{id:f?"".concat(f):void 0,className:An("recharts-responsive-container",g),style:r6(r6({},y),{},{width:i,height:a,minWidth:s,minHeight:o,maxHeight:l}),ref:v},E.createElement("div",{style:IRe({width:i,height:a})},E.createElement(KK,{width:R,height:N},c)))}),kC=E.forwardRef((t,e)=>{var n=CD();if(sl(n.width)&&sl(n.height))return t.children;var{width:r,height:i}=jRe({width:t.width,height:t.height,aspect:t.aspect}),{calculatedWidth:a,calculatedHeight:s}=qK(void 0,void 0,{width:r,height:i,aspect:t.aspect,maxHeight:t.maxHeight});return At(a)&&At(s)?E.createElement(KK,{width:a,height:s},t.children):E.createElement(HRe,jR({},t,{width:r,height:i,ref:e}))});function YK(t){if(t)return{x:t.x,y:t.y,upperWidth:"upperWidth"in t?t.upperWidth:t.width,lowerWidth:"lowerWidth"in t?t.lowerWidth:t.width,width:t.width,height:t.height}}var Vw=()=>{var t,e=ca(),n=Tt(MRe),r=Tt($w),i=(t=Tt(Hw))===null||t===void 0?void 0:t.padding;return!e||!r||!i?n:{width:r.width-i.left-i.right,height:r.height-i.top-i.bottom,x:i.left,y:i.top}},$Re={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},ZK=()=>{var t;return(t=Tt(ui))!==null&&t!==void 0?t:$Re},ND=()=>Tt(Cc),RD=()=>Tt(Nc),VRe=()=>Tt(t=>t.layout.margin),Sn=t=>t.layout.layoutType,Cm=()=>Tt(Sn),GRe=()=>{var t=Cm();if(t==="horizontal"||t==="vertical")return t},WRe=()=>{var t=Cm();return t!==void 0},Gw=t=>{var e=er(),n=ca(),{width:r,height:i}=t,a=CD(),s=r,o=i;return a&&(s=a.width>0?a.width:r,o=a.height>0?a.height:i),E.useEffect(()=>{!n&&sl(s)&&sl(o)&&e(Y3e({width:s,height:o}))},[e,n,s,o]),null},QK=Symbol.for("immer-nothing"),i6=Symbol.for("immer-draftable"),xs=Symbol.for("immer-state");function vo(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var x0=Object.getPrototypeOf;function fm(t){return!!t&&!!t[xs]}function zf(t){return t?JK(t)||Array.isArray(t)||!!t[i6]||!!t.constructor?.[i6]||Q0(t)||qw(t):!1}var qRe=Object.prototype.constructor.toString(),a6=new WeakMap;function JK(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);if(e===null||e===Object.prototype)return!0;const n=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;if(n===Object)return!0;if(typeof n!="function")return!1;let r=a6.get(n);return r===void 0&&(r=Function.toString.call(n),a6.set(n,r)),r===qRe}function dS(t,e,n=!0){Ww(t)===0?(n?Reflect.ownKeys(t):Object.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function Ww(t){const e=t[xs];return e?e.type_:Array.isArray(t)?1:Q0(t)?2:qw(t)?3:0}function UR(t,e){return Ww(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function eY(t,e,n){const r=Ww(t);r===2?t.set(e,n):r===3?t.add(n):t[e]=n}function XRe(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Q0(t){return t instanceof Map}function qw(t){return t instanceof Set}function Wd(t){return t.copy_||t.base_}function FR(t,e){if(Q0(t))return new Map(t);if(qw(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);const n=JK(t);if(e===!0||e==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(t);delete r[xs];let i=Reflect.ownKeys(r);for(let a=0;a1&&Object.defineProperties(t,{set:Zy,add:Zy,clear:Zy,delete:Zy}),Object.freeze(t),e&&Object.values(t).forEach(n=>PD(n,!0))),t}function KRe(){vo(2)}var Zy={value:KRe};function Xw(t){return t===null||typeof t!="object"?!0:Object.isFrozen(t)}var YRe={};function Bf(t){const e=YRe[t];return e||vo(0,t),e}var v0;function tY(){return v0}function ZRe(t,e){return{drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function s6(t,e){e&&(Bf("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function zR(t){BR(t),t.drafts_.forEach(QRe),t.drafts_=null}function BR(t){t===v0&&(v0=t.parent_)}function o6(t){return v0=ZRe(v0,t)}function QRe(t){const e=t[xs];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function l6(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];return t!==void 0&&t!==n?(n[xs].modified_&&(zR(e),vo(4)),zf(t)&&(t=fS(e,t),e.parent_||hS(e,t)),e.patches_&&Bf("Patches").generateReplacementPatches_(n[xs].base_,t,e.patches_,e.inversePatches_)):t=fS(e,n,[]),zR(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==QK?t:void 0}function fS(t,e,n){if(Xw(e))return e;const r=t.immer_.shouldUseStrictIteration(),i=e[xs];if(!i)return dS(e,(a,s)=>c6(t,i,e,a,s,n),r),e;if(i.scope_!==t)return e;if(!i.modified_)return hS(t,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const a=i.copy_;let s=a,o=!1;i.type_===3&&(s=new Set(a),a.clear(),o=!0),dS(s,(l,c)=>c6(t,i,a,l,c,n,o),r),hS(t,a,!1),n&&t.patches_&&Bf("Patches").generatePatches_(i,n,t.patches_,t.inversePatches_)}return i.copy_}function c6(t,e,n,r,i,a,s){if(i==null||typeof i!="object"&&!s)return;const o=Xw(i);if(!(o&&!s)){if(fm(i)){const l=a&&e&&e.type_!==3&&!UR(e.assigned_,r)?a.concat(r):void 0,c=fS(t,i,l);if(eY(n,r,c),fm(c))t.canAutoFreeze_=!1;else return}else s&&n.add(i);if(zf(i)&&!o){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1||e&&e.base_&&e.base_[r]===i&&o)return;fS(t,i),(!e||!e.scope_.parent_)&&typeof r!="symbol"&&(Q0(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&hS(t,i)}}}function hS(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&PD(e,n)}function JRe(t,e){const n=Array.isArray(t),r={type_:n?1:0,scope_:e?e.scope_:tY(),modified_:!1,finalized_:!1,assigned_:{},parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,a=kD;n&&(i=[r],a=b0);const{revoke:s,proxy:o}=Proxy.revocable(i,a);return r.draft_=o,r.revoke_=s,o}var kD={get(t,e){if(e===xs)return t;const n=Wd(t);if(!UR(n,e))return ePe(t,n,e);const r=n[e];return t.finalized_||!zf(r)?r:r===DC(t.base_,e)?(OC(t),t.copy_[e]=$R(r,t)):r},has(t,e){return e in Wd(t)},ownKeys(t){return Reflect.ownKeys(Wd(t))},set(t,e,n){const r=nY(Wd(t),e);if(r?.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=DC(Wd(t),e),a=i?.[xs];if(a&&a.base_===n)return t.copy_[e]=n,t.assigned_[e]=!1,!0;if(XRe(n,i)&&(n!==void 0||UR(t.base_,e)))return!0;OC(t),HR(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_[e]=!0),!0},deleteProperty(t,e){return DC(t.base_,e)!==void 0||e in t.base_?(t.assigned_[e]=!1,OC(t),HR(t)):delete t.assigned_[e],t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Wd(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{writable:!0,configurable:t.type_!==1||e!=="length",enumerable:r.enumerable,value:n[e]}},defineProperty(){vo(11)},getPrototypeOf(t){return x0(t.base_)},setPrototypeOf(){vo(12)}},b0={};dS(kD,(t,e)=>{b0[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}});b0.deleteProperty=function(t,e){return b0.set.call(this,t,e,void 0)};b0.set=function(t,e,n){return kD.set.call(this,t[0],e,n,t[0])};function DC(t,e){const n=t[xs];return(n?Wd(n):t)[e]}function ePe(t,e,n){const r=nY(e,n);return r?"value"in r?r.value:r.get?.call(t.draft_):void 0}function nY(t,e){if(!(e in t))return;let n=x0(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=x0(n)}}function HR(t){t.modified_||(t.modified_=!0,t.parent_&&HR(t.parent_))}function OC(t){t.copy_||(t.copy_=FR(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var tPe=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,n,r)=>{if(typeof e=="function"&&typeof n!="function"){const a=n;n=e;const s=this;return function(l=a,...c){return s.produce(l,u=>n.call(this,u,...c))}}typeof n!="function"&&vo(6),r!==void 0&&typeof r!="function"&&vo(7);let i;if(zf(e)){const a=o6(this),s=$R(e,void 0);let o=!0;try{i=n(s),o=!1}finally{o?zR(a):BR(a)}return s6(a,r),l6(i,a)}else if(!e||typeof e!="object"){if(i=n(e),i===void 0&&(i=e),i===QK&&(i=void 0),this.autoFreeze_&&PD(i,!0),r){const a=[],s=[];Bf("Patches").generateReplacementPatches_(e,i,a,s),r(a,s)}return i}else vo(1,e)},this.produceWithPatches=(e,n)=>{if(typeof e=="function")return(s,...o)=>this.produceWithPatches(s,l=>e(l,...o));let r,i;return[this.produce(e,n,(s,o)=>{r=s,i=o}),r,i]},typeof t?.autoFreeze=="boolean"&&this.setAutoFreeze(t.autoFreeze),typeof t?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),typeof t?.useStrictIteration=="boolean"&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){zf(t)||vo(8),fm(t)&&(t=nPe(t));const e=o6(this),n=$R(t,void 0);return n[xs].isManual_=!0,BR(e),n}finishDraft(t,e){const n=t&&t[xs];(!n||!n.isManual_)&&vo(9);const{scope_:r}=n;return s6(r,e),l6(void 0,r)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,e){let n;for(n=e.length-1;n>=0;n--){const i=e[n];if(i.path.length===0&&i.op==="replace"){t=i.value;break}}n>-1&&(e=e.slice(n+1));const r=Bf("Patches").applyPatches_;return fm(t)?r(t,e):this.produce(t,i=>r(i,e))}};function $R(t,e){const n=Q0(t)?Bf("MapSet").proxyMap_(t,e):qw(t)?Bf("MapSet").proxySet_(t,e):JRe(t,e);return(e?e.scope_:tY()).drafts_.push(n),n}function nPe(t){return fm(t)||vo(10,t),rY(t)}function rY(t){if(!zf(t)||Xw(t))return t;const e=t[xs];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=FR(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=FR(t,!0);return dS(n,(i,a)=>{eY(n,i,rY(a))},r),e&&(e.finalized_=!1),n}var rPe=new tPe;rPe.produce;var iPe={settings:{layout:"horizontal",align:"center",verticalAlign:"middle",itemSorter:"value"},size:{width:0,height:0},payload:[]},iY=Ga({name:"legend",initialState:iPe,reducers:{setLegendSize(t,e){t.size.width=e.payload.width,t.size.height=e.payload.height},setLegendSettings(t,e){t.settings.align=e.payload.align,t.settings.layout=e.payload.layout,t.settings.verticalAlign=e.payload.verticalAlign,t.settings.itemSorter=e.payload.itemSorter},addLegendPayload:{reducer(t,e){t.payload.push(e.payload)},prepare:cr()},replaceLegendPayload:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Mo(t).payload.indexOf(n);i>-1&&(t.payload[i]=r)},prepare:cr()},removeLegendPayload:{reducer(t,e){var n=Mo(t).payload.indexOf(e.payload);n>-1&&t.payload.splice(n,1)},prepare:cr()}}}),{setLegendSize:u6,setLegendSettings:aPe,addLegendPayload:aY,replaceLegendPayload:sY,removeLegendPayload:oY}=iY.actions,sPe=iY.reducer,oPe=["contextPayload"];function VR(){return VR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{e(aPe(t))},[e,t]),null}function xPe(t){var e=er();return E.useEffect(()=>(e(u6(t)),()=>{e(u6({width:0,height:0}))}),[e,t]),null}function vPe(t,e,n,r){return t==="vertical"&&At(e)?{height:e}:t==="horizontal"?{width:n||r}:null}var bPe={align:"center",iconSize:14,itemSorter:"value",layout:"horizontal",verticalAlign:"bottom"};function lY(t){var e=Yr(t,bPe),n=QNe(),r=tCe(),i=VRe(),{width:a,height:s,wrapperStyle:o,portal:l}=e,[c,u]=uK([n]),f=ND(),g=RD();if(f==null||g==null)return null;var m=f-(i?.left||0)-(i?.right||0),y=vPe(e.layout,s,a,m),v=l?o:hm(hm({position:"absolute",width:y?.width||a||"auto",height:y?.height||s||"auto"},mPe(o,e,i,f,g,c)),o),b=l??r;if(b==null||n==null)return null;var x=E.createElement("div",{className:"recharts-legend-wrapper",style:v,ref:u},E.createElement(gPe,{layout:e.layout,align:e.align,verticalAlign:e.verticalAlign,itemSorter:e.itemSorter}),!l&&E.createElement(xPe,{width:c.width,height:c.height}),E.createElement(pPe,VR({},e,y,{margin:i,chartWidth:f,chartHeight:g,contextPayload:n})));return Jl.createPortal(x,b)}lY.displayName="Legend";function GR(){return GR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{separator:e=" : ",contentStyle:n={},itemStyle:r={},labelStyle:i={},payload:a,formatter:s,itemSorter:o,wrapperClassName:l,labelClassName:c,label:u,labelFormatter:f,accessibilityLayer:g=!1}=t,m=()=>{if(a&&a.length){var T={padding:0,margin:0},R=(o?Pw(a,o):a).map((N,j)=>{if(N.type==="none")return null;var C=N.formatter||s||wPe,{value:k,name:F}=N,I=k,B=F;if(C){var O=C(k,F,N,j,a);if(Array.isArray(O))[I,B]=O;else if(O!=null)I=O;else return null}var H=LC({display:"block",paddingTop:4,paddingBottom:4,color:N.color||"#000"},r);return E.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(j),style:H},al(B)?E.createElement("span",{className:"recharts-tooltip-item-name"},B):null,al(B)?E.createElement("span",{className:"recharts-tooltip-item-separator"},e):null,E.createElement("span",{className:"recharts-tooltip-item-value"},I),E.createElement("span",{className:"recharts-tooltip-item-unit"},N.unit||""))});return E.createElement("ul",{className:"recharts-tooltip-item-list",style:T},R)}return null},y=LC({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},n),v=LC({margin:0},i),b=!gr(u),x=b?u:"",M=An("recharts-default-tooltip",l),w=An("recharts-tooltip-label",c);b&&f&&a!==void 0&&a!==null&&(x=f(u,a));var A=g?{role:"status","aria-live":"assertive"}:{};return E.createElement("div",GR({className:M,style:y},A),E.createElement("p",{className:w,style:v},E.isValidElement(x)?x:"".concat(x)),m())},Yg="recharts-tooltip-wrapper",EPe={visibility:"hidden"};function APe(t){var{coordinate:e,translateX:n,translateY:r}=t;return An(Yg,{["".concat(Yg,"-right")]:At(n)&&e&&At(e.x)&&n>=e.x,["".concat(Yg,"-left")]:At(n)&&e&&At(e.x)&&n=e.y,["".concat(Yg,"-top")]:At(r)&&e&&At(e.y)&&r0?i:0),f=n[r]+i;if(e[r])return s[r]?u:f;var g=l[r];if(g==null)return 0;if(s[r]){var m=u,y=g;return mb?Math.max(u,g):Math.max(f,g)}function TPe(t){var{translateX:e,translateY:n,useTranslate3d:r}=t;return{transform:r?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function CPe(t){var{allowEscapeViewBox:e,coordinate:n,offsetTopLeft:r,position:i,reverseDirection:a,tooltipBox:s,useTranslate3d:o,viewBox:l}=t,c,u,f;return s.height>0&&s.width>0&&n?(u=h6({allowEscapeViewBox:e,coordinate:n,key:"x",offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=h6({allowEscapeViewBox:e,coordinate:n,key:"y",offsetTopLeft:r,position:i,reverseDirection:a,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),c=TPe({translateX:u,translateY:f,useTranslate3d:o})):c=EPe,{cssProperties:c,cssClasses:APe({translateX:u,translateY:f,coordinate:n})}}function p6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Qy(t){for(var e=1;e{if(e.key==="Escape"){var n,r,i,a;this.setState({dismissed:!0,dismissedAtCoordinate:{x:(n=(r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==null&&n!==void 0?n:0,y:(i=(a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==null&&i!==void 0?i:0}})}})}componentDidMount(){document.addEventListener("keydown",this.handleKeyDown)}componentWillUnmount(){document.removeEventListener("keydown",this.handleKeyDown)}componentDidUpdate(){var e,n;this.state.dismissed&&(((e=this.props.coordinate)===null||e===void 0?void 0:e.x)!==this.state.dismissedAtCoordinate.x||((n=this.props.coordinate)===null||n===void 0?void 0:n.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}render(){var{active:e,allowEscapeViewBox:n,animationDuration:r,animationEasing:i,children:a,coordinate:s,hasPayload:o,isAnimationActive:l,offset:c,position:u,reverseDirection:f,useTranslate3d:g,viewBox:m,wrapperStyle:y,lastBoundingBox:v,innerRef:b,hasPortalFromProps:x}=this.props,{cssClasses:M,cssProperties:w}=CPe({allowEscapeViewBox:n,coordinate:s,offsetTopLeft:c,position:u,reverseDirection:f,tooltipBox:{height:v.height,width:v.width},useTranslate3d:g,viewBox:m}),A=x?{}:Qy(Qy({transition:l&&e?"transform ".concat(r,"ms ").concat(i):void 0},w),{},{pointerEvents:"none",visibility:!this.state.dismissed&&e&&o?"visible":"hidden",position:"absolute",top:0,left:0}),T=Qy(Qy({},A),{},{visibility:!this.state.dismissed&&e&&o?"visible":"hidden"},y);return E.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:M,style:T,ref:b},a)}}var cY=()=>{var t;return(t=Tt(e=>e.rootProps.accessibilityLayer))!==null&&t!==void 0?t:!0};function qR(){return qR=Object.assign?Object.assign.bind():function(t){for(var e=1;eor(t.x)&&or(t.y),v6=t=>t.base!=null&&pS(t.base)&&pS(t),Zg=t=>t.x,Qg=t=>t.y,LPe=(t,e)=>{if(typeof t=="function")return t;var n="curve".concat(G0(t));return(n==="curveMonotone"||n==="curveBump")&&e?x6["".concat(n).concat(e==="vertical"?"Y":"X")]:x6[n]||Nw},IPe=t=>{var{type:e="linear",points:n=[],baseLine:r,layout:i,connectNulls:a=!1}=t,s=LPe(e,i),o=a?n.filter(pS):n,l;if(Array.isArray(r)){var c=n.map((m,y)=>g6(g6({},m),{},{base:r[y]}));i==="vertical"?l=Vy().y(Qg).x1(Zg).x0(m=>m.base.x):l=Vy().x(Zg).y1(Qg).y0(m=>m.base.y);var u=l.defined(v6).curve(s),f=a?c.filter(v6):c;return u(f)}i==="vertical"&&At(r)?l=Vy().y(Qg).x1(Zg).x0(r):At(r)?l=Vy().x(Zg).y1(Qg).y0(r):l=OX().x(Zg).y(Qg);var g=l.defined(pS).curve(s);return g(o)},Fp=t=>{var{className:e,points:n,path:r,pathRef:i}=t;if((!n||!n.length)&&!r)return null;var a=n&&n.length?IPe(t):r;return E.createElement("path",qR({},$a(t),gD(t),{className:An("recharts-curve",e),d:a===null?void 0:a,ref:i}))},jPe=["x","y","top","left","width","height","className"];function XR(){return XR=Object.assign?Object.assign.bind():function(t){for(var e=1;e"M".concat(t,",").concat(i,"v").concat(r,"M").concat(a,",").concat(e,"h").concat(n),GPe=t=>{var{x:e=0,y:n=0,top:r=0,left:i=0,width:a=0,height:s=0,className:o}=t,l=HPe(t,jPe),c=UPe({x:e,y:n,top:r,left:i,width:a,height:s},l);return!At(e)||!At(n)||!At(a)||!At(s)||!At(r)||!At(i)?null:E.createElement("path",XR({},Ma(c),{className:An("recharts-cross",o),d:VPe(e,n,a,s,r,i)}))};function WPe(t,e,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:t==="horizontal"?e.x-i:n.left+.5,y:t==="horizontal"?n.top+.5:e.y-i,width:t==="horizontal"?r:n.width-1,height:t==="horizontal"?n.height-1:r}}function y6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function _6(t){for(var e=1;et.replace(/([A-Z])/g,e=>"-".concat(e.toLowerCase())),uY=(t,e,n)=>t.map(r=>"".concat(YPe(r)," ").concat(e,"ms ").concat(n)).join(","),ZPe=(t,e)=>[Object.keys(t),Object.keys(e)].reduce((n,r)=>n.filter(i=>r.includes(i))),y0=(t,e)=>Object.keys(e).reduce((n,r)=>_6(_6({},n),{},{[r]:t(r,e[r])}),{});function S6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ti(t){for(var e=1;et+(e-t)*n,KR=t=>{var{from:e,to:n}=t;return e!==n},dY=(t,e,n)=>{var r=y0((i,a)=>{if(KR(a)){var[s,o]=t(a.from,a.to,a.velocity);return ti(ti({},a),{},{from:s,velocity:o})}return a},e);return n<1?y0((i,a)=>KR(a)?ti(ti({},a),{},{velocity:mS(a.velocity,r[i].velocity,n),from:mS(a.from,r[i].from,n)}):a,e):dY(t,r,n-1)};function tke(t,e,n,r,i,a){var s,o=r.reduce((g,m)=>ti(ti({},g),{},{[m]:{from:t[m],velocity:0,to:e[m]}}),{}),l=()=>y0((g,m)=>m.from,o),c=()=>!Object.values(o).filter(KR).length,u=null,f=g=>{s||(s=g);var m=g-s,y=m/n.dt;o=dY(n,o,y),i(ti(ti(ti({},t),e),l())),s=g,c()||(u=a.setTimeout(f))};return()=>(u=a.setTimeout(f),()=>{var g;(g=u)===null||g===void 0||g()})}function nke(t,e,n,r,i,a,s){var o=null,l=i.reduce((f,g)=>ti(ti({},f),{},{[g]:[t[g],e[g]]}),{}),c,u=f=>{c||(c=f);var g=(f-c)/r,m=y0((v,b)=>mS(...b,n(g)),l);if(a(ti(ti(ti({},t),e),m)),g<1)o=s.setTimeout(u);else{var y=y0((v,b)=>mS(...b,n(1)),l);a(ti(ti(ti({},t),e),y))}};return()=>(o=s.setTimeout(u),()=>{var f;(f=o)===null||f===void 0||f()})}const rke=(t,e,n,r,i,a)=>{var s=ZPe(t,e);return n==null?()=>(i(ti(ti({},t),e)),()=>{}):n.isStepper===!0?tke(t,e,n,s,i,a):nke(t,e,n,r,s,i,a)};var gS=1e-4,fY=(t,e)=>[0,3*t,3*e-6*t,3*t-3*e+1],hY=(t,e)=>t.map((n,r)=>n*e**r).reduce((n,r)=>n+r),w6=(t,e)=>n=>{var r=fY(t,e);return hY(r,n)},ike=(t,e)=>n=>{var r=fY(t,e),i=[...r.map((a,s)=>a*s).slice(1),0];return hY(i,n)},ake=function(){for(var e=arguments.length,n=new Array(e),r=0;rparseFloat(o));return[s[0],s[1],s[2],s[3]]}}}return n.length===4?n:[0,0,1,1]},ske=(t,e,n,r)=>{var i=w6(t,n),a=w6(e,r),s=ike(t,n),o=c=>c>1?1:c<0?0:c,l=c=>{for(var u=c>1?1:c,f=u,g=0;g<8;++g){var m=i(f)-u,y=s(f);if(Math.abs(m-u)0&&arguments[0]!==void 0?arguments[0]:{},{stiff:n=100,damping:r=8,dt:i=17}=e,a=(s,o,l)=>{var c=-(s-o)*n,u=l*r,f=l+(c-u)*i/1e3,g=l*i/1e3+s;return Math.abs(g-o){if(typeof t=="string")switch(t){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return M6(t);case"spring":return oke();default:if(t.split("(")[0]==="cubic-bezier")return M6(t)}return typeof t=="function"?t:null};function cke(t){var e,n=()=>null,r=!1,i=null,a=s=>{if(!r){if(Array.isArray(s)){if(!s.length)return;var o=s,[l,...c]=o;if(typeof l=="number"){i=t.setTimeout(a.bind(null,c),l);return}a(l),i=t.setTimeout(a.bind(null,c));return}typeof s=="string"&&(e=s,n(e)),typeof s=="object"&&(e=s,n(e)),typeof s=="function"&&s()}};return{stop:()=>{r=!0},start:s=>{r=!1,i&&(i(),i=null),a(s)},subscribe:s=>(n=s,()=>{n=()=>null}),getTimeoutController:()=>t}}class uke{setTimeout(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),i=null,a=s=>{s-r>=n?e(s):typeof requestAnimationFrame=="function"&&(i=requestAnimationFrame(a))};return i=requestAnimationFrame(a),()=>{i!=null&&cancelAnimationFrame(i)}}}function dke(){return cke(new uke)}var fke=E.createContext(dke);function hke(t,e){var n=E.useContext(fke);return E.useMemo(()=>e??n(t),[t,e,n])}var pke=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Nm={devToolsEnabled:!1,isSsr:pke()},mke={begin:0,duration:1e3,easing:"ease",isActive:!0,canBegin:!0,onAnimationEnd:()=>{},onAnimationStart:()=>{}},E6={t:0},IC={t:1};function J0(t){var e=Yr(t,mke),{isActive:n,canBegin:r,duration:i,easing:a,begin:s,onAnimationEnd:o,onAnimationStart:l,children:c}=e,u=n==="auto"?!Nm.isSsr:n,f=hke(e.animationId,e.animationManager),[g,m]=E.useState(u?E6:IC),y=E.useRef(null);return E.useEffect(()=>{u||m(IC)},[u]),E.useEffect(()=>{if(!u||!r)return W0;var v=rke(E6,IC,lke(a),i,m,f.getTimeoutController()),b=()=>{y.current=v()};return f.start([l,s,b,i,o]),()=>{f.stop(),y.current&&y.current(),o()}},[u,r,i,a,s,l,o,f]),c(g.t)}function ev(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=E.useRef(h0(e)),r=E.useRef(t);return r.current!==t&&(n.current=h0(e),r.current=t),n.current}var gke=["radius"],xke=["radius"];function A6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function T6(t){for(var e=1;e{var a=Math.min(Math.abs(n)/2,Math.abs(r)/2),s=r>=0?1:-1,o=n>=0?1:-1,l=r>=0&&n>=0||r<0&&n<0?1:0,c;if(a>0&&i instanceof Array){for(var u=[0,0,0,0],f=0,g=4;fa?a:i[f];c="M".concat(t,",").concat(e+s*u[0]),u[0]>0&&(c+="A ".concat(u[0],",").concat(u[0],",0,0,").concat(l,",").concat(t+o*u[0],",").concat(e)),c+="L ".concat(t+n-o*u[1],",").concat(e),u[1]>0&&(c+="A ".concat(u[1],",").concat(u[1],",0,0,").concat(l,`, `).concat(t+n,",").concat(e+s*u[1])),c+="L ".concat(t+n,",").concat(e+r-s*u[2]),u[2]>0&&(c+="A ".concat(u[2],",").concat(u[2],",0,0,").concat(l,`, `).concat(t+n-o*u[2],",").concat(e+r)),c+="L ".concat(t+o*u[3],",").concat(e+r),u[3]>0&&(c+="A ".concat(u[3],",").concat(u[3],",0,0,").concat(l,`, `).concat(t,",").concat(e+r-s*u[3])),c+="Z"}else if(a>0&&i===+i&&i>0){var m=Math.min(a,i);c="M ".concat(t,",").concat(e+s*m,` @@ -8568,7 +8568,7 @@ Accuracy: ${t.time_accuracy.toFixed(0)}%`:t.actual_time_seconds?`Actual: ${Kg(t. L `).concat(t+n,",").concat(e+r-s*m,` A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t+n-o*m,",").concat(e+r,` L `).concat(t+o*m,",").concat(e+r,` - A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t,",").concat(e+r-s*m," Z")}else c="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return c},R6={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},pY=t=>{var e=Yr(t,R6),n=E.useRef(null),[r,i]=E.useState(-1);E.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var G=n.current.getTotalLength();G&&i(G)}catch{}},[]);var{x:a,y:s,width:o,height:l,radius:c,className:u}=e,{animationEasing:f,animationDuration:g,animationBegin:m,isAnimationActive:y,isUpdateAnimationActive:v}=e,b=E.useRef(o),x=E.useRef(l),M=E.useRef(a),w=E.useRef(s),A=E.useMemo(()=>({x:a,y:s,width:o,height:l,radius:c}),[a,s,o,l,c]),T=ev(A,"rectangle-");if(a!==+a||s!==+s||o!==+o||l!==+l||o===0||l===0)return null;var R=An("recharts-rectangle",u);if(!v){var N=Ma(e),{radius:j}=N,C=C6(N,gke);return E.createElement("path",xS({},C,{radius:typeof c=="number"?c:void 0,className:R,d:N6(a,s,o,l,c)}))}var k=b.current,U=x.current,I=M.current,H=w.current,O="0px ".concat(r===-1?1:r,"px"),B="".concat(r,"px 0px"),V=uY(["strokeDasharray"],g,typeof f=="string"?f:R6.animationEasing);return E.createElement(J0,{animationId:T,key:T,canBegin:r>0,duration:g,easing:f,isActive:v,begin:m},G=>{var K=sr(k,o,G),Y=sr(U,l,G),oe=sr(I,a,G),$=sr(H,s,G);n.current&&(b.current=K,x.current=Y,M.current=oe,w.current=$);var X;y?G>0?X={transition:V,strokeDasharray:B}:X={strokeDasharray:O}:X={strokeDasharray:B};var ae=Ma(e),{radius:ce}=ae,xe=C6(ae,xke);return E.createElement("path",xS({},xe,{radius:typeof c=="number"?c:void 0,className:R,d:N6(oe,$,K,Y,c),ref:n,style:T6(T6({},X),e.style)}))})};function P6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function k6(t){for(var e=1;et*180/Math.PI,Gr=(t,e,n,r)=>({x:t+Math.cos(-vS*r)*n,y:e+Math.sin(-vS*r)*n}),mY=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(e-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},Ake=(t,e)=>{var{x:n,y:r}=t,{x:i,y:a}=e;return Math.sqrt((n-i)**2+(r-a)**2)},Tke=(t,e)=>{var{x:n,y:r}=t,{cx:i,cy:a}=e,s=Ake({x:n,y:r},{x:i,y:a});if(s<=0)return{radius:s,angle:0};var o=(n-i)/s,l=Math.acos(o);return r>a&&(l=2*Math.PI-l),{radius:s,angle:Eke(l),angleInRadian:l}},Cke=t=>{var{startAngle:e,endAngle:n}=t,r=Math.floor(e/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:e-a*360,endAngle:n-a*360}},Nke=(t,e)=>{var{startAngle:n,endAngle:r}=e,i=Math.floor(n/360),a=Math.floor(r/360),s=Math.min(i,a);return t+s*360},Rke=(t,e)=>{var{chartX:n,chartY:r}=t,{radius:i,angle:a}=Tke({x:n,y:r},e),{innerRadius:s,outerRadius:o}=e;if(io||i===0)return null;var{startAngle:l,endAngle:c}=Cke(e),u=a,f;if(l<=c){for(;u>c;)u-=360;for(;u=l&&u<=c}else{for(;u>l;)u-=360;for(;u=c&&u<=l}return f?k6(k6({},e),{},{radius:i,angle:Nke(u,e)}):null};function gY(t){var{cx:e,cy:n,radius:r,startAngle:i,endAngle:a}=t,s=Gr(e,n,r,i),o=Gr(e,n,r,a);return{points:[s,o],cx:e,cy:n,radius:r,startAngle:i,endAngle:a}}function YR(){return YR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Ti(e-t),r=Math.min(Math.abs(e-t),359.999);return n*r},Jy=t=>{var{cx:e,cy:n,radius:r,angle:i,sign:a,isExternal:s,cornerRadius:o,cornerIsExternal:l}=t,c=o*(s?1:-1)+r,u=Math.asin(o/c)/vS,f=l?i:i+a*u,g=Gr(e,n,c,f),m=Gr(e,n,r,f),y=l?i-a*u:i,v=Gr(e,n,c*Math.cos(u*vS),y);return{center:g,circleTangency:m,lineTangency:v,theta:u}},xY=t=>{var{cx:e,cy:n,innerRadius:r,outerRadius:i,startAngle:a,endAngle:s}=t,o=Pke(a,s),l=a+o,c=Gr(e,n,i,a),u=Gr(e,n,i,l),f="M ".concat(c.x,",").concat(c.y,` + A `).concat(m,",").concat(m,",0,0,").concat(l,",").concat(t,",").concat(e+r-s*m," Z")}else c="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return c},R6={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},pY=t=>{var e=Yr(t,R6),n=E.useRef(null),[r,i]=E.useState(-1);E.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var W=n.current.getTotalLength();W&&i(W)}catch{}},[]);var{x:a,y:s,width:o,height:l,radius:c,className:u}=e,{animationEasing:f,animationDuration:g,animationBegin:m,isAnimationActive:y,isUpdateAnimationActive:v}=e,b=E.useRef(o),x=E.useRef(l),M=E.useRef(a),w=E.useRef(s),A=E.useMemo(()=>({x:a,y:s,width:o,height:l,radius:c}),[a,s,o,l,c]),T=ev(A,"rectangle-");if(a!==+a||s!==+s||o!==+o||l!==+l||o===0||l===0)return null;var R=An("recharts-rectangle",u);if(!v){var N=Ma(e),{radius:j}=N,C=C6(N,gke);return E.createElement("path",xS({},C,{radius:typeof c=="number"?c:void 0,className:R,d:N6(a,s,o,l,c)}))}var k=b.current,F=x.current,I=M.current,B=w.current,O="0px ".concat(r===-1?1:r,"px"),H="".concat(r,"px 0px"),$=uY(["strokeDasharray"],g,typeof f=="string"?f:R6.animationEasing);return E.createElement(J0,{animationId:T,key:T,canBegin:r>0,duration:g,easing:f,isActive:v,begin:m},W=>{var K=sr(k,o,W),Y=sr(F,l,W),se=sr(I,a,W),V=sr(B,s,W);n.current&&(b.current=K,x.current=Y,M.current=se,w.current=V);var X;y?W>0?X={transition:$,strokeDasharray:H}:X={strokeDasharray:O}:X={strokeDasharray:H};var ae=Ma(e),{radius:ce}=ae,ve=C6(ae,xke);return E.createElement("path",xS({},ve,{radius:typeof c=="number"?c:void 0,className:R,d:N6(se,V,K,Y,c),ref:n,style:T6(T6({},X),e.style)}))})};function P6(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function k6(t){for(var e=1;et*180/Math.PI,Gr=(t,e,n,r)=>({x:t+Math.cos(-vS*r)*n,y:e+Math.sin(-vS*r)*n}),mY=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(e-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},Ake=(t,e)=>{var{x:n,y:r}=t,{x:i,y:a}=e;return Math.sqrt((n-i)**2+(r-a)**2)},Tke=(t,e)=>{var{x:n,y:r}=t,{cx:i,cy:a}=e,s=Ake({x:n,y:r},{x:i,y:a});if(s<=0)return{radius:s,angle:0};var o=(n-i)/s,l=Math.acos(o);return r>a&&(l=2*Math.PI-l),{radius:s,angle:Eke(l),angleInRadian:l}},Cke=t=>{var{startAngle:e,endAngle:n}=t,r=Math.floor(e/360),i=Math.floor(n/360),a=Math.min(r,i);return{startAngle:e-a*360,endAngle:n-a*360}},Nke=(t,e)=>{var{startAngle:n,endAngle:r}=e,i=Math.floor(n/360),a=Math.floor(r/360),s=Math.min(i,a);return t+s*360},Rke=(t,e)=>{var{chartX:n,chartY:r}=t,{radius:i,angle:a}=Tke({x:n,y:r},e),{innerRadius:s,outerRadius:o}=e;if(io||i===0)return null;var{startAngle:l,endAngle:c}=Cke(e),u=a,f;if(l<=c){for(;u>c;)u-=360;for(;u=l&&u<=c}else{for(;u>l;)u-=360;for(;u=c&&u<=l}return f?k6(k6({},e),{},{radius:i,angle:Nke(u,e)}):null};function gY(t){var{cx:e,cy:n,radius:r,startAngle:i,endAngle:a}=t,s=Gr(e,n,r,i),o=Gr(e,n,r,a);return{points:[s,o],cx:e,cy:n,radius:r,startAngle:i,endAngle:a}}function YR(){return YR=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Ti(e-t),r=Math.min(Math.abs(e-t),359.999);return n*r},Jy=t=>{var{cx:e,cy:n,radius:r,angle:i,sign:a,isExternal:s,cornerRadius:o,cornerIsExternal:l}=t,c=o*(s?1:-1)+r,u=Math.asin(o/c)/vS,f=l?i:i+a*u,g=Gr(e,n,c,f),m=Gr(e,n,r,f),y=l?i-a*u:i,v=Gr(e,n,c*Math.cos(u*vS),y);return{center:g,circleTangency:m,lineTangency:v,theta:u}},xY=t=>{var{cx:e,cy:n,innerRadius:r,outerRadius:i,startAngle:a,endAngle:s}=t,o=Pke(a,s),l=a+o,c=Gr(e,n,i,a),u=Gr(e,n,i,l),f="M ".concat(c.x,",").concat(c.y,` A `).concat(i,",").concat(i,`,0, `).concat(+(Math.abs(o)>180),",").concat(+(a>l),`, `).concat(u.x,",").concat(u.y,` @@ -8585,12 +8585,12 @@ Accuracy: ${t.time_accuracy.toFixed(0)}%`:t.actual_time_seconds?`Actual: ${Kg(t. `);if(r>0){var{circleTangency:w,lineTangency:A,theta:T}=Jy({cx:e,cy:n,radius:r,angle:l,sign:u,isExternal:!0,cornerRadius:a,cornerIsExternal:o}),{circleTangency:R,lineTangency:N,theta:j}=Jy({cx:e,cy:n,radius:r,angle:c,sign:-u,isExternal:!0,cornerRadius:a,cornerIsExternal:o}),C=o?Math.abs(l-c):Math.abs(l-c)-T-j;if(C<0&&a===0)return"".concat(M,"L").concat(e,",").concat(n,"Z");M+="L".concat(N.x,",").concat(N.y,` A`).concat(a,",").concat(a,",0,0,").concat(+(u<0),",").concat(R.x,",").concat(R.y,` A`).concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(u>0),",").concat(w.x,",").concat(w.y,` - A`).concat(a,",").concat(a,",0,0,").concat(+(u<0),",").concat(A.x,",").concat(A.y,"Z")}else M+="L".concat(e,",").concat(n,"Z");return M},Dke={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},vY=t=>{var e=Yr(t,Dke),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:s,forceCornerRadius:o,cornerIsExternal:l,startAngle:c,endAngle:u,className:f}=e;if(a0&&Math.abs(c-u)<360?v=kke({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(y,m/2),forceCornerRadius:o,cornerIsExternal:l,startAngle:c,endAngle:u}):v=xY({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:c,endAngle:u}),E.createElement("path",YR({},Ma(e),{className:g,d:v}))};function Oke(t,e,n){if(t==="horizontal")return[{x:e.x,y:n.top},{x:e.x,y:n.top+n.height}];if(t==="vertical")return[{x:n.left,y:e.y},{x:n.left+n.width,y:e.y}];if(KX(e)){if(t==="centric"){var{cx:r,cy:i,innerRadius:a,outerRadius:s,angle:o}=e,l=Gr(r,i,a,o),c=Gr(r,i,s,o);return[{x:l.x,y:l.y},{x:c.x,y:c.y}]}return gY(e)}}var jC={},UC={},FC={},D6;function Lke(){return D6||(D6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=oK();function n(r){return e.isSymbol(r)?NaN:Number(r)}t.toNumber=n})(FC)),FC}var O6;function Ike(){return O6||(O6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=Lke();function n(r){return r?(r=e.toNumber(r),r===1/0||r===-1/0?(r<0?-1:1)*Number.MAX_VALUE:r===r?r:0):r===0?r:0}t.toFinite=n})(UC)),UC}var L6;function jke(){return L6||(L6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=lK(),n=Ike();function r(i,a,s){s&&typeof s!="number"&&e.isIterateeCall(i,a,s)&&(a=s=void 0),i=n.toFinite(i),a===void 0?(a=i,i=0):a=n.toFinite(a),s=s===void 0?ie?1:t>=e?0:NaN}function zke(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function DD(t){let e,n,r;t.length!==2?(e=Xu,n=(o,l)=>Xu(t(o),l),r=(o,l)=>t(o)-l):(e=t===Xu||t===zke?t:Bke,n=t,r=t);function i(o,l,c=0,u=o.length){if(c>>1;n(o[f],l)<0?c=f+1:u=f}while(c>>1;n(o[f],l)<=0?c=f+1:u=f}while(cc&&r(o[f-1],l)>-r(o[f],l)?f-1:f}return{left:i,center:s,right:a}}function Bke(){return 0}function yY(t){return t===null?NaN:+t}function*Hke(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const $ke=DD(Xu),tv=$ke.right;DD(yY).center;class j6 extends Map{constructor(e,n=Wke){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(U6(this,e))}has(e){return super.has(U6(this,e))}set(e,n){return super.set(Vke(this,e),n)}delete(e){return super.delete(Gke(this,e))}}function U6({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Vke({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Gke({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function Wke(t){return t!==null&&typeof t=="object"?t.valueOf():t}function qke(t=Xu){if(t===Xu)return _Y;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function _Y(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const Xke=Math.sqrt(50),Kke=Math.sqrt(10),Yke=Math.sqrt(2);function bS(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=Xke?10:a>=Kke?5:a>=Yke?2:1;let o,l,c;return i<0?(c=Math.pow(10,-i)/s,o=Math.round(t*c),l=Math.round(e*c),o/ce&&--l,c=-c):(c=Math.pow(10,i)*s,o=Math.round(t/c),l=Math.round(e/c),o*ce&&--l),l0))return[];if(t===e)return[t];const r=e=i))return[];const o=a-i+1,l=new Array(o);if(r)if(s<0)for(let c=0;c=r)&&(n=r);return n}function z6(t,e){let n;for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function SY(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?_Y:qke(i);r>n;){if(r-n>600){const l=r-n+1,c=e-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),g=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1),m=Math.max(n,Math.floor(e-c*f/l+g)),y=Math.min(r,Math.floor(e+(l-c)*f/l+g));SY(t,e,m,y,i)}const a=t[e];let s=n,o=r;for(Jg(t,n,e),i(t[r],a)>0&&Jg(t,n,r);s0;)--o}i(t[n],a)===0?Jg(t,n,o):(++o,Jg(t,o,r)),o<=e&&(n=o+1),e<=o&&(r=o-1)}return t}function Jg(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Zke(t,e,n){if(t=Float64Array.from(Hke(t)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return z6(t);if(e>=1)return F6(t);var r,i=(r-1)*e,a=Math.floor(i),s=F6(SY(t,a).subarray(0,a+1)),o=z6(t.subarray(a+1));return s+(o-s)*(i-a)}}function Qke(t,e,n=yY){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),s=+n(t[a],a,t),o=+n(t[a+1],a+1,t);return s+(o-s)*(i-a)}}function Jke(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,a=new Array(i);++r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?e_(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?e_(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=nDe.exec(t))?new Ua(e[1],e[2],e[3],1):(e=rDe.exec(t))?new Ua(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=iDe.exec(t))?e_(e[1],e[2],e[3],e[4]):(e=aDe.exec(t))?e_(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=sDe.exec(t))?q6(e[1],e[2]/100,e[3]/100,1):(e=oDe.exec(t))?q6(e[1],e[2]/100,e[3]/100,e[4]):B6.hasOwnProperty(t)?V6(B6[t]):t==="transparent"?new Ua(NaN,NaN,NaN,0):null}function V6(t){return new Ua(t>>16&255,t>>8&255,t&255,1)}function e_(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ua(t,e,n,r)}function uDe(t){return t instanceof nv||(t=w0(t)),t?(t=t.rgb(),new Ua(t.r,t.g,t.b,t.opacity)):new Ua}function tP(t,e,n,r){return arguments.length===1?uDe(t):new Ua(t,e,n,r??1)}function Ua(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ID(Ua,tP,MY(nv,{brighter(t){return t=t==null?yS:Math.pow(yS,t),new Ua(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?_0:Math.pow(_0,t),new Ua(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ua(yf(this.r),yf(this.g),yf(this.b),_S(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:G6,formatHex:G6,formatHex8:dDe,formatRgb:W6,toString:W6}));function G6(){return`#${of(this.r)}${of(this.g)}${of(this.b)}`}function dDe(){return`#${of(this.r)}${of(this.g)}${of(this.b)}${of((isNaN(this.opacity)?1:this.opacity)*255)}`}function W6(){const t=_S(this.opacity);return`${t===1?"rgb(":"rgba("}${yf(this.r)}, ${yf(this.g)}, ${yf(this.b)}${t===1?")":`, ${t})`}`}function _S(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function yf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function of(t){return t=yf(t),(t<16?"0":"")+t.toString(16)}function q6(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new bo(t,e,n,r)}function EY(t){if(t instanceof bo)return new bo(t.h,t.s,t.l,t.opacity);if(t instanceof nv||(t=w0(t)),!t)return new bo;if(t instanceof bo)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(n-r)/o+(n0&&l<1?0:s,new bo(s,o,l,t.opacity)}function fDe(t,e,n,r){return arguments.length===1?EY(t):new bo(t,e,n,r??1)}function bo(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ID(bo,fDe,MY(nv,{brighter(t){return t=t==null?yS:Math.pow(yS,t),new bo(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?_0:Math.pow(_0,t),new bo(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Ua(BC(t>=240?t-240:t+120,i,r),BC(t,i,r),BC(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new bo(X6(this.h),t_(this.s),t_(this.l),_S(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=_S(this.opacity);return`${t===1?"hsl(":"hsla("}${X6(this.h)}, ${t_(this.s)*100}%, ${t_(this.l)*100}%${t===1?")":`, ${t})`}`}}));function X6(t){return t=(t||0)%360,t<0?t+360:t}function t_(t){return Math.max(0,Math.min(1,t||0))}function BC(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const jD=t=>()=>t;function hDe(t,e){return function(n){return t+n*e}}function pDe(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function mDe(t){return(t=+t)==1?AY:function(e,n){return n-e?pDe(e,n,t):jD(isNaN(e)?n:e)}}function AY(t,e){var n=e-t;return n?hDe(t,n):jD(isNaN(t)?e:t)}const K6=(function t(e){var n=mDe(e);function r(i,a){var s=n((i=tP(i)).r,(a=tP(a)).r),o=n(i.g,a.g),l=n(i.b,a.b),c=AY(i.opacity,a.opacity);return function(u){return i.r=s(u),i.g=o(u),i.b=l(u),i.opacity=c(u),i+""}}return r.gamma=t,r})(1);function gDe(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(a){for(i=0;in&&(a=e.slice(n,a),o[s]?o[s]+=a:o[++s]=a),(r=r[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:SS(r,i)})),n=HC.lastIndex;return ne&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function TDe(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i2?CDe:TDe,l=c=null,f}function f(g){return g==null||isNaN(g=+g)?a:(l||(l=o(t.map(r),e,n)))(r(s(g)))}return f.invert=function(g){return s(i((c||(c=o(e,t.map(r),SS)))(g)))},f.domain=function(g){return arguments.length?(t=Array.from(g,wS),u()):t.slice()},f.range=function(g){return arguments.length?(e=Array.from(g),u()):e.slice()},f.rangeRound=function(g){return e=Array.from(g),n=UD,u()},f.clamp=function(g){return arguments.length?(s=g?!0:xa,u()):s!==xa},f.interpolate=function(g){return arguments.length?(n=g,u()):n},f.unknown=function(g){return arguments.length?(a=g,f):a},function(g,m){return r=g,i=m,u()}}function FD(){return Kw()(xa,xa)}function NDe(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function MS(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function pm(t){return t=MS(Math.abs(t)),t?t[1]:NaN}function RDe(t,e){return function(n,r){for(var i=n.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),a.push(n.substring(i-=o,i+o)),!((l+=o+1)>r));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function PDe(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var kDe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function M0(t){if(!(e=kDe.exec(t)))throw new Error("invalid format: "+t);var e;return new zD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}M0.prototype=zD.prototype;function zD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}zD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function DDe(t){e:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var TY;function ODe(t,e){var n=MS(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(TY=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+MS(t,Math.max(0,e+a-1))[0]}function Z6(t,e){var n=MS(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Q6={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:NDe,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Z6(t*100,e),r:Z6,s:ODe,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function J6(t){return t}var e$=Array.prototype.map,t$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function LDe(t){var e=t.grouping===void 0||t.thousands===void 0?J6:RDe(e$.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?J6:PDe(e$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function c(f){f=M0(f);var g=f.fill,m=f.align,y=f.sign,v=f.symbol,b=f.zero,x=f.width,M=f.comma,w=f.precision,A=f.trim,T=f.type;T==="n"?(M=!0,T="g"):Q6[T]||(w===void 0&&(w=12),A=!0,T="g"),(b||g==="0"&&m==="=")&&(b=!0,g="0",m="=");var R=v==="$"?n:v==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",N=v==="$"?r:/[%p]/.test(T)?s:"",j=Q6[T],C=/[defgprs%]/.test(T);w=w===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function k(U){var I=R,H=N,O,B,V;if(T==="c")H=j(U)+H,U="";else{U=+U;var G=U<0||1/U<0;if(U=isNaN(U)?l:j(Math.abs(U),w),A&&(U=DDe(U)),G&&+U==0&&y!=="+"&&(G=!1),I=(G?y==="("?y:o:y==="-"||y==="("?"":y)+I,H=(T==="s"?t$[8+TY/3]:"")+H+(G&&y==="("?")":""),C){for(O=-1,B=U.length;++OV||V>57){H=(V===46?i+U.slice(O+1):U.slice(O))+H,U=U.slice(0,O);break}}}M&&!b&&(U=e(U,1/0));var K=I.length+U.length+H.length,Y=K>1)+I+U+H+Y.slice(K);break;default:U=Y+I+U+H;break}return a(U)}return k.toString=function(){return f+""},k}function u(f,g){var m=c((f=M0(f),f.type="f",f)),y=Math.max(-8,Math.min(8,Math.floor(pm(g)/3)))*3,v=Math.pow(10,-y),b=t$[8+y/3];return function(x){return m(v*x)+b}}return{format:c,formatPrefix:u}}var n_,BD,CY;IDe({thousands:",",grouping:[3],currency:["$",""]});function IDe(t){return n_=LDe(t),BD=n_.format,CY=n_.formatPrefix,n_}function jDe(t){return Math.max(0,-pm(Math.abs(t)))}function UDe(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(pm(e)/3)))*3-pm(Math.abs(t)))}function FDe(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,pm(e)-pm(t))+1}function NY(t,e,n,r){var i=JR(t,e,n),a;switch(r=M0(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(a=UDe(i,s))&&(r.precision=a),CY(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=FDe(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=jDe(i))&&(r.precision=a-(r.type==="%")*2);break}}return BD(r)}function fd(t){var e=t.domain;return t.ticks=function(n){var r=e();return ZR(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return NY(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,a=r.length-1,s=r[i],o=r[a],l,c,u=10;for(o0;){if(c=QR(s,o,n),c===l)return r[i]=s,r[a]=o,e(r);if(c>0)s=Math.floor(s/c)*c,o=Math.ceil(o/c)*c;else if(c<0)s=Math.ceil(s*c)/c,o=Math.floor(o*c)/c;else break;l=c}return t},t}function RY(){var t=FD();return t.copy=function(){return rv(t,RY())},to.apply(t,arguments),fd(t)}function PY(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,wS),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return PY(t).unknown(e)},t=arguments.length?Array.from(t,wS):[0,1],fd(n)}function kY(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],s;return aMath.pow(t,e)}function VDe(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function i$(t){return(e,n)=>-t(-e,n)}function HD(t){const e=t(n$,r$),n=e.domain;let r=10,i,a;function s(){return i=VDe(r),a=$De(r),n()[0]<0?(i=i$(i),a=i$(a),t(zDe,BDe)):t(n$,r$),e}return e.base=function(o){return arguments.length?(r=+o,s()):r},e.domain=function(o){return arguments.length?(n(o),s()):n()},e.ticks=o=>{const l=n();let c=l[0],u=l[l.length-1];const f=u0){for(;g<=m;++g)for(y=1;yu)break;x.push(v)}}else for(;g<=m;++g)for(y=r-1;y>=1;--y)if(v=g>0?y/a(-g):y*a(g),!(vu)break;x.push(v)}x.length*2{if(o==null&&(o=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=M0(l)).precision==null&&(l.trim=!0),l=BD(l)),o===1/0)return l;const c=Math.max(1,r*o/e.ticks().length);return u=>{let f=u/a(Math.round(i(u)));return f*rn(kY(n(),{floor:o=>a(Math.floor(i(o))),ceil:o=>a(Math.ceil(i(o)))})),e}function DY(){const t=HD(Kw()).domain([1,10]);return t.copy=()=>rv(t,DY()).base(t.base()),to.apply(t,arguments),t}function a$(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function s$(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function $D(t){var e=1,n=t(a$(e),s$(e));return n.constant=function(r){return arguments.length?t(a$(e=+r),s$(e)):e},fd(n)}function OY(){var t=$D(Kw());return t.copy=function(){return rv(t,OY()).constant(t.constant())},to.apply(t,arguments)}function o$(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function GDe(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function WDe(t){return t<0?-t*t:t*t}function VD(t){var e=t(xa,xa),n=1;function r(){return n===1?t(xa,xa):n===.5?t(GDe,WDe):t(o$(n),o$(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},fd(e)}function GD(){var t=VD(Kw());return t.copy=function(){return rv(t,GD()).exponent(t.exponent())},to.apply(t,arguments),t}function qDe(){return GD.apply(null,arguments).exponent(.5)}function l$(t){return Math.sign(t)*t*t}function XDe(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function LY(){var t=FD(),e=[0,1],n=!1,r;function i(a){var s=XDe(t(a));return isNaN(s)?r:n?Math.round(s):s}return i.invert=function(a){return t.invert(l$(a))},i.domain=function(a){return arguments.length?(t.domain(a),i):t.domain()},i.range=function(a){return arguments.length?(t.range((e=Array.from(a,wS)).map(l$)),i):e.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(n=!!a,i):n},i.clamp=function(a){return arguments.length?(t.clamp(a),i):t.clamp()},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return LY(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},to.apply(i,arguments),fd(i)}function IY(){var t=[],e=[],n=[],r;function i(){var s=0,o=Math.max(1,e.length);for(n=new Array(o-1);++s0?n[o-1]:t[0],o=n?[r[n-1],e]:[r[c-1],r[c]]},s.unknown=function(l){return arguments.length&&(a=l),s},s.thresholds=function(){return r.slice()},s.copy=function(){return jY().domain([t,e]).range(i).unknown(a)},to.apply(fd(s),arguments)}function UY(){var t=[.5],e=[0,1],n,r=1;function i(a){return a!=null&&a<=a?e[tv(t,a,0,r)]:n}return i.domain=function(a){return arguments.length?(t=Array.from(a),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(a){return arguments.length?(e=Array.from(a),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(a){var s=e.indexOf(a);return[t[s-1],t[s]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return UY().domain(t).range(e).unknown(n)},to.apply(i,arguments)}const $C=new Date,VC=new Date;function di(t,e,n,r){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let c;do l.push(c=new Date(+a)),e(a,o),t(a);while(cdi(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>($C.setTime(+a),VC.setTime(+s),t($C),t(VC),Math.floor(n($C,VC))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const ES=di(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);ES.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?di(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):ES);ES.range;const ic=1e3,Vs=ic*60,ac=Vs*60,yc=ac*24,WD=yc*7,c$=yc*30,GC=yc*365,lf=di(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ic)},(t,e)=>(e-t)/ic,t=>t.getUTCSeconds());lf.range;const qD=di(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ic)},(t,e)=>{t.setTime(+t+e*Vs)},(t,e)=>(e-t)/Vs,t=>t.getMinutes());qD.range;const XD=di(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Vs)},(t,e)=>(e-t)/Vs,t=>t.getUTCMinutes());XD.range;const KD=di(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ic-t.getMinutes()*Vs)},(t,e)=>{t.setTime(+t+e*ac)},(t,e)=>(e-t)/ac,t=>t.getHours());KD.range;const YD=di(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ac)},(t,e)=>(e-t)/ac,t=>t.getUTCHours());YD.range;const iv=di(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Vs)/yc,t=>t.getDate()-1);iv.range;const Yw=di(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yc,t=>t.getUTCDate()-1);Yw.range;const FY=di(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yc,t=>Math.floor(t/yc));FY.range;function Yf(t){return di(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Vs)/WD)}const Zw=Yf(0),AS=Yf(1),KDe=Yf(2),YDe=Yf(3),mm=Yf(4),ZDe=Yf(5),QDe=Yf(6);Zw.range;AS.range;KDe.range;YDe.range;mm.range;ZDe.range;QDe.range;function Zf(t){return di(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/WD)}const Qw=Zf(0),TS=Zf(1),JDe=Zf(2),eOe=Zf(3),gm=Zf(4),tOe=Zf(5),nOe=Zf(6);Qw.range;TS.range;JDe.range;eOe.range;gm.range;tOe.range;nOe.range;const ZD=di(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());ZD.range;const QD=di(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());QD.range;const _c=di(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());_c.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:di(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});_c.range;const Sc=di(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Sc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:di(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});Sc.range;function zY(t,e,n,r,i,a){const s=[[lf,1,ic],[lf,5,5*ic],[lf,15,15*ic],[lf,30,30*ic],[a,1,Vs],[a,5,5*Vs],[a,15,15*Vs],[a,30,30*Vs],[i,1,ac],[i,3,3*ac],[i,6,6*ac],[i,12,12*ac],[r,1,yc],[r,2,2*yc],[n,1,WD],[e,1,c$],[e,3,3*c$],[t,1,GC]];function o(c,u,f){const g=ub).right(s,g);if(m===s.length)return t.every(JR(c/GC,u/GC,f));if(m===0)return ES.every(Math.max(JR(c,u,f),1));const[y,v]=s[g/s[m-1][2]53)return null;"w"in se||(se.w=1),"Z"in se?(z=qC(ex(se.y,0,1)),q=z.getUTCDay(),z=q>4||q===0?TS.ceil(z):TS(z),z=Yw.offset(z,(se.V-1)*7),se.y=z.getUTCFullYear(),se.m=z.getUTCMonth(),se.d=z.getUTCDate()+(se.w+6)%7):(z=WC(ex(se.y,0,1)),q=z.getDay(),z=q>4||q===0?AS.ceil(z):AS(z),z=iv.offset(z,(se.V-1)*7),se.y=z.getFullYear(),se.m=z.getMonth(),se.d=z.getDate()+(se.w+6)%7)}else("W"in se||"U"in se)&&("w"in se||(se.w="u"in se?se.u%7:"W"in se?1:0),q="Z"in se?qC(ex(se.y,0,1)).getUTCDay():WC(ex(se.y,0,1)).getDay(),se.m=0,se.d="W"in se?(se.w+6)%7+se.W*7-(q+5)%7:se.w+se.U*7-(q+6)%7);return"Z"in se?(se.H+=se.Z/100|0,se.M+=se.Z%100,qC(se)):WC(se)}}function j(he,me,we,se){for(var st=0,z=me.length,q=we.length,ie,Q;st=q)return-1;if(ie=me.charCodeAt(st++),ie===37){if(ie=me.charAt(st++),Q=T[ie in u$?me.charAt(st++):ie],!Q||(se=Q(he,we,se))<0)return-1}else if(ie!=we.charCodeAt(se++))return-1}return se}function C(he,me,we){var se=c.exec(me.slice(we));return se?(he.p=u.get(se[0].toLowerCase()),we+se[0].length):-1}function k(he,me,we){var se=m.exec(me.slice(we));return se?(he.w=y.get(se[0].toLowerCase()),we+se[0].length):-1}function U(he,me,we){var se=f.exec(me.slice(we));return se?(he.w=g.get(se[0].toLowerCase()),we+se[0].length):-1}function I(he,me,we){var se=x.exec(me.slice(we));return se?(he.m=M.get(se[0].toLowerCase()),we+se[0].length):-1}function H(he,me,we){var se=v.exec(me.slice(we));return se?(he.m=b.get(se[0].toLowerCase()),we+se[0].length):-1}function O(he,me,we){return j(he,e,me,we)}function B(he,me,we){return j(he,n,me,we)}function V(he,me,we){return j(he,r,me,we)}function G(he){return s[he.getDay()]}function K(he){return a[he.getDay()]}function Y(he){return l[he.getMonth()]}function oe(he){return o[he.getMonth()]}function $(he){return i[+(he.getHours()>=12)]}function X(he){return 1+~~(he.getMonth()/3)}function ae(he){return s[he.getUTCDay()]}function ce(he){return a[he.getUTCDay()]}function xe(he){return l[he.getUTCMonth()]}function te(he){return o[he.getUTCMonth()]}function ve(he){return i[+(he.getUTCHours()>=12)]}function De(he){return 1+~~(he.getUTCMonth()/3)}return{format:function(he){var me=R(he+="",w);return me.toString=function(){return he},me},parse:function(he){var me=N(he+="",!1);return me.toString=function(){return he},me},utcFormat:function(he){var me=R(he+="",A);return me.toString=function(){return he},me},utcParse:function(he){var me=N(he+="",!0);return me.toString=function(){return he},me}}}var u$={"-":"",_:" ",0:"0"},Ri=/^\s*\d+/,lOe=/^%/,cOe=/[\\^$*+?|[\]().{}]/g;function Tn(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function dOe(t,e,n){var r=Ri.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function fOe(t,e,n){var r=Ri.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function hOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function pOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function mOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function d$(t,e,n){var r=Ri.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function f$(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function gOe(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function xOe(t,e,n){var r=Ri.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function vOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function h$(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function bOe(t,e,n){var r=Ri.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function p$(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function yOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function _Oe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function SOe(t,e,n){var r=Ri.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function wOe(t,e,n){var r=Ri.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function MOe(t,e,n){var r=lOe.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function EOe(t,e,n){var r=Ri.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function AOe(t,e,n){var r=Ri.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function m$(t,e){return Tn(t.getDate(),e,2)}function TOe(t,e){return Tn(t.getHours(),e,2)}function COe(t,e){return Tn(t.getHours()%12||12,e,2)}function NOe(t,e){return Tn(1+iv.count(_c(t),t),e,3)}function BY(t,e){return Tn(t.getMilliseconds(),e,3)}function ROe(t,e){return BY(t,e)+"000"}function POe(t,e){return Tn(t.getMonth()+1,e,2)}function kOe(t,e){return Tn(t.getMinutes(),e,2)}function DOe(t,e){return Tn(t.getSeconds(),e,2)}function OOe(t){var e=t.getDay();return e===0?7:e}function LOe(t,e){return Tn(Zw.count(_c(t)-1,t),e,2)}function HY(t){var e=t.getDay();return e>=4||e===0?mm(t):mm.ceil(t)}function IOe(t,e){return t=HY(t),Tn(mm.count(_c(t),t)+(_c(t).getDay()===4),e,2)}function jOe(t){return t.getDay()}function UOe(t,e){return Tn(AS.count(_c(t)-1,t),e,2)}function FOe(t,e){return Tn(t.getFullYear()%100,e,2)}function zOe(t,e){return t=HY(t),Tn(t.getFullYear()%100,e,2)}function BOe(t,e){return Tn(t.getFullYear()%1e4,e,4)}function HOe(t,e){var n=t.getDay();return t=n>=4||n===0?mm(t):mm.ceil(t),Tn(t.getFullYear()%1e4,e,4)}function $Oe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Tn(e/60|0,"0",2)+Tn(e%60,"0",2)}function g$(t,e){return Tn(t.getUTCDate(),e,2)}function VOe(t,e){return Tn(t.getUTCHours(),e,2)}function GOe(t,e){return Tn(t.getUTCHours()%12||12,e,2)}function WOe(t,e){return Tn(1+Yw.count(Sc(t),t),e,3)}function $Y(t,e){return Tn(t.getUTCMilliseconds(),e,3)}function qOe(t,e){return $Y(t,e)+"000"}function XOe(t,e){return Tn(t.getUTCMonth()+1,e,2)}function KOe(t,e){return Tn(t.getUTCMinutes(),e,2)}function YOe(t,e){return Tn(t.getUTCSeconds(),e,2)}function ZOe(t){var e=t.getUTCDay();return e===0?7:e}function QOe(t,e){return Tn(Qw.count(Sc(t)-1,t),e,2)}function VY(t){var e=t.getUTCDay();return e>=4||e===0?gm(t):gm.ceil(t)}function JOe(t,e){return t=VY(t),Tn(gm.count(Sc(t),t)+(Sc(t).getUTCDay()===4),e,2)}function eLe(t){return t.getUTCDay()}function tLe(t,e){return Tn(TS.count(Sc(t)-1,t),e,2)}function nLe(t,e){return Tn(t.getUTCFullYear()%100,e,2)}function rLe(t,e){return t=VY(t),Tn(t.getUTCFullYear()%100,e,2)}function iLe(t,e){return Tn(t.getUTCFullYear()%1e4,e,4)}function aLe(t,e){var n=t.getUTCDay();return t=n>=4||n===0?gm(t):gm.ceil(t),Tn(t.getUTCFullYear()%1e4,e,4)}function sLe(){return"+0000"}function x$(){return"%"}function v$(t){return+t}function b$(t){return Math.floor(+t/1e3)}var hp,GY,WY;oLe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function oLe(t){return hp=oOe(t),GY=hp.format,hp.parse,WY=hp.utcFormat,hp.utcParse,hp}function lLe(t){return new Date(t)}function cLe(t){return t instanceof Date?+t:+new Date(+t)}function JD(t,e,n,r,i,a,s,o,l,c){var u=FD(),f=u.invert,g=u.domain,m=c(".%L"),y=c(":%S"),v=c("%I:%M"),b=c("%I %p"),x=c("%a %d"),M=c("%b %d"),w=c("%B"),A=c("%Y");function T(R){return(l(R)e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,a)=>Zke(t,a/r))},n.copy=function(){return YY(e).domain(t)},Rc.apply(n,arguments)}function eM(){var t=0,e=.5,n=1,r=1,i,a,s,o,l,c=xa,u,f=!1,g;function m(v){return isNaN(v=+v)?g:(v=.5+((v=+u(v))-a)*(r*vt.chartData,nO=$e([pd],t=>{var e=t.chartData!=null?t.chartData.length-1:0;return{chartData:t.chartData,computedData:t.computedData,dataEndIndex:e,dataStartIndex:0}}),tM=(t,e,n,r)=>r?nO(t):pd(t);function nd(t){if(Array.isArray(t)&&t.length===2){var[e,n]=t;if(or(e)&&or(n))return!0}return!1}function y$(t,e,n){return n?t:[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}function eZ(t,e){if(e&&typeof t!="function"&&Array.isArray(t)&&t.length===2){var[n,r]=t,i,a;if(or(n))i=n;else if(typeof n=="function")return;if(or(r))a=r;else if(typeof r=="function")return;var s=[i,a];if(nd(s))return s}}function pLe(t,e,n){if(!(!n&&e==null)){if(typeof t=="function"&&e!=null)try{var r=t(e,n);if(nd(r))return y$(r,e,n)}catch{}if(Array.isArray(t)&&t.length===2){var[i,a]=t,s,o;if(i==="auto")e!=null&&(s=Math.min(...e));else if(At(i))s=i;else if(typeof i=="function")try{e!=null&&(s=i(e?.[0]))}catch{}else if(typeof i=="string"&&X8.test(i)){var l=X8.exec(i);if(l==null||e==null)s=void 0;else{var c=+l[1];s=e[0]-c}}else s=e?.[0];if(a==="auto")e!=null&&(o=Math.max(...e));else if(At(a))o=a;else if(typeof a=="function")try{e!=null&&(o=a(e?.[1]))}catch{}else if(typeof a=="string"&&K8.test(a)){var u=K8.exec(a);if(u==null||e==null)o=void 0;else{var f=+u[1];o=e[1]+f}}else o=e?.[1];var g=[s,o];if(nd(g))return e==null?g:y$(g,e,n)}}}var Pm=1e9,mLe={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},iO,dr=!0,Qs="[DecimalError] ",_f=Qs+"Invalid argument: ",rO=Qs+"Exponent out of range: ",km=Math.floor,qd=Math.pow,gLe=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,us,Mi=1e7,ar=7,tZ=9007199254740991,CS=km(tZ/ar),Ct={};Ct.absoluteValue=Ct.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};Ct.comparedTo=Ct.cmp=function(t){var e,n,r,i,a=this;if(t=new a.constructor(t),a.s!==t.s)return a.s||-t.s;if(a.e!==t.e)return a.e>t.e^a.s<0?1:-1;for(r=a.d.length,i=t.d.length,e=0,n=rt.d[e]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1};Ct.decimalPlaces=Ct.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*ar;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Ct.dividedBy=Ct.div=function(t){return fc(this,new this.constructor(t))};Ct.dividedToIntegerBy=Ct.idiv=function(t){var e=this,n=e.constructor;return Zn(fc(e,new n(t),0,1),n.precision)};Ct.equals=Ct.eq=function(t){return!this.cmp(t)};Ct.exponent=function(){return Xr(this)};Ct.greaterThan=Ct.gt=function(t){return this.cmp(t)>0};Ct.greaterThanOrEqualTo=Ct.gte=function(t){return this.cmp(t)>=0};Ct.isInteger=Ct.isint=function(){return this.e>this.d.length-2};Ct.isNegative=Ct.isneg=function(){return this.s<0};Ct.isPositive=Ct.ispos=function(){return this.s>0};Ct.isZero=function(){return this.s===0};Ct.lessThan=Ct.lt=function(t){return this.cmp(t)<0};Ct.lessThanOrEqualTo=Ct.lte=function(t){return this.cmp(t)<1};Ct.logarithm=Ct.log=function(t){var e,n=this,r=n.constructor,i=r.precision,a=i+5;if(t===void 0)t=new r(10);else if(t=new r(t),t.s<1||t.eq(us))throw Error(Qs+"NaN");if(n.s<1)throw Error(Qs+(n.s?"NaN":"-Infinity"));return n.eq(us)?new r(0):(dr=!1,e=fc(E0(n,a),E0(t,a),a),dr=!0,Zn(e,i))};Ct.minus=Ct.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?iZ(e,t):nZ(e,(t.s=-t.s,t))};Ct.modulo=Ct.mod=function(t){var e,n=this,r=n.constructor,i=r.precision;if(t=new r(t),!t.s)throw Error(Qs+"NaN");return n.s?(dr=!1,e=fc(n,t,0,1).times(t),dr=!0,n.minus(e)):Zn(new r(n),i)};Ct.naturalExponential=Ct.exp=function(){return rZ(this)};Ct.naturalLogarithm=Ct.ln=function(){return E0(this)};Ct.negated=Ct.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Ct.plus=Ct.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?nZ(e,t):iZ(e,(t.s=-t.s,t))};Ct.precision=Ct.sd=function(t){var e,n,r,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(_f+t);if(e=Xr(i)+1,r=i.d.length-1,n=r*ar+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return t&&e>n?e:n};Ct.squareRoot=Ct.sqrt=function(){var t,e,n,r,i,a,s,o=this,l=o.constructor;if(o.s<1){if(!o.s)return new l(0);throw Error(Qs+"NaN")}for(t=Xr(o),dr=!1,i=Math.sqrt(+o),i==0||i==1/0?(e=qo(o.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=km((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),r=new l(e)):r=new l(i.toString()),n=l.precision,i=s=n+3;;)if(a=r,r=a.plus(fc(o,a,s+2)).times(.5),qo(a.d).slice(0,s)===(e=qo(r.d)).slice(0,s)){if(e=e.slice(s-3,s+1),i==s&&e=="4999"){if(Zn(a,n+1,0),a.times(a).eq(o)){r=a;break}}else if(e!="9999")break;s+=4}return dr=!0,Zn(r,n)};Ct.times=Ct.mul=function(t){var e,n,r,i,a,s,o,l,c,u=this,f=u.constructor,g=u.d,m=(t=new f(t)).d;if(!u.s||!t.s)return new f(0);for(t.s*=u.s,n=u.e+t.e,l=g.length,c=m.length,l=0;){for(e=0,i=l+r;i>r;)o=a[i]+m[r]*g[i-r-1]+e,a[i--]=o%Mi|0,e=o/Mi|0;a[i]=(a[i]+e)%Mi|0}for(;!a[--s];)a.pop();return e?++n:a.shift(),t.d=a,t.e=n,dr?Zn(t,f.precision):t};Ct.toDecimalPlaces=Ct.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(ol(t,0,Pm),e===void 0?e=r.rounding:ol(e,0,8),Zn(n,t+Xr(n)+1,e))};Ct.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=Hf(r,!0):(ol(t,0,Pm),e===void 0?e=i.rounding:ol(e,0,8),r=Zn(new i(r),t+1,e),n=Hf(r,!0,t+1)),n};Ct.toFixed=function(t,e){var n,r,i=this,a=i.constructor;return t===void 0?Hf(i):(ol(t,0,Pm),e===void 0?e=a.rounding:ol(e,0,8),r=Zn(new a(i),t+Xr(i)+1,e),n=Hf(r.abs(),!1,t+Xr(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Ct.toInteger=Ct.toint=function(){var t=this,e=t.constructor;return Zn(new e(t),Xr(t)+1,e.rounding)};Ct.toNumber=function(){return+this};Ct.toPower=Ct.pow=function(t){var e,n,r,i,a,s,o=this,l=o.constructor,c=12,u=+(t=new l(t));if(!t.s)return new l(us);if(o=new l(o),!o.s){if(t.s<1)throw Error(Qs+"Infinity");return o}if(o.eq(us))return o;if(r=l.precision,t.eq(us))return Zn(o,r);if(e=t.e,n=t.d.length-1,s=e>=n,a=o.s,s){if((n=u<0?-u:u)<=tZ){for(i=new l(us),e=Math.ceil(r/ar+4),dr=!1;n%2&&(i=i.times(o),S$(i.d,e)),n=km(n/2),n!==0;)o=o.times(o),S$(o.d,e);return dr=!0,t.s<0?new l(us).div(i):Zn(i,r)}}else if(a<0)throw Error(Qs+"NaN");return a=a<0&&t.d[Math.max(e,n)]&1?-1:1,o.s=1,dr=!1,i=t.times(E0(o,r+c)),dr=!0,i=rZ(i),i.s=a,i};Ct.toPrecision=function(t,e){var n,r,i=this,a=i.constructor;return t===void 0?(n=Xr(i),r=Hf(i,n<=a.toExpNeg||n>=a.toExpPos)):(ol(t,1,Pm),e===void 0?e=a.rounding:ol(e,0,8),i=Zn(new a(i),t,e),n=Xr(i),r=Hf(i,t<=n||n<=a.toExpNeg,t)),r};Ct.toSignificantDigits=Ct.tosd=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(ol(t,1,Pm),e===void 0?e=r.rounding:ol(e,0,8)),Zn(new r(n),t,e)};Ct.toString=Ct.valueOf=Ct.val=Ct.toJSON=Ct[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=Xr(t),n=t.constructor;return Hf(t,e<=n.toExpNeg||e>=n.toExpPos)};function nZ(t,e){var n,r,i,a,s,o,l,c,u=t.constructor,f=u.precision;if(!t.s||!e.s)return e.s||(e=new u(t)),dr?Zn(e,f):e;if(l=t.d,c=e.d,s=t.e,i=e.e,l=l.slice(),a=s-i,a){for(a<0?(r=l,a=-a,o=c.length):(r=c,i=s,o=l.length),s=Math.ceil(f/ar),o=s>o?s+1:o+1,a>o&&(a=o,r.length=1),r.reverse();a--;)r.push(0);r.reverse()}for(o=l.length,a=c.length,o-a<0&&(a=o,r=c,c=l,l=r),n=0;a;)n=(l[--a]=l[a]+c[a]+n)/Mi|0,l[a]%=Mi;for(n&&(l.unshift(n),++i),o=l.length;l[--o]==0;)l.pop();return e.d=l,e.e=i,dr?Zn(e,f):e}function ol(t,e,n){if(t!==~~t||tn)throw Error(_f+t)}function qo(t){var e,n,r,i=t.length-1,a="",s=t[0];if(i>0){for(a+=s,e=1;es?1:-1;else for(o=l=0;oi[o]?1:-1;break}return l}function n(r,i,a){for(var s=0;a--;)r[a]-=s,s=r[a]1;)r.shift()}return function(r,i,a,s){var o,l,c,u,f,g,m,y,v,b,x,M,w,A,T,R,N,j,C=r.constructor,k=r.s==i.s?1:-1,U=r.d,I=i.d;if(!r.s)return new C(r);if(!i.s)throw Error(Qs+"Division by zero");for(l=r.e-i.e,N=I.length,T=U.length,m=new C(k),y=m.d=[],c=0;I[c]==(U[c]||0);)++c;if(I[c]>(U[c]||0)&&--l,a==null?M=a=C.precision:s?M=a+(Xr(r)-Xr(i))+1:M=a,M<0)return new C(0);if(M=M/ar+2|0,c=0,N==1)for(u=0,I=I[0],M++;(c1&&(I=t(I,u),U=t(U,u),N=I.length,T=U.length),A=N,v=U.slice(0,N),b=v.length;b=Mi/2&&++R;do u=0,o=e(I,v,N,b),o<0?(x=v[0],N!=b&&(x=x*Mi+(v[1]||0)),u=x/R|0,u>1?(u>=Mi&&(u=Mi-1),f=t(I,u),g=f.length,b=v.length,o=e(f,v,g,b),o==1&&(u--,n(f,N16)throw Error(rO+Xr(t));if(!t.s)return new u(us);for(dr=!1,o=f,s=new u(.03125);t.abs().gte(.1);)t=t.times(s),c+=5;for(r=Math.log(qd(2,c))/Math.LN10*2+5|0,o+=r,n=i=a=new u(us),u.precision=o;;){if(i=Zn(i.times(t),o),n=n.times(++l),s=a.plus(fc(i,n,o)),qo(s.d).slice(0,o)===qo(a.d).slice(0,o)){for(;c--;)a=Zn(a.times(a),o);return u.precision=f,e==null?(dr=!0,Zn(a,f)):a}a=s}}function Xr(t){for(var e=t.e*ar,n=t.d[0];n>=10;n/=10)e++;return e}function XC(t,e,n){if(e>t.LN10.sd())throw dr=!0,n&&(t.precision=n),Error(Qs+"LN10 precision limit exceeded");return Zn(new t(t.LN10),e)}function Au(t){for(var e="";t--;)e+="0";return e}function E0(t,e){var n,r,i,a,s,o,l,c,u,f=1,g=10,m=t,y=m.d,v=m.constructor,b=v.precision;if(m.s<1)throw Error(Qs+(m.s?"NaN":"-Infinity"));if(m.eq(us))return new v(0);if(e==null?(dr=!1,c=b):c=e,m.eq(10))return e==null&&(dr=!0),XC(v,c);if(c+=g,v.precision=c,n=qo(y),r=n.charAt(0),a=Xr(m),Math.abs(a)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)m=m.times(t),n=qo(m.d),r=n.charAt(0),f++;a=Xr(m),r>1?(m=new v("0."+n),a++):m=new v(r+"."+n.slice(1))}else return l=XC(v,c+2,b).times(a+""),m=E0(new v(r+"."+n.slice(1)),c-g).plus(l),v.precision=b,e==null?(dr=!0,Zn(m,b)):m;for(o=s=m=fc(m.minus(us),m.plus(us),c),u=Zn(m.times(m),c),i=3;;){if(s=Zn(s.times(u),c),l=o.plus(fc(s,new v(i),c)),qo(l.d).slice(0,c)===qo(o.d).slice(0,c))return o=o.times(2),a!==0&&(o=o.plus(XC(v,c+2,b).times(a+""))),o=fc(o,new v(f),c),v.precision=b,e==null?(dr=!0,Zn(o,b)):o;o=l,i+=2}}function _$(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;)++r;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(r,i),e){if(i-=r,n=n-r-1,t.e=km(n/ar),t.d=[],r=(n+1)%ar,n<0&&(r+=ar),rCS||t.e<-CS))throw Error(rO+n)}else t.s=0,t.e=0,t.d=[0];return t}function Zn(t,e,n){var r,i,a,s,o,l,c,u,f=t.d;for(s=1,a=f[0];a>=10;a/=10)s++;if(r=e-s,r<0)r+=ar,i=e,c=f[u=0];else{if(u=Math.ceil((r+1)/ar),a=f.length,u>=a)return t;for(c=a=f[u],s=1;a>=10;a/=10)s++;r%=ar,i=r-ar+s}if(n!==void 0&&(a=qd(10,s-i-1),o=c/a%10|0,l=e<0||f[u+1]!==void 0||c%a,l=n<4?(o||l)&&(n==0||n==(t.s<0?3:2)):o>5||o==5&&(n==4||l||n==6&&(r>0?i>0?c/qd(10,s-i):0:f[u-1])%10&1||n==(t.s<0?8:7))),e<1||!f[0])return l?(a=Xr(t),f.length=1,e=e-a-1,f[0]=qd(10,(ar-e%ar)%ar),t.e=km(-e/ar)||0):(f.length=1,f[0]=t.e=t.s=0),t;if(r==0?(f.length=u,a=1,u--):(f.length=u+1,a=qd(10,ar-r),f[u]=i>0?(c/qd(10,s-i)%qd(10,i)|0)*a:0),l)for(;;)if(u==0){(f[0]+=a)==Mi&&(f[0]=1,++t.e);break}else{if(f[u]+=a,f[u]!=Mi)break;f[u--]=0,a=1}for(r=f.length;f[--r]===0;)f.pop();if(dr&&(t.e>CS||t.e<-CS))throw Error(rO+Xr(t));return t}function iZ(t,e){var n,r,i,a,s,o,l,c,u,f,g=t.constructor,m=g.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new g(t),dr?Zn(e,m):e;if(l=t.d,f=e.d,r=e.e,c=t.e,l=l.slice(),s=c-r,s){for(u=s<0,u?(n=l,s=-s,o=f.length):(n=f,r=c,o=l.length),i=Math.max(Math.ceil(m/ar),o)+2,s>i&&(s=i,n.length=1),n.reverse(),i=s;i--;)n.push(0);n.reverse()}else{for(i=l.length,o=f.length,u=i0;--i)l[o++]=0;for(i=f.length;i>s;){if(l[--i]0?a=a.charAt(0)+"."+a.slice(1)+Au(r):s>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Au(-i-1)+a,n&&(r=n-s)>0&&(a+=Au(r))):i>=s?(a+=Au(i+1-s),n&&(r=n-i-1)>0&&(a=a+"."+Au(r))):((r=i+1)0&&(i+1===s&&(a+="."),a+=Au(r))),t.s<0?"-"+a:a}function S$(t,e){if(t.length>e)return t.length=e,!0}function aZ(t){var e,n,r;function i(a){var s=this;if(!(s instanceof i))return new i(a);if(s.constructor=i,a instanceof i){s.s=a.s,s.e=a.e,s.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(_f+a);if(a>0)s.s=1;else if(a<0)a=-a,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(a===~~a&&a<1e7){s.e=0,s.d=[a];return}return _$(s,a.toString())}else if(typeof a!="string")throw Error(_f+a);if(a.charCodeAt(0)===45?(a=a.slice(1),s.s=-1):s.s=1,gLe.test(a))_$(s,a);else throw Error(_f+a)}if(i.prototype=Ct,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=aZ,i.config=i.set=xLe,t===void 0&&(t={}),t)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(_f+n+": "+r);if((r=t[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(_f+n+": "+r);return this}var iO=aZ(mLe);us=new iO(1);const Ln=iO;var vLe=t=>t,sZ={},oZ=t=>t===sZ,w$=t=>function e(){return arguments.length===0||arguments.length===1&&oZ(arguments.length<=0?void 0:arguments[0])?e:t(...arguments)},lZ=(t,e)=>t===1?e:w$(function(){for(var n=arguments.length,r=new Array(n),i=0;is!==sZ).length;return a>=t?e(...r):lZ(t-a,w$(function(){for(var s=arguments.length,o=new Array(s),l=0;loZ(u)?o.shift():u);return e(...c,...o)}))}),bLe=t=>lZ(t.length,t),iP=(t,e)=>{for(var n=[],r=t;rArray.isArray(e)?e.map(t):Object.keys(e).map(n=>e[n]).map(t)),_Le=function(){for(var e=arguments.length,n=new Array(e),r=0;rl(o),a(...arguments))}},aP=t=>Array.isArray(t)?t.reverse():t.split("").reverse().join("");function cZ(t){var e;return t===0?e=1:e=Math.floor(new Ln(t).abs().log(10).toNumber())+1,e}function uZ(t,e,n){for(var r=new Ln(t),i=0,a=[];r.lt(e)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var dZ=t=>{var[e,n]=t,[r,i]=[e,n];return e>n&&([r,i]=[n,e]),[r,i]},fZ=(t,e,n)=>{if(t.lte(0))return new Ln(0);var r=cZ(t.toNumber()),i=new Ln(10).pow(r),a=t.div(i),s=r!==1?.05:.1,o=new Ln(Math.ceil(a.div(s).toNumber())).add(n).mul(s),l=o.mul(i);return e?new Ln(l.toNumber()):new Ln(Math.ceil(l.toNumber()))},SLe=(t,e,n)=>{var r=new Ln(1),i=new Ln(t);if(!i.isint()&&n){var a=Math.abs(t);a<1?(r=new Ln(10).pow(cZ(t)-1),i=new Ln(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new Ln(Math.floor(t)))}else t===0?i=new Ln(Math.floor((e-1)/2)):n||(i=new Ln(Math.floor(t)));var s=Math.floor((e-1)/2),o=_Le(yLe(l=>i.add(new Ln(l-s).mul(r)).toNumber()),iP);return o(0,e)},hZ=function(e,n,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new Ln(0),tickMin:new Ln(0),tickMax:new Ln(0)};var s=fZ(new Ln(n).sub(e).div(r-1),i,a),o;e<=0&&n>=0?o=new Ln(0):(o=new Ln(e).add(n).div(2),o=o.sub(new Ln(o).mod(s)));var l=Math.ceil(o.sub(e).div(s).toNumber()),c=Math.ceil(new Ln(n).sub(o).div(s).toNumber()),u=l+c+1;return u>r?hZ(e,n,r,i,a+1):(u0?c+(r-u):c,l=n>0?l:l+(r-u)),{step:s,tickMin:o.sub(new Ln(l).mul(s)),tickMax:o.add(new Ln(c).mul(s))})},wLe=function(e){var[n,r]=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=Math.max(i,2),[o,l]=dZ([n,r]);if(o===-1/0||l===1/0){var c=l===1/0?[o,...iP(0,i-1).map(()=>1/0)]:[...iP(0,i-1).map(()=>-1/0),l];return n>r?aP(c):c}if(o===l)return SLe(o,i,a);var{step:u,tickMin:f,tickMax:g}=hZ(o,l,s,a,0),m=uZ(f,g.add(new Ln(.1).mul(u)),u);return n>r?aP(m):m},MLe=function(e,n){var[r,i]=e,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,[s,o]=dZ([r,i]);if(s===-1/0||o===1/0)return[r,i];if(s===o)return[s];var l=Math.max(n,2),c=fZ(new Ln(o).sub(s).div(l-1),a,0),u=[...uZ(new Ln(s),new Ln(o),c),o];return a===!1&&(u=u.map(f=>Math.round(f))),r>i?aP(u):u},pZ=t=>t.rootProps.maxBarSize,ELe=t=>t.rootProps.barGap,mZ=t=>t.rootProps.barCategoryGap,ALe=t=>t.rootProps.barSize,av=t=>t.rootProps.stackOffset,gZ=t=>t.rootProps.reverseStackOrder,aO=t=>t.options.chartName,sO=t=>t.rootProps.syncId,xZ=t=>t.rootProps.syncMethod,oO=t=>t.options.eventEmitter,TLe=t=>t.rootProps.baseValue,Wr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Zl={allowDuplicatedCategory:!0,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"category"},ss={allowDataOverflow:!1,allowDuplicatedCategory:!0,radiusAxisId:0,scale:"auto",tick:!0,tickCount:5,type:"number"},nM=(t,e)=>{if(!(!t||!e))return t!=null&&t.reversed?[e[1],e[0]]:e},CLe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:Zl.angleAxisId,includeHidden:!1,name:void 0,reversed:Zl.reversed,scale:Zl.scale,tick:Zl.tick,tickCount:void 0,ticks:void 0,type:Zl.type,unit:void 0},NLe={allowDataOverflow:ss.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:ss.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:ss.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:ss.scale,tick:ss.tick,tickCount:ss.tickCount,ticks:void 0,type:ss.type,unit:void 0},RLe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:Zl.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:Zl.angleAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:Zl.scale,tick:Zl.tick,tickCount:void 0,ticks:void 0,type:"number",unit:void 0},PLe={allowDataOverflow:ss.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:ss.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:ss.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:ss.scale,tick:ss.tick,tickCount:ss.tickCount,ticks:void 0,type:"category",unit:void 0},lO=(t,e)=>t.polarAxis.angleAxis[e]!=null?t.polarAxis.angleAxis[e]:t.layout.layoutType==="radial"?RLe:CLe,cO=(t,e)=>t.polarAxis.radiusAxis[e]!=null?t.polarAxis.radiusAxis[e]:t.layout.layoutType==="radial"?PLe:NLe,rM=t=>t.polarOptions,uO=$e([Cc,Nc,ui],mY),vZ=$e([rM,uO],(t,e)=>{if(t!=null)return sa(t.innerRadius,e,0)}),bZ=$e([rM,uO],(t,e)=>{if(t!=null)return sa(t.outerRadius,e,e*.8)}),kLe=t=>{if(t==null)return[0,0];var{startAngle:e,endAngle:n}=t;return[e,n]},yZ=$e([rM],kLe);$e([lO,yZ],nM);var _Z=$e([uO,vZ,bZ],(t,e,n)=>{if(!(t==null||e==null||n==null))return[e,n]});$e([cO,_Z],nM);var SZ=$e([Sn,rM,vZ,bZ,Cc,Nc],(t,e,n,r,i,a)=>{if(!(t!=="centric"&&t!=="radial"||e==null||n==null||r==null)){var{cx:s,cy:o,startAngle:l,endAngle:c}=e;return{cx:sa(s,i,i/2),cy:sa(o,a,a/2),innerRadius:n,outerRadius:r,startAngle:l,endAngle:c,clockWise:!1}}}),fr=(t,e)=>e,sv=(t,e,n)=>n;function iM(t){return t?.id}function wZ(t,e,n){var{chartData:r=[]}=e,{allowDuplicatedCategory:i,dataKey:a}=n,s=new Map;return t.forEach(o=>{var l,c=(l=o.data)!==null&&l!==void 0?l:r;if(!(c==null||c.length===0)){var u=iM(o);c.forEach((f,g)=>{var m=a==null||i?g:String(Yn(f,a,null)),y=Yn(f,o.dataKey,0),v;s.has(m)?v=s.get(m):v={},Object.assign(v,{[u]:y}),s.set(m,v)})}}),Array.from(s.values())}function aM(t){return t.stackId!=null&&t.dataKey!=null}var sM=(t,e)=>t===e?!0:t==null||e==null?!1:t[0]===e[0]&&t[1]===e[1];function oM(t,e){return Array.isArray(t)&&Array.isArray(e)&&t.length===0&&e.length===0?!0:t===e}function DLe(t,e){if(t.length===e.length){for(var n=0;n{var e=Sn(t);return e==="horizontal"?"xAxis":e==="vertical"?"yAxis":e==="centric"?"angleAxis":"radiusAxis"},Dm=t=>t.tooltip.settings.axisId;function M$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function NS(t){for(var e=1;et.cartesianAxis.xAxis[e],Pc=(t,e)=>{var n=MZ(t,e);return n??Si},wi={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:sP,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,width:Z0},EZ=(t,e)=>t.cartesianAxis.yAxis[e],kc=(t,e)=>{var n=EZ(t,e);return n??wi},jLe={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},dO=(t,e)=>{var n=t.cartesianAxis.zAxis[e];return n??jLe},vr=(t,e,n)=>{switch(e){case"xAxis":return Pc(t,n);case"yAxis":return kc(t,n);case"zAxis":return dO(t,n);case"angleAxis":return lO(t,n);case"radiusAxis":return cO(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},ULe=(t,e,n)=>{switch(e){case"xAxis":return Pc(t,n);case"yAxis":return kc(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},ov=(t,e,n)=>{switch(e){case"xAxis":return Pc(t,n);case"yAxis":return kc(t,n);case"angleAxis":return lO(t,n);case"radiusAxis":return cO(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},AZ=t=>t.graphicalItems.cartesianItems.some(e=>e.type==="bar")||t.graphicalItems.polarItems.some(e=>e.type==="radialBar");function fO(t,e){return n=>{switch(t){case"xAxis":return"xAxisId"in n&&n.xAxisId===e;case"yAxis":return"yAxisId"in n&&n.yAxisId===e;case"zAxis":return"zAxisId"in n&&n.zAxisId===e;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===e;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===e;default:return!1}}}var lM=t=>t.graphicalItems.cartesianItems,FLe=$e([fr,sv],fO),hO=(t,e,n)=>t.filter(n).filter(r=>e?.includeHidden===!0?!0:!r.hide),lv=$e([lM,vr,FLe],hO,{memoizeOptions:{resultEqualityCheck:oM}}),TZ=$e([lv],t=>t.filter(e=>e.type==="area"||e.type==="bar").filter(aM)),CZ=t=>t.filter(e=>!("stackId"in e)||e.stackId===void 0),zLe=$e([lv],CZ),pO=t=>t.map(e=>e.data).filter(Boolean).flat(1),BLe=$e([lv],pO,{memoizeOptions:{resultEqualityCheck:oM}}),mO=(t,e)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=e;return t.length>0?t:n.slice(r,i+1)},gO=$e([BLe,tM],mO),xO=(t,e,n)=>e?.dataKey!=null?t.map(r=>({value:Yn(r,e.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>t.map(i=>({value:Yn(i,r)}))):t.map(r=>({value:r})),cM=$e([gO,vr,lv],xO);function NZ(t,e){switch(t){case"xAxis":return e.direction==="x";case"yAxis":return e.direction==="y";default:return!1}}function D_(t){if(al(t)||t instanceof Date){var e=Number(t);if(or(e))return e}}function E$(t){if(Array.isArray(t)){var e=[D_(t[0]),D_(t[1])];return nd(e)?e:void 0}var n=D_(t);if(n!=null)return[n,n]}function wc(t){return t.map(D_).filter(zCe)}function HLe(t,e,n){return!n||typeof e!="number"||Ys(e)?[]:n.length?wc(n.flatMap(r=>{var i=Yn(t,r.dataKey),a,s;if(Array.isArray(i)?[a,s]=i:a=s=i,!(!or(a)||!or(s)))return[e-a,e+s]})):[]}var hi=t=>{var e=fi(t),n=Dm(t);return ov(t,e,n)},cv=$e([hi],t=>t?.dataKey),$Le=$e([TZ,tM,hi],wZ),RZ=(t,e,n,r)=>{var i={},a=e.reduce((s,o)=>(o.stackId==null||(s[o.stackId]==null&&(s[o.stackId]=[]),s[o.stackId].push(o)),s),i);return Object.fromEntries(Object.entries(a).map(s=>{var[o,l]=s,c=r?[...l].reverse():l,u=c.map(iM);return[o,{stackedData:lRe(t,u,n),graphicalItems:c}]}))},A0=$e([$Le,TZ,av,gZ],RZ),PZ=(t,e,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=e;if(r==null&&n!=="zAxis"){var s=fRe(t,i,a);if(!(s!=null&&s[0]===0&&s[1]===0))return s}},VLe=$e([vr],t=>t.allowDataOverflow),vO=t=>{var e;if(t==null||!("domain"in t))return sP;if(t.domain!=null)return t.domain;if(t.ticks!=null){if(t.type==="number"){var n=wc(t.ticks);return[Math.min(...n),Math.max(...n)]}if(t.type==="category")return t.ticks.map(String)}return(e=t?.domain)!==null&&e!==void 0?e:sP},bO=$e([vr],vO),yO=$e([bO,VLe],eZ),GLe=$e([A0,pd,fr,yO],PZ,{memoizeOptions:{resultEqualityCheck:sM}}),uM=t=>t.errorBars,WLe=(t,e,n)=>t.flatMap(r=>e[r.id]).filter(Boolean).filter(r=>NZ(n,r)),RS=function(){for(var e=arguments.length,n=new Array(e),r=0;r{var a,s;if(n.length>0&&t.forEach(o=>{n.forEach(l=>{var c,u,f=(c=r[l.id])===null||c===void 0?void 0:c.filter(x=>NZ(i,x)),g=Yn(o,(u=e.dataKey)!==null&&u!==void 0?u:l.dataKey),m=HLe(o,g,f);if(m.length>=2){var y=Math.min(...m),v=Math.max(...m);(a==null||ys)&&(s=v)}var b=E$(g);b!=null&&(a=a==null?b[0]:Math.min(a,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),e?.dataKey!=null&&t.forEach(o=>{var l=E$(Yn(o,e.dataKey));l!=null&&(a=a==null?l[0]:Math.min(a,l[0]),s=s==null?l[1]:Math.max(s,l[1]))}),or(a)&&or(s))return[a,s]},qLe=$e([gO,vr,zLe,uM,fr],_O,{memoizeOptions:{resultEqualityCheck:sM}});function XLe(t){var{value:e}=t;if(al(e)||e instanceof Date)return e}var KLe=(t,e,n)=>{var r=t.map(XLe).filter(i=>i!=null);return n&&(e.dataKey==null||e.allowDuplicatedCategory&&WX(r))?bY(0,t.length):e.allowDuplicatedCategory?r:Array.from(new Set(r))},kZ=t=>t.referenceElements.dots,Om=(t,e,n)=>t.filter(r=>r.ifOverflow==="extendDomain").filter(r=>e==="xAxis"?r.xAxisId===n:r.yAxisId===n),YLe=$e([kZ,fr,sv],Om),DZ=t=>t.referenceElements.areas,ZLe=$e([DZ,fr,sv],Om),OZ=t=>t.referenceElements.lines,QLe=$e([OZ,fr,sv],Om),LZ=(t,e)=>{var n=wc(t.map(r=>e==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},JLe=$e(YLe,fr,LZ),IZ=(t,e)=>{var n=wc(t.flatMap(r=>[e==="xAxis"?r.x1:r.y1,e==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},eIe=$e([ZLe,fr],IZ);function tIe(t){var e;if(t.x!=null)return wc([t.x]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.x);return n==null||n.length===0?[]:wc(n)}function nIe(t){var e;if(t.y!=null)return wc([t.y]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.y);return n==null||n.length===0?[]:wc(n)}var jZ=(t,e)=>{var n=t.flatMap(r=>e==="xAxis"?tIe(r):nIe(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},rIe=$e([QLe,fr],jZ),iIe=$e(JLe,rIe,eIe,(t,e,n)=>RS(t,n,e)),SO=(t,e,n,r,i,a,s,o)=>{if(n!=null)return n;var l=s==="vertical"&&o==="xAxis"||s==="horizontal"&&o==="yAxis",c=l?RS(r,a,i):RS(a,i);return pLe(e,c,t.allowDataOverflow)},aIe=$e([vr,bO,yO,GLe,qLe,iIe,Sn,fr],SO,{memoizeOptions:{resultEqualityCheck:sM}}),sIe=[0,1],wO=(t,e,n,r,i,a,s)=>{if(!((t==null||n==null||n.length===0)&&s===void 0)){var{dataKey:o,type:l}=t,c=Tc(e,a);if(c&&o==null){var u;return bY(0,(u=n?.length)!==null&&u!==void 0?u:0)}return l==="category"?KLe(r,t,c):i==="expand"?sIe:s}},MO=$e([vr,Sn,gO,cM,av,fr,aIe],wO),UZ=(t,e,n,r,i)=>{if(t!=null){var{scale:a,type:s}=t;if(a==="auto")return e==="radial"&&i==="radiusAxis"?"band":e==="radial"&&i==="angleAxis"?"linear":s==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?"point":s==="category"?"band":"linear";if(typeof a=="string"){var o="scale".concat(G0(a));return o in px?o:"point"}}},Lm=$e([vr,Sn,AZ,aO,fr],UZ);function oIe(t){if(t!=null){if(t in px)return px[t]();var e="scale".concat(G0(t));if(e in px)return px[e]()}}function EO(t,e,n,r){if(!(n==null||r==null)){if(typeof t.scale=="function")return t.scale.copy().domain(n).range(r);var i=oIe(e);if(i!=null){var a=i.domain(n).range(r);return rRe(a),a}}}var AO=(t,e,n)=>{var r=vO(e);if(!(n!=="auto"&&n!=="linear")){if(e!=null&&e.tickCount&&Array.isArray(r)&&(r[0]==="auto"||r[1]==="auto")&&nd(t))return wLe(t,e.tickCount,e.allowDecimals);if(e!=null&&e.tickCount&&e.type==="number"&&nd(t))return MLe(t,e.tickCount,e.allowDecimals)}},TO=$e([MO,ov,Lm],AO),CO=(t,e,n,r)=>{if(r!=="angleAxis"&&t?.type==="number"&&nd(e)&&Array.isArray(n)&&n.length>0){var i=e[0],a=n[0],s=e[1],o=n[n.length-1];return[Math.min(i,a),Math.max(s,o)]}return e},lIe=$e([vr,MO,TO,fr],CO),cIe=$e(cM,vr,(t,e)=>{if(!(!e||e.type!=="number")){var n=1/0,r=Array.from(wc(t.map(o=>o.value))).sort((o,l)=>o-l);if(r.length<2)return 1/0;var i=r[r.length-1]-r[0];if(i===0)return 1/0;for(var a=0;ar,(t,e,n,r,i)=>{if(!or(t))return 0;var a=e==="vertical"?r.height:r.width;if(i==="gap")return t*a/2;if(i==="no-gap"){var s=sa(n,t*a),o=t*a/2;return o-s-(o-s)/a*s}return 0}),uIe=(t,e)=>{var n=Pc(t,e);return n==null||typeof n.padding!="string"?0:FZ(t,"xAxis",e,n.padding)},dIe=(t,e)=>{var n=kc(t,e);return n==null||typeof n.padding!="string"?0:FZ(t,"yAxis",e,n.padding)},fIe=$e(Pc,uIe,(t,e)=>{var n,r;if(t==null)return{left:0,right:0};var{padding:i}=t;return typeof i=="string"?{left:e,right:e}:{left:((n=i.left)!==null&&n!==void 0?n:0)+e,right:((r=i.right)!==null&&r!==void 0?r:0)+e}}),hIe=$e(kc,dIe,(t,e)=>{var n,r;if(t==null)return{top:0,bottom:0};var{padding:i}=t;return typeof i=="string"?{top:e,bottom:e}:{top:((n=i.top)!==null&&n!==void 0?n:0)+e,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+e}}),pIe=$e([ui,fIe,$w,Hw,(t,e,n)=>n],(t,e,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[t.left+e.left,t.left+t.width-e.right]}),mIe=$e([ui,Sn,hIe,$w,Hw,(t,e,n)=>n],(t,e,n,r,i,a)=>{var{padding:s}=i;return a?[r.height-s.bottom,s.top]:e==="horizontal"?[t.top+t.height-n.bottom,t.top+n.top]:[t.top+n.top,t.top+t.height-n.bottom]}),uv=(t,e,n,r)=>{var i;switch(e){case"xAxis":return pIe(t,n,r);case"yAxis":return mIe(t,n,r);case"zAxis":return(i=dO(t,n))===null||i===void 0?void 0:i.range;case"angleAxis":return yZ(t);case"radiusAxis":return _Z(t,n);default:return}},zZ=$e([vr,uv],nM),Im=$e([vr,Lm,lIe,zZ],EO);$e([lv,uM,fr],WLe);function BZ(t,e){return t.ide.id?1:0}var dM=(t,e)=>e,fM=(t,e,n)=>n,gIe=$e(zw,dM,fM,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(BZ)),xIe=$e(Bw,dM,fM,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(BZ)),HZ=(t,e)=>({width:t.width,height:e.height}),vIe=(t,e)=>{var n=typeof e.width=="number"?e.width:Z0;return{width:n,height:t.height}},$Z=$e(ui,Pc,HZ),bIe=(t,e,n)=>{switch(e){case"top":return t.top;case"bottom":return n-t.bottom;default:return 0}},yIe=(t,e,n)=>{switch(e){case"left":return t.left;case"right":return n-t.right;default:return 0}},_Ie=$e(Nc,ui,gIe,dM,fM,(t,e,n,r,i)=>{var a={},s;return n.forEach(o=>{var l=HZ(e,o);s==null&&(s=bIe(e,r,t));var c=r==="top"&&!i||r==="bottom"&&i;a[o.id]=s-Number(c)*l.height,s+=(c?-1:1)*l.height}),a}),SIe=$e(Cc,ui,xIe,dM,fM,(t,e,n,r,i)=>{var a={},s;return n.forEach(o=>{var l=vIe(e,o);s==null&&(s=yIe(e,r,t));var c=r==="left"&&!i||r==="right"&&i;a[o.id]=s-Number(c)*l.width,s+=(c?-1:1)*l.width}),a}),wIe=(t,e)=>{var n=Pc(t,e);if(n!=null)return _Ie(t,n.orientation,n.mirror)},MIe=$e([ui,Pc,wIe,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:t.left,y:0}:{x:t.left,y:i}}}),EIe=(t,e)=>{var n=kc(t,e);if(n!=null)return SIe(t,n.orientation,n.mirror)},AIe=$e([ui,kc,EIe,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:0,y:t.top}:{x:i,y:t.top}}}),VZ=$e(ui,kc,(t,e)=>{var n=typeof e.width=="number"?e.width:Z0;return{width:n,height:t.height}}),A$=(t,e,n)=>{switch(e){case"xAxis":return $Z(t,n).width;case"yAxis":return VZ(t,n).height;default:return}},GZ=(t,e,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:s}=n,o=Tc(t,r),l=e.map(c=>c.value);if(s&&o&&a==="category"&&i&&WX(l))return l}},NO=$e([Sn,cM,vr,fr],GZ),WZ=(t,e,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n,s=Tc(t,r);if(s&&(i==="number"||a!=="auto"))return e.map(o=>o.value)}},RO=$e([Sn,cM,ov,fr],WZ),T$=$e([Sn,ULe,Lm,Im,NO,RO,uv,TO,fr],(t,e,n,r,i,a,s,o,l)=>{if(e!=null){var c=Tc(t,l);return{angle:e.angle,interval:e.interval,minTickGap:e.minTickGap,orientation:e.orientation,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,axisType:l,categoricalDomain:a,duplicateDomain:i,isCategorical:c,niceTicks:o,range:s,realScaleType:n,scale:r}}}),TIe=(t,e,n,r,i,a,s,o,l)=>{if(!(e==null||r==null)){var c=Tc(t,l),{type:u,ticks:f,tickCount:g}=e,m=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,y=u==="category"&&r.bandwidth?r.bandwidth()/m:0;y=l==="angleAxis"&&a!=null&&a.length>=2?Ti(a[0]-a[1])*2*y:y;var v=f||i;if(v){var b=v.map((x,M)=>{var w=s?s.indexOf(x):x;return{index:M,coordinate:r(w)+y,value:x,offset:y}});return b.filter(x=>or(x.coordinate))}return c&&o?o.map((x,M)=>({coordinate:r(x)+y,value:x,index:M,offset:y})).filter(x=>or(x.coordinate)):r.ticks?r.ticks(g).map(x=>({coordinate:r(x)+y,value:x,offset:y})):r.domain().map((x,M)=>({coordinate:r(x)+y,value:s?s[x]:x,index:M,offset:y}))}},qZ=$e([Sn,ov,Lm,Im,TO,uv,NO,RO,fr],TIe),CIe=(t,e,n,r,i,a,s)=>{if(!(e==null||n==null||r==null||r[0]===r[1])){var o=Tc(t,s),{tickCount:l}=e,c=0;return c=s==="angleAxis"&&r?.length>=2?Ti(r[0]-r[1])*2*c:c,o&&a?a.map((u,f)=>({coordinate:n(u)+c,value:u,index:f,offset:c})):n.ticks?n.ticks(l).map(u=>({coordinate:n(u)+c,value:u,offset:c})):n.domain().map((u,f)=>({coordinate:n(u)+c,value:i?i[u]:u,index:f,offset:c}))}},rd=$e([Sn,ov,Im,uv,NO,RO,fr],CIe),id=$e(vr,Im,(t,e)=>{if(!(t==null||e==null))return NS(NS({},t),{},{scale:e})}),NIe=$e([vr,Lm,MO,zZ],EO);$e((t,e,n)=>dO(t,n),NIe,(t,e)=>{if(!(t==null||e==null))return NS(NS({},t),{},{scale:e})});var RIe=$e([Sn,zw,Bw],(t,e,n)=>{switch(t){case"horizontal":return e.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),XZ=t=>t.options.defaultTooltipEventType,KZ=t=>t.options.validateTooltipEventTypes;function YZ(t,e,n){if(t==null)return e;var r=t?"axis":"item";return n==null?e:n.includes(r)?r:e}function PO(t,e){var n=XZ(t),r=KZ(t);return YZ(e,n,r)}function PIe(t){return Tt(e=>PO(e,t))}var ZZ=(t,e)=>{var n,r=Number(e);if(!(Ys(r)||e==null))return r>=0?t==null||(n=t[r])===null||n===void 0?void 0:n.value:void 0},kIe=t=>t.tooltip.settings,ku={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},DIe={itemInteraction:{click:ku,hover:ku},axisInteraction:{click:ku,hover:ku},keyboardInteraction:ku,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},QZ=Ga({name:"tooltip",initialState:DIe,reducers:{addTooltipEntrySettings:{reducer(t,e){t.tooltipItemPayloads.push(e.payload)},prepare:cr()},replaceTooltipEntrySettings:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Mo(t).tooltipItemPayloads.indexOf(n);i>-1&&(t.tooltipItemPayloads[i]=r)},prepare:cr()},removeTooltipEntrySettings:{reducer(t,e){var n=Mo(t).tooltipItemPayloads.indexOf(e.payload);n>-1&&t.tooltipItemPayloads.splice(n,1)},prepare:cr()},setTooltipSettingsState(t,e){t.settings=e.payload},setActiveMouseOverItemIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.itemInteraction.hover.active=!0,t.itemInteraction.hover.index=e.payload.activeIndex,t.itemInteraction.hover.dataKey=e.payload.activeDataKey,t.itemInteraction.hover.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.hover.coordinate=e.payload.activeCoordinate},mouseLeaveChart(t){t.itemInteraction.hover.active=!1,t.axisInteraction.hover.active=!1},mouseLeaveItem(t){t.itemInteraction.hover.active=!1},setActiveClickItemIndex(t,e){t.syncInteraction.active=!1,t.itemInteraction.click.active=!0,t.keyboardInteraction.active=!1,t.itemInteraction.click.index=e.payload.activeIndex,t.itemInteraction.click.dataKey=e.payload.activeDataKey,t.itemInteraction.click.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.click.coordinate=e.payload.activeCoordinate},setMouseOverAxisIndex(t,e){t.syncInteraction.active=!1,t.axisInteraction.hover.active=!0,t.keyboardInteraction.active=!1,t.axisInteraction.hover.index=e.payload.activeIndex,t.axisInteraction.hover.dataKey=e.payload.activeDataKey,t.axisInteraction.hover.coordinate=e.payload.activeCoordinate},setMouseClickAxisIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.axisInteraction.click.active=!0,t.axisInteraction.click.index=e.payload.activeIndex,t.axisInteraction.click.dataKey=e.payload.activeDataKey,t.axisInteraction.click.coordinate=e.payload.activeCoordinate},setSyncInteraction(t,e){t.syncInteraction=e.payload},setKeyboardInteraction(t,e){t.keyboardInteraction.active=e.payload.active,t.keyboardInteraction.index=e.payload.activeIndex,t.keyboardInteraction.coordinate=e.payload.activeCoordinate,t.keyboardInteraction.dataKey=e.payload.activeDataKey}}}),{addTooltipEntrySettings:OIe,replaceTooltipEntrySettings:LIe,removeTooltipEntrySettings:IIe,setTooltipSettingsState:jIe,setActiveMouseOverItemIndex:JZ,mouseLeaveItem:UIe,mouseLeaveChart:eQ,setActiveClickItemIndex:FIe,setMouseOverAxisIndex:tQ,setMouseClickAxisIndex:zIe,setSyncInteraction:oP,setKeyboardInteraction:lP}=QZ.actions,BIe=QZ.reducer;function C$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function r_(t){for(var e=1;e{if(e==null)return ku;var i=GIe(t,e,n);if(i==null)return ku;if(i.active)return i;if(t.keyboardInteraction.active)return t.keyboardInteraction;if(t.syncInteraction.active&&t.syncInteraction.index!=null)return t.syncInteraction;var a=t.settings.active===!0;if(WIe(i)){if(a)return r_(r_({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return r_(r_({},ku),{},{coordinate:i.coordinate})};function qIe(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(t instanceof Date){var e=t.valueOf();return Number.isFinite(e)?e:void 0}var n=Number(t);return Number.isFinite(n)?n:void 0}function XIe(t,e){var n=qIe(t),r=e[0],i=e[1];if(n===void 0)return!1;var a=Math.min(r,i),s=Math.max(r,i);return n>=a&&n<=s}function KIe(t,e,n){if(n==null||e==null)return!0;var r=Yn(t,e);return r==null||!nd(n)?!0:XIe(r,n)}var kO=(t,e,n,r)=>{var i=t?.index;if(i==null)return null;var a=Number(i);if(!or(a))return i;var s=0,o=1/0;e.length>0&&(o=e.length-1);var l=Math.max(s,Math.min(a,o)),c=e[l];return c==null||KIe(c,n,r)?String(l):null},rQ=(t,e,n,r,i,a,s,o)=>{if(!(a==null||o==null)){var l=s[0],c=l==null?void 0:o(l.positions,a);if(c!=null)return c;var u=i?.[Number(a)];if(u)switch(n){case"horizontal":return{x:u.coordinate,y:(r.top+e)/2};default:return{x:(r.left+t)/2,y:u.coordinate}}}},iQ=(t,e,n,r)=>{if(e==="axis")return t.tooltipItemPayloads;if(t.tooltipItemPayloads.length===0)return[];var i;return n==="hover"?i=t.itemInteraction.hover.dataKey:i=t.itemInteraction.click.dataKey,i==null&&r!=null?[t.tooltipItemPayloads[0]]:t.tooltipItemPayloads.filter(a=>{var s;return((s=a.settings)===null||s===void 0?void 0:s.dataKey)===i})},dv=t=>t.options.tooltipPayloadSearcher,jm=t=>t.tooltip;function N$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function R$(t){for(var e=1;e{if(!(e==null||a==null)){var{chartData:o,computedData:l,dataStartIndex:c,dataEndIndex:u}=n,f=[];return t.reduce((g,m)=>{var y,{dataDefinedOnItem:v,settings:b}=m,x=JIe(v,o),M=Array.isArray(x)?zK(x,c,u):x,w=(y=b?.dataKey)!==null&&y!==void 0?y:r,A=b?.nameKey,T;if(r&&Array.isArray(M)&&!Array.isArray(M[0])&&s==="axis"?T=qX(M,r,i):T=a(M,e,l,A),Array.isArray(T))T.forEach(N=>{var j=R$(R$({},b),{},{name:N.name,unit:N.unit,color:void 0,fill:void 0});g.push(Y8({tooltipEntrySettings:j,dataKey:N.dataKey,payload:N.payload,value:Yn(N.payload,N.dataKey),name:N.name}))});else{var R;g.push(Y8({tooltipEntrySettings:b,dataKey:w,payload:T,value:Yn(T,w),name:(R=Yn(T,A))!==null&&R!==void 0?R:b?.name}))}return g},f)}},DO=$e([hi,Sn,AZ,aO,fi],UZ),eje=$e([t=>t.graphicalItems.cartesianItems,t=>t.graphicalItems.polarItems],(t,e)=>[...t,...e]),tje=$e([fi,Dm],fO),fv=$e([eje,hi,tje],hO,{memoizeOptions:{resultEqualityCheck:oM}}),nje=$e([fv],t=>t.filter(aM)),rje=$e([fv],pO,{memoizeOptions:{resultEqualityCheck:oM}}),Um=$e([rje,pd],mO),ije=$e([nje,pd,hi],wZ),OO=$e([Um,hi,fv],xO),sQ=$e([hi],vO),aje=$e([hi],t=>t.allowDataOverflow),oQ=$e([sQ,aje],eZ),sje=$e([fv],t=>t.filter(aM)),oje=$e([ije,sje,av,gZ],RZ),lje=$e([oje,pd,fi,oQ],PZ),cje=$e([fv],CZ),uje=$e([Um,hi,cje,uM,fi],_O,{memoizeOptions:{resultEqualityCheck:sM}}),dje=$e([kZ,fi,Dm],Om),fje=$e([dje,fi],LZ),hje=$e([DZ,fi,Dm],Om),pje=$e([hje,fi],IZ),mje=$e([OZ,fi,Dm],Om),gje=$e([mje,fi],jZ),xje=$e([fje,gje,pje],RS),vje=$e([hi,sQ,oQ,lje,uje,xje,Sn,fi],SO),hv=$e([hi,Sn,Um,OO,av,fi,vje],wO),bje=$e([hv,hi,DO],AO),yje=$e([hi,hv,bje,fi],CO),lQ=t=>{var e=fi(t),n=Dm(t),r=!1;return uv(t,e,n,r)},cQ=$e([hi,lQ],nM),uQ=$e([hi,DO,yje,cQ],EO),_je=$e([Sn,OO,hi,fi],GZ),Sje=$e([Sn,OO,hi,fi],WZ),wje=(t,e,n,r,i,a,s,o)=>{if(e){var{type:l}=e,c=Tc(t,o);if(r){var u=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,f=l==="category"&&r.bandwidth?r.bandwidth()/u:0;return f=o==="angleAxis"&&i!=null&&i?.length>=2?Ti(i[0]-i[1])*2*f:f,c&&s?s.map((g,m)=>({coordinate:r(g)+f,value:g,index:m,offset:f})):r.domain().map((g,m)=>({coordinate:r(g)+f,value:a?a[g]:g,index:m,offset:f}))}}},Dc=$e([Sn,hi,DO,uQ,lQ,_je,Sje,fi],wje),LO=$e([XZ,KZ,kIe],(t,e,n)=>YZ(n.shared,t,e)),dQ=t=>t.tooltip.settings.trigger,IO=t=>t.tooltip.settings.defaultIndex,pv=$e([jm,LO,dQ,IO],nQ),ad=$e([pv,Um,cv,hv],kO),fQ=$e([Dc,ad],ZZ),jO=$e([pv],t=>{if(t)return t.dataKey}),Mje=$e([pv],t=>{if(t)return t.graphicalItemId}),hQ=$e([jm,LO,dQ,IO],iQ),Eje=$e([Cc,Nc,Sn,ui,Dc,IO,hQ,dv],rQ),Aje=$e([pv,Eje],(t,e)=>t!=null&&t.coordinate?t.coordinate:e),Tje=$e([pv],t=>t.active),Cje=$e([hQ,ad,pd,cv,fQ,dv,LO],aQ),Nje=$e([Cje],t=>{if(t!=null){var e=t.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(e))}});function P$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function k$(t){for(var e=1;eTt(hi),Oje=()=>{var t=Dje(),e=Tt(Dc),n=Tt(uQ);return dm(!t||!n?void 0:k$(k$({},t),{},{scale:n}),e)};function D$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function pp(t){for(var e=1;e{var i=e.find(a=>a&&a.index===n);if(i){if(t==="horizontal")return{x:i.coordinate,y:r.chartY};if(t==="vertical")return{x:r.chartX,y:i.coordinate}}return{x:0,y:0}},Fje=(t,e,n,r)=>{var i=e.find(c=>c&&c.index===n);if(i){if(t==="centric"){var a=i.coordinate,{radius:s}=r;return pp(pp(pp({},r),Gr(r.cx,r.cy,s,a)),{},{angle:a,radius:s})}var o=i.coordinate,{angle:l}=r;return pp(pp(pp({},r),Gr(r.cx,r.cy,o,l)),{},{angle:l,radius:o})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function zje(t,e){var{chartX:n,chartY:r}=t;return n>=e.left&&n<=e.left+e.width&&r>=e.top&&r<=e.top+e.height}var pQ=(t,e,n,r,i)=>{var a,s=-1,o=(a=e?.length)!==null&&a!==void 0?a:0;if(o<=1||t==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var l=0;l0?n[l-1].coordinate:n[o-1].coordinate,u=n[l].coordinate,f=l>=o-1?n[0].coordinate:n[l+1].coordinate,g=void 0;if(Ti(u-c)!==Ti(f-u)){var m=[];if(Ti(f-u)===Ti(i[1]-i[0])){g=f;var y=u+i[1]-i[0];m[0]=Math.min(y,(y+c)/2),m[1]=Math.max(y,(y+c)/2)}else{g=c;var v=f+i[1]-i[0];m[0]=Math.min(u,(v+u)/2),m[1]=Math.max(u,(v+u)/2)}var b=[Math.min(u,(g+u)/2),Math.max(u,(g+u)/2)];if(t>b[0]&&t<=b[1]||t>=m[0]&&t<=m[1]){({index:s}=n[l]);break}}else{var x=Math.min(c,f),M=Math.max(c,f);if(t>(x+u)/2&&t<=(M+u)/2){({index:s}=n[l]);break}}}else if(e){for(var w=0;w0&&w(e[w].coordinate+e[w-1].coordinate)/2&&t<=(e[w].coordinate+e[w+1].coordinate)/2||w===o-1&&t>(e[w].coordinate+e[w-1].coordinate)/2){({index:s}=e[w]);break}}return s},mQ=()=>Tt(aO),UO=(t,e)=>e,gQ=(t,e,n)=>n,FO=(t,e,n,r)=>r,Bje=$e(Dc,t=>Pw(t,e=>e.coordinate)),zO=$e([jm,UO,gQ,FO],nQ),BO=$e([zO,Um,cv,hv],kO),Hje=(t,e,n)=>{if(e!=null){var r=jm(t);return e==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},xQ=$e([jm,UO,gQ,FO],iQ),PS=$e([Cc,Nc,Sn,ui,Dc,FO,xQ,dv],rQ),$je=$e([zO,PS],(t,e)=>{var n;return(n=t.coordinate)!==null&&n!==void 0?n:e}),vQ=$e([Dc,BO],ZZ),Vje=$e([xQ,BO,pd,cv,vQ,dv,UO],aQ),Gje=$e([zO,BO],(t,e)=>({isActive:t.active&&e!=null,activeIndex:e})),Wje=(t,e,n,r,i,a,s)=>{if(!(!t||!n||!r||!i)&&zje(t,s)){var o=hRe(t,e),l=pQ(o,a,i,n,r),c=Uje(e,i,l,t);return{activeIndex:String(l),activeCoordinate:c}}},qje=(t,e,n,r,i,a,s)=>{if(!(!t||!r||!i||!a||!n)){var o=Rke(t,n);if(o){var l=pRe(o,e),c=pQ(l,s,a,r,i),u=Fje(e,a,c,o);return{activeIndex:String(c),activeCoordinate:u}}}},Xje=(t,e,n,r,i,a,s,o)=>{if(!(!t||!e||!r||!i||!a))return e==="horizontal"||e==="vertical"?Wje(t,e,r,i,a,s,o):qje(t,e,n,r,i,a,s)},Kje=$e(t=>t.zIndex.zIndexMap,(t,e)=>e,(t,e,n)=>n,(t,e,n)=>{if(e!=null){var r=t[e];if(r!=null)return n?r.panoramaElementId:r.elementId}}),Yje=$e(t=>t.zIndex.zIndexMap,t=>{var e=Object.keys(t).map(r=>parseInt(r,10)).concat(Object.values(Wr)),n=Array.from(new Set(e));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:DLe}});function O$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function L$(t){for(var e=1;eL$(L$({},t),{},{[e]:{elementId:void 0,panoramaElementId:void 0,consumers:0}}),e4e)},n4e=new Set(Object.values(Wr));function r4e(t){return n4e.has(t)}var bQ=Ga({name:"zIndex",initialState:t4e,reducers:{registerZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]?t.zIndexMap[n].consumers+=1:t.zIndexMap[n]={consumers:1,elementId:void 0,panoramaElementId:void 0}},prepare:cr()},unregisterZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(t.zIndexMap[n].consumers-=1,t.zIndexMap[n].consumers<=0&&!r4e(n)&&delete t.zIndexMap[n])},prepare:cr()},registerZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n,elementId:r,isPanorama:i}=e.payload;t.zIndexMap[n]?i?t.zIndexMap[n].panoramaElementId=r:t.zIndexMap[n].elementId=r:t.zIndexMap[n]={consumers:0,elementId:i?void 0:r,panoramaElementId:i?r:void 0}},prepare:cr()},unregisterZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(e.payload.isPanorama?t.zIndexMap[n].panoramaElementId=void 0:t.zIndexMap[n].elementId=void 0)},prepare:cr()}}}),{registerZIndexPortal:i4e,unregisterZIndexPortal:a4e,registerZIndexPortalId:s4e,unregisterZIndexPortalId:o4e}=bQ.actions,l4e=bQ.reducer;function Wa(t){var{zIndex:e,children:n}=t,r=WRe(),i=r&&e!==void 0&&e!==0,a=ca(),s=er();E.useLayoutEffect(()=>i?(s(i4e({zIndex:e})),()=>{s(a4e({zIndex:e}))}):W0,[s,e,i]);var o=Tt(c=>Kje(c,e,a));if(!i)return n;if(!o)return null;var l=document.getElementById(o);return l?Jl.createPortal(n,l):null}function cP(){return cP=Object.assign?Object.assign.bind():function(t){for(var e=1;eE.useContext(yQ),KC={exports:{}},j$;function g4e(){return j$||(j$=1,(function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(l,c,u){this.fn=l,this.context=c,this.once=u||!1}function a(l,c,u,f,g){if(typeof u!="function")throw new TypeError("The listener must be a function");var m=new i(u,f||l,g),y=n?n+c:c;return l._events[y]?l._events[y].fn?l._events[y]=[l._events[y],m]:l._events[y].push(m):(l._events[y]=m,l._eventsCount++),l}function s(l,c){--l._eventsCount===0?l._events=new r:delete l._events[c]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],u,f;if(this._eventsCount===0)return c;for(f in u=this._events)e.call(u,f)&&c.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},o.prototype.listeners=function(c){var u=n?n+c:c,f=this._events[u];if(!f)return[];if(f.fn)return[f.fn];for(var g=0,m=f.length,y=new Array(m);g{t.eventEmitter==null&&(t.eventEmitter=Symbol("rechartsEventEmitter"))}}}),y4e=_Q.reducer,{createEventEmitter:_4e}=_Q.actions;function S4e(t){return t.tooltip.syncInteraction}var w4e={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},SQ=Ga({name:"chartData",initialState:w4e,reducers:{setChartData(t,e){if(t.chartData=e.payload,e.payload==null){t.dataStartIndex=0,t.dataEndIndex=0;return}e.payload.length>0&&t.dataEndIndex!==e.payload.length-1&&(t.dataEndIndex=e.payload.length-1)},setComputedData(t,e){t.computedData=e.payload},setDataStartEndIndexes(t,e){var{startIndex:n,endIndex:r}=e.payload;n!=null&&(t.dataStartIndex=n),r!=null&&(t.dataEndIndex=r)}}}),{setChartData:F$,setDataStartEndIndexes:M4e,setComputedData:u9e}=SQ.actions,E4e=SQ.reducer,A4e=["x","y"];function z$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function mp(t){for(var e=1;el.rootProps.className);E.useEffect(()=>{if(t==null)return W0;var l=(c,u,f)=>{if(e!==f&&t===c){if(r==="index"){var g;if(s&&u!==null&&u!==void 0&&(g=u.payload)!==null&&g!==void 0&&g.coordinate&&u.payload.sourceViewBox){var m=u.payload.coordinate,{x:y,y:v}=m,b=R4e(m,A4e),{x,y:M,width:w,height:A}=u.payload.sourceViewBox,T=mp(mp({},b),{},{x:s.x+(w?(y-x)/w:0)*s.width,y:s.y+(A?(v-M)/A:0)*s.height});n(mp(mp({},u),{},{payload:mp(mp({},u.payload),{},{coordinate:T})}))}else n(u);return}if(i!=null){var R;if(typeof r=="function"){var N={activeTooltipIndex:u.payload.index==null?void 0:Number(u.payload.index),isTooltipActive:u.payload.active,activeIndex:u.payload.index==null?void 0:Number(u.payload.index),activeLabel:u.payload.label,activeDataKey:u.payload.dataKey,activeCoordinate:u.payload.coordinate},j=r(i,N);R=i[j]}else r==="value"&&(R=i.find(V=>String(V.value)===u.payload.label));var{coordinate:C}=u.payload;if(R==null||u.payload.active===!1||C==null||s==null){n(oP({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}var{x:k,y:U}=C,I=Math.min(k,s.x+s.width),H=Math.min(U,s.y+s.height),O={x:a==="horizontal"?R.coordinate:I,y:a==="horizontal"?H:R.coordinate},B=oP({active:u.payload.active,coordinate:O,dataKey:u.payload.dataKey,index:String(R.index),label:u.payload.label,sourceViewBox:u.payload.sourceViewBox,graphicalItemId:u.payload.graphicalItemId});n(B)}}};return T0.on(uP,l),()=>{T0.off(uP,l)}},[o,n,e,t,r,i,a,s])}function D4e(){var t=Tt(sO),e=Tt(oO),n=er();E.useEffect(()=>{if(t==null)return W0;var r=(i,a,s)=>{e!==s&&t===i&&n(M4e(a))};return T0.on(U$,r),()=>{T0.off(U$,r)}},[n,e,t])}function O4e(){var t=er();E.useEffect(()=>{t(_4e())},[t]),k4e(),D4e()}function L4e(t,e,n,r,i,a){var s=Tt(m=>Hje(m,t,e)),o=Tt(oO),l=Tt(sO),c=Tt(xZ),u=Tt(S4e),f=u?.active,g=Vw();E.useEffect(()=>{if(!f&&l!=null&&o!=null){var m=oP({active:a,coordinate:n,dataKey:s,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:g,graphicalItemId:void 0});T0.emit(uP,l,m,o)}},[f,n,s,i,r,o,l,c,a,g])}function B$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function H$(t){for(var e=1;e{N(jIe({shared:M,trigger:w,axisId:R,active:i,defaultIndex:j}))},[N,M,w,R,i,j]);var C=Vw(),k=cY(),U=PIe(M),{activeIndex:I,isActive:H}=(e=Tt(ve=>Gje(ve,U,w,j)))!==null&&e!==void 0?e:{},O=Tt(ve=>Vje(ve,U,w,j)),B=Tt(ve=>vQ(ve,U,w,j)),V=Tt(ve=>$je(ve,U,w,j)),G=O,K=m4e(),Y=(n=i??H)!==null&&n!==void 0?n:!1,[oe,$]=uK([G,Y]),X=U==="axis"?B:void 0;L4e(U,w,V,X,I,Y);var ae=T??K;if(ae==null||C==null||U==null)return null;var ce=G??$$;Y||(ce=$$),c&&ce.length&&(ce=aK(ce.filter(ve=>ve.value!=null&&(ve.hide!==!0||r.includeHidden)),g,F4e));var xe=ce.length>0,te=E.createElement(PPe,{allowEscapeViewBox:a,animationDuration:s,animationEasing:o,isAnimationActive:u,active:Y,coordinate:V,hasPayload:xe,offset:f,position:m,reverseDirection:y,useTranslate3d:v,viewBox:C,wrapperStyle:b,lastBoundingBox:oe,innerRef:$,hasPortalFromProps:!!T},z4e(l,H$(H$({},r),{},{payload:ce,label:X,active:Y,activeIndex:I,coordinate:V,accessibilityLayer:k})));return E.createElement(E.Fragment,null,Jl.createPortal(te,ae),Y&&E.createElement(p4e,{cursor:x,tooltipEventType:U,coordinate:V,payload:ce,index:I}))}var mv=t=>null;mv.displayName="Cell";function H4e(t,e,n){return(e=$4e(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $4e(t){var e=V4e(t,"string");return typeof e=="symbol"?e:e+""}function V4e(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class G4e{constructor(e){H4e(this,"cache",new Map),this.maxSize=e}get(e){var n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(e,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function V$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function W4e(t){for(var e=1;e{try{var n=document.getElementById(W$);n||(n=document.createElement("span"),n.setAttribute("id",W$),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,Z4e,e),n.textContent="".concat(t);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},Dx=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||Nm.isSsr)return{width:0,height:0};if(!wQ.enableCache)return q$(e,n);var r=Q4e(e,n),i=G$.get(r);if(i)return i;var a=q$(e,n);return G$.set(r,a),a},X$=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,K$=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,J4e=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,eUe=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,MQ={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},tUe=Object.keys(MQ),Tp="NaN";function nUe(t,e){return t*MQ[e]}class La{static parse(e){var n,[,r,i]=(n=eUe.exec(e))!==null&&n!==void 0?n:[];return new La(parseFloat(r),i??"")}constructor(e,n){this.num=e,this.unit=n,this.num=e,this.unit=n,Ys(e)&&(this.unit=""),n!==""&&!J4e.test(n)&&(this.num=NaN,this.unit=""),tUe.includes(n)&&(this.num=nUe(e,n),this.unit="px")}add(e){return this.unit!==e.unit?new La(NaN,""):new La(this.num+e.num,this.unit)}subtract(e){return this.unit!==e.unit?new La(NaN,""):new La(this.num-e.num,this.unit)}multiply(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new La(NaN,""):new La(this.num*e.num,this.unit||e.unit)}divide(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new La(NaN,""):new La(this.num/e.num,this.unit||e.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return Ys(this.num)}}function EQ(t){if(t.includes(Tp))return Tp;for(var e=t;e.includes("*")||e.includes("/");){var n,[,r,i,a]=(n=X$.exec(e))!==null&&n!==void 0?n:[],s=La.parse(r??""),o=La.parse(a??""),l=i==="*"?s.multiply(o):s.divide(o);if(l.isNaN())return Tp;e=e.replace(X$,l.toString())}for(;e.includes("+")||/.-\d+(?:\.\d+)?/.test(e);){var c,[,u,f,g]=(c=K$.exec(e))!==null&&c!==void 0?c:[],m=La.parse(u??""),y=La.parse(g??""),v=f==="+"?m.add(y):m.subtract(y);if(v.isNaN())return Tp;e=e.replace(K$,v.toString())}return e}var Y$=/\(([^()]*)\)/;function rUe(t){for(var e=t,n;(n=Y$.exec(e))!=null;){var[,r]=n;e=e.replace(Y$,EQ(r))}return e}function iUe(t){var e=t.replace(/\s+/g,"");return e=rUe(e),e=EQ(e),e}function aUe(t){try{return iUe(t)}catch{return Tp}}function ZC(t){var e=aUe(t.slice(5,-1));return e===Tp?"":e}var sUe=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],oUe=["dx","dy","angle","className","breakAll"];function dP(){return dP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{children:e,breakAll:n,style:r}=t;try{var i=[];gr(e)||(n?i=e.toString().split(""):i=e.toString().split(AQ));var a=i.map(o=>({word:o,width:Dx(o,r).width})),s=n?0:Dx(" ",r).width;return{wordsWithComputedWidth:a,spaceWidth:s}}catch{return null}};function cUe(t){return t==="start"||t==="middle"||t==="end"||t==="inherit"}var CQ=(t,e,n,r)=>t.reduce((i,a)=>{var{word:s,width:o}=a,l=i[i.length-1];if(l&&o!=null&&(e==null||r||l.width+o+nt.reduce((e,n)=>e.width>n.width?e:n),uUe="…",Q$=(t,e,n,r,i,a,s,o)=>{var l=t.slice(0,e),c=TQ({breakAll:n,style:r,children:l+uUe});if(!c)return[!1,[]];var u=CQ(c.wordsWithComputedWidth,a,s,o),f=u.length>i||NQ(u).width>Number(a);return[f,u]},dUe=(t,e,n,r,i)=>{var{maxLines:a,children:s,style:o,breakAll:l}=t,c=At(a),u=String(s),f=CQ(e,r,n,i);if(!c||i)return f;var g=f.length>a||NQ(f).width>Number(r);if(!g)return f;for(var m=0,y=u.length-1,v=0,b;m<=y&&v<=u.length-1;){var x=Math.floor((m+y)/2),M=x-1,[w,A]=Q$(u,M,l,o,a,r,n,i),[T]=Q$(u,x,l,o,a,r,n,i);if(!w&&!T&&(m=x+1),w&&T&&(y=x-1),!w&&T){b=A;break}v++}return b||f},J$=t=>{var e=gr(t)?[]:t.toString().split(AQ);return[{words:e,width:void 0}]},fUe=t=>{var{width:e,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:s}=t;if((e||n)&&!Nm.isSsr){var o,l,c=TQ({breakAll:a,children:r,style:i});if(c){var{wordsWithComputedWidth:u,spaceWidth:f}=c;o=u,l=f}else return J$(r);return dUe({breakAll:a,children:r,maxLines:s,style:i},o,l,e,!!n)}return J$(r)},RQ="#808080",hUe={angle:0,breakAll:!1,capHeight:"0.71em",fill:RQ,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},hM=E.forwardRef((t,e)=>{var n=Yr(t,hUe),{x:r,y:i,lineHeight:a,capHeight:s,fill:o,scaleToFit:l,textAnchor:c,verticalAnchor:u}=n,f=Z$(n,sUe),g=E.useMemo(()=>fUe({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),{dx:m,dy:y,angle:v,className:b,breakAll:x}=f,M=Z$(f,oUe);if(!al(r)||!al(i)||g.length===0)return null;var w=Number(r)+(At(m)?m:0),A=Number(i)+(At(y)?y:0);if(!or(w)||!or(A))return null;var T;switch(u){case"start":T=ZC("calc(".concat(s,")"));break;case"middle":T=ZC("calc(".concat((g.length-1)/2," * -").concat(a," + (").concat(s," / 2))"));break;default:T=ZC("calc(".concat(g.length-1," * -").concat(a,")"));break}var R=[];if(l){var N=g[0].width,{width:j}=f;R.push("scale(".concat(At(j)&&At(N)?j/N:1,")"))}return v&&R.push("rotate(".concat(v,", ").concat(w,", ").concat(A,")")),R.length&&(M.transform=R.join(" ")),E.createElement("text",dP({},Ma(M),{ref:e,x:w,y:A,className:An("recharts-text",b),textAnchor:c,fill:o.includes("url")?RQ:o}),g.map((C,k)=>{var U=C.words.join(x?"":" ");return E.createElement("tspan",{x:w,dy:k===0?T:a,key:"".concat(U,"-").concat(k)},U)}))});hM.displayName="Text";var pUe=["labelRef"];function mUe(t,e){if(t==null)return{};var n,r,i=gUe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var{x:e,y:n,upperWidth:r,lowerWidth:i,width:a,height:s,children:o}=t,l=E.useMemo(()=>({x:e,y:n,upperWidth:r,lowerWidth:i,width:a,height:s}),[e,n,r,i,a,s]);return E.createElement(PQ.Provider,{value:l},o)},kQ=()=>{var t=E.useContext(PQ),e=Vw();return t||YK(e)},_Ue=E.createContext(null),SUe=()=>{var t=E.useContext(_Ue),e=Tt(SZ);return t||e},wUe=t=>{var{value:e,formatter:n}=t,r=gr(t.children)?e:t.children;return typeof n=="function"?n(r):r},$O=t=>t!=null&&typeof t=="function",MUe=(t,e)=>{var n=Ti(e-t),r=Math.min(Math.abs(e-t),360);return n*r},EUe=(t,e,n,r,i)=>{var{offset:a,className:s}=t,{cx:o,cy:l,innerRadius:c,outerRadius:u,startAngle:f,endAngle:g,clockWise:m}=i,y=(c+u)/2,v=MUe(f,g),b=v>=0?1:-1,x,M;switch(e){case"insideStart":x=f+b*a,M=m;break;case"insideEnd":x=g-b*a,M=!m;break;case"end":x=g+b*a,M=m;break;default:throw new Error("Unsupported position ".concat(e))}M=v<=0?M:!M;var w=Gr(o,l,y,x),A=Gr(o,l,y,x+(M?1:-1)*359),T="M".concat(w.x,",").concat(w.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(u<0),",").concat(A.x,",").concat(A.y,"Z")}else M+="L".concat(e,",").concat(n,"Z");return M},Dke={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},vY=t=>{var e=Yr(t,Dke),{cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:s,forceCornerRadius:o,cornerIsExternal:l,startAngle:c,endAngle:u,className:f}=e;if(a0&&Math.abs(c-u)<360?v=kke({cx:n,cy:r,innerRadius:i,outerRadius:a,cornerRadius:Math.min(y,m/2),forceCornerRadius:o,cornerIsExternal:l,startAngle:c,endAngle:u}):v=xY({cx:n,cy:r,innerRadius:i,outerRadius:a,startAngle:c,endAngle:u}),E.createElement("path",YR({},Ma(e),{className:g,d:v}))};function Oke(t,e,n){if(t==="horizontal")return[{x:e.x,y:n.top},{x:e.x,y:n.top+n.height}];if(t==="vertical")return[{x:n.left,y:e.y},{x:n.left+n.width,y:e.y}];if(KX(e)){if(t==="centric"){var{cx:r,cy:i,innerRadius:a,outerRadius:s,angle:o}=e,l=Gr(r,i,a,o),c=Gr(r,i,s,o);return[{x:l.x,y:l.y},{x:c.x,y:c.y}]}return gY(e)}}var jC={},UC={},FC={},D6;function Lke(){return D6||(D6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=oK();function n(r){return e.isSymbol(r)?NaN:Number(r)}t.toNumber=n})(FC)),FC}var O6;function Ike(){return O6||(O6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=Lke();function n(r){return r?(r=e.toNumber(r),r===1/0||r===-1/0?(r<0?-1:1)*Number.MAX_VALUE:r===r?r:0):r===0?r:0}t.toFinite=n})(UC)),UC}var L6;function jke(){return L6||(L6=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=lK(),n=Ike();function r(i,a,s){s&&typeof s!="number"&&e.isIterateeCall(i,a,s)&&(a=s=void 0),i=n.toFinite(i),a===void 0?(a=i,i=0):a=n.toFinite(a),s=s===void 0?ie?1:t>=e?0:NaN}function zke(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function DD(t){let e,n,r;t.length!==2?(e=Xu,n=(o,l)=>Xu(t(o),l),r=(o,l)=>t(o)-l):(e=t===Xu||t===zke?t:Bke,n=t,r=t);function i(o,l,c=0,u=o.length){if(c>>1;n(o[f],l)<0?c=f+1:u=f}while(c>>1;n(o[f],l)<=0?c=f+1:u=f}while(cc&&r(o[f-1],l)>-r(o[f],l)?f-1:f}return{left:i,center:s,right:a}}function Bke(){return 0}function yY(t){return t===null?NaN:+t}function*Hke(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const $ke=DD(Xu),tv=$ke.right;DD(yY).center;class j6 extends Map{constructor(e,n=Wke){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(U6(this,e))}has(e){return super.has(U6(this,e))}set(e,n){return super.set(Vke(this,e),n)}delete(e){return super.delete(Gke(this,e))}}function U6({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function Vke({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Gke({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function Wke(t){return t!==null&&typeof t=="object"?t.valueOf():t}function qke(t=Xu){if(t===Xu)return _Y;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function _Y(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const Xke=Math.sqrt(50),Kke=Math.sqrt(10),Yke=Math.sqrt(2);function bS(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/Math.pow(10,i),s=a>=Xke?10:a>=Kke?5:a>=Yke?2:1;let o,l,c;return i<0?(c=Math.pow(10,-i)/s,o=Math.round(t*c),l=Math.round(e*c),o/ce&&--l,c=-c):(c=Math.pow(10,i)*s,o=Math.round(t/c),l=Math.round(e/c),o*ce&&--l),l0))return[];if(t===e)return[t];const r=e=i))return[];const o=a-i+1,l=new Array(o);if(r)if(s<0)for(let c=0;c=r)&&(n=r);return n}function z6(t,e){let n;for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function SY(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?_Y:qke(i);r>n;){if(r-n>600){const l=r-n+1,c=e-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),g=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1),m=Math.max(n,Math.floor(e-c*f/l+g)),y=Math.min(r,Math.floor(e+(l-c)*f/l+g));SY(t,e,m,y,i)}const a=t[e];let s=n,o=r;for(Jg(t,n,e),i(t[r],a)>0&&Jg(t,n,r);s0;)--o}i(t[n],a)===0?Jg(t,n,o):(++o,Jg(t,o,r)),o<=e&&(n=o+1),e<=o&&(r=o-1)}return t}function Jg(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Zke(t,e,n){if(t=Float64Array.from(Hke(t)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return z6(t);if(e>=1)return F6(t);var r,i=(r-1)*e,a=Math.floor(i),s=F6(SY(t,a).subarray(0,a+1)),o=z6(t.subarray(a+1));return s+(o-s)*(i-a)}}function Qke(t,e,n=yY){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,a=Math.floor(i),s=+n(t[a],a,t),o=+n(t[a+1],a+1,t);return s+(o-s)*(i-a)}}function Jke(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,a=new Array(i);++r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?e_(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?e_(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=nDe.exec(t))?new Ua(e[1],e[2],e[3],1):(e=rDe.exec(t))?new Ua(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=iDe.exec(t))?e_(e[1],e[2],e[3],e[4]):(e=aDe.exec(t))?e_(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=sDe.exec(t))?q6(e[1],e[2]/100,e[3]/100,1):(e=oDe.exec(t))?q6(e[1],e[2]/100,e[3]/100,e[4]):B6.hasOwnProperty(t)?V6(B6[t]):t==="transparent"?new Ua(NaN,NaN,NaN,0):null}function V6(t){return new Ua(t>>16&255,t>>8&255,t&255,1)}function e_(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ua(t,e,n,r)}function uDe(t){return t instanceof nv||(t=w0(t)),t?(t=t.rgb(),new Ua(t.r,t.g,t.b,t.opacity)):new Ua}function tP(t,e,n,r){return arguments.length===1?uDe(t):new Ua(t,e,n,r??1)}function Ua(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ID(Ua,tP,MY(nv,{brighter(t){return t=t==null?yS:Math.pow(yS,t),new Ua(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?_0:Math.pow(_0,t),new Ua(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ua(yf(this.r),yf(this.g),yf(this.b),_S(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:G6,formatHex:G6,formatHex8:dDe,formatRgb:W6,toString:W6}));function G6(){return`#${of(this.r)}${of(this.g)}${of(this.b)}`}function dDe(){return`#${of(this.r)}${of(this.g)}${of(this.b)}${of((isNaN(this.opacity)?1:this.opacity)*255)}`}function W6(){const t=_S(this.opacity);return`${t===1?"rgb(":"rgba("}${yf(this.r)}, ${yf(this.g)}, ${yf(this.b)}${t===1?")":`, ${t})`}`}function _S(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function yf(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function of(t){return t=yf(t),(t<16?"0":"")+t.toString(16)}function q6(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new bo(t,e,n,r)}function EY(t){if(t instanceof bo)return new bo(t.h,t.s,t.l,t.opacity);if(t instanceof nv||(t=w0(t)),!t)return new bo;if(t instanceof bo)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(n-r)/o+(n0&&l<1?0:s,new bo(s,o,l,t.opacity)}function fDe(t,e,n,r){return arguments.length===1?EY(t):new bo(t,e,n,r??1)}function bo(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ID(bo,fDe,MY(nv,{brighter(t){return t=t==null?yS:Math.pow(yS,t),new bo(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?_0:Math.pow(_0,t),new bo(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Ua(BC(t>=240?t-240:t+120,i,r),BC(t,i,r),BC(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new bo(X6(this.h),t_(this.s),t_(this.l),_S(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=_S(this.opacity);return`${t===1?"hsl(":"hsla("}${X6(this.h)}, ${t_(this.s)*100}%, ${t_(this.l)*100}%${t===1?")":`, ${t})`}`}}));function X6(t){return t=(t||0)%360,t<0?t+360:t}function t_(t){return Math.max(0,Math.min(1,t||0))}function BC(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const jD=t=>()=>t;function hDe(t,e){return function(n){return t+n*e}}function pDe(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function mDe(t){return(t=+t)==1?AY:function(e,n){return n-e?pDe(e,n,t):jD(isNaN(e)?n:e)}}function AY(t,e){var n=e-t;return n?hDe(t,n):jD(isNaN(t)?e:t)}const K6=(function t(e){var n=mDe(e);function r(i,a){var s=n((i=tP(i)).r,(a=tP(a)).r),o=n(i.g,a.g),l=n(i.b,a.b),c=AY(i.opacity,a.opacity);return function(u){return i.r=s(u),i.g=o(u),i.b=l(u),i.opacity=c(u),i+""}}return r.gamma=t,r})(1);function gDe(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(a){for(i=0;in&&(a=e.slice(n,a),o[s]?o[s]+=a:o[++s]=a),(r=r[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:SS(r,i)})),n=HC.lastIndex;return ne&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function TDe(t,e,n){var r=t[0],i=t[1],a=e[0],s=e[1];return i2?CDe:TDe,l=c=null,f}function f(g){return g==null||isNaN(g=+g)?a:(l||(l=o(t.map(r),e,n)))(r(s(g)))}return f.invert=function(g){return s(i((c||(c=o(e,t.map(r),SS)))(g)))},f.domain=function(g){return arguments.length?(t=Array.from(g,wS),u()):t.slice()},f.range=function(g){return arguments.length?(e=Array.from(g),u()):e.slice()},f.rangeRound=function(g){return e=Array.from(g),n=UD,u()},f.clamp=function(g){return arguments.length?(s=g?!0:xa,u()):s!==xa},f.interpolate=function(g){return arguments.length?(n=g,u()):n},f.unknown=function(g){return arguments.length?(a=g,f):a},function(g,m){return r=g,i=m,u()}}function FD(){return Kw()(xa,xa)}function NDe(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function MS(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function pm(t){return t=MS(Math.abs(t)),t?t[1]:NaN}function RDe(t,e){return function(n,r){for(var i=n.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>r&&(o=Math.max(1,r-l)),a.push(n.substring(i-=o,i+o)),!((l+=o+1)>r));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function PDe(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var kDe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function M0(t){if(!(e=kDe.exec(t)))throw new Error("invalid format: "+t);var e;return new zD({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}M0.prototype=zD.prototype;function zD(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}zD.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function DDe(t){e:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var TY;function ODe(t,e){var n=MS(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(TY=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return a===s?r:a>s?r+new Array(a-s+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+MS(t,Math.max(0,e+a-1))[0]}function Z6(t,e){var n=MS(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const Q6={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:NDe,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Z6(t*100,e),r:Z6,s:ODe,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function J6(t){return t}var e$=Array.prototype.map,t$=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function LDe(t){var e=t.grouping===void 0||t.thousands===void 0?J6:RDe(e$.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?J6:PDe(e$.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function c(f){f=M0(f);var g=f.fill,m=f.align,y=f.sign,v=f.symbol,b=f.zero,x=f.width,M=f.comma,w=f.precision,A=f.trim,T=f.type;T==="n"?(M=!0,T="g"):Q6[T]||(w===void 0&&(w=12),A=!0,T="g"),(b||g==="0"&&m==="=")&&(b=!0,g="0",m="=");var R=v==="$"?n:v==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",N=v==="$"?r:/[%p]/.test(T)?s:"",j=Q6[T],C=/[defgprs%]/.test(T);w=w===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function k(F){var I=R,B=N,O,H,$;if(T==="c")B=j(F)+B,F="";else{F=+F;var W=F<0||1/F<0;if(F=isNaN(F)?l:j(Math.abs(F),w),A&&(F=DDe(F)),W&&+F==0&&y!=="+"&&(W=!1),I=(W?y==="("?y:o:y==="-"||y==="("?"":y)+I,B=(T==="s"?t$[8+TY/3]:"")+B+(W&&y==="("?")":""),C){for(O=-1,H=F.length;++O$||$>57){B=($===46?i+F.slice(O+1):F.slice(O))+B,F=F.slice(0,O);break}}}M&&!b&&(F=e(F,1/0));var K=I.length+F.length+B.length,Y=K>1)+I+F+B+Y.slice(K);break;default:F=Y+I+F+B;break}return a(F)}return k.toString=function(){return f+""},k}function u(f,g){var m=c((f=M0(f),f.type="f",f)),y=Math.max(-8,Math.min(8,Math.floor(pm(g)/3)))*3,v=Math.pow(10,-y),b=t$[8+y/3];return function(x){return m(v*x)+b}}return{format:c,formatPrefix:u}}var n_,BD,CY;IDe({thousands:",",grouping:[3],currency:["$",""]});function IDe(t){return n_=LDe(t),BD=n_.format,CY=n_.formatPrefix,n_}function jDe(t){return Math.max(0,-pm(Math.abs(t)))}function UDe(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(pm(e)/3)))*3-pm(Math.abs(t)))}function FDe(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,pm(e)-pm(t))+1}function NY(t,e,n,r){var i=JR(t,e,n),a;switch(r=M0(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(a=UDe(i,s))&&(r.precision=a),CY(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(a=FDe(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=a-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(a=jDe(i))&&(r.precision=a-(r.type==="%")*2);break}}return BD(r)}function fd(t){var e=t.domain;return t.ticks=function(n){var r=e();return ZR(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return NY(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,a=r.length-1,s=r[i],o=r[a],l,c,u=10;for(o0;){if(c=QR(s,o,n),c===l)return r[i]=s,r[a]=o,e(r);if(c>0)s=Math.floor(s/c)*c,o=Math.ceil(o/c)*c;else if(c<0)s=Math.ceil(s*c)/c,o=Math.floor(o*c)/c;else break;l=c}return t},t}function RY(){var t=FD();return t.copy=function(){return rv(t,RY())},to.apply(t,arguments),fd(t)}function PY(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,wS),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return PY(t).unknown(e)},t=arguments.length?Array.from(t,wS):[0,1],fd(n)}function kY(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],s;return aMath.pow(t,e)}function VDe(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function i$(t){return(e,n)=>-t(-e,n)}function HD(t){const e=t(n$,r$),n=e.domain;let r=10,i,a;function s(){return i=VDe(r),a=$De(r),n()[0]<0?(i=i$(i),a=i$(a),t(zDe,BDe)):t(n$,r$),e}return e.base=function(o){return arguments.length?(r=+o,s()):r},e.domain=function(o){return arguments.length?(n(o),s()):n()},e.ticks=o=>{const l=n();let c=l[0],u=l[l.length-1];const f=u0){for(;g<=m;++g)for(y=1;yu)break;x.push(v)}}else for(;g<=m;++g)for(y=r-1;y>=1;--y)if(v=g>0?y/a(-g):y*a(g),!(vu)break;x.push(v)}x.length*2{if(o==null&&(o=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=M0(l)).precision==null&&(l.trim=!0),l=BD(l)),o===1/0)return l;const c=Math.max(1,r*o/e.ticks().length);return u=>{let f=u/a(Math.round(i(u)));return f*rn(kY(n(),{floor:o=>a(Math.floor(i(o))),ceil:o=>a(Math.ceil(i(o)))})),e}function DY(){const t=HD(Kw()).domain([1,10]);return t.copy=()=>rv(t,DY()).base(t.base()),to.apply(t,arguments),t}function a$(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function s$(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function $D(t){var e=1,n=t(a$(e),s$(e));return n.constant=function(r){return arguments.length?t(a$(e=+r),s$(e)):e},fd(n)}function OY(){var t=$D(Kw());return t.copy=function(){return rv(t,OY()).constant(t.constant())},to.apply(t,arguments)}function o$(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function GDe(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function WDe(t){return t<0?-t*t:t*t}function VD(t){var e=t(xa,xa),n=1;function r(){return n===1?t(xa,xa):n===.5?t(GDe,WDe):t(o$(n),o$(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},fd(e)}function GD(){var t=VD(Kw());return t.copy=function(){return rv(t,GD()).exponent(t.exponent())},to.apply(t,arguments),t}function qDe(){return GD.apply(null,arguments).exponent(.5)}function l$(t){return Math.sign(t)*t*t}function XDe(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function LY(){var t=FD(),e=[0,1],n=!1,r;function i(a){var s=XDe(t(a));return isNaN(s)?r:n?Math.round(s):s}return i.invert=function(a){return t.invert(l$(a))},i.domain=function(a){return arguments.length?(t.domain(a),i):t.domain()},i.range=function(a){return arguments.length?(t.range((e=Array.from(a,wS)).map(l$)),i):e.slice()},i.rangeRound=function(a){return i.range(a).round(!0)},i.round=function(a){return arguments.length?(n=!!a,i):n},i.clamp=function(a){return arguments.length?(t.clamp(a),i):t.clamp()},i.unknown=function(a){return arguments.length?(r=a,i):r},i.copy=function(){return LY(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},to.apply(i,arguments),fd(i)}function IY(){var t=[],e=[],n=[],r;function i(){var s=0,o=Math.max(1,e.length);for(n=new Array(o-1);++s0?n[o-1]:t[0],o=n?[r[n-1],e]:[r[c-1],r[c]]},s.unknown=function(l){return arguments.length&&(a=l),s},s.thresholds=function(){return r.slice()},s.copy=function(){return jY().domain([t,e]).range(i).unknown(a)},to.apply(fd(s),arguments)}function UY(){var t=[.5],e=[0,1],n,r=1;function i(a){return a!=null&&a<=a?e[tv(t,a,0,r)]:n}return i.domain=function(a){return arguments.length?(t=Array.from(a),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(a){return arguments.length?(e=Array.from(a),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(a){var s=e.indexOf(a);return[t[s-1],t[s]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return UY().domain(t).range(e).unknown(n)},to.apply(i,arguments)}const $C=new Date,VC=new Date;function di(t,e,n,r){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const s=i(a),o=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a0))return l;let c;do l.push(c=new Date(+a)),e(a,o),t(a);while(cdi(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),n&&(i.count=(a,s)=>($C.setTime(+a),VC.setTime(+s),t($C),t(VC),Math.floor(n($C,VC))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?s=>r(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const ES=di(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);ES.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?di(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):ES);ES.range;const ic=1e3,Vs=ic*60,ac=Vs*60,yc=ac*24,WD=yc*7,c$=yc*30,GC=yc*365,lf=di(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*ic)},(t,e)=>(e-t)/ic,t=>t.getUTCSeconds());lf.range;const qD=di(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ic)},(t,e)=>{t.setTime(+t+e*Vs)},(t,e)=>(e-t)/Vs,t=>t.getMinutes());qD.range;const XD=di(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Vs)},(t,e)=>(e-t)/Vs,t=>t.getUTCMinutes());XD.range;const KD=di(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*ic-t.getMinutes()*Vs)},(t,e)=>{t.setTime(+t+e*ac)},(t,e)=>(e-t)/ac,t=>t.getHours());KD.range;const YD=di(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*ac)},(t,e)=>(e-t)/ac,t=>t.getUTCHours());YD.range;const iv=di(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Vs)/yc,t=>t.getDate()-1);iv.range;const Yw=di(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yc,t=>t.getUTCDate()-1);Yw.range;const FY=di(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yc,t=>Math.floor(t/yc));FY.range;function Yf(t){return di(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Vs)/WD)}const Zw=Yf(0),AS=Yf(1),KDe=Yf(2),YDe=Yf(3),mm=Yf(4),ZDe=Yf(5),QDe=Yf(6);Zw.range;AS.range;KDe.range;YDe.range;mm.range;ZDe.range;QDe.range;function Zf(t){return di(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/WD)}const Qw=Zf(0),TS=Zf(1),JDe=Zf(2),eOe=Zf(3),gm=Zf(4),tOe=Zf(5),nOe=Zf(6);Qw.range;TS.range;JDe.range;eOe.range;gm.range;tOe.range;nOe.range;const ZD=di(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());ZD.range;const QD=di(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());QD.range;const _c=di(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());_c.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:di(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});_c.range;const Sc=di(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Sc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:di(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});Sc.range;function zY(t,e,n,r,i,a){const s=[[lf,1,ic],[lf,5,5*ic],[lf,15,15*ic],[lf,30,30*ic],[a,1,Vs],[a,5,5*Vs],[a,15,15*Vs],[a,30,30*Vs],[i,1,ac],[i,3,3*ac],[i,6,6*ac],[i,12,12*ac],[r,1,yc],[r,2,2*yc],[n,1,WD],[e,1,c$],[e,3,3*c$],[t,1,GC]];function o(c,u,f){const g=ub).right(s,g);if(m===s.length)return t.every(JR(c/GC,u/GC,f));if(m===0)return ES.every(Math.max(JR(c,u,f),1));const[y,v]=s[g/s[m-1][2]53)return null;"w"in oe||(oe.w=1),"Z"in oe?(z=qC(ex(oe.y,0,1)),G=z.getUTCDay(),z=G>4||G===0?TS.ceil(z):TS(z),z=Yw.offset(z,(oe.V-1)*7),oe.y=z.getUTCFullYear(),oe.m=z.getUTCMonth(),oe.d=z.getUTCDate()+(oe.w+6)%7):(z=WC(ex(oe.y,0,1)),G=z.getDay(),z=G>4||G===0?AS.ceil(z):AS(z),z=iv.offset(z,(oe.V-1)*7),oe.y=z.getFullYear(),oe.m=z.getMonth(),oe.d=z.getDate()+(oe.w+6)%7)}else("W"in oe||"U"in oe)&&("w"in oe||(oe.w="u"in oe?oe.u%7:"W"in oe?1:0),G="Z"in oe?qC(ex(oe.y,0,1)).getUTCDay():WC(ex(oe.y,0,1)).getDay(),oe.m=0,oe.d="W"in oe?(oe.w+6)%7+oe.W*7-(G+5)%7:oe.w+oe.U*7-(G+6)%7);return"Z"in oe?(oe.H+=oe.Z/100|0,oe.M+=oe.Z%100,qC(oe)):WC(oe)}}function j(he,ge,De,oe){for(var ct=0,z=ge.length,G=De.length,re,Q;ct=G)return-1;if(re=ge.charCodeAt(ct++),re===37){if(re=ge.charAt(ct++),Q=T[re in u$?ge.charAt(ct++):re],!Q||(oe=Q(he,De,oe))<0)return-1}else if(re!=De.charCodeAt(oe++))return-1}return oe}function C(he,ge,De){var oe=c.exec(ge.slice(De));return oe?(he.p=u.get(oe[0].toLowerCase()),De+oe[0].length):-1}function k(he,ge,De){var oe=m.exec(ge.slice(De));return oe?(he.w=y.get(oe[0].toLowerCase()),De+oe[0].length):-1}function F(he,ge,De){var oe=f.exec(ge.slice(De));return oe?(he.w=g.get(oe[0].toLowerCase()),De+oe[0].length):-1}function I(he,ge,De){var oe=x.exec(ge.slice(De));return oe?(he.m=M.get(oe[0].toLowerCase()),De+oe[0].length):-1}function B(he,ge,De){var oe=v.exec(ge.slice(De));return oe?(he.m=b.get(oe[0].toLowerCase()),De+oe[0].length):-1}function O(he,ge,De){return j(he,e,ge,De)}function H(he,ge,De){return j(he,n,ge,De)}function $(he,ge,De){return j(he,r,ge,De)}function W(he){return s[he.getDay()]}function K(he){return a[he.getDay()]}function Y(he){return l[he.getMonth()]}function se(he){return o[he.getMonth()]}function V(he){return i[+(he.getHours()>=12)]}function X(he){return 1+~~(he.getMonth()/3)}function ae(he){return s[he.getUTCDay()]}function ce(he){return a[he.getUTCDay()]}function ve(he){return l[he.getUTCMonth()]}function te(he){return o[he.getUTCMonth()]}function xe(he){return i[+(he.getUTCHours()>=12)]}function Re(he){return 1+~~(he.getUTCMonth()/3)}return{format:function(he){var ge=R(he+="",w);return ge.toString=function(){return he},ge},parse:function(he){var ge=N(he+="",!1);return ge.toString=function(){return he},ge},utcFormat:function(he){var ge=R(he+="",A);return ge.toString=function(){return he},ge},utcParse:function(he){var ge=N(he+="",!0);return ge.toString=function(){return he},ge}}}var u$={"-":"",_:" ",0:"0"},Ri=/^\s*\d+/,lOe=/^%/,cOe=/[\\^$*+?|[\]().{}]/g;function Tn(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[e.toLowerCase(),n]))}function dOe(t,e,n){var r=Ri.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function fOe(t,e,n){var r=Ri.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function hOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function pOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function mOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function d$(t,e,n){var r=Ri.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function f$(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function gOe(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function xOe(t,e,n){var r=Ri.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function vOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function h$(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function bOe(t,e,n){var r=Ri.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function p$(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function yOe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function _Oe(t,e,n){var r=Ri.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function SOe(t,e,n){var r=Ri.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function wOe(t,e,n){var r=Ri.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function MOe(t,e,n){var r=lOe.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function EOe(t,e,n){var r=Ri.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function AOe(t,e,n){var r=Ri.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function m$(t,e){return Tn(t.getDate(),e,2)}function TOe(t,e){return Tn(t.getHours(),e,2)}function COe(t,e){return Tn(t.getHours()%12||12,e,2)}function NOe(t,e){return Tn(1+iv.count(_c(t),t),e,3)}function BY(t,e){return Tn(t.getMilliseconds(),e,3)}function ROe(t,e){return BY(t,e)+"000"}function POe(t,e){return Tn(t.getMonth()+1,e,2)}function kOe(t,e){return Tn(t.getMinutes(),e,2)}function DOe(t,e){return Tn(t.getSeconds(),e,2)}function OOe(t){var e=t.getDay();return e===0?7:e}function LOe(t,e){return Tn(Zw.count(_c(t)-1,t),e,2)}function HY(t){var e=t.getDay();return e>=4||e===0?mm(t):mm.ceil(t)}function IOe(t,e){return t=HY(t),Tn(mm.count(_c(t),t)+(_c(t).getDay()===4),e,2)}function jOe(t){return t.getDay()}function UOe(t,e){return Tn(AS.count(_c(t)-1,t),e,2)}function FOe(t,e){return Tn(t.getFullYear()%100,e,2)}function zOe(t,e){return t=HY(t),Tn(t.getFullYear()%100,e,2)}function BOe(t,e){return Tn(t.getFullYear()%1e4,e,4)}function HOe(t,e){var n=t.getDay();return t=n>=4||n===0?mm(t):mm.ceil(t),Tn(t.getFullYear()%1e4,e,4)}function $Oe(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Tn(e/60|0,"0",2)+Tn(e%60,"0",2)}function g$(t,e){return Tn(t.getUTCDate(),e,2)}function VOe(t,e){return Tn(t.getUTCHours(),e,2)}function GOe(t,e){return Tn(t.getUTCHours()%12||12,e,2)}function WOe(t,e){return Tn(1+Yw.count(Sc(t),t),e,3)}function $Y(t,e){return Tn(t.getUTCMilliseconds(),e,3)}function qOe(t,e){return $Y(t,e)+"000"}function XOe(t,e){return Tn(t.getUTCMonth()+1,e,2)}function KOe(t,e){return Tn(t.getUTCMinutes(),e,2)}function YOe(t,e){return Tn(t.getUTCSeconds(),e,2)}function ZOe(t){var e=t.getUTCDay();return e===0?7:e}function QOe(t,e){return Tn(Qw.count(Sc(t)-1,t),e,2)}function VY(t){var e=t.getUTCDay();return e>=4||e===0?gm(t):gm.ceil(t)}function JOe(t,e){return t=VY(t),Tn(gm.count(Sc(t),t)+(Sc(t).getUTCDay()===4),e,2)}function eLe(t){return t.getUTCDay()}function tLe(t,e){return Tn(TS.count(Sc(t)-1,t),e,2)}function nLe(t,e){return Tn(t.getUTCFullYear()%100,e,2)}function rLe(t,e){return t=VY(t),Tn(t.getUTCFullYear()%100,e,2)}function iLe(t,e){return Tn(t.getUTCFullYear()%1e4,e,4)}function aLe(t,e){var n=t.getUTCDay();return t=n>=4||n===0?gm(t):gm.ceil(t),Tn(t.getUTCFullYear()%1e4,e,4)}function sLe(){return"+0000"}function x$(){return"%"}function v$(t){return+t}function b$(t){return Math.floor(+t/1e3)}var hp,GY,WY;oLe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function oLe(t){return hp=oOe(t),GY=hp.format,hp.parse,WY=hp.utcFormat,hp.utcParse,hp}function lLe(t){return new Date(t)}function cLe(t){return t instanceof Date?+t:+new Date(+t)}function JD(t,e,n,r,i,a,s,o,l,c){var u=FD(),f=u.invert,g=u.domain,m=c(".%L"),y=c(":%S"),v=c("%I:%M"),b=c("%I %p"),x=c("%a %d"),M=c("%b %d"),w=c("%B"),A=c("%Y");function T(R){return(l(R)e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,a)=>Zke(t,a/r))},n.copy=function(){return YY(e).domain(t)},Rc.apply(n,arguments)}function eM(){var t=0,e=.5,n=1,r=1,i,a,s,o,l,c=xa,u,f=!1,g;function m(v){return isNaN(v=+v)?g:(v=.5+((v=+u(v))-a)*(r*vt.chartData,nO=$e([pd],t=>{var e=t.chartData!=null?t.chartData.length-1:0;return{chartData:t.chartData,computedData:t.computedData,dataEndIndex:e,dataStartIndex:0}}),tM=(t,e,n,r)=>r?nO(t):pd(t);function nd(t){if(Array.isArray(t)&&t.length===2){var[e,n]=t;if(or(e)&&or(n))return!0}return!1}function y$(t,e,n){return n?t:[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}function eZ(t,e){if(e&&typeof t!="function"&&Array.isArray(t)&&t.length===2){var[n,r]=t,i,a;if(or(n))i=n;else if(typeof n=="function")return;if(or(r))a=r;else if(typeof r=="function")return;var s=[i,a];if(nd(s))return s}}function pLe(t,e,n){if(!(!n&&e==null)){if(typeof t=="function"&&e!=null)try{var r=t(e,n);if(nd(r))return y$(r,e,n)}catch{}if(Array.isArray(t)&&t.length===2){var[i,a]=t,s,o;if(i==="auto")e!=null&&(s=Math.min(...e));else if(At(i))s=i;else if(typeof i=="function")try{e!=null&&(s=i(e?.[0]))}catch{}else if(typeof i=="string"&&X8.test(i)){var l=X8.exec(i);if(l==null||e==null)s=void 0;else{var c=+l[1];s=e[0]-c}}else s=e?.[0];if(a==="auto")e!=null&&(o=Math.max(...e));else if(At(a))o=a;else if(typeof a=="function")try{e!=null&&(o=a(e?.[1]))}catch{}else if(typeof a=="string"&&K8.test(a)){var u=K8.exec(a);if(u==null||e==null)o=void 0;else{var f=+u[1];o=e[1]+f}}else o=e?.[1];var g=[s,o];if(nd(g))return e==null?g:y$(g,e,n)}}}var Pm=1e9,mLe={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},iO,dr=!0,Qs="[DecimalError] ",_f=Qs+"Invalid argument: ",rO=Qs+"Exponent out of range: ",km=Math.floor,qd=Math.pow,gLe=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,us,Mi=1e7,ar=7,tZ=9007199254740991,CS=km(tZ/ar),Ct={};Ct.absoluteValue=Ct.abs=function(){var t=new this.constructor(this);return t.s&&(t.s=1),t};Ct.comparedTo=Ct.cmp=function(t){var e,n,r,i,a=this;if(t=new a.constructor(t),a.s!==t.s)return a.s||-t.s;if(a.e!==t.e)return a.e>t.e^a.s<0?1:-1;for(r=a.d.length,i=t.d.length,e=0,n=rt.d[e]^a.s<0?1:-1;return r===i?0:r>i^a.s<0?1:-1};Ct.decimalPlaces=Ct.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*ar;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Ct.dividedBy=Ct.div=function(t){return fc(this,new this.constructor(t))};Ct.dividedToIntegerBy=Ct.idiv=function(t){var e=this,n=e.constructor;return Zn(fc(e,new n(t),0,1),n.precision)};Ct.equals=Ct.eq=function(t){return!this.cmp(t)};Ct.exponent=function(){return Xr(this)};Ct.greaterThan=Ct.gt=function(t){return this.cmp(t)>0};Ct.greaterThanOrEqualTo=Ct.gte=function(t){return this.cmp(t)>=0};Ct.isInteger=Ct.isint=function(){return this.e>this.d.length-2};Ct.isNegative=Ct.isneg=function(){return this.s<0};Ct.isPositive=Ct.ispos=function(){return this.s>0};Ct.isZero=function(){return this.s===0};Ct.lessThan=Ct.lt=function(t){return this.cmp(t)<0};Ct.lessThanOrEqualTo=Ct.lte=function(t){return this.cmp(t)<1};Ct.logarithm=Ct.log=function(t){var e,n=this,r=n.constructor,i=r.precision,a=i+5;if(t===void 0)t=new r(10);else if(t=new r(t),t.s<1||t.eq(us))throw Error(Qs+"NaN");if(n.s<1)throw Error(Qs+(n.s?"NaN":"-Infinity"));return n.eq(us)?new r(0):(dr=!1,e=fc(E0(n,a),E0(t,a),a),dr=!0,Zn(e,i))};Ct.minus=Ct.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?iZ(e,t):nZ(e,(t.s=-t.s,t))};Ct.modulo=Ct.mod=function(t){var e,n=this,r=n.constructor,i=r.precision;if(t=new r(t),!t.s)throw Error(Qs+"NaN");return n.s?(dr=!1,e=fc(n,t,0,1).times(t),dr=!0,n.minus(e)):Zn(new r(n),i)};Ct.naturalExponential=Ct.exp=function(){return rZ(this)};Ct.naturalLogarithm=Ct.ln=function(){return E0(this)};Ct.negated=Ct.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Ct.plus=Ct.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?nZ(e,t):iZ(e,(t.s=-t.s,t))};Ct.precision=Ct.sd=function(t){var e,n,r,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(_f+t);if(e=Xr(i)+1,r=i.d.length-1,n=r*ar+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return t&&e>n?e:n};Ct.squareRoot=Ct.sqrt=function(){var t,e,n,r,i,a,s,o=this,l=o.constructor;if(o.s<1){if(!o.s)return new l(0);throw Error(Qs+"NaN")}for(t=Xr(o),dr=!1,i=Math.sqrt(+o),i==0||i==1/0?(e=qo(o.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=km((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),r=new l(e)):r=new l(i.toString()),n=l.precision,i=s=n+3;;)if(a=r,r=a.plus(fc(o,a,s+2)).times(.5),qo(a.d).slice(0,s)===(e=qo(r.d)).slice(0,s)){if(e=e.slice(s-3,s+1),i==s&&e=="4999"){if(Zn(a,n+1,0),a.times(a).eq(o)){r=a;break}}else if(e!="9999")break;s+=4}return dr=!0,Zn(r,n)};Ct.times=Ct.mul=function(t){var e,n,r,i,a,s,o,l,c,u=this,f=u.constructor,g=u.d,m=(t=new f(t)).d;if(!u.s||!t.s)return new f(0);for(t.s*=u.s,n=u.e+t.e,l=g.length,c=m.length,l=0;){for(e=0,i=l+r;i>r;)o=a[i]+m[r]*g[i-r-1]+e,a[i--]=o%Mi|0,e=o/Mi|0;a[i]=(a[i]+e)%Mi|0}for(;!a[--s];)a.pop();return e?++n:a.shift(),t.d=a,t.e=n,dr?Zn(t,f.precision):t};Ct.toDecimalPlaces=Ct.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(ol(t,0,Pm),e===void 0?e=r.rounding:ol(e,0,8),Zn(n,t+Xr(n)+1,e))};Ct.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=Hf(r,!0):(ol(t,0,Pm),e===void 0?e=i.rounding:ol(e,0,8),r=Zn(new i(r),t+1,e),n=Hf(r,!0,t+1)),n};Ct.toFixed=function(t,e){var n,r,i=this,a=i.constructor;return t===void 0?Hf(i):(ol(t,0,Pm),e===void 0?e=a.rounding:ol(e,0,8),r=Zn(new a(i),t+Xr(i)+1,e),n=Hf(r.abs(),!1,t+Xr(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Ct.toInteger=Ct.toint=function(){var t=this,e=t.constructor;return Zn(new e(t),Xr(t)+1,e.rounding)};Ct.toNumber=function(){return+this};Ct.toPower=Ct.pow=function(t){var e,n,r,i,a,s,o=this,l=o.constructor,c=12,u=+(t=new l(t));if(!t.s)return new l(us);if(o=new l(o),!o.s){if(t.s<1)throw Error(Qs+"Infinity");return o}if(o.eq(us))return o;if(r=l.precision,t.eq(us))return Zn(o,r);if(e=t.e,n=t.d.length-1,s=e>=n,a=o.s,s){if((n=u<0?-u:u)<=tZ){for(i=new l(us),e=Math.ceil(r/ar+4),dr=!1;n%2&&(i=i.times(o),S$(i.d,e)),n=km(n/2),n!==0;)o=o.times(o),S$(o.d,e);return dr=!0,t.s<0?new l(us).div(i):Zn(i,r)}}else if(a<0)throw Error(Qs+"NaN");return a=a<0&&t.d[Math.max(e,n)]&1?-1:1,o.s=1,dr=!1,i=t.times(E0(o,r+c)),dr=!0,i=rZ(i),i.s=a,i};Ct.toPrecision=function(t,e){var n,r,i=this,a=i.constructor;return t===void 0?(n=Xr(i),r=Hf(i,n<=a.toExpNeg||n>=a.toExpPos)):(ol(t,1,Pm),e===void 0?e=a.rounding:ol(e,0,8),i=Zn(new a(i),t,e),n=Xr(i),r=Hf(i,t<=n||n<=a.toExpNeg,t)),r};Ct.toSignificantDigits=Ct.tosd=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(ol(t,1,Pm),e===void 0?e=r.rounding:ol(e,0,8)),Zn(new r(n),t,e)};Ct.toString=Ct.valueOf=Ct.val=Ct.toJSON=Ct[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=Xr(t),n=t.constructor;return Hf(t,e<=n.toExpNeg||e>=n.toExpPos)};function nZ(t,e){var n,r,i,a,s,o,l,c,u=t.constructor,f=u.precision;if(!t.s||!e.s)return e.s||(e=new u(t)),dr?Zn(e,f):e;if(l=t.d,c=e.d,s=t.e,i=e.e,l=l.slice(),a=s-i,a){for(a<0?(r=l,a=-a,o=c.length):(r=c,i=s,o=l.length),s=Math.ceil(f/ar),o=s>o?s+1:o+1,a>o&&(a=o,r.length=1),r.reverse();a--;)r.push(0);r.reverse()}for(o=l.length,a=c.length,o-a<0&&(a=o,r=c,c=l,l=r),n=0;a;)n=(l[--a]=l[a]+c[a]+n)/Mi|0,l[a]%=Mi;for(n&&(l.unshift(n),++i),o=l.length;l[--o]==0;)l.pop();return e.d=l,e.e=i,dr?Zn(e,f):e}function ol(t,e,n){if(t!==~~t||tn)throw Error(_f+t)}function qo(t){var e,n,r,i=t.length-1,a="",s=t[0];if(i>0){for(a+=s,e=1;es?1:-1;else for(o=l=0;oi[o]?1:-1;break}return l}function n(r,i,a){for(var s=0;a--;)r[a]-=s,s=r[a]1;)r.shift()}return function(r,i,a,s){var o,l,c,u,f,g,m,y,v,b,x,M,w,A,T,R,N,j,C=r.constructor,k=r.s==i.s?1:-1,F=r.d,I=i.d;if(!r.s)return new C(r);if(!i.s)throw Error(Qs+"Division by zero");for(l=r.e-i.e,N=I.length,T=F.length,m=new C(k),y=m.d=[],c=0;I[c]==(F[c]||0);)++c;if(I[c]>(F[c]||0)&&--l,a==null?M=a=C.precision:s?M=a+(Xr(r)-Xr(i))+1:M=a,M<0)return new C(0);if(M=M/ar+2|0,c=0,N==1)for(u=0,I=I[0],M++;(c1&&(I=t(I,u),F=t(F,u),N=I.length,T=F.length),A=N,v=F.slice(0,N),b=v.length;b=Mi/2&&++R;do u=0,o=e(I,v,N,b),o<0?(x=v[0],N!=b&&(x=x*Mi+(v[1]||0)),u=x/R|0,u>1?(u>=Mi&&(u=Mi-1),f=t(I,u),g=f.length,b=v.length,o=e(f,v,g,b),o==1&&(u--,n(f,N16)throw Error(rO+Xr(t));if(!t.s)return new u(us);for(dr=!1,o=f,s=new u(.03125);t.abs().gte(.1);)t=t.times(s),c+=5;for(r=Math.log(qd(2,c))/Math.LN10*2+5|0,o+=r,n=i=a=new u(us),u.precision=o;;){if(i=Zn(i.times(t),o),n=n.times(++l),s=a.plus(fc(i,n,o)),qo(s.d).slice(0,o)===qo(a.d).slice(0,o)){for(;c--;)a=Zn(a.times(a),o);return u.precision=f,e==null?(dr=!0,Zn(a,f)):a}a=s}}function Xr(t){for(var e=t.e*ar,n=t.d[0];n>=10;n/=10)e++;return e}function XC(t,e,n){if(e>t.LN10.sd())throw dr=!0,n&&(t.precision=n),Error(Qs+"LN10 precision limit exceeded");return Zn(new t(t.LN10),e)}function Au(t){for(var e="";t--;)e+="0";return e}function E0(t,e){var n,r,i,a,s,o,l,c,u,f=1,g=10,m=t,y=m.d,v=m.constructor,b=v.precision;if(m.s<1)throw Error(Qs+(m.s?"NaN":"-Infinity"));if(m.eq(us))return new v(0);if(e==null?(dr=!1,c=b):c=e,m.eq(10))return e==null&&(dr=!0),XC(v,c);if(c+=g,v.precision=c,n=qo(y),r=n.charAt(0),a=Xr(m),Math.abs(a)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)m=m.times(t),n=qo(m.d),r=n.charAt(0),f++;a=Xr(m),r>1?(m=new v("0."+n),a++):m=new v(r+"."+n.slice(1))}else return l=XC(v,c+2,b).times(a+""),m=E0(new v(r+"."+n.slice(1)),c-g).plus(l),v.precision=b,e==null?(dr=!0,Zn(m,b)):m;for(o=s=m=fc(m.minus(us),m.plus(us),c),u=Zn(m.times(m),c),i=3;;){if(s=Zn(s.times(u),c),l=o.plus(fc(s,new v(i),c)),qo(l.d).slice(0,c)===qo(o.d).slice(0,c))return o=o.times(2),a!==0&&(o=o.plus(XC(v,c+2,b).times(a+""))),o=fc(o,new v(f),c),v.precision=b,e==null?(dr=!0,Zn(o,b)):o;o=l,i+=2}}function _$(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;)++r;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(r,i),e){if(i-=r,n=n-r-1,t.e=km(n/ar),t.d=[],r=(n+1)%ar,n<0&&(r+=ar),rCS||t.e<-CS))throw Error(rO+n)}else t.s=0,t.e=0,t.d=[0];return t}function Zn(t,e,n){var r,i,a,s,o,l,c,u,f=t.d;for(s=1,a=f[0];a>=10;a/=10)s++;if(r=e-s,r<0)r+=ar,i=e,c=f[u=0];else{if(u=Math.ceil((r+1)/ar),a=f.length,u>=a)return t;for(c=a=f[u],s=1;a>=10;a/=10)s++;r%=ar,i=r-ar+s}if(n!==void 0&&(a=qd(10,s-i-1),o=c/a%10|0,l=e<0||f[u+1]!==void 0||c%a,l=n<4?(o||l)&&(n==0||n==(t.s<0?3:2)):o>5||o==5&&(n==4||l||n==6&&(r>0?i>0?c/qd(10,s-i):0:f[u-1])%10&1||n==(t.s<0?8:7))),e<1||!f[0])return l?(a=Xr(t),f.length=1,e=e-a-1,f[0]=qd(10,(ar-e%ar)%ar),t.e=km(-e/ar)||0):(f.length=1,f[0]=t.e=t.s=0),t;if(r==0?(f.length=u,a=1,u--):(f.length=u+1,a=qd(10,ar-r),f[u]=i>0?(c/qd(10,s-i)%qd(10,i)|0)*a:0),l)for(;;)if(u==0){(f[0]+=a)==Mi&&(f[0]=1,++t.e);break}else{if(f[u]+=a,f[u]!=Mi)break;f[u--]=0,a=1}for(r=f.length;f[--r]===0;)f.pop();if(dr&&(t.e>CS||t.e<-CS))throw Error(rO+Xr(t));return t}function iZ(t,e){var n,r,i,a,s,o,l,c,u,f,g=t.constructor,m=g.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new g(t),dr?Zn(e,m):e;if(l=t.d,f=e.d,r=e.e,c=t.e,l=l.slice(),s=c-r,s){for(u=s<0,u?(n=l,s=-s,o=f.length):(n=f,r=c,o=l.length),i=Math.max(Math.ceil(m/ar),o)+2,s>i&&(s=i,n.length=1),n.reverse(),i=s;i--;)n.push(0);n.reverse()}else{for(i=l.length,o=f.length,u=i0;--i)l[o++]=0;for(i=f.length;i>s;){if(l[--i]0?a=a.charAt(0)+"."+a.slice(1)+Au(r):s>1&&(a=a.charAt(0)+"."+a.slice(1)),a=a+(i<0?"e":"e+")+i):i<0?(a="0."+Au(-i-1)+a,n&&(r=n-s)>0&&(a+=Au(r))):i>=s?(a+=Au(i+1-s),n&&(r=n-i-1)>0&&(a=a+"."+Au(r))):((r=i+1)0&&(i+1===s&&(a+="."),a+=Au(r))),t.s<0?"-"+a:a}function S$(t,e){if(t.length>e)return t.length=e,!0}function aZ(t){var e,n,r;function i(a){var s=this;if(!(s instanceof i))return new i(a);if(s.constructor=i,a instanceof i){s.s=a.s,s.e=a.e,s.d=(a=a.d)?a.slice():a;return}if(typeof a=="number"){if(a*0!==0)throw Error(_f+a);if(a>0)s.s=1;else if(a<0)a=-a,s.s=-1;else{s.s=0,s.e=0,s.d=[0];return}if(a===~~a&&a<1e7){s.e=0,s.d=[a];return}return _$(s,a.toString())}else if(typeof a!="string")throw Error(_f+a);if(a.charCodeAt(0)===45?(a=a.slice(1),s.s=-1):s.s=1,gLe.test(a))_$(s,a);else throw Error(_f+a)}if(i.prototype=Ct,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=aZ,i.config=i.set=xLe,t===void 0&&(t={}),t)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(_f+n+": "+r);if((r=t[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(_f+n+": "+r);return this}var iO=aZ(mLe);us=new iO(1);const Ln=iO;var vLe=t=>t,sZ={},oZ=t=>t===sZ,w$=t=>function e(){return arguments.length===0||arguments.length===1&&oZ(arguments.length<=0?void 0:arguments[0])?e:t(...arguments)},lZ=(t,e)=>t===1?e:w$(function(){for(var n=arguments.length,r=new Array(n),i=0;is!==sZ).length;return a>=t?e(...r):lZ(t-a,w$(function(){for(var s=arguments.length,o=new Array(s),l=0;loZ(u)?o.shift():u);return e(...c,...o)}))}),bLe=t=>lZ(t.length,t),iP=(t,e)=>{for(var n=[],r=t;rArray.isArray(e)?e.map(t):Object.keys(e).map(n=>e[n]).map(t)),_Le=function(){for(var e=arguments.length,n=new Array(e),r=0;rl(o),a(...arguments))}},aP=t=>Array.isArray(t)?t.reverse():t.split("").reverse().join("");function cZ(t){var e;return t===0?e=1:e=Math.floor(new Ln(t).abs().log(10).toNumber())+1,e}function uZ(t,e,n){for(var r=new Ln(t),i=0,a=[];r.lt(e)&&i<1e5;)a.push(r.toNumber()),r=r.add(n),i++;return a}var dZ=t=>{var[e,n]=t,[r,i]=[e,n];return e>n&&([r,i]=[n,e]),[r,i]},fZ=(t,e,n)=>{if(t.lte(0))return new Ln(0);var r=cZ(t.toNumber()),i=new Ln(10).pow(r),a=t.div(i),s=r!==1?.05:.1,o=new Ln(Math.ceil(a.div(s).toNumber())).add(n).mul(s),l=o.mul(i);return e?new Ln(l.toNumber()):new Ln(Math.ceil(l.toNumber()))},SLe=(t,e,n)=>{var r=new Ln(1),i=new Ln(t);if(!i.isint()&&n){var a=Math.abs(t);a<1?(r=new Ln(10).pow(cZ(t)-1),i=new Ln(Math.floor(i.div(r).toNumber())).mul(r)):a>1&&(i=new Ln(Math.floor(t)))}else t===0?i=new Ln(Math.floor((e-1)/2)):n||(i=new Ln(Math.floor(t)));var s=Math.floor((e-1)/2),o=_Le(yLe(l=>i.add(new Ln(l-s).mul(r)).toNumber()),iP);return o(0,e)},hZ=function(e,n,r,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new Ln(0),tickMin:new Ln(0),tickMax:new Ln(0)};var s=fZ(new Ln(n).sub(e).div(r-1),i,a),o;e<=0&&n>=0?o=new Ln(0):(o=new Ln(e).add(n).div(2),o=o.sub(new Ln(o).mod(s)));var l=Math.ceil(o.sub(e).div(s).toNumber()),c=Math.ceil(new Ln(n).sub(o).div(s).toNumber()),u=l+c+1;return u>r?hZ(e,n,r,i,a+1):(u0?c+(r-u):c,l=n>0?l:l+(r-u)),{step:s,tickMin:o.sub(new Ln(l).mul(s)),tickMax:o.add(new Ln(c).mul(s))})},wLe=function(e){var[n,r]=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=Math.max(i,2),[o,l]=dZ([n,r]);if(o===-1/0||l===1/0){var c=l===1/0?[o,...iP(0,i-1).map(()=>1/0)]:[...iP(0,i-1).map(()=>-1/0),l];return n>r?aP(c):c}if(o===l)return SLe(o,i,a);var{step:u,tickMin:f,tickMax:g}=hZ(o,l,s,a,0),m=uZ(f,g.add(new Ln(.1).mul(u)),u);return n>r?aP(m):m},MLe=function(e,n){var[r,i]=e,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,[s,o]=dZ([r,i]);if(s===-1/0||o===1/0)return[r,i];if(s===o)return[s];var l=Math.max(n,2),c=fZ(new Ln(o).sub(s).div(l-1),a,0),u=[...uZ(new Ln(s),new Ln(o),c),o];return a===!1&&(u=u.map(f=>Math.round(f))),r>i?aP(u):u},pZ=t=>t.rootProps.maxBarSize,ELe=t=>t.rootProps.barGap,mZ=t=>t.rootProps.barCategoryGap,ALe=t=>t.rootProps.barSize,av=t=>t.rootProps.stackOffset,gZ=t=>t.rootProps.reverseStackOrder,aO=t=>t.options.chartName,sO=t=>t.rootProps.syncId,xZ=t=>t.rootProps.syncMethod,oO=t=>t.options.eventEmitter,TLe=t=>t.rootProps.baseValue,Wr={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},Zl={allowDuplicatedCategory:!0,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"category"},ss={allowDataOverflow:!1,allowDuplicatedCategory:!0,radiusAxisId:0,scale:"auto",tick:!0,tickCount:5,type:"number"},nM=(t,e)=>{if(!(!t||!e))return t!=null&&t.reversed?[e[1],e[0]]:e},CLe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!1,dataKey:void 0,domain:void 0,id:Zl.angleAxisId,includeHidden:!1,name:void 0,reversed:Zl.reversed,scale:Zl.scale,tick:Zl.tick,tickCount:void 0,ticks:void 0,type:Zl.type,unit:void 0},NLe={allowDataOverflow:ss.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:ss.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:ss.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:ss.scale,tick:ss.tick,tickCount:ss.tickCount,ticks:void 0,type:ss.type,unit:void 0},RLe={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:Zl.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:Zl.angleAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:Zl.scale,tick:Zl.tick,tickCount:void 0,ticks:void 0,type:"number",unit:void 0},PLe={allowDataOverflow:ss.allowDataOverflow,allowDecimals:!1,allowDuplicatedCategory:ss.allowDuplicatedCategory,dataKey:void 0,domain:void 0,id:ss.radiusAxisId,includeHidden:!1,name:void 0,reversed:!1,scale:ss.scale,tick:ss.tick,tickCount:ss.tickCount,ticks:void 0,type:"category",unit:void 0},lO=(t,e)=>t.polarAxis.angleAxis[e]!=null?t.polarAxis.angleAxis[e]:t.layout.layoutType==="radial"?RLe:CLe,cO=(t,e)=>t.polarAxis.radiusAxis[e]!=null?t.polarAxis.radiusAxis[e]:t.layout.layoutType==="radial"?PLe:NLe,rM=t=>t.polarOptions,uO=$e([Cc,Nc,ui],mY),vZ=$e([rM,uO],(t,e)=>{if(t!=null)return sa(t.innerRadius,e,0)}),bZ=$e([rM,uO],(t,e)=>{if(t!=null)return sa(t.outerRadius,e,e*.8)}),kLe=t=>{if(t==null)return[0,0];var{startAngle:e,endAngle:n}=t;return[e,n]},yZ=$e([rM],kLe);$e([lO,yZ],nM);var _Z=$e([uO,vZ,bZ],(t,e,n)=>{if(!(t==null||e==null||n==null))return[e,n]});$e([cO,_Z],nM);var SZ=$e([Sn,rM,vZ,bZ,Cc,Nc],(t,e,n,r,i,a)=>{if(!(t!=="centric"&&t!=="radial"||e==null||n==null||r==null)){var{cx:s,cy:o,startAngle:l,endAngle:c}=e;return{cx:sa(s,i,i/2),cy:sa(o,a,a/2),innerRadius:n,outerRadius:r,startAngle:l,endAngle:c,clockWise:!1}}}),fr=(t,e)=>e,sv=(t,e,n)=>n;function iM(t){return t?.id}function wZ(t,e,n){var{chartData:r=[]}=e,{allowDuplicatedCategory:i,dataKey:a}=n,s=new Map;return t.forEach(o=>{var l,c=(l=o.data)!==null&&l!==void 0?l:r;if(!(c==null||c.length===0)){var u=iM(o);c.forEach((f,g)=>{var m=a==null||i?g:String(Yn(f,a,null)),y=Yn(f,o.dataKey,0),v;s.has(m)?v=s.get(m):v={},Object.assign(v,{[u]:y}),s.set(m,v)})}}),Array.from(s.values())}function aM(t){return t.stackId!=null&&t.dataKey!=null}var sM=(t,e)=>t===e?!0:t==null||e==null?!1:t[0]===e[0]&&t[1]===e[1];function oM(t,e){return Array.isArray(t)&&Array.isArray(e)&&t.length===0&&e.length===0?!0:t===e}function DLe(t,e){if(t.length===e.length){for(var n=0;n{var e=Sn(t);return e==="horizontal"?"xAxis":e==="vertical"?"yAxis":e==="centric"?"angleAxis":"radiusAxis"},Dm=t=>t.tooltip.settings.axisId;function M$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function NS(t){for(var e=1;et.cartesianAxis.xAxis[e],Pc=(t,e)=>{var n=MZ(t,e);return n??Si},wi={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:sP,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,width:Z0},EZ=(t,e)=>t.cartesianAxis.yAxis[e],kc=(t,e)=>{var n=EZ(t,e);return n??wi},jLe={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},dO=(t,e)=>{var n=t.cartesianAxis.zAxis[e];return n??jLe},vr=(t,e,n)=>{switch(e){case"xAxis":return Pc(t,n);case"yAxis":return kc(t,n);case"zAxis":return dO(t,n);case"angleAxis":return lO(t,n);case"radiusAxis":return cO(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},ULe=(t,e,n)=>{switch(e){case"xAxis":return Pc(t,n);case"yAxis":return kc(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},ov=(t,e,n)=>{switch(e){case"xAxis":return Pc(t,n);case"yAxis":return kc(t,n);case"angleAxis":return lO(t,n);case"radiusAxis":return cO(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},AZ=t=>t.graphicalItems.cartesianItems.some(e=>e.type==="bar")||t.graphicalItems.polarItems.some(e=>e.type==="radialBar");function fO(t,e){return n=>{switch(t){case"xAxis":return"xAxisId"in n&&n.xAxisId===e;case"yAxis":return"yAxisId"in n&&n.yAxisId===e;case"zAxis":return"zAxisId"in n&&n.zAxisId===e;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===e;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===e;default:return!1}}}var lM=t=>t.graphicalItems.cartesianItems,FLe=$e([fr,sv],fO),hO=(t,e,n)=>t.filter(n).filter(r=>e?.includeHidden===!0?!0:!r.hide),lv=$e([lM,vr,FLe],hO,{memoizeOptions:{resultEqualityCheck:oM}}),TZ=$e([lv],t=>t.filter(e=>e.type==="area"||e.type==="bar").filter(aM)),CZ=t=>t.filter(e=>!("stackId"in e)||e.stackId===void 0),zLe=$e([lv],CZ),pO=t=>t.map(e=>e.data).filter(Boolean).flat(1),BLe=$e([lv],pO,{memoizeOptions:{resultEqualityCheck:oM}}),mO=(t,e)=>{var{chartData:n=[],dataStartIndex:r,dataEndIndex:i}=e;return t.length>0?t:n.slice(r,i+1)},gO=$e([BLe,tM],mO),xO=(t,e,n)=>e?.dataKey!=null?t.map(r=>({value:Yn(r,e.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>t.map(i=>({value:Yn(i,r)}))):t.map(r=>({value:r})),cM=$e([gO,vr,lv],xO);function NZ(t,e){switch(t){case"xAxis":return e.direction==="x";case"yAxis":return e.direction==="y";default:return!1}}function D_(t){if(al(t)||t instanceof Date){var e=Number(t);if(or(e))return e}}function E$(t){if(Array.isArray(t)){var e=[D_(t[0]),D_(t[1])];return nd(e)?e:void 0}var n=D_(t);if(n!=null)return[n,n]}function wc(t){return t.map(D_).filter(zCe)}function HLe(t,e,n){return!n||typeof e!="number"||Ys(e)?[]:n.length?wc(n.flatMap(r=>{var i=Yn(t,r.dataKey),a,s;if(Array.isArray(i)?[a,s]=i:a=s=i,!(!or(a)||!or(s)))return[e-a,e+s]})):[]}var hi=t=>{var e=fi(t),n=Dm(t);return ov(t,e,n)},cv=$e([hi],t=>t?.dataKey),$Le=$e([TZ,tM,hi],wZ),RZ=(t,e,n,r)=>{var i={},a=e.reduce((s,o)=>(o.stackId==null||(s[o.stackId]==null&&(s[o.stackId]=[]),s[o.stackId].push(o)),s),i);return Object.fromEntries(Object.entries(a).map(s=>{var[o,l]=s,c=r?[...l].reverse():l,u=c.map(iM);return[o,{stackedData:lRe(t,u,n),graphicalItems:c}]}))},A0=$e([$Le,TZ,av,gZ],RZ),PZ=(t,e,n,r)=>{var{dataStartIndex:i,dataEndIndex:a}=e;if(r==null&&n!=="zAxis"){var s=fRe(t,i,a);if(!(s!=null&&s[0]===0&&s[1]===0))return s}},VLe=$e([vr],t=>t.allowDataOverflow),vO=t=>{var e;if(t==null||!("domain"in t))return sP;if(t.domain!=null)return t.domain;if(t.ticks!=null){if(t.type==="number"){var n=wc(t.ticks);return[Math.min(...n),Math.max(...n)]}if(t.type==="category")return t.ticks.map(String)}return(e=t?.domain)!==null&&e!==void 0?e:sP},bO=$e([vr],vO),yO=$e([bO,VLe],eZ),GLe=$e([A0,pd,fr,yO],PZ,{memoizeOptions:{resultEqualityCheck:sM}}),uM=t=>t.errorBars,WLe=(t,e,n)=>t.flatMap(r=>e[r.id]).filter(Boolean).filter(r=>NZ(n,r)),RS=function(){for(var e=arguments.length,n=new Array(e),r=0;r{var a,s;if(n.length>0&&t.forEach(o=>{n.forEach(l=>{var c,u,f=(c=r[l.id])===null||c===void 0?void 0:c.filter(x=>NZ(i,x)),g=Yn(o,(u=e.dataKey)!==null&&u!==void 0?u:l.dataKey),m=HLe(o,g,f);if(m.length>=2){var y=Math.min(...m),v=Math.max(...m);(a==null||ys)&&(s=v)}var b=E$(g);b!=null&&(a=a==null?b[0]:Math.min(a,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),e?.dataKey!=null&&t.forEach(o=>{var l=E$(Yn(o,e.dataKey));l!=null&&(a=a==null?l[0]:Math.min(a,l[0]),s=s==null?l[1]:Math.max(s,l[1]))}),or(a)&&or(s))return[a,s]},qLe=$e([gO,vr,zLe,uM,fr],_O,{memoizeOptions:{resultEqualityCheck:sM}});function XLe(t){var{value:e}=t;if(al(e)||e instanceof Date)return e}var KLe=(t,e,n)=>{var r=t.map(XLe).filter(i=>i!=null);return n&&(e.dataKey==null||e.allowDuplicatedCategory&&WX(r))?bY(0,t.length):e.allowDuplicatedCategory?r:Array.from(new Set(r))},kZ=t=>t.referenceElements.dots,Om=(t,e,n)=>t.filter(r=>r.ifOverflow==="extendDomain").filter(r=>e==="xAxis"?r.xAxisId===n:r.yAxisId===n),YLe=$e([kZ,fr,sv],Om),DZ=t=>t.referenceElements.areas,ZLe=$e([DZ,fr,sv],Om),OZ=t=>t.referenceElements.lines,QLe=$e([OZ,fr,sv],Om),LZ=(t,e)=>{var n=wc(t.map(r=>e==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},JLe=$e(YLe,fr,LZ),IZ=(t,e)=>{var n=wc(t.flatMap(r=>[e==="xAxis"?r.x1:r.y1,e==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},eIe=$e([ZLe,fr],IZ);function tIe(t){var e;if(t.x!=null)return wc([t.x]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.x);return n==null||n.length===0?[]:wc(n)}function nIe(t){var e;if(t.y!=null)return wc([t.y]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.y);return n==null||n.length===0?[]:wc(n)}var jZ=(t,e)=>{var n=t.flatMap(r=>e==="xAxis"?tIe(r):nIe(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]},rIe=$e([QLe,fr],jZ),iIe=$e(JLe,rIe,eIe,(t,e,n)=>RS(t,n,e)),SO=(t,e,n,r,i,a,s,o)=>{if(n!=null)return n;var l=s==="vertical"&&o==="xAxis"||s==="horizontal"&&o==="yAxis",c=l?RS(r,a,i):RS(a,i);return pLe(e,c,t.allowDataOverflow)},aIe=$e([vr,bO,yO,GLe,qLe,iIe,Sn,fr],SO,{memoizeOptions:{resultEqualityCheck:sM}}),sIe=[0,1],wO=(t,e,n,r,i,a,s)=>{if(!((t==null||n==null||n.length===0)&&s===void 0)){var{dataKey:o,type:l}=t,c=Tc(e,a);if(c&&o==null){var u;return bY(0,(u=n?.length)!==null&&u!==void 0?u:0)}return l==="category"?KLe(r,t,c):i==="expand"?sIe:s}},MO=$e([vr,Sn,gO,cM,av,fr,aIe],wO),UZ=(t,e,n,r,i)=>{if(t!=null){var{scale:a,type:s}=t;if(a==="auto")return e==="radial"&&i==="radiusAxis"?"band":e==="radial"&&i==="angleAxis"?"linear":s==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!n)?"point":s==="category"?"band":"linear";if(typeof a=="string"){var o="scale".concat(G0(a));return o in px?o:"point"}}},Lm=$e([vr,Sn,AZ,aO,fr],UZ);function oIe(t){if(t!=null){if(t in px)return px[t]();var e="scale".concat(G0(t));if(e in px)return px[e]()}}function EO(t,e,n,r){if(!(n==null||r==null)){if(typeof t.scale=="function")return t.scale.copy().domain(n).range(r);var i=oIe(e);if(i!=null){var a=i.domain(n).range(r);return rRe(a),a}}}var AO=(t,e,n)=>{var r=vO(e);if(!(n!=="auto"&&n!=="linear")){if(e!=null&&e.tickCount&&Array.isArray(r)&&(r[0]==="auto"||r[1]==="auto")&&nd(t))return wLe(t,e.tickCount,e.allowDecimals);if(e!=null&&e.tickCount&&e.type==="number"&&nd(t))return MLe(t,e.tickCount,e.allowDecimals)}},TO=$e([MO,ov,Lm],AO),CO=(t,e,n,r)=>{if(r!=="angleAxis"&&t?.type==="number"&&nd(e)&&Array.isArray(n)&&n.length>0){var i=e[0],a=n[0],s=e[1],o=n[n.length-1];return[Math.min(i,a),Math.max(s,o)]}return e},lIe=$e([vr,MO,TO,fr],CO),cIe=$e(cM,vr,(t,e)=>{if(!(!e||e.type!=="number")){var n=1/0,r=Array.from(wc(t.map(o=>o.value))).sort((o,l)=>o-l);if(r.length<2)return 1/0;var i=r[r.length-1]-r[0];if(i===0)return 1/0;for(var a=0;ar,(t,e,n,r,i)=>{if(!or(t))return 0;var a=e==="vertical"?r.height:r.width;if(i==="gap")return t*a/2;if(i==="no-gap"){var s=sa(n,t*a),o=t*a/2;return o-s-(o-s)/a*s}return 0}),uIe=(t,e)=>{var n=Pc(t,e);return n==null||typeof n.padding!="string"?0:FZ(t,"xAxis",e,n.padding)},dIe=(t,e)=>{var n=kc(t,e);return n==null||typeof n.padding!="string"?0:FZ(t,"yAxis",e,n.padding)},fIe=$e(Pc,uIe,(t,e)=>{var n,r;if(t==null)return{left:0,right:0};var{padding:i}=t;return typeof i=="string"?{left:e,right:e}:{left:((n=i.left)!==null&&n!==void 0?n:0)+e,right:((r=i.right)!==null&&r!==void 0?r:0)+e}}),hIe=$e(kc,dIe,(t,e)=>{var n,r;if(t==null)return{top:0,bottom:0};var{padding:i}=t;return typeof i=="string"?{top:e,bottom:e}:{top:((n=i.top)!==null&&n!==void 0?n:0)+e,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+e}}),pIe=$e([ui,fIe,$w,Hw,(t,e,n)=>n],(t,e,n,r,i)=>{var{padding:a}=r;return i?[a.left,n.width-a.right]:[t.left+e.left,t.left+t.width-e.right]}),mIe=$e([ui,Sn,hIe,$w,Hw,(t,e,n)=>n],(t,e,n,r,i,a)=>{var{padding:s}=i;return a?[r.height-s.bottom,s.top]:e==="horizontal"?[t.top+t.height-n.bottom,t.top+n.top]:[t.top+n.top,t.top+t.height-n.bottom]}),uv=(t,e,n,r)=>{var i;switch(e){case"xAxis":return pIe(t,n,r);case"yAxis":return mIe(t,n,r);case"zAxis":return(i=dO(t,n))===null||i===void 0?void 0:i.range;case"angleAxis":return yZ(t);case"radiusAxis":return _Z(t,n);default:return}},zZ=$e([vr,uv],nM),Im=$e([vr,Lm,lIe,zZ],EO);$e([lv,uM,fr],WLe);function BZ(t,e){return t.ide.id?1:0}var dM=(t,e)=>e,fM=(t,e,n)=>n,gIe=$e(zw,dM,fM,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(BZ)),xIe=$e(Bw,dM,fM,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(BZ)),HZ=(t,e)=>({width:t.width,height:e.height}),vIe=(t,e)=>{var n=typeof e.width=="number"?e.width:Z0;return{width:n,height:t.height}},$Z=$e(ui,Pc,HZ),bIe=(t,e,n)=>{switch(e){case"top":return t.top;case"bottom":return n-t.bottom;default:return 0}},yIe=(t,e,n)=>{switch(e){case"left":return t.left;case"right":return n-t.right;default:return 0}},_Ie=$e(Nc,ui,gIe,dM,fM,(t,e,n,r,i)=>{var a={},s;return n.forEach(o=>{var l=HZ(e,o);s==null&&(s=bIe(e,r,t));var c=r==="top"&&!i||r==="bottom"&&i;a[o.id]=s-Number(c)*l.height,s+=(c?-1:1)*l.height}),a}),SIe=$e(Cc,ui,xIe,dM,fM,(t,e,n,r,i)=>{var a={},s;return n.forEach(o=>{var l=vIe(e,o);s==null&&(s=yIe(e,r,t));var c=r==="left"&&!i||r==="right"&&i;a[o.id]=s-Number(c)*l.width,s+=(c?-1:1)*l.width}),a}),wIe=(t,e)=>{var n=Pc(t,e);if(n!=null)return _Ie(t,n.orientation,n.mirror)},MIe=$e([ui,Pc,wIe,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:t.left,y:0}:{x:t.left,y:i}}}),EIe=(t,e)=>{var n=kc(t,e);if(n!=null)return SIe(t,n.orientation,n.mirror)},AIe=$e([ui,kc,EIe,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n?.[r];return i==null?{x:0,y:t.top}:{x:i,y:t.top}}}),VZ=$e(ui,kc,(t,e)=>{var n=typeof e.width=="number"?e.width:Z0;return{width:n,height:t.height}}),A$=(t,e,n)=>{switch(e){case"xAxis":return $Z(t,n).width;case"yAxis":return VZ(t,n).height;default:return}},GZ=(t,e,n,r)=>{if(n!=null){var{allowDuplicatedCategory:i,type:a,dataKey:s}=n,o=Tc(t,r),l=e.map(c=>c.value);if(s&&o&&a==="category"&&i&&WX(l))return l}},NO=$e([Sn,cM,vr,fr],GZ),WZ=(t,e,n,r)=>{if(!(n==null||n.dataKey==null)){var{type:i,scale:a}=n,s=Tc(t,r);if(s&&(i==="number"||a!=="auto"))return e.map(o=>o.value)}},RO=$e([Sn,cM,ov,fr],WZ),T$=$e([Sn,ULe,Lm,Im,NO,RO,uv,TO,fr],(t,e,n,r,i,a,s,o,l)=>{if(e!=null){var c=Tc(t,l);return{angle:e.angle,interval:e.interval,minTickGap:e.minTickGap,orientation:e.orientation,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,axisType:l,categoricalDomain:a,duplicateDomain:i,isCategorical:c,niceTicks:o,range:s,realScaleType:n,scale:r}}}),TIe=(t,e,n,r,i,a,s,o,l)=>{if(!(e==null||r==null)){var c=Tc(t,l),{type:u,ticks:f,tickCount:g}=e,m=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,y=u==="category"&&r.bandwidth?r.bandwidth()/m:0;y=l==="angleAxis"&&a!=null&&a.length>=2?Ti(a[0]-a[1])*2*y:y;var v=f||i;if(v){var b=v.map((x,M)=>{var w=s?s.indexOf(x):x;return{index:M,coordinate:r(w)+y,value:x,offset:y}});return b.filter(x=>or(x.coordinate))}return c&&o?o.map((x,M)=>({coordinate:r(x)+y,value:x,index:M,offset:y})).filter(x=>or(x.coordinate)):r.ticks?r.ticks(g).map(x=>({coordinate:r(x)+y,value:x,offset:y})):r.domain().map((x,M)=>({coordinate:r(x)+y,value:s?s[x]:x,index:M,offset:y}))}},qZ=$e([Sn,ov,Lm,Im,TO,uv,NO,RO,fr],TIe),CIe=(t,e,n,r,i,a,s)=>{if(!(e==null||n==null||r==null||r[0]===r[1])){var o=Tc(t,s),{tickCount:l}=e,c=0;return c=s==="angleAxis"&&r?.length>=2?Ti(r[0]-r[1])*2*c:c,o&&a?a.map((u,f)=>({coordinate:n(u)+c,value:u,index:f,offset:c})):n.ticks?n.ticks(l).map(u=>({coordinate:n(u)+c,value:u,offset:c})):n.domain().map((u,f)=>({coordinate:n(u)+c,value:i?i[u]:u,index:f,offset:c}))}},rd=$e([Sn,ov,Im,uv,NO,RO,fr],CIe),id=$e(vr,Im,(t,e)=>{if(!(t==null||e==null))return NS(NS({},t),{},{scale:e})}),NIe=$e([vr,Lm,MO,zZ],EO);$e((t,e,n)=>dO(t,n),NIe,(t,e)=>{if(!(t==null||e==null))return NS(NS({},t),{},{scale:e})});var RIe=$e([Sn,zw,Bw],(t,e,n)=>{switch(t){case"horizontal":return e.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),XZ=t=>t.options.defaultTooltipEventType,KZ=t=>t.options.validateTooltipEventTypes;function YZ(t,e,n){if(t==null)return e;var r=t?"axis":"item";return n==null?e:n.includes(r)?r:e}function PO(t,e){var n=XZ(t),r=KZ(t);return YZ(e,n,r)}function PIe(t){return Tt(e=>PO(e,t))}var ZZ=(t,e)=>{var n,r=Number(e);if(!(Ys(r)||e==null))return r>=0?t==null||(n=t[r])===null||n===void 0?void 0:n.value:void 0},kIe=t=>t.tooltip.settings,ku={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},DIe={itemInteraction:{click:ku,hover:ku},axisInteraction:{click:ku,hover:ku},keyboardInteraction:ku,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},QZ=Ga({name:"tooltip",initialState:DIe,reducers:{addTooltipEntrySettings:{reducer(t,e){t.tooltipItemPayloads.push(e.payload)},prepare:cr()},replaceTooltipEntrySettings:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Mo(t).tooltipItemPayloads.indexOf(n);i>-1&&(t.tooltipItemPayloads[i]=r)},prepare:cr()},removeTooltipEntrySettings:{reducer(t,e){var n=Mo(t).tooltipItemPayloads.indexOf(e.payload);n>-1&&t.tooltipItemPayloads.splice(n,1)},prepare:cr()},setTooltipSettingsState(t,e){t.settings=e.payload},setActiveMouseOverItemIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.itemInteraction.hover.active=!0,t.itemInteraction.hover.index=e.payload.activeIndex,t.itemInteraction.hover.dataKey=e.payload.activeDataKey,t.itemInteraction.hover.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.hover.coordinate=e.payload.activeCoordinate},mouseLeaveChart(t){t.itemInteraction.hover.active=!1,t.axisInteraction.hover.active=!1},mouseLeaveItem(t){t.itemInteraction.hover.active=!1},setActiveClickItemIndex(t,e){t.syncInteraction.active=!1,t.itemInteraction.click.active=!0,t.keyboardInteraction.active=!1,t.itemInteraction.click.index=e.payload.activeIndex,t.itemInteraction.click.dataKey=e.payload.activeDataKey,t.itemInteraction.click.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.click.coordinate=e.payload.activeCoordinate},setMouseOverAxisIndex(t,e){t.syncInteraction.active=!1,t.axisInteraction.hover.active=!0,t.keyboardInteraction.active=!1,t.axisInteraction.hover.index=e.payload.activeIndex,t.axisInteraction.hover.dataKey=e.payload.activeDataKey,t.axisInteraction.hover.coordinate=e.payload.activeCoordinate},setMouseClickAxisIndex(t,e){t.syncInteraction.active=!1,t.keyboardInteraction.active=!1,t.axisInteraction.click.active=!0,t.axisInteraction.click.index=e.payload.activeIndex,t.axisInteraction.click.dataKey=e.payload.activeDataKey,t.axisInteraction.click.coordinate=e.payload.activeCoordinate},setSyncInteraction(t,e){t.syncInteraction=e.payload},setKeyboardInteraction(t,e){t.keyboardInteraction.active=e.payload.active,t.keyboardInteraction.index=e.payload.activeIndex,t.keyboardInteraction.coordinate=e.payload.activeCoordinate,t.keyboardInteraction.dataKey=e.payload.activeDataKey}}}),{addTooltipEntrySettings:OIe,replaceTooltipEntrySettings:LIe,removeTooltipEntrySettings:IIe,setTooltipSettingsState:jIe,setActiveMouseOverItemIndex:JZ,mouseLeaveItem:UIe,mouseLeaveChart:eQ,setActiveClickItemIndex:FIe,setMouseOverAxisIndex:tQ,setMouseClickAxisIndex:zIe,setSyncInteraction:oP,setKeyboardInteraction:lP}=QZ.actions,BIe=QZ.reducer;function C$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function r_(t){for(var e=1;e{if(e==null)return ku;var i=GIe(t,e,n);if(i==null)return ku;if(i.active)return i;if(t.keyboardInteraction.active)return t.keyboardInteraction;if(t.syncInteraction.active&&t.syncInteraction.index!=null)return t.syncInteraction;var a=t.settings.active===!0;if(WIe(i)){if(a)return r_(r_({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return r_(r_({},ku),{},{coordinate:i.coordinate})};function qIe(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(t instanceof Date){var e=t.valueOf();return Number.isFinite(e)?e:void 0}var n=Number(t);return Number.isFinite(n)?n:void 0}function XIe(t,e){var n=qIe(t),r=e[0],i=e[1];if(n===void 0)return!1;var a=Math.min(r,i),s=Math.max(r,i);return n>=a&&n<=s}function KIe(t,e,n){if(n==null||e==null)return!0;var r=Yn(t,e);return r==null||!nd(n)?!0:XIe(r,n)}var kO=(t,e,n,r)=>{var i=t?.index;if(i==null)return null;var a=Number(i);if(!or(a))return i;var s=0,o=1/0;e.length>0&&(o=e.length-1);var l=Math.max(s,Math.min(a,o)),c=e[l];return c==null||KIe(c,n,r)?String(l):null},rQ=(t,e,n,r,i,a,s,o)=>{if(!(a==null||o==null)){var l=s[0],c=l==null?void 0:o(l.positions,a);if(c!=null)return c;var u=i?.[Number(a)];if(u)switch(n){case"horizontal":return{x:u.coordinate,y:(r.top+e)/2};default:return{x:(r.left+t)/2,y:u.coordinate}}}},iQ=(t,e,n,r)=>{if(e==="axis")return t.tooltipItemPayloads;if(t.tooltipItemPayloads.length===0)return[];var i;return n==="hover"?i=t.itemInteraction.hover.dataKey:i=t.itemInteraction.click.dataKey,i==null&&r!=null?[t.tooltipItemPayloads[0]]:t.tooltipItemPayloads.filter(a=>{var s;return((s=a.settings)===null||s===void 0?void 0:s.dataKey)===i})},dv=t=>t.options.tooltipPayloadSearcher,jm=t=>t.tooltip;function N$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function R$(t){for(var e=1;e{if(!(e==null||a==null)){var{chartData:o,computedData:l,dataStartIndex:c,dataEndIndex:u}=n,f=[];return t.reduce((g,m)=>{var y,{dataDefinedOnItem:v,settings:b}=m,x=JIe(v,o),M=Array.isArray(x)?zK(x,c,u):x,w=(y=b?.dataKey)!==null&&y!==void 0?y:r,A=b?.nameKey,T;if(r&&Array.isArray(M)&&!Array.isArray(M[0])&&s==="axis"?T=qX(M,r,i):T=a(M,e,l,A),Array.isArray(T))T.forEach(N=>{var j=R$(R$({},b),{},{name:N.name,unit:N.unit,color:void 0,fill:void 0});g.push(Y8({tooltipEntrySettings:j,dataKey:N.dataKey,payload:N.payload,value:Yn(N.payload,N.dataKey),name:N.name}))});else{var R;g.push(Y8({tooltipEntrySettings:b,dataKey:w,payload:T,value:Yn(T,w),name:(R=Yn(T,A))!==null&&R!==void 0?R:b?.name}))}return g},f)}},DO=$e([hi,Sn,AZ,aO,fi],UZ),eje=$e([t=>t.graphicalItems.cartesianItems,t=>t.graphicalItems.polarItems],(t,e)=>[...t,...e]),tje=$e([fi,Dm],fO),fv=$e([eje,hi,tje],hO,{memoizeOptions:{resultEqualityCheck:oM}}),nje=$e([fv],t=>t.filter(aM)),rje=$e([fv],pO,{memoizeOptions:{resultEqualityCheck:oM}}),Um=$e([rje,pd],mO),ije=$e([nje,pd,hi],wZ),OO=$e([Um,hi,fv],xO),sQ=$e([hi],vO),aje=$e([hi],t=>t.allowDataOverflow),oQ=$e([sQ,aje],eZ),sje=$e([fv],t=>t.filter(aM)),oje=$e([ije,sje,av,gZ],RZ),lje=$e([oje,pd,fi,oQ],PZ),cje=$e([fv],CZ),uje=$e([Um,hi,cje,uM,fi],_O,{memoizeOptions:{resultEqualityCheck:sM}}),dje=$e([kZ,fi,Dm],Om),fje=$e([dje,fi],LZ),hje=$e([DZ,fi,Dm],Om),pje=$e([hje,fi],IZ),mje=$e([OZ,fi,Dm],Om),gje=$e([mje,fi],jZ),xje=$e([fje,gje,pje],RS),vje=$e([hi,sQ,oQ,lje,uje,xje,Sn,fi],SO),hv=$e([hi,Sn,Um,OO,av,fi,vje],wO),bje=$e([hv,hi,DO],AO),yje=$e([hi,hv,bje,fi],CO),lQ=t=>{var e=fi(t),n=Dm(t),r=!1;return uv(t,e,n,r)},cQ=$e([hi,lQ],nM),uQ=$e([hi,DO,yje,cQ],EO),_je=$e([Sn,OO,hi,fi],GZ),Sje=$e([Sn,OO,hi,fi],WZ),wje=(t,e,n,r,i,a,s,o)=>{if(e){var{type:l}=e,c=Tc(t,o);if(r){var u=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,f=l==="category"&&r.bandwidth?r.bandwidth()/u:0;return f=o==="angleAxis"&&i!=null&&i?.length>=2?Ti(i[0]-i[1])*2*f:f,c&&s?s.map((g,m)=>({coordinate:r(g)+f,value:g,index:m,offset:f})):r.domain().map((g,m)=>({coordinate:r(g)+f,value:a?a[g]:g,index:m,offset:f}))}}},Dc=$e([Sn,hi,DO,uQ,lQ,_je,Sje,fi],wje),LO=$e([XZ,KZ,kIe],(t,e,n)=>YZ(n.shared,t,e)),dQ=t=>t.tooltip.settings.trigger,IO=t=>t.tooltip.settings.defaultIndex,pv=$e([jm,LO,dQ,IO],nQ),ad=$e([pv,Um,cv,hv],kO),fQ=$e([Dc,ad],ZZ),jO=$e([pv],t=>{if(t)return t.dataKey}),Mje=$e([pv],t=>{if(t)return t.graphicalItemId}),hQ=$e([jm,LO,dQ,IO],iQ),Eje=$e([Cc,Nc,Sn,ui,Dc,IO,hQ,dv],rQ),Aje=$e([pv,Eje],(t,e)=>t!=null&&t.coordinate?t.coordinate:e),Tje=$e([pv],t=>t.active),Cje=$e([hQ,ad,pd,cv,fQ,dv,LO],aQ),Nje=$e([Cje],t=>{if(t!=null){var e=t.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(e))}});function P$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function k$(t){for(var e=1;eTt(hi),Oje=()=>{var t=Dje(),e=Tt(Dc),n=Tt(uQ);return dm(!t||!n?void 0:k$(k$({},t),{},{scale:n}),e)};function D$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function pp(t){for(var e=1;e{var i=e.find(a=>a&&a.index===n);if(i){if(t==="horizontal")return{x:i.coordinate,y:r.chartY};if(t==="vertical")return{x:r.chartX,y:i.coordinate}}return{x:0,y:0}},Fje=(t,e,n,r)=>{var i=e.find(c=>c&&c.index===n);if(i){if(t==="centric"){var a=i.coordinate,{radius:s}=r;return pp(pp(pp({},r),Gr(r.cx,r.cy,s,a)),{},{angle:a,radius:s})}var o=i.coordinate,{angle:l}=r;return pp(pp(pp({},r),Gr(r.cx,r.cy,o,l)),{},{angle:l,radius:o})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function zje(t,e){var{chartX:n,chartY:r}=t;return n>=e.left&&n<=e.left+e.width&&r>=e.top&&r<=e.top+e.height}var pQ=(t,e,n,r,i)=>{var a,s=-1,o=(a=e?.length)!==null&&a!==void 0?a:0;if(o<=1||t==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var l=0;l0?n[l-1].coordinate:n[o-1].coordinate,u=n[l].coordinate,f=l>=o-1?n[0].coordinate:n[l+1].coordinate,g=void 0;if(Ti(u-c)!==Ti(f-u)){var m=[];if(Ti(f-u)===Ti(i[1]-i[0])){g=f;var y=u+i[1]-i[0];m[0]=Math.min(y,(y+c)/2),m[1]=Math.max(y,(y+c)/2)}else{g=c;var v=f+i[1]-i[0];m[0]=Math.min(u,(v+u)/2),m[1]=Math.max(u,(v+u)/2)}var b=[Math.min(u,(g+u)/2),Math.max(u,(g+u)/2)];if(t>b[0]&&t<=b[1]||t>=m[0]&&t<=m[1]){({index:s}=n[l]);break}}else{var x=Math.min(c,f),M=Math.max(c,f);if(t>(x+u)/2&&t<=(M+u)/2){({index:s}=n[l]);break}}}else if(e){for(var w=0;w0&&w(e[w].coordinate+e[w-1].coordinate)/2&&t<=(e[w].coordinate+e[w+1].coordinate)/2||w===o-1&&t>(e[w].coordinate+e[w-1].coordinate)/2){({index:s}=e[w]);break}}return s},mQ=()=>Tt(aO),UO=(t,e)=>e,gQ=(t,e,n)=>n,FO=(t,e,n,r)=>r,Bje=$e(Dc,t=>Pw(t,e=>e.coordinate)),zO=$e([jm,UO,gQ,FO],nQ),BO=$e([zO,Um,cv,hv],kO),Hje=(t,e,n)=>{if(e!=null){var r=jm(t);return e==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},xQ=$e([jm,UO,gQ,FO],iQ),PS=$e([Cc,Nc,Sn,ui,Dc,FO,xQ,dv],rQ),$je=$e([zO,PS],(t,e)=>{var n;return(n=t.coordinate)!==null&&n!==void 0?n:e}),vQ=$e([Dc,BO],ZZ),Vje=$e([xQ,BO,pd,cv,vQ,dv,UO],aQ),Gje=$e([zO,BO],(t,e)=>({isActive:t.active&&e!=null,activeIndex:e})),Wje=(t,e,n,r,i,a,s)=>{if(!(!t||!n||!r||!i)&&zje(t,s)){var o=hRe(t,e),l=pQ(o,a,i,n,r),c=Uje(e,i,l,t);return{activeIndex:String(l),activeCoordinate:c}}},qje=(t,e,n,r,i,a,s)=>{if(!(!t||!r||!i||!a||!n)){var o=Rke(t,n);if(o){var l=pRe(o,e),c=pQ(l,s,a,r,i),u=Fje(e,a,c,o);return{activeIndex:String(c),activeCoordinate:u}}}},Xje=(t,e,n,r,i,a,s,o)=>{if(!(!t||!e||!r||!i||!a))return e==="horizontal"||e==="vertical"?Wje(t,e,r,i,a,s,o):qje(t,e,n,r,i,a,s)},Kje=$e(t=>t.zIndex.zIndexMap,(t,e)=>e,(t,e,n)=>n,(t,e,n)=>{if(e!=null){var r=t[e];if(r!=null)return n?r.panoramaElementId:r.elementId}}),Yje=$e(t=>t.zIndex.zIndexMap,t=>{var e=Object.keys(t).map(r=>parseInt(r,10)).concat(Object.values(Wr)),n=Array.from(new Set(e));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:DLe}});function O$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function L$(t){for(var e=1;eL$(L$({},t),{},{[e]:{elementId:void 0,panoramaElementId:void 0,consumers:0}}),e4e)},n4e=new Set(Object.values(Wr));function r4e(t){return n4e.has(t)}var bQ=Ga({name:"zIndex",initialState:t4e,reducers:{registerZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]?t.zIndexMap[n].consumers+=1:t.zIndexMap[n]={consumers:1,elementId:void 0,panoramaElementId:void 0}},prepare:cr()},unregisterZIndexPortal:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(t.zIndexMap[n].consumers-=1,t.zIndexMap[n].consumers<=0&&!r4e(n)&&delete t.zIndexMap[n])},prepare:cr()},registerZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n,elementId:r,isPanorama:i}=e.payload;t.zIndexMap[n]?i?t.zIndexMap[n].panoramaElementId=r:t.zIndexMap[n].elementId=r:t.zIndexMap[n]={consumers:0,elementId:i?void 0:r,panoramaElementId:i?r:void 0}},prepare:cr()},unregisterZIndexPortalId:{reducer:(t,e)=>{var{zIndex:n}=e.payload;t.zIndexMap[n]&&(e.payload.isPanorama?t.zIndexMap[n].panoramaElementId=void 0:t.zIndexMap[n].elementId=void 0)},prepare:cr()}}}),{registerZIndexPortal:i4e,unregisterZIndexPortal:a4e,registerZIndexPortalId:s4e,unregisterZIndexPortalId:o4e}=bQ.actions,l4e=bQ.reducer;function Wa(t){var{zIndex:e,children:n}=t,r=WRe(),i=r&&e!==void 0&&e!==0,a=ca(),s=er();E.useLayoutEffect(()=>i?(s(i4e({zIndex:e})),()=>{s(a4e({zIndex:e}))}):W0,[s,e,i]);var o=Tt(c=>Kje(c,e,a));if(!i)return n;if(!o)return null;var l=document.getElementById(o);return l?Jl.createPortal(n,l):null}function cP(){return cP=Object.assign?Object.assign.bind():function(t){for(var e=1;eE.useContext(yQ),KC={exports:{}},j$;function g4e(){return j$||(j$=1,(function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(l,c,u){this.fn=l,this.context=c,this.once=u||!1}function a(l,c,u,f,g){if(typeof u!="function")throw new TypeError("The listener must be a function");var m=new i(u,f||l,g),y=n?n+c:c;return l._events[y]?l._events[y].fn?l._events[y]=[l._events[y],m]:l._events[y].push(m):(l._events[y]=m,l._eventsCount++),l}function s(l,c){--l._eventsCount===0?l._events=new r:delete l._events[c]}function o(){this._events=new r,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],u,f;if(this._eventsCount===0)return c;for(f in u=this._events)e.call(u,f)&&c.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(u)):c},o.prototype.listeners=function(c){var u=n?n+c:c,f=this._events[u];if(!f)return[];if(f.fn)return[f.fn];for(var g=0,m=f.length,y=new Array(m);g{t.eventEmitter==null&&(t.eventEmitter=Symbol("rechartsEventEmitter"))}}}),y4e=_Q.reducer,{createEventEmitter:_4e}=_Q.actions;function S4e(t){return t.tooltip.syncInteraction}var w4e={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},SQ=Ga({name:"chartData",initialState:w4e,reducers:{setChartData(t,e){if(t.chartData=e.payload,e.payload==null){t.dataStartIndex=0,t.dataEndIndex=0;return}e.payload.length>0&&t.dataEndIndex!==e.payload.length-1&&(t.dataEndIndex=e.payload.length-1)},setComputedData(t,e){t.computedData=e.payload},setDataStartEndIndexes(t,e){var{startIndex:n,endIndex:r}=e.payload;n!=null&&(t.dataStartIndex=n),r!=null&&(t.dataEndIndex=r)}}}),{setChartData:F$,setDataStartEndIndexes:M4e,setComputedData:u9e}=SQ.actions,E4e=SQ.reducer,A4e=["x","y"];function z$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function mp(t){for(var e=1;el.rootProps.className);E.useEffect(()=>{if(t==null)return W0;var l=(c,u,f)=>{if(e!==f&&t===c){if(r==="index"){var g;if(s&&u!==null&&u!==void 0&&(g=u.payload)!==null&&g!==void 0&&g.coordinate&&u.payload.sourceViewBox){var m=u.payload.coordinate,{x:y,y:v}=m,b=R4e(m,A4e),{x,y:M,width:w,height:A}=u.payload.sourceViewBox,T=mp(mp({},b),{},{x:s.x+(w?(y-x)/w:0)*s.width,y:s.y+(A?(v-M)/A:0)*s.height});n(mp(mp({},u),{},{payload:mp(mp({},u.payload),{},{coordinate:T})}))}else n(u);return}if(i!=null){var R;if(typeof r=="function"){var N={activeTooltipIndex:u.payload.index==null?void 0:Number(u.payload.index),isTooltipActive:u.payload.active,activeIndex:u.payload.index==null?void 0:Number(u.payload.index),activeLabel:u.payload.label,activeDataKey:u.payload.dataKey,activeCoordinate:u.payload.coordinate},j=r(i,N);R=i[j]}else r==="value"&&(R=i.find($=>String($.value)===u.payload.label));var{coordinate:C}=u.payload;if(R==null||u.payload.active===!1||C==null||s==null){n(oP({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}var{x:k,y:F}=C,I=Math.min(k,s.x+s.width),B=Math.min(F,s.y+s.height),O={x:a==="horizontal"?R.coordinate:I,y:a==="horizontal"?B:R.coordinate},H=oP({active:u.payload.active,coordinate:O,dataKey:u.payload.dataKey,index:String(R.index),label:u.payload.label,sourceViewBox:u.payload.sourceViewBox,graphicalItemId:u.payload.graphicalItemId});n(H)}}};return T0.on(uP,l),()=>{T0.off(uP,l)}},[o,n,e,t,r,i,a,s])}function D4e(){var t=Tt(sO),e=Tt(oO),n=er();E.useEffect(()=>{if(t==null)return W0;var r=(i,a,s)=>{e!==s&&t===i&&n(M4e(a))};return T0.on(U$,r),()=>{T0.off(U$,r)}},[n,e,t])}function O4e(){var t=er();E.useEffect(()=>{t(_4e())},[t]),k4e(),D4e()}function L4e(t,e,n,r,i,a){var s=Tt(m=>Hje(m,t,e)),o=Tt(oO),l=Tt(sO),c=Tt(xZ),u=Tt(S4e),f=u?.active,g=Vw();E.useEffect(()=>{if(!f&&l!=null&&o!=null){var m=oP({active:a,coordinate:n,dataKey:s,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:g,graphicalItemId:void 0});T0.emit(uP,l,m,o)}},[f,n,s,i,r,o,l,c,a,g])}function B$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function H$(t){for(var e=1;e{N(jIe({shared:M,trigger:w,axisId:R,active:i,defaultIndex:j}))},[N,M,w,R,i,j]);var C=Vw(),k=cY(),F=PIe(M),{activeIndex:I,isActive:B}=(e=Tt(xe=>Gje(xe,F,w,j)))!==null&&e!==void 0?e:{},O=Tt(xe=>Vje(xe,F,w,j)),H=Tt(xe=>vQ(xe,F,w,j)),$=Tt(xe=>$je(xe,F,w,j)),W=O,K=m4e(),Y=(n=i??B)!==null&&n!==void 0?n:!1,[se,V]=uK([W,Y]),X=F==="axis"?H:void 0;L4e(F,w,$,X,I,Y);var ae=T??K;if(ae==null||C==null||F==null)return null;var ce=W??$$;Y||(ce=$$),c&&ce.length&&(ce=aK(ce.filter(xe=>xe.value!=null&&(xe.hide!==!0||r.includeHidden)),g,F4e));var ve=ce.length>0,te=E.createElement(PPe,{allowEscapeViewBox:a,animationDuration:s,animationEasing:o,isAnimationActive:u,active:Y,coordinate:$,hasPayload:ve,offset:f,position:m,reverseDirection:y,useTranslate3d:v,viewBox:C,wrapperStyle:b,lastBoundingBox:se,innerRef:V,hasPortalFromProps:!!T},z4e(l,H$(H$({},r),{},{payload:ce,label:X,active:Y,activeIndex:I,coordinate:$,accessibilityLayer:k})));return E.createElement(E.Fragment,null,Jl.createPortal(te,ae),Y&&E.createElement(p4e,{cursor:x,tooltipEventType:F,coordinate:$,payload:ce,index:I}))}var mv=t=>null;mv.displayName="Cell";function H4e(t,e,n){return(e=$4e(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $4e(t){var e=V4e(t,"string");return typeof e=="symbol"?e:e+""}function V4e(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class G4e{constructor(e){H4e(this,"cache",new Map),this.maxSize=e}get(e){var n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(e,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function V$(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function W4e(t){for(var e=1;e{try{var n=document.getElementById(W$);n||(n=document.createElement("span"),n.setAttribute("id",W$),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,Z4e,e),n.textContent="".concat(t);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},Dx=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||Nm.isSsr)return{width:0,height:0};if(!wQ.enableCache)return q$(e,n);var r=Q4e(e,n),i=G$.get(r);if(i)return i;var a=q$(e,n);return G$.set(r,a),a},X$=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,K$=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,J4e=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,eUe=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,MQ={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},tUe=Object.keys(MQ),Tp="NaN";function nUe(t,e){return t*MQ[e]}class La{static parse(e){var n,[,r,i]=(n=eUe.exec(e))!==null&&n!==void 0?n:[];return new La(parseFloat(r),i??"")}constructor(e,n){this.num=e,this.unit=n,this.num=e,this.unit=n,Ys(e)&&(this.unit=""),n!==""&&!J4e.test(n)&&(this.num=NaN,this.unit=""),tUe.includes(n)&&(this.num=nUe(e,n),this.unit="px")}add(e){return this.unit!==e.unit?new La(NaN,""):new La(this.num+e.num,this.unit)}subtract(e){return this.unit!==e.unit?new La(NaN,""):new La(this.num-e.num,this.unit)}multiply(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new La(NaN,""):new La(this.num*e.num,this.unit||e.unit)}divide(e){return this.unit!==""&&e.unit!==""&&this.unit!==e.unit?new La(NaN,""):new La(this.num/e.num,this.unit||e.unit)}toString(){return"".concat(this.num).concat(this.unit)}isNaN(){return Ys(this.num)}}function EQ(t){if(t.includes(Tp))return Tp;for(var e=t;e.includes("*")||e.includes("/");){var n,[,r,i,a]=(n=X$.exec(e))!==null&&n!==void 0?n:[],s=La.parse(r??""),o=La.parse(a??""),l=i==="*"?s.multiply(o):s.divide(o);if(l.isNaN())return Tp;e=e.replace(X$,l.toString())}for(;e.includes("+")||/.-\d+(?:\.\d+)?/.test(e);){var c,[,u,f,g]=(c=K$.exec(e))!==null&&c!==void 0?c:[],m=La.parse(u??""),y=La.parse(g??""),v=f==="+"?m.add(y):m.subtract(y);if(v.isNaN())return Tp;e=e.replace(K$,v.toString())}return e}var Y$=/\(([^()]*)\)/;function rUe(t){for(var e=t,n;(n=Y$.exec(e))!=null;){var[,r]=n;e=e.replace(Y$,EQ(r))}return e}function iUe(t){var e=t.replace(/\s+/g,"");return e=rUe(e),e=EQ(e),e}function aUe(t){try{return iUe(t)}catch{return Tp}}function ZC(t){var e=aUe(t.slice(5,-1));return e===Tp?"":e}var sUe=["x","y","lineHeight","capHeight","fill","scaleToFit","textAnchor","verticalAnchor"],oUe=["dx","dy","angle","className","breakAll"];function dP(){return dP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{children:e,breakAll:n,style:r}=t;try{var i=[];gr(e)||(n?i=e.toString().split(""):i=e.toString().split(AQ));var a=i.map(o=>({word:o,width:Dx(o,r).width})),s=n?0:Dx(" ",r).width;return{wordsWithComputedWidth:a,spaceWidth:s}}catch{return null}};function cUe(t){return t==="start"||t==="middle"||t==="end"||t==="inherit"}var CQ=(t,e,n,r)=>t.reduce((i,a)=>{var{word:s,width:o}=a,l=i[i.length-1];if(l&&o!=null&&(e==null||r||l.width+o+nt.reduce((e,n)=>e.width>n.width?e:n),uUe="…",Q$=(t,e,n,r,i,a,s,o)=>{var l=t.slice(0,e),c=TQ({breakAll:n,style:r,children:l+uUe});if(!c)return[!1,[]];var u=CQ(c.wordsWithComputedWidth,a,s,o),f=u.length>i||NQ(u).width>Number(a);return[f,u]},dUe=(t,e,n,r,i)=>{var{maxLines:a,children:s,style:o,breakAll:l}=t,c=At(a),u=String(s),f=CQ(e,r,n,i);if(!c||i)return f;var g=f.length>a||NQ(f).width>Number(r);if(!g)return f;for(var m=0,y=u.length-1,v=0,b;m<=y&&v<=u.length-1;){var x=Math.floor((m+y)/2),M=x-1,[w,A]=Q$(u,M,l,o,a,r,n,i),[T]=Q$(u,x,l,o,a,r,n,i);if(!w&&!T&&(m=x+1),w&&T&&(y=x-1),!w&&T){b=A;break}v++}return b||f},J$=t=>{var e=gr(t)?[]:t.toString().split(AQ);return[{words:e,width:void 0}]},fUe=t=>{var{width:e,scaleToFit:n,children:r,style:i,breakAll:a,maxLines:s}=t;if((e||n)&&!Nm.isSsr){var o,l,c=TQ({breakAll:a,children:r,style:i});if(c){var{wordsWithComputedWidth:u,spaceWidth:f}=c;o=u,l=f}else return J$(r);return dUe({breakAll:a,children:r,maxLines:s,style:i},o,l,e,!!n)}return J$(r)},RQ="#808080",hUe={angle:0,breakAll:!1,capHeight:"0.71em",fill:RQ,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},hM=E.forwardRef((t,e)=>{var n=Yr(t,hUe),{x:r,y:i,lineHeight:a,capHeight:s,fill:o,scaleToFit:l,textAnchor:c,verticalAnchor:u}=n,f=Z$(n,sUe),g=E.useMemo(()=>fUe({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),{dx:m,dy:y,angle:v,className:b,breakAll:x}=f,M=Z$(f,oUe);if(!al(r)||!al(i)||g.length===0)return null;var w=Number(r)+(At(m)?m:0),A=Number(i)+(At(y)?y:0);if(!or(w)||!or(A))return null;var T;switch(u){case"start":T=ZC("calc(".concat(s,")"));break;case"middle":T=ZC("calc(".concat((g.length-1)/2," * -").concat(a," + (").concat(s," / 2))"));break;default:T=ZC("calc(".concat(g.length-1," * -").concat(a,")"));break}var R=[];if(l){var N=g[0].width,{width:j}=f;R.push("scale(".concat(At(j)&&At(N)?j/N:1,")"))}return v&&R.push("rotate(".concat(v,", ").concat(w,", ").concat(A,")")),R.length&&(M.transform=R.join(" ")),E.createElement("text",dP({},Ma(M),{ref:e,x:w,y:A,className:An("recharts-text",b),textAnchor:c,fill:o.includes("url")?RQ:o}),g.map((C,k)=>{var F=C.words.join(x?"":" ");return E.createElement("tspan",{x:w,dy:k===0?T:a,key:"".concat(F,"-").concat(k)},F)}))});hM.displayName="Text";var pUe=["labelRef"];function mUe(t,e){if(t==null)return{};var n,r,i=gUe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var{x:e,y:n,upperWidth:r,lowerWidth:i,width:a,height:s,children:o}=t,l=E.useMemo(()=>({x:e,y:n,upperWidth:r,lowerWidth:i,width:a,height:s}),[e,n,r,i,a,s]);return E.createElement(PQ.Provider,{value:l},o)},kQ=()=>{var t=E.useContext(PQ),e=Vw();return t||YK(e)},_Ue=E.createContext(null),SUe=()=>{var t=E.useContext(_Ue),e=Tt(SZ);return t||e},wUe=t=>{var{value:e,formatter:n}=t,r=gr(t.children)?e:t.children;return typeof n=="function"?n(r):r},$O=t=>t!=null&&typeof t=="function",MUe=(t,e)=>{var n=Ti(e-t),r=Math.min(Math.abs(e-t),360);return n*r},EUe=(t,e,n,r,i)=>{var{offset:a,className:s}=t,{cx:o,cy:l,innerRadius:c,outerRadius:u,startAngle:f,endAngle:g,clockWise:m}=i,y=(c+u)/2,v=MUe(f,g),b=v>=0?1:-1,x,M;switch(e){case"insideStart":x=f+b*a,M=m;break;case"insideEnd":x=g-b*a,M=!m;break;case"end":x=g+b*a,M=m;break;default:throw new Error("Unsupported position ".concat(e))}M=v<=0?M:!M;var w=Gr(o,l,y,x),A=Gr(o,l,y,x+(M?1:-1)*359),T="M".concat(w.x,",").concat(w.y,` A`).concat(y,",").concat(y,",0,1,").concat(M?0:1,`, - `).concat(A.x,",").concat(A.y),R=gr(t.id)?h0("recharts-radial-line-"):t.id;return E.createElement("text",Ql({},r,{dominantBaseline:"central",className:An("recharts-radial-bar-label",s)}),E.createElement("defs",null,E.createElement("path",{id:R,d:T})),E.createElement("textPath",{xlinkHref:"#".concat(R)},n))},AUe=(t,e,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:s,startAngle:o,endAngle:l}=t,c=(o+l)/2;if(n==="outside"){var{x:u,y:f}=Gr(r,i,s+e,c);return{x:u,y:f,textAnchor:u>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var g=(a+s)/2,{x:m,y}=Gr(r,i,g,c);return{x:m,y,textAnchor:"middle",verticalAnchor:"middle"}},fP=t=>"cx"in t&&At(t.cx),TUe=(t,e)=>{var{parentViewBox:n,offset:r,position:i}=t,a;n!=null&&!fP(n)&&(a=n);var{x:s,y:o,upperWidth:l,lowerWidth:c,height:u}=e,f=s,g=s+(l-c)/2,m=(f+g)/2,y=(l+c)/2,v=f+l/2,b=u>=0?1:-1,x=b*r,M=b>0?"end":"start",w=b>0?"start":"end",A=l>=0?1:-1,T=A*r,R=A>0?"end":"start",N=A>0?"start":"end";if(i==="top"){var j={x:f+l/2,y:o-x,textAnchor:"middle",verticalAnchor:M};return Pr(Pr({},j),a?{height:Math.max(o-a.y,0),width:l}:{})}if(i==="bottom"){var C={x:g+c/2,y:o+u+x,textAnchor:"middle",verticalAnchor:w};return Pr(Pr({},C),a?{height:Math.max(a.y+a.height-(o+u),0),width:c}:{})}if(i==="left"){var k={x:m-T,y:o+u/2,textAnchor:R,verticalAnchor:"middle"};return Pr(Pr({},k),a?{width:Math.max(k.x-a.x,0),height:u}:{})}if(i==="right"){var U={x:m+y+T,y:o+u/2,textAnchor:N,verticalAnchor:"middle"};return Pr(Pr({},U),a?{width:Math.max(a.x+a.width-U.x,0),height:u}:{})}var I=a?{width:y,height:u}:{};return i==="insideLeft"?Pr({x:m+T,y:o+u/2,textAnchor:N,verticalAnchor:"middle"},I):i==="insideRight"?Pr({x:m+y-T,y:o+u/2,textAnchor:R,verticalAnchor:"middle"},I):i==="insideTop"?Pr({x:f+l/2,y:o+x,textAnchor:"middle",verticalAnchor:w},I):i==="insideBottom"?Pr({x:g+c/2,y:o+u-x,textAnchor:"middle",verticalAnchor:M},I):i==="insideTopLeft"?Pr({x:f+T,y:o+x,textAnchor:N,verticalAnchor:w},I):i==="insideTopRight"?Pr({x:f+l-T,y:o+x,textAnchor:R,verticalAnchor:w},I):i==="insideBottomLeft"?Pr({x:g+T,y:o+u-x,textAnchor:N,verticalAnchor:M},I):i==="insideBottomRight"?Pr({x:g+c-T,y:o+u-x,textAnchor:R,verticalAnchor:M},I):i&&typeof i=="object"&&(At(i.x)||vc(i.x))&&(At(i.y)||vc(i.y))?Pr({x:s+sa(i.x,y),y:o+sa(i.y,u),textAnchor:"end",verticalAnchor:"end"},I):Pr({x:v,y:o+u/2,textAnchor:"middle",verticalAnchor:"middle"},I)},CUe={angle:0,offset:5,zIndex:Wr.label,position:"middle",textBreakAll:!1};function Tu(t){var e=Yr(t,CUe),{viewBox:n,position:r,value:i,children:a,content:s,className:o="",textBreakAll:l,labelRef:c}=e,u=SUe(),f=kQ(),g=r==="center"?f:u??f,m,y,v;if(n==null?m=g:fP(n)?m=n:m=YK(n),!m||gr(i)&&gr(a)&&!E.isValidElement(s)&&typeof s!="function")return null;var b=Pr(Pr({},e),{},{viewBox:m});if(E.isValidElement(s)){var{labelRef:x}=b,M=mUe(b,pUe);return E.cloneElement(s,M)}if(typeof s=="function"){if(y=E.createElement(s,b),E.isValidElement(y))return y}else y=wUe(e);var w=Ma(e);if(fP(m)){if(r==="insideStart"||r==="insideEnd"||r==="end")return EUe(e,r,y,w,m);v=AUe(m,e.offset,e.position)}else v=TUe(e,m);return E.createElement(Wa,{zIndex:e.zIndex},E.createElement(hM,Ql({ref:c,className:An("recharts-label",o)},w,v,{textAnchor:cUe(w.textAnchor)?w.textAnchor:v.textAnchor,breakAll:l}),y))}Tu.displayName="Label";var NUe=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?E.createElement(Tu,Ql({key:"label-implicit"},r)):al(t)?E.createElement(Tu,Ql({key:"label-implicit",value:t},r)):E.isValidElement(t)?t.type===Tu?E.cloneElement(t,Pr({key:"label-implicit"},r)):E.createElement(Tu,Ql({key:"label-implicit",content:t},r)):$O(t)?E.createElement(Tu,Ql({key:"label-implicit",content:t},r)):t&&typeof t=="object"?E.createElement(Tu,Ql({},t,{key:"label-implicit"},r)):null};function RUe(t){var{label:e,labelRef:n}=t,r=kQ();return NUe(e,r,n)||null}var QC={},JC={},tV;function PUe(){return tV||(tV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n[n.length-1]}t.last=e})(JC)),JC}var eN={},nV;function kUe(){return nV||(nV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Array.isArray(n)?n:Array.from(n)}t.toArray=e})(eN)),eN}var rV;function DUe(){return rV||(rV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=PUe(),n=kUe(),r=xD();function i(a){if(r.isArrayLike(a))return e.last(n.toArray(a))}t.last=i})(QC)),QC}var tN,iV;function OUe(){return iV||(iV=1,tN=DUe().last),tN}var LUe=OUe();const IUe=Js(LUe);var jUe=["valueAccessor"],UUe=["dataKey","clockWise","id","textBreakAll","zIndex"];function kS(){return kS=Object.assign?Object.assign.bind():function(t){for(var e=1;eArray.isArray(t.value)?IUe(t.value):t.value,DQ=E.createContext(void 0),OQ=DQ.Provider,LQ=E.createContext(void 0),BUe=LQ.Provider;function HUe(){return E.useContext(DQ)}function $Ue(){return E.useContext(LQ)}function O_(t){var{valueAccessor:e=zUe}=t,n=aV(t,jUe),{dataKey:r,clockWise:i,id:a,textBreakAll:s,zIndex:o}=n,l=aV(n,UUe),c=HUe(),u=$Ue(),f=c||u;return!f||!f.length?null:E.createElement(Wa,{zIndex:o??Wr.label},E.createElement(Or,{className:"recharts-label-list"},f.map((g,m)=>{var y,v=gr(r)?e(g,m):Yn(g&&g.payload,r),b=gr(a)?{}:{id:"".concat(a,"-").concat(m)};return E.createElement(Tu,kS({key:"label-".concat(m)},Ma(g),l,b,{fill:(y=n.fill)!==null&&y!==void 0?y:g.fill,parentViewBox:g.parentViewBox,value:v,textBreakAll:s,viewBox:g.viewBox,index:m,zIndex:0}))})))}O_.displayName="LabelList";function VO(t){var{label:e}=t;return e?e===!0?E.createElement(O_,{key:"labelList-implicit"}):E.isValidElement(e)||$O(e)?E.createElement(O_,{key:"labelList-implicit",content:e}):typeof e=="object"?E.createElement(O_,kS({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function hP(){return hP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{cx:e,cy:n,r,className:i}=t,a=An("recharts-dot",i);return At(e)&&At(n)&&At(r)?E.createElement("circle",hP({},$a(t),gD(t),{className:a,cx:e,cy:n,r})):null},jQ=t=>t.graphicalItems.polarItems,VUe=$e([fr,sv],fO),pM=$e([jQ,vr,VUe],hO),GUe=$e([pM],pO),mM=$e([GUe,nO],mO),WUe=$e([mM,vr,pM],xO);$e([mM,vr,pM],(t,e,n)=>n.length>0?t.flatMap(r=>n.flatMap(i=>{var a,s=Yn(r,(a=e.dataKey)!==null&&a!==void 0?a:i.dataKey);return{value:s,errorDomain:[]}})).filter(Boolean):e?.dataKey!=null?t.map(r=>({value:Yn(r,e.dataKey),errorDomain:[]})):t.map(r=>({value:r,errorDomain:[]})));var sV=()=>{},qUe=$e([mM,vr,pM,uM,fr],_O),XUe=$e([vr,bO,yO,sV,qUe,sV,Sn,fr],SO),UQ=$e([vr,Sn,mM,WUe,av,fr,XUe],wO),KUe=$e([UQ,vr,Lm],AO);$e([vr,UQ,KUe,fr],CO);var YUe={radiusAxis:{},angleAxis:{}},FQ=Ga({name:"polarAxis",initialState:YUe,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),{addRadiusAxis:d9e,removeRadiusAxis:f9e,addAngleAxis:h9e,removeAngleAxis:p9e}=FQ.actions,ZUe=FQ.reducer;function oV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lV(t){for(var e=1;ee,GO=$e([jQ,tFe],(t,e)=>t.filter(n=>n.type==="pie").find(n=>n.id===e)),nFe=[],WO=(t,e,n)=>n?.length===0?nFe:n,zQ=$e([nO,GO,WO],(t,e,n)=>{var{chartData:r}=t;if(e!=null){var i;if(e?.data!=null&&e.data.length>0?i=e.data:i=r,(!i||!i.length)&&n!=null&&(i=n.map(a=>lV(lV({},e.presentationProps),a.props))),i!=null)return i}}),rFe=$e([zQ,GO,WO],(t,e,n)=>{if(!(t==null||e==null))return t.map((r,i)=>{var a,s=Yn(r,e.nameKey,e.name),o;return n!=null&&(a=n[i])!==null&&a!==void 0&&(a=a.props)!==null&&a!==void 0&&a.fill?o=n[i].props.fill:typeof r=="object"&&r!=null&&"fill"in r?o=r.fill:o=e.fill,{value:Tm(s,e.dataKey),color:o,payload:r,type:e.legendType}})}),iFe=$e([zQ,GO,WO,ui],(t,e,n,r)=>{if(!(e==null||t==null))return aze({offset:r,pieSettings:e,displayedData:t,cells:n})}),nN={exports:{}},zn={};var cV;function aFe(){if(cV)return zn;cV=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.for("react.view_transition"),m=Symbol.for("react.client.reference");function y(v){if(typeof v=="object"&&v!==null){var b=v.$$typeof;switch(b){case t:switch(v=v.type,v){case n:case i:case r:case l:case c:case g:return v;default:switch(v=v&&v.$$typeof,v){case s:case o:case f:case u:return v;case a:return v;default:return b}}case e:return b}}}return zn.ContextConsumer=a,zn.ContextProvider=s,zn.Element=t,zn.ForwardRef=o,zn.Fragment=n,zn.Lazy=f,zn.Memo=u,zn.Portal=e,zn.Profiler=i,zn.StrictMode=r,zn.Suspense=l,zn.SuspenseList=c,zn.isContextConsumer=function(v){return y(v)===a},zn.isContextProvider=function(v){return y(v)===s},zn.isElement=function(v){return typeof v=="object"&&v!==null&&v.$$typeof===t},zn.isForwardRef=function(v){return y(v)===o},zn.isFragment=function(v){return y(v)===n},zn.isLazy=function(v){return y(v)===f},zn.isMemo=function(v){return y(v)===u},zn.isPortal=function(v){return y(v)===e},zn.isProfiler=function(v){return y(v)===i},zn.isStrictMode=function(v){return y(v)===r},zn.isSuspense=function(v){return y(v)===l},zn.isSuspenseList=function(v){return y(v)===c},zn.isValidElementType=function(v){return typeof v=="string"||typeof v=="function"||v===n||v===i||v===r||v===l||v===c||typeof v=="object"&&v!==null&&(v.$$typeof===f||v.$$typeof===u||v.$$typeof===s||v.$$typeof===a||v.$$typeof===o||v.$$typeof===m||v.getModuleId!==void 0)},zn.typeOf=y,zn}var uV;function sFe(){return uV||(uV=1,nN.exports=aFe()),nN.exports}var oFe=sFe(),dV=t=>typeof t=="string"?t:t?t.displayName||t.name||"Component":"",fV=null,rN=null,BQ=t=>{if(t===fV&&Array.isArray(rN))return rN;var e=[];return E.Children.forEach(t,n=>{gr(n)||(oFe.isFragment(n)?e=e.concat(BQ(n.props.children)):e.push(n))}),rN=e,fV=t,e};function qO(t,e){var n=[],r=[];return Array.isArray(e)?r=e.map(i=>dV(i)):r=[dV(e)],BQ(t).forEach(i=>{var a=Ff(i,"type.displayName")||Ff(i,"type.name");a&&r.indexOf(a)!==-1&&n.push(i)}),n}var HQ=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0,iN={},hV;function lFe(){return hV||(hV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const i=n[Symbol.toStringTag];return i==null||!Object.getOwnPropertyDescriptor(n,Symbol.toStringTag)?.writable?!1:n.toString()===`[object ${i}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}t.isPlainObject=e})(iN)),iN}var aN,pV;function cFe(){return pV||(pV=1,aN=lFe().isPlainObject),aN}var uFe=cFe();const dFe=Js(uFe);function mV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function gV(t){for(var e=1;e{var a=n-r,s;return s="M ".concat(t,",").concat(e),s+="L ".concat(t+n,",").concat(e),s+="L ".concat(t+n-a/2,",").concat(e+i),s+="L ".concat(t+n-a/2-r,",").concat(e+i),s+="L ".concat(t,",").concat(e," Z"),s},mFe={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},gFe=t=>{var e=Yr(t,mFe),{x:n,y:r,upperWidth:i,lowerWidth:a,height:s,className:o}=e,{animationEasing:l,animationDuration:c,animationBegin:u,isUpdateAnimationActive:f}=e,g=E.useRef(null),[m,y]=E.useState(-1),v=E.useRef(i),b=E.useRef(a),x=E.useRef(s),M=E.useRef(n),w=E.useRef(r),A=ev(t,"trapezoid-");if(E.useEffect(()=>{if(g.current&&g.current.getTotalLength)try{var O=g.current.getTotalLength();O&&y(O)}catch{}},[]),n!==+n||r!==+r||i!==+i||a!==+a||s!==+s||i===0&&a===0||s===0)return null;var T=An("recharts-trapezoid",o);if(!f)return E.createElement("g",null,E.createElement("path",DS({},Ma(e),{className:T,d:xV(n,r,i,a,s)})));var R=v.current,N=b.current,j=x.current,C=M.current,k=w.current,U="0px ".concat(m===-1?1:m,"px"),I="".concat(m,"px 0px"),H=uY(["strokeDasharray"],c,l);return E.createElement(J0,{animationId:A,key:A,canBegin:m>0,duration:c,easing:l,isActive:f,begin:u},O=>{var B=sr(R,i,O),V=sr(N,a,O),G=sr(j,s,O),K=sr(C,n,O),Y=sr(k,r,O);g.current&&(v.current=B,b.current=V,x.current=G,M.current=K,w.current=Y);var oe=O>0?{transition:H,strokeDasharray:I}:{strokeDasharray:U};return E.createElement("path",DS({},Ma(e),{className:T,d:xV(K,Y,B,V,G),ref:g,style:gV(gV({},oe),e.style)}))})},xFe=["option","shapeType","propTransformer","activeClassName"];function vFe(t,e){if(t==null)return{};var n,r,i=bFe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var r=er();return(i,a)=>s=>{t?.(i,a,s),r(JZ({activeIndex:String(a),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},KO=t=>{var e=er();return(n,r)=>i=>{t?.(n,r,i),e(UIe())}},YO=(t,e,n)=>{var r=er();return(i,a)=>s=>{t?.(i,a,s),r(FIe({activeIndex:String(a),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function ZO(t){var{tooltipEntrySettings:e}=t,n=er(),r=ca(),i=E.useRef(null);return E.useLayoutEffect(()=>{r||(i.current===null?n(OIe(e)):i.current!==e&&n(LIe({prev:i.current,next:e})),i.current=e)},[e,n,r]),E.useLayoutEffect(()=>()=>{i.current&&(n(IIe(i.current)),i.current=null)},[n]),null}function VQ(t){var{legendPayload:e}=t,n=er(),r=ca(),i=E.useRef(null);return E.useLayoutEffect(()=>{r||(i.current===null?n(aY(e)):i.current!==e&&n(sY({prev:i.current,next:e})),i.current=e)},[n,r,e]),E.useLayoutEffect(()=>()=>{i.current&&(n(oY(i.current)),i.current=null)},[n]),null}function AFe(t){var{legendPayload:e}=t,n=er(),r=Tt(Sn),i=E.useRef(null);return E.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(i.current===null?n(aY(e)):i.current!==e&&n(sY({prev:i.current,next:e})),i.current=e)},[n,r,e]),E.useLayoutEffect(()=>()=>{i.current&&(n(oY(i.current)),i.current=null)},[n]),null}var sN,TFe=()=>{var[t]=E.useState(()=>h0("uid-"));return t},CFe=(sN=cne.useId)!==null&&sN!==void 0?sN:TFe;function GQ(t,e){var n=CFe();return e||(t?"".concat(t,"-").concat(n):n)}var NFe=E.createContext(void 0),QO=t=>{var{id:e,type:n,children:r}=t,i=GQ("recharts-".concat(n),e);return E.createElement(NFe.Provider,{value:i},r(i))},RFe={cartesianItems:[],polarItems:[]},WQ=Ga({name:"graphicalItems",initialState:RFe,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:cr()},replaceCartesianGraphicalItem:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Mo(t).cartesianItems.indexOf(n);i>-1&&(t.cartesianItems[i]=r)},prepare:cr()},removeCartesianGraphicalItem:{reducer(t,e){var n=Mo(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:cr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:cr()},removePolarGraphicalItem:{reducer(t,e){var n=Mo(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:cr()}}}),{addCartesianGraphicalItem:PFe,replaceCartesianGraphicalItem:kFe,removeCartesianGraphicalItem:DFe,addPolarGraphicalItem:OFe,removePolarGraphicalItem:LFe}=WQ.actions,IFe=WQ.reducer,jFe=t=>{var e=er(),n=E.useRef(null);return E.useLayoutEffect(()=>{n.current===null?e(PFe(t)):n.current!==t&&e(kFe({prev:n.current,next:t})),n.current=t},[e,t]),E.useLayoutEffect(()=>()=>{n.current&&(e(DFe(n.current)),n.current=null)},[e]),null},qQ=E.memo(jFe);function UFe(t){var e=er();return E.useLayoutEffect(()=>(e(OFe(t)),()=>{e(LFe(t))}),[e,t]),null}var FFe=["key"],zFe=["onMouseEnter","onClick","onMouseLeave"],BFe=["id"],HFe=["id"];function yV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wr(t){for(var e=1;eqO(t.children,mv),[t.children]),n=Tt(r=>rFe(r,t.id,e));return n==null?null:E.createElement(AFe,{legendPayload:n})}var XFe=E.memo(t=>{var{dataKey:e,nameKey:n,sectors:r,stroke:i,strokeWidth:a,fill:s,name:o,hide:l,tooltipType:c}=t,u={dataDefinedOnItem:r.map(f=>f.tooltipPayload),positions:r.map(f=>f.tooltipPosition),settings:{stroke:i,strokeWidth:a,fill:s,dataKey:e,nameKey:n,name:Tm(o,e),hide:l,type:c,color:s,unit:""}};return E.createElement(ZO,{tooltipEntrySettings:u})}),KFe=(t,e)=>t>e?"start":tsa(typeof e=="function"?e(t):e,n,n*.8),ZFe=(t,e,n)=>{var{top:r,left:i,width:a,height:s}=e,o=mY(a,s),l=i+sa(t.cx,a,a/2),c=r+sa(t.cy,s,s/2),u=sa(t.innerRadius,o,0),f=YFe(n,t.outerRadius,o),g=t.maxRadius||Math.sqrt(a*a+s*s)/2;return{cx:l,cy:c,innerRadius:u,outerRadius:f,maxRadius:g}},QFe=(t,e)=>{var n=Ti(e-t),r=Math.min(Math.abs(e-t),360);return n*r};function JFe(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var eze=(t,e)=>{if(E.isValidElement(t))return E.cloneElement(t,e);if(typeof t=="function")return t(e);var n=An("recharts-pie-label-line",typeof t!="boolean"?t.className:""),{key:r}=e,i=gM(e,FFe);return E.createElement(Fp,sd({},i,{type:"linear",className:n}))},tze=(t,e,n)=>{if(E.isValidElement(t))return E.cloneElement(t,e);var r=n;if(typeof t=="function"&&(r=t(e),E.isValidElement(r)))return r;var i=An("recharts-pie-label-text",JFe(t));return E.createElement(hM,sd({},e,{alignmentBaseline:"middle",className:i}),r)};function nze(t){var{sectors:e,props:n,showLabels:r}=t,{label:i,labelLine:a,dataKey:s}=n;if(!r||!i||!e)return null;var o=$a(n),l=Uf(i),c=Uf(a),u=typeof i=="object"&&"offsetRadius"in i&&typeof i.offsetRadius=="number"&&i.offsetRadius||20,f=e.map((g,m)=>{var y=(g.startAngle+g.endAngle)/2,v=Gr(g.cx,g.cy,g.outerRadius+u,y),b=wr(wr(wr(wr({},o),g),{},{stroke:"none"},l),{},{index:m,textAnchor:KFe(v.x,g.cx)},v),x=wr(wr(wr(wr({},o),g),{},{fill:"none",stroke:g.fill},c),{},{index:m,points:[Gr(g.cx,g.cy,g.outerRadius,y),v],key:"line"});return E.createElement(Wa,{zIndex:Wr.label,key:"label-".concat(g.startAngle,"-").concat(g.endAngle,"-").concat(g.midAngle,"-").concat(m)},E.createElement(Or,null,a&&eze(a,x),tze(i,b,Yn(g,s))))});return E.createElement(Or,{className:"recharts-pie-labels"},f)}function rze(t){var{sectors:e,props:n,showLabels:r}=t,{label:i}=n;return typeof i=="object"&&i!=null&&"position"in i?E.createElement(VO,{label:i}):E.createElement(nze,{sectors:e,props:n,showLabels:r})}function ize(t){var{sectors:e,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:a,id:s}=t,o=Tt(ad),l=Tt(jO),c=Tt(Mje),{onMouseEnter:u,onClick:f,onMouseLeave:g}=i,m=gM(i,zFe),y=XO(u,i.dataKey,s),v=KO(g),b=YO(f,i.dataKey,s);return e==null||e.length===0?null:E.createElement(E.Fragment,null,e.map((x,M)=>{if(x?.startAngle===0&&x?.endAngle===0&&e.length!==1)return null;var w=c==null||c===s,A=String(M)===o&&(l==null||i.dataKey===l)&&w,T=o?r:null,R=n&&A?n:T,N=wr(wr({},x),{},{stroke:x.stroke,tabIndex:-1,[GK]:M,[WK]:i.dataKey});return E.createElement(Or,sd({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(M),tabIndex:-1,className:"recharts-pie-sector"},q0(m,x,M),{onMouseEnter:y(x,M),onMouseLeave:v(x,M),onClick:b(x,M)}),E.createElement($Q,sd({option:a??R,index:M,shapeType:"sector",isActive:A},N)))}))}function aze(t){var e,{pieSettings:n,displayedData:r,cells:i,offset:a}=t,{cornerRadius:s,startAngle:o,endAngle:l,dataKey:c,nameKey:u,tooltipType:f}=n,g=Math.abs(n.minAngle),m=QFe(o,l),y=Math.abs(m),v=r.length<=1?0:(e=n.paddingAngle)!==null&&e!==void 0?e:0,b=r.filter(R=>Yn(R,c,0)!==0).length,x=(y>=360?b:b-1)*v,M=y-b*g-x,w=r.reduce((R,N)=>{var j=Yn(N,c,0);return R+(At(j)?j:0)},0),A;if(w>0){var T;A=r.map((R,N)=>{var j=Yn(R,c,0),C=Yn(R,u,N),k=ZFe(n,a,R),U=(At(j)?j:0)/w,I,H=wr(wr({},R),i&&i[N]&&i[N].props);N?I=T.endAngle+Ti(m)*v*(j!==0?1:0):I=o;var O=I+Ti(m)*((j!==0?g:0)+U*M),B=(I+O)/2,V=(k.innerRadius+k.outerRadius)/2,G=[{name:C,value:j,payload:H,dataKey:c,type:f}],K=Gr(k.cx,k.cy,V,B);return T=wr(wr(wr(wr({},n.presentationProps),{},{percent:U,cornerRadius:typeof s=="string"?parseFloat(s):s,name:C,tooltipPayload:G,midAngle:B,middleRadius:V,tooltipPosition:K},H),k),{},{value:j,dataKey:c,startAngle:I,endAngle:O,payload:H,paddingAngle:Ti(m)*v}),T})}return A}function sze(t){var{showLabels:e,sectors:n,children:r}=t,i=E.useMemo(()=>!e||!n?[]:n.map(a=>({value:a.value,payload:a.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:a.cx,cy:a.cy,innerRadius:a.innerRadius,outerRadius:a.outerRadius,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},fill:a.fill})),[n,e]);return E.createElement(BUe,{value:e?i:void 0},r)}function oze(t){var{props:e,previousSectorsRef:n,id:r}=t,{sectors:i,isAnimationActive:a,animationBegin:s,animationDuration:o,animationEasing:l,activeShape:c,inactiveShape:u,onAnimationStart:f,onAnimationEnd:g}=e,m=ev(e,"recharts-pie-"),y=n.current,[v,b]=E.useState(!1),x=E.useCallback(()=>{typeof g=="function"&&g(),b(!1)},[g]),M=E.useCallback(()=>{typeof f=="function"&&f(),b(!0)},[f]);return E.createElement(sze,{showLabels:!v,sectors:i},E.createElement(J0,{animationId:m,begin:s,duration:o,isActive:a,easing:l,onAnimationStart:M,onAnimationEnd:x,key:m},w=>{var A=[],T=i&&i[0],R=T?.startAngle;return i?.forEach((N,j)=>{var C=y&&y[j],k=j>0?Ff(N,"paddingAngle",0):0;if(C){var U=sr(C.endAngle-C.startAngle,N.endAngle-N.startAngle,w),I=wr(wr({},N),{},{startAngle:R+k,endAngle:R+U+k});A.push(I),R=I.endAngle}else{var{endAngle:H,startAngle:O}=N,B=sr(0,H-O,w),V=wr(wr({},N),{},{startAngle:R+k,endAngle:R+B+k});A.push(V),R=V.endAngle}}),n.current=A,E.createElement(Or,null,E.createElement(ize,{sectors:A,activeShape:c,inactiveShape:u,allOtherPieProps:e,shape:e.shape,id:r}))}),E.createElement(rze,{showLabels:!v,sectors:i,props:e}),e.children)}var lze={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:Wr.area};function cze(t){var{id:e}=t,n=gM(t,BFe),{hide:r,className:i,rootTabIndex:a}=t,s=E.useMemo(()=>qO(t.children,mv),[t.children]),o=Tt(u=>iFe(u,e,s)),l=E.useRef(null),c=An("recharts-pie",i);return r||o==null?(l.current=null,E.createElement(Or,{tabIndex:a,className:c})):E.createElement(Wa,{zIndex:t.zIndex},E.createElement(XFe,{dataKey:t.dataKey,nameKey:t.nameKey,sectors:o,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,tooltipType:t.tooltipType}),E.createElement(Or,{tabIndex:a,className:c},E.createElement(oze,{props:wr(wr({},n),{},{sectors:o}),previousSectorsRef:l,id:e})))}function XQ(t){var e=Yr(t,lze),{id:n}=e,r=gM(e,HFe),i=$a(r);return E.createElement(QO,{id:n,type:"pie"},a=>E.createElement(E.Fragment,null,E.createElement(UFe,{type:"pie",id:a,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:e.maxRadius}),E.createElement(qFe,sd({},r,{id:a})),E.createElement(cze,sd({},r,{id:a}))))}XQ.displayName="Pie";var uze=["points"];function _V(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function oN(t){for(var e=1;e{var b,x,M=oN(oN(oN({r:3},s),f),{},{index:v,cx:(b=y.x)!==null&&b!==void 0?b:void 0,cy:(x=y.y)!==null&&x!==void 0?x:void 0,dataKey:a,value:y.value,payload:y.payload,points:e});return E.createElement(gze,{key:"dot-".concat(v),option:n,dotProps:M,className:i})}),m={};return o&&l!=null&&(m.clipPath="url(#clipPath-".concat(u?"":"dots-").concat(l,")")),E.createElement(Wa,{zIndex:c},E.createElement(Or,LS({className:r},m),g))}function SV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wV(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),kze=$e([Pze,Cc,Nc],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),JO=()=>Tt(kze),Dze=()=>Tt(Nje);function MV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lN(t){for(var e=1;e{var{point:e,childIndex:n,mainColor:r,activeDot:i,dataKey:a,clipPath:s}=t;if(i===!1||e.x==null||e.y==null)return null;var o={index:n,dataKey:a,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},l=lN(lN(lN({},o),Uf(i)),gD(i)),c;return E.isValidElement(i)?c=E.cloneElement(i,l):typeof i=="function"?c=i(l):c=E.createElement(IQ,l),E.createElement(Or,{className:"recharts-active-dot",clipPath:s},c)};function EV(t){var{points:e,mainColor:n,activeDot:r,itemDataKey:i,clipPath:a,zIndex:s=Wr.activeDot}=t,o=Tt(ad),l=Dze();if(e==null||l==null)return null;var c=e.find(u=>l.includes(u.payload));return gr(c)?null:E.createElement(Wa,{zIndex:s},E.createElement(jze,{point:c,childIndex:Number(o),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var Uze="Invariant failed";function Fze(t,e){throw new Error(Uze)}var zze=["x","y"];function pP(){return pP=Object.assign?Object.assign.bind():function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(At(e))return e;var a=At(r)||gr(r);return a?e(r,i):(a||Fze(),n)}},Xze={},YQ=Ga({name:"errorBars",initialState:Xze,reducers:{addErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]||(t[n]=[]),t[n].push(r)},replaceErrorBar:(t,e)=>{var{itemId:n,prev:r,next:i}=e.payload;t[n]&&(t[n]=t[n].map(a=>a.dataKey===r.dataKey&&a.direction===r.direction?i:a))},removeErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]&&(t[n]=t[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:v9e,replaceErrorBar:b9e,removeErrorBar:y9e}=YQ.actions,Kze=YQ.reducer,Yze=["children"];function Zze(t,e){if(t==null)return{};var n,r,i=Qze(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},e5e=E.createContext(Jze);function t5e(t){var{children:e}=t,n=Zze(t,Yze);return E.createElement(e5e.Provider,{value:n},e)}function eL(t,e){var n,r,i=Tt(c=>Pc(c,t)),a=Tt(c=>kc(c,e)),s=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Si.allowDataOverflow,o=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:wi.allowDataOverflow,l=s||o;return{needClip:l,needClipX:s,needClipY:o}}function ZQ(t){var{xAxisId:e,yAxisId:n,clipPathId:r}=t,i=JO(),{needClipX:a,needClipY:s,needClip:o}=eL(e,n);if(!o||!i)return null;var{x:l,y:c,width:u,height:f}=i;return E.createElement("clipPath",{id:"clipPath-".concat(r)},E.createElement("rect",{x:a?l:l-u/2,y:s?c:c-f/2,width:a?u:u*2,height:s?f:f*2}))}function n5e(t,e){return t&&typeof t=="object"&&"zIndex"in t&&typeof t.zIndex=="number"&&or(t.zIndex)?t.zIndex:e}var cN={exports:{}},uN={};var TV;function r5e(){if(TV)return uN;TV=1;var t=xm();function e(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,a=t.useEffect,s=t.useMemo,o=t.useDebugValue;return uN.useSyncExternalStoreWithSelector=function(l,c,u,f,g){var m=i(null);if(m.current===null){var y={hasValue:!1,value:null};m.current=y}else y=m.current;m=s(function(){function b(T){if(!x){if(x=!0,M=T,T=f(T),g!==void 0&&y.hasValue){var R=y.value;if(g(R,T))return w=R}return w=T}if(R=w,n(M,T))return R;var N=f(T);return g!==void 0&&g(R,N)?(M=T,R):(M=T,w=N)}var x=!1,M,w,A=u===void 0?null:u;return[function(){return b(c())},A===null?void 0:function(){return b(A())}]},[c,u,f,g]);var v=r(l,m[0],m[1]);return a(function(){y.hasValue=!0,y.value=v},[v]),o(v),v},uN}var CV;function i5e(){return CV||(CV=1,cN.exports=r5e()),cN.exports}i5e();function a5e(t){t()}function s5e(){let t=null,e=null;return{clear(){t=null,e=null},notify(){a5e(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var NV={notify(){},get:()=>[]};function o5e(t,e){let n,r=NV,i=0,a=!1;function s(v){u();const b=r.subscribe(v);let x=!1;return()=>{x||(x=!0,b(),f())}}function o(){r.notify()}function l(){y.onStateChange&&y.onStateChange()}function c(){return a}function u(){i++,n||(n=t.subscribe(l),r=s5e())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=NV)}function g(){a||(a=!0,u())}function m(){a&&(a=!1,f())}const y={addNestedSub:s,notifyNestedSubs:o,handleChangeWrapper:l,isSubscribed:c,trySubscribe:g,tryUnsubscribe:m,getListeners:()=>r};return y}var l5e=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",c5e=l5e(),u5e=()=>typeof navigator<"u"&&navigator.product==="ReactNative",d5e=u5e(),f5e=()=>c5e||d5e?E.useLayoutEffect:E.useEffect,h5e=f5e();function RV(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function p5e(t,e){if(RV(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const l=o5e(i);return{store:i,subscription:l,getServerState:r?()=>r:void 0}},[i,r]),s=E.useMemo(()=>i.getState(),[i]);h5e(()=>{const{subscription:l}=a;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),s!==i.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[a,s]);const o=n||v5e;return E.createElement(o.Provider,{value:a},e)}var y5e=b5e,_5e=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle"]);function S5e(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function xM(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(_5e.has(r)){if(t[r]==null&&e[r]==null)continue;if(!p5e(t[r],e[r]))return!1}else if(!S5e(t[r],e[r]))return!1;return!0}var w5e=["onMouseEnter","onMouseLeave","onClick"],M5e=["value","background","tooltipPosition"],E5e=["id"],A5e=["onMouseEnter","onClick","onMouseLeave"];function Mc(){return Mc=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,fill:r,legendType:i,hide:a}=t;return[{inactive:a,dataKey:e,type:i,color:r,value:Tm(n,e),payload:t}]},k5e=E.memo(t=>{var{dataKey:e,stroke:n,strokeWidth:r,fill:i,name:a,hide:s,unit:o,tooltipType:l}=t,c={dataDefinedOnItem:void 0,positions:void 0,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:e,nameKey:void 0,name:Tm(a,e),hide:s,type:l,color:i,unit:o}};return E.createElement(ZO,{tooltipEntrySettings:c})});function D5e(t){var e=Tt(ad),{data:n,dataKey:r,background:i,allOtherBarProps:a}=t,{onMouseEnter:s,onMouseLeave:o,onClick:l}=a,c=jS(a,w5e),u=XO(s,r),f=KO(o),g=YO(l,r);if(!i||n==null)return null;var m=Uf(i);return E.createElement(Wa,{zIndex:n5e(i,Wr.barBackground)},n.map((y,v)=>{var{value:b,background:x,tooltipPosition:M}=y,w=jS(y,M5e);if(!x)return null;var A=u(y,v),T=f(y,v),R=g(y,v),N=ma(ma(ma(ma(ma({option:i,isActive:String(v)===e},w),{},{fill:"#eee"},x),m),q0(c,y,v)),{},{onMouseEnter:A,onMouseLeave:T,onClick:R,dataKey:r,index:v,className:"recharts-bar-background-rectangle"});return E.createElement(IS,Mc({key:"background-bar-".concat(v)},N))}))}function O5e(t){var{showLabels:e,children:n,rects:r}=t,i=r?.map(a=>{var s={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return ma(ma({},s),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:s,fill:a.fill})});return E.createElement(OQ,{value:e?i:void 0},n)}function L5e(t){var{shape:e,activeBar:n,baseProps:r,entry:i,index:a,dataKey:s}=t,o=Tt(ad),l=Tt(jO),c=n&&String(a)===o&&(l==null||s===l),u=c?n:e;return c?E.createElement(Wa,{zIndex:Wr.activeBar},E.createElement(IS,Mc({},r,{name:String(r.name)},i,{isActive:c,option:u,index:a,dataKey:s}))):E.createElement(IS,Mc({},r,{name:String(r.name)},i,{isActive:c,option:u,index:a,dataKey:s}))}function I5e(t){var{shape:e,baseProps:n,entry:r,index:i,dataKey:a}=t;return E.createElement(IS,Mc({},n,{name:String(n.name)},r,{isActive:!1,option:e,index:i,dataKey:a}))}function j5e(t){var e,{data:n,props:r}=t,i=(e=$a(r))!==null&&e!==void 0?e:{},{id:a}=i,s=jS(i,E5e),{shape:o,dataKey:l,activeBar:c}=r,{onMouseEnter:u,onClick:f,onMouseLeave:g}=r,m=jS(r,A5e),y=XO(u,l),v=KO(g),b=YO(f,l);return n?E.createElement(E.Fragment,null,n.map((x,M)=>E.createElement(Or,Mc({key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(M),className:"recharts-bar-rectangle"},q0(m,x,M),{onMouseEnter:y(x,M),onMouseLeave:v(x,M),onClick:b(x,M)}),c?E.createElement(L5e,{shape:o,activeBar:c,baseProps:s,entry:x,index:M,dataKey:l}):E.createElement(I5e,{shape:o,baseProps:s,entry:x,index:M,dataKey:l})))):null}function U5e(t){var{props:e,previousRectanglesRef:n}=t,{data:r,layout:i,isAnimationActive:a,animationBegin:s,animationDuration:o,animationEasing:l,onAnimationEnd:c,onAnimationStart:u}=e,f=n.current,g=ev(e,"recharts-bar-"),[m,y]=E.useState(!1),v=!m,b=E.useCallback(()=>{typeof c=="function"&&c(),y(!1)},[c]),x=E.useCallback(()=>{typeof u=="function"&&u(),y(!0)},[u]);return E.createElement(O5e,{showLabels:v,rects:r},E.createElement(J0,{animationId:g,begin:s,duration:o,isActive:a,easing:l,onAnimationEnd:b,onAnimationStart:x,key:g},M=>{var w=M===1?r:r?.map((A,T)=>{var R=f&&f[T];if(R)return ma(ma({},A),{},{x:sr(R.x,A.x,M),y:sr(R.y,A.y,M),width:sr(R.width,A.width,M),height:sr(R.height,A.height,M)});if(i==="horizontal"){var N=sr(0,A.height,M),j=sr(A.stackedBarStart,A.y,M);return ma(ma({},A),{},{y:j,height:N})}var C=sr(0,A.width,M),k=sr(A.stackedBarStart,A.x,M);return ma(ma({},A),{},{width:C,x:k})});return M>0&&(n.current=w??null),w==null?null:E.createElement(Or,null,E.createElement(j5e,{props:e,data:w}))}),E.createElement(VO,{label:e.label}),e.children)}function F5e(t){var e=E.useRef(null);return E.createElement(U5e,{previousRectanglesRef:e,props:t})}var QQ=0,z5e=(t,e)=>{var n=Array.isArray(t.value)?t.value[1]:t.value;return{x:t.x,y:t.y,value:n,errorVal:Yn(t,e)}};class B5e extends E.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:a,yAxisId:s,needClip:o,background:l,id:c}=this.props;if(e||n==null)return null;var u=An("recharts-bar",i),f=c;return E.createElement(Or,{className:u,id:c},o&&E.createElement("defs",null,E.createElement(ZQ,{clipPathId:f,xAxisId:a,yAxisId:s})),E.createElement(Or,{className:"recharts-bar-rectangles",clipPath:o?"url(#clipPath-".concat(f,")"):void 0},E.createElement(D5e,{data:n,dataKey:r,background:l,allOtherBarProps:this.props}),E.createElement(F5e,this.props)))}}var H5e={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:QQ,xAxisId:0,yAxisId:0,zIndex:Wr.bar};function $5e(t){var{xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:s,animationBegin:o,animationDuration:l,animationEasing:c,isAnimationActive:u}=t,{needClip:f}=eL(e,n),g=Cm(),m=ca(),y=qO(t.children,mv),v=Tt(M=>xBe(M,e,n,m,t.id,y));if(g!=="vertical"&&g!=="horizontal")return null;var b,x=v?.[0];return x==null||x.height==null||x.width==null?b=0:b=g==="vertical"?x.height/2:x.width/2,E.createElement(t5e,{xAxisId:e,yAxisId:n,data:v,dataPointFormatter:z5e,errorBarOffset:b},E.createElement(B5e,Mc({},t,{layout:g,needClip:f,data:v,xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:s,animationBegin:o,animationDuration:l,animationEasing:c,isAnimationActive:u})))}function V5e(t){var{layout:e,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:a,xAxis:s,yAxis:o,xAxisTicks:l,yAxisTicks:c,stackedData:u,displayedData:f,offset:g,cells:m,parentViewBox:y,dataStartIndex:v}=t,b=e==="horizontal"?o:s,x=u?b.scale.domain():null,M=cRe({numericAxis:b}),w=b.scale(M);return f.map((A,T)=>{var R,N,j,C,k,U;u?R=iRe(u[T+v],x):(R=Yn(A,n),Array.isArray(R)||(R=[M,R]));var I=qze(r,QQ)(R[1],T);if(e==="horizontal"){var H,[O,B]=[o.scale(R[0]),o.scale(R[1])];N=q8({axis:s,ticks:l,bandSize:a,offset:i.offset,entry:A,index:T}),j=(H=B??O)!==null&&H!==void 0?H:void 0,C=i.size;var V=O-B;if(k=Ys(V)?0:V,U={x:N,y:g.top,width:C,height:g.height},Math.abs(I)>0&&Math.abs(k)0&&Math.abs(C)E.createElement(E.Fragment,null,E.createElement(VQ,{legendPayload:P5e(e)}),E.createElement(k5e,{dataKey:e.dataKey,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),E.createElement(qQ,{type:"bar",id:r,data:void 0,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,stackId:$K(e.stackId),hide:e.hide,barSize:e.barSize,minPointSize:e.minPointSize,maxBarSize:e.maxBarSize,isPanorama:n}),E.createElement(Wa,{zIndex:e.zIndex},E.createElement($5e,Mc({},e,{id:r})))))}var JQ=E.memo(G5e,xM);JQ.displayName="Bar";function kV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function a_(t){for(var e=1;ee,Y5e=(t,e,n)=>n,Z5e=(t,e,n,r)=>r,Q5e=(t,e,n,r,i)=>i,gv=$e([lM,Q5e],(t,e)=>t.filter(n=>n.type==="bar").find(n=>n.id===e)),J5e=$e([gv],t=>t?.maxBarSize),eBe=(t,e,n,r,i,a)=>a,DV=(t,e,n)=>{var r=n??t;if(!gr(r))return sa(r,e,0)},tBe=$e([Sn,lM,K5e,Y5e,Z5e],(t,e,n,r,i)=>e.filter(a=>t==="horizontal"?a.xAxisId===n:a.yAxisId===r).filter(a=>a.isPanorama===i).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),nBe=(t,e,n,r)=>{var i=Sn(t);return i==="horizontal"?A0(t,"yAxis",n,r):A0(t,"xAxis",e,r)},rBe=(t,e,n)=>{var r=Sn(t);return r==="horizontal"?A$(t,"xAxis",e):A$(t,"yAxis",n)},iBe=(t,e,n)=>{var r={},i=t.filter(aM),a=t.filter(c=>c.stackId==null),s=i.reduce((c,u)=>(c[u.stackId]||(c[u.stackId]=[]),c[u.stackId].push(u),c),r),o=Object.entries(s).map(c=>{var[u,f]=c,g=f.map(y=>y.dataKey),m=DV(e,n,f[0].barSize);return{stackId:u,dataKeys:g,barSize:m}}),l=a.map(c=>{var u=[c.dataKey].filter(g=>g!=null),f=DV(e,n,c.barSize);return{stackId:void 0,dataKeys:u,barSize:f}});return[...o,...l]},aBe=$e([tBe,ALe,rBe],iBe),sBe=(t,e,n,r,i)=>{var a,s,o=gv(t,e,n,r,i);if(o!=null){var l=Sn(t),c=pZ(t),{maxBarSize:u}=o,f=gr(u)?c:u,g,m;return l==="horizontal"?(g=id(t,"xAxis",e,r),m=rd(t,"xAxis",e,r)):(g=id(t,"yAxis",n,r),m=rd(t,"yAxis",n,r)),(a=(s=dm(g,m,!0))!==null&&s!==void 0?s:f)!==null&&a!==void 0?a:0}},eJ=(t,e,n,r)=>{var i=Sn(t),a,s;return i==="horizontal"?(a=id(t,"xAxis",e,r),s=rd(t,"xAxis",e,r)):(a=id(t,"yAxis",n,r),s=rd(t,"yAxis",n,r)),dm(a,s)};function oBe(t,e,n,r,i){var a=r.length;if(!(a<1)){var s=sa(t,n,0,!0),o,l=[];if(or(r[0].barSize)){var c=!1,u=n/a,f=r.reduce((x,M)=>x+(M.barSize||0),0);f+=(a-1)*s,f>=n&&(f-=(a-1)*s,s=0),f>=n&&u>0&&(c=!0,u*=.9,f=a*u);var g=(n-f)/2>>0,m={offset:g-s,size:0};o=r.reduce((x,M)=>{var w,A={stackId:M.stackId,dataKeys:M.dataKeys,position:{offset:m.offset+m.size+s,size:c?u:(w=M.barSize)!==null&&w!==void 0?w:0}},T=[...x,A];return m=T[T.length-1].position,T},l)}else{var y=sa(e,n,0,!0);n-2*y-(a-1)*s<=0&&(s=0);var v=(n-2*y-(a-1)*s)/a;v>1&&(v>>=0);var b=or(i)?Math.min(v,i):v;o=r.reduce((x,M,w)=>[...x,{stackId:M.stackId,dataKeys:M.dataKeys,position:{offset:y+(v+s)*w+(v-b)/2,size:b}}],l)}return o}}var lBe=(t,e,n,r,i,a,s)=>{var o=gr(s)?e:s,l=oBe(n,r,i!==a?i:a,t,o);return i!==a&&l!=null&&(l=l.map(c=>a_(a_({},c),{},{position:a_(a_({},c.position),{},{offset:c.position.offset-i/2})}))),l},cBe=$e([aBe,pZ,ELe,mZ,sBe,eJ,J5e],lBe),uBe=(t,e,n,r)=>id(t,"xAxis",e,r),dBe=(t,e,n,r)=>id(t,"yAxis",n,r),fBe=(t,e,n,r)=>rd(t,"xAxis",e,r),hBe=(t,e,n,r)=>rd(t,"yAxis",n,r),pBe=$e([cBe,gv],(t,e)=>{if(!(t==null||e==null)){var n=t.find(r=>r.stackId===e.stackId&&e.dataKey!=null&&r.dataKeys.includes(e.dataKey));if(n!=null)return n.position}}),mBe=(t,e)=>{var n=iM(e);if(!(!t||n==null||e==null)){var{stackId:r}=e;if(r!=null){var i=t[r];if(i){var{stackedData:a}=i;if(a)return a.find(s=>s.key===n)}}}},gBe=$e([nBe,gv],mBe),xBe=$e([ui,TD,uBe,dBe,fBe,hBe,pBe,Sn,tM,eJ,gBe,gv,eBe],(t,e,n,r,i,a,s,o,l,c,u,f,g)=>{var{chartData:m,dataStartIndex:y,dataEndIndex:v}=l;if(!(f==null||s==null||e==null||o!=="horizontal"&&o!=="vertical"||n==null||r==null||i==null||a==null||c==null)){var{data:b}=f,x;if(b!=null&&b.length>0?x=b:x=m?.slice(y,v+1),x!=null)return V5e({layout:o,barSettings:f,pos:s,parentViewBox:e,bandSize:c,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:x,offset:t,cells:g,dataStartIndex:y})}}),tJ=t=>{var{chartData:e}=t,n=er(),r=ca();return E.useEffect(()=>r?()=>{}:(n(F$(e)),()=>{n(F$(void 0))}),[e,n,r]),null},OV={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},nJ=Ga({name:"brush",initialState:OV,reducers:{setBrushSettings(t,e){return e.payload==null?OV:e.payload}}}),{setBrushSettings:_9e}=nJ.actions,vBe=nJ.reducer;function bBe(t,e,n){return(e=yBe(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function yBe(t){var e=_Be(t,"string");return typeof e=="symbol"?e:e+""}function _Be(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class tL{static create(e){return new tL(e)}constructor(e){this.scale=e}get domain(){return this.scale.domain}get range(){return this.scale.range}get rangeMin(){return this.range()[0]}get rangeMax(){return this.range()[1]}get bandwidth(){return this.scale.bandwidth}apply(e){var{bandAware:n,position:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e!==void 0){if(r)switch(r){case"start":return this.scale(e);case"middle":{var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i}case"end":{var a=this.bandwidth?this.bandwidth():0;return this.scale(e)+a}default:return this.scale(e)}if(n){var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+s}return this.scale(e)}}isInRange(e){var n=this.range(),r=n[0],i=n[n.length-1];return r<=i?e>=r&&e<=i:e>=i&&e<=r}}bBe(tL,"EPS",1e-4);function SBe(t){return(t%180+180)%180}var wBe=function(e){var{width:n,height:r}=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=SBe(i),s=a*Math.PI/180,o=Math.atan(r/n),l=s>o&&s{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=Mo(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=Mo(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=Mo(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),{addDot:S9e,removeDot:w9e,addArea:M9e,removeArea:E9e,addLine:A9e,removeLine:T9e}=rJ.actions,EBe=rJ.reducer,ABe=E.createContext(void 0),TBe=t=>{var{children:e}=t,[n]=E.useState("".concat(h0("recharts"),"-clip")),r=JO();if(r==null)return null;var{x:i,y:a,width:s,height:o}=r;return E.createElement(ABe.Provider,{value:n},E.createElement("defs",null,E.createElement("clipPath",{id:n},E.createElement("rect",{x:i,y:a,height:o,width:s}))),e)};function iJ(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var a=n();return t*(e-t*a/2-r)>=0&&t*(e+t*a/2-i)<=0}function RBe(t,e){return iJ(t,e+1)}function PBe(t,e,n,r,i){for(var a=(r||[]).slice(),{start:s,end:o}=e,l=0,c=1,u=s,f=function(){var y=r?.[l];if(y===void 0)return{v:iJ(r,c)};var v=l,b,x=()=>(b===void 0&&(b=n(y,v)),b),M=y.coordinate,w=l===0||US(t,M,x,u,o);w||(l=0,u=s,c+=1),w&&(u=M+t*(x()/2+i),l+=c)},g;c<=a.length;)if(g=f(),g)return g.v;return[]}function LV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function na(t){for(var e=1;e(y===void 0&&(y=n(m,g)),y);if(g===s-1){var b=t*(m.coordinate+t*v()/2-l);a[g]=m=na(na({},m),{},{tickCoord:b>0?m.coordinate-b*t:m.coordinate})}else a[g]=m=na(na({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var x=US(t,m.tickCoord,v,o,l);x&&(l=m.tickCoord-t*(v()/2+i),a[g]=na(na({},m),{},{isShow:!0}))}},u=s-1;u>=0;u--)c(u);return a}function IBe(t,e,n,r,i,a){var s=(r||[]).slice(),o=s.length,{start:l,end:c}=e;if(a){var u=r[o-1],f=n(u,o-1),g=t*(u.coordinate+t*f/2-c);if(s[o-1]=u=na(na({},u),{},{tickCoord:g>0?u.coordinate-g*t:u.coordinate}),u.tickCoord!=null){var m=US(t,u.tickCoord,()=>f,l,c);m&&(c=u.tickCoord-t*(f/2+i),s[o-1]=na(na({},u),{},{isShow:!0}))}}for(var y=a?o-1:o,v=function(M){var w=s[M],A,T=()=>(A===void 0&&(A=n(w,M)),A);if(M===0){var R=t*(w.coordinate-t*T()/2-l);s[M]=w=na(na({},w),{},{tickCoord:R<0?w.coordinate-R*t:w.coordinate})}else s[M]=w=na(na({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var N=US(t,w.tickCoord,T,l,c);N&&(l=w.tickCoord+t*(T()/2+i),s[M]=na(na({},w),{},{isShow:!0}))}},b=0;b{var T=typeof c=="function"?c(w.value,A):w.value;return y==="width"?CBe(Dx(T,{fontSize:e,letterSpacing:n}),v,f):Dx(T,{fontSize:e,letterSpacing:n})[y]},x=i.length>=2?Ti(i[1].coordinate-i[0].coordinate):1,M=NBe(a,x,y);return l==="equidistantPreserveStart"?PBe(x,M,b,i,s):(l==="preserveStart"||l==="preserveStartEnd"?m=IBe(x,M,b,i,s,l==="preserveStartEnd"):m=LBe(x,M,b,i,s),m.filter(w=>w.isShow))}var jBe=t=>{var{ticks:e,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:a=0}=t,s=0;if(e){Array.from(e).forEach(u=>{if(u){var f=u.getBoundingClientRect();f.width>s&&(s=f.width)}});var o=n?n.getBoundingClientRect().width:0,l=i+a,c=s+l+o+(n?r:0);return Math.round(c)}return 0},UBe=["axisLine","width","height","className","hide","ticks","axisType"];function FBe(t,e){if(t==null)return{};var n,r,i=zBe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:a,tickFormatter:s,unit:o,padding:l,tickTextProps:c,orientation:u,mirror:f,x:g,y:m,width:y,height:v,tickSize:b,tickMargin:x,fontSize:M,letterSpacing:w,getTicksConfig:A,events:T,axisType:R}=t,N=nL(Hr(Hr({},A),{},{ticks:n}),M,w),j=WBe(u,f),C=qBe(u,f),k=$a(A),U=Uf(r),I={};typeof i=="object"&&(I=i);var H=Hr(Hr({},k),{},{fill:"none"},I),O=N.map(G=>Hr({entry:G},GBe(G,g,m,y,v,u,b,f,x))),B=O.map(G=>{var{entry:K,line:Y}=G;return E.createElement(Or,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(K.value,"-").concat(K.coordinate,"-").concat(K.tickCoord)},i&&E.createElement("line",$f({},H,Y,{className:An("recharts-cartesian-axis-tick-line",Ff(i,"className"))})))}),V=O.map((G,K)=>{var{entry:Y,tick:oe}=G,$=Hr(Hr(Hr(Hr({textAnchor:j,verticalAnchor:C},k),{},{stroke:"none",fill:a},U),oe),{},{index:K,payload:Y,visibleTicksCount:N.length,tickFormatter:s,padding:l},c);return E.createElement(Or,$f({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},q0(T,Y,K)),r&&E.createElement(XBe,{option:r,tickProps:$,value:"".concat(typeof s=="function"?s(Y.value,K):Y.value).concat(o||"")}))});return E.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(R,"-ticks")},V.length>0&&E.createElement(Wa,{zIndex:Wr.label},E.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(R,"-tick-labels"),ref:e},V)),B.length>0&&E.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(R,"-tick-lines")},B))}),YBe=E.forwardRef((t,e)=>{var{axisLine:n,width:r,height:i,className:a,hide:s,ticks:o,axisType:l}=t,c=FBe(t,UBe),[u,f]=E.useState(""),[g,m]=E.useState(""),y=E.useRef(null);E.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var b;return jBe({ticks:y.current,label:(b=t.labelRef)===null||b===void 0?void 0:b.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var v=E.useCallback(b=>{if(b){var x=b.getElementsByClassName("recharts-cartesian-axis-tick-value");y.current=x;var M=x[0];if(M){var w=window.getComputedStyle(M),A=w.fontSize,T=w.letterSpacing;(A!==u||T!==g)&&(f(A),m(T))}}},[u,g]);return s||r!=null&&r<=0||i!=null&&i<=0?null:E.createElement(Wa,{zIndex:t.zIndex},E.createElement(Or,{className:An("recharts-cartesian-axis",a)},E.createElement(VBe,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:$a(t)}),E.createElement(KBe,{ref:v,axisType:l,events:c,fontSize:u,getTicksConfig:t,height:t.height,letterSpacing:g,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:o,unit:t.unit,width:t.width,x:t.x,y:t.y}),E.createElement(yUe,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},E.createElement(RUe,{label:t.label,labelRef:t.labelRef}),t.children)))}),rL=E.forwardRef((t,e)=>{var n=Yr(t,hc);return E.createElement(YBe,$f({},n,{ref:e}))});rL.displayName="CartesianAxis";var ZBe=["x1","y1","x2","y2","key"],QBe=["offset"],JBe=["xAxisId","yAxisId"],eHe=["xAxisId","yAxisId"];function jV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ra(t){for(var e=1;e{var{fill:e}=t;if(!e||e==="none")return null;var{fillOpacity:n,x:r,y:i,width:a,height:s,ry:o}=t;return E.createElement("rect",{x:r,y:i,ry:o,width:a,height:s,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function aJ(t){var{option:e,lineItemProps:n}=t,r;if(E.isValidElement(e))r=E.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,{x1:a,y1:s,x2:o,y2:l,key:c}=n,u=FS(n,ZBe),f=(i=$a(u))!==null&&i!==void 0?i:{},{offset:g}=f,m=FS(f,QBe);r=E.createElement("line",cf({},m,{x1:a,y1:s,x2:o,y2:l,fill:"none",key:c}))}return r}function sHe(t){var{x:e,width:n,horizontal:r=!0,horizontalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:s}=t,o=FS(t,JBe),l=i.map((c,u)=>{var f=ra(ra({},o),{},{x1:e,y1:c,x2:e+n,y2:c,key:"line-".concat(u),index:u});return E.createElement(aJ,{key:"line-".concat(u),option:r,lineItemProps:f})});return E.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function oHe(t){var{y:e,height:n,vertical:r=!0,verticalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:s}=t,o=FS(t,eHe),l=i.map((c,u)=>{var f=ra(ra({},o),{},{x1:c,y1:e,x2:c,y2:e+n,key:"line-".concat(u),index:u});return E.createElement(aJ,{option:r,lineItemProps:f,key:"line-".concat(u)})});return E.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function lHe(t){var{horizontalFill:e,fillOpacity:n,x:r,y:i,width:a,height:s,horizontalPoints:o,horizontal:l=!0}=t;if(!l||!e||!e.length||o==null)return null;var c=o.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==c[0]&&c.unshift(0);var u=c.map((f,g)=>{var m=!c[g+1],y=m?i+s-f:c[g+1]-f;if(y<=0)return null;var v=g%e.length;return E.createElement("rect",{key:"react-".concat(g),y:f,x:r,height:y,width:a,stroke:"none",fill:e[v],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return E.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},u)}function cHe(t){var{vertical:e=!0,verticalFill:n,fillOpacity:r,x:i,y:a,width:s,height:o,verticalPoints:l}=t;if(!e||!n||!n.length)return null;var c=l.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==c[0]&&c.unshift(0);var u=c.map((f,g)=>{var m=!c[g+1],y=m?i+s-f:c[g+1]-f;if(y<=0)return null;var v=g%n.length;return E.createElement("rect",{key:"react-".concat(g),x:f,y:a,width:y,height:o,stroke:"none",fill:n[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return E.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},u)}var uHe=(t,e)=>{var{xAxis:n,width:r,height:i,offset:a}=t;return BK(nL(ra(ra(ra({},hc),n),{},{ticks:HK(n),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,e)},dHe=(t,e)=>{var{yAxis:n,width:r,height:i,offset:a}=t;return BK(nL(ra(ra(ra({},hc),n),{},{ticks:HK(n),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,e)},fHe={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Wr.grid};function mP(t){var e=ND(),n=RD(),r=ZK(),i=ra(ra({},Yr(t,fHe)),{},{x:At(t.x)?t.x:r.left,y:At(t.y)?t.y:r.top,width:At(t.width)?t.width:r.width,height:At(t.height)?t.height:r.height}),{xAxisId:a,yAxisId:s,x:o,y:l,width:c,height:u,syncWithTicks:f,horizontalValues:g,verticalValues:m}=i,y=ca(),v=Tt(C=>T$(C,"xAxis",a,y)),b=Tt(C=>T$(C,"yAxis",s,y));if(!sl(c)||!sl(u)||!At(o)||!At(l))return null;var x=i.verticalCoordinatesGenerator||uHe,M=i.horizontalCoordinatesGenerator||dHe,{horizontalPoints:w,verticalPoints:A}=i;if((!w||!w.length)&&typeof M=="function"){var T=g&&g.length,R=M({yAxis:b?ra(ra({},b),{},{ticks:T?g:b.ticks}):void 0,width:e??c,height:n??u,offset:r},T?!0:f);uS(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof R,"]")),Array.isArray(R)&&(w=R)}if((!A||!A.length)&&typeof x=="function"){var N=m&&m.length,j=x({xAxis:v?ra(ra({},v),{},{ticks:N?m:v.ticks}):void 0,width:e??c,height:n??u,offset:r},N?!0:f);uS(Array.isArray(j),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof j,"]")),Array.isArray(j)&&(A=j)}return E.createElement(Wa,{zIndex:i.zIndex},E.createElement("g",{className:"recharts-cartesian-grid"},E.createElement(aHe,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),E.createElement(lHe,cf({},i,{horizontalPoints:w})),E.createElement(cHe,cf({},i,{verticalPoints:A})),E.createElement(sHe,cf({},i,{offset:r,horizontalPoints:w,xAxis:v,yAxis:b})),E.createElement(oHe,cf({},i,{offset:r,verticalPoints:A,xAxis:v,yAxis:b}))))}mP.displayName="CartesianGrid";function hHe(t){var e=Uf(t),n=3,r=2;if(e!=null){var{r:i,strokeWidth:a}=e,s=Number(i),o=Number(a);return(Number.isNaN(s)||s<0)&&(s=n),(Number.isNaN(o)||o<0)&&(o=r),{r:s,strokeWidth:o}}return{r:n,strokeWidth:r}}var sJ=(t,e,n,r)=>id(t,"xAxis",e,r),oJ=(t,e,n,r)=>rd(t,"xAxis",e,r),lJ=(t,e,n,r)=>id(t,"yAxis",n,r),cJ=(t,e,n,r)=>rd(t,"yAxis",n,r),pHe=$e([Sn,sJ,lJ,oJ,cJ],(t,e,n,r,i)=>Tc(t,"xAxis")?dm(e,r,!1):dm(n,i,!1)),mHe=(t,e,n,r,i)=>i,uJ=$e([lM,mHe],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),gHe=(t,e,n,r,i)=>{var a,s=uJ(t,e,n,r,i);if(s!=null){var o=Sn(t),l=Tc(o,"xAxis"),c;if(l?c=A0(t,"yAxis",n,r):c=A0(t,"xAxis",e,r),c!=null){var{stackId:u}=s,f=iM(s);if(!(u==null||f==null)){var g=(a=c[u])===null||a===void 0?void 0:a.stackedData;return g?.find(m=>m.key===f)}}}},xHe=$e([Sn,sJ,lJ,oJ,cJ,gHe,tM,pHe,uJ,TLe],(t,e,n,r,i,a,s,o,l,c)=>{var{chartData:u,dataStartIndex:f,dataEndIndex:g}=s;if(!(l==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null)){var{data:m}=l,y;if(m&&m.length>0?y=m:y=u?.slice(f,g+1),y!=null)return IHe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:l,stackedData:a,displayedData:y,chartBaseValue:c,bandSize:o})}}),vHe=["id"],bHe=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Sf(){return Sf=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,fill:i,legendType:a,hide:s}=t;return[{inactive:s,dataKey:e,type:a,color:zS(r,i),value:Tm(n,e),payload:t}]},EHe=E.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:a,name:s,hide:o,unit:l,tooltipType:c}=t,u={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:e,nameKey:void 0,name:Tm(s,e),hide:o,type:c,color:zS(r,a),unit:l}};return E.createElement(ZO,{tooltipEntrySettings:u})});function AHe(t){var{clipPathId:e,points:n,props:r}=t,{needClip:i,dot:a,dataKey:s}=r,o=$a(r);return E.createElement(vze,{points:n,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:o,needClip:i,clipPathId:e})}function THe(t){var{showLabels:e,children:n,points:r}=t,i=r.map(a=>{var s,o,l={x:(s=a.x)!==null&&s!==void 0?s:0,y:(o=a.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Cp(Cp({},l),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:l,fill:void 0})});return E.createElement(OQ,{value:e?i:void 0},n)}function FV(t){var{points:e,baseLine:n,needClip:r,clipPathId:i,props:a}=t,{layout:s,type:o,stroke:l,connectNulls:c,isRange:u}=a,{id:f}=a,g=dJ(a,vHe),m=$a(g),y=Ma(g);return E.createElement(E.Fragment,null,e?.length>1&&E.createElement(Or,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},E.createElement(Fp,Sf({},y,{id:f,points:e,connectNulls:c,type:o,baseLine:n,layout:s,stroke:"none",className:"recharts-area-area"})),l!=="none"&&E.createElement(Fp,Sf({},m,{className:"recharts-area-curve",layout:s,type:o,connectNulls:c,fill:"none",points:e})),l!=="none"&&u&&E.createElement(Fp,Sf({},m,{className:"recharts-area-curve",layout:s,type:o,connectNulls:c,fill:"none",points:n}))),E.createElement(AHe,{points:e,props:g,clipPathId:i}))}function CHe(t){var{alpha:e,baseLine:n,points:r,strokeWidth:i}=t,a=r[0].y,s=r[r.length-1].y;if(!or(a)||!or(s))return null;var o=e*Math.abs(a-s),l=Math.max(...r.map(c=>c.x||0));return At(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(c=>c.x||0),l)),At(l)?E.createElement("rect",{x:0,y:ac.y||0));return At(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(c=>c.y||0),l)),At(l)?E.createElement("rect",{x:a({points:s,baseLine:o}),[s,o]),v=ev(y,"recharts-area-"),b=GRe(),[x,M]=E.useState(!1),w=!x,A=E.useCallback(()=>{typeof m=="function"&&m(),M(!1)},[m]),T=E.useCallback(()=>{typeof g=="function"&&g(),M(!0)},[g]);if(b==null)return null;var R=i.current,N=a.current;return E.createElement(THe,{showLabels:w,points:s},r.children,E.createElement(J0,{animationId:v,begin:c,duration:u,isActive:l,easing:f,onAnimationEnd:A,onAnimationStart:T,key:v},j=>{if(R){var C=R.length/s.length,k=j===1?s:s.map((I,H)=>{var O=Math.floor(H*C);if(R[O]){var B=R[O];return Cp(Cp({},I),{},{x:sr(B.x,I.x,j),y:sr(B.y,I.y,j)})}return I}),U;return At(o)?U=sr(N,o,j):gr(o)||Ys(o)?U=sr(N,0,j):U=o.map((I,H)=>{var O=Math.floor(H*C);if(Array.isArray(N)&&N[O]){var B=N[O];return Cp(Cp({},I),{},{x:sr(B.x,I.x,j),y:sr(B.y,I.y,j)})}return I}),j>0&&(i.current=k,a.current=U),E.createElement(FV,{points:k,baseLine:U,needClip:e,clipPathId:n,props:r})}return j>0&&(i.current=s,a.current=o),E.createElement(Or,null,l&&E.createElement("defs",null,E.createElement("clipPath",{id:"animationClipPath-".concat(n)},E.createElement(RHe,{alpha:j,points:s,baseLine:o,layout:b,strokeWidth:r.strokeWidth}))),E.createElement(Or,{clipPath:"url(#animationClipPath-".concat(n,")")},E.createElement(FV,{points:s,baseLine:o,needClip:e,clipPathId:n,props:r})))}),E.createElement(VO,{label:r.label}))}function kHe(t){var{needClip:e,clipPathId:n,props:r}=t,i=E.useRef(null),a=E.useRef();return E.createElement(PHe,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}class DHe extends E.PureComponent{render(){var{hide:e,dot:n,points:r,className:i,top:a,left:s,needClip:o,xAxisId:l,yAxisId:c,width:u,height:f,id:g,baseLine:m,zIndex:y}=this.props;if(e)return null;var v=An("recharts-area",i),b=g,{r:x,strokeWidth:M}=hHe(n),w=HQ(n),A=x*2+M,T=o?"url(#clipPath-".concat(w?"":"dots-").concat(b,")"):void 0;return E.createElement(Wa,{zIndex:y},E.createElement(Or,{className:v},o&&E.createElement("defs",null,E.createElement(ZQ,{clipPathId:b,xAxisId:l,yAxisId:c}),!w&&E.createElement("clipPath",{id:"clipPath-dots-".concat(b)},E.createElement("rect",{x:s-A/2,y:a-A/2,width:u+A,height:f+A}))),E.createElement(kHe,{needClip:o,clipPathId:b,props:this.props})),E.createElement(EV,{points:r,mainColor:zS(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&E.createElement(EV,{points:m,mainColor:zS(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}}var fJ={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:Wr.area};function OHe(t){var e,n=Yr(t,fJ),{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:s,connectNulls:o,dot:l,fill:c,fillOpacity:u,hide:f,isAnimationActive:g,legendType:m,stroke:y,xAxisId:v,yAxisId:b}=n,x=dJ(n,bHe),M=Cm(),w=mQ(),{needClip:A}=eL(v,b),T=ca(),{points:R,isRange:N,baseLine:j}=(e=Tt(O=>xHe(O,v,b,T,t.id)))!==null&&e!==void 0?e:{},C=JO();if(M!=="horizontal"&&M!=="vertical"||C==null||w!=="AreaChart"&&w!=="ComposedChart")return null;var{height:k,width:U,x:I,y:H}=C;return!R||!R.length?null:E.createElement(DHe,Sf({},x,{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:s,baseLine:j,connectNulls:o,dot:l,fill:c,fillOpacity:u,height:k,hide:f,layout:M,isAnimationActive:g==="auto"?!Nm.isSsr:g,isRange:N,legendType:m,needClip:A,points:R,stroke:y,width:U,left:I,top:H,xAxisId:v,yAxisId:b}))}var LHe=(t,e,n,r,i)=>{var a=n??e;if(At(a))return a;var s=t==="horizontal"?i:r,o=s.scale.domain();if(s.type==="number"){var l=Math.max(o[0],o[1]),c=Math.min(o[0],o[1]);return a==="dataMin"?c:a==="dataMax"||l<0?l:Math.max(Math.min(o[0],o[1]),0)}return a==="dataMin"?o[0]:a==="dataMax"?o[1]:o[0]};function IHe(t){var{areaSettings:{connectNulls:e,baseValue:n,dataKey:r},stackedData:i,layout:a,chartBaseValue:s,xAxis:o,yAxis:l,displayedData:c,dataStartIndex:u,xAxisTicks:f,yAxisTicks:g,bandSize:m}=t,y=i&&i.length,v=LHe(a,s,n,o,l),b=a==="horizontal",x=!1,M=c.map((A,T)=>{var R;y?R=i[u+T]:(R=Yn(A,r),Array.isArray(R)?x=!0:R=[v,R]);var N=R[1]==null||y&&!e&&Yn(A,r)==null;return b?{x:W8({axis:o,ticks:f,bandSize:m,entry:A,index:T}),y:N?null:l.scale(R[1]),value:R,payload:A}:{x:N?null:o.scale(R[1]),y:W8({axis:l,ticks:g,bandSize:m,entry:A,index:T}),value:R,payload:A}}),w;return y||x?w=M.map(A=>{var T=Array.isArray(A.value)?A.value[0]:null;return b?{x:A.x,y:T!=null&&A.y!=null?l.scale(T):null,payload:A.payload}:{x:T!=null?o.scale(T):null,y:A.y,payload:A.payload}}):w=b?l.scale(v):o.scale(v),{points:M,baseLine:w,isRange:x}}function jHe(t){var e=Yr(t,fJ),n=ca();return E.createElement(QO,{id:e.id,type:"area"},r=>E.createElement(E.Fragment,null,E.createElement(VQ,{legendPayload:MHe(e)}),E.createElement(EHe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),E.createElement(qQ,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:$K(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),E.createElement(OHe,Sf({},e,{id:r}))))}var hJ=E.memo(jHe,xM);hJ.displayName="Area";var UHe=["domain","range"],FHe=["domain","range"];function zV(t,e){if(t==null)return{};var n,r,i=zHe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{n.current===null?e(wze(t)):n.current!==t&&e(Mze({prev:n.current,next:t})),n.current=t},[t,e]),E.useLayoutEffect(()=>()=>{n.current&&(e(Eze(n.current)),n.current=null)},[e]),null}var GHe=t=>{var{xAxisId:e,className:n}=t,r=Tt(TD),i=ca(),a="xAxis",s=Tt(b=>Im(b,a,e,i)),o=Tt(b=>qZ(b,a,e,i)),l=Tt(b=>$Z(b,e)),c=Tt(b=>MIe(b,e)),u=Tt(b=>MZ(b,e));if(l==null||c==null||u==null)return null;var{dangerouslySetInnerHTML:f,ticks:g}=t,m=HV(t,BHe),{id:y}=u,v=HV(u,HHe);return E.createElement(rL,gP({},m,v,{scale:s,x:c.x,y:c.y,width:l.width,height:l.height,className:An("recharts-".concat(a," ").concat(a),n),viewBox:r,ticks:o,axisType:a}))},WHe={allowDataOverflow:Si.allowDataOverflow,allowDecimals:Si.allowDecimals,allowDuplicatedCategory:Si.allowDuplicatedCategory,angle:Si.angle,axisLine:hc.axisLine,height:Si.height,hide:!1,includeHidden:Si.includeHidden,interval:Si.interval,minTickGap:Si.minTickGap,mirror:Si.mirror,orientation:Si.orientation,padding:Si.padding,reversed:Si.reversed,scale:Si.scale,tick:Si.tick,tickCount:Si.tickCount,tickLine:hc.tickLine,tickSize:hc.tickSize,type:Si.type,xAxisId:0},qHe=t=>{var e=Yr(t,WHe);return E.createElement(E.Fragment,null,E.createElement(VHe,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit}),E.createElement(GHe,e))},xP=E.memo(qHe,pJ);xP.displayName="XAxis";var XHe=["dangerouslySetInnerHTML","ticks"],KHe=["id"];function vP(){return vP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{n.current===null?e(Aze(t)):n.current!==t&&e(Tze({prev:n.current,next:t})),n.current=t},[t,e]),E.useLayoutEffect(()=>()=>{n.current&&(e(Cze(n.current)),n.current=null)},[e]),null}var QHe=t=>{var{yAxisId:e,className:n,width:r,label:i}=t,a=E.useRef(null),s=E.useRef(null),o=Tt(TD),l=ca(),c=er(),u="yAxis",f=Tt(T=>Im(T,u,e,l)),g=Tt(T=>VZ(T,e)),m=Tt(T=>AIe(T,e)),y=Tt(T=>qZ(T,u,e,l)),v=Tt(T=>EZ(T,e));if(E.useLayoutEffect(()=>{if(!(r!=="auto"||!g||$O(i)||E.isValidElement(i)||v==null)){var T=a.current;if(T){var R=T.getCalculatedWidth();Math.round(g.width)!==Math.round(R)&&c(Nze({id:e,width:R}))}}},[y,g,c,i,e,r,v]),g==null||m==null||v==null)return null;var{dangerouslySetInnerHTML:b,ticks:x}=t,M=$V(t,XHe),{id:w}=v,A=$V(v,KHe);return E.createElement(rL,vP({},M,A,{ref:a,labelRef:s,scale:f,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:g.width,height:g.height,className:An("recharts-".concat(u," ").concat(u),n),viewBox:o,ticks:y,axisType:u}))},JHe={allowDataOverflow:wi.allowDataOverflow,allowDecimals:wi.allowDecimals,allowDuplicatedCategory:wi.allowDuplicatedCategory,angle:wi.angle,axisLine:hc.axisLine,hide:!1,includeHidden:wi.includeHidden,interval:wi.interval,minTickGap:wi.minTickGap,mirror:wi.mirror,orientation:wi.orientation,padding:wi.padding,reversed:wi.reversed,scale:wi.scale,tick:wi.tick,tickCount:wi.tickCount,tickLine:hc.tickLine,tickSize:hc.tickSize,type:wi.type,width:wi.width,yAxisId:0},e8e=t=>{var e=Yr(t,JHe);return E.createElement(E.Fragment,null,E.createElement(ZHe,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter}),E.createElement(QHe,e))},bP=E.memo(e8e,pJ);bP.displayName="YAxis";var t8e=(t,e)=>e,iL=$e([t8e,Sn,SZ,fi,cQ,Dc,Bje,ui],Xje),aL=t=>{var e=t.currentTarget.getBoundingClientRect(),n=e.width/t.currentTarget.offsetWidth,r=e.height/t.currentTarget.offsetHeight;return{chartX:Math.round((t.clientX-e.left)/n),chartY:Math.round((t.clientY-e.top)/r)}},mJ=Zs("mouseClick"),gJ=Y0();gJ.startListening({actionCreator:mJ,effect:(t,e)=>{var n=t.payload,r=iL(e.getState(),aL(n));r?.activeIndex!=null&&e.dispatch(zIe({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var yP=Zs("mouseMove"),xJ=Y0(),s_=null;xJ.startListening({actionCreator:yP,effect:(t,e)=>{var n=t.payload;s_!==null&&cancelAnimationFrame(s_);var r=aL(n);s_=requestAnimationFrame(()=>{var i=e.getState(),a=PO(i,i.tooltip.settings.shared);if(a==="axis"){var s=iL(i,r);s?.activeIndex!=null?e.dispatch(tQ({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate})):e.dispatch(eQ())}s_=null})}});var VV={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},vJ=Ga({name:"rootProps",initialState:VV,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:VV.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),n8e=vJ.reducer,{updateOptions:r8e}=vJ.actions,bJ=Ga({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(t,e)=>e.payload}}),{updatePolarOptions:i8e}=bJ.actions,a8e=bJ.reducer,yJ=Zs("keyDown"),_J=Zs("focus"),sL=Y0();sL.startListening({actionCreator:yJ,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,a=t.payload;if(!(a!=="ArrowRight"&&a!=="ArrowLeft"&&a!=="Enter")){var s=kO(i,Um(n),cv(n),hv(n)),o=s==null?-1:Number(s);if(!(!Number.isFinite(o)||o<0)){var l=Dc(n);if(a==="Enter"){var c=PS(n,"axis","hover",String(i.index));e.dispatch(lP({active:!i.active,activeIndex:i.index,activeDataKey:i.dataKey,activeCoordinate:c}));return}var u=RIe(n),f=u==="left-to-right"?1:-1,g=a==="ArrowRight"?1:-1,m=o+g*f;if(!(l==null||m>=l.length||m<0)){var y=PS(n,"axis","hover",String(m));e.dispatch(lP({active:!0,activeIndex:m.toString(),activeDataKey:void 0,activeCoordinate:y}))}}}}}});sL.startListening({actionCreator:_J,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var a="0",s=PS(n,"axis","hover",String(a));e.dispatch(lP({activeDataKey:void 0,active:!0,activeIndex:a,activeCoordinate:s}))}}}});var Ps=Zs("externalEvent"),SJ=Y0(),dN=new Map;SJ.startListening({actionCreator:Ps,effect:(t,e)=>{var{handler:n,reactEvent:r}=t.payload;if(n!=null){r.persist();var i=r.type,a=dN.get(i);a!==void 0&&cancelAnimationFrame(a);var s=requestAnimationFrame(()=>{try{var o=e.getState(),l={activeCoordinate:Aje(o),activeDataKey:jO(o),activeIndex:ad(o),activeLabel:fQ(o),activeTooltipIndex:ad(o),isTooltipActive:Tje(o)};n(l,r)}finally{dN.delete(i)}});dN.set(i,s)}}});var s8e=$e([jm],t=>t.tooltipItemPayloads),o8e=$e([s8e,dv,(t,e,n)=>e,(t,e,n)=>n],(t,e,n,r)=>{var i=t.find(o=>o.settings.dataKey===r);if(i!=null){var{positions:a}=i;if(a!=null){var s=e(a,n);return s}}}),wJ=Zs("touchMove"),MJ=Y0();MJ.startListening({actionCreator:wJ,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){var r=e.getState(),i=PO(r,r.tooltip.settings.shared);if(i==="axis"){var a=iL(r,aL({clientX:n.touches[0].clientX,clientY:n.touches[0].clientY,currentTarget:n.currentTarget}));a?.activeIndex!=null&&e.dispatch(tQ({activeIndex:a.activeIndex,activeDataKey:void 0,activeCoordinate:a.activeCoordinate}))}else if(i==="item"){var s,o=n.touches[0];if(document.elementFromPoint==null)return;var l=document.elementFromPoint(o.clientX,o.clientY);if(!l||!l.getAttribute)return;var c=l.getAttribute(GK),u=(s=l.getAttribute(WK))!==null&&s!==void 0?s:void 0,f=o8e(e.getState(),c,u);e.dispatch(JZ({activeDataKey:u,activeIndex:c,activeCoordinate:f}))}}}});var l8e=fK({brush:vBe,cartesianAxis:Rze,chartData:E4e,errorBars:Kze,graphicalItems:IFe,layout:Q3e,legend:sPe,options:y4e,polarAxis:ZUe,polarOptions:a8e,referenceElements:EBe,rootProps:n8e,tooltip:BIe,zIndex:l4e}),c8e=function(e){return w3e({reducer:l8e,preloadedState:e,middleware:n=>{var r;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((r="es6")!==null&&r!==void 0?r:"")}).concat([gJ.middleware,xJ.middleware,sL.middleware,SJ.middleware,MJ.middleware])},enhancers:n=>{var r=n;return typeof n=="function"&&(r=n()),r.concat(TK({type:"raf"}))},devTools:Nm.devToolsEnabled})};function EJ(t){var{preloadedState:e,children:n,reduxStoreName:r}=t,i=ca(),a=E.useRef(null);if(i)return n;a.current==null&&(a.current=c8e(e));var s=vD;return E.createElement(y5e,{context:s,store:a.current},n)}function u8e(t){var{layout:e,margin:n}=t,r=er(),i=ca();return E.useEffect(()=>{i||(r(K3e(e)),r(X3e(n)))},[r,i,e,n]),null}var AJ=E.memo(u8e,xM);function TJ(t){var e=er();return E.useEffect(()=>{e(r8e(t))},[e,t]),null}function GV(t){var{zIndex:e,isPanorama:n}=t,r=n?"recharts-zindex-panorama-":"recharts-zindex-",i=GQ("".concat(r).concat(e)),a=er();return E.useLayoutEffect(()=>(a(s4e({zIndex:e,elementId:i,isPanorama:n})),()=>{a(o4e({zIndex:e,isPanorama:n}))}),[a,e,i,n]),E.createElement("g",{tabIndex:-1,id:i})}function WV(t){var{children:e,isPanorama:n}=t,r=Tt(Yje);if(!r||r.length===0)return e;var i=r.filter(s=>s<0),a=r.filter(s=>s>0);return E.createElement(E.Fragment,null,i.map(s=>E.createElement(GV,{key:s,zIndex:s,isPanorama:n})),e,a.map(s=>E.createElement(GV,{key:s,zIndex:s,isPanorama:n})))}var d8e=["children"];function f8e(t,e){if(t==null)return{};var n,r,i=h8e(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var n=ND(),r=RD(),i=cY();if(!sl(n)||!sl(r))return null;var{children:a,otherAttributes:s,title:o,desc:l}=t,c,u;return s!=null&&(typeof s.tabIndex=="number"?c=s.tabIndex:c=i?0:void 0,typeof s.role=="string"?u=s.role:u=i?"application":void 0),E.createElement(lD,BS({},s,{title:o,desc:l,role:u,tabIndex:c,width:n,height:r,style:p8e,ref:e}),a)}),g8e=t=>{var{children:e}=t,n=Tt($w);if(!n)return null;var{width:r,height:i,y:a,x:s}=n;return E.createElement(lD,{width:r,height:i,x:s,y:a},e)},qV=E.forwardRef((t,e)=>{var{children:n}=t,r=f8e(t,d8e),i=ca();return i?E.createElement(g8e,null,E.createElement(WV,{isPanorama:!0},n)):E.createElement(m8e,BS({ref:e},r),E.createElement(WV,{isPanorama:!1},n))});function x8e(){var t=er(),[e,n]=E.useState(null),r=Tt(mRe);return E.useEffect(()=>{if(e!=null){var i=e.getBoundingClientRect(),a=i.width/e.offsetWidth;or(a)&&a!==r&&t(Z3e(a))}},[e,t,r]),n}function XV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function v8e(t){for(var e=1;e(O4e(),null);function HS(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var w8e=E.forwardRef((t,e)=>{var n,r,i=E.useRef(null),[a,s]=E.useState({containerWidth:HS((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:HS((r=t.style)===null||r===void 0?void 0:r.height)}),o=E.useCallback((c,u)=>{s(f=>{var g=Math.round(c),m=Math.round(u);return f.containerWidth===g&&f.containerHeight===m?f:{containerWidth:g,containerHeight:m}})},[]),l=E.useCallback(c=>{if(typeof e=="function"&&e(c),c!=null&&typeof ResizeObserver<"u"){var{width:u,height:f}=c.getBoundingClientRect();o(u,f);var g=y=>{var{width:v,height:b}=y[0].contentRect;o(v,b)},m=new ResizeObserver(g);m.observe(c),i.current=m}},[e,o]);return E.useEffect(()=>()=>{var c=i.current;c?.disconnect()},[o]),E.createElement(E.Fragment,null,E.createElement(Gw,{width:a.containerWidth,height:a.containerHeight}),E.createElement("div",Vf({ref:l},t)))}),M8e=E.forwardRef((t,e)=>{var{width:n,height:r}=t,[i,a]=E.useState({containerWidth:HS(n),containerHeight:HS(r)}),s=E.useCallback((l,c)=>{a(u=>{var f=Math.round(l),g=Math.round(c);return u.containerWidth===f&&u.containerHeight===g?u:{containerWidth:f,containerHeight:g}})},[]),o=E.useCallback(l=>{if(typeof e=="function"&&e(l),l!=null){var{width:c,height:u}=l.getBoundingClientRect();s(c,u)}},[e,s]);return E.createElement(E.Fragment,null,E.createElement(Gw,{width:i.containerWidth,height:i.containerHeight}),E.createElement("div",Vf({ref:o},t)))}),E8e=E.forwardRef((t,e)=>{var{width:n,height:r}=t;return E.createElement(E.Fragment,null,E.createElement(Gw,{width:n,height:r}),E.createElement("div",Vf({ref:e},t)))}),A8e=E.forwardRef((t,e)=>{var{width:n,height:r}=t;return vc(n)||vc(r)?E.createElement(M8e,Vf({},t,{ref:e})):E.createElement(E8e,Vf({},t,{ref:e}))});function T8e(t){return t===!0?w8e:A8e}var C8e=E.forwardRef((t,e)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:s,onDoubleClick:o,onMouseDown:l,onMouseEnter:c,onMouseLeave:u,onMouseMove:f,onMouseUp:g,onTouchEnd:m,onTouchMove:y,onTouchStart:v,style:b,width:x,responsive:M,dispatchTouchEvents:w=!0}=t,A=E.useRef(null),T=er(),[R,N]=E.useState(null),[j,C]=E.useState(null),k=x8e(),U=CD(),I=U?.width>0?U.width:x,H=U?.height>0?U.height:i,O=E.useCallback(he=>{k(he),typeof e=="function"&&e(he),N(he),C(he),he!=null&&(A.current=he)},[k,e,N,C]),B=E.useCallback(he=>{T(mJ(he)),T(Ps({handler:a,reactEvent:he}))},[T,a]),V=E.useCallback(he=>{T(yP(he)),T(Ps({handler:c,reactEvent:he}))},[T,c]),G=E.useCallback(he=>{T(eQ()),T(Ps({handler:u,reactEvent:he}))},[T,u]),K=E.useCallback(he=>{T(yP(he)),T(Ps({handler:f,reactEvent:he}))},[T,f]),Y=E.useCallback(()=>{T(_J())},[T]),oe=E.useCallback(he=>{T(yJ(he.key))},[T]),$=E.useCallback(he=>{T(Ps({handler:s,reactEvent:he}))},[T,s]),X=E.useCallback(he=>{T(Ps({handler:o,reactEvent:he}))},[T,o]),ae=E.useCallback(he=>{T(Ps({handler:l,reactEvent:he}))},[T,l]),ce=E.useCallback(he=>{T(Ps({handler:g,reactEvent:he}))},[T,g]),xe=E.useCallback(he=>{T(Ps({handler:v,reactEvent:he}))},[T,v]),te=E.useCallback(he=>{w&&T(wJ(he)),T(Ps({handler:y,reactEvent:he}))},[T,w,y]),ve=E.useCallback(he=>{T(Ps({handler:m,reactEvent:he}))},[T,m]),De=T8e(M);return E.createElement(yQ.Provider,{value:R},E.createElement(CX.Provider,{value:j},E.createElement(De,{width:I??b?.width,height:H??b?.height,className:An("recharts-wrapper",r),style:v8e({position:"relative",cursor:"default",width:I,height:H},b),onClick:B,onContextMenu:$,onDoubleClick:X,onFocus:Y,onKeyDown:oe,onMouseDown:ae,onMouseEnter:V,onMouseLeave:G,onMouseMove:K,onMouseUp:ce,onTouchEnd:ve,onTouchMove:te,onTouchStart:xe,ref:O},E.createElement(S8e,null),n)))}),N8e=["width","height","responsive","children","className","style","compact","title","desc"];function R8e(t,e){if(t==null)return{};var n,r,i=P8e(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var{width:n,height:r,responsive:i,children:a,className:s,style:o,compact:l,title:c,desc:u}=t,f=R8e(t,N8e),g=$a(f);return l?E.createElement(E.Fragment,null,E.createElement(Gw,{width:n,height:r}),E.createElement(qV,{otherAttributes:g,title:c,desc:u},a)):E.createElement(C8e,{className:s,style:o,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},E.createElement(qV,{otherAttributes:g,title:c,desc:u,ref:e},E.createElement(TBe,null,a)))});function _P(){return _P=Object.assign?Object.assign.bind():function(t){for(var e=1;eE.createElement(NJ,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:O8e,tooltipPayloadSearcher:HO,categoricalChartProps:t,ref:e}));function I8e(t){var e=er();return E.useEffect(()=>{e(i8e(t))},[e,t]),null}var j8e=["layout"];function SP(){return SP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Yr(t,W8e);return E.createElement(B8e,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:G8e,tooltipPayloadSearcher:HO,categoricalChartProps:n,ref:e})}),X8e=["axis"],K8e=E.forwardRef((t,e)=>E.createElement(NJ,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:X8e,tooltipPayloadSearcher:HO,categoricalChartProps:t,ref:e}));const o_=["#00ae42","#3b82f6","#f59e0b","#ef4444","#8b5cf6","#ec4899","#14b8a6","#f97316"];function Y8e(t){const e=new Date;switch(t){case"7d":return new Date(e.getTime()-10080*60*1e3);case"30d":return new Date(e.getTime()-720*60*60*1e3);case"90d":return new Date(e.getTime()-2160*60*60*1e3);case"365d":return new Date(e.getTime()-365*24*60*60*1e3);case"all":return new Date(0)}}function Z8e({archives:t,currency:e="$"}){const[n,r]=E.useState("30d"),i=E.useMemo(()=>{const g=Y8e(n);return t.filter(m=>new Date(m.completed_at||m.created_at)>=g)},[t,n]),a=E.useMemo(()=>{const g=new Map;return i.forEach(m=>{const v=new Date(m.completed_at||m.created_at).toISOString().split("T")[0],b=g.get(v)||{date:v,filament:0,cost:0,prints:0};b.filament+=m.filament_used_grams||0,b.cost+=m.cost||0,b.prints+=1,g.set(v,b)}),Array.from(g.values()).sort((m,y)=>m.date.localeCompare(y.date)).map(m=>({...m,dateLabel:new Date(m.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})}))},[i]),s=E.useMemo(()=>{if(n==="7d"||n==="30d")return a;const g=new Map;return i.forEach(m=>{const y=new Date(m.completed_at||m.created_at),v=new Date(y);v.setDate(y.getDate()-y.getDay());const b=v.toISOString().split("T")[0],x=g.get(b)||{week:b,filament:0,cost:0,prints:0};x.filament+=m.filament_used_grams||0,x.cost+=m.cost||0,x.prints+=1,g.set(b,x)}),Array.from(g.values()).sort((m,y)=>m.week.localeCompare(y.week)).map(m=>({date:m.week,dateLabel:`Week of ${new Date(m.week).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`,...m}))},[i,a,n]),o=E.useMemo(()=>{const g=new Map;return i.forEach(m=>{const v=(m.filament_type||"Unknown").split(", ");v.forEach(b=>{const x=(m.filament_used_grams||0)/v.length;g.set(b,(g.get(b)||0)+x)})}),Array.from(g.entries()).map(([m,y])=>({name:m,value:Math.round(y)})).sort((m,y)=>y.value-m.value)},[i]),l=E.useMemo(()=>{const g=new Date,m=[];for(let y=5;y>=0;y--){const v=new Date(g.getFullYear(),g.getMonth()-y,1),b=new Date(g.getFullYear(),g.getMonth()-y+1,0),x=v.toLocaleDateString("en-US",{month:"short",year:"2-digit"}),M=t.filter(w=>{const A=new Date(w.completed_at||w.created_at);return A>=v&&A<=b});m.push({month:x,filament:Math.round(M.reduce((w,A)=>w+(A.filament_used_grams||0),0)),cost:M.reduce((w,A)=>w+(A.cost||0),0),prints:M.length})}return m},[t]),c=n==="7d"||n==="30d"?a:s,u=i.reduce((g,m)=>g+(m.filament_used_grams||0),0),f=i.reduce((g,m)=>g+(m.cost||0),0);return h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("h3",{className:"text-lg font-semibold text-white",children:"Filament Usage Trends"}),h.jsx("div",{className:"flex gap-1 bg-bambu-dark rounded-lg p-1",children:["7d","30d","90d","365d","all"].map(g=>h.jsx("button",{onClick:()=>r(g),className:`px-3 py-1 text-sm rounded-md transition-colors ${n===g?"bg-bambu-green text-white":"text-bambu-gray hover:text-white"}`,children:g==="all"?"All":g.replace("d","D")},g))})]}),h.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Period Filament"}),h.jsxs("p",{className:"text-2xl font-bold text-white",children:[(u/1e3).toFixed(2),"kg"]}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[u.toFixed(0),"g total"]})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Period Cost"}),h.jsxs("p",{className:"text-2xl font-bold text-white",children:[e,f.toFixed(2)]}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[i.length," prints"]})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Avg per Print"}),h.jsxs("p",{className:"text-2xl font-bold text-white",children:[i.length>0?(u/i.length).toFixed(0):0,"g"]}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[e,i.length>0?(f/i.length).toFixed(2):"0.00"," avg"]})]})]}),c.length>0?h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray mb-4",children:"Usage Over Time"}),h.jsx(kC,{width:"100%",height:250,children:h.jsxs(K8e,{data:c,children:[h.jsx("defs",{children:h.jsxs("linearGradient",{id:"colorFilament",x1:"0",y1:"0",x2:"0",y2:"1",children:[h.jsx("stop",{offset:"5%",stopColor:"#00ae42",stopOpacity:.3}),h.jsx("stop",{offset:"95%",stopColor:"#00ae42",stopOpacity:0})]})}),h.jsx(mP,{strokeDasharray:"3 3",stroke:"#3d3d3d"}),h.jsx(xP,{dataKey:"dateLabel",stroke:"#9ca3af",tick:{fontSize:12},interval:"preserveStartEnd"}),h.jsx(bP,{stroke:"#9ca3af",tick:{fontSize:12},tickFormatter:g=>`${g}g`}),h.jsx(YC,{contentStyle:{backgroundColor:"#2d2d2d",border:"1px solid #3d3d3d",borderRadius:"8px"},labelStyle:{color:"#fff"},formatter:g=>[`${g.toFixed(0)}g`,"Filament"]}),h.jsx(hJ,{type:"monotone",dataKey:"filament",stroke:"#00ae42",strokeWidth:2,fillOpacity:1,fill:"url(#colorFilament)"})]})})]}):h.jsx("div",{className:"bg-bambu-dark rounded-lg p-8 text-center text-bambu-gray",children:"No data for selected time range"}),h.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray mb-4",children:"By Filament Type"}),o.length>0?h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx(kC,{width:160,height:160,children:h.jsxs(q8e,{children:[h.jsx(XQ,{data:o,cx:"50%",cy:"50%",innerRadius:40,outerRadius:70,paddingAngle:2,dataKey:"value",children:o.map((g,m)=>h.jsx(mv,{fill:o_[m%o_.length]},`cell-${m}`))}),h.jsx(YC,{contentStyle:{backgroundColor:"#2d2d2d",border:"1px solid #3d3d3d",borderRadius:"8px"},formatter:g=>[`${g}g`,"Usage"]})]})}),h.jsx("div",{className:"flex-1 space-y-2 overflow-hidden",children:o.map((g,m)=>{const y=o.reduce((b,x)=>b+x.value,0),v=y>0?(g.value/y*100).toFixed(0):0;return h.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[h.jsx("div",{className:"w-3 h-3 rounded-sm flex-shrink-0",style:{backgroundColor:o_[m%o_.length]}}),h.jsx("span",{className:"text-white truncate flex-1",children:g.name}),h.jsxs("span",{className:"text-bambu-gray flex-shrink-0",children:[v,"%"]})]},g.name)})})]}):h.jsx("div",{className:"h-[160px] flex items-center justify-center text-bambu-gray",children:"No filament data"})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray mb-4",children:"Monthly Comparison"}),h.jsx(kC,{width:"100%",height:200,children:h.jsxs(L8e,{data:l,children:[h.jsx(mP,{strokeDasharray:"3 3",stroke:"#3d3d3d"}),h.jsx(xP,{dataKey:"month",stroke:"#9ca3af",tick:{fontSize:12}}),h.jsx(bP,{stroke:"#9ca3af",tick:{fontSize:12},tickFormatter:g=>`${g}g`}),h.jsx(YC,{contentStyle:{backgroundColor:"#2d2d2d",border:"1px solid #3d3d3d",borderRadius:"8px"},formatter:(g,m)=>[m==="filament"?`${g}g`:m==="cost"?`${e}${g.toFixed(2)}`:g,m==="filament"?"Filament":m==="cost"?"Cost":"Prints"]}),h.jsx(lY,{}),h.jsx(JQ,{dataKey:"filament",name:"Filament (g)",fill:"#00ae42",radius:[4,4,0,0]})]})})]})]})]})}function Q8e(){for(var t=arguments.length,e=new Array(t),n=0;nr=>{e.forEach(i=>i(r))},e)}const vM=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Fm(t){const e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function oL(t){return"nodeType"in t}function qa(t){var e,n;return t?Fm(t)?t:oL(t)&&(e=(n=t.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function lL(t){const{Document:e}=qa(t);return t instanceof e}function xv(t){return Fm(t)?!1:t instanceof qa(t).HTMLElement}function PJ(t){return t instanceof qa(t).SVGElement}function zm(t){return t?Fm(t)?t.document:oL(t)?lL(t)?t:xv(t)||PJ(t)?t.ownerDocument:document:document:document}const ll=vM?E.useLayoutEffect:E.useEffect;function cL(t){const e=E.useRef(t);return ll(()=>{e.current=t}),E.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{t.current=setInterval(r,i)},[]),n=E.useCallback(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,n]}function C0(t,e){e===void 0&&(e=[t]);const n=E.useRef(t);return ll(()=>{n.current!==t&&(n.current=t)},e),n}function vv(t,e){const n=E.useRef();return E.useMemo(()=>{const r=t(n.current);return n.current=r,r},[...e])}function $S(t){const e=cL(t),n=E.useRef(null),r=E.useCallback(i=>{i!==n.current&&e?.(i,n.current),n.current=i},[]);return[n,r]}function wP(t){const e=E.useRef();return E.useEffect(()=>{e.current=t},[t]),e.current}let fN={};function bv(t,e){return E.useMemo(()=>{if(e)return e;const n=fN[t]==null?0:fN[t]+1;return fN[t]=n,t+"-"+n},[t,e])}function kJ(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const o=Object.entries(s);for(const[l,c]of o){const u=a[l];u!=null&&(a[l]=u+t*c)}return a},{...e})}}const Bp=kJ(1),N0=kJ(-1);function e6e(t){return"clientX"in t&&"clientY"in t}function uL(t){if(!t)return!1;const{KeyboardEvent:e}=qa(t.target);return e&&t instanceof e}function t6e(t){if(!t)return!1;const{TouchEvent:e}=qa(t.target);return e&&t instanceof e}function MP(t){if(t6e(t)){if(t.touches&&t.touches.length){const{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){const{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return e6e(t)?{x:t.clientX,y:t.clientY}:null}const R0=Object.freeze({Translate:{toString(t){if(!t)return;const{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;const{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[R0.Translate.toString(t),R0.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),ZV="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function n6e(t){return t.matches(ZV)?t:t.querySelector(ZV)}const r6e={display:"none"};function i6e(t){let{id:e,value:n}=t;return ur.createElement("div",{id:e,style:r6e},n)}function a6e(t){let{id:e,announcement:n,ariaLiveType:r="assertive"}=t;const i={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return ur.createElement("div",{id:e,style:i,role:"status","aria-live":r,"aria-atomic":!0},n)}function s6e(){const[t,e]=E.useState("");return{announce:E.useCallback(r=>{r!=null&&e(r)},[]),announcement:t}}const DJ=E.createContext(null);function o6e(t){const e=E.useContext(DJ);E.useEffect(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of ");return e(t)},[t,e])}function l6e(){const[t]=E.useState(()=>new Set),e=E.useCallback(r=>(t.add(r),()=>t.delete(r)),[t]);return[E.useCallback(r=>{let{type:i,event:a}=r;t.forEach(s=>{var o;return(o=s[i])==null?void 0:o.call(s,a)})},[t]),e]}const c6e={draggable:` + `).concat(A.x,",").concat(A.y),R=gr(t.id)?h0("recharts-radial-line-"):t.id;return E.createElement("text",Ql({},r,{dominantBaseline:"central",className:An("recharts-radial-bar-label",s)}),E.createElement("defs",null,E.createElement("path",{id:R,d:T})),E.createElement("textPath",{xlinkHref:"#".concat(R)},n))},AUe=(t,e,n)=>{var{cx:r,cy:i,innerRadius:a,outerRadius:s,startAngle:o,endAngle:l}=t,c=(o+l)/2;if(n==="outside"){var{x:u,y:f}=Gr(r,i,s+e,c);return{x:u,y:f,textAnchor:u>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var g=(a+s)/2,{x:m,y}=Gr(r,i,g,c);return{x:m,y,textAnchor:"middle",verticalAnchor:"middle"}},fP=t=>"cx"in t&&At(t.cx),TUe=(t,e)=>{var{parentViewBox:n,offset:r,position:i}=t,a;n!=null&&!fP(n)&&(a=n);var{x:s,y:o,upperWidth:l,lowerWidth:c,height:u}=e,f=s,g=s+(l-c)/2,m=(f+g)/2,y=(l+c)/2,v=f+l/2,b=u>=0?1:-1,x=b*r,M=b>0?"end":"start",w=b>0?"start":"end",A=l>=0?1:-1,T=A*r,R=A>0?"end":"start",N=A>0?"start":"end";if(i==="top"){var j={x:f+l/2,y:o-x,textAnchor:"middle",verticalAnchor:M};return Pr(Pr({},j),a?{height:Math.max(o-a.y,0),width:l}:{})}if(i==="bottom"){var C={x:g+c/2,y:o+u+x,textAnchor:"middle",verticalAnchor:w};return Pr(Pr({},C),a?{height:Math.max(a.y+a.height-(o+u),0),width:c}:{})}if(i==="left"){var k={x:m-T,y:o+u/2,textAnchor:R,verticalAnchor:"middle"};return Pr(Pr({},k),a?{width:Math.max(k.x-a.x,0),height:u}:{})}if(i==="right"){var F={x:m+y+T,y:o+u/2,textAnchor:N,verticalAnchor:"middle"};return Pr(Pr({},F),a?{width:Math.max(a.x+a.width-F.x,0),height:u}:{})}var I=a?{width:y,height:u}:{};return i==="insideLeft"?Pr({x:m+T,y:o+u/2,textAnchor:N,verticalAnchor:"middle"},I):i==="insideRight"?Pr({x:m+y-T,y:o+u/2,textAnchor:R,verticalAnchor:"middle"},I):i==="insideTop"?Pr({x:f+l/2,y:o+x,textAnchor:"middle",verticalAnchor:w},I):i==="insideBottom"?Pr({x:g+c/2,y:o+u-x,textAnchor:"middle",verticalAnchor:M},I):i==="insideTopLeft"?Pr({x:f+T,y:o+x,textAnchor:N,verticalAnchor:w},I):i==="insideTopRight"?Pr({x:f+l-T,y:o+x,textAnchor:R,verticalAnchor:w},I):i==="insideBottomLeft"?Pr({x:g+T,y:o+u-x,textAnchor:N,verticalAnchor:M},I):i==="insideBottomRight"?Pr({x:g+c-T,y:o+u-x,textAnchor:R,verticalAnchor:M},I):i&&typeof i=="object"&&(At(i.x)||vc(i.x))&&(At(i.y)||vc(i.y))?Pr({x:s+sa(i.x,y),y:o+sa(i.y,u),textAnchor:"end",verticalAnchor:"end"},I):Pr({x:v,y:o+u/2,textAnchor:"middle",verticalAnchor:"middle"},I)},CUe={angle:0,offset:5,zIndex:Wr.label,position:"middle",textBreakAll:!1};function Tu(t){var e=Yr(t,CUe),{viewBox:n,position:r,value:i,children:a,content:s,className:o="",textBreakAll:l,labelRef:c}=e,u=SUe(),f=kQ(),g=r==="center"?f:u??f,m,y,v;if(n==null?m=g:fP(n)?m=n:m=YK(n),!m||gr(i)&&gr(a)&&!E.isValidElement(s)&&typeof s!="function")return null;var b=Pr(Pr({},e),{},{viewBox:m});if(E.isValidElement(s)){var{labelRef:x}=b,M=mUe(b,pUe);return E.cloneElement(s,M)}if(typeof s=="function"){if(y=E.createElement(s,b),E.isValidElement(y))return y}else y=wUe(e);var w=Ma(e);if(fP(m)){if(r==="insideStart"||r==="insideEnd"||r==="end")return EUe(e,r,y,w,m);v=AUe(m,e.offset,e.position)}else v=TUe(e,m);return E.createElement(Wa,{zIndex:e.zIndex},E.createElement(hM,Ql({ref:c,className:An("recharts-label",o)},w,v,{textAnchor:cUe(w.textAnchor)?w.textAnchor:v.textAnchor,breakAll:l}),y))}Tu.displayName="Label";var NUe=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?E.createElement(Tu,Ql({key:"label-implicit"},r)):al(t)?E.createElement(Tu,Ql({key:"label-implicit",value:t},r)):E.isValidElement(t)?t.type===Tu?E.cloneElement(t,Pr({key:"label-implicit"},r)):E.createElement(Tu,Ql({key:"label-implicit",content:t},r)):$O(t)?E.createElement(Tu,Ql({key:"label-implicit",content:t},r)):t&&typeof t=="object"?E.createElement(Tu,Ql({},t,{key:"label-implicit"},r)):null};function RUe(t){var{label:e,labelRef:n}=t,r=kQ();return NUe(e,r,n)||null}var QC={},JC={},tV;function PUe(){return tV||(tV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return n[n.length-1]}t.last=e})(JC)),JC}var eN={},nV;function kUe(){return nV||(nV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){return Array.isArray(n)?n:Array.from(n)}t.toArray=e})(eN)),eN}var rV;function DUe(){return rV||(rV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});const e=PUe(),n=kUe(),r=xD();function i(a){if(r.isArrayLike(a))return e.last(n.toArray(a))}t.last=i})(QC)),QC}var tN,iV;function OUe(){return iV||(iV=1,tN=DUe().last),tN}var LUe=OUe();const IUe=Js(LUe);var jUe=["valueAccessor"],UUe=["dataKey","clockWise","id","textBreakAll","zIndex"];function kS(){return kS=Object.assign?Object.assign.bind():function(t){for(var e=1;eArray.isArray(t.value)?IUe(t.value):t.value,DQ=E.createContext(void 0),OQ=DQ.Provider,LQ=E.createContext(void 0),BUe=LQ.Provider;function HUe(){return E.useContext(DQ)}function $Ue(){return E.useContext(LQ)}function O_(t){var{valueAccessor:e=zUe}=t,n=aV(t,jUe),{dataKey:r,clockWise:i,id:a,textBreakAll:s,zIndex:o}=n,l=aV(n,UUe),c=HUe(),u=$Ue(),f=c||u;return!f||!f.length?null:E.createElement(Wa,{zIndex:o??Wr.label},E.createElement(Or,{className:"recharts-label-list"},f.map((g,m)=>{var y,v=gr(r)?e(g,m):Yn(g&&g.payload,r),b=gr(a)?{}:{id:"".concat(a,"-").concat(m)};return E.createElement(Tu,kS({key:"label-".concat(m)},Ma(g),l,b,{fill:(y=n.fill)!==null&&y!==void 0?y:g.fill,parentViewBox:g.parentViewBox,value:v,textBreakAll:s,viewBox:g.viewBox,index:m,zIndex:0}))})))}O_.displayName="LabelList";function VO(t){var{label:e}=t;return e?e===!0?E.createElement(O_,{key:"labelList-implicit"}):E.isValidElement(e)||$O(e)?E.createElement(O_,{key:"labelList-implicit",content:e}):typeof e=="object"?E.createElement(O_,kS({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function hP(){return hP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{cx:e,cy:n,r,className:i}=t,a=An("recharts-dot",i);return At(e)&&At(n)&&At(r)?E.createElement("circle",hP({},$a(t),gD(t),{className:a,cx:e,cy:n,r})):null},jQ=t=>t.graphicalItems.polarItems,VUe=$e([fr,sv],fO),pM=$e([jQ,vr,VUe],hO),GUe=$e([pM],pO),mM=$e([GUe,nO],mO),WUe=$e([mM,vr,pM],xO);$e([mM,vr,pM],(t,e,n)=>n.length>0?t.flatMap(r=>n.flatMap(i=>{var a,s=Yn(r,(a=e.dataKey)!==null&&a!==void 0?a:i.dataKey);return{value:s,errorDomain:[]}})).filter(Boolean):e?.dataKey!=null?t.map(r=>({value:Yn(r,e.dataKey),errorDomain:[]})):t.map(r=>({value:r,errorDomain:[]})));var sV=()=>{},qUe=$e([mM,vr,pM,uM,fr],_O),XUe=$e([vr,bO,yO,sV,qUe,sV,Sn,fr],SO),UQ=$e([vr,Sn,mM,WUe,av,fr,XUe],wO),KUe=$e([UQ,vr,Lm],AO);$e([vr,UQ,KUe,fr],CO);var YUe={radiusAxis:{},angleAxis:{}},FQ=Ga({name:"polarAxis",initialState:YUe,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),{addRadiusAxis:d9e,removeRadiusAxis:f9e,addAngleAxis:h9e,removeAngleAxis:p9e}=FQ.actions,ZUe=FQ.reducer;function oV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lV(t){for(var e=1;ee,GO=$e([jQ,tFe],(t,e)=>t.filter(n=>n.type==="pie").find(n=>n.id===e)),nFe=[],WO=(t,e,n)=>n?.length===0?nFe:n,zQ=$e([nO,GO,WO],(t,e,n)=>{var{chartData:r}=t;if(e!=null){var i;if(e?.data!=null&&e.data.length>0?i=e.data:i=r,(!i||!i.length)&&n!=null&&(i=n.map(a=>lV(lV({},e.presentationProps),a.props))),i!=null)return i}}),rFe=$e([zQ,GO,WO],(t,e,n)=>{if(!(t==null||e==null))return t.map((r,i)=>{var a,s=Yn(r,e.nameKey,e.name),o;return n!=null&&(a=n[i])!==null&&a!==void 0&&(a=a.props)!==null&&a!==void 0&&a.fill?o=n[i].props.fill:typeof r=="object"&&r!=null&&"fill"in r?o=r.fill:o=e.fill,{value:Tm(s,e.dataKey),color:o,payload:r,type:e.legendType}})}),iFe=$e([zQ,GO,WO,ui],(t,e,n,r)=>{if(!(e==null||t==null))return aze({offset:r,pieSettings:e,displayedData:t,cells:n})}),nN={exports:{}},zn={};var cV;function aFe(){if(cV)return zn;cV=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),s=Symbol.for("react.context"),o=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.for("react.view_transition"),m=Symbol.for("react.client.reference");function y(v){if(typeof v=="object"&&v!==null){var b=v.$$typeof;switch(b){case t:switch(v=v.type,v){case n:case i:case r:case l:case c:case g:return v;default:switch(v=v&&v.$$typeof,v){case s:case o:case f:case u:return v;case a:return v;default:return b}}case e:return b}}}return zn.ContextConsumer=a,zn.ContextProvider=s,zn.Element=t,zn.ForwardRef=o,zn.Fragment=n,zn.Lazy=f,zn.Memo=u,zn.Portal=e,zn.Profiler=i,zn.StrictMode=r,zn.Suspense=l,zn.SuspenseList=c,zn.isContextConsumer=function(v){return y(v)===a},zn.isContextProvider=function(v){return y(v)===s},zn.isElement=function(v){return typeof v=="object"&&v!==null&&v.$$typeof===t},zn.isForwardRef=function(v){return y(v)===o},zn.isFragment=function(v){return y(v)===n},zn.isLazy=function(v){return y(v)===f},zn.isMemo=function(v){return y(v)===u},zn.isPortal=function(v){return y(v)===e},zn.isProfiler=function(v){return y(v)===i},zn.isStrictMode=function(v){return y(v)===r},zn.isSuspense=function(v){return y(v)===l},zn.isSuspenseList=function(v){return y(v)===c},zn.isValidElementType=function(v){return typeof v=="string"||typeof v=="function"||v===n||v===i||v===r||v===l||v===c||typeof v=="object"&&v!==null&&(v.$$typeof===f||v.$$typeof===u||v.$$typeof===s||v.$$typeof===a||v.$$typeof===o||v.$$typeof===m||v.getModuleId!==void 0)},zn.typeOf=y,zn}var uV;function sFe(){return uV||(uV=1,nN.exports=aFe()),nN.exports}var oFe=sFe(),dV=t=>typeof t=="string"?t:t?t.displayName||t.name||"Component":"",fV=null,rN=null,BQ=t=>{if(t===fV&&Array.isArray(rN))return rN;var e=[];return E.Children.forEach(t,n=>{gr(n)||(oFe.isFragment(n)?e=e.concat(BQ(n.props.children)):e.push(n))}),rN=e,fV=t,e};function qO(t,e){var n=[],r=[];return Array.isArray(e)?r=e.map(i=>dV(i)):r=[dV(e)],BQ(t).forEach(i=>{var a=Ff(i,"type.displayName")||Ff(i,"type.name");a&&r.indexOf(a)!==-1&&n.push(i)}),n}var HQ=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0,iN={},hV;function lFe(){return hV||(hV=1,(function(t){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"});function e(n){if(typeof n!="object"||n==null)return!1;if(Object.getPrototypeOf(n)===null)return!0;if(Object.prototype.toString.call(n)!=="[object Object]"){const i=n[Symbol.toStringTag];return i==null||!Object.getOwnPropertyDescriptor(n,Symbol.toStringTag)?.writable?!1:n.toString()===`[object ${i}]`}let r=n;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(n)===r}t.isPlainObject=e})(iN)),iN}var aN,pV;function cFe(){return pV||(pV=1,aN=lFe().isPlainObject),aN}var uFe=cFe();const dFe=Js(uFe);function mV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function gV(t){for(var e=1;e{var a=n-r,s;return s="M ".concat(t,",").concat(e),s+="L ".concat(t+n,",").concat(e),s+="L ".concat(t+n-a/2,",").concat(e+i),s+="L ".concat(t+n-a/2-r,",").concat(e+i),s+="L ".concat(t,",").concat(e," Z"),s},mFe={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},gFe=t=>{var e=Yr(t,mFe),{x:n,y:r,upperWidth:i,lowerWidth:a,height:s,className:o}=e,{animationEasing:l,animationDuration:c,animationBegin:u,isUpdateAnimationActive:f}=e,g=E.useRef(null),[m,y]=E.useState(-1),v=E.useRef(i),b=E.useRef(a),x=E.useRef(s),M=E.useRef(n),w=E.useRef(r),A=ev(t,"trapezoid-");if(E.useEffect(()=>{if(g.current&&g.current.getTotalLength)try{var O=g.current.getTotalLength();O&&y(O)}catch{}},[]),n!==+n||r!==+r||i!==+i||a!==+a||s!==+s||i===0&&a===0||s===0)return null;var T=An("recharts-trapezoid",o);if(!f)return E.createElement("g",null,E.createElement("path",DS({},Ma(e),{className:T,d:xV(n,r,i,a,s)})));var R=v.current,N=b.current,j=x.current,C=M.current,k=w.current,F="0px ".concat(m===-1?1:m,"px"),I="".concat(m,"px 0px"),B=uY(["strokeDasharray"],c,l);return E.createElement(J0,{animationId:A,key:A,canBegin:m>0,duration:c,easing:l,isActive:f,begin:u},O=>{var H=sr(R,i,O),$=sr(N,a,O),W=sr(j,s,O),K=sr(C,n,O),Y=sr(k,r,O);g.current&&(v.current=H,b.current=$,x.current=W,M.current=K,w.current=Y);var se=O>0?{transition:B,strokeDasharray:I}:{strokeDasharray:F};return E.createElement("path",DS({},Ma(e),{className:T,d:xV(K,Y,H,$,W),ref:g,style:gV(gV({},se),e.style)}))})},xFe=["option","shapeType","propTransformer","activeClassName"];function vFe(t,e){if(t==null)return{};var n,r,i=bFe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var r=er();return(i,a)=>s=>{t?.(i,a,s),r(JZ({activeIndex:String(a),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}},KO=t=>{var e=er();return(n,r)=>i=>{t?.(n,r,i),e(UIe())}},YO=(t,e,n)=>{var r=er();return(i,a)=>s=>{t?.(i,a,s),r(FIe({activeIndex:String(a),activeDataKey:e,activeCoordinate:i.tooltipPosition,activeGraphicalItemId:n}))}};function ZO(t){var{tooltipEntrySettings:e}=t,n=er(),r=ca(),i=E.useRef(null);return E.useLayoutEffect(()=>{r||(i.current===null?n(OIe(e)):i.current!==e&&n(LIe({prev:i.current,next:e})),i.current=e)},[e,n,r]),E.useLayoutEffect(()=>()=>{i.current&&(n(IIe(i.current)),i.current=null)},[n]),null}function VQ(t){var{legendPayload:e}=t,n=er(),r=ca(),i=E.useRef(null);return E.useLayoutEffect(()=>{r||(i.current===null?n(aY(e)):i.current!==e&&n(sY({prev:i.current,next:e})),i.current=e)},[n,r,e]),E.useLayoutEffect(()=>()=>{i.current&&(n(oY(i.current)),i.current=null)},[n]),null}function AFe(t){var{legendPayload:e}=t,n=er(),r=Tt(Sn),i=E.useRef(null);return E.useLayoutEffect(()=>{r!=="centric"&&r!=="radial"||(i.current===null?n(aY(e)):i.current!==e&&n(sY({prev:i.current,next:e})),i.current=e)},[n,r,e]),E.useLayoutEffect(()=>()=>{i.current&&(n(oY(i.current)),i.current=null)},[n]),null}var sN,TFe=()=>{var[t]=E.useState(()=>h0("uid-"));return t},CFe=(sN=cne.useId)!==null&&sN!==void 0?sN:TFe;function GQ(t,e){var n=CFe();return e||(t?"".concat(t,"-").concat(n):n)}var NFe=E.createContext(void 0),QO=t=>{var{id:e,type:n,children:r}=t,i=GQ("recharts-".concat(n),e);return E.createElement(NFe.Provider,{value:i},r(i))},RFe={cartesianItems:[],polarItems:[]},WQ=Ga({name:"graphicalItems",initialState:RFe,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:cr()},replaceCartesianGraphicalItem:{reducer(t,e){var{prev:n,next:r}=e.payload,i=Mo(t).cartesianItems.indexOf(n);i>-1&&(t.cartesianItems[i]=r)},prepare:cr()},removeCartesianGraphicalItem:{reducer(t,e){var n=Mo(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:cr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:cr()},removePolarGraphicalItem:{reducer(t,e){var n=Mo(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:cr()}}}),{addCartesianGraphicalItem:PFe,replaceCartesianGraphicalItem:kFe,removeCartesianGraphicalItem:DFe,addPolarGraphicalItem:OFe,removePolarGraphicalItem:LFe}=WQ.actions,IFe=WQ.reducer,jFe=t=>{var e=er(),n=E.useRef(null);return E.useLayoutEffect(()=>{n.current===null?e(PFe(t)):n.current!==t&&e(kFe({prev:n.current,next:t})),n.current=t},[e,t]),E.useLayoutEffect(()=>()=>{n.current&&(e(DFe(n.current)),n.current=null)},[e]),null},qQ=E.memo(jFe);function UFe(t){var e=er();return E.useLayoutEffect(()=>(e(OFe(t)),()=>{e(LFe(t))}),[e,t]),null}var FFe=["key"],zFe=["onMouseEnter","onClick","onMouseLeave"],BFe=["id"],HFe=["id"];function yV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wr(t){for(var e=1;eqO(t.children,mv),[t.children]),n=Tt(r=>rFe(r,t.id,e));return n==null?null:E.createElement(AFe,{legendPayload:n})}var XFe=E.memo(t=>{var{dataKey:e,nameKey:n,sectors:r,stroke:i,strokeWidth:a,fill:s,name:o,hide:l,tooltipType:c}=t,u={dataDefinedOnItem:r.map(f=>f.tooltipPayload),positions:r.map(f=>f.tooltipPosition),settings:{stroke:i,strokeWidth:a,fill:s,dataKey:e,nameKey:n,name:Tm(o,e),hide:l,type:c,color:s,unit:""}};return E.createElement(ZO,{tooltipEntrySettings:u})}),KFe=(t,e)=>t>e?"start":tsa(typeof e=="function"?e(t):e,n,n*.8),ZFe=(t,e,n)=>{var{top:r,left:i,width:a,height:s}=e,o=mY(a,s),l=i+sa(t.cx,a,a/2),c=r+sa(t.cy,s,s/2),u=sa(t.innerRadius,o,0),f=YFe(n,t.outerRadius,o),g=t.maxRadius||Math.sqrt(a*a+s*s)/2;return{cx:l,cy:c,innerRadius:u,outerRadius:f,maxRadius:g}},QFe=(t,e)=>{var n=Ti(e-t),r=Math.min(Math.abs(e-t),360);return n*r};function JFe(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var eze=(t,e)=>{if(E.isValidElement(t))return E.cloneElement(t,e);if(typeof t=="function")return t(e);var n=An("recharts-pie-label-line",typeof t!="boolean"?t.className:""),{key:r}=e,i=gM(e,FFe);return E.createElement(Fp,sd({},i,{type:"linear",className:n}))},tze=(t,e,n)=>{if(E.isValidElement(t))return E.cloneElement(t,e);var r=n;if(typeof t=="function"&&(r=t(e),E.isValidElement(r)))return r;var i=An("recharts-pie-label-text",JFe(t));return E.createElement(hM,sd({},e,{alignmentBaseline:"middle",className:i}),r)};function nze(t){var{sectors:e,props:n,showLabels:r}=t,{label:i,labelLine:a,dataKey:s}=n;if(!r||!i||!e)return null;var o=$a(n),l=Uf(i),c=Uf(a),u=typeof i=="object"&&"offsetRadius"in i&&typeof i.offsetRadius=="number"&&i.offsetRadius||20,f=e.map((g,m)=>{var y=(g.startAngle+g.endAngle)/2,v=Gr(g.cx,g.cy,g.outerRadius+u,y),b=wr(wr(wr(wr({},o),g),{},{stroke:"none"},l),{},{index:m,textAnchor:KFe(v.x,g.cx)},v),x=wr(wr(wr(wr({},o),g),{},{fill:"none",stroke:g.fill},c),{},{index:m,points:[Gr(g.cx,g.cy,g.outerRadius,y),v],key:"line"});return E.createElement(Wa,{zIndex:Wr.label,key:"label-".concat(g.startAngle,"-").concat(g.endAngle,"-").concat(g.midAngle,"-").concat(m)},E.createElement(Or,null,a&&eze(a,x),tze(i,b,Yn(g,s))))});return E.createElement(Or,{className:"recharts-pie-labels"},f)}function rze(t){var{sectors:e,props:n,showLabels:r}=t,{label:i}=n;return typeof i=="object"&&i!=null&&"position"in i?E.createElement(VO,{label:i}):E.createElement(nze,{sectors:e,props:n,showLabels:r})}function ize(t){var{sectors:e,activeShape:n,inactiveShape:r,allOtherPieProps:i,shape:a,id:s}=t,o=Tt(ad),l=Tt(jO),c=Tt(Mje),{onMouseEnter:u,onClick:f,onMouseLeave:g}=i,m=gM(i,zFe),y=XO(u,i.dataKey,s),v=KO(g),b=YO(f,i.dataKey,s);return e==null||e.length===0?null:E.createElement(E.Fragment,null,e.map((x,M)=>{if(x?.startAngle===0&&x?.endAngle===0&&e.length!==1)return null;var w=c==null||c===s,A=String(M)===o&&(l==null||i.dataKey===l)&&w,T=o?r:null,R=n&&A?n:T,N=wr(wr({},x),{},{stroke:x.stroke,tabIndex:-1,[GK]:M,[WK]:i.dataKey});return E.createElement(Or,sd({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(M),tabIndex:-1,className:"recharts-pie-sector"},q0(m,x,M),{onMouseEnter:y(x,M),onMouseLeave:v(x,M),onClick:b(x,M)}),E.createElement($Q,sd({option:a??R,index:M,shapeType:"sector",isActive:A},N)))}))}function aze(t){var e,{pieSettings:n,displayedData:r,cells:i,offset:a}=t,{cornerRadius:s,startAngle:o,endAngle:l,dataKey:c,nameKey:u,tooltipType:f}=n,g=Math.abs(n.minAngle),m=QFe(o,l),y=Math.abs(m),v=r.length<=1?0:(e=n.paddingAngle)!==null&&e!==void 0?e:0,b=r.filter(R=>Yn(R,c,0)!==0).length,x=(y>=360?b:b-1)*v,M=y-b*g-x,w=r.reduce((R,N)=>{var j=Yn(N,c,0);return R+(At(j)?j:0)},0),A;if(w>0){var T;A=r.map((R,N)=>{var j=Yn(R,c,0),C=Yn(R,u,N),k=ZFe(n,a,R),F=(At(j)?j:0)/w,I,B=wr(wr({},R),i&&i[N]&&i[N].props);N?I=T.endAngle+Ti(m)*v*(j!==0?1:0):I=o;var O=I+Ti(m)*((j!==0?g:0)+F*M),H=(I+O)/2,$=(k.innerRadius+k.outerRadius)/2,W=[{name:C,value:j,payload:B,dataKey:c,type:f}],K=Gr(k.cx,k.cy,$,H);return T=wr(wr(wr(wr({},n.presentationProps),{},{percent:F,cornerRadius:typeof s=="string"?parseFloat(s):s,name:C,tooltipPayload:W,midAngle:H,middleRadius:$,tooltipPosition:K},B),k),{},{value:j,dataKey:c,startAngle:I,endAngle:O,payload:B,paddingAngle:Ti(m)*v}),T})}return A}function sze(t){var{showLabels:e,sectors:n,children:r}=t,i=E.useMemo(()=>!e||!n?[]:n.map(a=>({value:a.value,payload:a.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:a.cx,cy:a.cy,innerRadius:a.innerRadius,outerRadius:a.outerRadius,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},fill:a.fill})),[n,e]);return E.createElement(BUe,{value:e?i:void 0},r)}function oze(t){var{props:e,previousSectorsRef:n,id:r}=t,{sectors:i,isAnimationActive:a,animationBegin:s,animationDuration:o,animationEasing:l,activeShape:c,inactiveShape:u,onAnimationStart:f,onAnimationEnd:g}=e,m=ev(e,"recharts-pie-"),y=n.current,[v,b]=E.useState(!1),x=E.useCallback(()=>{typeof g=="function"&&g(),b(!1)},[g]),M=E.useCallback(()=>{typeof f=="function"&&f(),b(!0)},[f]);return E.createElement(sze,{showLabels:!v,sectors:i},E.createElement(J0,{animationId:m,begin:s,duration:o,isActive:a,easing:l,onAnimationStart:M,onAnimationEnd:x,key:m},w=>{var A=[],T=i&&i[0],R=T?.startAngle;return i?.forEach((N,j)=>{var C=y&&y[j],k=j>0?Ff(N,"paddingAngle",0):0;if(C){var F=sr(C.endAngle-C.startAngle,N.endAngle-N.startAngle,w),I=wr(wr({},N),{},{startAngle:R+k,endAngle:R+F+k});A.push(I),R=I.endAngle}else{var{endAngle:B,startAngle:O}=N,H=sr(0,B-O,w),$=wr(wr({},N),{},{startAngle:R+k,endAngle:R+H+k});A.push($),R=$.endAngle}}),n.current=A,E.createElement(Or,null,E.createElement(ize,{sectors:A,activeShape:c,inactiveShape:u,allOtherPieProps:e,shape:e.shape,id:r}))}),E.createElement(rze,{showLabels:!v,sectors:i,props:e}),e.children)}var lze={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:Wr.area};function cze(t){var{id:e}=t,n=gM(t,BFe),{hide:r,className:i,rootTabIndex:a}=t,s=E.useMemo(()=>qO(t.children,mv),[t.children]),o=Tt(u=>iFe(u,e,s)),l=E.useRef(null),c=An("recharts-pie",i);return r||o==null?(l.current=null,E.createElement(Or,{tabIndex:a,className:c})):E.createElement(Wa,{zIndex:t.zIndex},E.createElement(XFe,{dataKey:t.dataKey,nameKey:t.nameKey,sectors:o,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,tooltipType:t.tooltipType}),E.createElement(Or,{tabIndex:a,className:c},E.createElement(oze,{props:wr(wr({},n),{},{sectors:o}),previousSectorsRef:l,id:e})))}function XQ(t){var e=Yr(t,lze),{id:n}=e,r=gM(e,HFe),i=$a(r);return E.createElement(QO,{id:n,type:"pie"},a=>E.createElement(E.Fragment,null,E.createElement(UFe,{type:"pie",id:a,data:r.data,dataKey:r.dataKey,hide:r.hide,angleAxisId:0,radiusAxisId:0,name:r.name,nameKey:r.nameKey,tooltipType:r.tooltipType,legendType:r.legendType,fill:r.fill,cx:r.cx,cy:r.cy,startAngle:r.startAngle,endAngle:r.endAngle,paddingAngle:r.paddingAngle,minAngle:r.minAngle,innerRadius:r.innerRadius,outerRadius:r.outerRadius,cornerRadius:r.cornerRadius,presentationProps:i,maxRadius:e.maxRadius}),E.createElement(qFe,sd({},r,{id:a})),E.createElement(cze,sd({},r,{id:a}))))}XQ.displayName="Pie";var uze=["points"];function _V(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function oN(t){for(var e=1;e{var b,x,M=oN(oN(oN({r:3},s),f),{},{index:v,cx:(b=y.x)!==null&&b!==void 0?b:void 0,cy:(x=y.y)!==null&&x!==void 0?x:void 0,dataKey:a,value:y.value,payload:y.payload,points:e});return E.createElement(gze,{key:"dot-".concat(v),option:n,dotProps:M,className:i})}),m={};return o&&l!=null&&(m.clipPath="url(#clipPath-".concat(u?"":"dots-").concat(l,")")),E.createElement(Wa,{zIndex:c},E.createElement(Or,LS({className:r},m),g))}function SV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wV(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),kze=$e([Pze,Cc,Nc],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),JO=()=>Tt(kze),Dze=()=>Tt(Nje);function MV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lN(t){for(var e=1;e{var{point:e,childIndex:n,mainColor:r,activeDot:i,dataKey:a,clipPath:s}=t;if(i===!1||e.x==null||e.y==null)return null;var o={index:n,dataKey:a,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},l=lN(lN(lN({},o),Uf(i)),gD(i)),c;return E.isValidElement(i)?c=E.cloneElement(i,l):typeof i=="function"?c=i(l):c=E.createElement(IQ,l),E.createElement(Or,{className:"recharts-active-dot",clipPath:s},c)};function EV(t){var{points:e,mainColor:n,activeDot:r,itemDataKey:i,clipPath:a,zIndex:s=Wr.activeDot}=t,o=Tt(ad),l=Dze();if(e==null||l==null)return null;var c=e.find(u=>l.includes(u.payload));return gr(c)?null:E.createElement(Wa,{zIndex:s},E.createElement(jze,{point:c,childIndex:Number(o),mainColor:n,dataKey:i,activeDot:r,clipPath:a}))}var Uze="Invariant failed";function Fze(t,e){throw new Error(Uze)}var zze=["x","y"];function pP(){return pP=Object.assign?Object.assign.bind():function(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:0;return(r,i)=>{if(At(e))return e;var a=At(r)||gr(r);return a?e(r,i):(a||Fze(),n)}},Xze={},YQ=Ga({name:"errorBars",initialState:Xze,reducers:{addErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]||(t[n]=[]),t[n].push(r)},replaceErrorBar:(t,e)=>{var{itemId:n,prev:r,next:i}=e.payload;t[n]&&(t[n]=t[n].map(a=>a.dataKey===r.dataKey&&a.direction===r.direction?i:a))},removeErrorBar:(t,e)=>{var{itemId:n,errorBar:r}=e.payload;t[n]&&(t[n]=t[n].filter(i=>i.dataKey!==r.dataKey||i.direction!==r.direction))}}}),{addErrorBar:v9e,replaceErrorBar:b9e,removeErrorBar:y9e}=YQ.actions,Kze=YQ.reducer,Yze=["children"];function Zze(t,e){if(t==null)return{};var n,r,i=Qze(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r({x:0,y:0,value:0}),errorBarOffset:0},e5e=E.createContext(Jze);function t5e(t){var{children:e}=t,n=Zze(t,Yze);return E.createElement(e5e.Provider,{value:n},e)}function eL(t,e){var n,r,i=Tt(c=>Pc(c,t)),a=Tt(c=>kc(c,e)),s=(n=i?.allowDataOverflow)!==null&&n!==void 0?n:Si.allowDataOverflow,o=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:wi.allowDataOverflow,l=s||o;return{needClip:l,needClipX:s,needClipY:o}}function ZQ(t){var{xAxisId:e,yAxisId:n,clipPathId:r}=t,i=JO(),{needClipX:a,needClipY:s,needClip:o}=eL(e,n);if(!o||!i)return null;var{x:l,y:c,width:u,height:f}=i;return E.createElement("clipPath",{id:"clipPath-".concat(r)},E.createElement("rect",{x:a?l:l-u/2,y:s?c:c-f/2,width:a?u:u*2,height:s?f:f*2}))}function n5e(t,e){return t&&typeof t=="object"&&"zIndex"in t&&typeof t.zIndex=="number"&&or(t.zIndex)?t.zIndex:e}var cN={exports:{}},uN={};var TV;function r5e(){if(TV)return uN;TV=1;var t=xm();function e(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,a=t.useEffect,s=t.useMemo,o=t.useDebugValue;return uN.useSyncExternalStoreWithSelector=function(l,c,u,f,g){var m=i(null);if(m.current===null){var y={hasValue:!1,value:null};m.current=y}else y=m.current;m=s(function(){function b(T){if(!x){if(x=!0,M=T,T=f(T),g!==void 0&&y.hasValue){var R=y.value;if(g(R,T))return w=R}return w=T}if(R=w,n(M,T))return R;var N=f(T);return g!==void 0&&g(R,N)?(M=T,R):(M=T,w=N)}var x=!1,M,w,A=u===void 0?null:u;return[function(){return b(c())},A===null?void 0:function(){return b(A())}]},[c,u,f,g]);var v=r(l,m[0],m[1]);return a(function(){y.hasValue=!0,y.value=v},[v]),o(v),v},uN}var CV;function i5e(){return CV||(CV=1,cN.exports=r5e()),cN.exports}i5e();function a5e(t){t()}function s5e(){let t=null,e=null;return{clear(){t=null,e=null},notify(){a5e(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var NV={notify(){},get:()=>[]};function o5e(t,e){let n,r=NV,i=0,a=!1;function s(v){u();const b=r.subscribe(v);let x=!1;return()=>{x||(x=!0,b(),f())}}function o(){r.notify()}function l(){y.onStateChange&&y.onStateChange()}function c(){return a}function u(){i++,n||(n=t.subscribe(l),r=s5e())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=NV)}function g(){a||(a=!0,u())}function m(){a&&(a=!1,f())}const y={addNestedSub:s,notifyNestedSubs:o,handleChangeWrapper:l,isSubscribed:c,trySubscribe:g,tryUnsubscribe:m,getListeners:()=>r};return y}var l5e=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",c5e=l5e(),u5e=()=>typeof navigator<"u"&&navigator.product==="ReactNative",d5e=u5e(),f5e=()=>c5e||d5e?E.useLayoutEffect:E.useEffect,h5e=f5e();function RV(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function p5e(t,e){if(RV(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const l=o5e(i);return{store:i,subscription:l,getServerState:r?()=>r:void 0}},[i,r]),s=E.useMemo(()=>i.getState(),[i]);h5e(()=>{const{subscription:l}=a;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),s!==i.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[a,s]);const o=n||v5e;return E.createElement(o.Provider,{value:a},e)}var y5e=b5e,_5e=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle"]);function S5e(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function xM(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(_5e.has(r)){if(t[r]==null&&e[r]==null)continue;if(!p5e(t[r],e[r]))return!1}else if(!S5e(t[r],e[r]))return!1;return!0}var w5e=["onMouseEnter","onMouseLeave","onClick"],M5e=["value","background","tooltipPosition"],E5e=["id"],A5e=["onMouseEnter","onClick","onMouseLeave"];function Mc(){return Mc=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,fill:r,legendType:i,hide:a}=t;return[{inactive:a,dataKey:e,type:i,color:r,value:Tm(n,e),payload:t}]},k5e=E.memo(t=>{var{dataKey:e,stroke:n,strokeWidth:r,fill:i,name:a,hide:s,unit:o,tooltipType:l}=t,c={dataDefinedOnItem:void 0,positions:void 0,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:e,nameKey:void 0,name:Tm(a,e),hide:s,type:l,color:i,unit:o}};return E.createElement(ZO,{tooltipEntrySettings:c})});function D5e(t){var e=Tt(ad),{data:n,dataKey:r,background:i,allOtherBarProps:a}=t,{onMouseEnter:s,onMouseLeave:o,onClick:l}=a,c=jS(a,w5e),u=XO(s,r),f=KO(o),g=YO(l,r);if(!i||n==null)return null;var m=Uf(i);return E.createElement(Wa,{zIndex:n5e(i,Wr.barBackground)},n.map((y,v)=>{var{value:b,background:x,tooltipPosition:M}=y,w=jS(y,M5e);if(!x)return null;var A=u(y,v),T=f(y,v),R=g(y,v),N=ma(ma(ma(ma(ma({option:i,isActive:String(v)===e},w),{},{fill:"#eee"},x),m),q0(c,y,v)),{},{onMouseEnter:A,onMouseLeave:T,onClick:R,dataKey:r,index:v,className:"recharts-bar-background-rectangle"});return E.createElement(IS,Mc({key:"background-bar-".concat(v)},N))}))}function O5e(t){var{showLabels:e,children:n,rects:r}=t,i=r?.map(a=>{var s={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return ma(ma({},s),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:s,fill:a.fill})});return E.createElement(OQ,{value:e?i:void 0},n)}function L5e(t){var{shape:e,activeBar:n,baseProps:r,entry:i,index:a,dataKey:s}=t,o=Tt(ad),l=Tt(jO),c=n&&String(a)===o&&(l==null||s===l),u=c?n:e;return c?E.createElement(Wa,{zIndex:Wr.activeBar},E.createElement(IS,Mc({},r,{name:String(r.name)},i,{isActive:c,option:u,index:a,dataKey:s}))):E.createElement(IS,Mc({},r,{name:String(r.name)},i,{isActive:c,option:u,index:a,dataKey:s}))}function I5e(t){var{shape:e,baseProps:n,entry:r,index:i,dataKey:a}=t;return E.createElement(IS,Mc({},n,{name:String(n.name)},r,{isActive:!1,option:e,index:i,dataKey:a}))}function j5e(t){var e,{data:n,props:r}=t,i=(e=$a(r))!==null&&e!==void 0?e:{},{id:a}=i,s=jS(i,E5e),{shape:o,dataKey:l,activeBar:c}=r,{onMouseEnter:u,onClick:f,onMouseLeave:g}=r,m=jS(r,A5e),y=XO(u,l),v=KO(g),b=YO(f,l);return n?E.createElement(E.Fragment,null,n.map((x,M)=>E.createElement(Or,Mc({key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(M),className:"recharts-bar-rectangle"},q0(m,x,M),{onMouseEnter:y(x,M),onMouseLeave:v(x,M),onClick:b(x,M)}),c?E.createElement(L5e,{shape:o,activeBar:c,baseProps:s,entry:x,index:M,dataKey:l}):E.createElement(I5e,{shape:o,baseProps:s,entry:x,index:M,dataKey:l})))):null}function U5e(t){var{props:e,previousRectanglesRef:n}=t,{data:r,layout:i,isAnimationActive:a,animationBegin:s,animationDuration:o,animationEasing:l,onAnimationEnd:c,onAnimationStart:u}=e,f=n.current,g=ev(e,"recharts-bar-"),[m,y]=E.useState(!1),v=!m,b=E.useCallback(()=>{typeof c=="function"&&c(),y(!1)},[c]),x=E.useCallback(()=>{typeof u=="function"&&u(),y(!0)},[u]);return E.createElement(O5e,{showLabels:v,rects:r},E.createElement(J0,{animationId:g,begin:s,duration:o,isActive:a,easing:l,onAnimationEnd:b,onAnimationStart:x,key:g},M=>{var w=M===1?r:r?.map((A,T)=>{var R=f&&f[T];if(R)return ma(ma({},A),{},{x:sr(R.x,A.x,M),y:sr(R.y,A.y,M),width:sr(R.width,A.width,M),height:sr(R.height,A.height,M)});if(i==="horizontal"){var N=sr(0,A.height,M),j=sr(A.stackedBarStart,A.y,M);return ma(ma({},A),{},{y:j,height:N})}var C=sr(0,A.width,M),k=sr(A.stackedBarStart,A.x,M);return ma(ma({},A),{},{width:C,x:k})});return M>0&&(n.current=w??null),w==null?null:E.createElement(Or,null,E.createElement(j5e,{props:e,data:w}))}),E.createElement(VO,{label:e.label}),e.children)}function F5e(t){var e=E.useRef(null);return E.createElement(U5e,{previousRectanglesRef:e,props:t})}var QQ=0,z5e=(t,e)=>{var n=Array.isArray(t.value)?t.value[1]:t.value;return{x:t.x,y:t.y,value:n,errorVal:Yn(t,e)}};class B5e extends E.PureComponent{render(){var{hide:e,data:n,dataKey:r,className:i,xAxisId:a,yAxisId:s,needClip:o,background:l,id:c}=this.props;if(e||n==null)return null;var u=An("recharts-bar",i),f=c;return E.createElement(Or,{className:u,id:c},o&&E.createElement("defs",null,E.createElement(ZQ,{clipPathId:f,xAxisId:a,yAxisId:s})),E.createElement(Or,{className:"recharts-bar-rectangles",clipPath:o?"url(#clipPath-".concat(f,")"):void 0},E.createElement(D5e,{data:n,dataKey:r,background:l,allOtherBarProps:this.props}),E.createElement(F5e,this.props)))}}var H5e={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:QQ,xAxisId:0,yAxisId:0,zIndex:Wr.bar};function $5e(t){var{xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:s,animationBegin:o,animationDuration:l,animationEasing:c,isAnimationActive:u}=t,{needClip:f}=eL(e,n),g=Cm(),m=ca(),y=qO(t.children,mv),v=Tt(M=>xBe(M,e,n,m,t.id,y));if(g!=="vertical"&&g!=="horizontal")return null;var b,x=v?.[0];return x==null||x.height==null||x.width==null?b=0:b=g==="vertical"?x.height/2:x.width/2,E.createElement(t5e,{xAxisId:e,yAxisId:n,data:v,dataPointFormatter:z5e,errorBarOffset:b},E.createElement(B5e,Mc({},t,{layout:g,needClip:f,data:v,xAxisId:e,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:s,animationBegin:o,animationDuration:l,animationEasing:c,isAnimationActive:u})))}function V5e(t){var{layout:e,barSettings:{dataKey:n,minPointSize:r},pos:i,bandSize:a,xAxis:s,yAxis:o,xAxisTicks:l,yAxisTicks:c,stackedData:u,displayedData:f,offset:g,cells:m,parentViewBox:y,dataStartIndex:v}=t,b=e==="horizontal"?o:s,x=u?b.scale.domain():null,M=cRe({numericAxis:b}),w=b.scale(M);return f.map((A,T)=>{var R,N,j,C,k,F;u?R=iRe(u[T+v],x):(R=Yn(A,n),Array.isArray(R)||(R=[M,R]));var I=qze(r,QQ)(R[1],T);if(e==="horizontal"){var B,[O,H]=[o.scale(R[0]),o.scale(R[1])];N=q8({axis:s,ticks:l,bandSize:a,offset:i.offset,entry:A,index:T}),j=(B=H??O)!==null&&B!==void 0?B:void 0,C=i.size;var $=O-H;if(k=Ys($)?0:$,F={x:N,y:g.top,width:C,height:g.height},Math.abs(I)>0&&Math.abs(k)0&&Math.abs(C)E.createElement(E.Fragment,null,E.createElement(VQ,{legendPayload:P5e(e)}),E.createElement(k5e,{dataKey:e.dataKey,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),E.createElement(qQ,{type:"bar",id:r,data:void 0,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,dataKey:e.dataKey,stackId:$K(e.stackId),hide:e.hide,barSize:e.barSize,minPointSize:e.minPointSize,maxBarSize:e.maxBarSize,isPanorama:n}),E.createElement(Wa,{zIndex:e.zIndex},E.createElement($5e,Mc({},e,{id:r})))))}var JQ=E.memo(G5e,xM);JQ.displayName="Bar";function kV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function a_(t){for(var e=1;ee,Y5e=(t,e,n)=>n,Z5e=(t,e,n,r)=>r,Q5e=(t,e,n,r,i)=>i,gv=$e([lM,Q5e],(t,e)=>t.filter(n=>n.type==="bar").find(n=>n.id===e)),J5e=$e([gv],t=>t?.maxBarSize),eBe=(t,e,n,r,i,a)=>a,DV=(t,e,n)=>{var r=n??t;if(!gr(r))return sa(r,e,0)},tBe=$e([Sn,lM,K5e,Y5e,Z5e],(t,e,n,r,i)=>e.filter(a=>t==="horizontal"?a.xAxisId===n:a.yAxisId===r).filter(a=>a.isPanorama===i).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),nBe=(t,e,n,r)=>{var i=Sn(t);return i==="horizontal"?A0(t,"yAxis",n,r):A0(t,"xAxis",e,r)},rBe=(t,e,n)=>{var r=Sn(t);return r==="horizontal"?A$(t,"xAxis",e):A$(t,"yAxis",n)},iBe=(t,e,n)=>{var r={},i=t.filter(aM),a=t.filter(c=>c.stackId==null),s=i.reduce((c,u)=>(c[u.stackId]||(c[u.stackId]=[]),c[u.stackId].push(u),c),r),o=Object.entries(s).map(c=>{var[u,f]=c,g=f.map(y=>y.dataKey),m=DV(e,n,f[0].barSize);return{stackId:u,dataKeys:g,barSize:m}}),l=a.map(c=>{var u=[c.dataKey].filter(g=>g!=null),f=DV(e,n,c.barSize);return{stackId:void 0,dataKeys:u,barSize:f}});return[...o,...l]},aBe=$e([tBe,ALe,rBe],iBe),sBe=(t,e,n,r,i)=>{var a,s,o=gv(t,e,n,r,i);if(o!=null){var l=Sn(t),c=pZ(t),{maxBarSize:u}=o,f=gr(u)?c:u,g,m;return l==="horizontal"?(g=id(t,"xAxis",e,r),m=rd(t,"xAxis",e,r)):(g=id(t,"yAxis",n,r),m=rd(t,"yAxis",n,r)),(a=(s=dm(g,m,!0))!==null&&s!==void 0?s:f)!==null&&a!==void 0?a:0}},eJ=(t,e,n,r)=>{var i=Sn(t),a,s;return i==="horizontal"?(a=id(t,"xAxis",e,r),s=rd(t,"xAxis",e,r)):(a=id(t,"yAxis",n,r),s=rd(t,"yAxis",n,r)),dm(a,s)};function oBe(t,e,n,r,i){var a=r.length;if(!(a<1)){var s=sa(t,n,0,!0),o,l=[];if(or(r[0].barSize)){var c=!1,u=n/a,f=r.reduce((x,M)=>x+(M.barSize||0),0);f+=(a-1)*s,f>=n&&(f-=(a-1)*s,s=0),f>=n&&u>0&&(c=!0,u*=.9,f=a*u);var g=(n-f)/2>>0,m={offset:g-s,size:0};o=r.reduce((x,M)=>{var w,A={stackId:M.stackId,dataKeys:M.dataKeys,position:{offset:m.offset+m.size+s,size:c?u:(w=M.barSize)!==null&&w!==void 0?w:0}},T=[...x,A];return m=T[T.length-1].position,T},l)}else{var y=sa(e,n,0,!0);n-2*y-(a-1)*s<=0&&(s=0);var v=(n-2*y-(a-1)*s)/a;v>1&&(v>>=0);var b=or(i)?Math.min(v,i):v;o=r.reduce((x,M,w)=>[...x,{stackId:M.stackId,dataKeys:M.dataKeys,position:{offset:y+(v+s)*w+(v-b)/2,size:b}}],l)}return o}}var lBe=(t,e,n,r,i,a,s)=>{var o=gr(s)?e:s,l=oBe(n,r,i!==a?i:a,t,o);return i!==a&&l!=null&&(l=l.map(c=>a_(a_({},c),{},{position:a_(a_({},c.position),{},{offset:c.position.offset-i/2})}))),l},cBe=$e([aBe,pZ,ELe,mZ,sBe,eJ,J5e],lBe),uBe=(t,e,n,r)=>id(t,"xAxis",e,r),dBe=(t,e,n,r)=>id(t,"yAxis",n,r),fBe=(t,e,n,r)=>rd(t,"xAxis",e,r),hBe=(t,e,n,r)=>rd(t,"yAxis",n,r),pBe=$e([cBe,gv],(t,e)=>{if(!(t==null||e==null)){var n=t.find(r=>r.stackId===e.stackId&&e.dataKey!=null&&r.dataKeys.includes(e.dataKey));if(n!=null)return n.position}}),mBe=(t,e)=>{var n=iM(e);if(!(!t||n==null||e==null)){var{stackId:r}=e;if(r!=null){var i=t[r];if(i){var{stackedData:a}=i;if(a)return a.find(s=>s.key===n)}}}},gBe=$e([nBe,gv],mBe),xBe=$e([ui,TD,uBe,dBe,fBe,hBe,pBe,Sn,tM,eJ,gBe,gv,eBe],(t,e,n,r,i,a,s,o,l,c,u,f,g)=>{var{chartData:m,dataStartIndex:y,dataEndIndex:v}=l;if(!(f==null||s==null||e==null||o!=="horizontal"&&o!=="vertical"||n==null||r==null||i==null||a==null||c==null)){var{data:b}=f,x;if(b!=null&&b.length>0?x=b:x=m?.slice(y,v+1),x!=null)return V5e({layout:o,barSettings:f,pos:s,parentViewBox:e,bandSize:c,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:x,offset:t,cells:g,dataStartIndex:y})}}),tJ=t=>{var{chartData:e}=t,n=er(),r=ca();return E.useEffect(()=>r?()=>{}:(n(F$(e)),()=>{n(F$(void 0))}),[e,n,r]),null},OV={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},nJ=Ga({name:"brush",initialState:OV,reducers:{setBrushSettings(t,e){return e.payload==null?OV:e.payload}}}),{setBrushSettings:_9e}=nJ.actions,vBe=nJ.reducer;function bBe(t,e,n){return(e=yBe(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function yBe(t){var e=_Be(t,"string");return typeof e=="symbol"?e:e+""}function _Be(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class tL{static create(e){return new tL(e)}constructor(e){this.scale=e}get domain(){return this.scale.domain}get range(){return this.scale.range}get rangeMin(){return this.range()[0]}get rangeMax(){return this.range()[1]}get bandwidth(){return this.scale.bandwidth}apply(e){var{bandAware:n,position:r}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e!==void 0){if(r)switch(r){case"start":return this.scale(e);case"middle":{var i=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+i}case"end":{var a=this.bandwidth?this.bandwidth():0;return this.scale(e)+a}default:return this.scale(e)}if(n){var s=this.bandwidth?this.bandwidth()/2:0;return this.scale(e)+s}return this.scale(e)}}isInRange(e){var n=this.range(),r=n[0],i=n[n.length-1];return r<=i?e>=r&&e<=i:e>=i&&e<=r}}bBe(tL,"EPS",1e-4);function SBe(t){return(t%180+180)%180}var wBe=function(e){var{width:n,height:r}=e,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=SBe(i),s=a*Math.PI/180,o=Math.atan(r/n),l=s>o&&s{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=Mo(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=Mo(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=Mo(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),{addDot:S9e,removeDot:w9e,addArea:M9e,removeArea:E9e,addLine:A9e,removeLine:T9e}=rJ.actions,EBe=rJ.reducer,ABe=E.createContext(void 0),TBe=t=>{var{children:e}=t,[n]=E.useState("".concat(h0("recharts"),"-clip")),r=JO();if(r==null)return null;var{x:i,y:a,width:s,height:o}=r;return E.createElement(ABe.Provider,{value:n},E.createElement("defs",null,E.createElement("clipPath",{id:n},E.createElement("rect",{x:i,y:a,height:o,width:s}))),e)};function iJ(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var a=n();return t*(e-t*a/2-r)>=0&&t*(e+t*a/2-i)<=0}function RBe(t,e){return iJ(t,e+1)}function PBe(t,e,n,r,i){for(var a=(r||[]).slice(),{start:s,end:o}=e,l=0,c=1,u=s,f=function(){var y=r?.[l];if(y===void 0)return{v:iJ(r,c)};var v=l,b,x=()=>(b===void 0&&(b=n(y,v)),b),M=y.coordinate,w=l===0||US(t,M,x,u,o);w||(l=0,u=s,c+=1),w&&(u=M+t*(x()/2+i),l+=c)},g;c<=a.length;)if(g=f(),g)return g.v;return[]}function LV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function na(t){for(var e=1;e(y===void 0&&(y=n(m,g)),y);if(g===s-1){var b=t*(m.coordinate+t*v()/2-l);a[g]=m=na(na({},m),{},{tickCoord:b>0?m.coordinate-b*t:m.coordinate})}else a[g]=m=na(na({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var x=US(t,m.tickCoord,v,o,l);x&&(l=m.tickCoord-t*(v()/2+i),a[g]=na(na({},m),{},{isShow:!0}))}},u=s-1;u>=0;u--)c(u);return a}function IBe(t,e,n,r,i,a){var s=(r||[]).slice(),o=s.length,{start:l,end:c}=e;if(a){var u=r[o-1],f=n(u,o-1),g=t*(u.coordinate+t*f/2-c);if(s[o-1]=u=na(na({},u),{},{tickCoord:g>0?u.coordinate-g*t:u.coordinate}),u.tickCoord!=null){var m=US(t,u.tickCoord,()=>f,l,c);m&&(c=u.tickCoord-t*(f/2+i),s[o-1]=na(na({},u),{},{isShow:!0}))}}for(var y=a?o-1:o,v=function(M){var w=s[M],A,T=()=>(A===void 0&&(A=n(w,M)),A);if(M===0){var R=t*(w.coordinate-t*T()/2-l);s[M]=w=na(na({},w),{},{tickCoord:R<0?w.coordinate-R*t:w.coordinate})}else s[M]=w=na(na({},w),{},{tickCoord:w.coordinate});if(w.tickCoord!=null){var N=US(t,w.tickCoord,T,l,c);N&&(l=w.tickCoord+t*(T()/2+i),s[M]=na(na({},w),{},{isShow:!0}))}},b=0;b{var T=typeof c=="function"?c(w.value,A):w.value;return y==="width"?CBe(Dx(T,{fontSize:e,letterSpacing:n}),v,f):Dx(T,{fontSize:e,letterSpacing:n})[y]},x=i.length>=2?Ti(i[1].coordinate-i[0].coordinate):1,M=NBe(a,x,y);return l==="equidistantPreserveStart"?PBe(x,M,b,i,s):(l==="preserveStart"||l==="preserveStartEnd"?m=IBe(x,M,b,i,s,l==="preserveStartEnd"):m=LBe(x,M,b,i,s),m.filter(w=>w.isShow))}var jBe=t=>{var{ticks:e,label:n,labelGapWithTick:r=5,tickSize:i=0,tickMargin:a=0}=t,s=0;if(e){Array.from(e).forEach(u=>{if(u){var f=u.getBoundingClientRect();f.width>s&&(s=f.width)}});var o=n?n.getBoundingClientRect().width:0,l=i+a,c=s+l+o+(n?r:0);return Math.round(c)}return 0},UBe=["axisLine","width","height","className","hide","ticks","axisType"];function FBe(t,e){if(t==null)return{};var n,r,i=zBe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var{ticks:n=[],tick:r,tickLine:i,stroke:a,tickFormatter:s,unit:o,padding:l,tickTextProps:c,orientation:u,mirror:f,x:g,y:m,width:y,height:v,tickSize:b,tickMargin:x,fontSize:M,letterSpacing:w,getTicksConfig:A,events:T,axisType:R}=t,N=nL(Hr(Hr({},A),{},{ticks:n}),M,w),j=WBe(u,f),C=qBe(u,f),k=$a(A),F=Uf(r),I={};typeof i=="object"&&(I=i);var B=Hr(Hr({},k),{},{fill:"none"},I),O=N.map(W=>Hr({entry:W},GBe(W,g,m,y,v,u,b,f,x))),H=O.map(W=>{var{entry:K,line:Y}=W;return E.createElement(Or,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(K.value,"-").concat(K.coordinate,"-").concat(K.tickCoord)},i&&E.createElement("line",$f({},B,Y,{className:An("recharts-cartesian-axis-tick-line",Ff(i,"className"))})))}),$=O.map((W,K)=>{var{entry:Y,tick:se}=W,V=Hr(Hr(Hr(Hr({textAnchor:j,verticalAnchor:C},k),{},{stroke:"none",fill:a},F),se),{},{index:K,payload:Y,visibleTicksCount:N.length,tickFormatter:s,padding:l},c);return E.createElement(Or,$f({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},q0(T,Y,K)),r&&E.createElement(XBe,{option:r,tickProps:V,value:"".concat(typeof s=="function"?s(Y.value,K):Y.value).concat(o||"")}))});return E.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(R,"-ticks")},$.length>0&&E.createElement(Wa,{zIndex:Wr.label},E.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(R,"-tick-labels"),ref:e},$)),H.length>0&&E.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(R,"-tick-lines")},H))}),YBe=E.forwardRef((t,e)=>{var{axisLine:n,width:r,height:i,className:a,hide:s,ticks:o,axisType:l}=t,c=FBe(t,UBe),[u,f]=E.useState(""),[g,m]=E.useState(""),y=E.useRef(null);E.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var b;return jBe({ticks:y.current,label:(b=t.labelRef)===null||b===void 0?void 0:b.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var v=E.useCallback(b=>{if(b){var x=b.getElementsByClassName("recharts-cartesian-axis-tick-value");y.current=x;var M=x[0];if(M){var w=window.getComputedStyle(M),A=w.fontSize,T=w.letterSpacing;(A!==u||T!==g)&&(f(A),m(T))}}},[u,g]);return s||r!=null&&r<=0||i!=null&&i<=0?null:E.createElement(Wa,{zIndex:t.zIndex},E.createElement(Or,{className:An("recharts-cartesian-axis",a)},E.createElement(VBe,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:$a(t)}),E.createElement(KBe,{ref:v,axisType:l,events:c,fontSize:u,getTicksConfig:t,height:t.height,letterSpacing:g,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:o,unit:t.unit,width:t.width,x:t.x,y:t.y}),E.createElement(yUe,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},E.createElement(RUe,{label:t.label,labelRef:t.labelRef}),t.children)))}),rL=E.forwardRef((t,e)=>{var n=Yr(t,hc);return E.createElement(YBe,$f({},n,{ref:e}))});rL.displayName="CartesianAxis";var ZBe=["x1","y1","x2","y2","key"],QBe=["offset"],JBe=["xAxisId","yAxisId"],eHe=["xAxisId","yAxisId"];function jV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function ra(t){for(var e=1;e{var{fill:e}=t;if(!e||e==="none")return null;var{fillOpacity:n,x:r,y:i,width:a,height:s,ry:o}=t;return E.createElement("rect",{x:r,y:i,ry:o,width:a,height:s,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function aJ(t){var{option:e,lineItemProps:n}=t,r;if(E.isValidElement(e))r=E.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,{x1:a,y1:s,x2:o,y2:l,key:c}=n,u=FS(n,ZBe),f=(i=$a(u))!==null&&i!==void 0?i:{},{offset:g}=f,m=FS(f,QBe);r=E.createElement("line",cf({},m,{x1:a,y1:s,x2:o,y2:l,fill:"none",key:c}))}return r}function sHe(t){var{x:e,width:n,horizontal:r=!0,horizontalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:s}=t,o=FS(t,JBe),l=i.map((c,u)=>{var f=ra(ra({},o),{},{x1:e,y1:c,x2:e+n,y2:c,key:"line-".concat(u),index:u});return E.createElement(aJ,{key:"line-".concat(u),option:r,lineItemProps:f})});return E.createElement("g",{className:"recharts-cartesian-grid-horizontal"},l)}function oHe(t){var{y:e,height:n,vertical:r=!0,verticalPoints:i}=t;if(!r||!i||!i.length)return null;var{xAxisId:a,yAxisId:s}=t,o=FS(t,eHe),l=i.map((c,u)=>{var f=ra(ra({},o),{},{x1:c,y1:e,x2:c,y2:e+n,key:"line-".concat(u),index:u});return E.createElement(aJ,{option:r,lineItemProps:f,key:"line-".concat(u)})});return E.createElement("g",{className:"recharts-cartesian-grid-vertical"},l)}function lHe(t){var{horizontalFill:e,fillOpacity:n,x:r,y:i,width:a,height:s,horizontalPoints:o,horizontal:l=!0}=t;if(!l||!e||!e.length||o==null)return null;var c=o.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==c[0]&&c.unshift(0);var u=c.map((f,g)=>{var m=!c[g+1],y=m?i+s-f:c[g+1]-f;if(y<=0)return null;var v=g%e.length;return E.createElement("rect",{key:"react-".concat(g),y:f,x:r,height:y,width:a,stroke:"none",fill:e[v],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return E.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},u)}function cHe(t){var{vertical:e=!0,verticalFill:n,fillOpacity:r,x:i,y:a,width:s,height:o,verticalPoints:l}=t;if(!e||!n||!n.length)return null;var c=l.map(f=>Math.round(f+i-i)).sort((f,g)=>f-g);i!==c[0]&&c.unshift(0);var u=c.map((f,g)=>{var m=!c[g+1],y=m?i+s-f:c[g+1]-f;if(y<=0)return null;var v=g%n.length;return E.createElement("rect",{key:"react-".concat(g),x:f,y:a,width:y,height:o,stroke:"none",fill:n[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return E.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},u)}var uHe=(t,e)=>{var{xAxis:n,width:r,height:i,offset:a}=t;return BK(nL(ra(ra(ra({},hc),n),{},{ticks:HK(n),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,e)},dHe=(t,e)=>{var{yAxis:n,width:r,height:i,offset:a}=t;return BK(nL(ra(ra(ra({},hc),n),{},{ticks:HK(n),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,e)},fHe={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Wr.grid};function mP(t){var e=ND(),n=RD(),r=ZK(),i=ra(ra({},Yr(t,fHe)),{},{x:At(t.x)?t.x:r.left,y:At(t.y)?t.y:r.top,width:At(t.width)?t.width:r.width,height:At(t.height)?t.height:r.height}),{xAxisId:a,yAxisId:s,x:o,y:l,width:c,height:u,syncWithTicks:f,horizontalValues:g,verticalValues:m}=i,y=ca(),v=Tt(C=>T$(C,"xAxis",a,y)),b=Tt(C=>T$(C,"yAxis",s,y));if(!sl(c)||!sl(u)||!At(o)||!At(l))return null;var x=i.verticalCoordinatesGenerator||uHe,M=i.horizontalCoordinatesGenerator||dHe,{horizontalPoints:w,verticalPoints:A}=i;if((!w||!w.length)&&typeof M=="function"){var T=g&&g.length,R=M({yAxis:b?ra(ra({},b),{},{ticks:T?g:b.ticks}):void 0,width:e??c,height:n??u,offset:r},T?!0:f);uS(Array.isArray(R),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof R,"]")),Array.isArray(R)&&(w=R)}if((!A||!A.length)&&typeof x=="function"){var N=m&&m.length,j=x({xAxis:v?ra(ra({},v),{},{ticks:N?m:v.ticks}):void 0,width:e??c,height:n??u,offset:r},N?!0:f);uS(Array.isArray(j),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof j,"]")),Array.isArray(j)&&(A=j)}return E.createElement(Wa,{zIndex:i.zIndex},E.createElement("g",{className:"recharts-cartesian-grid"},E.createElement(aHe,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),E.createElement(lHe,cf({},i,{horizontalPoints:w})),E.createElement(cHe,cf({},i,{verticalPoints:A})),E.createElement(sHe,cf({},i,{offset:r,horizontalPoints:w,xAxis:v,yAxis:b})),E.createElement(oHe,cf({},i,{offset:r,verticalPoints:A,xAxis:v,yAxis:b}))))}mP.displayName="CartesianGrid";function hHe(t){var e=Uf(t),n=3,r=2;if(e!=null){var{r:i,strokeWidth:a}=e,s=Number(i),o=Number(a);return(Number.isNaN(s)||s<0)&&(s=n),(Number.isNaN(o)||o<0)&&(o=r),{r:s,strokeWidth:o}}return{r:n,strokeWidth:r}}var sJ=(t,e,n,r)=>id(t,"xAxis",e,r),oJ=(t,e,n,r)=>rd(t,"xAxis",e,r),lJ=(t,e,n,r)=>id(t,"yAxis",n,r),cJ=(t,e,n,r)=>rd(t,"yAxis",n,r),pHe=$e([Sn,sJ,lJ,oJ,cJ],(t,e,n,r,i)=>Tc(t,"xAxis")?dm(e,r,!1):dm(n,i,!1)),mHe=(t,e,n,r,i)=>i,uJ=$e([lM,mHe],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),gHe=(t,e,n,r,i)=>{var a,s=uJ(t,e,n,r,i);if(s!=null){var o=Sn(t),l=Tc(o,"xAxis"),c;if(l?c=A0(t,"yAxis",n,r):c=A0(t,"xAxis",e,r),c!=null){var{stackId:u}=s,f=iM(s);if(!(u==null||f==null)){var g=(a=c[u])===null||a===void 0?void 0:a.stackedData;return g?.find(m=>m.key===f)}}}},xHe=$e([Sn,sJ,lJ,oJ,cJ,gHe,tM,pHe,uJ,TLe],(t,e,n,r,i,a,s,o,l,c)=>{var{chartData:u,dataStartIndex:f,dataEndIndex:g}=s;if(!(l==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||o==null)){var{data:m}=l,y;if(m&&m.length>0?y=m:y=u?.slice(f,g+1),y!=null)return IHe({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:l,stackedData:a,displayedData:y,chartBaseValue:c,bandSize:o})}}),vHe=["id"],bHe=["activeDot","animationBegin","animationDuration","animationEasing","connectNulls","dot","fill","fillOpacity","hide","isAnimationActive","legendType","stroke","xAxisId","yAxisId"];function Sf(){return Sf=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var{dataKey:e,name:n,stroke:r,fill:i,legendType:a,hide:s}=t;return[{inactive:s,dataKey:e,type:a,color:zS(r,i),value:Tm(n,e),payload:t}]},EHe=E.memo(t=>{var{dataKey:e,data:n,stroke:r,strokeWidth:i,fill:a,name:s,hide:o,unit:l,tooltipType:c}=t,u={dataDefinedOnItem:n,positions:void 0,settings:{stroke:r,strokeWidth:i,fill:a,dataKey:e,nameKey:void 0,name:Tm(s,e),hide:o,type:c,color:zS(r,a),unit:l}};return E.createElement(ZO,{tooltipEntrySettings:u})});function AHe(t){var{clipPathId:e,points:n,props:r}=t,{needClip:i,dot:a,dataKey:s}=r,o=$a(r);return E.createElement(vze,{points:n,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:s,baseProps:o,needClip:i,clipPathId:e})}function THe(t){var{showLabels:e,children:n,points:r}=t,i=r.map(a=>{var s,o,l={x:(s=a.x)!==null&&s!==void 0?s:0,y:(o=a.y)!==null&&o!==void 0?o:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Cp(Cp({},l),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:l,fill:void 0})});return E.createElement(OQ,{value:e?i:void 0},n)}function FV(t){var{points:e,baseLine:n,needClip:r,clipPathId:i,props:a}=t,{layout:s,type:o,stroke:l,connectNulls:c,isRange:u}=a,{id:f}=a,g=dJ(a,vHe),m=$a(g),y=Ma(g);return E.createElement(E.Fragment,null,e?.length>1&&E.createElement(Or,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},E.createElement(Fp,Sf({},y,{id:f,points:e,connectNulls:c,type:o,baseLine:n,layout:s,stroke:"none",className:"recharts-area-area"})),l!=="none"&&E.createElement(Fp,Sf({},m,{className:"recharts-area-curve",layout:s,type:o,connectNulls:c,fill:"none",points:e})),l!=="none"&&u&&E.createElement(Fp,Sf({},m,{className:"recharts-area-curve",layout:s,type:o,connectNulls:c,fill:"none",points:n}))),E.createElement(AHe,{points:e,props:g,clipPathId:i}))}function CHe(t){var{alpha:e,baseLine:n,points:r,strokeWidth:i}=t,a=r[0].y,s=r[r.length-1].y;if(!or(a)||!or(s))return null;var o=e*Math.abs(a-s),l=Math.max(...r.map(c=>c.x||0));return At(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(c=>c.x||0),l)),At(l)?E.createElement("rect",{x:0,y:ac.y||0));return At(n)?l=Math.max(n,l):n&&Array.isArray(n)&&n.length&&(l=Math.max(...n.map(c=>c.y||0),l)),At(l)?E.createElement("rect",{x:a({points:s,baseLine:o}),[s,o]),v=ev(y,"recharts-area-"),b=GRe(),[x,M]=E.useState(!1),w=!x,A=E.useCallback(()=>{typeof m=="function"&&m(),M(!1)},[m]),T=E.useCallback(()=>{typeof g=="function"&&g(),M(!0)},[g]);if(b==null)return null;var R=i.current,N=a.current;return E.createElement(THe,{showLabels:w,points:s},r.children,E.createElement(J0,{animationId:v,begin:c,duration:u,isActive:l,easing:f,onAnimationEnd:A,onAnimationStart:T,key:v},j=>{if(R){var C=R.length/s.length,k=j===1?s:s.map((I,B)=>{var O=Math.floor(B*C);if(R[O]){var H=R[O];return Cp(Cp({},I),{},{x:sr(H.x,I.x,j),y:sr(H.y,I.y,j)})}return I}),F;return At(o)?F=sr(N,o,j):gr(o)||Ys(o)?F=sr(N,0,j):F=o.map((I,B)=>{var O=Math.floor(B*C);if(Array.isArray(N)&&N[O]){var H=N[O];return Cp(Cp({},I),{},{x:sr(H.x,I.x,j),y:sr(H.y,I.y,j)})}return I}),j>0&&(i.current=k,a.current=F),E.createElement(FV,{points:k,baseLine:F,needClip:e,clipPathId:n,props:r})}return j>0&&(i.current=s,a.current=o),E.createElement(Or,null,l&&E.createElement("defs",null,E.createElement("clipPath",{id:"animationClipPath-".concat(n)},E.createElement(RHe,{alpha:j,points:s,baseLine:o,layout:b,strokeWidth:r.strokeWidth}))),E.createElement(Or,{clipPath:"url(#animationClipPath-".concat(n,")")},E.createElement(FV,{points:s,baseLine:o,needClip:e,clipPathId:n,props:r})))}),E.createElement(VO,{label:r.label}))}function kHe(t){var{needClip:e,clipPathId:n,props:r}=t,i=E.useRef(null),a=E.useRef();return E.createElement(PHe,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:a})}class DHe extends E.PureComponent{render(){var{hide:e,dot:n,points:r,className:i,top:a,left:s,needClip:o,xAxisId:l,yAxisId:c,width:u,height:f,id:g,baseLine:m,zIndex:y}=this.props;if(e)return null;var v=An("recharts-area",i),b=g,{r:x,strokeWidth:M}=hHe(n),w=HQ(n),A=x*2+M,T=o?"url(#clipPath-".concat(w?"":"dots-").concat(b,")"):void 0;return E.createElement(Wa,{zIndex:y},E.createElement(Or,{className:v},o&&E.createElement("defs",null,E.createElement(ZQ,{clipPathId:b,xAxisId:l,yAxisId:c}),!w&&E.createElement("clipPath",{id:"clipPath-dots-".concat(b)},E.createElement("rect",{x:s-A/2,y:a-A/2,width:u+A,height:f+A}))),E.createElement(kHe,{needClip:o,clipPathId:b,props:this.props})),E.createElement(EV,{points:r,mainColor:zS(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&E.createElement(EV,{points:m,mainColor:zS(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}}var fJ={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,xAxisId:0,yAxisId:0,zIndex:Wr.area};function OHe(t){var e,n=Yr(t,fJ),{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:s,connectNulls:o,dot:l,fill:c,fillOpacity:u,hide:f,isAnimationActive:g,legendType:m,stroke:y,xAxisId:v,yAxisId:b}=n,x=dJ(n,bHe),M=Cm(),w=mQ(),{needClip:A}=eL(v,b),T=ca(),{points:R,isRange:N,baseLine:j}=(e=Tt(O=>xHe(O,v,b,T,t.id)))!==null&&e!==void 0?e:{},C=JO();if(M!=="horizontal"&&M!=="vertical"||C==null||w!=="AreaChart"&&w!=="ComposedChart")return null;var{height:k,width:F,x:I,y:B}=C;return!R||!R.length?null:E.createElement(DHe,Sf({},x,{activeDot:r,animationBegin:i,animationDuration:a,animationEasing:s,baseLine:j,connectNulls:o,dot:l,fill:c,fillOpacity:u,height:k,hide:f,layout:M,isAnimationActive:g==="auto"?!Nm.isSsr:g,isRange:N,legendType:m,needClip:A,points:R,stroke:y,width:F,left:I,top:B,xAxisId:v,yAxisId:b}))}var LHe=(t,e,n,r,i)=>{var a=n??e;if(At(a))return a;var s=t==="horizontal"?i:r,o=s.scale.domain();if(s.type==="number"){var l=Math.max(o[0],o[1]),c=Math.min(o[0],o[1]);return a==="dataMin"?c:a==="dataMax"||l<0?l:Math.max(Math.min(o[0],o[1]),0)}return a==="dataMin"?o[0]:a==="dataMax"?o[1]:o[0]};function IHe(t){var{areaSettings:{connectNulls:e,baseValue:n,dataKey:r},stackedData:i,layout:a,chartBaseValue:s,xAxis:o,yAxis:l,displayedData:c,dataStartIndex:u,xAxisTicks:f,yAxisTicks:g,bandSize:m}=t,y=i&&i.length,v=LHe(a,s,n,o,l),b=a==="horizontal",x=!1,M=c.map((A,T)=>{var R;y?R=i[u+T]:(R=Yn(A,r),Array.isArray(R)?x=!0:R=[v,R]);var N=R[1]==null||y&&!e&&Yn(A,r)==null;return b?{x:W8({axis:o,ticks:f,bandSize:m,entry:A,index:T}),y:N?null:l.scale(R[1]),value:R,payload:A}:{x:N?null:o.scale(R[1]),y:W8({axis:l,ticks:g,bandSize:m,entry:A,index:T}),value:R,payload:A}}),w;return y||x?w=M.map(A=>{var T=Array.isArray(A.value)?A.value[0]:null;return b?{x:A.x,y:T!=null&&A.y!=null?l.scale(T):null,payload:A.payload}:{x:T!=null?o.scale(T):null,y:A.y,payload:A.payload}}):w=b?l.scale(v):o.scale(v),{points:M,baseLine:w,isRange:x}}function jHe(t){var e=Yr(t,fJ),n=ca();return E.createElement(QO,{id:e.id,type:"area"},r=>E.createElement(E.Fragment,null,E.createElement(VQ,{legendPayload:MHe(e)}),E.createElement(EHe,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType}),E.createElement(qQ,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:$K(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),E.createElement(OHe,Sf({},e,{id:r}))))}var hJ=E.memo(jHe,xM);hJ.displayName="Area";var UHe=["domain","range"],FHe=["domain","range"];function zV(t,e){if(t==null)return{};var n,r,i=zHe(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{n.current===null?e(wze(t)):n.current!==t&&e(Mze({prev:n.current,next:t})),n.current=t},[t,e]),E.useLayoutEffect(()=>()=>{n.current&&(e(Eze(n.current)),n.current=null)},[e]),null}var GHe=t=>{var{xAxisId:e,className:n}=t,r=Tt(TD),i=ca(),a="xAxis",s=Tt(b=>Im(b,a,e,i)),o=Tt(b=>qZ(b,a,e,i)),l=Tt(b=>$Z(b,e)),c=Tt(b=>MIe(b,e)),u=Tt(b=>MZ(b,e));if(l==null||c==null||u==null)return null;var{dangerouslySetInnerHTML:f,ticks:g}=t,m=HV(t,BHe),{id:y}=u,v=HV(u,HHe);return E.createElement(rL,gP({},m,v,{scale:s,x:c.x,y:c.y,width:l.width,height:l.height,className:An("recharts-".concat(a," ").concat(a),n),viewBox:r,ticks:o,axisType:a}))},WHe={allowDataOverflow:Si.allowDataOverflow,allowDecimals:Si.allowDecimals,allowDuplicatedCategory:Si.allowDuplicatedCategory,angle:Si.angle,axisLine:hc.axisLine,height:Si.height,hide:!1,includeHidden:Si.includeHidden,interval:Si.interval,minTickGap:Si.minTickGap,mirror:Si.mirror,orientation:Si.orientation,padding:Si.padding,reversed:Si.reversed,scale:Si.scale,tick:Si.tick,tickCount:Si.tickCount,tickLine:hc.tickLine,tickSize:hc.tickSize,type:Si.type,xAxisId:0},qHe=t=>{var e=Yr(t,WHe);return E.createElement(E.Fragment,null,E.createElement(VHe,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit}),E.createElement(GHe,e))},xP=E.memo(qHe,pJ);xP.displayName="XAxis";var XHe=["dangerouslySetInnerHTML","ticks"],KHe=["id"];function vP(){return vP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{n.current===null?e(Aze(t)):n.current!==t&&e(Tze({prev:n.current,next:t})),n.current=t},[t,e]),E.useLayoutEffect(()=>()=>{n.current&&(e(Cze(n.current)),n.current=null)},[e]),null}var QHe=t=>{var{yAxisId:e,className:n,width:r,label:i}=t,a=E.useRef(null),s=E.useRef(null),o=Tt(TD),l=ca(),c=er(),u="yAxis",f=Tt(T=>Im(T,u,e,l)),g=Tt(T=>VZ(T,e)),m=Tt(T=>AIe(T,e)),y=Tt(T=>qZ(T,u,e,l)),v=Tt(T=>EZ(T,e));if(E.useLayoutEffect(()=>{if(!(r!=="auto"||!g||$O(i)||E.isValidElement(i)||v==null)){var T=a.current;if(T){var R=T.getCalculatedWidth();Math.round(g.width)!==Math.round(R)&&c(Nze({id:e,width:R}))}}},[y,g,c,i,e,r,v]),g==null||m==null||v==null)return null;var{dangerouslySetInnerHTML:b,ticks:x}=t,M=$V(t,XHe),{id:w}=v,A=$V(v,KHe);return E.createElement(rL,vP({},M,A,{ref:a,labelRef:s,scale:f,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:g.width,height:g.height,className:An("recharts-".concat(u," ").concat(u),n),viewBox:o,ticks:y,axisType:u}))},JHe={allowDataOverflow:wi.allowDataOverflow,allowDecimals:wi.allowDecimals,allowDuplicatedCategory:wi.allowDuplicatedCategory,angle:wi.angle,axisLine:hc.axisLine,hide:!1,includeHidden:wi.includeHidden,interval:wi.interval,minTickGap:wi.minTickGap,mirror:wi.mirror,orientation:wi.orientation,padding:wi.padding,reversed:wi.reversed,scale:wi.scale,tick:wi.tick,tickCount:wi.tickCount,tickLine:hc.tickLine,tickSize:hc.tickSize,type:wi.type,width:wi.width,yAxisId:0},e8e=t=>{var e=Yr(t,JHe);return E.createElement(E.Fragment,null,E.createElement(ZHe,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter}),E.createElement(QHe,e))},bP=E.memo(e8e,pJ);bP.displayName="YAxis";var t8e=(t,e)=>e,iL=$e([t8e,Sn,SZ,fi,cQ,Dc,Bje,ui],Xje),aL=t=>{var e=t.currentTarget.getBoundingClientRect(),n=e.width/t.currentTarget.offsetWidth,r=e.height/t.currentTarget.offsetHeight;return{chartX:Math.round((t.clientX-e.left)/n),chartY:Math.round((t.clientY-e.top)/r)}},mJ=Zs("mouseClick"),gJ=Y0();gJ.startListening({actionCreator:mJ,effect:(t,e)=>{var n=t.payload,r=iL(e.getState(),aL(n));r?.activeIndex!=null&&e.dispatch(zIe({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var yP=Zs("mouseMove"),xJ=Y0(),s_=null;xJ.startListening({actionCreator:yP,effect:(t,e)=>{var n=t.payload;s_!==null&&cancelAnimationFrame(s_);var r=aL(n);s_=requestAnimationFrame(()=>{var i=e.getState(),a=PO(i,i.tooltip.settings.shared);if(a==="axis"){var s=iL(i,r);s?.activeIndex!=null?e.dispatch(tQ({activeIndex:s.activeIndex,activeDataKey:void 0,activeCoordinate:s.activeCoordinate})):e.dispatch(eQ())}s_=null})}});var VV={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},vJ=Ga({name:"rootProps",initialState:VV,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:VV.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),n8e=vJ.reducer,{updateOptions:r8e}=vJ.actions,bJ=Ga({name:"polarOptions",initialState:null,reducers:{updatePolarOptions:(t,e)=>e.payload}}),{updatePolarOptions:i8e}=bJ.actions,a8e=bJ.reducer,yJ=Zs("keyDown"),_J=Zs("focus"),sL=Y0();sL.startListening({actionCreator:yJ,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip,a=t.payload;if(!(a!=="ArrowRight"&&a!=="ArrowLeft"&&a!=="Enter")){var s=kO(i,Um(n),cv(n),hv(n)),o=s==null?-1:Number(s);if(!(!Number.isFinite(o)||o<0)){var l=Dc(n);if(a==="Enter"){var c=PS(n,"axis","hover",String(i.index));e.dispatch(lP({active:!i.active,activeIndex:i.index,activeDataKey:i.dataKey,activeCoordinate:c}));return}var u=RIe(n),f=u==="left-to-right"?1:-1,g=a==="ArrowRight"?1:-1,m=o+g*f;if(!(l==null||m>=l.length||m<0)){var y=PS(n,"axis","hover",String(m));e.dispatch(lP({active:!0,activeIndex:m.toString(),activeDataKey:void 0,activeCoordinate:y}))}}}}}});sL.startListening({actionCreator:_J,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var{keyboardInteraction:i}=n.tooltip;if(!i.active&&i.index==null){var a="0",s=PS(n,"axis","hover",String(a));e.dispatch(lP({activeDataKey:void 0,active:!0,activeIndex:a,activeCoordinate:s}))}}}});var Ps=Zs("externalEvent"),SJ=Y0(),dN=new Map;SJ.startListening({actionCreator:Ps,effect:(t,e)=>{var{handler:n,reactEvent:r}=t.payload;if(n!=null){r.persist();var i=r.type,a=dN.get(i);a!==void 0&&cancelAnimationFrame(a);var s=requestAnimationFrame(()=>{try{var o=e.getState(),l={activeCoordinate:Aje(o),activeDataKey:jO(o),activeIndex:ad(o),activeLabel:fQ(o),activeTooltipIndex:ad(o),isTooltipActive:Tje(o)};n(l,r)}finally{dN.delete(i)}});dN.set(i,s)}}});var s8e=$e([jm],t=>t.tooltipItemPayloads),o8e=$e([s8e,dv,(t,e,n)=>e,(t,e,n)=>n],(t,e,n,r)=>{var i=t.find(o=>o.settings.dataKey===r);if(i!=null){var{positions:a}=i;if(a!=null){var s=e(a,n);return s}}}),wJ=Zs("touchMove"),MJ=Y0();MJ.startListening({actionCreator:wJ,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){var r=e.getState(),i=PO(r,r.tooltip.settings.shared);if(i==="axis"){var a=iL(r,aL({clientX:n.touches[0].clientX,clientY:n.touches[0].clientY,currentTarget:n.currentTarget}));a?.activeIndex!=null&&e.dispatch(tQ({activeIndex:a.activeIndex,activeDataKey:void 0,activeCoordinate:a.activeCoordinate}))}else if(i==="item"){var s,o=n.touches[0];if(document.elementFromPoint==null)return;var l=document.elementFromPoint(o.clientX,o.clientY);if(!l||!l.getAttribute)return;var c=l.getAttribute(GK),u=(s=l.getAttribute(WK))!==null&&s!==void 0?s:void 0,f=o8e(e.getState(),c,u);e.dispatch(JZ({activeDataKey:u,activeIndex:c,activeCoordinate:f}))}}}});var l8e=fK({brush:vBe,cartesianAxis:Rze,chartData:E4e,errorBars:Kze,graphicalItems:IFe,layout:Q3e,legend:sPe,options:y4e,polarAxis:ZUe,polarOptions:a8e,referenceElements:EBe,rootProps:n8e,tooltip:BIe,zIndex:l4e}),c8e=function(e){return w3e({reducer:l8e,preloadedState:e,middleware:n=>{var r;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((r="es6")!==null&&r!==void 0?r:"")}).concat([gJ.middleware,xJ.middleware,sL.middleware,SJ.middleware,MJ.middleware])},enhancers:n=>{var r=n;return typeof n=="function"&&(r=n()),r.concat(TK({type:"raf"}))},devTools:Nm.devToolsEnabled})};function EJ(t){var{preloadedState:e,children:n,reduxStoreName:r}=t,i=ca(),a=E.useRef(null);if(i)return n;a.current==null&&(a.current=c8e(e));var s=vD;return E.createElement(y5e,{context:s,store:a.current},n)}function u8e(t){var{layout:e,margin:n}=t,r=er(),i=ca();return E.useEffect(()=>{i||(r(K3e(e)),r(X3e(n)))},[r,i,e,n]),null}var AJ=E.memo(u8e,xM);function TJ(t){var e=er();return E.useEffect(()=>{e(r8e(t))},[e,t]),null}function GV(t){var{zIndex:e,isPanorama:n}=t,r=n?"recharts-zindex-panorama-":"recharts-zindex-",i=GQ("".concat(r).concat(e)),a=er();return E.useLayoutEffect(()=>(a(s4e({zIndex:e,elementId:i,isPanorama:n})),()=>{a(o4e({zIndex:e,isPanorama:n}))}),[a,e,i,n]),E.createElement("g",{tabIndex:-1,id:i})}function WV(t){var{children:e,isPanorama:n}=t,r=Tt(Yje);if(!r||r.length===0)return e;var i=r.filter(s=>s<0),a=r.filter(s=>s>0);return E.createElement(E.Fragment,null,i.map(s=>E.createElement(GV,{key:s,zIndex:s,isPanorama:n})),e,a.map(s=>E.createElement(GV,{key:s,zIndex:s,isPanorama:n})))}var d8e=["children"];function f8e(t,e){if(t==null)return{};var n,r,i=h8e(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var n=ND(),r=RD(),i=cY();if(!sl(n)||!sl(r))return null;var{children:a,otherAttributes:s,title:o,desc:l}=t,c,u;return s!=null&&(typeof s.tabIndex=="number"?c=s.tabIndex:c=i?0:void 0,typeof s.role=="string"?u=s.role:u=i?"application":void 0),E.createElement(lD,BS({},s,{title:o,desc:l,role:u,tabIndex:c,width:n,height:r,style:p8e,ref:e}),a)}),g8e=t=>{var{children:e}=t,n=Tt($w);if(!n)return null;var{width:r,height:i,y:a,x:s}=n;return E.createElement(lD,{width:r,height:i,x:s,y:a},e)},qV=E.forwardRef((t,e)=>{var{children:n}=t,r=f8e(t,d8e),i=ca();return i?E.createElement(g8e,null,E.createElement(WV,{isPanorama:!0},n)):E.createElement(m8e,BS({ref:e},r),E.createElement(WV,{isPanorama:!1},n))});function x8e(){var t=er(),[e,n]=E.useState(null),r=Tt(mRe);return E.useEffect(()=>{if(e!=null){var i=e.getBoundingClientRect(),a=i.width/e.offsetWidth;or(a)&&a!==r&&t(Z3e(a))}},[e,t,r]),n}function XV(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function v8e(t){for(var e=1;e(O4e(),null);function HS(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var w8e=E.forwardRef((t,e)=>{var n,r,i=E.useRef(null),[a,s]=E.useState({containerWidth:HS((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:HS((r=t.style)===null||r===void 0?void 0:r.height)}),o=E.useCallback((c,u)=>{s(f=>{var g=Math.round(c),m=Math.round(u);return f.containerWidth===g&&f.containerHeight===m?f:{containerWidth:g,containerHeight:m}})},[]),l=E.useCallback(c=>{if(typeof e=="function"&&e(c),c!=null&&typeof ResizeObserver<"u"){var{width:u,height:f}=c.getBoundingClientRect();o(u,f);var g=y=>{var{width:v,height:b}=y[0].contentRect;o(v,b)},m=new ResizeObserver(g);m.observe(c),i.current=m}},[e,o]);return E.useEffect(()=>()=>{var c=i.current;c?.disconnect()},[o]),E.createElement(E.Fragment,null,E.createElement(Gw,{width:a.containerWidth,height:a.containerHeight}),E.createElement("div",Vf({ref:l},t)))}),M8e=E.forwardRef((t,e)=>{var{width:n,height:r}=t,[i,a]=E.useState({containerWidth:HS(n),containerHeight:HS(r)}),s=E.useCallback((l,c)=>{a(u=>{var f=Math.round(l),g=Math.round(c);return u.containerWidth===f&&u.containerHeight===g?u:{containerWidth:f,containerHeight:g}})},[]),o=E.useCallback(l=>{if(typeof e=="function"&&e(l),l!=null){var{width:c,height:u}=l.getBoundingClientRect();s(c,u)}},[e,s]);return E.createElement(E.Fragment,null,E.createElement(Gw,{width:i.containerWidth,height:i.containerHeight}),E.createElement("div",Vf({ref:o},t)))}),E8e=E.forwardRef((t,e)=>{var{width:n,height:r}=t;return E.createElement(E.Fragment,null,E.createElement(Gw,{width:n,height:r}),E.createElement("div",Vf({ref:e},t)))}),A8e=E.forwardRef((t,e)=>{var{width:n,height:r}=t;return vc(n)||vc(r)?E.createElement(M8e,Vf({},t,{ref:e})):E.createElement(E8e,Vf({},t,{ref:e}))});function T8e(t){return t===!0?w8e:A8e}var C8e=E.forwardRef((t,e)=>{var{children:n,className:r,height:i,onClick:a,onContextMenu:s,onDoubleClick:o,onMouseDown:l,onMouseEnter:c,onMouseLeave:u,onMouseMove:f,onMouseUp:g,onTouchEnd:m,onTouchMove:y,onTouchStart:v,style:b,width:x,responsive:M,dispatchTouchEvents:w=!0}=t,A=E.useRef(null),T=er(),[R,N]=E.useState(null),[j,C]=E.useState(null),k=x8e(),F=CD(),I=F?.width>0?F.width:x,B=F?.height>0?F.height:i,O=E.useCallback(he=>{k(he),typeof e=="function"&&e(he),N(he),C(he),he!=null&&(A.current=he)},[k,e,N,C]),H=E.useCallback(he=>{T(mJ(he)),T(Ps({handler:a,reactEvent:he}))},[T,a]),$=E.useCallback(he=>{T(yP(he)),T(Ps({handler:c,reactEvent:he}))},[T,c]),W=E.useCallback(he=>{T(eQ()),T(Ps({handler:u,reactEvent:he}))},[T,u]),K=E.useCallback(he=>{T(yP(he)),T(Ps({handler:f,reactEvent:he}))},[T,f]),Y=E.useCallback(()=>{T(_J())},[T]),se=E.useCallback(he=>{T(yJ(he.key))},[T]),V=E.useCallback(he=>{T(Ps({handler:s,reactEvent:he}))},[T,s]),X=E.useCallback(he=>{T(Ps({handler:o,reactEvent:he}))},[T,o]),ae=E.useCallback(he=>{T(Ps({handler:l,reactEvent:he}))},[T,l]),ce=E.useCallback(he=>{T(Ps({handler:g,reactEvent:he}))},[T,g]),ve=E.useCallback(he=>{T(Ps({handler:v,reactEvent:he}))},[T,v]),te=E.useCallback(he=>{w&&T(wJ(he)),T(Ps({handler:y,reactEvent:he}))},[T,w,y]),xe=E.useCallback(he=>{T(Ps({handler:m,reactEvent:he}))},[T,m]),Re=T8e(M);return E.createElement(yQ.Provider,{value:R},E.createElement(CX.Provider,{value:j},E.createElement(Re,{width:I??b?.width,height:B??b?.height,className:An("recharts-wrapper",r),style:v8e({position:"relative",cursor:"default",width:I,height:B},b),onClick:H,onContextMenu:V,onDoubleClick:X,onFocus:Y,onKeyDown:se,onMouseDown:ae,onMouseEnter:$,onMouseLeave:W,onMouseMove:K,onMouseUp:ce,onTouchEnd:xe,onTouchMove:te,onTouchStart:ve,ref:O},E.createElement(S8e,null),n)))}),N8e=["width","height","responsive","children","className","style","compact","title","desc"];function R8e(t,e){if(t==null)return{};var n,r,i=P8e(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r{var{width:n,height:r,responsive:i,children:a,className:s,style:o,compact:l,title:c,desc:u}=t,f=R8e(t,N8e),g=$a(f);return l?E.createElement(E.Fragment,null,E.createElement(Gw,{width:n,height:r}),E.createElement(qV,{otherAttributes:g,title:c,desc:u},a)):E.createElement(C8e,{className:s,style:o,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},E.createElement(qV,{otherAttributes:g,title:c,desc:u,ref:e},E.createElement(TBe,null,a)))});function _P(){return _P=Object.assign?Object.assign.bind():function(t){for(var e=1;eE.createElement(NJ,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:O8e,tooltipPayloadSearcher:HO,categoricalChartProps:t,ref:e}));function I8e(t){var e=er();return E.useEffect(()=>{e(i8e(t))},[e,t]),null}var j8e=["layout"];function SP(){return SP=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Yr(t,W8e);return E.createElement(B8e,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:G8e,tooltipPayloadSearcher:HO,categoricalChartProps:n,ref:e})}),X8e=["axis"],K8e=E.forwardRef((t,e)=>E.createElement(NJ,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:X8e,tooltipPayloadSearcher:HO,categoricalChartProps:t,ref:e}));const o_=["#00ae42","#3b82f6","#f59e0b","#ef4444","#8b5cf6","#ec4899","#14b8a6","#f97316"];function Y8e(t){const e=new Date;switch(t){case"7d":return new Date(e.getTime()-10080*60*1e3);case"30d":return new Date(e.getTime()-720*60*60*1e3);case"90d":return new Date(e.getTime()-2160*60*60*1e3);case"365d":return new Date(e.getTime()-365*24*60*60*1e3);case"all":return new Date(0)}}function Z8e({archives:t,currency:e="$"}){const[n,r]=E.useState("30d"),i=E.useMemo(()=>{const g=Y8e(n);return t.filter(m=>new Date(m.completed_at||m.created_at)>=g)},[t,n]),a=E.useMemo(()=>{const g=new Map;return i.forEach(m=>{const v=new Date(m.completed_at||m.created_at).toISOString().split("T")[0],b=g.get(v)||{date:v,filament:0,cost:0,prints:0};b.filament+=m.filament_used_grams||0,b.cost+=m.cost||0,b.prints+=1,g.set(v,b)}),Array.from(g.values()).sort((m,y)=>m.date.localeCompare(y.date)).map(m=>({...m,dateLabel:new Date(m.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})}))},[i]),s=E.useMemo(()=>{if(n==="7d"||n==="30d")return a;const g=new Map;return i.forEach(m=>{const y=new Date(m.completed_at||m.created_at),v=new Date(y);v.setDate(y.getDate()-y.getDay());const b=v.toISOString().split("T")[0],x=g.get(b)||{week:b,filament:0,cost:0,prints:0};x.filament+=m.filament_used_grams||0,x.cost+=m.cost||0,x.prints+=1,g.set(b,x)}),Array.from(g.values()).sort((m,y)=>m.week.localeCompare(y.week)).map(m=>({date:m.week,dateLabel:`Week of ${new Date(m.week).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`,...m}))},[i,a,n]),o=E.useMemo(()=>{const g=new Map;return i.forEach(m=>{const v=(m.filament_type||"Unknown").split(", ");v.forEach(b=>{const x=(m.filament_used_grams||0)/v.length;g.set(b,(g.get(b)||0)+x)})}),Array.from(g.entries()).map(([m,y])=>({name:m,value:Math.round(y)})).sort((m,y)=>y.value-m.value)},[i]),l=E.useMemo(()=>{const g=new Date,m=[];for(let y=5;y>=0;y--){const v=new Date(g.getFullYear(),g.getMonth()-y,1),b=new Date(g.getFullYear(),g.getMonth()-y+1,0),x=v.toLocaleDateString("en-US",{month:"short",year:"2-digit"}),M=t.filter(w=>{const A=new Date(w.completed_at||w.created_at);return A>=v&&A<=b});m.push({month:x,filament:Math.round(M.reduce((w,A)=>w+(A.filament_used_grams||0),0)),cost:M.reduce((w,A)=>w+(A.cost||0),0),prints:M.length})}return m},[t]),c=n==="7d"||n==="30d"?a:s,u=i.reduce((g,m)=>g+(m.filament_used_grams||0),0),f=i.reduce((g,m)=>g+(m.cost||0),0);return h.jsxs("div",{className:"space-y-6",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("h3",{className:"text-lg font-semibold text-white",children:"Filament Usage Trends"}),h.jsx("div",{className:"flex gap-1 bg-bambu-dark rounded-lg p-1",children:["7d","30d","90d","365d","all"].map(g=>h.jsx("button",{onClick:()=>r(g),className:`px-3 py-1 text-sm rounded-md transition-colors ${n===g?"bg-bambu-green text-white":"text-bambu-gray hover:text-white"}`,children:g==="all"?"All":g.replace("d","D")},g))})]}),h.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Period Filament"}),h.jsxs("p",{className:"text-2xl font-bold text-white",children:[(u/1e3).toFixed(2),"kg"]}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[u.toFixed(0),"g total"]})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Period Cost"}),h.jsxs("p",{className:"text-2xl font-bold text-white",children:[e,f.toFixed(2)]}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[i.length," prints"]})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Avg per Print"}),h.jsxs("p",{className:"text-2xl font-bold text-white",children:[i.length>0?(u/i.length).toFixed(0):0,"g"]}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[e,i.length>0?(f/i.length).toFixed(2):"0.00"," avg"]})]})]}),c.length>0?h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray mb-4",children:"Usage Over Time"}),h.jsx(kC,{width:"100%",height:250,children:h.jsxs(K8e,{data:c,children:[h.jsx("defs",{children:h.jsxs("linearGradient",{id:"colorFilament",x1:"0",y1:"0",x2:"0",y2:"1",children:[h.jsx("stop",{offset:"5%",stopColor:"#00ae42",stopOpacity:.3}),h.jsx("stop",{offset:"95%",stopColor:"#00ae42",stopOpacity:0})]})}),h.jsx(mP,{strokeDasharray:"3 3",stroke:"#3d3d3d"}),h.jsx(xP,{dataKey:"dateLabel",stroke:"#9ca3af",tick:{fontSize:12},interval:"preserveStartEnd"}),h.jsx(bP,{stroke:"#9ca3af",tick:{fontSize:12},tickFormatter:g=>`${g}g`}),h.jsx(YC,{contentStyle:{backgroundColor:"#2d2d2d",border:"1px solid #3d3d3d",borderRadius:"8px"},labelStyle:{color:"#fff"},formatter:g=>[`${g.toFixed(0)}g`,"Filament"]}),h.jsx(hJ,{type:"monotone",dataKey:"filament",stroke:"#00ae42",strokeWidth:2,fillOpacity:1,fill:"url(#colorFilament)"})]})})]}):h.jsx("div",{className:"bg-bambu-dark rounded-lg p-8 text-center text-bambu-gray",children:"No data for selected time range"}),h.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray mb-4",children:"By Filament Type"}),o.length>0?h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx(kC,{width:160,height:160,children:h.jsxs(q8e,{children:[h.jsx(XQ,{data:o,cx:"50%",cy:"50%",innerRadius:40,outerRadius:70,paddingAngle:2,dataKey:"value",children:o.map((g,m)=>h.jsx(mv,{fill:o_[m%o_.length]},`cell-${m}`))}),h.jsx(YC,{contentStyle:{backgroundColor:"#2d2d2d",border:"1px solid #3d3d3d",borderRadius:"8px"},formatter:g=>[`${g}g`,"Usage"]})]})}),h.jsx("div",{className:"flex-1 space-y-2 overflow-hidden",children:o.map((g,m)=>{const y=o.reduce((b,x)=>b+x.value,0),v=y>0?(g.value/y*100).toFixed(0):0;return h.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[h.jsx("div",{className:"w-3 h-3 rounded-sm flex-shrink-0",style:{backgroundColor:o_[m%o_.length]}}),h.jsx("span",{className:"text-white truncate flex-1",children:g.name}),h.jsxs("span",{className:"text-bambu-gray flex-shrink-0",children:[v,"%"]})]},g.name)})})]}):h.jsx("div",{className:"h-[160px] flex items-center justify-center text-bambu-gray",children:"No filament data"})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-lg p-4",children:[h.jsx("h4",{className:"text-sm font-medium text-bambu-gray mb-4",children:"Monthly Comparison"}),h.jsx(kC,{width:"100%",height:200,children:h.jsxs(L8e,{data:l,children:[h.jsx(mP,{strokeDasharray:"3 3",stroke:"#3d3d3d"}),h.jsx(xP,{dataKey:"month",stroke:"#9ca3af",tick:{fontSize:12}}),h.jsx(bP,{stroke:"#9ca3af",tick:{fontSize:12},tickFormatter:g=>`${g}g`}),h.jsx(YC,{contentStyle:{backgroundColor:"#2d2d2d",border:"1px solid #3d3d3d",borderRadius:"8px"},formatter:(g,m)=>[m==="filament"?`${g}g`:m==="cost"?`${e}${g.toFixed(2)}`:g,m==="filament"?"Filament":m==="cost"?"Cost":"Prints"]}),h.jsx(lY,{}),h.jsx(JQ,{dataKey:"filament",name:"Filament (g)",fill:"#00ae42",radius:[4,4,0,0]})]})})]})]})]})}function Q8e(){for(var t=arguments.length,e=new Array(t),n=0;nr=>{e.forEach(i=>i(r))},e)}const vM=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Fm(t){const e=Object.prototype.toString.call(t);return e==="[object Window]"||e==="[object global]"}function oL(t){return"nodeType"in t}function qa(t){var e,n;return t?Fm(t)?t:oL(t)&&(e=(n=t.ownerDocument)==null?void 0:n.defaultView)!=null?e:window:window}function lL(t){const{Document:e}=qa(t);return t instanceof e}function xv(t){return Fm(t)?!1:t instanceof qa(t).HTMLElement}function PJ(t){return t instanceof qa(t).SVGElement}function zm(t){return t?Fm(t)?t.document:oL(t)?lL(t)?t:xv(t)||PJ(t)?t.ownerDocument:document:document:document}const ll=vM?E.useLayoutEffect:E.useEffect;function cL(t){const e=E.useRef(t);return ll(()=>{e.current=t}),E.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i{t.current=setInterval(r,i)},[]),n=E.useCallback(()=>{t.current!==null&&(clearInterval(t.current),t.current=null)},[]);return[e,n]}function C0(t,e){e===void 0&&(e=[t]);const n=E.useRef(t);return ll(()=>{n.current!==t&&(n.current=t)},e),n}function vv(t,e){const n=E.useRef();return E.useMemo(()=>{const r=t(n.current);return n.current=r,r},[...e])}function $S(t){const e=cL(t),n=E.useRef(null),r=E.useCallback(i=>{i!==n.current&&e?.(i,n.current),n.current=i},[]);return[n,r]}function wP(t){const e=E.useRef();return E.useEffect(()=>{e.current=t},[t]),e.current}let fN={};function bv(t,e){return E.useMemo(()=>{if(e)return e;const n=fN[t]==null?0:fN[t]+1;return fN[t]=n,t+"-"+n},[t,e])}function kJ(t){return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i{const o=Object.entries(s);for(const[l,c]of o){const u=a[l];u!=null&&(a[l]=u+t*c)}return a},{...e})}}const Bp=kJ(1),N0=kJ(-1);function e6e(t){return"clientX"in t&&"clientY"in t}function uL(t){if(!t)return!1;const{KeyboardEvent:e}=qa(t.target);return e&&t instanceof e}function t6e(t){if(!t)return!1;const{TouchEvent:e}=qa(t.target);return e&&t instanceof e}function MP(t){if(t6e(t)){if(t.touches&&t.touches.length){const{clientX:e,clientY:n}=t.touches[0];return{x:e,y:n}}else if(t.changedTouches&&t.changedTouches.length){const{clientX:e,clientY:n}=t.changedTouches[0];return{x:e,y:n}}}return e6e(t)?{x:t.clientX,y:t.clientY}:null}const R0=Object.freeze({Translate:{toString(t){if(!t)return;const{x:e,y:n}=t;return"translate3d("+(e?Math.round(e):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(t){if(!t)return;const{scaleX:e,scaleY:n}=t;return"scaleX("+e+") scaleY("+n+")"}},Transform:{toString(t){if(t)return[R0.Translate.toString(t),R0.Scale.toString(t)].join(" ")}},Transition:{toString(t){let{property:e,duration:n,easing:r}=t;return e+" "+n+"ms "+r}}}),ZV="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]";function n6e(t){return t.matches(ZV)?t:t.querySelector(ZV)}const r6e={display:"none"};function i6e(t){let{id:e,value:n}=t;return ur.createElement("div",{id:e,style:r6e},n)}function a6e(t){let{id:e,announcement:n,ariaLiveType:r="assertive"}=t;const i={position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};return ur.createElement("div",{id:e,style:i,role:"status","aria-live":r,"aria-atomic":!0},n)}function s6e(){const[t,e]=E.useState("");return{announce:E.useCallback(r=>{r!=null&&e(r)},[]),announcement:t}}const DJ=E.createContext(null);function o6e(t){const e=E.useContext(DJ);E.useEffect(()=>{if(!e)throw new Error("useDndMonitor must be used within a children of ");return e(t)},[t,e])}function l6e(){const[t]=E.useState(()=>new Set),e=E.useCallback(r=>(t.add(r),()=>t.delete(r)),[t]);return[E.useCallback(r=>{let{type:i,event:a}=r;t.forEach(s=>{var o;return(o=s[i])==null?void 0:o.call(s,a)})},[t]),e]}const c6e={draggable:` To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel. - `},u6e={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was moved over droppable area "+n.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was dropped over droppable area "+n.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};function d6e(t){let{announcements:e=u6e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=c6e}=t;const{announce:a,announcement:s}=s6e(),o=bv("DndLiveRegion"),[l,c]=E.useState(!1);if(E.useEffect(()=>{c(!0)},[]),o6e(E.useMemo(()=>({onDragStart(f){let{active:g}=f;a(e.onDragStart({active:g}))},onDragMove(f){let{active:g,over:m}=f;e.onDragMove&&a(e.onDragMove({active:g,over:m}))},onDragOver(f){let{active:g,over:m}=f;a(e.onDragOver({active:g,over:m}))},onDragEnd(f){let{active:g,over:m}=f;a(e.onDragEnd({active:g,over:m}))},onDragCancel(f){let{active:g,over:m}=f;a(e.onDragCancel({active:g,over:m}))}}),[a,e])),!l)return null;const u=ur.createElement(ur.Fragment,null,ur.createElement(i6e,{id:r,value:i.draggable}),ur.createElement(a6e,{id:o,announcement:s}));return n?Jl.createPortal(u,n):u}var ni;(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(ni||(ni={}));function VS(){}function QV(t,e){return E.useMemo(()=>({sensor:t,options:e??{}}),[t,e])}function f6e(){for(var t=arguments.length,e=new Array(t),n=0;n[...e].filter(r=>r!=null),[...e])}const Ao=Object.freeze({x:0,y:0});function OJ(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function LJ(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return n-r}function h6e(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return r-n}function JV(t){let{left:e,top:n,height:r,width:i}=t;return[{x:e,y:n},{x:e+i,y:n},{x:e,y:n+r},{x:e+i,y:n+r}]}function IJ(t,e){if(!t||t.length===0)return null;const[n]=t;return n[e]}function eG(t,e,n){return e===void 0&&(e=t.left),n===void 0&&(n=t.top),{x:e+t.width*.5,y:n+t.height*.5}}const p6e=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const i=eG(e,e.left,e.top),a=[];for(const s of r){const{id:o}=s,l=n.get(o);if(l){const c=OJ(eG(l),i);a.push({id:o,data:{droppableContainer:s,value:c}})}}return a.sort(LJ)},m6e=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const i=JV(e),a=[];for(const s of r){const{id:o}=s,l=n.get(o);if(l){const c=JV(l),u=i.reduce((g,m,y)=>g+OJ(c[y],m),0),f=Number((u/4).toFixed(4));a.push({id:o,data:{droppableContainer:s,value:f}})}}return a.sort(LJ)};function g6e(t,e){const n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),i=Math.min(e.left+e.width,t.left+t.width),a=Math.min(e.top+e.height,t.top+t.height),s=i-r,o=a-n;if(r{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const i=[];for(const a of r){const{id:s}=a,o=n.get(s);if(o){const l=g6e(o,e);l>0&&i.push({id:s,data:{droppableContainer:a,value:l}})}}return i.sort(h6e)};function v6e(t,e,n){return{...t,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function jJ(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:Ao}function b6e(t){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a({...s,top:s.top+t*o.y,bottom:s.bottom+t*o.y,left:s.left+t*o.x,right:s.right+t*o.x}),{...n})}}const y6e=b6e(1);function _6e(t){if(t.startsWith("matrix3d(")){const e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){const e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function S6e(t,e,n){const r=_6e(e);if(!r)return t;const{scaleX:i,scaleY:a,x:s,y:o}=r,l=t.left-s-(1-i)*parseFloat(n),c=t.top-o-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),u=i?t.width/i:t.width,f=a?t.height/a:t.height;return{width:u,height:f,top:c,right:l+u,bottom:c+f,left:l}}const w6e={ignoreTransform:!1};function Bm(t,e){e===void 0&&(e=w6e);let n=t.getBoundingClientRect();if(e.ignoreTransform){const{transform:c,transformOrigin:u}=qa(t).getComputedStyle(t);c&&(n=S6e(n,c,u))}const{top:r,left:i,width:a,height:s,bottom:o,right:l}=n;return{top:r,left:i,width:a,height:s,bottom:o,right:l}}function tG(t){return Bm(t,{ignoreTransform:!0})}function M6e(t){const e=t.innerWidth,n=t.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function E6e(t,e){return e===void 0&&(e=qa(t).getComputedStyle(t)),e.position==="fixed"}function A6e(t,e){e===void 0&&(e=qa(t).getComputedStyle(t));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const a=e[i];return typeof a=="string"?n.test(a):!1})}function bM(t,e){const n=[];function r(i){if(e!=null&&n.length>=e||!i)return n;if(lL(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!xv(i)||PJ(i)||n.includes(i))return n;const a=qa(t).getComputedStyle(i);return i!==t&&A6e(i,a)&&n.push(i),E6e(i,a)?n:r(i.parentNode)}return t?r(t):n}function UJ(t){const[e]=bM(t,1);return e??null}function hN(t){return!vM||!t?null:Fm(t)?t:oL(t)?lL(t)||t===zm(t).scrollingElement?window:xv(t)?t:null:null}function FJ(t){return Fm(t)?t.scrollX:t.scrollLeft}function zJ(t){return Fm(t)?t.scrollY:t.scrollTop}function EP(t){return{x:FJ(t),y:zJ(t)}}var Ei;(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(Ei||(Ei={}));function BJ(t){return!vM||!t?!1:t===document.scrollingElement}function HJ(t){const e={x:0,y:0},n=BJ(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},r={x:t.scrollWidth-n.width,y:t.scrollHeight-n.height},i=t.scrollTop<=e.y,a=t.scrollLeft<=e.x,s=t.scrollTop>=r.y,o=t.scrollLeft>=r.x;return{isTop:i,isLeft:a,isBottom:s,isRight:o,maxScroll:r,minScroll:e}}const T6e={x:.2,y:.2};function C6e(t,e,n,r,i){let{top:a,left:s,right:o,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=T6e);const{isTop:c,isBottom:u,isLeft:f,isRight:g}=HJ(t),m={x:0,y:0},y={x:0,y:0},v={height:e.height*i.y,width:e.width*i.x};return!c&&a<=e.top+v.height?(m.y=Ei.Backward,y.y=r*Math.abs((e.top+v.height-a)/v.height)):!u&&l>=e.bottom-v.height&&(m.y=Ei.Forward,y.y=r*Math.abs((e.bottom-v.height-l)/v.height)),!g&&o>=e.right-v.width?(m.x=Ei.Forward,y.x=r*Math.abs((e.right-v.width-o)/v.width)):!f&&s<=e.left+v.width&&(m.x=Ei.Backward,y.x=r*Math.abs((e.left+v.width-s)/v.width)),{direction:m,speed:y}}function N6e(t){if(t===document.scrollingElement){const{innerWidth:a,innerHeight:s}=window;return{top:0,left:0,right:a,bottom:s,width:a,height:s}}const{top:e,left:n,right:r,bottom:i}=t.getBoundingClientRect();return{top:e,left:n,right:r,bottom:i,width:t.clientWidth,height:t.clientHeight}}function $J(t){return t.reduce((e,n)=>Bp(e,EP(n)),Ao)}function R6e(t){return t.reduce((e,n)=>e+FJ(n),0)}function P6e(t){return t.reduce((e,n)=>e+zJ(n),0)}function k6e(t,e){if(e===void 0&&(e=Bm),!t)return;const{top:n,left:r,bottom:i,right:a}=e(t);UJ(t)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}const D6e=[["x",["left","right"],R6e],["y",["top","bottom"],P6e]];class dL{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=bM(n),i=$J(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[a,s,o]of D6e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const c=o(r),u=i[a]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Ox{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=e}add(e,n,r){var i;(i=this.target)==null||i.addEventListener(e,n,r),this.listeners.push([e,n,r])}}function O6e(t){const{EventTarget:e}=qa(t);return t instanceof e?t:zm(t)}function pN(t,e){const n=Math.abs(t.x),r=Math.abs(t.y);return typeof e=="number"?Math.sqrt(n**2+r**2)>e:"x"in e&&"y"in e?n>e.x&&r>e.y:"x"in e?n>e.x:"y"in e?r>e.y:!1}var js;(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(js||(js={}));function nG(t){t.preventDefault()}function L6e(t){t.stopPropagation()}var _n;(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(_n||(_n={}));const VJ={start:[_n.Space,_n.Enter],cancel:[_n.Esc],end:[_n.Space,_n.Enter,_n.Tab]},I6e=(t,e)=>{let{currentCoordinates:n}=e;switch(t.code){case _n.Right:return{...n,x:n.x+25};case _n.Left:return{...n,x:n.x-25};case _n.Down:return{...n,y:n.y+25};case _n.Up:return{...n,y:n.y-25}}};class fL{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new Ox(zm(n)),this.windowListeners=new Ox(qa(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(js.Resize,this.handleCancel),this.windowListeners.add(js.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(js.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,r=e.node.current;r&&k6e(r),n(Ao)}handleKeyDown(e){if(uL(e)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:a=VJ,coordinateGetter:s=I6e,scrollBehavior:o="smooth"}=i,{code:l}=e;if(a.end.includes(l)){this.handleEnd(e);return}if(a.cancel.includes(l)){this.handleCancel(e);return}const{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:Ao;this.referenceCoordinates||(this.referenceCoordinates=u);const f=s(e,{active:n,context:r.current,currentCoordinates:u});if(f){const g=N0(f,u),m={x:0,y:0},{scrollableAncestors:y}=r.current;for(const v of y){const b=e.code,{isTop:x,isRight:M,isLeft:w,isBottom:A,maxScroll:T,minScroll:R}=HJ(v),N=N6e(v),j={x:Math.min(b===_n.Right?N.right-N.width/2:N.right,Math.max(b===_n.Right?N.left:N.left+N.width/2,f.x)),y:Math.min(b===_n.Down?N.bottom-N.height/2:N.bottom,Math.max(b===_n.Down?N.top:N.top+N.height/2,f.y))},C=b===_n.Right&&!M||b===_n.Left&&!w,k=b===_n.Down&&!A||b===_n.Up&&!x;if(C&&j.x!==f.x){const U=v.scrollLeft+g.x,I=b===_n.Right&&U<=T.x||b===_n.Left&&U>=R.x;if(I&&!g.y){v.scrollTo({left:U,behavior:o});return}I?m.x=v.scrollLeft-U:m.x=b===_n.Right?v.scrollLeft-T.x:v.scrollLeft-R.x,m.x&&v.scrollBy({left:-m.x,behavior:o});break}else if(k&&j.y!==f.y){const U=v.scrollTop+g.y,I=b===_n.Down&&U<=T.y||b===_n.Up&&U>=R.y;if(I&&!g.x){v.scrollTo({top:U,behavior:o});return}I?m.y=v.scrollTop-U:m.y=b===_n.Down?v.scrollTop-T.y:v.scrollTop-R.y,m.y&&v.scrollBy({top:-m.y,behavior:o});break}}this.handleMove(e,Bp(N0(f,this.referenceCoordinates),m))}}}handleMove(e,n){const{onMove:r}=this.props;e.preventDefault(),r(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}fL.activators=[{eventName:"onKeyDown",handler:(t,e,n)=>{let{keyboardCodes:r=VJ,onActivation:i}=e,{active:a}=n;const{code:s}=t.nativeEvent;if(r.start.includes(s)){const o=a.activatorNode.current;return o&&t.target!==o?!1:(t.preventDefault(),i?.({event:t.nativeEvent}),!0)}return!1}}];function rG(t){return!!(t&&"distance"in t)}function iG(t){return!!(t&&"delay"in t)}class hL{constructor(e,n,r){var i;r===void 0&&(r=O6e(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:a}=e,{target:s}=a;this.props=e,this.events=n,this.document=zm(s),this.documentListeners=new Ox(this.document),this.listeners=new Ox(r),this.windowListeners=new Ox(qa(s)),this.initialCoordinates=(i=MP(a))!=null?i:Ao,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(js.Resize,this.handleCancel),this.windowListeners.add(js.DragStart,nG),this.windowListeners.add(js.VisibilityChange,this.handleCancel),this.windowListeners.add(js.ContextMenu,nG),this.documentListeners.add(js.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(iG(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(rG(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:r,onPending:i}=this.props;i(r,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(js.Click,L6e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(js.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:r,initialCoordinates:i,props:a}=this,{onMove:s,options:{activationConstraint:o}}=a;if(!i)return;const l=(n=MP(e))!=null?n:Ao,c=N0(i,l);if(!r&&o){if(rG(o)){if(o.tolerance!=null&&pN(c,o.tolerance))return this.handleCancel();if(pN(c,o.distance))return this.handleStart()}if(iG(o)&&pN(c,o.tolerance))return this.handleCancel();this.handlePending(o,c);return}e.cancelable&&e.preventDefault(),s(l)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===_n.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const j6e={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class pL extends hL{constructor(e){const{event:n}=e,r=zm(n.target);super(e,j6e,r)}}pL.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];const U6e={move:{name:"mousemove"},end:{name:"mouseup"}};var AP;(function(t){t[t.RightClick=2]="RightClick"})(AP||(AP={}));class F6e extends hL{constructor(e){super(e,U6e,zm(e.event.target))}}F6e.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return n.button===AP.RightClick?!1:(r?.({event:n}),!0)}}];const mN={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class z6e extends hL{constructor(e){super(e,mN)}static setup(){return window.addEventListener(mN.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(mN.move.name,e)};function e(){}}}z6e.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;const{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Lx;(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(Lx||(Lx={}));var GS;(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(GS||(GS={}));function B6e(t){let{acceleration:e,activator:n=Lx.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:s=5,order:o=GS.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:g}=t;const m=$6e({delta:f,disabled:!a}),[y,v]=J8e(),b=E.useRef({x:0,y:0}),x=E.useRef({x:0,y:0}),M=E.useMemo(()=>{switch(n){case Lx.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lx.DraggableRect:return i}},[n,i,l]),w=E.useRef(null),A=E.useCallback(()=>{const R=w.current;if(!R)return;const N=b.current.x*x.current.x,j=b.current.y*x.current.y;R.scrollBy(N,j)},[]),T=E.useMemo(()=>o===GS.TreeOrder?[...c].reverse():c,[o,c]);E.useEffect(()=>{if(!a||!c.length||!M){v();return}for(const R of T){if(r?.(R)===!1)continue;const N=c.indexOf(R),j=u[N];if(!j)continue;const{direction:C,speed:k}=C6e(R,j,M,e,g);for(const U of["x","y"])m[U][C[U]]||(k[U]=0,C[U]=0);if(k.x>0||k.y>0){v(),w.current=R,y(A,s),b.current=k,x.current=C;return}}b.current={x:0,y:0},x.current={x:0,y:0},v()},[e,A,r,v,a,s,JSON.stringify(M),JSON.stringify(m),y,c,T,u,JSON.stringify(g)])}const H6e={x:{[Ei.Backward]:!1,[Ei.Forward]:!1},y:{[Ei.Backward]:!1,[Ei.Forward]:!1}};function $6e(t){let{delta:e,disabled:n}=t;const r=wP(e);return vv(i=>{if(n||!r||!i)return H6e;const a={x:Math.sign(e.x-r.x),y:Math.sign(e.y-r.y)};return{x:{[Ei.Backward]:i.x[Ei.Backward]||a.x===-1,[Ei.Forward]:i.x[Ei.Forward]||a.x===1},y:{[Ei.Backward]:i.y[Ei.Backward]||a.y===-1,[Ei.Forward]:i.y[Ei.Forward]||a.y===1}}},[n,e,r])}function V6e(t,e){const n=e!=null?t.get(e):void 0,r=n?n.node.current:null;return vv(i=>{var a;return e==null?null:(a=r??i)!=null?a:null},[r,e])}function G6e(t,e){return E.useMemo(()=>t.reduce((n,r)=>{const{sensor:i}=r,a=i.activators.map(s=>({eventName:s.eventName,handler:e(s.handler,r)}));return[...n,...a]},[]),[t,e])}var P0;(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(P0||(P0={}));var TP;(function(t){t.Optimized="optimized"})(TP||(TP={}));const aG=new Map;function W6e(t,e){let{dragging:n,dependencies:r,config:i}=e;const[a,s]=E.useState(null),{frequency:o,measure:l,strategy:c}=i,u=E.useRef(t),f=b(),g=C0(f),m=E.useCallback(function(x){x===void 0&&(x=[]),!g.current&&s(M=>M===null?x:M.concat(x.filter(w=>!M.includes(w))))},[g]),y=E.useRef(null),v=vv(x=>{if(f&&!n)return aG;if(!x||x===aG||u.current!==t||a!=null){const M=new Map;for(let w of t){if(!w)continue;if(a&&a.length>0&&!a.includes(w.id)&&w.rect.current){M.set(w.id,w.rect.current);continue}const A=w.node.current,T=A?new dL(l(A),A):null;w.rect.current=T,T&&M.set(w.id,T)}return M}return x},[t,a,n,f,l]);return E.useEffect(()=>{u.current=t},[t]),E.useEffect(()=>{f||m()},[n,f]),E.useEffect(()=>{a&&a.length>0&&s(null)},[JSON.stringify(a)]),E.useEffect(()=>{f||typeof o!="number"||y.current!==null||(y.current=setTimeout(()=>{m(),y.current=null},o))},[o,f,m,...r]),{droppableRects:v,measureDroppableContainers:m,measuringScheduled:a!=null};function b(){switch(c){case P0.Always:return!1;case P0.BeforeDragging:return n;default:return!n}}}function GJ(t,e){return vv(n=>t?n||(typeof e=="function"?e(t):t):null,[e,t])}function q6e(t,e){return GJ(t,e)}function X6e(t){let{callback:e,disabled:n}=t;const r=cL(e),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:a}=window;return new a(r)},[r,n]);return E.useEffect(()=>()=>i?.disconnect(),[i]),i}function yM(t){let{callback:e,disabled:n}=t;const r=cL(e),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:a}=window;return new a(r)},[n]);return E.useEffect(()=>()=>i?.disconnect(),[i]),i}function K6e(t){return new dL(Bm(t),t)}function sG(t,e,n){e===void 0&&(e=K6e);const[r,i]=E.useState(null);function a(){i(l=>{if(!t)return null;if(t.isConnected===!1){var c;return(c=l??n)!=null?c:null}const u=e(t);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const s=X6e({callback(l){if(t)for(const c of l){const{type:u,target:f}=c;if(u==="childList"&&f instanceof HTMLElement&&f.contains(t)){a();break}}}}),o=yM({callback:a});return ll(()=>{a(),t?(o?.observe(t),s?.observe(document.body,{childList:!0,subtree:!0})):(o?.disconnect(),s?.disconnect())},[t]),r}function Y6e(t){const e=GJ(t);return jJ(t,e)}const oG=[];function Z6e(t){const e=E.useRef(t),n=vv(r=>t?r&&r!==oG&&t&&e.current&&t.parentNode===e.current.parentNode?r:bM(t):oG,[t]);return E.useEffect(()=>{e.current=t},[t]),n}function Q6e(t){const[e,n]=E.useState(null),r=E.useRef(t),i=E.useCallback(a=>{const s=hN(a.target);s&&n(o=>o?(o.set(s,EP(s)),new Map(o)):null)},[]);return E.useEffect(()=>{const a=r.current;if(t!==a){s(a);const o=t.map(l=>{const c=hN(l);return c?(c.addEventListener("scroll",i,{passive:!0}),[c,EP(c)]):null}).filter(l=>l!=null);n(o.length?new Map(o):null),r.current=t}return()=>{s(t),s(a)};function s(o){o.forEach(l=>{const c=hN(l);c?.removeEventListener("scroll",i)})}},[i,t]),E.useMemo(()=>t.length?e?Array.from(e.values()).reduce((a,s)=>Bp(a,s),Ao):$J(t):Ao,[t,e])}function lG(t,e){e===void 0&&(e=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},e),E.useEffect(()=>{const r=t!==Ao;r&&!n.current&&(n.current=t),!r&&n.current&&(n.current=null)},[t]),n.current?N0(t,n.current):Ao}function J6e(t){E.useEffect(()=>{if(!vM)return;const e=t.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of e)n?.()}},t.map(e=>{let{sensor:n}=e;return n}))}function e$e(t,e){return E.useMemo(()=>t.reduce((n,r)=>{let{eventName:i,handler:a}=r;return n[i]=s=>{a(s,e)},n},{}),[t,e])}function WJ(t){return E.useMemo(()=>t?M6e(t):null,[t])}const cG=[];function t$e(t,e){e===void 0&&(e=Bm);const[n]=t,r=WJ(n?qa(n):null),[i,a]=E.useState(cG);function s(){a(()=>t.length?t.map(l=>BJ(l)?r:new dL(e(l),l)):cG)}const o=yM({callback:s});return ll(()=>{o?.disconnect(),s(),t.forEach(l=>o?.observe(l))},[t]),i}function n$e(t){if(!t)return null;if(t.children.length>1)return t;const e=t.children[0];return xv(e)?e:t}function r$e(t){let{measure:e}=t;const[n,r]=E.useState(null),i=E.useCallback(c=>{for(const{target:u}of c)if(xv(u)){r(f=>{const g=e(u);return f?{...f,width:g.width,height:g.height}:g});break}},[e]),a=yM({callback:i}),s=E.useCallback(c=>{const u=n$e(c);a?.disconnect(),u&&a?.observe(u),r(u?e(u):null)},[e,a]),[o,l]=$S(s);return E.useMemo(()=>({nodeRef:o,rect:n,setRef:l}),[n,o,l])}const i$e=[{sensor:pL,options:{}},{sensor:fL,options:{}}],a$e={current:{}},L_={draggable:{measure:tG},droppable:{measure:tG,strategy:P0.WhileDragging,frequency:TP.Optimized},dragOverlay:{measure:Bm}};class Ix extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,r;return(n=(r=this.get(e))==null?void 0:r.node.current)!=null?n:void 0}}const s$e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ix,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:VS},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:L_,measureDroppableContainers:VS,windowRect:null,measuringScheduled:!1},o$e={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:VS,draggableNodes:new Map,over:null,measureDroppableContainers:VS},_M=E.createContext(o$e),qJ=E.createContext(s$e);function l$e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ix}}}function c$e(t,e){switch(e.type){case ni.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case ni.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case ni.DragEnd:case ni.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ni.RegisterDroppable:{const{element:n}=e,{id:r}=n,i=new Ix(t.droppable.containers);return i.set(r,n),{...t,droppable:{...t.droppable,containers:i}}}case ni.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=e,a=t.droppable.containers.get(n);if(!a||r!==a.key)return t;const s=new Ix(t.droppable.containers);return s.set(n,{...a,disabled:i}),{...t,droppable:{...t.droppable,containers:s}}}case ni.UnregisterDroppable:{const{id:n,key:r}=e,i=t.droppable.containers.get(n);if(!i||r!==i.key)return t;const a=new Ix(t.droppable.containers);return a.delete(n),{...t,droppable:{...t.droppable,containers:a}}}default:return t}}function u$e(t){let{disabled:e}=t;const{active:n,activatorEvent:r,draggableNodes:i}=E.useContext(_M),a=wP(r),s=wP(n?.id);return E.useEffect(()=>{if(!e&&!r&&a&&s!=null){if(!uL(a)||document.activeElement===a.target)return;const o=i.get(s);if(!o)return;const{activatorNode:l,node:c}=o;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(const u of[l.current,c.current]){if(!u)continue;const f=n6e(u);if(f){f.focus();break}}})}},[r,e,i,s,a]),null}function d$e(t,e){let{transform:n,...r}=e;return t!=null&&t.length?t.reduce((i,a)=>a({transform:i,...r}),n):n}function f$e(t){return E.useMemo(()=>({draggable:{...L_.draggable,...t?.draggable},droppable:{...L_.droppable,...t?.droppable},dragOverlay:{...L_.dragOverlay,...t?.dragOverlay}}),[t?.draggable,t?.droppable,t?.dragOverlay])}function h$e(t){let{activeNode:e,measure:n,initialRect:r,config:i=!0}=t;const a=E.useRef(!1),{x:s,y:o}=typeof i=="boolean"?{x:i,y:i}:i;ll(()=>{if(!s&&!o||!e){a.current=!1;return}if(a.current||!r)return;const c=e?.node.current;if(!c||c.isConnected===!1)return;const u=n(c),f=jJ(u,r);if(s||(f.x=0),o||(f.y=0),a.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const g=UJ(c);g&&g.scrollBy({top:f.y,left:f.x})}},[e,s,o,r,n])}const XJ=E.createContext({...Ao,scaleX:1,scaleY:1});var Cu;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Cu||(Cu={}));const p$e=E.memo(function(e){var n,r,i,a;let{id:s,accessibility:o,autoScroll:l=!0,children:c,sensors:u=i$e,collisionDetection:f=x6e,measuring:g,modifiers:m,...y}=e;const v=E.useReducer(c$e,void 0,l$e),[b,x]=v,[M,w]=l6e(),[A,T]=E.useState(Cu.Uninitialized),R=A===Cu.Initialized,{draggable:{active:N,nodes:j,translate:C},droppable:{containers:k}}=b,U=N!=null?j.get(N):null,I=E.useRef({initial:null,translated:null}),H=E.useMemo(()=>{var Le;return N!=null?{id:N,data:(Le=U?.data)!=null?Le:a$e,rect:I}:null},[N,U]),O=E.useRef(null),[B,V]=E.useState(null),[G,K]=E.useState(null),Y=C0(y,Object.values(y)),oe=bv("DndDescribedBy",s),$=E.useMemo(()=>k.getEnabled(),[k]),X=f$e(g),{droppableRects:ae,measureDroppableContainers:ce,measuringScheduled:xe}=W6e($,{dragging:R,dependencies:[C.x,C.y],config:X.droppable}),te=V6e(j,N),ve=E.useMemo(()=>G?MP(G):null,[G]),De=fe(),he=q6e(te,X.draggable.measure);h$e({activeNode:N!=null?j.get(N):null,config:De.layoutShiftCompensation,initialRect:he,measure:X.draggable.measure});const me=sG(te,X.draggable.measure,he),we=sG(te?te.parentElement:null),se=E.useRef({activatorEvent:null,active:null,activeNode:te,collisionRect:null,collisions:null,droppableRects:ae,draggableNodes:j,draggingNode:null,draggingNodeRect:null,droppableContainers:k,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),st=k.getNodeFor((n=se.current.over)==null?void 0:n.id),z=r$e({measure:X.dragOverlay.measure}),q=(r=z.nodeRef.current)!=null?r:te,ie=R?(i=z.rect)!=null?i:me:null,Q=!!(z.nodeRef.current&&z.rect),ee=Y6e(Q?null:me),le=WJ(q?qa(q):null),Re=Z6e(R?st??te:null),Pe=t$e(Re),ne=d$e(m,{transform:{x:C.x-ee.x,y:C.y-ee.y,scaleX:1,scaleY:1},activatorEvent:G,active:H,activeNodeRect:me,containerNodeRect:we,draggingNodeRect:ie,over:se.current.over,overlayNodeRect:z.rect,scrollableAncestors:Re,scrollableAncestorRects:Pe,windowRect:le}),F=ve?Bp(ve,C):null,L=Q6e(Re),Z=lG(L),ge=lG(L,[me]),ye=Bp(ne,Z),pe=ie?y6e(ie,ne):null,Ze=H&&pe?f({active:H,collisionRect:pe,droppableRects:ae,droppableContainers:$,pointerCoordinates:F}):null,Ie=IJ(Ze,"id"),[Xe,ot]=E.useState(null),je=Q?ne:Bp(ne,ge),ke=v6e(je,(a=Xe?.rect)!=null?a:null,me),pt=E.useRef(null),rt=E.useCallback((Le,Ee)=>{let{sensor:be,options:He}=Ee;if(O.current==null)return;const ut=j.get(O.current);if(!ut)return;const _t=Le.nativeEvent,Rt=new be({active:O.current,activeNode:ut,event:_t,options:He,context:se,onAbort(Dt){if(!j.get(Dt))return;const{onDragAbort:qn}=Y.current,pi={id:Dt};qn?.(pi),M({type:"onDragAbort",event:pi})},onPending(Dt,Rn,qn,pi){if(!j.get(Dt))return;const{onDragPending:mi}=Y.current,Pi={id:Dt,constraint:Rn,initialCoordinates:qn,offset:pi};mi?.(Pi),M({type:"onDragPending",event:Pi})},onStart(Dt){const Rn=O.current;if(Rn==null)return;const qn=j.get(Rn);if(!qn)return;const{onDragStart:pi}=Y.current,Zr={activatorEvent:_t,active:{id:Rn,data:qn.data,rect:I}};Jl.unstable_batchedUpdates(()=>{pi?.(Zr),T(Cu.Initializing),x({type:ni.DragStart,initialCoordinates:Dt,active:Rn}),M({type:"onDragStart",event:Zr}),V(pt.current),K(_t)})},onMove(Dt){x({type:ni.DragMove,coordinates:Dt})},onEnd:ln(ni.DragEnd),onCancel:ln(ni.DragCancel)});pt.current=Rt;function ln(Dt){return async function(){const{active:qn,collisions:pi,over:Zr,scrollAdjustedTranslate:mi}=se.current;let Pi=null;if(qn&&mi){const{cancelDrop:qi}=Y.current;Pi={activatorEvent:_t,active:qn,collisions:pi,delta:mi,over:Zr},Dt===ni.DragEnd&&typeof qi=="function"&&await Promise.resolve(qi(Pi))&&(Dt=ni.DragCancel)}O.current=null,Jl.unstable_batchedUpdates(()=>{x({type:Dt}),T(Cu.Uninitialized),ot(null),V(null),K(null),pt.current=null;const qi=Dt===ni.DragEnd?"onDragEnd":"onDragCancel";if(Pi){const Lr=Y.current[qi];Lr?.(Pi),M({type:qi,event:Pi})}})}}},[j]),nt=E.useCallback((Le,Ee)=>(be,He)=>{const ut=be.nativeEvent,_t=j.get(He);if(O.current!==null||!_t||ut.dndKit||ut.defaultPrevented)return;const Rt={active:_t};Le(be,Ee.options,Rt)===!0&&(ut.dndKit={capturedBy:Ee.sensor},O.current=He,rt(be,Ee))},[j,rt]),dt=G6e(u,nt);J6e(u),ll(()=>{me&&A===Cu.Initializing&&T(Cu.Initialized)},[me,A]),E.useEffect(()=>{const{onDragMove:Le}=Y.current,{active:Ee,activatorEvent:be,collisions:He,over:ut}=se.current;if(!Ee||!be)return;const _t={active:Ee,activatorEvent:be,collisions:He,delta:{x:ye.x,y:ye.y},over:ut};Jl.unstable_batchedUpdates(()=>{Le?.(_t),M({type:"onDragMove",event:_t})})},[ye.x,ye.y]),E.useEffect(()=>{const{active:Le,activatorEvent:Ee,collisions:be,droppableContainers:He,scrollAdjustedTranslate:ut}=se.current;if(!Le||O.current==null||!Ee||!ut)return;const{onDragOver:_t}=Y.current,Rt=He.get(Ie),ln=Rt&&Rt.rect.current?{id:Rt.id,rect:Rt.rect.current,data:Rt.data,disabled:Rt.disabled}:null,Dt={active:Le,activatorEvent:Ee,collisions:be,delta:{x:ut.x,y:ut.y},over:ln};Jl.unstable_batchedUpdates(()=>{ot(ln),_t?.(Dt),M({type:"onDragOver",event:Dt})})},[Ie]),ll(()=>{se.current={activatorEvent:G,active:H,activeNode:te,collisionRect:pe,collisions:Ze,droppableRects:ae,draggableNodes:j,draggingNode:q,draggingNodeRect:ie,droppableContainers:k,over:Xe,scrollableAncestors:Re,scrollAdjustedTranslate:ye},I.current={initial:ie,translated:pe}},[H,te,Ze,pe,j,q,ie,ae,k,Xe,Re,ye]),B6e({...De,delta:C,draggingRect:pe,pointerCoordinates:F,scrollableAncestors:Re,scrollableAncestorRects:Pe});const de=E.useMemo(()=>({active:H,activeNode:te,activeNodeRect:me,activatorEvent:G,collisions:Ze,containerNodeRect:we,dragOverlay:z,draggableNodes:j,droppableContainers:k,droppableRects:ae,over:Xe,measureDroppableContainers:ce,scrollableAncestors:Re,scrollableAncestorRects:Pe,measuringConfiguration:X,measuringScheduled:xe,windowRect:le}),[H,te,me,G,Ze,we,z,j,k,ae,Xe,ce,Re,Pe,X,xe,le]),it=E.useMemo(()=>({activatorEvent:G,activators:dt,active:H,activeNodeRect:me,ariaDescribedById:{draggable:oe},dispatch:x,draggableNodes:j,over:Xe,measureDroppableContainers:ce}),[G,dt,H,me,x,oe,j,Xe,ce]);return ur.createElement(DJ.Provider,{value:w},ur.createElement(_M.Provider,{value:it},ur.createElement(qJ.Provider,{value:de},ur.createElement(XJ.Provider,{value:ke},c)),ur.createElement(u$e,{disabled:o?.restoreFocus===!1})),ur.createElement(d6e,{...o,hiddenTextDescribedById:oe}));function fe(){const Le=B?.autoScrollEnabled===!1,Ee=typeof l=="object"?l.enabled===!1:l===!1,be=R&&!Le&&!Ee;return typeof l=="object"?{...l,enabled:be}:{enabled:be}}}),m$e=E.createContext(null),uG="button",g$e="Draggable";function x$e(t){let{id:e,data:n,disabled:r=!1,attributes:i}=t;const a=bv(g$e),{activators:s,activatorEvent:o,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:g}=E.useContext(_M),{role:m=uG,roleDescription:y="draggable",tabIndex:v=0}=i??{},b=l?.id===e,x=E.useContext(b?XJ:m$e),[M,w]=$S(),[A,T]=$S(),R=e$e(s,e),N=C0(n);ll(()=>(f.set(e,{id:e,key:a,node:M,activatorNode:A,data:N}),()=>{const C=f.get(e);C&&C.key===a&&f.delete(e)}),[f,e]);const j=E.useMemo(()=>({role:m,tabIndex:v,"aria-disabled":r,"aria-pressed":b&&m===uG?!0:void 0,"aria-roledescription":y,"aria-describedby":u.draggable}),[r,m,v,b,y,u.draggable]);return{active:l,activatorEvent:o,activeNodeRect:c,attributes:j,isDragging:b,listeners:r?void 0:R,node:M,over:g,setNodeRef:w,setActivatorNodeRef:T,transform:x}}function v$e(){return E.useContext(qJ)}const b$e="Droppable",y$e={timeout:25};function _$e(t){let{data:e,disabled:n=!1,id:r,resizeObserverConfig:i}=t;const a=bv(b$e),{active:s,dispatch:o,over:l,measureDroppableContainers:c}=E.useContext(_M),u=E.useRef({disabled:n}),f=E.useRef(!1),g=E.useRef(null),m=E.useRef(null),{disabled:y,updateMeasurementsFor:v,timeout:b}={...y$e,...i},x=C0(v??r),M=E.useCallback(()=>{if(!f.current){f.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{c(Array.isArray(x.current)?x.current:[x.current]),m.current=null},b)},[b]),w=yM({callback:M,disabled:y||!s}),A=E.useCallback((j,C)=>{w&&(C&&(w.unobserve(C),f.current=!1),j&&w.observe(j))},[w]),[T,R]=$S(A),N=C0(e);return E.useEffect(()=>{!w||!T.current||(w.disconnect(),f.current=!1,w.observe(T.current))},[T,w]),E.useEffect(()=>(o({type:ni.RegisterDroppable,element:{id:r,key:a,disabled:n,node:T,rect:g,data:N}}),()=>o({type:ni.UnregisterDroppable,key:a,id:r})),[r]),E.useEffect(()=>{n!==u.current.disabled&&(o({type:ni.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,o]),{active:s,rect:g,isOver:l?.id===r,node:T,over:l,setNodeRef:R}}function mL(t,e,n){const r=t.slice();return r.splice(n<0?r.length+n:n,0,r.splice(e,1)[0]),r}function S$e(t,e){return t.reduce((n,r,i)=>{const a=e.get(r);return a&&(n[i]=a),n},Array(t.length))}function l_(t){return t!==null&&t>=0}function w$e(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n{let{rects:e,activeIndex:n,overIndex:r,index:i}=t;const a=mL(e,r,n),s=e[i],o=a[i];return!o||!s?null:{x:o.left-s.left,y:o.top-s.top,scaleX:o.width/s.width,scaleY:o.height/s.height}},KJ="Sortable",YJ=ur.createContext({activeIndex:-1,containerId:KJ,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:gL,disabled:{draggable:!1,droppable:!1}});function E$e(t){let{children:e,id:n,items:r,strategy:i=gL,disabled:a=!1}=t;const{active:s,dragOverlay:o,droppableRects:l,over:c,measureDroppableContainers:u}=v$e(),f=bv(KJ,n),g=o.rect!==null,m=E.useMemo(()=>r.map(R=>typeof R=="object"&&"id"in R?R.id:R),[r]),y=s!=null,v=s?m.indexOf(s.id):-1,b=c?m.indexOf(c.id):-1,x=E.useRef(m),M=!w$e(m,x.current),w=b!==-1&&v===-1||M,A=M$e(a);ll(()=>{M&&y&&u(m)},[M,m,y,u]),E.useEffect(()=>{x.current=m},[m]);const T=E.useMemo(()=>({activeIndex:v,containerId:f,disabled:A,disableTransforms:w,items:m,overIndex:b,useDragOverlay:g,sortedRects:S$e(m,l),strategy:i}),[v,f,A.draggable,A.droppable,w,m,b,l,g,i]);return ur.createElement(YJ.Provider,{value:T},e)}const A$e=t=>{let{id:e,items:n,activeIndex:r,overIndex:i}=t;return mL(n,r,i).indexOf(e)},T$e=t=>{let{containerId:e,isSorting:n,wasDragging:r,index:i,items:a,newIndex:s,previousItems:o,previousContainerId:l,transition:c}=t;return!c||!r||o!==a&&i===s?!1:n?!0:s!==i&&e===l},C$e={duration:200,easing:"ease"},ZJ="transform",N$e=R0.Transition.toString({property:ZJ,duration:0,easing:"linear"}),R$e={roleDescription:"sortable"};function P$e(t){let{disabled:e,index:n,node:r,rect:i}=t;const[a,s]=E.useState(null),o=E.useRef(n);return ll(()=>{if(!e&&n!==o.current&&r.current){const l=i.current;if(l){const c=Bm(r.current,{ignoreTransform:!0}),u={x:l.left-c.left,y:l.top-c.top,scaleX:l.width/c.width,scaleY:l.height/c.height};(u.x||u.y)&&s(u)}}n!==o.current&&(o.current=n)},[e,n,r,i]),E.useEffect(()=>{a&&s(null)},[a]),a}function k$e(t){let{animateLayoutChanges:e=T$e,attributes:n,disabled:r,data:i,getNewIndex:a=A$e,id:s,strategy:o,resizeObserverConfig:l,transition:c=C$e}=t;const{items:u,containerId:f,activeIndex:g,disabled:m,disableTransforms:y,sortedRects:v,overIndex:b,useDragOverlay:x,strategy:M}=E.useContext(YJ),w=D$e(r,m),A=u.indexOf(s),T=E.useMemo(()=>({sortable:{containerId:f,index:A,items:u},...i}),[f,i,A,u]),R=E.useMemo(()=>u.slice(u.indexOf(s)),[u,s]),{rect:N,node:j,isOver:C,setNodeRef:k}=_$e({id:s,data:T,disabled:w.droppable,resizeObserverConfig:{updateMeasurementsFor:R,...l}}),{active:U,activatorEvent:I,activeNodeRect:H,attributes:O,setNodeRef:B,listeners:V,isDragging:G,over:K,setActivatorNodeRef:Y,transform:oe}=x$e({id:s,data:T,attributes:{...R$e,...n},disabled:w.draggable}),$=Q8e(k,B),X=!!U,ae=X&&!y&&l_(g)&&l_(b),ce=!x&&G,xe=ce&&ae?oe:null,ve=ae?xe??(o??M)({rects:v,activeNodeRect:H,activeIndex:g,overIndex:b,index:A}):null,De=l_(g)&&l_(b)?a({id:s,items:u,activeIndex:g,overIndex:b}):A,he=U?.id,me=E.useRef({activeId:he,items:u,newIndex:De,containerId:f}),we=u!==me.current.items,se=e({active:U,containerId:f,isDragging:G,isSorting:X,id:s,index:A,items:u,newIndex:me.current.newIndex,previousItems:me.current.items,previousContainerId:me.current.containerId,transition:c,wasDragging:me.current.activeId!=null}),st=P$e({disabled:!se,index:A,node:j,rect:N});return E.useEffect(()=>{X&&me.current.newIndex!==De&&(me.current.newIndex=De),f!==me.current.containerId&&(me.current.containerId=f),u!==me.current.items&&(me.current.items=u)},[X,De,f,u]),E.useEffect(()=>{if(he===me.current.activeId)return;if(he!=null&&me.current.activeId==null){me.current.activeId=he;return}const q=setTimeout(()=>{me.current.activeId=he},50);return()=>clearTimeout(q)},[he]),{active:U,activeIndex:g,attributes:O,data:T,rect:N,index:A,newIndex:De,items:u,isOver:C,isSorting:X,isDragging:G,listeners:V,node:j,overIndex:b,over:K,setNodeRef:$,setActivatorNodeRef:Y,setDroppableNodeRef:k,setDraggableNodeRef:B,transform:st??ve,transition:z()};function z(){if(st||we&&me.current.newIndex===A)return N$e;if(!(ce&&!uL(I)||!c)&&(X||se))return R0.Transition.toString({...c,property:ZJ})}}function D$e(t,e){var n,r;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(n=t?.draggable)!=null?n:e.draggable,droppable:(r=t?.droppable)!=null?r:e.droppable}}function WS(t){if(!t)return!1;const e=t.data.current;return!!(e&&"sortable"in e&&typeof e.sortable=="object"&&"containerId"in e.sortable&&"items"in e.sortable&&"index"in e.sortable)}const O$e=[_n.Down,_n.Right,_n.Up,_n.Left],L$e=(t,e)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:s,scrollableAncestors:o}}=e;if(O$e.includes(t.code)){if(t.preventDefault(),!n||!r)return;const l=[];a.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const g=i.get(f.id);if(g)switch(t.code){case _n.Down:r.topg.top&&l.push(f);break;case _n.Left:r.left>g.left&&l.push(f);break;case _n.Right:r.left1&&(u=c[1].id),u!=null){const f=a.get(n.id),g=a.get(u),m=g?i.get(g.id):null,y=g?.node.current;if(y&&m&&f&&g){const b=bM(y).some((R,N)=>o[N]!==R),x=QJ(f,g),M=I$e(f,g),w=b||!x?{x:0,y:0}:{x:M?r.width-m.width:0,y:M?r.height-m.height:0},A={x:m.left,y:m.top};return w.x&&w.y?A:N0(A,w)}}}};function QJ(t,e){return!WS(t)||!WS(e)?!1:t.data.current.sortable.containerId===e.data.current.sortable.containerId}function I$e(t,e){return!WS(t)||!WS(e)||!QJ(t,e)?!1:t.data.current.sortable.index{const b={};return t.forEach(x=>{b[x.id]=x.defaultSize||4}),b},[i,a]=E.useState(()=>{const b=localStorage.getItem(e);if(b)try{const x=JSON.parse(b);return x.sizes||(x.sizes=r()),x}catch{}return{order:t.map(x=>x.id),hidden:t.filter(x=>x.defaultVisible===!1).map(x=>x.id),sizes:r()}}),[s,o]=E.useState(!1);E.useEffect(()=>{localStorage.setItem(e,JSON.stringify(i))},[i,e]),E.useEffect(()=>{const x=t.map(M=>M.id).filter(M=>!i.order.includes(M));x.length>0&&a(M=>({...M,order:[...M.order,...x]}))},[t,i.order]);const l=f6e(QV(pL,{activationConstraint:{distance:8}}),QV(fL,{coordinateGetter:L$e})),c=b=>{const{active:x,over:M}=b;M&&x.id!==M.id&&a(w=>{const A=w.order.indexOf(x.id),T=w.order.indexOf(M.id);return{...w,order:mL(w.order,A,T)}})},u=b=>{a(x=>({...x,hidden:x.hidden.includes(b)?x.hidden.filter(M=>M!==b):[...x.hidden,b]}))},f=b=>{a(x=>{const M=x.sizes[b]||4,w=M===1?2:M===2?4:1;return{...x,sizes:{...x.sizes,[b]:w}}})},g=()=>{const b={order:t.map(x=>x.id),hidden:t.filter(x=>x.defaultVisible===!1).map(x=>x.id),sizes:r()};a(b)},m=i.order.map(b=>t.find(x=>x.id===b)).filter(Boolean),y=m.filter(b=>!i.hidden.includes(b.id)),v=m.filter(b=>i.hidden.includes(b.id));return h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-end gap-2",children:[v.length>0&&h.jsxs(ct,{variant:"secondary",size:"sm",onClick:()=>o(!s),children:[h.jsx(YU,{className:"w-4 h-4"}),v.length," Hidden"]}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:g,children:[h.jsx(nw,{className:"w-4 h-4"}),"Reset Layout"]})]}),s&&v.length>0&&h.jsxs("div",{className:"p-4 bg-bambu-dark rounded-xl border border-bambu-dark-tertiary",children:[h.jsx("p",{className:"text-sm text-bambu-gray mb-3",children:"Hidden widgets (click to show):"}),h.jsx("div",{className:"flex flex-wrap gap-2",children:v.map(b=>h.jsxs("button",{onClick:()=>u(b.id),className:"px-3 py-1.5 bg-bambu-dark-tertiary hover:bg-bambu-green/20 rounded-lg text-sm text-white transition-colors flex items-center gap-2",children:[h.jsx(YU,{className:"w-3 h-3"}),b.title]},b.id))})]}),h.jsx(p$e,{sensors:l,collisionDetection:p6e,onDragEnd:c,children:h.jsx(E$e,{items:y.map(b=>b.id),strategy:gL,children:h.jsx("div",{className:"grid gap-6",style:{gridTemplateColumns:`repeat(${n}, minmax(0, 1fr))`},children:y.map(b=>h.jsx(j$e,{id:b.id,title:b.title,isHidden:i.hidden.includes(b.id),size:i.sizes[b.id]||2,onToggleVisibility:()=>u(b.id),onToggleSize:()=>f(b.id),children:b.component},b.id))})})}),y.length===0&&h.jsxs("div",{className:"text-center py-12 text-bambu-gray",children:[h.jsx("p",{children:"All widgets are hidden."}),h.jsx(ct,{className:"mt-4",onClick:g,children:"Reset Layout"})]})]})}function F$e({stats:t,currency:e}){return h.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-bambu-green",children:h.jsx(W_,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Total Prints"}),h.jsx("p",{className:"text-xl font-bold text-white",children:t?.total_prints||0})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-blue-400",children:h.jsx(ba,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Print Time"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[t?.total_print_time_hours.toFixed(1)||0,"h"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-orange-400",children:h.jsx(W_,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Filament Used"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[((t?.total_filament_grams||0)/1e3).toFixed(2),"kg"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-green-400",children:h.jsx(KU,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Filament Cost"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[e," ",t?.total_cost.toFixed(2)||"0.00"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-yellow-400",children:h.jsx(v9,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Energy Used"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[t?.total_energy_kwh.toFixed(2)||"0.00"," kWh"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-yellow-500",children:h.jsx(KU,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Energy Cost"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[e," ",t?.total_energy_cost.toFixed(2)||"0.00"]})]})]})]})}function z$e({stats:t}){const e=t?.total_prints?Math.round(t.successful_prints/t.total_prints*100):0;return h.jsxs("div",{className:"flex items-center gap-6",children:[h.jsxs("div",{className:"relative w-28 h-28",children:[h.jsxs("svg",{className:"w-full h-full -rotate-90",children:[h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:"#3d3d3d",strokeWidth:"10"}),h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:"#00ae42",strokeWidth:"10",strokeLinecap:"round",strokeDasharray:`${e*3.02} 302`})]}),h.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:h.jsxs("span",{className:"text-xl font-bold text-white",children:[e,"%"]})})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(ld,{className:"w-4 h-4 text-bambu-green"}),h.jsx("span",{className:"text-sm text-bambu-gray",children:"Successful:"}),h.jsx("span",{className:"text-sm text-white font-medium",children:t?.successful_prints||0})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(L0,{className:"w-4 h-4 text-red-400"}),h.jsx("span",{className:"text-sm text-bambu-gray",children:"Failed:"}),h.jsx("span",{className:"text-sm text-white font-medium",children:t?.failed_prints||0})]})]})]})}function B$e({stats:t,printerMap:e}){const n=t?.average_time_accuracy;if(n==null)return h.jsx("div",{className:"flex items-center justify-center h-full",children:h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No time accuracy data yet"})});const i=(Math.min(150,Math.max(50,n))-50)/100*100,s=(l=>l>=95&&l<=105?"#00ae42":l>105?"#3b82f6":"#f97316")(n),o=n-100;return h.jsxs("div",{className:"flex items-center gap-6",children:[h.jsxs("div",{className:"relative w-28 h-28",children:[h.jsxs("svg",{className:"w-full h-full -rotate-90",children:[h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:"#3d3d3d",strokeWidth:"10"}),h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:s,strokeWidth:"10",strokeLinecap:"round",strokeDasharray:`${i*3.02} 302`})]}),h.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[h.jsxs("span",{className:"text-xl font-bold text-white",children:[n.toFixed(0),"%"]}),h.jsxs("span",{className:`text-xs ${o>=0?"text-blue-400":"text-orange-400"}`,children:[o>=0?"+":"",o.toFixed(0),"%"]})]})]}),h.jsxs("div",{className:"space-y-2 flex-1",children:[h.jsxs("div",{className:"flex items-center gap-2 text-xs text-bambu-gray",children:[h.jsx(cle,{className:"w-3 h-3"}),h.jsx("span",{children:"100% = perfect estimate"})]}),t?.time_accuracy_by_printer&&Object.keys(t.time_accuracy_by_printer).length>0&&h.jsx("div",{className:"space-y-1 mt-2",children:Object.entries(t.time_accuracy_by_printer).slice(0,3).map(([l,c])=>h.jsxs("div",{className:"flex items-center justify-between text-xs",children:[h.jsx("span",{className:"text-bambu-gray truncate max-w-[100px]",children:e.get(l)||`Printer ${l}`}),h.jsxs("span",{className:`font-medium ${c>=95&&c<=105?"text-bambu-green":c>105?"text-blue-400":"text-orange-400"}`,children:[c.toFixed(0),"%"]})]},l))})]})]})}function H$e({stats:t}){if(!t?.prints_by_filament_type||Object.keys(t.prints_by_filament_type).length===0)return h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No filament data available"});const e=Object.entries(t.prints_by_filament_type).sort(([,n],[,r])=>r-n);return h.jsx("div",{className:"space-y-3",children:e.map(([n,r])=>{const i=Math.round(r/(t.total_prints||1)*100);return h.jsxs("div",{children:[h.jsxs("div",{className:"flex justify-between text-sm mb-1",children:[h.jsx("span",{className:"text-white",children:n}),h.jsxs("span",{className:"text-bambu-gray",children:[r," prints"]})]}),h.jsx("div",{className:"h-2 bg-bambu-dark rounded-full",children:h.jsx("div",{className:"h-full bg-bambu-green rounded-full transition-all",style:{width:`${i}%`}})})]},n)})})}function $$e({printDates:t}){return h.jsx(V2e,{printDates:t,months:4})}function V$e({stats:t,printerMap:e}){return!t?.prints_by_printer||Object.keys(t.prints_by_printer).length===0?h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No printer data available"}):h.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:Object.entries(t.prints_by_printer).map(([n,r])=>h.jsxs("div",{className:"flex items-center gap-3 p-3 bg-bambu-dark rounded-lg",children:[h.jsx("div",{className:"p-2 bg-bambu-dark-tertiary rounded-lg",children:h.jsx(mc,{className:"w-4 h-4 text-bambu-green"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-white font-medium text-sm",children:e.get(n)||`Printer ${n}`}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[r," prints"]})]})]},n))})}function G$e({archives:t,currency:e}){return!t||t.length===0?h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No print data available"}):h.jsx(Z8e,{archives:t,currency:e})}function W$e(){const{data:t,isLoading:e}=Ut({queryKey:["archiveStats"],queryFn:Fe.getArchiveStats}),{data:n}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:r}=Ut({queryKey:["archives"],queryFn:()=>Fe.getArchives(void 0,1e3,0)}),{data:i}=Ut({queryKey:["settings"],queryFn:Fe.getSettings}),a=i?.currency||"$",s=new Map(n?.map(c=>[String(c.id),c.name])||[]),o=r?.map(c=>c.created_at)||[];if(e)return h.jsx("div",{className:"p-8",children:h.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading statistics..."})});const l=[{id:"quick-stats",title:"Quick Stats",component:h.jsx(F$e,{stats:t,currency:a}),defaultSize:2},{id:"success-rate",title:"Success Rate",component:h.jsx(z$e,{stats:t}),defaultSize:1},{id:"time-accuracy",title:"Time Accuracy",component:h.jsx(B$e,{stats:t,printerMap:s}),defaultSize:1},{id:"filament-types",title:"Filament Types",component:h.jsx(H$e,{stats:t}),defaultSize:1},{id:"print-activity",title:"Print Activity",component:h.jsx($$e,{printDates:o}),defaultSize:2},{id:"prints-by-printer",title:"Prints by Printer",component:h.jsx(V$e,{stats:t,printerMap:s}),defaultSize:2},{id:"filament-trends",title:"Filament Usage Trends",component:h.jsx(G$e,{archives:r||[],currency:a}),defaultSize:4}];return h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-6",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Dashboard"}),h.jsx("p",{className:"text-bambu-gray",children:"Drag widgets to rearrange. Click the eye icon to hide."})]}),h.jsx(U$e,{widgets:l,storageKey:"bambusy-dashboard-layout"})]})}function q$e({plug:t,onEdit:e}){const n=In(),[r,i]=E.useState(!1),[a,s]=E.useState(!1),[o,l]=E.useState(!1),[c,u]=E.useState(!1),{data:f,isLoading:g,refetch:m}=Ut({queryKey:["smart-plug-status",t.id],queryFn:()=>Fe.getSmartPlugStatus(t.id),refetchInterval:3e4}),{data:y}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),v=y?.find(R=>R.id===t.printer_id),b=yt({mutationFn:R=>Fe.controlSmartPlug(t.id,R),onSuccess:()=>{m()}}),x=yt({mutationFn:R=>Fe.updateSmartPlug(t.id,R),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]}),t.printer_id&&n.invalidateQueries({queryKey:["smartPlugByPrinter",t.printer_id]})}}),M=yt({mutationFn:()=>Fe.deleteSmartPlug(t.id),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]})}}),w=f?.state==="ON",A=f?.reachable??!1,T=b.isPending;return h.jsxs(h.Fragment,{children:[h.jsx(Yt,{className:"relative",children:h.jsxs(on,{className:"p-4",children:[h.jsxs("div",{className:"flex items-start justify-between mb-3",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:`p-2 rounded-lg ${A?w?"bg-bambu-green/20":"bg-bambu-dark":"bg-red-500/20"}`,children:h.jsx(jN,{className:`w-5 h-5 ${A?w?"text-bambu-green":"text-bambu-gray":"text-red-400"}`})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-medium text-white",children:t.name}),h.jsx("p",{className:"text-sm text-bambu-gray",children:t.ip_address})]})]}),h.jsx("div",{className:"flex items-center gap-2",children:g?h.jsx(Ft,{className:"w-4 h-4 text-bambu-gray animate-spin"}):A?h.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[h.jsx(WP,{className:"w-4 h-4 text-bambu-green"}),h.jsx("span",{className:w?"text-bambu-green":"text-bambu-gray",children:f?.state||"Unknown"})]}):h.jsxs("div",{className:"flex items-center gap-1 text-sm text-red-400",children:[h.jsx(Vp,{className:"w-4 h-4"}),h.jsx("span",{children:"Offline"})]})})]}),v&&h.jsxs("div",{className:"mb-3 px-2 py-1.5 bg-bambu-dark rounded-lg",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Linked to: "}),h.jsx("span",{className:"text-sm text-white",children:v.name})]}),h.jsxs("div",{className:"flex gap-2 mb-3",children:[h.jsxs(ct,{size:"sm",variant:w?"primary":"secondary",disabled:!A||T,onClick:()=>s(!0),className:"flex-1",children:[T?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(tw,{className:"w-4 h-4"}),"On"]}),h.jsxs(ct,{size:"sm",variant:w?"secondary":"primary",disabled:!A||T,onClick:()=>l(!0),className:"flex-1",children:[T?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(m9,{className:"w-4 h-4"}),"Off"]})]}),h.jsxs("button",{onClick:()=>u(!c),className:"w-full flex items-center justify-between py-2 text-sm text-bambu-gray hover:text-white transition-colors",children:[h.jsxs("span",{className:"flex items-center gap-2",children:[h.jsx(GP,{className:"w-4 h-4"}),"Automation Settings"]}),h.jsx("span",{children:c?"-":"+"})]}),c&&h.jsxs("div",{className:"pt-3 border-t border-bambu-dark-tertiary space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Enabled"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Enable automation for this plug"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:t.enabled,onChange:R=>x.mutate({enabled:R.target.checked}),className:"sr-only peer"}),h.jsx("div",{className:"w-9 h-5 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Auto On"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Turn on when print starts"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:t.auto_on,onChange:R=>x.mutate({auto_on:R.target.checked}),className:"sr-only peer"}),h.jsx("div",{className:"w-9 h-5 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Auto Off"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Turn off when print completes (one-shot)"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:t.auto_off,onChange:R=>x.mutate({auto_off:R.target.checked}),className:"sr-only peer"}),h.jsx("div",{className:"w-9 h-5 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-bambu-green"})]})]}),t.auto_off&&h.jsxs("div",{className:"space-y-3 pl-4 border-l-2 border-bambu-dark-tertiary",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white mb-2",children:"Turn Off Delay Mode"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsxs("button",{onClick:()=>x.mutate({off_delay_mode:"time"}),className:`flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-sm transition-colors ${t.off_delay_mode==="time"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,children:[h.jsx(ba,{className:"w-4 h-4"}),"Time"]}),h.jsxs("button",{onClick:()=>x.mutate({off_delay_mode:"temperature"}),className:`flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-sm transition-colors ${t.off_delay_mode==="temperature"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,children:[h.jsx(p_,{className:"w-4 h-4"}),"Temp"]})]})]}),t.off_delay_mode==="time"?h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Delay (minutes)"}),h.jsx("input",{type:"number",min:"1",max:"60",value:t.off_delay_minutes,onChange:R=>x.mutate({off_delay_minutes:parseInt(R.target.value)||5}),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none"})]}):h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Temperature threshold (C)"}),h.jsx("input",{type:"number",min:"30",max:"100",value:t.off_temp_threshold,onChange:R=>x.mutate({off_temp_threshold:parseInt(R.target.value)||70}),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none"}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Turns off when nozzle cools below this temperature"})]})]}),h.jsxs("div",{className:"flex gap-2 pt-2",children:[h.jsxs(ct,{size:"sm",variant:"secondary",onClick:()=>e(t),className:"flex-1",children:[h.jsx(p9,{className:"w-4 h-4"}),"Edit"]}),h.jsx(ct,{size:"sm",variant:"secondary",onClick:()=>i(!0),className:"text-red-400 hover:text-red-300",children:h.jsx(aa,{className:"w-4 h-4"})})]})]})]})}),r&&h.jsx(ii,{title:"Delete Smart Plug",message:`Are you sure you want to delete "${t.name}"? This cannot be undone.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{M.mutate(),i(!1)},onCancel:()=>i(!1)}),a&&h.jsx(ii,{title:"Turn On Smart Plug",message:`Are you sure you want to turn on "${t.name}"?`,confirmText:"Turn On",variant:"default",onConfirm:()=>{b.mutate("on"),s(!1)},onCancel:()=>s(!1)}),o&&h.jsx(ii,{title:"Turn Off Smart Plug",message:`Are you sure you want to turn off "${t.name}"? This will cut power to the connected device.`,confirmText:"Turn Off",variant:"danger",onConfirm:()=>{b.mutate("off"),l(!1)},onCancel:()=>l(!1)})]})}function X$e({plug:t,onClose:e}){const n=In(),r=!!t,[i,a]=E.useState(t?.name||""),[s,o]=E.useState(t?.ip_address||""),[l,c]=E.useState(t?.username||""),[u,f]=E.useState(t?.password||""),[g,m]=E.useState(t?.printer_id||null),[y,v]=E.useState(null),[b,x]=E.useState(null),{data:M}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:w}=Ut({queryKey:["smart-plugs"],queryFn:Fe.getSmartPlugs});E.useEffect(()=>{const k=U=>{U.key==="Escape"&&e()};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[e]);const A=yt({mutationFn:()=>Fe.testSmartPlugConnection(s,l||null,u||null),onSuccess:k=>{v(k),x(null),!i&&k.device_name&&a(k.device_name)},onError:k=>{v(null),x(k.message)}}),T=yt({mutationFn:k=>Fe.createSmartPlug(k),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]}),e()},onError:k=>{x(k.message)}}),R=yt({mutationFn:k=>Fe.updateSmartPlug(t.id,k),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]}),e()},onError:k=>{x(k.message)}}),N=M?.filter(k=>!w?.some(I=>I.printer_id===k.id&&I.id!==t?.id)),j=k=>{if(k.preventDefault(),x(null),!i.trim()){x("Name is required");return}if(!s.trim()){x("IP address is required");return}const U={name:i.trim(),ip_address:s.trim(),username:l.trim()||null,password:u.trim()||null,printer_id:g};r?R.mutate(U):T.mutate(U)},C=T.isPending||R.isPending;return h.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:e,children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl border border-bambu-dark-tertiary w-full max-w-md",onClick:k=>k.stopPropagation(),children:[h.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:r?"Edit Smart Plug":"Add Smart Plug"}),h.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:j,className:"p-6 space-y-4",children:[b&&h.jsx("div",{className:"p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:b}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"IP Address *"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("input",{type:"text",value:s,onChange:k=>{o(k.target.value),v(null)},placeholder:"192.168.1.100",className:"flex-1 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"}),h.jsxs(ct,{type:"button",variant:"secondary",onClick:()=>A.mutate(),disabled:!s.trim()||A.isPending,children:[A.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(WP,{className:"w-4 h-4"}),"Test"]})]})]}),y&&h.jsx("div",{className:`p-3 rounded-lg flex items-center gap-2 ${y.success?"bg-bambu-green/20 border border-bambu-green/50 text-bambu-green":"bg-red-500/20 border border-red-500/50 text-red-400"}`,children:y.success?h.jsxs(h.Fragment,{children:[h.jsx(ld,{className:"w-5 h-5"}),h.jsxs("div",{children:[h.jsx("p",{className:"font-medium",children:"Connected!"}),h.jsxs("p",{className:"text-sm opacity-80",children:[y.device_name&&`Device: ${y.device_name} - `,"State: ",y.state]})]})]}):h.jsxs(h.Fragment,{children:[h.jsx(Vp,{className:"w-5 h-5"}),h.jsx("span",{children:"Connection failed"})]})}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name *"}),h.jsx("input",{type:"text",value:i,onChange:k=>a(k.target.value),placeholder:"Living Room Plug",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Username"}),h.jsx("input",{type:"text",value:l,onChange:k=>c(k.target.value),placeholder:"admin",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Password"}),h.jsx("input",{type:"password",value:u,onChange:k=>f(k.target.value),placeholder:"********",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]})]}),h.jsx("p",{className:"text-xs text-bambu-gray -mt-2",children:"Leave empty if your Tasmota device doesn't require authentication"}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Link to Printer"}),h.jsxs("select",{value:g??"",onChange:k=>m(k.target.value?Number(k.target.value):null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"",children:"No printer (manual control only)"}),N?.map(k=>h.jsx("option",{value:k.id,children:k.name},k.id))]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Linking enables automatic on/off when prints start/complete"})]}),h.jsxs("div",{className:"flex gap-3 pt-2",children:[h.jsx(ct,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:"Cancel"}),h.jsxs(ct,{type:"submit",disabled:C,className:"flex-1",children:[C?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(I0,{className:"w-4 h-4"}),r?"Save":"Add"]})]})]})]})})}function as({checked:t,onChange:e,disabled:n}){const r=i=>{i.preventDefault(),i.stopPropagation(),n||e(!t)};return h.jsx("button",{type:"button",role:"switch","aria-checked":t,disabled:n,onClick:r,className:`relative inline-flex w-9 h-5 rounded-full transition-colors flex-shrink-0 focus:outline-none focus:ring-2 focus:ring-bambu-green focus:ring-offset-2 focus:ring-offset-bambu-dark ${n?"bg-bambu-dark-tertiary/50 cursor-not-allowed opacity-50":t?"bg-bambu-green cursor-pointer":"bg-bambu-dark-tertiary cursor-pointer hover:bg-bambu-dark-tertiary/80"}`,children:h.jsx("span",{className:`pointer-events-none absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full shadow transition-transform duration-200 ease-in-out ${t?"translate-x-4":"translate-x-0"}`})})}const K$e={callmebot:"CallMeBot/WhatsApp",ntfy:"ntfy",pushover:"Pushover",telegram:"Telegram",email:"Email"};function Y$e({provider:t,onEdit:e}){const n=In(),[r,i]=E.useState(!1),[a,s]=E.useState(!1),[o,l]=E.useState(null),{data:c}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),u=c?.find(v=>v.id===t.printer_id),f=yt({mutationFn:v=>Fe.updateNotificationProvider(t.id,v),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]})}}),g=yt({mutationFn:()=>Fe.deleteNotificationProvider(t.id),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]})}}),m=yt({mutationFn:()=>Fe.testNotificationProvider(t.id),onSuccess:v=>{l(v),n.invalidateQueries({queryKey:["notification-providers"]})},onError:v=>{l({success:!1,message:v.message})}}),y=v=>v||"";return h.jsxs(h.Fragment,{children:[h.jsx(Yt,{className:"relative",children:h.jsxs(on,{className:"p-4",children:[h.jsxs("div",{className:"flex items-start justify-between mb-3",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:`p-2 rounded-lg ${t.enabled?"bg-bambu-green/20":"bg-bambu-dark"}`,children:h.jsx(ON,{className:`w-5 h-5 ${t.enabled?"text-bambu-green":"text-bambu-gray"}`})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-medium text-white",children:t.name}),h.jsx("p",{className:"text-sm text-bambu-gray",children:K$e[t.provider_type]||t.provider_type})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[t.last_success&&h.jsxs("span",{className:"text-xs text-bambu-green",children:["Last sent: ",new Date(t.last_success).toLocaleDateString()]}),t.last_error&&h.jsx("span",{className:"text-xs text-red-400",title:t.last_error,children:"Error"})]})]}),u&&h.jsxs("div",{className:"mb-3 px-2 py-1.5 bg-bambu-dark rounded-lg",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Printer: "}),h.jsx("span",{className:"text-sm text-white",children:u.name})]}),!u&&!t.printer_id&&h.jsx("div",{className:"mb-3 px-2 py-1.5 bg-bambu-dark rounded-lg",children:h.jsx("span",{className:"text-xs text-bambu-gray",children:"All printers"})}),h.jsxs("div",{className:"mb-3 flex flex-wrap gap-1",children:[t.on_print_start&&h.jsx("span",{className:"px-2 py-0.5 bg-blue-500/20 text-blue-400 text-xs rounded",children:"Start"}),t.on_print_complete&&h.jsx("span",{className:"px-2 py-0.5 bg-bambu-green/20 text-bambu-green text-xs rounded",children:"Complete"}),t.on_print_failed&&h.jsx("span",{className:"px-2 py-0.5 bg-red-500/20 text-red-400 text-xs rounded",children:"Failed"}),t.on_print_stopped&&h.jsx("span",{className:"px-2 py-0.5 bg-orange-500/20 text-orange-400 text-xs rounded",children:"Stopped"}),t.on_print_progress&&h.jsx("span",{className:"px-2 py-0.5 bg-yellow-500/20 text-yellow-400 text-xs rounded",children:"Progress"}),t.on_printer_offline&&h.jsx("span",{className:"px-2 py-0.5 bg-gray-500/20 text-gray-400 text-xs rounded",children:"Offline"}),t.on_printer_error&&h.jsx("span",{className:"px-2 py-0.5 bg-orange-500/20 text-orange-400 text-xs rounded",children:"Error"}),t.on_filament_low&&h.jsx("span",{className:"px-2 py-0.5 bg-amber-500/20 text-amber-400 text-xs rounded",children:"Low Filament"}),t.on_maintenance_due&&h.jsx("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-400 text-xs rounded",children:"Maintenance"}),t.quiet_hours_enabled&&h.jsxs("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-400 text-xs rounded flex items-center gap-1",children:[h.jsx(G_,{className:"w-3 h-3"}),"Quiet"]})]}),h.jsx("div",{className:"mb-3",children:h.jsxs(ct,{size:"sm",variant:"secondary",disabled:m.isPending,onClick:()=>{l(null),m.mutate()},className:"w-full",children:[m.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(g9,{className:"w-4 h-4"}),"Send Test Notification"]})}),o&&h.jsxs("div",{className:`mb-3 p-2 rounded-lg flex items-center gap-2 text-sm ${o.success?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:[o.success?h.jsx(ld,{className:"w-4 h-4"}):h.jsx(L0,{className:"w-4 h-4"}),h.jsx("span",{children:o.message})]}),h.jsxs("button",{onClick:()=>s(!a),className:"w-full flex items-center justify-between py-2 text-sm text-bambu-gray hover:text-white transition-colors border-t border-bambu-dark-tertiary",children:[h.jsxs("span",{className:"flex items-center gap-2",children:[h.jsx(GP,{className:"w-4 h-4"}),"Event Settings"]}),a?h.jsx(QS,{className:"w-4 h-4"}):h.jsx(Gf,{className:"w-4 h-4"})]}),a&&h.jsxs("div",{className:"pt-3 border-t border-bambu-dark-tertiary space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Enabled"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Send notifications from this provider"})]}),h.jsx(as,{checked:t.enabled,onChange:v=>f.mutate({enabled:v})})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsx("p",{className:"text-xs text-bambu-gray uppercase tracking-wide",children:"Print Events"}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Started"}),h.jsx(as,{checked:t.on_print_start,onChange:v=>f.mutate({on_print_start:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Completed"}),h.jsx(as,{checked:t.on_print_complete,onChange:v=>f.mutate({on_print_complete:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Failed"}),h.jsx(as,{checked:t.on_print_failed,onChange:v=>f.mutate({on_print_failed:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Stopped"}),h.jsx(as,{checked:t.on_print_stopped,onChange:v=>f.mutate({on_print_stopped:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Progress Milestones"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Notify at 25%, 50%, 75%"})]}),h.jsx(as,{checked:t.on_print_progress,onChange:v=>f.mutate({on_print_progress:v})})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsx("p",{className:"text-xs text-bambu-gray uppercase tracking-wide",children:"Printer Status"}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Printer Offline"}),h.jsx(as,{checked:t.on_printer_offline,onChange:v=>f.mutate({on_printer_offline:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Printer Error"}),h.jsx(as,{checked:t.on_printer_error,onChange:v=>f.mutate({on_printer_error:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Low Filament"}),h.jsx(as,{checked:t.on_filament_low,onChange:v=>f.mutate({on_filament_low:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Maintenance Due"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Notify when maintenance is needed"})]}),h.jsx(as,{checked:t.on_maintenance_due??!1,onChange:v=>f.mutate({on_maintenance_due:v})})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(G_,{className:"w-4 h-4 text-purple-400"}),h.jsx("p",{className:"text-sm text-white",children:"Quiet Hours"})]}),h.jsx(as,{checked:t.quiet_hours_enabled,onChange:v=>f.mutate({quiet_hours_enabled:v})})]}),t.quiet_hours_enabled&&h.jsxs("div",{className:"pl-4 border-l-2 border-bambu-dark-tertiary space-y-2",children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"No notifications during these hours"}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(ba,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("span",{className:"text-sm text-white",children:[y(t.quiet_hours_start)||"22:00"," - ",y(t.quiet_hours_end)||"07:00"]})]}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Edit provider to change quiet hours"})]})]}),h.jsxs("div",{className:"flex gap-2 pt-2",children:[h.jsxs(ct,{size:"sm",variant:"secondary",onClick:()=>e(t),className:"flex-1",children:[h.jsx(p9,{className:"w-4 h-4"}),"Edit"]}),h.jsx(ct,{size:"sm",variant:"secondary",onClick:()=>i(!0),className:"text-red-400 hover:text-red-300",children:h.jsx(aa,{className:"w-4 h-4"})})]})]})]})}),r&&h.jsx(ii,{title:"Delete Notification Provider",message:`Are you sure you want to delete "${t.name}"? This cannot be undone.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{g.mutate(),i(!1)},onCancel:()=>i(!1)})]})}const dG=[{value:"callmebot",label:"CallMeBot/WhatsApp",description:"Free WhatsApp notifications via CallMeBot"},{value:"ntfy",label:"ntfy",description:"Free, self-hostable push notifications"},{value:"pushover",label:"Pushover",description:"Simple, reliable push notifications"},{value:"telegram",label:"Telegram",description:"Notifications via Telegram bot"},{value:"email",label:"Email",description:"SMTP email notifications"}];function Z$e({provider:t,onClose:e}){const n=In(),r=!!t,[i,a]=E.useState(t?.name||""),[s,o]=E.useState(t?.provider_type||"ntfy"),[l,c]=E.useState(t?.printer_id||null),[u,f]=E.useState(t?.quiet_hours_enabled||!1),[g,m]=E.useState(t?.quiet_hours_start||"22:00"),[y,v]=E.useState(t?.quiet_hours_end||"07:00"),[b,x]=E.useState(t?.config?Object.fromEntries(Object.entries(t.config).map(([B,V])=>[B,String(V)])):{}),[M,w]=E.useState(null),[A,T]=E.useState(null),{data:R}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters});E.useEffect(()=>{const B=V=>{V.key==="Escape"&&e()};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[e]);const N=yt({mutationFn:()=>Fe.testNotificationConfig({provider_type:s,config:b}),onSuccess:B=>{w(B),T(null)},onError:B=>{w({success:!1,message:B.message})}}),j=yt({mutationFn:B=>Fe.createNotificationProvider(B),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]}),e()},onError:B=>{T(B.message)}}),C=yt({mutationFn:B=>Fe.updateNotificationProvider(t.id,B),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]}),e()},onError:B=>{T(B.message)}}),k=B=>{if(B.preventDefault(),T(null),!i.trim()){T("Name is required");return}const V=H(s);for(const K of V)if(!b[K.key]?.trim()){T(`${K.label} is required`);return}const G={name:i.trim(),provider_type:s,config:b,printer_id:l,quiet_hours_enabled:u,quiet_hours_start:u?g:null,quiet_hours_end:u?y:null};r?C.mutate(G):j.mutate(G)},U=j.isPending||C.isPending,I=B=>{switch(B){case"callmebot":return[{key:"phone",label:"Phone Number",placeholder:"+1234567890",type:"text",required:!0},{key:"apikey",label:"API Key",placeholder:"Your CallMeBot API key",type:"text",required:!0}];case"ntfy":return[{key:"server",label:"Server URL",placeholder:"https://ntfy.sh",type:"text",required:!1},{key:"topic",label:"Topic",placeholder:"my-bambutrack",type:"text",required:!0},{key:"auth_token",label:"Auth Token",placeholder:"Optional authentication",type:"password",required:!1}];case"pushover":return[{key:"user_key",label:"User Key",placeholder:"Your Pushover user key",type:"text",required:!0},{key:"app_token",label:"App Token",placeholder:"Your Pushover app token",type:"text",required:!0},{key:"priority",label:"Priority",placeholder:"0 (normal)",type:"number",required:!1}];case"telegram":return[{key:"bot_token",label:"Bot Token",placeholder:"Bot token from @BotFather",type:"password",required:!0},{key:"chat_id",label:"Chat ID",placeholder:"Your chat or group ID",type:"text",required:!0}];case"email":return[{key:"smtp_server",label:"SMTP Server",placeholder:"smtp.gmail.com",type:"text",required:!0},{key:"smtp_port",label:"SMTP Port",placeholder:"587",type:"number",required:!1},{key:"security",label:"Security",type:"select",required:!1,options:[{value:"starttls",label:"STARTTLS (Port 587)"},{value:"ssl",label:"SSL/TLS (Port 465)"},{value:"none",label:"None (Port 25)"}]},{key:"auth_enabled",label:"Authentication",type:"select",required:!1,options:[{value:"true",label:"Enabled"},{value:"false",label:"Disabled"}]},{key:"username",label:"Username",placeholder:"your@email.com",type:"text",required:!1},{key:"password",label:"Password",placeholder:"App password",type:"password",required:!1},{key:"from_email",label:"From Email",placeholder:"your@email.com",type:"text",required:!0},{key:"to_email",label:"To Email",placeholder:"recipient@email.com",type:"text",required:!0}];default:return[]}},H=B=>I(B).filter(V=>V.required),O=I(s);return h.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4 overflow-y-auto",onClick:e,children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl border border-bambu-dark-tertiary w-full max-w-lg my-8",onClick:B=>B.stopPropagation(),children:[h.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:r?"Edit Notification Provider":"Add Notification Provider"}),h.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:k,className:"p-6 space-y-4",children:[A&&h.jsx("div",{className:"p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:A}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name *"}),h.jsx("input",{type:"text",value:i,onChange:B=>a(B.target.value),placeholder:"My Notifications",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Provider Type *"}),h.jsx("select",{value:s,onChange:B=>{o(B.target.value),x({}),w(null)},disabled:r,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none disabled:opacity-50",children:dG.map(B=>h.jsx("option",{value:B.value,children:B.label},B.value))}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:dG.find(B=>B.value===s)?.description})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Configuration"}),O.map(B=>h.jsxs("div",{children:[h.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[B.label," ",B.required&&"*"]}),B.type==="select"&&B.options?h.jsx("select",{value:b[B.key]||B.options[0]?.value||"",onChange:V=>{x({...b,[B.key]:V.target.value}),w(null)},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:B.options.map(V=>h.jsx("option",{value:V.value,children:V.label},V.value))}):h.jsx("input",{type:B.type,value:b[B.key]||"",onChange:V=>{x({...b,[B.key]:V.target.value}),w(null)},placeholder:B.placeholder,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]},B.key))]}),h.jsx("div",{className:"flex gap-2",children:h.jsxs(ct,{type:"button",variant:"secondary",onClick:()=>{w(null),N.mutate()},disabled:N.isPending||!b[H(s)[0]?.key],className:"flex-1",children:[N.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(g9,{className:"w-4 h-4"}),"Test Configuration"]})}),M&&h.jsx("div",{className:`p-3 rounded-lg flex items-center gap-2 ${M.success?"bg-bambu-green/20 border border-bambu-green/50 text-bambu-green":"bg-red-500/20 border border-red-500/50 text-red-400"}`,children:M.success?h.jsxs(h.Fragment,{children:[h.jsx(ld,{className:"w-5 h-5"}),h.jsx("span",{children:M.message})]}):h.jsxs(h.Fragment,{children:[h.jsx(L0,{className:"w-5 h-5"}),h.jsx("span",{children:M.message})]})}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Printer Filter"}),h.jsxs("select",{value:l??"",onChange:B=>c(B.target.value?Number(B.target.value):null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"",children:"All printers"}),R?.map(B=>h.jsx("option",{value:B.id,children:B.name},B.id))]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Only send notifications for events from this printer"})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("label",{className:"text-sm text-white",children:"Quiet Hours (Do Not Disturb)"}),h.jsx(as,{checked:u,onChange:f})]}),u&&h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Start"}),h.jsx("input",{type:"time",value:g,onChange:B=>m(B.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"End"}),h.jsx("input",{type:"time",value:y,onChange:B=>v(B.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]})]})]}),h.jsxs("div",{className:"flex gap-3 pt-2",children:[h.jsx(ct,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:"Cancel"}),h.jsxs(ct,{type:"submit",disabled:U,className:"flex-1",children:[U?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(I0,{className:"w-4 h-4"}),r?"Save":"Add"]})]})]})]})})}async function Q$e(){const t=await fetch("/api/v1/settings/spoolman");if(!t.ok)throw new Error("Failed to load Spoolman settings");return t.json()}async function J$e(t){const e=await fetch("/api/v1/settings/spoolman",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!e.ok)throw new Error("Failed to save Spoolman settings");return e.json()}function eVe(){const t=In(),[e,n]=E.useState(!1),[r,i]=E.useState(""),[a,s]=E.useState("auto"),[o,l]=E.useState(!1),[c,u]=E.useState(!1),[f,g]=E.useState("all"),{data:m,isLoading:y}=Ut({queryKey:["spoolman-settings"],queryFn:Q$e}),{data:v,isLoading:b,refetch:x}=Ut({queryKey:["spoolman-status"],queryFn:Fe.getSpoolmanStatus,refetchInterval:3e4}),{data:M}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters});E.useEffect(()=>{m&&(n(m.spoolman_enabled==="true"),i(m.spoolman_url||""),s(m.spoolman_sync_mode||"auto"))},[m]),E.useEffect(()=>{if(m){const I=m.spoolman_enabled==="true"!==e||(m.spoolman_url||"")!==r||(m.spoolman_sync_mode||"auto")!==a;l(I)}},[m,e,r,a]);const w=yt({mutationFn:()=>J$e({spoolman_enabled:e?"true":"false",spoolman_url:r,spoolman_sync_mode:a}),onSuccess:()=>{t.invalidateQueries({queryKey:["spoolman-settings"]}),t.invalidateQueries({queryKey:["spoolman-status"]}),l(!1),u(!0),setTimeout(()=>u(!1),2e3)}}),A=yt({mutationFn:Fe.connectSpoolman,onSuccess:()=>{x()}}),T=yt({mutationFn:Fe.disconnectSpoolman,onSuccess:()=>{x()}}),R=yt({mutationFn:Fe.syncAllPrintersAms,onSuccess:I=>{I.success}}),N=yt({mutationFn:I=>Fe.syncPrinterAms(I),onSuccess:I=>{I.success}}),j=()=>{f==="all"?R.mutate():N.mutate(f)},C=R.isPending||N.isPending,k=f==="all"?R.data:N.data,U=f==="all"?R.isSuccess:N.isSuccess;return y?h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(XU,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Spoolman Integration"})]})}),h.jsx(on,{children:h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-6 h-6 text-bambu-green animate-spin"})})})]}):h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(XU,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Spoolman Integration"})]}),o&&h.jsx(ct,{size:"sm",onClick:()=>w.mutate(),disabled:w.isPending,children:w.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):c?h.jsx(Hp,{className:"w-4 h-4"}):"Save"})]})}),h.jsxs(on,{className:"space-y-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Connect to Spoolman for filament inventory tracking. AMS data will sync automatically."}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Enable Spoolman"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Sync filament data with Spoolman server"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:e,onChange:I=>n(I.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Spoolman URL"}),h.jsx("input",{type:"text",placeholder:"http://192.168.1.100:7912",value:r,onChange:I=>i(I.target.value),disabled:!e,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder-bambu-gray/50 focus:border-bambu-green focus:outline-none disabled:opacity-50"}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"URL of your Spoolman server (e.g., http://localhost:7912)"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Sync Mode"}),h.jsxs("select",{value:a,onChange:I=>s(I.target.value),disabled:!e,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none disabled:opacity-50",children:[h.jsx("option",{value:"auto",children:"Automatic"}),h.jsx("option",{value:"manual",children:"Manual Only"})]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:a==="auto"?"AMS data syncs automatically when changes are detected":"Only sync when manually triggered"})]}),e&&h.jsxs("div",{className:"pt-2 border-t border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center justify-between mb-3",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm text-bambu-gray",children:"Status:"}),b?h.jsx(Ft,{className:"w-4 h-4 text-bambu-gray animate-spin"}):v?.connected?h.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500",children:[h.jsx(Hp,{className:"w-4 h-4"}),"Connected"]}):h.jsxs("span",{className:"flex items-center gap-1 text-sm text-red-500",children:[h.jsx(mn,{className:"w-4 h-4"}),"Disconnected"]})]}),h.jsx("div",{className:"flex gap-2",children:v?.connected?h.jsxs(ct,{variant:"secondary",size:"sm",onClick:()=>T.mutate(),disabled:T.isPending,children:[T.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(aoe,{className:"w-4 h-4"}),"Disconnect"]}):h.jsxs(ct,{size:"sm",onClick:()=>A.mutate(),disabled:A.isPending||!r,children:[A.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(ooe,{className:"w-4 h-4"}),"Connect"]})})]}),A.isError&&h.jsx("div",{className:"mb-3 p-2 bg-red-500/20 border border-red-500/50 rounded text-sm text-red-400",children:A.error.message}),v?.connected&&h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Sync AMS Data"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Manually sync printer AMS data to Spoolman"})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("div",{className:"relative flex-1",children:[h.jsxs("select",{value:f,onChange:I=>g(I.target.value==="all"?"all":Number(I.target.value)),className:"w-full px-3 py-2 pr-8 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none appearance-none cursor-pointer",children:[h.jsx("option",{value:"all",children:"All Printers"}),M?.map(I=>h.jsx("option",{value:I.id,children:I.name},I.id))]}),h.jsx(Gf,{className:"absolute right-2 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray pointer-events-none"})]}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:j,disabled:C,children:[C?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(el,{className:"w-4 h-4"}),"Sync"]})]})]}),U&&k&&h.jsx("div",{className:`mt-2 p-2 rounded text-sm ${k.success?"bg-green-500/20 border border-green-500/50 text-green-400":"bg-yellow-500/20 border border-yellow-500/50 text-yellow-400"}`,children:k.success?`Synced ${k.synced_count} trays successfully`:`Synced ${k.synced_count} trays with ${k.errors.length} errors`})]})]})]})}function tVe(){const t=In(),{t:e,i18n:n}=PP(),[r,i]=E.useState(null),[a,s]=E.useState(!1),[o,l]=E.useState(!1),[c,u]=E.useState(!1),[f,g]=E.useState(null),[m,y]=E.useState(!1),[v,b]=E.useState(null),[x,M]=E.useState(y9()),w=X=>{M(X),Xle(X)},A=()=>{localStorage.removeItem("sidebarOrder"),window.location.reload()},{data:T,isLoading:R}=Ut({queryKey:["settings"],queryFn:Fe.getSettings}),{data:N,isLoading:j}=Ut({queryKey:["smart-plugs"],queryFn:Fe.getSmartPlugs}),{data:C,isLoading:k}=Ut({queryKey:["notification-providers"],queryFn:Fe.getNotificationProviders}),{data:U}=Ut({queryKey:["ffmpeg-status"],queryFn:Fe.checkFfmpeg}),{data:I}=Ut({queryKey:["version"],queryFn:Fe.getVersion}),{data:H,refetch:O,isRefetching:B}=Ut({queryKey:["updateCheck"],queryFn:Fe.checkForUpdates,staleTime:300*1e3}),{data:V,refetch:G}=Ut({queryKey:["updateStatus"],queryFn:Fe.getUpdateStatus,refetchInterval:X=>{const ae=X.state.data;return ae?.status==="downloading"||ae?.status==="installing"?1e3:!1}}),K=yt({mutationFn:Fe.applyUpdate,onSuccess:()=>{G()}});E.useEffect(()=>{T&&!r&&i(T)},[T,r]),E.useEffect(()=>{if(T&&r){const X=T.auto_archive!==r.auto_archive||T.save_thumbnails!==r.save_thumbnails||T.capture_finish_photo!==r.capture_finish_photo||T.default_filament_cost!==r.default_filament_cost||T.currency!==r.currency||T.energy_cost_per_kwh!==r.energy_cost_per_kwh||T.energy_tracking_mode!==r.energy_tracking_mode||T.check_updates!==r.check_updates||T.notification_language!==r.notification_language;s(X)}},[T,r]);const Y=yt({mutationFn:Fe.updateSettings,onSuccess:X=>{t.setQueryData(["settings"],X),i(X),s(!1),l(!0),setTimeout(()=>l(!1),2e3),t.invalidateQueries({queryKey:["archiveStats"]})}}),oe=()=>{r&&Y.mutate(r)},$=(X,ae)=>{r&&i({...r,[X]:ae})};return R||!r?h.jsx("div",{className:"p-8 flex justify-center",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-8 flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Settings"}),h.jsx("p",{className:"text-bambu-gray",children:"Configure Bambusy"})]}),h.jsxs(ct,{onClick:oe,disabled:!a||Y.isPending,children:[Y.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):o?h.jsx(Hp,{className:"w-4 h-4"}):h.jsx(I0,{className:"w-4 h-4"}),o?"Saved!":"Save"]})]}),Y.isError&&h.jsxs("div",{className:"mb-6 p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:["Failed to save settings: ",Y.error.message]}),h.jsxs("div",{className:"flex gap-8",children:[h.jsxs("div",{className:"space-y-6 flex-1 max-w-xl",children:[h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Archive Settings"})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Auto-archive prints"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Automatically save 3MF files when prints complete"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.auto_archive,onChange:X=>$("auto_archive",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Save thumbnails"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Extract and save preview images from 3MF files"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.save_thumbnails,onChange:X=>$("save_thumbnails",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Capture finish photo"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Take a photo from printer camera when print completes"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.capture_finish_photo,onChange:X=>$("capture_finish_photo",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),r.capture_finish_photo&&U&&!U.installed&&h.jsxs("div",{className:"flex items-start gap-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[h.jsx(ya,{className:"w-5 h-5 text-yellow-500 flex-shrink-0 mt-0.5"}),h.jsxs("div",{className:"text-sm",children:[h.jsx("p",{className:"text-yellow-500 font-medium",children:"ffmpeg not installed"}),h.jsxs("p",{className:"text-bambu-gray mt-1",children:["Camera capture requires ffmpeg. Install it via"," ",h.jsx("code",{className:"bg-bambu-dark-tertiary px-1 rounded",children:"brew install ffmpeg"})," (macOS) or"," ",h.jsx("code",{className:"bg-bambu-dark-tertiary px-1 rounded",children:"apt install ffmpeg"})," (Linux)."]})]})]})]})]}),h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Cost Tracking"})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Default filament cost (per kg)"}),h.jsx("input",{type:"number",step:"0.01",min:"0",value:r.default_filament_cost,onChange:X=>$("default_filament_cost",parseFloat(X.target.value)||0),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Currency"}),h.jsxs("select",{value:r.currency,onChange:X=>$("currency",X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"USD",children:"USD ($)"}),h.jsx("option",{value:"EUR",children:"EUR (€)"}),h.jsx("option",{value:"GBP",children:"GBP (£)"}),h.jsx("option",{value:"CHF",children:"CHF (Fr.)"}),h.jsx("option",{value:"JPY",children:"JPY (¥)"}),h.jsx("option",{value:"CNY",children:"CNY (¥)"}),h.jsx("option",{value:"CAD",children:"CAD ($)"}),h.jsx("option",{value:"AUD",children:"AUD ($)"})]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Electricity cost per kWh"}),h.jsx("input",{type:"number",step:"0.01",min:"0",value:r.energy_cost_per_kwh,onChange:X=>$("energy_cost_per_kwh",parseFloat(X.target.value)||0),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Energy display mode"}),h.jsxs("select",{value:r.energy_tracking_mode||"total",onChange:X=>$("energy_tracking_mode",X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"print",children:"Prints Only"}),h.jsx("option",{value:"total",children:"Total Consumption"})]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:r.energy_tracking_mode==="print"?"Dashboard shows sum of energy used during prints":"Dashboard shows lifetime energy from smart plugs"})]})]})]}),h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:e("settings.general")})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{children:[h.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[h.jsx(V_,{className:"w-4 h-4 inline mr-1"}),e("settings.language")]}),h.jsx("select",{value:n.language,onChange:X=>n.changeLanguage(X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:CU.map(X=>h.jsxs("option",{value:X.code,children:[X.nativeName," (",X.name,")"]},X.code))}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:e("settings.languageDescription")})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:e("settings.defaultView")}),h.jsx("select",{value:x,onChange:X=>w(X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:m_.map(X=>h.jsx("option",{value:X.to,children:e(X.labelKey)},X.id))}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:e("settings.defaultViewDescription")})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Sidebar order"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Drag items in the sidebar to reorder. Reset to default order here."})]}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:A,children:[h.jsx(nw,{className:"w-4 h-4"}),"Reset"]})]})]})]})]}),h.jsxs("div",{className:"space-y-6 flex-1 max-w-md",children:[h.jsx(eVe,{}),h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Updates"})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Check for updates"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Automatically check for new versions on startup"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.check_updates,onChange:X=>$("check_updates",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"border-t border-bambu-dark-tertiary pt-4",children:[h.jsxs("div",{className:"flex items-center justify-between mb-2",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Current version"}),h.jsxs("p",{className:"text-sm text-bambu-gray",children:["v",I?.version||"..."]})]}),h.jsxs(ct,{variant:"secondary",size:"sm",onClick:()=>O(),disabled:B,children:[B?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(el,{className:"w-4 h-4"}),"Check now"]})]}),H?.update_available?h.jsxs("div",{className:"mt-4 p-3 bg-bambu-green/10 border border-bambu-green/30 rounded-lg",children:[h.jsxs("div",{className:"flex items-start justify-between",children:[h.jsxs("div",{children:[h.jsxs("p",{className:"text-bambu-green font-medium",children:["Update available: v",H.latest_version]}),H.release_name&&H.release_name!==H.latest_version&&h.jsx("p",{className:"text-sm text-bambu-gray mt-1",children:H.release_name}),H.release_notes&&h.jsx("p",{className:"text-sm text-bambu-gray mt-2 whitespace-pre-line line-clamp-3",children:H.release_notes})]}),H.release_url&&h.jsx("a",{href:H.release_url,target:"_blank",rel:"noopener noreferrer",className:"text-bambu-gray hover:text-white transition-colors",title:"View release on GitHub",children:h.jsx(Qo,{className:"w-4 h-4"})})]}),V?.status==="downloading"||V?.status==="installing"?h.jsxs("div",{className:"mt-3",children:[h.jsxs("div",{className:"flex items-center gap-2 text-sm text-bambu-gray",children:[h.jsx(Ft,{className:"w-4 h-4 animate-spin"}),h.jsx("span",{children:V.message})]}),h.jsx("div",{className:"mt-2 w-full bg-bambu-dark-tertiary rounded-full h-2",children:h.jsx("div",{className:"bg-bambu-green h-2 rounded-full transition-all duration-300",style:{width:`${V.progress}%`}})})]}):V?.status==="complete"?h.jsx("div",{className:"mt-3 p-2 bg-bambu-green/20 rounded text-sm text-bambu-green",children:V.message}):V?.status==="error"?h.jsx("div",{className:"mt-3 p-2 bg-red-500/20 rounded text-sm text-red-400",children:V.error||V.message}):h.jsxs(ct,{className:"mt-3",onClick:()=>K.mutate(),disabled:K.isPending,children:[K.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(Ku,{className:"w-4 h-4"}),"Install Update"]})]}):H?.error?h.jsxs("div",{className:"mt-2 p-2 bg-red-500/10 border border-red-500/30 rounded text-sm text-red-400",children:["Failed to check for updates: ",H.error]}):H&&!H.update_available?h.jsx("p",{className:"mt-2 text-sm text-bambu-gray",children:"You're running the latest version"}):null]})]})]})]}),h.jsx("div",{className:"w-80 flex-shrink-0",children:h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(jN,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Smart Plugs"})]}),h.jsxs(ct,{size:"sm",onClick:()=>{g(null),u(!0)},children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add"]})]})}),h.jsxs(on,{children:[h.jsx("p",{className:"text-sm text-bambu-gray mb-4",children:"Connect Tasmota-based smart plugs to automate power control for your printers."}),j?h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-6 h-6 text-bambu-green animate-spin"})}):N&&N.length>0?h.jsx("div",{className:"space-y-4",children:N.map(X=>h.jsx(q$e,{plug:X,onEdit:ae=>{g(ae),u(!0)}},X.id))}):h.jsxs("div",{className:"text-center py-8 text-bambu-gray",children:[h.jsx(jN,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),h.jsx("p",{children:"No smart plugs configured"}),h.jsx("p",{className:"text-sm mt-1",children:"Add a Tasmota plug to get started"})]})]})]})}),h.jsx("div",{className:"w-80 flex-shrink-0",children:h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(ON,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Notifications"})]}),h.jsxs(ct,{size:"sm",onClick:()=>{b(null),y(!0)},children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add"]})]})}),h.jsxs(on,{children:[h.jsx("p",{className:"text-sm text-bambu-gray mb-4",children:"Get notified about print events via WhatsApp, Telegram, Email, and more."}),h.jsxs("div",{className:"flex items-center justify-between py-3 border-b border-bambu-dark-tertiary mb-4",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:e("settings.notificationLanguage")}),h.jsx("p",{className:"text-sm text-bambu-gray",children:e("settings.notificationLanguageDescription")})]}),h.jsx("select",{value:r.notification_language||"en",onChange:X=>$("notification_language",X.target.value),className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-bambu-green",children:CU.map(X=>h.jsx("option",{value:X.code,children:X.nativeName},X.code))})]}),k?h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-6 h-6 text-bambu-green animate-spin"})}):C&&C.length>0?h.jsx("div",{className:"space-y-4",children:C.map(X=>h.jsx(Y$e,{provider:X,onEdit:ae=>{b(ae),y(!0)}},X.id))}):h.jsxs("div",{className:"text-center py-8 text-bambu-gray",children:[h.jsx(ON,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),h.jsx("p",{children:"No notification providers configured"}),h.jsx("p",{className:"text-sm mt-1",children:"Add a provider to get started"})]})]})]})})]}),c&&h.jsx(X$e,{plug:f,onClose:()=>{u(!1),g(null)}}),m&&h.jsx(Z$e,{provider:v,onClose:()=>{y(!1),b(null)}})]})}const JJ=t=>{const e=parseFloat(t);return(Math.trunc(e*1e3)/1e3).toFixed(3)},nVe=t=>t.startsWith("HH")?"HF":"S",rVe=t=>{const e=t.match(/^([A-Z]{2}\d{2})/);return e?e[1]:"HH00"},eee=t=>{const e=["High Flow_","High Flow ","Standard_","Standard ","HF_","HF ","S_","S "];for(const r of e)if(t.startsWith(r))return t.slice(r.length);const n=t.indexOf("_");return n>0?t.slice(n+1):t};function gN({profile:t,onEdit:e}){const n=nVe(t.nozzle_id),r=t.nozzle_diameter,i=t.name||"Unnamed",a=eee(t.name||"");return h.jsxs("button",{onClick:e,className:"w-full text-left px-3 py-2 bg-bambu-dark rounded hover:bg-bambu-dark-tertiary transition-colors",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-bambu-green font-mono text-sm font-bold whitespace-nowrap",children:JJ(t.k_value)}),h.jsx("span",{className:"text-white text-sm truncate flex-1",title:i,children:i}),h.jsxs("span",{className:"text-xs text-bambu-gray whitespace-nowrap",children:[n," ",r]})]}),h.jsxs("div",{className:"text-xs text-bambu-gray mt-0.5 truncate",title:`Filament: ${a}`,children:["Filament: ",a||t.filament_id]})]})}function fG({profile:t,printerId:e,nozzleDiameter:n,existingProfiles:r=[],isDualNozzle:i=!1,onClose:a,onSave:s}){const{showToast:o}=eo(),l=In(),[c,u]=E.useState(t?.name||""),[f,g]=E.useState(t?.k_value?JJ(t.k_value):"0.020"),[m,y]=E.useState(t?.filament_id||""),[v,b]=E.useState(t?.nozzle_id?rVe(t.nozzle_id):"HH00"),[x,M]=E.useState(t?.nozzle_diameter||n),[w,A]=E.useState(t?[t.extruder_id]:i?[0,1]:[0]),[T,R]=E.useState(!1),[N,j]=E.useState({current:0,total:0}),C=ur.useMemo(()=>{const V=new Map;for(const G of r)if(G.filament_id&&!V.has(G.filament_id)){const K=eee(G.name||"");V.set(G.filament_id,{id:G.filament_id,name:K||G.filament_id})}return Array.from(V.values()).sort((G,K)=>G.name.localeCompare(K.name))},[r]),k=yt({mutationFn:V=>(console.log("[KProfile] Calling API..."),Fe.setKProfile(e,V)),onSuccess:V=>{console.log("[KProfile] Save success:",V),o("K-profile saved"),R(!0),setTimeout(()=>{l.invalidateQueries({queryKey:["kprofiles",e]}),R(!1),s()},2500)},onError:V=>{console.error("[KProfile] Save error:",V),o(V.message,"error"),R(!1)}}),U=yt({mutationFn:V=>(console.log("[KProfile] Deleting profile..."),Fe.deleteKProfile(e,V)),onSuccess:V=>{console.log("[KProfile] Delete success:",V),o("K-profile deleted"),R(!0),setTimeout(()=>{l.invalidateQueries({queryKey:["kprofiles",e]}),R(!1),a()},2500)},onError:V=>{console.error("[KProfile] Delete error:",V),o(V.message,"error"),R(!1)}}),[I,H]=E.useState(!1),O=()=>{t&&U.mutate({slot_id:t.slot_id,extruder_id:t.extruder_id,nozzle_id:t.nozzle_id,nozzle_diameter:t.nozzle_diameter,filament_id:t.filament_id,setting_id:t.setting_id})},B=async V=>{if(V.preventDefault(),i&&!t&&w.length===0){o("Please select at least one extruder","error");return}const G=parseFloat(f).toFixed(6),K=`${v}-${x}`;if(t||w.length===1){const Y={name:c,k_value:G,filament_id:m,nozzle_id:K,nozzle_diameter:x,extruder_id:t?t.extruder_id:w[0],setting_id:t?.setting_id,slot_id:t?.slot_id??0};console.log("[KProfile] Saving profile:",Y),k.mutate(Y);return}R(!0),j({current:0,total:w.length});for(let Y=0;YsetTimeout(X,1500))}catch(X){console.error(`[KProfile] Failed to save for extruder ${oe}:`,X),o(`Failed to save for ${oe===1?"Left":"Right"} extruder`,"error"),R(!1),j({current:0,total:0});return}}o(`K-profile saved to ${w.length} extruders`),setTimeout(()=>{l.invalidateQueries({queryKey:["kprofiles",e]}),R(!1),j({current:0,total:0}),s()},2500)};return h.jsxs("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:[h.jsxs(Yt,{className:"w-full max-w-md relative",children:[T&&h.jsxs("div",{className:"absolute inset-0 bg-bambu-dark-secondary/90 flex flex-col items-center justify-center z-10 rounded-lg",children:[h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin mb-3"}),h.jsx("p",{className:"text-white font-medium",children:N.total>1?`Saving to extruder ${N.current}/${N.total}...`:"Syncing with printer..."}),h.jsx("p",{className:"text-bambu-gray text-sm mt-1",children:"Please wait"})]}),h.jsxs(on,{className:"p-0",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-xl font-semibold text-white",children:t?"Edit K-Profile":"Add K-Profile"}),h.jsx("button",{onClick:a,className:"text-bambu-gray hover:text-white transition-colors",disabled:T,children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:B,className:"p-4 space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Profile Name"}),h.jsx("input",{type:"text",value:c,onChange:V=>u(V.target.value),disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,placeholder:"My PLA Profile",required:!t})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"K-Value"}),h.jsx("input",{type:"text",inputMode:"decimal",value:f,onChange:V=>{const G=V.target.value;(G===""||/^\d*\.?\d*$/.test(G))&&g(G)},onBlur:V=>{const G=parseFloat(V.target.value);isNaN(G)||g((Math.trunc(G*1e3)/1e3).toFixed(3))},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none font-mono",placeholder:"0.020",required:!0}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Typical range: 0.01 - 0.06 for PLA, 0.02 - 0.10 for PETG"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Filament"}),h.jsxs("select",{value:m,onChange:V=>{const G=V.target.value;if(y(G),!t&&G&&!c){const K=C.find(Y=>Y.id===G);K&&u(`${v==="HH00"?"HF":"S"} ${K.name}`)}},disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,required:!t,children:[h.jsx("option",{value:"",children:"Select filament..."}),t?.filament_id&&h.jsx("option",{value:t.filament_id,children:C.find(V=>V.id===t.filament_id)?.name||t.filament_id},t.filament_id),!t&&C.map(V=>h.jsx("option",{value:V.id,children:V.name},V.id))]}),!t&&C.length===0&&h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"No filaments found. Create a K-profile in Bambu Studio first."})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Flow Type"}),h.jsxs("select",{value:v,onChange:V=>{const G=V.target.value;if(b(G),!t&&m&&!c){const K=C.find(Y=>Y.id===m);K&&u(`${G==="HH00"?"HF":"S"} ${K.name}`)}},disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,children:[h.jsx("option",{value:"HH00",children:"High Flow"}),h.jsx("option",{value:"HS00",children:"Standard"})]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Nozzle Size"}),h.jsxs("select",{value:x,onChange:V=>M(V.target.value),disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,children:[h.jsx("option",{value:"0.2",children:"0.2mm"}),h.jsx("option",{value:"0.4",children:"0.4mm"}),h.jsx("option",{value:"0.6",children:"0.6mm"}),h.jsx("option",{value:"0.8",children:"0.8mm"})]})]})]}),i&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:t?"Extruder":"Extruders"}),t?h.jsx("div",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white opacity-60",children:t.extruder_id===1?"Left":"Right"}):h.jsxs("div",{className:"flex gap-4",children:[h.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:w.includes(1),onChange:V=>{V.target.checked?A([...w,1]):A(w.filter(G=>G!==1))},className:"w-4 h-4 rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green focus:ring-offset-0 accent-bambu-green"}),h.jsx("span",{className:"text-white",children:"Left"})]}),h.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:w.includes(0),onChange:V=>{V.target.checked?A([...w,0]):A(w.filter(G=>G!==0))},className:"w-4 h-4 rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green focus:ring-offset-0 accent-bambu-green"}),h.jsx("span",{className:"text-white",children:"Right"})]})]})]}),h.jsxs("div",{className:"flex gap-2 pt-4",children:[t&&h.jsx(ct,{type:"button",variant:"secondary",onClick:()=>H(!0),disabled:U.isPending||T,className:"text-red-500 hover:bg-red-500/10",children:U.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(aa,{className:"w-4 h-4"})}),h.jsx(ct,{type:"button",variant:"secondary",onClick:a,disabled:T,className:"flex-1",children:"Cancel"}),h.jsxs(ct,{type:"submit",disabled:k.isPending||T,className:"flex-1",children:[k.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(HP,{className:"w-4 h-4"}),"Save"]})]})]})]})]}),I&&h.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-[60]",children:h.jsx(Yt,{className:"w-full max-w-sm",children:h.jsxs(on,{className:"p-6",children:[h.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[h.jsx("div",{className:"w-10 h-10 rounded-full bg-red-500/20 flex items-center justify-center",children:h.jsx(aa,{className:"w-5 h-5 text-red-500"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold text-white",children:"Delete Profile"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"This cannot be undone"})]})]}),h.jsxs("p",{className:"text-bambu-gray mb-6",children:["Are you sure you want to delete ",h.jsxs("span",{className:"text-white font-medium",children:['"',t?.name,'"']})," from the printer?"]}),h.jsxs("div",{className:"flex gap-3",children:[h.jsx(ct,{variant:"secondary",onClick:()=>H(!1),className:"flex-1",children:"Cancel"}),h.jsxs(ct,{onClick:()=>{H(!1),O()},disabled:U.isPending,className:"flex-1 bg-red-500 hover:bg-red-600 text-white",children:[U.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(aa,{className:"w-4 h-4"}),"Delete"]})]})]})})})]})}function iVe(){const[t,e]=E.useState(null),[n,r]=E.useState("0.4"),[i,a]=E.useState(null),[s,o]=E.useState(!1),[l,c]=E.useState(""),[u,f]=E.useState("all"),[g,m]=E.useState("all"),{data:y,isLoading:v}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:b,isLoading:x,error:M,refetch:w}=Ut({queryKey:["kprofiles",t,n],queryFn:()=>Fe.getKProfiles(t,n),enabled:!!t,retry:!1,staleTime:0,refetchOnMount:"always"}),A=M?.message?.includes("not connected");E.useEffect(()=>{if(!t&&y&&y.length>0){const C=y.find(k=>k.is_active);C&&e(C.id)}},[t,y]),E.useEffect(()=>{if(t){const C=setTimeout(()=>{w()},150);return()=>clearTimeout(C)}},[t,n]);const T=y?.filter(C=>C.is_active)||[],R=ur.useMemo(()=>b?.profiles?b.profiles.filter(C=>{const k=l.toLowerCase(),U=!k||C.name.toLowerCase().includes(k)||C.filament_id.toLowerCase().includes(k),I=u==="all"||u==="left"&&C.extruder_id===1||u==="right"&&C.extruder_id===0,H=g==="all"||g==="hf"&&C.nozzle_id.startsWith("HH")||g==="s"&&C.nozzle_id.startsWith("HS");return U&&I&&H}):[],[b?.profiles,l,u,g]),j=y?.find(C=>C.id===t)?.nozzle_count===2;return v?h.jsx("div",{className:"flex justify-center py-12",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):!y||y.length===0?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(od,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No Printers Configured"}),h.jsx("p",{className:"text-bambu-gray",children:"Add a printer in Settings to manage K-profiles"})]})}):T.length===0?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(mc,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No Active Printers"}),h.jsx("p",{className:"text-bambu-gray",children:"Enable a printer connection to view its K-profiles"})]})}):h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex flex-wrap gap-4 mb-6",children:[h.jsxs("div",{className:"flex-1 min-w-48",children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Printer"}),h.jsx("select",{value:t||"",onChange:C=>e(parseInt(C.target.value)),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:T.map(C=>h.jsx("option",{value:C.id,children:C.name},C.id))})]}),h.jsxs("div",{className:"w-32",children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Nozzle"}),h.jsxs("select",{value:n,onChange:C=>r(C.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"0.2",children:"0.2mm"}),h.jsx("option",{value:"0.4",children:"0.4mm"}),h.jsx("option",{value:"0.6",children:"0.6mm"}),h.jsx("option",{value:"0.8",children:"0.8mm"})]})]}),h.jsxs("div",{className:"flex items-end gap-2",children:[h.jsxs(ct,{variant:"secondary",onClick:()=>w(),disabled:x,children:[h.jsx(el,{className:`w-4 h-4 ${x?"animate-spin":""}`}),"Refresh"]}),h.jsxs(ct,{onClick:()=>o(!0),children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add Profile"]})]})]}),h.jsxs("div",{className:"flex flex-wrap gap-4 mb-6",children:[h.jsxs("div",{className:"flex-1 min-w-48 relative",children:[h.jsx(q_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray"}),h.jsx("input",{type:"text",value:l,onChange:C=>c(C.target.value),placeholder:"Search by name or filament...",className:"w-full pl-10 pr-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder-bambu-gray focus:border-bambu-green focus:outline-none"})]}),j&&h.jsx("div",{className:"w-36",children:h.jsxs("select",{value:u,onChange:C=>f(C.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"all",children:"All Extruders"}),h.jsx("option",{value:"left",children:"Left Only"}),h.jsx("option",{value:"right",children:"Right Only"})]})}),h.jsx("div",{className:"w-32",children:h.jsxs("select",{value:g,onChange:C=>m(C.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"all",children:"All Flow"}),h.jsx("option",{value:"hf",children:"HF Only"}),h.jsx("option",{value:"s",children:"S Only"})]})})]}),x?h.jsx("div",{className:"flex justify-center py-12",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):A?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(Vp,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"Printer Offline"}),h.jsx("p",{className:"text-bambu-gray mb-4",children:"The selected printer is not connected. Power it on to view K-profiles."}),h.jsxs(ct,{variant:"secondary",onClick:()=>w(),children:[h.jsx(el,{className:"w-4 h-4"}),"Retry"]})]})}):R.length>0?j?h.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-sm font-medium text-bambu-gray mb-2 px-1",children:"Left Extruder"}),h.jsx("div",{className:"space-y-1",children:R.filter(C=>C.extruder_id===1).map(C=>h.jsx(gN,{profile:C,onEdit:()=>a(C)},C.slot_id))})]}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-sm font-medium text-bambu-gray mb-2 px-1",children:"Right Extruder"}),h.jsx("div",{className:"space-y-1",children:R.filter(C=>C.extruder_id===0).map(C=>h.jsx(gN,{profile:C,onEdit:()=>a(C)},C.slot_id))})]})]}):h.jsx("div",{className:"space-y-1",children:R.map(C=>h.jsx(gN,{profile:C,onEdit:()=>a(C)},C.slot_id))}):l||u!=="all"||g!=="all"?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(q_,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No Matching Profiles"}),h.jsx("p",{className:"text-bambu-gray",children:"No profiles match your search criteria"})]})}):h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(HP,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No K-Profiles"}),h.jsxs("p",{className:"text-bambu-gray mb-4",children:["No pressure advance profiles found for ",n,"mm nozzle"]}),h.jsxs(ct,{onClick:()=>o(!0),children:[h.jsx(Jo,{className:"w-4 h-4"}),"Create First Profile"]})]})}),i&&t&&h.jsx(fG,{profile:i,printerId:t,nozzleDiameter:n,existingProfiles:b?.profiles,isDualNozzle:j,onClose:()=>a(null),onSave:()=>a(null)}),s&&t&&h.jsx(fG,{printerId:t,nozzleDiameter:n,existingProfiles:b?.profiles,isDualNozzle:j,onClose:()=>o(!1),onSave:()=>o(!1)})]})}function aVe({onSuccess:t}){const{showToast:e}=eo(),[n,r]=E.useState("email"),[i,a]=E.useState(""),[s,o]=E.useState(""),[l,c]=E.useState(""),[u,f]=E.useState(""),[g,m]=E.useState("global"),y=yt({mutationFn:()=>Fe.cloudLogin(i,s,g),onSuccess:w=>{w.success?(e("Logged in successfully"),t()):w.needs_verification?(e("Verification code sent to your email"),r("code")):e(w.message,"error")},onError:w=>{e(w.message,"error")}}),v=yt({mutationFn:()=>Fe.cloudVerify(i,l),onSuccess:w=>{w.success?(e("Logged in successfully"),t()):e(w.message,"error")},onError:w=>{e(w.message,"error")}}),b=yt({mutationFn:()=>Fe.cloudSetToken(u),onSuccess:()=>{e("Token set successfully"),t()},onError:w=>{e(w.message,"error")}}),x=w=>{w.preventDefault(),n==="email"?y.mutate():n==="code"?v.mutate():n==="token"&&b.mutate()},M=y.isPending||v.isPending||b.isPending;return h.jsxs(Yt,{className:"max-w-md mx-auto",children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(BP,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-xl font-semibold text-white",children:"Connect to Bambu Cloud"})]})}),h.jsx(on,{children:h.jsxs("form",{onSubmit:x,className:"space-y-4",children:[n==="email"&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Email"}),h.jsx("input",{type:"email",value:i,onChange:w=>a(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:"your@email.com",required:!0})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Password"}),h.jsx("input",{type:"password",value:s,onChange:w=>o(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:"••••••••",required:!0})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Region"}),h.jsxs("select",{value:g,onChange:w=>m(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"global",children:"Global"}),h.jsx("option",{value:"china",children:"China"})]})]})]}),n==="code"&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Verification Code"}),h.jsxs("p",{className:"text-xs text-bambu-gray mb-2",children:["Check your email (",i,") for a 6-digit code"]}),h.jsx("input",{type:"text",value:l,onChange:w=>c(w.target.value.replace(/\D/g,"").slice(0,6)),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-center text-2xl tracking-widest focus:border-bambu-green focus:outline-none",placeholder:"000000",maxLength:6,required:!0})]}),n==="token"&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Access Token"}),h.jsx("p",{className:"text-xs text-bambu-gray mb-2",children:"Paste your Bambu Lab access token (from Bambu Studio)"}),h.jsx("textarea",{value:u,onChange:w=>f(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-xs font-mono focus:border-bambu-green focus:outline-none resize-none",placeholder:"eyJ...",rows:3,required:!0})]}),h.jsxs("div",{className:"flex gap-2",children:[n==="code"&&h.jsx(ct,{type:"button",variant:"secondary",onClick:()=>r("email"),className:"flex-1",children:"Back"}),h.jsxs(ct,{type:"submit",disabled:M,className:"flex-1",children:[M?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(JU,{className:"w-4 h-4"}),n==="email"?"Login":n==="code"?"Verify":"Set Token"]})]}),n==="email"&&h.jsx("div",{className:"pt-4 border-t border-bambu-dark-tertiary",children:h.jsxs("button",{type:"button",onClick:()=>r("token"),className:"text-sm text-bambu-gray hover:text-white flex items-center gap-1",children:[h.jsx(Jse,{className:"w-3 h-3"}),"Use access token instead"]})}),n==="token"&&h.jsx("div",{className:"pt-4 border-t border-bambu-dark-tertiary",children:h.jsxs("button",{type:"button",onClick:()=>r("email"),className:"text-sm text-bambu-gray hover:text-white flex items-center gap-1",children:[h.jsx(JU,{className:"w-3 h-3"}),"Login with email instead"]})})]})})]})}function sVe({setting:t,onClick:e}){return h.jsxs("button",{onClick:e,className:"w-full text-left p-3 bg-bambu-dark rounded-lg hover:bg-bambu-dark-tertiary transition-colors",children:[h.jsx("p",{className:"text-white font-medium truncate",children:t.name}),t.updated_time&&h.jsxs("p",{className:"text-xs text-bambu-gray mt-1",children:["Updated: ",new Date(t.updated_time).toLocaleDateString()]})]})}function oVe({setting:t,onClose:e}){const{data:n,isLoading:r}=Ut({queryKey:["cloudSettingDetail",t.setting_id],queryFn:()=>Fe.getCloudSettingDetail(t.setting_id)});return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:h.jsx(Yt,{className:"w-full max-w-2xl max-h-[90vh] flex flex-col",children:h.jsxs(on,{className:"p-0 flex flex-col h-full",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{children:[h.jsx("h2",{className:"text-xl font-semibold text-white",children:t.name}),h.jsxs("p",{className:"text-sm text-bambu-gray capitalize",children:[t.type," preset"]})]}),h.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r?h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):n?h.jsx("pre",{className:"text-xs text-bambu-gray font-mono whitespace-pre-wrap overflow-x-auto bg-bambu-dark p-4 rounded-lg",children:JSON.stringify(n,null,2)}):h.jsx("p",{className:"text-bambu-gray text-center py-8",children:"Failed to load preset details"})}),h.jsx("div",{className:"p-4 border-t border-bambu-dark-tertiary",children:h.jsx(ct,{variant:"secondary",onClick:e,className:"w-full",children:"Close"})})]})})})}function lVe({settings:t}){const[e,n]=E.useState(new Set),[r,i]=E.useState(null),a=l=>[...l].sort((c,u)=>c.name.localeCompare(u.name)),s=l=>{n(c=>{const u=new Set(c);return u.has(l)?u.delete(l):u.add(l),u})},o=[{key:"filament",label:"Filament Presets",icon:a9,items:a(t.filament)},{key:"printer",label:"Printer Presets",icon:mc,items:a(t.printer)},{key:"process",label:"Process Presets",icon:GP,items:a(t.process)}];return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"space-y-4",children:o.map(({key:l,label:c,icon:u,items:f})=>h.jsxs(Yt,{children:[h.jsxs("button",{onClick:()=>s(l),className:"w-full flex items-center justify-between p-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(u,{className:"w-5 h-5 text-bambu-green"}),h.jsx("span",{className:"text-lg font-semibold text-white",children:c}),h.jsxs("span",{className:"text-sm text-bambu-gray",children:["(",f.length,")"]})]}),e.has(l)?h.jsx(Gf,{className:"w-5 h-5 text-bambu-gray"}):h.jsx(Wf,{className:"w-5 h-5 text-bambu-gray"})]}),e.has(l)&&f.length>0&&h.jsx(on,{className:"pt-0",children:h.jsx("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:f.map(g=>h.jsx(sVe,{setting:g,onClick:()=>i(g)},g.setting_id))})}),e.has(l)&&f.length===0&&h.jsx(on,{className:"pt-0",children:h.jsx("p",{className:"text-bambu-gray text-sm",children:"No presets found"})})]},l))}),r&&h.jsx(oVe,{setting:r,onClose:()=>i(null)})]})}function cVe(){const t=In(),{showToast:e}=eo(),[n,r]=E.useState("kprofiles"),{data:i,isLoading:a}=Ut({queryKey:["cloudStatus"],queryFn:Fe.getCloudStatus}),{data:s,isLoading:o,refetch:l}=Ut({queryKey:["cloudSettings"],queryFn:()=>Fe.getCloudSettings(),enabled:!!i?.is_authenticated,retry:!1,staleTime:1e3*60*5}),c=yt({mutationFn:Fe.cloudLogout,onSuccess:()=>{t.invalidateQueries({queryKey:["cloudStatus"]}),t.removeQueries({queryKey:["cloudSettings"]}),e("Logged out")}}),u=()=>{t.invalidateQueries({queryKey:["cloudStatus"]})};return a?h.jsx("div",{className:"p-8 flex justify-center",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-6",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Profiles"}),h.jsx("p",{className:"text-bambu-gray",children:"Manage your slicer presets and pressure advance calibrations"})]}),h.jsxs("div",{className:"flex border-b border-bambu-dark-tertiary mb-6",children:[h.jsxs("button",{onClick:()=>r("cloud"),className:`flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors border-b-2 -mb-px ${n==="cloud"?"text-bambu-green border-bambu-green":"text-bambu-gray hover:text-white border-transparent"}`,children:[h.jsx(BP,{className:"w-4 h-4"}),"Cloud Profiles"]}),h.jsxs("button",{onClick:()=>r("kprofiles"),className:`flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors border-b-2 -mb-px ${n==="kprofiles"?"text-bambu-green border-bambu-green":"text-bambu-gray hover:text-white border-transparent"}`,children:[h.jsx(HP,{className:"w-4 h-4"}),"K-Profiles"]})]}),n==="cloud"&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[h.jsx("p",{className:"text-bambu-gray",children:i?.is_authenticated?`Connected as ${i.email}`:"Connect to Bambu Cloud to access your slicer presets"}),i?.is_authenticated&&h.jsxs("div",{className:"flex gap-2",children:[h.jsxs(ct,{variant:"secondary",onClick:()=>l(),disabled:o,children:[h.jsx(el,{className:`w-4 h-4 ${o?"animate-spin":""}`}),"Refresh"]}),h.jsxs(ct,{variant:"secondary",onClick:()=>c.mutate(),disabled:c.isPending,children:[h.jsx(goe,{className:"w-4 h-4"}),"Logout"]})]})]}),i?.is_authenticated?o?h.jsx("div",{className:"flex justify-center py-12",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):s?h.jsx(lVe,{settings:s}):h.jsx(Yt,{children:h.jsxs(on,{className:"py-8 text-center",children:[h.jsx("p",{className:"text-bambu-gray",children:"Failed to load profiles"}),h.jsx(ct,{className:"mt-4",onClick:()=>l(),children:"Retry"})]})}):h.jsx(aVe,{onSuccess:u})]}),n==="kprofiles"&&h.jsx(iVe,{})]})}const CP={Droplet:a9,Flame:o9,Ruler:Boe,Sparkles:ele,Square:$p,Cable:Gae,Wrench:Gp};function I_(t){return t&&CP[t]||Gp}function jx(t){return t<1?`${Math.round(t*60)}m`:`${t.toFixed(1)}h`}function uVe(t){const e=Math.floor(t),n=Math.round((t-e)*60);return e===0?`${n} minutes`:n===0?`${e} hours`:`${e}h ${n}m`}function dVe({item:t,onPerform:e,onToggle:n}){const r=I_(t.maintenance_type_icon),i=Math.max(0,Math.min(100,(t.interval_hours-t.hours_until_due)/t.interval_hours*100)),a=()=>t.enabled?t.is_due?"text-red-400":t.is_warning?"text-yellow-400":"text-bambu-green":"text-bambu-gray",s=()=>t.enabled?t.is_due?"bg-red-500":t.is_warning?"bg-yellow-500":"bg-bambu-green":"bg-bambu-gray/30",o=()=>t.enabled?t.is_due?`Overdue by ${jx(Math.abs(t.hours_until_due))}`:t.is_warning?`Due in ${jx(t.hours_until_due)}`:`${jx(t.hours_until_due)} left`:"Disabled";return h.jsxs("div",{className:`flex items-center gap-4 p-3 rounded-lg ${t.is_due?"bg-red-500/10":t.is_warning?"bg-yellow-500/10":"bg-bambu-dark"}`,children:[h.jsxs("div",{className:"flex items-center gap-3 min-w-[180px]",children:[h.jsx(r,{className:`w-4 h-4 ${a()}`}),h.jsx("span",{className:`text-sm ${t.enabled?"text-white":"text-bambu-gray"}`,children:t.maintenance_type_name})]}),h.jsx("div",{className:"flex-1 max-w-[200px]",children:h.jsx("div",{className:"w-full h-1.5 bg-bambu-dark-tertiary rounded-full overflow-hidden",children:h.jsx("div",{className:`h-full transition-all ${s()}`,style:{width:`${i}%`}})})}),h.jsxs("div",{className:`text-xs min-w-[120px] ${a()}`,children:[t.is_due&&h.jsx(ya,{className:"w-3 h-3 inline mr-1"}),t.is_warning&&h.jsx(ba,{className:"w-3 h-3 inline mr-1"}),!t.is_due&&!t.is_warning&&t.enabled&&h.jsx(Hp,{className:"w-3 h-3 inline mr-1"}),o()]}),h.jsx(as,{checked:t.enabled,onChange:l=>n(t.id,l)}),h.jsxs(ct,{size:"sm",variant:t.is_due?"primary":"secondary",onClick:()=>e(t.id),disabled:!t.enabled,className:"min-w-[70px]",children:[h.jsx(nw,{className:"w-3 h-3"}),"Done"]})]})}function fVe({overview:t,onPerform:e,onToggle:n,onSetHours:r}){const[i,a]=E.useState(!1),[s,o]=E.useState(!1),[l,c]=E.useState(t.total_print_hours.toFixed(1)),u=[...t.maintenance_items].sort((m,y)=>m.maintenance_type_id-y.maintenance_type_id),f=[...t.maintenance_items].filter(m=>m.enabled).sort((m,y)=>m.is_due&&!y.is_due?-1:!m.is_due&&y.is_due?1:m.is_warning&&!y.is_warning?-1:!m.is_warning&&y.is_warning?1:m.hours_until_due-y.hours_until_due)[0],g=()=>{const m=parseFloat(l);!isNaN(m)&&m>=0&&(r(t.printer_id,m),o(!1))};return h.jsxs(Yt,{children:[h.jsxs("div",{className:"p-4",children:[h.jsxs("div",{className:"flex items-center justify-between mb-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:t.printer_name}),t.due_count>0&&h.jsxs("span",{className:"px-2.5 py-1 bg-red-500/20 text-red-400 text-xs font-medium rounded-full flex items-center gap-1",children:[h.jsx(ya,{className:"w-3 h-3"}),t.due_count," overdue"]}),t.warning_count>0&&h.jsxs("span",{className:"px-2.5 py-1 bg-yellow-500/20 text-yellow-400 text-xs font-medium rounded-full flex items-center gap-1",children:[h.jsx(ba,{className:"w-3 h-3"}),t.warning_count," due soon"]}),t.due_count===0&&t.warning_count===0&&h.jsxs("span",{className:"px-2.5 py-1 bg-bambu-green/20 text-bambu-green text-xs font-medium rounded-full flex items-center gap-1",children:[h.jsx(Hp,{className:"w-3 h-3"}),"All good"]})]}),h.jsx("button",{onClick:()=>a(!i),className:"flex items-center gap-1 px-3 py-1.5 text-sm text-bambu-gray hover:text-white hover:bg-bambu-dark rounded transition-colors",children:i?h.jsxs(h.Fragment,{children:[h.jsx(QS,{className:"w-4 h-4"}),"Hide"]}):h.jsxs(h.Fragment,{children:[h.jsx(Gf,{className:"w-4 h-4"}),"Details"]})})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg",children:[h.jsx("div",{className:"text-xs text-bambu-gray mb-1 uppercase tracking-wide",children:"Total Print Time"}),s?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"number",value:l,onChange:m=>c(m.target.value),onKeyDown:m=>{m.key==="Enter"&&g(),m.key==="Escape"&&o(!1)},className:"w-20 px-2 py-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-white text-lg font-semibold",min:"0",step:"1",autoFocus:!0}),h.jsx("span",{className:"text-sm text-bambu-gray",children:"hours"}),h.jsxs("div",{className:"flex gap-1 ml-auto",children:[h.jsx(ct,{size:"sm",onClick:g,children:"Save"}),h.jsx(ct,{size:"sm",variant:"secondary",onClick:()=>o(!1),children:"✕"})]})]}):h.jsxs("button",{onClick:()=>{c(Math.round(t.total_print_hours).toString()),o(!0)},className:"flex items-center gap-2 group",title:"Click to edit total print hours",children:[h.jsx("span",{className:"text-xl font-semibold text-white group-hover:text-bambu-green transition-colors",children:uVe(t.total_print_hours)}),h.jsx(VP,{className:"w-4 h-4 text-bambu-gray group-hover:text-bambu-green transition-colors"})]})]}),h.jsxs("div",{className:`p-3 rounded-lg ${f?.is_due?"bg-red-500/10":f?.is_warning?"bg-yellow-500/10":"bg-bambu-dark"}`,children:[h.jsx("div",{className:"text-xs text-bambu-gray mb-1 uppercase tracking-wide",children:"Next Maintenance"}),f?h.jsxs("div",{children:[h.jsx("div",{className:`text-lg font-semibold ${f.is_due?"text-red-400":f.is_warning?"text-yellow-400":"text-white"}`,children:f.maintenance_type_name}),h.jsx("div",{className:`text-sm ${f.is_due?"text-red-400":f.is_warning?"text-yellow-400":"text-bambu-gray"}`,children:f.is_due?h.jsxs(h.Fragment,{children:["Overdue by ",jx(Math.abs(f.hours_until_due))]}):h.jsxs(h.Fragment,{children:["Due in ",jx(f.hours_until_due)]})})]}):h.jsx("div",{className:"text-white",children:"No tasks enabled"})]})]})]}),i&&h.jsx(on,{className:"pt-0 space-y-2 border-t border-bambu-dark-tertiary mt-4",children:h.jsx("div",{className:"pt-4",children:u.map(m=>h.jsx(dVe,{item:m,onPerform:e,onToggle:n},m.id))})})]})}function hVe({overview:t,types:e,onUpdateInterval:n,onAddType:r,onDeleteType:i}){const[a,s]=E.useState(null),[o,l]=E.useState(""),[c,u]=E.useState(!1),[f,g]=E.useState(""),[m,y]=E.useState("100"),[v,b]=E.useState("Wrench"),x=(R,N)=>{const j=parseFloat(o);if(!isNaN(j)&&j>0){const C=Math.abs(j-N)<.01?null:j;n(R,C)}s(null)},M=R=>{R.preventDefault(),f.trim()&&parseFloat(m)>0&&(r({name:f.trim(),default_interval_hours:parseFloat(m),icon:v}),g(""),y("100"),u(!1))},w=t?.map(R=>({printerId:R.printer_id,printerName:R.printer_name,items:R.maintenance_items.sort((N,j)=>N.maintenance_type_id-j.maintenance_type_id)})).sort((R,N)=>R.printerName.localeCompare(N.printerName))||[],A=e.filter(R=>R.is_system),T=e.filter(R=>!R.is_system);return h.jsxs("div",{className:"space-y-8",children:[h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center justify-between mb-4",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Maintenance Types"}),h.jsxs(ct,{size:"sm",variant:"secondary",onClick:()=>u(!c),children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add Custom Type"]})]}),c&&h.jsx(Yt,{className:"mb-4",children:h.jsx("div",{className:"p-4",children:h.jsx("form",{onSubmit:M,children:h.jsxs("div",{className:"flex gap-3 items-end",children:[h.jsxs("div",{className:"flex-1",children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Name"}),h.jsx("input",{type:"text",value:f,onChange:R=>g(R.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded text-white text-sm",placeholder:"e.g., Replace HEPA Filter",autoFocus:!0})]}),h.jsxs("div",{className:"w-28",children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Interval (hours)"}),h.jsx("input",{type:"number",value:m,onChange:R=>y(R.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded text-white text-sm",min:"1"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Icon"}),h.jsx("div",{className:"flex gap-1",children:Object.keys(CP).map(R=>{const N=CP[R];return h.jsx("button",{type:"button",onClick:()=>b(R),className:`p-2 rounded ${v===R?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,children:h.jsx(N,{className:"w-4 h-4"})},R)})})]}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx(ct,{type:"submit",size:"sm",disabled:!f.trim(),children:"Add"}),h.jsx(ct,{type:"button",size:"sm",variant:"secondary",onClick:()=>u(!1),children:"Cancel"})]})]})})})}),h.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:[A.map(R=>{const N=I_(R.icon);return h.jsx("div",{className:"bg-bambu-dark-secondary rounded-lg p-4 border border-bambu-dark-tertiary",children:h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"p-2 bg-bambu-dark rounded-lg",children:h.jsx(N,{className:"w-5 h-5 text-bambu-gray"})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-sm font-medium text-white truncate",children:R.name}),h.jsxs("div",{className:"text-xs text-bambu-gray mt-0.5",children:[R.default_interval_hours,"h interval"]})]})]})},R.id)}),T.map(R=>{const N=I_(R.icon);return h.jsx("div",{className:"bg-bambu-dark-secondary rounded-lg p-4 border border-bambu-green/30",children:h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"p-2 bg-bambu-green/20 rounded-lg",children:h.jsx(N,{className:"w-5 h-5 text-bambu-green"})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm font-medium text-white truncate",children:R.name}),h.jsx("span",{className:"px-1.5 py-0.5 bg-bambu-green/20 text-bambu-green text-[10px] font-medium rounded",children:"Custom"})]}),h.jsxs("div",{className:"text-xs text-bambu-gray mt-0.5",children:[R.default_interval_hours,"h interval"]})]}),h.jsx("button",{onClick:()=>{confirm(`Delete "${R.name}"?`)&&i(R.id)},className:"p-1.5 rounded hover:bg-bambu-dark text-bambu-gray hover:text-red-400 transition-colors",children:h.jsx(aa,{className:"w-4 h-4"})})]})},R.id)})]})]}),w.length>0&&h.jsxs("div",{children:[h.jsx("h2",{className:"text-lg font-semibold text-white mb-2",children:"Interval Overrides"}),h.jsx("p",{className:"text-sm text-bambu-gray mb-4",children:"Set custom intervals per printer."}),h.jsx("div",{className:"space-y-3",children:w.map(R=>h.jsx(Yt,{children:h.jsxs("div",{className:"p-4",children:[h.jsx("h3",{className:"text-sm font-medium text-white mb-3",children:R.printerName}),h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2",children:R.items.map(N=>{const j=I_(N.maintenance_type_icon),k=e.find(I=>I.id===N.maintenance_type_id)?.default_interval_hours||N.interval_hours,U=a===N.id;return h.jsxs("div",{className:"flex items-center gap-2 p-2 bg-bambu-dark rounded-lg",children:[h.jsx(j,{className:"w-4 h-4 text-bambu-gray shrink-0"}),h.jsx("span",{className:"text-xs text-bambu-gray flex-1 truncate",children:N.maintenance_type_name}),U?h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("input",{type:"number",value:o,onChange:I=>l(I.target.value),onKeyDown:I=>{I.key==="Enter"&&x(N.id,k),I.key==="Escape"&&s(null)},className:"w-16 px-2 py-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-white text-xs",min:"1",autoFocus:!0}),h.jsx(ct,{size:"sm",onClick:()=>x(N.id,k),children:"OK"})]}):h.jsxs("button",{onClick:()=>{s(N.id),l(N.interval_hours.toString())},className:"px-2 py-1 bg-bambu-dark-tertiary hover:bg-bambu-dark-secondary border border-bambu-dark-tertiary hover:border-bambu-green rounded text-xs font-medium text-white transition-colors",children:[N.interval_hours,"h",h.jsx(VP,{className:"w-3 h-3 inline ml-1.5 text-bambu-gray"})]})]},N.id)})})]})},R.printerId))})]}),w.length===0&&h.jsx(Yt,{children:h.jsxs(on,{className:"text-center py-12",children:[h.jsx(ba,{className:"w-12 h-12 mx-auto mb-4 text-bambu-gray/30"}),h.jsx("p",{className:"text-bambu-gray",children:"No printers configured"}),h.jsx("p",{className:"text-sm text-bambu-gray/70 mt-1",children:"Add printers to configure maintenance intervals"})]})})]})}function pVe(){const t=In(),{showToast:e}=eo(),[n,r]=E.useState("status"),{data:i,isLoading:a}=Ut({queryKey:["maintenanceOverview"],queryFn:Fe.getMaintenanceOverview}),{data:s}=Ut({queryKey:["maintenanceTypes"],queryFn:Fe.getMaintenanceTypes}),o=yt({mutationFn:({id:x,notes:M})=>Fe.performMaintenance(x,M),onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceOverview"]}),t.invalidateQueries({queryKey:["maintenanceSummary"]}),e("Maintenance marked as done")},onError:x=>{e(x.message,"error")}}),l=yt({mutationFn:({id:x,data:M})=>Fe.updateMaintenanceItem(x,M),onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceOverview"]})},onError:x=>{e(x.message,"error")}}),c=yt({mutationFn:Fe.createMaintenanceType,onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceTypes"]}),t.invalidateQueries({queryKey:["maintenanceOverview"]}),e("Maintenance type added")},onError:x=>{e(x.message,"error")}}),u=yt({mutationFn:Fe.deleteMaintenanceType,onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceTypes"]}),t.invalidateQueries({queryKey:["maintenanceOverview"]}),e("Maintenance type deleted")},onError:x=>{e(x.message,"error")}}),f=yt({mutationFn:({printerId:x,hours:M})=>Fe.setPrinterHours(x,M),onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceOverview"]}),t.invalidateQueries({queryKey:["maintenanceSummary"]}),e("Print hours updated")},onError:x=>{e(x.message,"error")}}),g=x=>{o.mutate({id:x})},m=(x,M)=>{l.mutate({id:x,data:{enabled:M}})},y=(x,M)=>{f.mutate({printerId:x,hours:M})};if(a)return h.jsx("div",{className:"p-8 flex justify-center",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})});const v=i?.reduce((x,M)=>x+M.due_count,0)||0,b=i?.reduce((x,M)=>x+M.warning_count,0)||0;return h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-6",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Maintenance"}),h.jsx("p",{className:"text-bambu-gray text-sm",children:n==="status"?h.jsxs(h.Fragment,{children:[v>0&&h.jsxs("span",{className:"text-red-400",children:[v," tasks overdue"]}),v>0&&b>0&&" · ",b>0&&h.jsxs("span",{className:"text-yellow-400",children:[b," due soon"]}),v===0&&b===0&&"All maintenance up to date"]}):"Configure maintenance types and intervals"})]}),h.jsxs("div",{className:"flex gap-1 mb-6 border-b border-bambu-dark-tertiary",children:[h.jsx("button",{onClick:()=>r("status"),className:`px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors ${n==="status"?"text-bambu-green border-bambu-green":"text-bambu-gray border-transparent hover:text-white"}`,children:"Status"}),h.jsx("button",{onClick:()=>r("settings"),className:`px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors ${n==="settings"?"text-bambu-green border-bambu-green":"text-bambu-gray border-transparent hover:text-white"}`,children:"Settings"})]}),n==="status"?h.jsx("div",{className:"space-y-4",children:i&&i.length>0?[...i].sort((x,M)=>x.printer_name.localeCompare(M.printer_name)).map(x=>h.jsx(fVe,{overview:x,onPerform:g,onToggle:m,onSetHours:y},x.printer_id)):h.jsx(Yt,{children:h.jsxs(on,{className:"text-center py-12",children:[h.jsx(Gp,{className:"w-12 h-12 mx-auto mb-4 text-bambu-gray/30"}),h.jsx("p",{className:"text-bambu-gray",children:"No printers configured"}),h.jsx("p",{className:"text-sm text-bambu-gray/70 mt-1",children:"Add printers to start tracking maintenance"})]})})}):h.jsx(hVe,{overview:i,types:s||[],onUpdateInterval:(x,M)=>l.mutate({id:x,data:{custom_interval_hours:M}}),onAddType:x=>c.mutate(x),onDeleteType:x=>u.mutate(x)})]})}function mVe({printerId:t,isConnected:e}){const[n,r]=E.useState(!1),[i,a]=E.useState(!1),[s,o]=E.useState(null),l=E.useRef(null),c=Fe.getCameraStreamUrl(t,10),u=()=>{n?(r(!1),o(null)):(a(!0),o(null),r(!0))},f=()=>{a(!1),o(null)},g=()=>{a(!1),o("Failed to load camera stream")},m=()=>{l.current&&(document.fullscreenElement?document.exitFullscreen():l.current.requestFullscreen())},y=()=>{r(!1),setTimeout(()=>{a(!0),r(!0)},100)};return h.jsx("div",{className:"relative w-full h-full bg-black",children:n?h.jsxs(h.Fragment,{children:[i&&h.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:h.jsx(Ft,{className:"w-8 h-8 animate-spin text-bambu-green"})}),s?h.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-red-400",children:[h.jsx(Yae,{className:"w-12 h-12 mb-2"}),h.jsx("span",{className:"text-sm",children:s}),h.jsx("button",{onClick:y,className:"mt-2 text-xs text-bambu-green hover:underline",children:"Retry"})]}):h.jsx("img",{ref:l,src:c,alt:"Camera stream",className:"w-full h-full object-contain",onLoad:f,onError:g}),h.jsxs("div",{className:"absolute top-2 right-2 flex gap-2",children:[h.jsx("button",{onClick:y,className:"p-2 rounded bg-gray-500 hover:bg-gray-400 text-white transition-colors shadow-lg",title:"Refresh stream",children:h.jsx(el,{className:"w-4 h-4"})}),h.jsx("button",{onClick:m,className:"p-2 rounded bg-gray-500 hover:bg-gray-400 text-white transition-colors shadow-lg",title:"Fullscreen",children:h.jsx(f9,{className:"w-4 h-4"})}),h.jsx("button",{onClick:u,className:"px-3 py-1.5 rounded bg-red-600 hover:bg-red-500 text-white text-sm transition-colors shadow-lg",children:"Stop"})]})]}):h.jsx("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-bambu-gray",children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-lg p-6 flex flex-col items-center",children:[h.jsx($_,{className:"w-8 h-8 mb-2"}),h.jsx("span",{className:"text-sm mb-3",children:e?"Click Start to view camera":"Printer not connected"}),h.jsx("button",{onClick:u,disabled:!e,className:"px-4 py-1.5 rounded text-sm bg-bambu-green text-white hover:bg-bambu-green-dark disabled:opacity-50 disabled:cursor-not-allowed",children:"Start"})]})})})}function gVe(t){if(!t)return"N/A";const e=new Date;return new Date(e.getTime()+t*1e3).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function xVe({printerId:t,status:e}){const n=In(),[r,i]=E.useState(null),a=e?.connected??!1,s=e?.state==="RUNNING",o=e?.state==="PAUSE",l=e?.progress??0,c=yt({mutationFn:()=>Fe.pausePrint(t),onSuccess:()=>{n.invalidateQueries({queryKey:["printerStatuses"]})}}),u=yt({mutationFn:()=>Fe.resumePrint(t),onSuccess:()=>{n.invalidateQueries({queryKey:["printerStatuses"]})}}),f=yt({mutationFn:x=>Fe.stopPrint(t,x),onSuccess:x=>{Wx(x)?i({action:"stop",token:x.token,warning:x.warning}):n.invalidateQueries({queryKey:["printerStatuses"]})}}),g=()=>{s?c.mutate():o&&u.mutate()},m=()=>{f.mutate(void 0)},y=()=>{r&&(f.mutate(r.token),i(null))},v=c.isPending||u.isPending||f.isPending,b=a&&(s||o);return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"text-xs text-bambu-gray mb-3",children:"Printing Progress"}),h.jsxs("div",{className:"flex gap-4 items-center",children:[h.jsx("div",{className:"w-20 h-20 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg flex items-center justify-center flex-shrink-0 overflow-hidden",children:e?.subtask_name?h.jsx("img",{src:`/api/v1/archives/thumbnail/${encodeURIComponent(e.subtask_name)}`,alt:"",className:"w-full h-full object-contain",onError:x=>{x.target.style.display="none",x.target.parentElement.innerHTML='Bambu
Lab
'}}):h.jsxs("span",{className:"text-xs text-bambu-gray text-center",children:["Bambu",h.jsx("br",{}),"Lab"]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"font-medium text-sm text-white truncate mb-0.5",children:e?.subtask_name||"N/A"}),h.jsx("div",{className:`text-sm mb-2 ${e?.state==="RUNNING"||e?.state==="PAUSE"?"text-bambu-green":"text-bambu-gray"}`,children:e?.state||"N/A"}),h.jsx("div",{className:"h-1 bg-bambu-dark-tertiary rounded-full overflow-hidden mb-2",children:h.jsx("div",{className:`h-full transition-all duration-300 ${e?.state==="PAUSE"?"bg-yellow-500":"bg-bambu-green"}`,style:{width:`${l}%`}})}),h.jsxs("div",{className:"text-xs text-bambu-gray mb-1",children:["Layer: ",e?.layer_num??"N/A"," / ",e?.total_layers??"N/A","    ",Math.round(l),"%"]}),h.jsxs("div",{className:"text-xs text-bambu-gray",children:["Estimated finish time: ",gVe(e?.remaining_time)]})]}),h.jsxs("div",{className:"flex gap-1.5 flex-shrink-0",children:[h.jsx("button",{onClick:g,disabled:!b||v,className:"w-8 h-8 rounded-md border border-bambu-dark-tertiary bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:s?"Pause":"Resume",children:c.isPending||u.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(h9,{className:"w-4 h-4"})}),h.jsx("button",{onClick:m,disabled:!b||v,className:"w-8 h-8 rounded-md border border-bambu-dark-tertiary bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Stop",children:f.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx($p,{className:"w-4 h-4"})}),h.jsx("button",{disabled:!b||v,className:"w-8 h-8 rounded-md border border-bambu-dark-tertiary bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Skip Objects",children:h.jsx("img",{src:"/icons/skip-objects.svg",alt:"Skip Objects",className:"w-4 h-4 icon-theme"})})]})]}),(c.error||u.error||f.error)&&h.jsx("p",{className:"mt-2 text-xs text-red-500",children:(c.error||u.error||f.error)?.message}),r&&h.jsx(ii,{title:"Confirm Stop",message:r.warning,confirmText:"Stop Print",variant:"danger",onConfirm:y,onCancel:()=>i(null)})]})}function vVe({checked:t,onChange:e,disabled:n}){return h.jsx("button",{onClick:()=>!n&&e(!t),disabled:n,className:`w-11 h-6 rounded-full relative transition-all shadow-inner border ${t?"bg-bambu-green border-bambu-green":"bg-bambu-dark-tertiary border-bambu-dark-tertiary"} ${n?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:h.jsx("div",{className:`w-5 h-5 rounded-full bg-white shadow-md absolute top-0.5 transition-transform ${t?"translate-x-5":"translate-x-0.5"}`})})}function xN({name:t,icon:e,speed:n,enabled:r,onToggle:i,onSpeedChange:a,disabled:s,showSpeedControl:o=!0}){const l=()=>{const u=Math.min(100,n+10);a(u)},c=()=>{const u=Math.max(0,n-10);a(u)};return h.jsxs("div",{className:"bg-bambu-dark rounded-xl p-4 shadow-lg border border-bambu-dark-tertiary/50",children:[h.jsxs("div",{className:"flex items-center justify-between mb-4",children:[h.jsxs("div",{className:"flex items-center gap-2.5",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center",children:e}),h.jsx("span",{className:"text-white font-medium",children:t})]}),o&&h.jsx(vVe,{checked:r,onChange:i,disabled:s})]}),o?h.jsxs("div",{className:"flex items-center justify-between bg-bambu-dark-secondary rounded-lg p-2",children:[h.jsx("button",{onClick:c,disabled:s||!r,className:"w-9 h-9 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center text-white hover:bg-bambu-dark transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:h.jsx(_oe,{className:"w-4 h-4"})}),h.jsx("div",{className:"flex-1 text-center",children:h.jsxs("span",{className:`text-xl font-semibold ${r?"text-white":"text-bambu-gray"}`,children:[n,"%"]})}),h.jsx("button",{onClick:l,disabled:s||!r,className:"w-9 h-9 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center text-white hover:bg-bambu-dark transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:h.jsx(Jo,{className:"w-4 h-4"})})]}):h.jsx("div",{className:"p-3 text-center",children:h.jsx("span",{className:"text-xl font-semibold text-bambu-green",children:r?"Auto":"Off"})})]})}function bVe({onConfirm:t,onCancel:e}){return h.jsx("div",{className:"absolute inset-0 bg-black/80 flex items-center justify-center z-10 rounded-2xl",children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl p-5 m-4 max-w-sm border border-bambu-dark-tertiary shadow-xl",children:[h.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[h.jsx("div",{className:"w-10 h-10 rounded-full bg-yellow-500/20 flex items-center justify-center flex-shrink-0",children:h.jsx(ya,{className:"w-5 h-5 text-yellow-500"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-white font-semibold",children:"Print in Progress"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"The printer is currently controlling air conditioning."})]})]}),h.jsx("p",{className:"text-sm text-bambu-gray mb-5",children:"Changing these settings during a print may affect print quality. Are you sure you want to continue?"}),h.jsxs("div",{className:"flex gap-3",children:[h.jsx("button",{onClick:e,className:"flex-1 py-2.5 px-4 rounded-lg font-medium text-sm bg-bambu-dark-tertiary text-white hover:bg-bambu-dark transition-colors",children:"Cancel"}),h.jsx("button",{onClick:t,className:"flex-1 py-2.5 px-4 rounded-lg font-medium text-sm bg-yellow-600 text-white hover:bg-yellow-700 transition-colors",children:"Continue"})]})]})})}function yVe({printer:t,status:e,onClose:n}){const r=e?.connected??!1,i=e?.state==="RUNNING"||e?.state==="PRINTING",a=!r,s=(e?.airduct_mode??0)===1?"heating":"cooling",[o,l]=E.useState(s),[c,u]=E.useState(!1),[f,g]=E.useState(null),[m,y]=E.useState(!1),[v,b]=E.useState(0),[x,M]=E.useState(!1),[w,A]=E.useState(0),[T,R]=E.useState(!1),[N,j]=E.useState(0),C=yt({mutationFn:te=>Fe.setAirductMode(t.id,te)}),k=yt({mutationFn:te=>Fe.setPartFan(t.id,te)}),U=yt({mutationFn:te=>Fe.setAuxFan(t.id,te)}),I=yt({mutationFn:te=>Fe.setChamberFan(t.id,te)}),H=te=>{i?(g(()=>te),u(!0)):te()},O=()=>{f&&(f(),g(null)),u(!1)},B=()=>{g(null),u(!1)},V=te=>{te!==o&&H(()=>{l(te),C.mutate(te)})},G=te=>{H(()=>{y(te),te||(b(0),k.mutate(0))})},K=te=>{H(()=>{b(te),y(te>0),k.mutate(te)})},Y=te=>{H(()=>{M(te),te||(A(0),U.mutate(0))})},oe=te=>{H(()=>{A(te),M(te>0),U.mutate(te)})},$=te=>{H(()=>{R(te),te||(j(0),I.mutate(0))})},X=te=>{H(()=>{j(te),R(te>0),I.mutate(te)})};E.useEffect(()=>{const te=ve=>{ve.key==="Escape"&&(c?B():n())};return window.addEventListener("keydown",te),()=>window.removeEventListener("keydown",te)},[n,c]);const ae={cooling:"Suitable for PLA, PETG, TPU. Filters and cools the chamber air.",heating:"Suitable for ABS, ASA, PC, PA. Circulates and heats chamber air."},ce=()=>h.jsx("img",{src:"/icons/ventilation.svg",alt:"",className:"w-5 h-5 icon-theme"}),xe=()=>h.jsx("img",{src:"/icons/chamber.svg",alt:"",className:"w-5 h-5 icon-theme"});return h.jsx("div",{className:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-4",onClick:n,children:h.jsxs("div",{className:"relative w-full max-w-lg bg-bambu-dark-secondary rounded-2xl shadow-2xl border border-bambu-dark-tertiary overflow-hidden",onClick:te=>te.stopPropagation(),children:[c&&h.jsx(bVe,{onConfirm:O,onCancel:B}),h.jsxs("div",{className:"flex items-center justify-between px-5 py-4 bg-bambu-dark border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-green/20 flex items-center justify-center",children:h.jsx("img",{src:"/icons/ventilation.svg",alt:"",className:"w-5 h-5 icon-green"})}),h.jsx("span",{className:"text-base font-semibold text-white",children:"Air Condition"})]}),h.jsx("button",{onClick:n,className:"w-8 h-8 rounded-lg flex items-center justify-center text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("div",{className:"p-5 space-y-5",children:[i&&h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[h.jsx(ya,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),h.jsx("span",{className:"text-xs text-yellow-500",children:"Print in progress. Changes may affect print quality."})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-xl p-1.5 flex gap-1.5 shadow-inner",children:[h.jsxs("button",{onClick:()=>V("cooling"),disabled:a||C.isPending,className:`flex-1 py-3 px-4 rounded-lg flex items-center justify-center gap-2 font-medium transition-all disabled:opacity-50 ${o==="cooling"?"bg-bambu-green text-white shadow-lg":"text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[h.jsx(Ole,{className:"w-4 h-4"}),"Cooling"]}),h.jsxs("button",{onClick:()=>V("heating"),disabled:a||C.isPending,className:`flex-1 py-3 px-4 rounded-lg flex items-center justify-center gap-2 font-medium transition-all disabled:opacity-50 ${o==="heating"?"bg-bambu-green text-white shadow-lg":"text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[h.jsx(o9,{className:"w-4 h-4"}),"Heating"]})]}),h.jsx("p",{className:"text-sm text-bambu-gray text-center px-2",children:ae[o]}),h.jsx("div",{className:"border-t border-bambu-dark-tertiary"}),h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsx(xN,{name:"Part",icon:h.jsx(ce,{}),speed:v,enabled:m,onToggle:G,onSpeedChange:K,disabled:a,showSpeedControl:!0}),h.jsx(xN,{name:"Aux",icon:h.jsx(ce,{}),speed:w,enabled:x,onToggle:Y,onSpeedChange:oe,disabled:a,showSpeedControl:o==="cooling"}),h.jsx(xN,{name:"Exhaust",icon:h.jsx(ce,{}),speed:N,enabled:T,onToggle:$,onSpeedChange:X,disabled:a,showSpeedControl:o==="cooling"}),h.jsxs("div",{className:"bg-bambu-dark rounded-xl p-4 shadow-lg border border-bambu-dark-tertiary/50",children:[h.jsxs("div",{className:"flex items-center gap-2.5 mb-4",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center",children:h.jsx(xe,{})}),h.jsx("span",{className:"text-white font-medium",children:"Heat"})]}),h.jsx("div",{className:"p-3 text-center",children:h.jsx("span",{className:"text-xl font-semibold text-bambu-green",children:o==="heating"?"Auto":"Off"})})]})]})]})]})})}const _Ve=[{mode:1,name:"Silent",description:"Quieter printing, slower speed",percentage:"50%"},{mode:2,name:"Standard",description:"Balanced speed and quality",percentage:"100%"},{mode:3,name:"Sport",description:"Faster printing, moderate noise",percentage:"124%"},{mode:4,name:"Ludicrous",description:"Maximum speed",percentage:"166%"}];function SVe({printer:t,status:e,onClose:n}){const r=e?.connected??!1,i=e?.state==="RUNNING"||e?.state==="PRINTING",a=!r||!i,s=e?.speed_level??2,[o,l]=E.useState(s),c=yt({mutationFn:f=>Fe.setPrintSpeed(t.id,f)}),u=f=>{f===o||a||(l(f),c.mutate(f))};return E.useEffect(()=>{const f=g=>{g.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),h.jsx("div",{className:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-4",onClick:n,children:h.jsxs("div",{className:"relative w-full max-w-lg bg-bambu-dark-secondary rounded-2xl shadow-2xl border border-bambu-dark-tertiary overflow-hidden",onClick:f=>f.stopPropagation(),children:[h.jsxs("div",{className:"flex items-center justify-between px-5 py-4 bg-bambu-dark border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-green/20 flex items-center justify-center",children:h.jsx("img",{src:"/icons/speed.svg",alt:"",className:"w-5 h-5 icon-green"})}),h.jsx("span",{className:"text-base font-semibold text-white",children:"Print Speed"})]}),h.jsx("button",{onClick:n,className:"w-8 h-8 rounded-lg flex items-center justify-center text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("div",{className:"p-5 space-y-4",children:[i?h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[h.jsx(ya,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),h.jsx("span",{className:"text-xs text-yellow-500",children:"Speed changes take effect immediately."})]}):h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg",children:[h.jsx(ya,{className:"w-4 h-4 text-bambu-gray flex-shrink-0"}),h.jsx("span",{className:"text-xs text-bambu-gray",children:"No print in progress. Speed can only be changed during printing."})]}),h.jsx("div",{className:"space-y-2",children:_Ve.map(f=>h.jsxs("button",{onClick:()=>u(f.mode),disabled:a||c.isPending,className:`w-full p-4 rounded-xl flex items-center justify-between transition-all disabled:opacity-50 disabled:cursor-not-allowed ${o===f.mode?"bg-bambu-green text-white shadow-lg":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary"}`,children:[h.jsxs("div",{className:"flex flex-col items-start",children:[h.jsx("span",{className:"font-medium",children:f.name}),h.jsx("span",{className:`text-xs ${o===f.mode?"text-white/80":"text-bambu-gray"}`,children:f.description})]}),h.jsx("span",{className:`text-lg font-semibold ${o===f.mode?"text-white":"text-bambu-gray"}`,children:f.percentage})]},f.mode))})]})]})})}function wVe({printer:t,status:e,disabled:n=!1}){const r=e?.temperatures??{},i=t.nozzle_count>1,a=(e?.connected??!1)&&!n,[s,o]=E.useState(null),[l,c]=E.useState(""),[u,f]=E.useState(!1),[g,m]=E.useState(!1),y=yt({mutationFn:I=>Fe.setBedTemperature(t.id,I)}),v=yt({mutationFn:({target:I,nozzle:H})=>Fe.setNozzleTemperature(t.id,I,H)}),b=yt({mutationFn:I=>Fe.setChamberTemperature(t.id,I)}),x=yt({mutationFn:I=>Fe.setChamberLight(t.id,I)}),M=(I,H)=>{a&&(o(I),c(String(Math.round(H))))},w=()=>{o(null),c("")},A=()=>{const I=parseInt(l,10);if(isNaN(I)||I<0){w();return}s==="bed"?y.mutate(I):s==="nozzle"?v.mutate({target:I,nozzle:i?1:0}):s==="nozzle_2"?v.mutate({target:I,nozzle:0}):s==="chamber"&&b.mutate(I),w()},T=I=>{I.key==="Enter"?A():I.key==="Escape"&&w()},R=!a,N=r.nozzle_heating??!1,j=r.nozzle_2_heating??!1,C=r.bed_heating??!1,k=r.chamber_heating??!1,U=(I,H)=>s===I?h.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:l,onChange:O=>{const B=O.target.value.replace(/[^0-9]/g,"");c(B)},onBlur:A,onKeyDown:T,autoFocus:!0,className:"w-12 text-sm bg-bambu-dark border border-bambu-green rounded px-1 py-0.5 text-white text-center [appearance:textfield]"}):h.jsxs("button",{onClick:()=>M(I,H),disabled:R,className:"text-sm text-bambu-gray hover:text-bambu-green disabled:hover:text-bambu-gray disabled:cursor-not-allowed",title:R?"Printer not connected":"Click to set target temperature",children:["/",Math.round(H)," °C"]});return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex flex-col justify-evenly min-w-[150px] pr-5 border-r border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/hotend.svg",alt:"",className:`w-5 ${N?"icon-heating":"icon-theme"}`})}),i&&h.jsx("span",{className:"text-[11px] font-semibold text-bambu-green bg-bambu-green/20 px-1.5 py-0.5 rounded min-w-[18px] text-center flex-shrink-0",children:"L"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.nozzle??0)}),U("nozzle",r.nozzle_target??0)]}),i&&h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/hotend.svg",alt:"",className:`w-5 ${j?"icon-heating":"icon-theme"}`})}),h.jsx("span",{className:"text-[11px] font-semibold text-bambu-green bg-bambu-green/20 px-1.5 py-0.5 rounded min-w-[18px] text-center flex-shrink-0",children:"R"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.nozzle_2??0)}),U("nozzle_2",r.nozzle_2_target??0)]}),h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/heatbed.svg",alt:"",className:`w-5 ${C?"icon-heating":"icon-theme"}`})}),i&&h.jsx("span",{className:"min-w-[18px] flex-shrink-0"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.bed??0)}),U("bed",r.bed_target??0)]}),h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/chamber.svg",alt:"",className:`w-5 ${k?"icon-heating":"icon-theme"}`})}),i&&h.jsx("span",{className:"min-w-[18px] flex-shrink-0"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.chamber??0)}),U("chamber",r.chamber_target??0)]}),h.jsxs("button",{onClick:()=>f(!0),disabled:R,className:"flex items-center justify-between w-full px-3 py-4 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary disabled:opacity-50 disabled:cursor-not-allowed",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("img",{src:"/icons/ventilation.svg",alt:"",className:"w-5 h-5 icon-theme"}),h.jsx("span",{className:"text-xs text-bambu-gray",children:"A/C"})]}),h.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded ${e?.airduct_mode===1?"bg-orange-500/20 text-orange-400":"bg-blue-500/20 text-blue-400"}`,children:e?.airduct_mode===1?"Heat":"Cool"})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("button",{onClick:()=>m(!0),disabled:R,className:"flex-1 flex flex-col items-center py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary disabled:opacity-50 disabled:cursor-not-allowed",children:[h.jsx("img",{src:"/icons/speed.svg",alt:"",className:"w-5 h-5 icon-theme"}),h.jsx("span",{className:"text-[10px] text-bambu-gray mt-0.5",children:e?.speed_level===1?"50%":e?.speed_level===3?"124%":e?.speed_level===4?"166%":"100%"})]}),h.jsxs("button",{onClick:()=>x.mutate(!(e?.chamber_light??!1)),disabled:R||x.isPending,className:"flex-1 flex flex-col items-center py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary disabled:opacity-50 disabled:cursor-not-allowed",children:[h.jsx("img",{src:"/icons/lamp.svg",alt:"",className:`w-5 h-5 ${e?.chamber_light?"icon-green":"icon-theme"}`}),h.jsx("span",{className:"text-[10px] text-bambu-gray mt-0.5",children:"Lamp"})]})]})]}),u&&h.jsx(yVe,{printer:t,status:e,onClose:()=>f(!1)}),g&&h.jsx(SVe,{printer:t,status:e,onClose:()=>m(!1)})]})}const MVe=220,_i=MVe/2,c_=108,vu=72,u_=35,hG=28;function bu(t,e,n,r,i,a,s=8){const o=[];for(let l=0;l<=s;l++){const c=i+(a-i)*(l/s),u=Math.round(t+r*Math.cos(c)),f=Math.round(e+r*Math.sin(c));o.push(`${u},${f}`)}for(let l=s;l>=0;l--){const c=i+(a-i)*(l/s),u=Math.round(t+n*Math.cos(c)),f=Math.round(e+n*Math.sin(c));o.push(`${u},${f}`)}return o.join(",")}const ea={up:{start:-Math.PI*3/4,end:-Math.PI/4},right:{start:-Math.PI/4,end:Math.PI/4},down:{start:Math.PI/4,end:Math.PI*3/4},left:{start:Math.PI*3/4,end:Math.PI*5/4}};function EVe({printerId:t,status:e,disabled:n=!1}){const r=(e?.connected??!1)&&!n,i=E.useId(),[a,s]=E.useState(null),o=yt({mutationFn:({axes:v,token:b})=>Fe.homeAxes(t,v,b),onSuccess:v=>{Wx(v)&&s({action:"home",token:v.token,warning:v.warning,onConfirm:()=>o.mutate({axes:"XY",token:v.token})})}}),l=yt({mutationFn:({axis:v,distance:b,token:x})=>Fe.moveAxis(t,v,b,3e3,x),onSuccess:(v,b)=>{Wx(v)&&s({action:"move",token:v.token,warning:v.warning,onConfirm:()=>l.mutate({axis:b.axis,distance:b.distance,token:v.token})})}}),c=()=>{m||o.mutate({axes:"XY"})},u=(v,b)=>{m||l.mutate({axis:v,distance:b})},f=()=>{a&&(a.onConfirm(),s(null))},g=o.isPending||l.isPending,m=!r||g,y=Array.from({length:16},(v,b)=>{const x=b/16*Math.PI*2,M=Math.round(_i+hG*Math.cos(x)),w=Math.round(_i+hG*Math.sin(x));return`${M},${w}`}).join(",");return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"relative w-[220px] h-[220px] mb-3.5",children:[h.jsx("img",{src:"/icons/jogpad.svg",alt:"Jog Pad",useMap:`#${i}`,className:"w-full h-full jogpad-theme"}),h.jsxs("map",{name:i,children:[h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.up.start,ea.up.end),onClick:()=>u("Y",10),title:"Y+10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.down.start,ea.down.end),onClick:()=>u("Y",-10),title:"Y-10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.left.start,ea.left.end),onClick:()=>u("X",-10),title:"X-10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.right.start,ea.right.end),onClick:()=>u("X",10),title:"X+10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.up.start,ea.up.end),onClick:()=>u("Y",1),title:"Y+1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.down.start,ea.down.end),onClick:()=>u("Y",-1),title:"Y-1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.left.start,ea.left.end),onClick:()=>u("X",-1),title:"X-1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.right.start,ea.right.end),onClick:()=>u("X",1),title:"X+1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:y,onClick:c,title:"Home XY",style:{cursor:m?"not-allowed":"pointer"}})]})]}),a&&h.jsx(ii,{title:"Confirm Action",message:a.warning,confirmText:"Continue",variant:"warning",onConfirm:f,onCancel:()=>s(null)})]})}function AVe({printerId:t,status:e,disabled:n=!1}){const r=(e?.connected??!1)&&!n,[i,a]=E.useState(null),s=yt({mutationFn:({distance:u,token:f})=>Fe.moveAxis(t,"Z",u,1e3,f),onSuccess:(u,f)=>{Wx(u)&&a({token:u.token,warning:u.warning,distance:f.distance})}}),o=u=>{s.mutate({distance:u})},l=()=>{i&&(s.mutate({distance:i.distance,token:i.token}),a(null))},c=!r||s.isPending;return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:()=>o(-10),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed up 10mm",children:"↑10"}),h.jsx("button",{onClick:()=>o(-1),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed up 1mm",children:"↑1"}),h.jsx("span",{className:"px-2 py-2 text-sm text-bambu-gray",children:"Bed"}),h.jsx("button",{onClick:()=>o(1),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed down 1mm",children:"↓1"}),h.jsx("button",{onClick:()=>o(10),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed down 10mm",children:"↓10"})]}),i&&h.jsx(ii,{title:"Confirm Bed Movement",message:i.warning,confirmText:"Continue",variant:"warning",onConfirm:l,onCancel:()=>a(null)})]})}function TVe({printerId:t,status:e,nozzleCount:n,disabled:r=!1}){const i=In(),a=(e?.connected??!1)&&!r,s=e?.state==="RUNNING"||e?.state==="PAUSE",o=n>1,l=e?.active_extruder??0,[c,u]=E.useState(null),f=yt({mutationFn:M=>(console.log("selectExtruder called with:",M),Fe.selectExtruder(t,M)),onSuccess:M=>{console.log("selectExtruder success:",M),setTimeout(()=>{i.invalidateQueries({queryKey:["printerStatuses"]})},2e3)},onError:M=>{console.error("selectExtruder error:",M)}}),g=yt({mutationFn:({distance:M,token:w})=>{const A=`G91 + `},u6e={onDragStart(t){let{active:e}=t;return"Picked up draggable item "+e.id+"."},onDragOver(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was moved over droppable area "+n.id+".":"Draggable item "+e.id+" is no longer over a droppable area."},onDragEnd(t){let{active:e,over:n}=t;return n?"Draggable item "+e.id+" was dropped over droppable area "+n.id:"Draggable item "+e.id+" was dropped."},onDragCancel(t){let{active:e}=t;return"Dragging was cancelled. Draggable item "+e.id+" was dropped."}};function d6e(t){let{announcements:e=u6e,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=c6e}=t;const{announce:a,announcement:s}=s6e(),o=bv("DndLiveRegion"),[l,c]=E.useState(!1);if(E.useEffect(()=>{c(!0)},[]),o6e(E.useMemo(()=>({onDragStart(f){let{active:g}=f;a(e.onDragStart({active:g}))},onDragMove(f){let{active:g,over:m}=f;e.onDragMove&&a(e.onDragMove({active:g,over:m}))},onDragOver(f){let{active:g,over:m}=f;a(e.onDragOver({active:g,over:m}))},onDragEnd(f){let{active:g,over:m}=f;a(e.onDragEnd({active:g,over:m}))},onDragCancel(f){let{active:g,over:m}=f;a(e.onDragCancel({active:g,over:m}))}}),[a,e])),!l)return null;const u=ur.createElement(ur.Fragment,null,ur.createElement(i6e,{id:r,value:i.draggable}),ur.createElement(a6e,{id:o,announcement:s}));return n?Jl.createPortal(u,n):u}var ni;(function(t){t.DragStart="dragStart",t.DragMove="dragMove",t.DragEnd="dragEnd",t.DragCancel="dragCancel",t.DragOver="dragOver",t.RegisterDroppable="registerDroppable",t.SetDroppableDisabled="setDroppableDisabled",t.UnregisterDroppable="unregisterDroppable"})(ni||(ni={}));function VS(){}function QV(t,e){return E.useMemo(()=>({sensor:t,options:e??{}}),[t,e])}function f6e(){for(var t=arguments.length,e=new Array(t),n=0;n[...e].filter(r=>r!=null),[...e])}const Ao=Object.freeze({x:0,y:0});function OJ(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function LJ(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return n-r}function h6e(t,e){let{data:{value:n}}=t,{data:{value:r}}=e;return r-n}function JV(t){let{left:e,top:n,height:r,width:i}=t;return[{x:e,y:n},{x:e+i,y:n},{x:e,y:n+r},{x:e+i,y:n+r}]}function IJ(t,e){if(!t||t.length===0)return null;const[n]=t;return n[e]}function eG(t,e,n){return e===void 0&&(e=t.left),n===void 0&&(n=t.top),{x:e+t.width*.5,y:n+t.height*.5}}const p6e=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const i=eG(e,e.left,e.top),a=[];for(const s of r){const{id:o}=s,l=n.get(o);if(l){const c=OJ(eG(l),i);a.push({id:o,data:{droppableContainer:s,value:c}})}}return a.sort(LJ)},m6e=t=>{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const i=JV(e),a=[];for(const s of r){const{id:o}=s,l=n.get(o);if(l){const c=JV(l),u=i.reduce((g,m,y)=>g+OJ(c[y],m),0),f=Number((u/4).toFixed(4));a.push({id:o,data:{droppableContainer:s,value:f}})}}return a.sort(LJ)};function g6e(t,e){const n=Math.max(e.top,t.top),r=Math.max(e.left,t.left),i=Math.min(e.left+e.width,t.left+t.width),a=Math.min(e.top+e.height,t.top+t.height),s=i-r,o=a-n;if(r{let{collisionRect:e,droppableRects:n,droppableContainers:r}=t;const i=[];for(const a of r){const{id:s}=a,o=n.get(s);if(o){const l=g6e(o,e);l>0&&i.push({id:s,data:{droppableContainer:a,value:l}})}}return i.sort(h6e)};function v6e(t,e,n){return{...t,scaleX:e&&n?e.width/n.width:1,scaleY:e&&n?e.height/n.height:1}}function jJ(t,e){return t&&e?{x:t.left-e.left,y:t.top-e.top}:Ao}function b6e(t){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),a=1;a({...s,top:s.top+t*o.y,bottom:s.bottom+t*o.y,left:s.left+t*o.x,right:s.right+t*o.x}),{...n})}}const y6e=b6e(1);function _6e(t){if(t.startsWith("matrix3d(")){const e=t.slice(9,-1).split(/, /);return{x:+e[12],y:+e[13],scaleX:+e[0],scaleY:+e[5]}}else if(t.startsWith("matrix(")){const e=t.slice(7,-1).split(/, /);return{x:+e[4],y:+e[5],scaleX:+e[0],scaleY:+e[3]}}return null}function S6e(t,e,n){const r=_6e(e);if(!r)return t;const{scaleX:i,scaleY:a,x:s,y:o}=r,l=t.left-s-(1-i)*parseFloat(n),c=t.top-o-(1-a)*parseFloat(n.slice(n.indexOf(" ")+1)),u=i?t.width/i:t.width,f=a?t.height/a:t.height;return{width:u,height:f,top:c,right:l+u,bottom:c+f,left:l}}const w6e={ignoreTransform:!1};function Bm(t,e){e===void 0&&(e=w6e);let n=t.getBoundingClientRect();if(e.ignoreTransform){const{transform:c,transformOrigin:u}=qa(t).getComputedStyle(t);c&&(n=S6e(n,c,u))}const{top:r,left:i,width:a,height:s,bottom:o,right:l}=n;return{top:r,left:i,width:a,height:s,bottom:o,right:l}}function tG(t){return Bm(t,{ignoreTransform:!0})}function M6e(t){const e=t.innerWidth,n=t.innerHeight;return{top:0,left:0,right:e,bottom:n,width:e,height:n}}function E6e(t,e){return e===void 0&&(e=qa(t).getComputedStyle(t)),e.position==="fixed"}function A6e(t,e){e===void 0&&(e=qa(t).getComputedStyle(t));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const a=e[i];return typeof a=="string"?n.test(a):!1})}function bM(t,e){const n=[];function r(i){if(e!=null&&n.length>=e||!i)return n;if(lL(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!xv(i)||PJ(i)||n.includes(i))return n;const a=qa(t).getComputedStyle(i);return i!==t&&A6e(i,a)&&n.push(i),E6e(i,a)?n:r(i.parentNode)}return t?r(t):n}function UJ(t){const[e]=bM(t,1);return e??null}function hN(t){return!vM||!t?null:Fm(t)?t:oL(t)?lL(t)||t===zm(t).scrollingElement?window:xv(t)?t:null:null}function FJ(t){return Fm(t)?t.scrollX:t.scrollLeft}function zJ(t){return Fm(t)?t.scrollY:t.scrollTop}function EP(t){return{x:FJ(t),y:zJ(t)}}var Ei;(function(t){t[t.Forward=1]="Forward",t[t.Backward=-1]="Backward"})(Ei||(Ei={}));function BJ(t){return!vM||!t?!1:t===document.scrollingElement}function HJ(t){const e={x:0,y:0},n=BJ(t)?{height:window.innerHeight,width:window.innerWidth}:{height:t.clientHeight,width:t.clientWidth},r={x:t.scrollWidth-n.width,y:t.scrollHeight-n.height},i=t.scrollTop<=e.y,a=t.scrollLeft<=e.x,s=t.scrollTop>=r.y,o=t.scrollLeft>=r.x;return{isTop:i,isLeft:a,isBottom:s,isRight:o,maxScroll:r,minScroll:e}}const T6e={x:.2,y:.2};function C6e(t,e,n,r,i){let{top:a,left:s,right:o,bottom:l}=n;r===void 0&&(r=10),i===void 0&&(i=T6e);const{isTop:c,isBottom:u,isLeft:f,isRight:g}=HJ(t),m={x:0,y:0},y={x:0,y:0},v={height:e.height*i.y,width:e.width*i.x};return!c&&a<=e.top+v.height?(m.y=Ei.Backward,y.y=r*Math.abs((e.top+v.height-a)/v.height)):!u&&l>=e.bottom-v.height&&(m.y=Ei.Forward,y.y=r*Math.abs((e.bottom-v.height-l)/v.height)),!g&&o>=e.right-v.width?(m.x=Ei.Forward,y.x=r*Math.abs((e.right-v.width-o)/v.width)):!f&&s<=e.left+v.width&&(m.x=Ei.Backward,y.x=r*Math.abs((e.left+v.width-s)/v.width)),{direction:m,speed:y}}function N6e(t){if(t===document.scrollingElement){const{innerWidth:a,innerHeight:s}=window;return{top:0,left:0,right:a,bottom:s,width:a,height:s}}const{top:e,left:n,right:r,bottom:i}=t.getBoundingClientRect();return{top:e,left:n,right:r,bottom:i,width:t.clientWidth,height:t.clientHeight}}function $J(t){return t.reduce((e,n)=>Bp(e,EP(n)),Ao)}function R6e(t){return t.reduce((e,n)=>e+FJ(n),0)}function P6e(t){return t.reduce((e,n)=>e+zJ(n),0)}function k6e(t,e){if(e===void 0&&(e=Bm),!t)return;const{top:n,left:r,bottom:i,right:a}=e(t);UJ(t)&&(i<=0||a<=0||n>=window.innerHeight||r>=window.innerWidth)&&t.scrollIntoView({block:"center",inline:"center"})}const D6e=[["x",["left","right"],R6e],["y",["top","bottom"],P6e]];class dL{constructor(e,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=bM(n),i=$J(r);this.rect={...e},this.width=e.width,this.height=e.height;for(const[a,s,o]of D6e)for(const l of s)Object.defineProperty(this,l,{get:()=>{const c=o(r),u=i[a]-c;return this.rect[l]+u},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class Ox{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=e}add(e,n,r){var i;(i=this.target)==null||i.addEventListener(e,n,r),this.listeners.push([e,n,r])}}function O6e(t){const{EventTarget:e}=qa(t);return t instanceof e?t:zm(t)}function pN(t,e){const n=Math.abs(t.x),r=Math.abs(t.y);return typeof e=="number"?Math.sqrt(n**2+r**2)>e:"x"in e&&"y"in e?n>e.x&&r>e.y:"x"in e?n>e.x:"y"in e?r>e.y:!1}var js;(function(t){t.Click="click",t.DragStart="dragstart",t.Keydown="keydown",t.ContextMenu="contextmenu",t.Resize="resize",t.SelectionChange="selectionchange",t.VisibilityChange="visibilitychange"})(js||(js={}));function nG(t){t.preventDefault()}function L6e(t){t.stopPropagation()}var _n;(function(t){t.Space="Space",t.Down="ArrowDown",t.Right="ArrowRight",t.Left="ArrowLeft",t.Up="ArrowUp",t.Esc="Escape",t.Enter="Enter",t.Tab="Tab"})(_n||(_n={}));const VJ={start:[_n.Space,_n.Enter],cancel:[_n.Esc],end:[_n.Space,_n.Enter,_n.Tab]},I6e=(t,e)=>{let{currentCoordinates:n}=e;switch(t.code){case _n.Right:return{...n,x:n.x+25};case _n.Left:return{...n,x:n.x-25};case _n.Down:return{...n,y:n.y+25};case _n.Up:return{...n,y:n.y-25}}};class fL{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:n}}=e;this.props=e,this.listeners=new Ox(zm(n)),this.windowListeners=new Ox(qa(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(js.Resize,this.handleCancel),this.windowListeners.add(js.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(js.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:e,onStart:n}=this.props,r=e.node.current;r&&k6e(r),n(Ao)}handleKeyDown(e){if(uL(e)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:a=VJ,coordinateGetter:s=I6e,scrollBehavior:o="smooth"}=i,{code:l}=e;if(a.end.includes(l)){this.handleEnd(e);return}if(a.cancel.includes(l)){this.handleCancel(e);return}const{collisionRect:c}=r.current,u=c?{x:c.left,y:c.top}:Ao;this.referenceCoordinates||(this.referenceCoordinates=u);const f=s(e,{active:n,context:r.current,currentCoordinates:u});if(f){const g=N0(f,u),m={x:0,y:0},{scrollableAncestors:y}=r.current;for(const v of y){const b=e.code,{isTop:x,isRight:M,isLeft:w,isBottom:A,maxScroll:T,minScroll:R}=HJ(v),N=N6e(v),j={x:Math.min(b===_n.Right?N.right-N.width/2:N.right,Math.max(b===_n.Right?N.left:N.left+N.width/2,f.x)),y:Math.min(b===_n.Down?N.bottom-N.height/2:N.bottom,Math.max(b===_n.Down?N.top:N.top+N.height/2,f.y))},C=b===_n.Right&&!M||b===_n.Left&&!w,k=b===_n.Down&&!A||b===_n.Up&&!x;if(C&&j.x!==f.x){const F=v.scrollLeft+g.x,I=b===_n.Right&&F<=T.x||b===_n.Left&&F>=R.x;if(I&&!g.y){v.scrollTo({left:F,behavior:o});return}I?m.x=v.scrollLeft-F:m.x=b===_n.Right?v.scrollLeft-T.x:v.scrollLeft-R.x,m.x&&v.scrollBy({left:-m.x,behavior:o});break}else if(k&&j.y!==f.y){const F=v.scrollTop+g.y,I=b===_n.Down&&F<=T.y||b===_n.Up&&F>=R.y;if(I&&!g.x){v.scrollTo({top:F,behavior:o});return}I?m.y=v.scrollTop-F:m.y=b===_n.Down?v.scrollTop-T.y:v.scrollTop-R.y,m.y&&v.scrollBy({top:-m.y,behavior:o});break}}this.handleMove(e,Bp(N0(f,this.referenceCoordinates),m))}}}handleMove(e,n){const{onMove:r}=this.props;e.preventDefault(),r(n)}handleEnd(e){const{onEnd:n}=this.props;e.preventDefault(),this.detach(),n()}handleCancel(e){const{onCancel:n}=this.props;e.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}fL.activators=[{eventName:"onKeyDown",handler:(t,e,n)=>{let{keyboardCodes:r=VJ,onActivation:i}=e,{active:a}=n;const{code:s}=t.nativeEvent;if(r.start.includes(s)){const o=a.activatorNode.current;return o&&t.target!==o?!1:(t.preventDefault(),i?.({event:t.nativeEvent}),!0)}return!1}}];function rG(t){return!!(t&&"distance"in t)}function iG(t){return!!(t&&"delay"in t)}class hL{constructor(e,n,r){var i;r===void 0&&(r=O6e(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=n;const{event:a}=e,{target:s}=a;this.props=e,this.events=n,this.document=zm(s),this.documentListeners=new Ox(this.document),this.listeners=new Ox(r),this.windowListeners=new Ox(qa(s)),this.initialCoordinates=(i=MP(a))!=null?i:Ao,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:e,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(js.Resize,this.handleCancel),this.windowListeners.add(js.DragStart,nG),this.windowListeners.add(js.VisibilityChange,this.handleCancel),this.windowListeners.add(js.ContextMenu,nG),this.documentListeners.add(js.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(iG(n)){this.timeoutId=setTimeout(this.handleStart,n.delay),this.handlePending(n);return}if(rG(n)){this.handlePending(n);return}}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,n){const{active:r,onPending:i}=this.props;i(r,e,this.initialCoordinates,n)}handleStart(){const{initialCoordinates:e}=this,{onStart:n}=this.props;e&&(this.activated=!0,this.documentListeners.add(js.Click,L6e,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(js.SelectionChange,this.removeTextSelection),n(e))}handleMove(e){var n;const{activated:r,initialCoordinates:i,props:a}=this,{onMove:s,options:{activationConstraint:o}}=a;if(!i)return;const l=(n=MP(e))!=null?n:Ao,c=N0(i,l);if(!r&&o){if(rG(o)){if(o.tolerance!=null&&pN(c,o.tolerance))return this.handleCancel();if(pN(c,o.distance))return this.handleStart()}if(iG(o)&&pN(c,o.tolerance))return this.handleCancel();this.handlePending(o,c);return}e.cancelable&&e.preventDefault(),s(l)}handleEnd(){const{onAbort:e,onEnd:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleCancel(){const{onAbort:e,onCancel:n}=this.props;this.detach(),this.activated||e(this.props.active),n()}handleKeydown(e){e.code===_n.Esc&&this.handleCancel()}removeTextSelection(){var e;(e=this.document.getSelection())==null||e.removeAllRanges()}}const j6e={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class pL extends hL{constructor(e){const{event:n}=e,r=zm(n.target);super(e,j6e,r)}}pL.activators=[{eventName:"onPointerDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return!n.isPrimary||n.button!==0?!1:(r?.({event:n}),!0)}}];const U6e={move:{name:"mousemove"},end:{name:"mouseup"}};var AP;(function(t){t[t.RightClick=2]="RightClick"})(AP||(AP={}));class F6e extends hL{constructor(e){super(e,U6e,zm(e.event.target))}}F6e.activators=[{eventName:"onMouseDown",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;return n.button===AP.RightClick?!1:(r?.({event:n}),!0)}}];const mN={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class z6e extends hL{constructor(e){super(e,mN)}static setup(){return window.addEventListener(mN.move.name,e,{capture:!1,passive:!1}),function(){window.removeEventListener(mN.move.name,e)};function e(){}}}z6e.activators=[{eventName:"onTouchStart",handler:(t,e)=>{let{nativeEvent:n}=t,{onActivation:r}=e;const{touches:i}=n;return i.length>1?!1:(r?.({event:n}),!0)}}];var Lx;(function(t){t[t.Pointer=0]="Pointer",t[t.DraggableRect=1]="DraggableRect"})(Lx||(Lx={}));var GS;(function(t){t[t.TreeOrder=0]="TreeOrder",t[t.ReversedTreeOrder=1]="ReversedTreeOrder"})(GS||(GS={}));function B6e(t){let{acceleration:e,activator:n=Lx.Pointer,canScroll:r,draggingRect:i,enabled:a,interval:s=5,order:o=GS.TreeOrder,pointerCoordinates:l,scrollableAncestors:c,scrollableAncestorRects:u,delta:f,threshold:g}=t;const m=$6e({delta:f,disabled:!a}),[y,v]=J8e(),b=E.useRef({x:0,y:0}),x=E.useRef({x:0,y:0}),M=E.useMemo(()=>{switch(n){case Lx.Pointer:return l?{top:l.y,bottom:l.y,left:l.x,right:l.x}:null;case Lx.DraggableRect:return i}},[n,i,l]),w=E.useRef(null),A=E.useCallback(()=>{const R=w.current;if(!R)return;const N=b.current.x*x.current.x,j=b.current.y*x.current.y;R.scrollBy(N,j)},[]),T=E.useMemo(()=>o===GS.TreeOrder?[...c].reverse():c,[o,c]);E.useEffect(()=>{if(!a||!c.length||!M){v();return}for(const R of T){if(r?.(R)===!1)continue;const N=c.indexOf(R),j=u[N];if(!j)continue;const{direction:C,speed:k}=C6e(R,j,M,e,g);for(const F of["x","y"])m[F][C[F]]||(k[F]=0,C[F]=0);if(k.x>0||k.y>0){v(),w.current=R,y(A,s),b.current=k,x.current=C;return}}b.current={x:0,y:0},x.current={x:0,y:0},v()},[e,A,r,v,a,s,JSON.stringify(M),JSON.stringify(m),y,c,T,u,JSON.stringify(g)])}const H6e={x:{[Ei.Backward]:!1,[Ei.Forward]:!1},y:{[Ei.Backward]:!1,[Ei.Forward]:!1}};function $6e(t){let{delta:e,disabled:n}=t;const r=wP(e);return vv(i=>{if(n||!r||!i)return H6e;const a={x:Math.sign(e.x-r.x),y:Math.sign(e.y-r.y)};return{x:{[Ei.Backward]:i.x[Ei.Backward]||a.x===-1,[Ei.Forward]:i.x[Ei.Forward]||a.x===1},y:{[Ei.Backward]:i.y[Ei.Backward]||a.y===-1,[Ei.Forward]:i.y[Ei.Forward]||a.y===1}}},[n,e,r])}function V6e(t,e){const n=e!=null?t.get(e):void 0,r=n?n.node.current:null;return vv(i=>{var a;return e==null?null:(a=r??i)!=null?a:null},[r,e])}function G6e(t,e){return E.useMemo(()=>t.reduce((n,r)=>{const{sensor:i}=r,a=i.activators.map(s=>({eventName:s.eventName,handler:e(s.handler,r)}));return[...n,...a]},[]),[t,e])}var P0;(function(t){t[t.Always=0]="Always",t[t.BeforeDragging=1]="BeforeDragging",t[t.WhileDragging=2]="WhileDragging"})(P0||(P0={}));var TP;(function(t){t.Optimized="optimized"})(TP||(TP={}));const aG=new Map;function W6e(t,e){let{dragging:n,dependencies:r,config:i}=e;const[a,s]=E.useState(null),{frequency:o,measure:l,strategy:c}=i,u=E.useRef(t),f=b(),g=C0(f),m=E.useCallback(function(x){x===void 0&&(x=[]),!g.current&&s(M=>M===null?x:M.concat(x.filter(w=>!M.includes(w))))},[g]),y=E.useRef(null),v=vv(x=>{if(f&&!n)return aG;if(!x||x===aG||u.current!==t||a!=null){const M=new Map;for(let w of t){if(!w)continue;if(a&&a.length>0&&!a.includes(w.id)&&w.rect.current){M.set(w.id,w.rect.current);continue}const A=w.node.current,T=A?new dL(l(A),A):null;w.rect.current=T,T&&M.set(w.id,T)}return M}return x},[t,a,n,f,l]);return E.useEffect(()=>{u.current=t},[t]),E.useEffect(()=>{f||m()},[n,f]),E.useEffect(()=>{a&&a.length>0&&s(null)},[JSON.stringify(a)]),E.useEffect(()=>{f||typeof o!="number"||y.current!==null||(y.current=setTimeout(()=>{m(),y.current=null},o))},[o,f,m,...r]),{droppableRects:v,measureDroppableContainers:m,measuringScheduled:a!=null};function b(){switch(c){case P0.Always:return!1;case P0.BeforeDragging:return n;default:return!n}}}function GJ(t,e){return vv(n=>t?n||(typeof e=="function"?e(t):t):null,[e,t])}function q6e(t,e){return GJ(t,e)}function X6e(t){let{callback:e,disabled:n}=t;const r=cL(e),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:a}=window;return new a(r)},[r,n]);return E.useEffect(()=>()=>i?.disconnect(),[i]),i}function yM(t){let{callback:e,disabled:n}=t;const r=cL(e),i=E.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:a}=window;return new a(r)},[n]);return E.useEffect(()=>()=>i?.disconnect(),[i]),i}function K6e(t){return new dL(Bm(t),t)}function sG(t,e,n){e===void 0&&(e=K6e);const[r,i]=E.useState(null);function a(){i(l=>{if(!t)return null;if(t.isConnected===!1){var c;return(c=l??n)!=null?c:null}const u=e(t);return JSON.stringify(l)===JSON.stringify(u)?l:u})}const s=X6e({callback(l){if(t)for(const c of l){const{type:u,target:f}=c;if(u==="childList"&&f instanceof HTMLElement&&f.contains(t)){a();break}}}}),o=yM({callback:a});return ll(()=>{a(),t?(o?.observe(t),s?.observe(document.body,{childList:!0,subtree:!0})):(o?.disconnect(),s?.disconnect())},[t]),r}function Y6e(t){const e=GJ(t);return jJ(t,e)}const oG=[];function Z6e(t){const e=E.useRef(t),n=vv(r=>t?r&&r!==oG&&t&&e.current&&t.parentNode===e.current.parentNode?r:bM(t):oG,[t]);return E.useEffect(()=>{e.current=t},[t]),n}function Q6e(t){const[e,n]=E.useState(null),r=E.useRef(t),i=E.useCallback(a=>{const s=hN(a.target);s&&n(o=>o?(o.set(s,EP(s)),new Map(o)):null)},[]);return E.useEffect(()=>{const a=r.current;if(t!==a){s(a);const o=t.map(l=>{const c=hN(l);return c?(c.addEventListener("scroll",i,{passive:!0}),[c,EP(c)]):null}).filter(l=>l!=null);n(o.length?new Map(o):null),r.current=t}return()=>{s(t),s(a)};function s(o){o.forEach(l=>{const c=hN(l);c?.removeEventListener("scroll",i)})}},[i,t]),E.useMemo(()=>t.length?e?Array.from(e.values()).reduce((a,s)=>Bp(a,s),Ao):$J(t):Ao,[t,e])}function lG(t,e){e===void 0&&(e=[]);const n=E.useRef(null);return E.useEffect(()=>{n.current=null},e),E.useEffect(()=>{const r=t!==Ao;r&&!n.current&&(n.current=t),!r&&n.current&&(n.current=null)},[t]),n.current?N0(t,n.current):Ao}function J6e(t){E.useEffect(()=>{if(!vM)return;const e=t.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of e)n?.()}},t.map(e=>{let{sensor:n}=e;return n}))}function e$e(t,e){return E.useMemo(()=>t.reduce((n,r)=>{let{eventName:i,handler:a}=r;return n[i]=s=>{a(s,e)},n},{}),[t,e])}function WJ(t){return E.useMemo(()=>t?M6e(t):null,[t])}const cG=[];function t$e(t,e){e===void 0&&(e=Bm);const[n]=t,r=WJ(n?qa(n):null),[i,a]=E.useState(cG);function s(){a(()=>t.length?t.map(l=>BJ(l)?r:new dL(e(l),l)):cG)}const o=yM({callback:s});return ll(()=>{o?.disconnect(),s(),t.forEach(l=>o?.observe(l))},[t]),i}function n$e(t){if(!t)return null;if(t.children.length>1)return t;const e=t.children[0];return xv(e)?e:t}function r$e(t){let{measure:e}=t;const[n,r]=E.useState(null),i=E.useCallback(c=>{for(const{target:u}of c)if(xv(u)){r(f=>{const g=e(u);return f?{...f,width:g.width,height:g.height}:g});break}},[e]),a=yM({callback:i}),s=E.useCallback(c=>{const u=n$e(c);a?.disconnect(),u&&a?.observe(u),r(u?e(u):null)},[e,a]),[o,l]=$S(s);return E.useMemo(()=>({nodeRef:o,rect:n,setRef:l}),[n,o,l])}const i$e=[{sensor:pL,options:{}},{sensor:fL,options:{}}],a$e={current:{}},L_={draggable:{measure:tG},droppable:{measure:tG,strategy:P0.WhileDragging,frequency:TP.Optimized},dragOverlay:{measure:Bm}};class Ix extends Map{get(e){var n;return e!=null&&(n=super.get(e))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:n}=e;return!n})}getNodeFor(e){var n,r;return(n=(r=this.get(e))==null?void 0:r.node.current)!=null?n:void 0}}const s$e={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new Ix,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:VS},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:L_,measureDroppableContainers:VS,windowRect:null,measuringScheduled:!1},o$e={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:VS,draggableNodes:new Map,over:null,measureDroppableContainers:VS},_M=E.createContext(o$e),qJ=E.createContext(s$e);function l$e(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new Ix}}}function c$e(t,e){switch(e.type){case ni.DragStart:return{...t,draggable:{...t.draggable,initialCoordinates:e.initialCoordinates,active:e.active}};case ni.DragMove:return t.draggable.active==null?t:{...t,draggable:{...t.draggable,translate:{x:e.coordinates.x-t.draggable.initialCoordinates.x,y:e.coordinates.y-t.draggable.initialCoordinates.y}}};case ni.DragEnd:case ni.DragCancel:return{...t,draggable:{...t.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case ni.RegisterDroppable:{const{element:n}=e,{id:r}=n,i=new Ix(t.droppable.containers);return i.set(r,n),{...t,droppable:{...t.droppable,containers:i}}}case ni.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=e,a=t.droppable.containers.get(n);if(!a||r!==a.key)return t;const s=new Ix(t.droppable.containers);return s.set(n,{...a,disabled:i}),{...t,droppable:{...t.droppable,containers:s}}}case ni.UnregisterDroppable:{const{id:n,key:r}=e,i=t.droppable.containers.get(n);if(!i||r!==i.key)return t;const a=new Ix(t.droppable.containers);return a.delete(n),{...t,droppable:{...t.droppable,containers:a}}}default:return t}}function u$e(t){let{disabled:e}=t;const{active:n,activatorEvent:r,draggableNodes:i}=E.useContext(_M),a=wP(r),s=wP(n?.id);return E.useEffect(()=>{if(!e&&!r&&a&&s!=null){if(!uL(a)||document.activeElement===a.target)return;const o=i.get(s);if(!o)return;const{activatorNode:l,node:c}=o;if(!l.current&&!c.current)return;requestAnimationFrame(()=>{for(const u of[l.current,c.current]){if(!u)continue;const f=n6e(u);if(f){f.focus();break}}})}},[r,e,i,s,a]),null}function d$e(t,e){let{transform:n,...r}=e;return t!=null&&t.length?t.reduce((i,a)=>a({transform:i,...r}),n):n}function f$e(t){return E.useMemo(()=>({draggable:{...L_.draggable,...t?.draggable},droppable:{...L_.droppable,...t?.droppable},dragOverlay:{...L_.dragOverlay,...t?.dragOverlay}}),[t?.draggable,t?.droppable,t?.dragOverlay])}function h$e(t){let{activeNode:e,measure:n,initialRect:r,config:i=!0}=t;const a=E.useRef(!1),{x:s,y:o}=typeof i=="boolean"?{x:i,y:i}:i;ll(()=>{if(!s&&!o||!e){a.current=!1;return}if(a.current||!r)return;const c=e?.node.current;if(!c||c.isConnected===!1)return;const u=n(c),f=jJ(u,r);if(s||(f.x=0),o||(f.y=0),a.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const g=UJ(c);g&&g.scrollBy({top:f.y,left:f.x})}},[e,s,o,r,n])}const XJ=E.createContext({...Ao,scaleX:1,scaleY:1});var Cu;(function(t){t[t.Uninitialized=0]="Uninitialized",t[t.Initializing=1]="Initializing",t[t.Initialized=2]="Initialized"})(Cu||(Cu={}));const p$e=E.memo(function(e){var n,r,i,a;let{id:s,accessibility:o,autoScroll:l=!0,children:c,sensors:u=i$e,collisionDetection:f=x6e,measuring:g,modifiers:m,...y}=e;const v=E.useReducer(c$e,void 0,l$e),[b,x]=v,[M,w]=l6e(),[A,T]=E.useState(Cu.Uninitialized),R=A===Cu.Initialized,{draggable:{active:N,nodes:j,translate:C},droppable:{containers:k}}=b,F=N!=null?j.get(N):null,I=E.useRef({initial:null,translated:null}),B=E.useMemo(()=>{var Le;return N!=null?{id:N,data:(Le=F?.data)!=null?Le:a$e,rect:I}:null},[N,F]),O=E.useRef(null),[H,$]=E.useState(null),[W,K]=E.useState(null),Y=C0(y,Object.values(y)),se=bv("DndDescribedBy",s),V=E.useMemo(()=>k.getEnabled(),[k]),X=f$e(g),{droppableRects:ae,measureDroppableContainers:ce,measuringScheduled:ve}=W6e(V,{dragging:R,dependencies:[C.x,C.y],config:X.droppable}),te=V6e(j,N),xe=E.useMemo(()=>W?MP(W):null,[W]),Re=fe(),he=q6e(te,X.draggable.measure);h$e({activeNode:N!=null?j.get(N):null,config:Re.layoutShiftCompensation,initialRect:he,measure:X.draggable.measure});const ge=sG(te,X.draggable.measure,he),De=sG(te?te.parentElement:null),oe=E.useRef({activatorEvent:null,active:null,activeNode:te,collisionRect:null,collisions:null,droppableRects:ae,draggableNodes:j,draggingNode:null,draggingNodeRect:null,droppableContainers:k,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ct=k.getNodeFor((n=oe.current.over)==null?void 0:n.id),z=r$e({measure:X.dragOverlay.measure}),G=(r=z.nodeRef.current)!=null?r:te,re=R?(i=z.rect)!=null?i:ge:null,Q=!!(z.nodeRef.current&&z.rect),ee=Y6e(Q?null:ge),le=WJ(G?qa(G):null),ke=Z6e(R?ct??te:null),Ne=t$e(ke),ne=d$e(m,{transform:{x:C.x-ee.x,y:C.y-ee.y,scaleX:1,scaleY:1},activatorEvent:W,active:B,activeNodeRect:ge,containerNodeRect:De,draggingNodeRect:re,over:oe.current.over,overlayNodeRect:z.rect,scrollableAncestors:ke,scrollableAncestorRects:Ne,windowRect:le}),U=xe?Bp(xe,C):null,L=Q6e(ke),Z=lG(L),me=lG(L,[ge]),ye=Bp(ne,Z),pe=re?y6e(re,ne):null,Ze=B&&pe?f({active:B,collisionRect:pe,droppableRects:ae,droppableContainers:V,pointerCoordinates:U}):null,Ie=IJ(Ze,"id"),[Xe,st]=E.useState(null),je=Q?ne:Bp(ne,me),Pe=v6e(je,(a=Xe?.rect)!=null?a:null,ge),pt=E.useRef(null),rt=E.useCallback((Le,Me)=>{let{sensor:be,options:He}=Me;if(O.current==null)return;const ut=j.get(O.current);if(!ut)return;const _t=Le.nativeEvent,Rt=new be({active:O.current,activeNode:ut,event:_t,options:He,context:oe,onAbort(Dt){if(!j.get(Dt))return;const{onDragAbort:qn}=Y.current,pi={id:Dt};qn?.(pi),M({type:"onDragAbort",event:pi})},onPending(Dt,Rn,qn,pi){if(!j.get(Dt))return;const{onDragPending:mi}=Y.current,Pi={id:Dt,constraint:Rn,initialCoordinates:qn,offset:pi};mi?.(Pi),M({type:"onDragPending",event:Pi})},onStart(Dt){const Rn=O.current;if(Rn==null)return;const qn=j.get(Rn);if(!qn)return;const{onDragStart:pi}=Y.current,Zr={activatorEvent:_t,active:{id:Rn,data:qn.data,rect:I}};Jl.unstable_batchedUpdates(()=>{pi?.(Zr),T(Cu.Initializing),x({type:ni.DragStart,initialCoordinates:Dt,active:Rn}),M({type:"onDragStart",event:Zr}),$(pt.current),K(_t)})},onMove(Dt){x({type:ni.DragMove,coordinates:Dt})},onEnd:ln(ni.DragEnd),onCancel:ln(ni.DragCancel)});pt.current=Rt;function ln(Dt){return async function(){const{active:qn,collisions:pi,over:Zr,scrollAdjustedTranslate:mi}=oe.current;let Pi=null;if(qn&&mi){const{cancelDrop:qi}=Y.current;Pi={activatorEvent:_t,active:qn,collisions:pi,delta:mi,over:Zr},Dt===ni.DragEnd&&typeof qi=="function"&&await Promise.resolve(qi(Pi))&&(Dt=ni.DragCancel)}O.current=null,Jl.unstable_batchedUpdates(()=>{x({type:Dt}),T(Cu.Uninitialized),st(null),$(null),K(null),pt.current=null;const qi=Dt===ni.DragEnd?"onDragEnd":"onDragCancel";if(Pi){const Lr=Y.current[qi];Lr?.(Pi),M({type:qi,event:Pi})}})}}},[j]),nt=E.useCallback((Le,Me)=>(be,He)=>{const ut=be.nativeEvent,_t=j.get(He);if(O.current!==null||!_t||ut.dndKit||ut.defaultPrevented)return;const Rt={active:_t};Le(be,Me.options,Rt)===!0&&(ut.dndKit={capturedBy:Me.sensor},O.current=He,rt(be,Me))},[j,rt]),dt=G6e(u,nt);J6e(u),ll(()=>{ge&&A===Cu.Initializing&&T(Cu.Initialized)},[ge,A]),E.useEffect(()=>{const{onDragMove:Le}=Y.current,{active:Me,activatorEvent:be,collisions:He,over:ut}=oe.current;if(!Me||!be)return;const _t={active:Me,activatorEvent:be,collisions:He,delta:{x:ye.x,y:ye.y},over:ut};Jl.unstable_batchedUpdates(()=>{Le?.(_t),M({type:"onDragMove",event:_t})})},[ye.x,ye.y]),E.useEffect(()=>{const{active:Le,activatorEvent:Me,collisions:be,droppableContainers:He,scrollAdjustedTranslate:ut}=oe.current;if(!Le||O.current==null||!Me||!ut)return;const{onDragOver:_t}=Y.current,Rt=He.get(Ie),ln=Rt&&Rt.rect.current?{id:Rt.id,rect:Rt.rect.current,data:Rt.data,disabled:Rt.disabled}:null,Dt={active:Le,activatorEvent:Me,collisions:be,delta:{x:ut.x,y:ut.y},over:ln};Jl.unstable_batchedUpdates(()=>{st(ln),_t?.(Dt),M({type:"onDragOver",event:Dt})})},[Ie]),ll(()=>{oe.current={activatorEvent:W,active:B,activeNode:te,collisionRect:pe,collisions:Ze,droppableRects:ae,draggableNodes:j,draggingNode:G,draggingNodeRect:re,droppableContainers:k,over:Xe,scrollableAncestors:ke,scrollAdjustedTranslate:ye},I.current={initial:re,translated:pe}},[B,te,Ze,pe,j,G,re,ae,k,Xe,ke,ye]),B6e({...Re,delta:C,draggingRect:pe,pointerCoordinates:U,scrollableAncestors:ke,scrollableAncestorRects:Ne});const de=E.useMemo(()=>({active:B,activeNode:te,activeNodeRect:ge,activatorEvent:W,collisions:Ze,containerNodeRect:De,dragOverlay:z,draggableNodes:j,droppableContainers:k,droppableRects:ae,over:Xe,measureDroppableContainers:ce,scrollableAncestors:ke,scrollableAncestorRects:Ne,measuringConfiguration:X,measuringScheduled:ve,windowRect:le}),[B,te,ge,W,Ze,De,z,j,k,ae,Xe,ce,ke,Ne,X,ve,le]),it=E.useMemo(()=>({activatorEvent:W,activators:dt,active:B,activeNodeRect:ge,ariaDescribedById:{draggable:se},dispatch:x,draggableNodes:j,over:Xe,measureDroppableContainers:ce}),[W,dt,B,ge,x,se,j,Xe,ce]);return ur.createElement(DJ.Provider,{value:w},ur.createElement(_M.Provider,{value:it},ur.createElement(qJ.Provider,{value:de},ur.createElement(XJ.Provider,{value:Pe},c)),ur.createElement(u$e,{disabled:o?.restoreFocus===!1})),ur.createElement(d6e,{...o,hiddenTextDescribedById:se}));function fe(){const Le=H?.autoScrollEnabled===!1,Me=typeof l=="object"?l.enabled===!1:l===!1,be=R&&!Le&&!Me;return typeof l=="object"?{...l,enabled:be}:{enabled:be}}}),m$e=E.createContext(null),uG="button",g$e="Draggable";function x$e(t){let{id:e,data:n,disabled:r=!1,attributes:i}=t;const a=bv(g$e),{activators:s,activatorEvent:o,active:l,activeNodeRect:c,ariaDescribedById:u,draggableNodes:f,over:g}=E.useContext(_M),{role:m=uG,roleDescription:y="draggable",tabIndex:v=0}=i??{},b=l?.id===e,x=E.useContext(b?XJ:m$e),[M,w]=$S(),[A,T]=$S(),R=e$e(s,e),N=C0(n);ll(()=>(f.set(e,{id:e,key:a,node:M,activatorNode:A,data:N}),()=>{const C=f.get(e);C&&C.key===a&&f.delete(e)}),[f,e]);const j=E.useMemo(()=>({role:m,tabIndex:v,"aria-disabled":r,"aria-pressed":b&&m===uG?!0:void 0,"aria-roledescription":y,"aria-describedby":u.draggable}),[r,m,v,b,y,u.draggable]);return{active:l,activatorEvent:o,activeNodeRect:c,attributes:j,isDragging:b,listeners:r?void 0:R,node:M,over:g,setNodeRef:w,setActivatorNodeRef:T,transform:x}}function v$e(){return E.useContext(qJ)}const b$e="Droppable",y$e={timeout:25};function _$e(t){let{data:e,disabled:n=!1,id:r,resizeObserverConfig:i}=t;const a=bv(b$e),{active:s,dispatch:o,over:l,measureDroppableContainers:c}=E.useContext(_M),u=E.useRef({disabled:n}),f=E.useRef(!1),g=E.useRef(null),m=E.useRef(null),{disabled:y,updateMeasurementsFor:v,timeout:b}={...y$e,...i},x=C0(v??r),M=E.useCallback(()=>{if(!f.current){f.current=!0;return}m.current!=null&&clearTimeout(m.current),m.current=setTimeout(()=>{c(Array.isArray(x.current)?x.current:[x.current]),m.current=null},b)},[b]),w=yM({callback:M,disabled:y||!s}),A=E.useCallback((j,C)=>{w&&(C&&(w.unobserve(C),f.current=!1),j&&w.observe(j))},[w]),[T,R]=$S(A),N=C0(e);return E.useEffect(()=>{!w||!T.current||(w.disconnect(),f.current=!1,w.observe(T.current))},[T,w]),E.useEffect(()=>(o({type:ni.RegisterDroppable,element:{id:r,key:a,disabled:n,node:T,rect:g,data:N}}),()=>o({type:ni.UnregisterDroppable,key:a,id:r})),[r]),E.useEffect(()=>{n!==u.current.disabled&&(o({type:ni.SetDroppableDisabled,id:r,key:a,disabled:n}),u.current.disabled=n)},[r,a,n,o]),{active:s,rect:g,isOver:l?.id===r,node:T,over:l,setNodeRef:R}}function mL(t,e,n){const r=t.slice();return r.splice(n<0?r.length+n:n,0,r.splice(e,1)[0]),r}function S$e(t,e){return t.reduce((n,r,i)=>{const a=e.get(r);return a&&(n[i]=a),n},Array(t.length))}function l_(t){return t!==null&&t>=0}function w$e(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n{let{rects:e,activeIndex:n,overIndex:r,index:i}=t;const a=mL(e,r,n),s=e[i],o=a[i];return!o||!s?null:{x:o.left-s.left,y:o.top-s.top,scaleX:o.width/s.width,scaleY:o.height/s.height}},KJ="Sortable",YJ=ur.createContext({activeIndex:-1,containerId:KJ,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:gL,disabled:{draggable:!1,droppable:!1}});function E$e(t){let{children:e,id:n,items:r,strategy:i=gL,disabled:a=!1}=t;const{active:s,dragOverlay:o,droppableRects:l,over:c,measureDroppableContainers:u}=v$e(),f=bv(KJ,n),g=o.rect!==null,m=E.useMemo(()=>r.map(R=>typeof R=="object"&&"id"in R?R.id:R),[r]),y=s!=null,v=s?m.indexOf(s.id):-1,b=c?m.indexOf(c.id):-1,x=E.useRef(m),M=!w$e(m,x.current),w=b!==-1&&v===-1||M,A=M$e(a);ll(()=>{M&&y&&u(m)},[M,m,y,u]),E.useEffect(()=>{x.current=m},[m]);const T=E.useMemo(()=>({activeIndex:v,containerId:f,disabled:A,disableTransforms:w,items:m,overIndex:b,useDragOverlay:g,sortedRects:S$e(m,l),strategy:i}),[v,f,A.draggable,A.droppable,w,m,b,l,g,i]);return ur.createElement(YJ.Provider,{value:T},e)}const A$e=t=>{let{id:e,items:n,activeIndex:r,overIndex:i}=t;return mL(n,r,i).indexOf(e)},T$e=t=>{let{containerId:e,isSorting:n,wasDragging:r,index:i,items:a,newIndex:s,previousItems:o,previousContainerId:l,transition:c}=t;return!c||!r||o!==a&&i===s?!1:n?!0:s!==i&&e===l},C$e={duration:200,easing:"ease"},ZJ="transform",N$e=R0.Transition.toString({property:ZJ,duration:0,easing:"linear"}),R$e={roleDescription:"sortable"};function P$e(t){let{disabled:e,index:n,node:r,rect:i}=t;const[a,s]=E.useState(null),o=E.useRef(n);return ll(()=>{if(!e&&n!==o.current&&r.current){const l=i.current;if(l){const c=Bm(r.current,{ignoreTransform:!0}),u={x:l.left-c.left,y:l.top-c.top,scaleX:l.width/c.width,scaleY:l.height/c.height};(u.x||u.y)&&s(u)}}n!==o.current&&(o.current=n)},[e,n,r,i]),E.useEffect(()=>{a&&s(null)},[a]),a}function k$e(t){let{animateLayoutChanges:e=T$e,attributes:n,disabled:r,data:i,getNewIndex:a=A$e,id:s,strategy:o,resizeObserverConfig:l,transition:c=C$e}=t;const{items:u,containerId:f,activeIndex:g,disabled:m,disableTransforms:y,sortedRects:v,overIndex:b,useDragOverlay:x,strategy:M}=E.useContext(YJ),w=D$e(r,m),A=u.indexOf(s),T=E.useMemo(()=>({sortable:{containerId:f,index:A,items:u},...i}),[f,i,A,u]),R=E.useMemo(()=>u.slice(u.indexOf(s)),[u,s]),{rect:N,node:j,isOver:C,setNodeRef:k}=_$e({id:s,data:T,disabled:w.droppable,resizeObserverConfig:{updateMeasurementsFor:R,...l}}),{active:F,activatorEvent:I,activeNodeRect:B,attributes:O,setNodeRef:H,listeners:$,isDragging:W,over:K,setActivatorNodeRef:Y,transform:se}=x$e({id:s,data:T,attributes:{...R$e,...n},disabled:w.draggable}),V=Q8e(k,H),X=!!F,ae=X&&!y&&l_(g)&&l_(b),ce=!x&&W,ve=ce&&ae?se:null,xe=ae?ve??(o??M)({rects:v,activeNodeRect:B,activeIndex:g,overIndex:b,index:A}):null,Re=l_(g)&&l_(b)?a({id:s,items:u,activeIndex:g,overIndex:b}):A,he=F?.id,ge=E.useRef({activeId:he,items:u,newIndex:Re,containerId:f}),De=u!==ge.current.items,oe=e({active:F,containerId:f,isDragging:W,isSorting:X,id:s,index:A,items:u,newIndex:ge.current.newIndex,previousItems:ge.current.items,previousContainerId:ge.current.containerId,transition:c,wasDragging:ge.current.activeId!=null}),ct=P$e({disabled:!oe,index:A,node:j,rect:N});return E.useEffect(()=>{X&&ge.current.newIndex!==Re&&(ge.current.newIndex=Re),f!==ge.current.containerId&&(ge.current.containerId=f),u!==ge.current.items&&(ge.current.items=u)},[X,Re,f,u]),E.useEffect(()=>{if(he===ge.current.activeId)return;if(he!=null&&ge.current.activeId==null){ge.current.activeId=he;return}const G=setTimeout(()=>{ge.current.activeId=he},50);return()=>clearTimeout(G)},[he]),{active:F,activeIndex:g,attributes:O,data:T,rect:N,index:A,newIndex:Re,items:u,isOver:C,isSorting:X,isDragging:W,listeners:$,node:j,overIndex:b,over:K,setNodeRef:V,setActivatorNodeRef:Y,setDroppableNodeRef:k,setDraggableNodeRef:H,transform:ct??xe,transition:z()};function z(){if(ct||De&&ge.current.newIndex===A)return N$e;if(!(ce&&!uL(I)||!c)&&(X||oe))return R0.Transition.toString({...c,property:ZJ})}}function D$e(t,e){var n,r;return typeof t=="boolean"?{draggable:t,droppable:!1}:{draggable:(n=t?.draggable)!=null?n:e.draggable,droppable:(r=t?.droppable)!=null?r:e.droppable}}function WS(t){if(!t)return!1;const e=t.data.current;return!!(e&&"sortable"in e&&typeof e.sortable=="object"&&"containerId"in e.sortable&&"items"in e.sortable&&"index"in e.sortable)}const O$e=[_n.Down,_n.Right,_n.Up,_n.Left],L$e=(t,e)=>{let{context:{active:n,collisionRect:r,droppableRects:i,droppableContainers:a,over:s,scrollableAncestors:o}}=e;if(O$e.includes(t.code)){if(t.preventDefault(),!n||!r)return;const l=[];a.getEnabled().forEach(f=>{if(!f||f!=null&&f.disabled)return;const g=i.get(f.id);if(g)switch(t.code){case _n.Down:r.topg.top&&l.push(f);break;case _n.Left:r.left>g.left&&l.push(f);break;case _n.Right:r.left1&&(u=c[1].id),u!=null){const f=a.get(n.id),g=a.get(u),m=g?i.get(g.id):null,y=g?.node.current;if(y&&m&&f&&g){const b=bM(y).some((R,N)=>o[N]!==R),x=QJ(f,g),M=I$e(f,g),w=b||!x?{x:0,y:0}:{x:M?r.width-m.width:0,y:M?r.height-m.height:0},A={x:m.left,y:m.top};return w.x&&w.y?A:N0(A,w)}}}};function QJ(t,e){return!WS(t)||!WS(e)?!1:t.data.current.sortable.containerId===e.data.current.sortable.containerId}function I$e(t,e){return!WS(t)||!WS(e)||!QJ(t,e)?!1:t.data.current.sortable.index{const b={};return t.forEach(x=>{b[x.id]=x.defaultSize||4}),b},[i,a]=E.useState(()=>{const b=localStorage.getItem(e);if(b)try{const x=JSON.parse(b);return x.sizes||(x.sizes=r()),x}catch{}return{order:t.map(x=>x.id),hidden:t.filter(x=>x.defaultVisible===!1).map(x=>x.id),sizes:r()}}),[s,o]=E.useState(!1);E.useEffect(()=>{localStorage.setItem(e,JSON.stringify(i))},[i,e]),E.useEffect(()=>{const x=t.map(M=>M.id).filter(M=>!i.order.includes(M));x.length>0&&a(M=>({...M,order:[...M.order,...x]}))},[t,i.order]);const l=f6e(QV(pL,{activationConstraint:{distance:8}}),QV(fL,{coordinateGetter:L$e})),c=b=>{const{active:x,over:M}=b;M&&x.id!==M.id&&a(w=>{const A=w.order.indexOf(x.id),T=w.order.indexOf(M.id);return{...w,order:mL(w.order,A,T)}})},u=b=>{a(x=>({...x,hidden:x.hidden.includes(b)?x.hidden.filter(M=>M!==b):[...x.hidden,b]}))},f=b=>{a(x=>{const M=x.sizes[b]||4,w=M===1?2:M===2?4:1;return{...x,sizes:{...x.sizes,[b]:w}}})},g=()=>{const b={order:t.map(x=>x.id),hidden:t.filter(x=>x.defaultVisible===!1).map(x=>x.id),sizes:r()};a(b)},m=i.order.map(b=>t.find(x=>x.id===b)).filter(Boolean),y=m.filter(b=>!i.hidden.includes(b.id)),v=m.filter(b=>i.hidden.includes(b.id));return h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-end gap-2",children:[v.length>0&&h.jsxs(lt,{variant:"secondary",size:"sm",onClick:()=>o(!s),children:[h.jsx(YU,{className:"w-4 h-4"}),v.length," Hidden"]}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:g,children:[h.jsx(nw,{className:"w-4 h-4"}),"Reset Layout"]})]}),s&&v.length>0&&h.jsxs("div",{className:"p-4 bg-bambu-dark rounded-xl border border-bambu-dark-tertiary",children:[h.jsx("p",{className:"text-sm text-bambu-gray mb-3",children:"Hidden widgets (click to show):"}),h.jsx("div",{className:"flex flex-wrap gap-2",children:v.map(b=>h.jsxs("button",{onClick:()=>u(b.id),className:"px-3 py-1.5 bg-bambu-dark-tertiary hover:bg-bambu-green/20 rounded-lg text-sm text-white transition-colors flex items-center gap-2",children:[h.jsx(YU,{className:"w-3 h-3"}),b.title]},b.id))})]}),h.jsx(p$e,{sensors:l,collisionDetection:p6e,onDragEnd:c,children:h.jsx(E$e,{items:y.map(b=>b.id),strategy:gL,children:h.jsx("div",{className:"grid gap-6",style:{gridTemplateColumns:`repeat(${n}, minmax(0, 1fr))`},children:y.map(b=>h.jsx(j$e,{id:b.id,title:b.title,isHidden:i.hidden.includes(b.id),size:i.sizes[b.id]||2,onToggleVisibility:()=>u(b.id),onToggleSize:()=>f(b.id),children:b.component},b.id))})})}),y.length===0&&h.jsxs("div",{className:"text-center py-12 text-bambu-gray",children:[h.jsx("p",{children:"All widgets are hidden."}),h.jsx(lt,{className:"mt-4",onClick:g,children:"Reset Layout"})]})]})}function F$e({stats:t,currency:e}){return h.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-4",children:[h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-bambu-green",children:h.jsx(W_,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Total Prints"}),h.jsx("p",{className:"text-xl font-bold text-white",children:t?.total_prints||0})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-blue-400",children:h.jsx(ba,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Print Time"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[t?.total_print_time_hours.toFixed(1)||0,"h"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-orange-400",children:h.jsx(W_,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Filament Used"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[((t?.total_filament_grams||0)/1e3).toFixed(2),"kg"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-green-400",children:h.jsx(KU,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Filament Cost"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[e," ",t?.total_cost.toFixed(2)||"0.00"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-yellow-400",children:h.jsx(v9,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Energy Used"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[t?.total_energy_kwh.toFixed(2)||"0.00"," kWh"]})]})]}),h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsx("div",{className:"p-2 rounded-lg bg-bambu-dark text-yellow-500",children:h.jsx(KU,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"Energy Cost"}),h.jsxs("p",{className:"text-xl font-bold text-white",children:[e," ",t?.total_energy_cost.toFixed(2)||"0.00"]})]})]})]})}function z$e({stats:t}){const e=t?.total_prints?Math.round(t.successful_prints/t.total_prints*100):0;return h.jsxs("div",{className:"flex items-center gap-6",children:[h.jsxs("div",{className:"relative w-28 h-28",children:[h.jsxs("svg",{className:"w-full h-full -rotate-90",children:[h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:"#3d3d3d",strokeWidth:"10"}),h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:"#00ae42",strokeWidth:"10",strokeLinecap:"round",strokeDasharray:`${e*3.02} 302`})]}),h.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:h.jsxs("span",{className:"text-xl font-bold text-white",children:[e,"%"]})})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(ld,{className:"w-4 h-4 text-bambu-green"}),h.jsx("span",{className:"text-sm text-bambu-gray",children:"Successful:"}),h.jsx("span",{className:"text-sm text-white font-medium",children:t?.successful_prints||0})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(L0,{className:"w-4 h-4 text-red-400"}),h.jsx("span",{className:"text-sm text-bambu-gray",children:"Failed:"}),h.jsx("span",{className:"text-sm text-white font-medium",children:t?.failed_prints||0})]})]})]})}function B$e({stats:t,printerMap:e}){const n=t?.average_time_accuracy;if(n==null)return h.jsx("div",{className:"flex items-center justify-center h-full",children:h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No time accuracy data yet"})});const i=(Math.min(150,Math.max(50,n))-50)/100*100,s=(l=>l>=95&&l<=105?"#00ae42":l>105?"#3b82f6":"#f97316")(n),o=n-100;return h.jsxs("div",{className:"flex items-center gap-6",children:[h.jsxs("div",{className:"relative w-28 h-28",children:[h.jsxs("svg",{className:"w-full h-full -rotate-90",children:[h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:"#3d3d3d",strokeWidth:"10"}),h.jsx("circle",{cx:"56",cy:"56",r:"48",fill:"none",stroke:s,strokeWidth:"10",strokeLinecap:"round",strokeDasharray:`${i*3.02} 302`})]}),h.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:[h.jsxs("span",{className:"text-xl font-bold text-white",children:[n.toFixed(0),"%"]}),h.jsxs("span",{className:`text-xs ${o>=0?"text-blue-400":"text-orange-400"}`,children:[o>=0?"+":"",o.toFixed(0),"%"]})]})]}),h.jsxs("div",{className:"space-y-2 flex-1",children:[h.jsxs("div",{className:"flex items-center gap-2 text-xs text-bambu-gray",children:[h.jsx(cle,{className:"w-3 h-3"}),h.jsx("span",{children:"100% = perfect estimate"})]}),t?.time_accuracy_by_printer&&Object.keys(t.time_accuracy_by_printer).length>0&&h.jsx("div",{className:"space-y-1 mt-2",children:Object.entries(t.time_accuracy_by_printer).slice(0,3).map(([l,c])=>h.jsxs("div",{className:"flex items-center justify-between text-xs",children:[h.jsx("span",{className:"text-bambu-gray truncate max-w-[100px]",children:e.get(l)||`Printer ${l}`}),h.jsxs("span",{className:`font-medium ${c>=95&&c<=105?"text-bambu-green":c>105?"text-blue-400":"text-orange-400"}`,children:[c.toFixed(0),"%"]})]},l))})]})]})}function H$e({stats:t}){if(!t?.prints_by_filament_type||Object.keys(t.prints_by_filament_type).length===0)return h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No filament data available"});const e=Object.entries(t.prints_by_filament_type).sort(([,n],[,r])=>r-n);return h.jsx("div",{className:"space-y-3",children:e.map(([n,r])=>{const i=Math.round(r/(t.total_prints||1)*100);return h.jsxs("div",{children:[h.jsxs("div",{className:"flex justify-between text-sm mb-1",children:[h.jsx("span",{className:"text-white",children:n}),h.jsxs("span",{className:"text-bambu-gray",children:[r," prints"]})]}),h.jsx("div",{className:"h-2 bg-bambu-dark rounded-full",children:h.jsx("div",{className:"h-full bg-bambu-green rounded-full transition-all",style:{width:`${i}%`}})})]},n)})})}function $$e({printDates:t}){return h.jsx(V2e,{printDates:t,months:4})}function V$e({stats:t,printerMap:e}){return!t?.prints_by_printer||Object.keys(t.prints_by_printer).length===0?h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No printer data available"}):h.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:Object.entries(t.prints_by_printer).map(([n,r])=>h.jsxs("div",{className:"flex items-center gap-3 p-3 bg-bambu-dark rounded-lg",children:[h.jsx("div",{className:"p-2 bg-bambu-dark-tertiary rounded-lg",children:h.jsx(mc,{className:"w-4 h-4 text-bambu-green"})}),h.jsxs("div",{children:[h.jsx("p",{className:"text-white font-medium text-sm",children:e.get(n)||`Printer ${n}`}),h.jsxs("p",{className:"text-xs text-bambu-gray",children:[r," prints"]})]})]},n))})}function G$e({archives:t,currency:e}){return!t||t.length===0?h.jsx("p",{className:"text-bambu-gray text-center py-4",children:"No print data available"}):h.jsx(Z8e,{archives:t,currency:e})}function W$e(){const{data:t,isLoading:e}=Ut({queryKey:["archiveStats"],queryFn:Fe.getArchiveStats}),{data:n}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:r}=Ut({queryKey:["archives"],queryFn:()=>Fe.getArchives(void 0,1e3,0)}),{data:i}=Ut({queryKey:["settings"],queryFn:Fe.getSettings}),a=i?.currency||"$",s=new Map(n?.map(c=>[String(c.id),c.name])||[]),o=r?.map(c=>c.created_at)||[];if(e)return h.jsx("div",{className:"p-8",children:h.jsx("div",{className:"text-center py-12 text-bambu-gray",children:"Loading statistics..."})});const l=[{id:"quick-stats",title:"Quick Stats",component:h.jsx(F$e,{stats:t,currency:a}),defaultSize:2},{id:"success-rate",title:"Success Rate",component:h.jsx(z$e,{stats:t}),defaultSize:1},{id:"time-accuracy",title:"Time Accuracy",component:h.jsx(B$e,{stats:t,printerMap:s}),defaultSize:1},{id:"filament-types",title:"Filament Types",component:h.jsx(H$e,{stats:t}),defaultSize:1},{id:"print-activity",title:"Print Activity",component:h.jsx($$e,{printDates:o}),defaultSize:2},{id:"prints-by-printer",title:"Prints by Printer",component:h.jsx(V$e,{stats:t,printerMap:s}),defaultSize:2},{id:"filament-trends",title:"Filament Usage Trends",component:h.jsx(G$e,{archives:r||[],currency:a}),defaultSize:4}];return h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-6",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Dashboard"}),h.jsx("p",{className:"text-bambu-gray",children:"Drag widgets to rearrange. Click the eye icon to hide."})]}),h.jsx(U$e,{widgets:l,storageKey:"bambusy-dashboard-layout"})]})}function q$e({plug:t,onEdit:e}){const n=In(),[r,i]=E.useState(!1),[a,s]=E.useState(!1),[o,l]=E.useState(!1),[c,u]=E.useState(!1),{data:f,isLoading:g,refetch:m}=Ut({queryKey:["smart-plug-status",t.id],queryFn:()=>Fe.getSmartPlugStatus(t.id),refetchInterval:3e4}),{data:y}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),v=y?.find(R=>R.id===t.printer_id),b=yt({mutationFn:R=>Fe.controlSmartPlug(t.id,R),onSuccess:()=>{m()}}),x=yt({mutationFn:R=>Fe.updateSmartPlug(t.id,R),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]}),t.printer_id&&n.invalidateQueries({queryKey:["smartPlugByPrinter",t.printer_id]})}}),M=yt({mutationFn:()=>Fe.deleteSmartPlug(t.id),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]})}}),w=f?.state==="ON",A=f?.reachable??!1,T=b.isPending;return h.jsxs(h.Fragment,{children:[h.jsx(Yt,{className:"relative",children:h.jsxs(on,{className:"p-4",children:[h.jsxs("div",{className:"flex items-start justify-between mb-3",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:`p-2 rounded-lg ${A?w?"bg-bambu-green/20":"bg-bambu-dark":"bg-red-500/20"}`,children:h.jsx(jN,{className:`w-5 h-5 ${A?w?"text-bambu-green":"text-bambu-gray":"text-red-400"}`})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-medium text-white",children:t.name}),h.jsx("p",{className:"text-sm text-bambu-gray",children:t.ip_address})]})]}),h.jsx("div",{className:"flex items-center gap-2",children:g?h.jsx(Ft,{className:"w-4 h-4 text-bambu-gray animate-spin"}):A?h.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[h.jsx(WP,{className:"w-4 h-4 text-bambu-green"}),h.jsx("span",{className:w?"text-bambu-green":"text-bambu-gray",children:f?.state||"Unknown"})]}):h.jsxs("div",{className:"flex items-center gap-1 text-sm text-red-400",children:[h.jsx(Vp,{className:"w-4 h-4"}),h.jsx("span",{children:"Offline"})]})})]}),v&&h.jsxs("div",{className:"mb-3 px-2 py-1.5 bg-bambu-dark rounded-lg",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Linked to: "}),h.jsx("span",{className:"text-sm text-white",children:v.name})]}),h.jsxs("div",{className:"flex gap-2 mb-3",children:[h.jsxs(lt,{size:"sm",variant:w?"primary":"secondary",disabled:!A||T,onClick:()=>s(!0),className:"flex-1",children:[T?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(tw,{className:"w-4 h-4"}),"On"]}),h.jsxs(lt,{size:"sm",variant:w?"secondary":"primary",disabled:!A||T,onClick:()=>l(!0),className:"flex-1",children:[T?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(m9,{className:"w-4 h-4"}),"Off"]})]}),h.jsxs("button",{onClick:()=>u(!c),className:"w-full flex items-center justify-between py-2 text-sm text-bambu-gray hover:text-white transition-colors",children:[h.jsxs("span",{className:"flex items-center gap-2",children:[h.jsx(GP,{className:"w-4 h-4"}),"Automation Settings"]}),h.jsx("span",{children:c?"-":"+"})]}),c&&h.jsxs("div",{className:"pt-3 border-t border-bambu-dark-tertiary space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Enabled"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Enable automation for this plug"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:t.enabled,onChange:R=>x.mutate({enabled:R.target.checked}),className:"sr-only peer"}),h.jsx("div",{className:"w-9 h-5 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Auto On"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Turn on when print starts"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:t.auto_on,onChange:R=>x.mutate({auto_on:R.target.checked}),className:"sr-only peer"}),h.jsx("div",{className:"w-9 h-5 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Auto Off"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Turn off when print completes (one-shot)"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:t.auto_off,onChange:R=>x.mutate({auto_off:R.target.checked}),className:"sr-only peer"}),h.jsx("div",{className:"w-9 h-5 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-bambu-green"})]})]}),t.auto_off&&h.jsxs("div",{className:"space-y-3 pl-4 border-l-2 border-bambu-dark-tertiary",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white mb-2",children:"Turn Off Delay Mode"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsxs("button",{onClick:()=>x.mutate({off_delay_mode:"time"}),className:`flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-sm transition-colors ${t.off_delay_mode==="time"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,children:[h.jsx(ba,{className:"w-4 h-4"}),"Time"]}),h.jsxs("button",{onClick:()=>x.mutate({off_delay_mode:"temperature"}),className:`flex-1 flex items-center justify-center gap-2 px-3 py-2 rounded-lg text-sm transition-colors ${t.off_delay_mode==="temperature"?"bg-bambu-green text-white":"bg-bambu-dark text-bambu-gray hover:text-white"}`,children:[h.jsx(p_,{className:"w-4 h-4"}),"Temp"]})]})]}),t.off_delay_mode==="time"?h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Delay (minutes)"}),h.jsx("input",{type:"number",min:"1",max:"60",value:t.off_delay_minutes,onChange:R=>x.mutate({off_delay_minutes:parseInt(R.target.value)||5}),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none"})]}):h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Temperature threshold (C)"}),h.jsx("input",{type:"number",min:"30",max:"100",value:t.off_temp_threshold,onChange:R=>x.mutate({off_temp_threshold:parseInt(R.target.value)||70}),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none"}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Turns off when nozzle cools below this temperature"})]})]}),h.jsxs("div",{className:"flex gap-2 pt-2",children:[h.jsxs(lt,{size:"sm",variant:"secondary",onClick:()=>e(t),className:"flex-1",children:[h.jsx(p9,{className:"w-4 h-4"}),"Edit"]}),h.jsx(lt,{size:"sm",variant:"secondary",onClick:()=>i(!0),className:"text-red-400 hover:text-red-300",children:h.jsx(aa,{className:"w-4 h-4"})})]})]})]})}),r&&h.jsx(ii,{title:"Delete Smart Plug",message:`Are you sure you want to delete "${t.name}"? This cannot be undone.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{M.mutate(),i(!1)},onCancel:()=>i(!1)}),a&&h.jsx(ii,{title:"Turn On Smart Plug",message:`Are you sure you want to turn on "${t.name}"?`,confirmText:"Turn On",variant:"default",onConfirm:()=>{b.mutate("on"),s(!1)},onCancel:()=>s(!1)}),o&&h.jsx(ii,{title:"Turn Off Smart Plug",message:`Are you sure you want to turn off "${t.name}"? This will cut power to the connected device.`,confirmText:"Turn Off",variant:"danger",onConfirm:()=>{b.mutate("off"),l(!1)},onCancel:()=>l(!1)})]})}function X$e({plug:t,onClose:e}){const n=In(),r=!!t,[i,a]=E.useState(t?.name||""),[s,o]=E.useState(t?.ip_address||""),[l,c]=E.useState(t?.username||""),[u,f]=E.useState(t?.password||""),[g,m]=E.useState(t?.printer_id||null),[y,v]=E.useState(null),[b,x]=E.useState(null),{data:M}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:w}=Ut({queryKey:["smart-plugs"],queryFn:Fe.getSmartPlugs});E.useEffect(()=>{const k=F=>{F.key==="Escape"&&e()};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[e]);const A=yt({mutationFn:()=>Fe.testSmartPlugConnection(s,l||null,u||null),onSuccess:k=>{v(k),x(null),!i&&k.device_name&&a(k.device_name)},onError:k=>{v(null),x(k.message)}}),T=yt({mutationFn:k=>Fe.createSmartPlug(k),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]}),e()},onError:k=>{x(k.message)}}),R=yt({mutationFn:k=>Fe.updateSmartPlug(t.id,k),onSuccess:()=>{n.invalidateQueries({queryKey:["smart-plugs"]}),e()},onError:k=>{x(k.message)}}),N=M?.filter(k=>!w?.some(I=>I.printer_id===k.id&&I.id!==t?.id)),j=k=>{if(k.preventDefault(),x(null),!i.trim()){x("Name is required");return}if(!s.trim()){x("IP address is required");return}const F={name:i.trim(),ip_address:s.trim(),username:l.trim()||null,password:u.trim()||null,printer_id:g};r?R.mutate(F):T.mutate(F)},C=T.isPending||R.isPending;return h.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4",onClick:e,children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl border border-bambu-dark-tertiary w-full max-w-md",onClick:k=>k.stopPropagation(),children:[h.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:r?"Edit Smart Plug":"Add Smart Plug"}),h.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:j,className:"p-6 space-y-4",children:[b&&h.jsx("div",{className:"p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:b}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"IP Address *"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("input",{type:"text",value:s,onChange:k=>{o(k.target.value),v(null)},placeholder:"192.168.1.100",className:"flex-1 px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"}),h.jsxs(lt,{type:"button",variant:"secondary",onClick:()=>A.mutate(),disabled:!s.trim()||A.isPending,children:[A.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(WP,{className:"w-4 h-4"}),"Test"]})]})]}),y&&h.jsx("div",{className:`p-3 rounded-lg flex items-center gap-2 ${y.success?"bg-bambu-green/20 border border-bambu-green/50 text-bambu-green":"bg-red-500/20 border border-red-500/50 text-red-400"}`,children:y.success?h.jsxs(h.Fragment,{children:[h.jsx(ld,{className:"w-5 h-5"}),h.jsxs("div",{children:[h.jsx("p",{className:"font-medium",children:"Connected!"}),h.jsxs("p",{className:"text-sm opacity-80",children:[y.device_name&&`Device: ${y.device_name} - `,"State: ",y.state]})]})]}):h.jsxs(h.Fragment,{children:[h.jsx(Vp,{className:"w-5 h-5"}),h.jsx("span",{children:"Connection failed"})]})}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name *"}),h.jsx("input",{type:"text",value:i,onChange:k=>a(k.target.value),placeholder:"Living Room Plug",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Username"}),h.jsx("input",{type:"text",value:l,onChange:k=>c(k.target.value),placeholder:"admin",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Password"}),h.jsx("input",{type:"password",value:u,onChange:k=>f(k.target.value),placeholder:"********",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]})]}),h.jsx("p",{className:"text-xs text-bambu-gray -mt-2",children:"Leave empty if your Tasmota device doesn't require authentication"}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Link to Printer"}),h.jsxs("select",{value:g??"",onChange:k=>m(k.target.value?Number(k.target.value):null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"",children:"No printer (manual control only)"}),N?.map(k=>h.jsx("option",{value:k.id,children:k.name},k.id))]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Linking enables automatic on/off when prints start/complete"})]}),h.jsxs("div",{className:"flex gap-3 pt-2",children:[h.jsx(lt,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:"Cancel"}),h.jsxs(lt,{type:"submit",disabled:C,className:"flex-1",children:[C?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(I0,{className:"w-4 h-4"}),r?"Save":"Add"]})]})]})]})})}function as({checked:t,onChange:e,disabled:n}){const r=i=>{i.preventDefault(),i.stopPropagation(),n||e(!t)};return h.jsx("button",{type:"button",role:"switch","aria-checked":t,disabled:n,onClick:r,className:`relative inline-flex w-9 h-5 rounded-full transition-colors flex-shrink-0 focus:outline-none focus:ring-2 focus:ring-bambu-green focus:ring-offset-2 focus:ring-offset-bambu-dark ${n?"bg-bambu-dark-tertiary/50 cursor-not-allowed opacity-50":t?"bg-bambu-green cursor-pointer":"bg-bambu-dark-tertiary cursor-pointer hover:bg-bambu-dark-tertiary/80"}`,children:h.jsx("span",{className:`pointer-events-none absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full shadow transition-transform duration-200 ease-in-out ${t?"translate-x-4":"translate-x-0"}`})})}const K$e={callmebot:"CallMeBot/WhatsApp",ntfy:"ntfy",pushover:"Pushover",telegram:"Telegram",email:"Email"};function Y$e({provider:t,onEdit:e}){const n=In(),[r,i]=E.useState(!1),[a,s]=E.useState(!1),[o,l]=E.useState(null),{data:c}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),u=c?.find(v=>v.id===t.printer_id),f=yt({mutationFn:v=>Fe.updateNotificationProvider(t.id,v),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]})}}),g=yt({mutationFn:()=>Fe.deleteNotificationProvider(t.id),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]})}}),m=yt({mutationFn:()=>Fe.testNotificationProvider(t.id),onSuccess:v=>{l(v),n.invalidateQueries({queryKey:["notification-providers"]})},onError:v=>{l({success:!1,message:v.message})}}),y=v=>v||"";return h.jsxs(h.Fragment,{children:[h.jsx(Yt,{className:"relative",children:h.jsxs(on,{className:"p-4",children:[h.jsxs("div",{className:"flex items-start justify-between mb-3",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:`p-2 rounded-lg ${t.enabled?"bg-bambu-green/20":"bg-bambu-dark"}`,children:h.jsx(ON,{className:`w-5 h-5 ${t.enabled?"text-bambu-green":"text-bambu-gray"}`})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-medium text-white",children:t.name}),h.jsx("p",{className:"text-sm text-bambu-gray",children:K$e[t.provider_type]||t.provider_type})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[t.last_success&&h.jsxs("span",{className:"text-xs text-bambu-green",children:["Last sent: ",new Date(t.last_success).toLocaleDateString()]}),t.last_error&&h.jsx("span",{className:"text-xs text-red-400",title:t.last_error,children:"Error"})]})]}),u&&h.jsxs("div",{className:"mb-3 px-2 py-1.5 bg-bambu-dark rounded-lg",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Printer: "}),h.jsx("span",{className:"text-sm text-white",children:u.name})]}),!u&&!t.printer_id&&h.jsx("div",{className:"mb-3 px-2 py-1.5 bg-bambu-dark rounded-lg",children:h.jsx("span",{className:"text-xs text-bambu-gray",children:"All printers"})}),h.jsxs("div",{className:"mb-3 flex flex-wrap gap-1",children:[t.on_print_start&&h.jsx("span",{className:"px-2 py-0.5 bg-blue-500/20 text-blue-400 text-xs rounded",children:"Start"}),t.on_print_complete&&h.jsx("span",{className:"px-2 py-0.5 bg-bambu-green/20 text-bambu-green text-xs rounded",children:"Complete"}),t.on_print_failed&&h.jsx("span",{className:"px-2 py-0.5 bg-red-500/20 text-red-400 text-xs rounded",children:"Failed"}),t.on_print_stopped&&h.jsx("span",{className:"px-2 py-0.5 bg-orange-500/20 text-orange-400 text-xs rounded",children:"Stopped"}),t.on_print_progress&&h.jsx("span",{className:"px-2 py-0.5 bg-yellow-500/20 text-yellow-400 text-xs rounded",children:"Progress"}),t.on_printer_offline&&h.jsx("span",{className:"px-2 py-0.5 bg-gray-500/20 text-gray-400 text-xs rounded",children:"Offline"}),t.on_printer_error&&h.jsx("span",{className:"px-2 py-0.5 bg-orange-500/20 text-orange-400 text-xs rounded",children:"Error"}),t.on_filament_low&&h.jsx("span",{className:"px-2 py-0.5 bg-amber-500/20 text-amber-400 text-xs rounded",children:"Low Filament"}),t.on_maintenance_due&&h.jsx("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-400 text-xs rounded",children:"Maintenance"}),t.quiet_hours_enabled&&h.jsxs("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-400 text-xs rounded flex items-center gap-1",children:[h.jsx(G_,{className:"w-3 h-3"}),"Quiet"]})]}),h.jsx("div",{className:"mb-3",children:h.jsxs(lt,{size:"sm",variant:"secondary",disabled:m.isPending,onClick:()=>{l(null),m.mutate()},className:"w-full",children:[m.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(g9,{className:"w-4 h-4"}),"Send Test Notification"]})}),o&&h.jsxs("div",{className:`mb-3 p-2 rounded-lg flex items-center gap-2 text-sm ${o.success?"bg-bambu-green/20 text-bambu-green":"bg-red-500/20 text-red-400"}`,children:[o.success?h.jsx(ld,{className:"w-4 h-4"}):h.jsx(L0,{className:"w-4 h-4"}),h.jsx("span",{children:o.message})]}),h.jsxs("button",{onClick:()=>s(!a),className:"w-full flex items-center justify-between py-2 text-sm text-bambu-gray hover:text-white transition-colors border-t border-bambu-dark-tertiary",children:[h.jsxs("span",{className:"flex items-center gap-2",children:[h.jsx(GP,{className:"w-4 h-4"}),"Event Settings"]}),a?h.jsx(QS,{className:"w-4 h-4"}):h.jsx(Gf,{className:"w-4 h-4"})]}),a&&h.jsxs("div",{className:"pt-3 border-t border-bambu-dark-tertiary space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Enabled"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Send notifications from this provider"})]}),h.jsx(as,{checked:t.enabled,onChange:v=>f.mutate({enabled:v})})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsx("p",{className:"text-xs text-bambu-gray uppercase tracking-wide",children:"Print Events"}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Started"}),h.jsx(as,{checked:t.on_print_start,onChange:v=>f.mutate({on_print_start:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Completed"}),h.jsx(as,{checked:t.on_print_complete,onChange:v=>f.mutate({on_print_complete:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Failed"}),h.jsx(as,{checked:t.on_print_failed,onChange:v=>f.mutate({on_print_failed:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Print Stopped"}),h.jsx(as,{checked:t.on_print_stopped,onChange:v=>f.mutate({on_print_stopped:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Progress Milestones"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Notify at 25%, 50%, 75%"})]}),h.jsx(as,{checked:t.on_print_progress,onChange:v=>f.mutate({on_print_progress:v})})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsx("p",{className:"text-xs text-bambu-gray uppercase tracking-wide",children:"Printer Status"}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Printer Offline"}),h.jsx(as,{checked:t.on_printer_offline,onChange:v=>f.mutate({on_printer_offline:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Printer Error"}),h.jsx(as,{checked:t.on_printer_error,onChange:v=>f.mutate({on_printer_error:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("p",{className:"text-sm text-white",children:"Low Filament"}),h.jsx(as,{checked:t.on_filament_low,onChange:v=>f.mutate({on_filament_low:v})})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Maintenance Due"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Notify when maintenance is needed"})]}),h.jsx(as,{checked:t.on_maintenance_due??!1,onChange:v=>f.mutate({on_maintenance_due:v})})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(G_,{className:"w-4 h-4 text-purple-400"}),h.jsx("p",{className:"text-sm text-white",children:"Quiet Hours"})]}),h.jsx(as,{checked:t.quiet_hours_enabled,onChange:v=>f.mutate({quiet_hours_enabled:v})})]}),t.quiet_hours_enabled&&h.jsxs("div",{className:"pl-4 border-l-2 border-bambu-dark-tertiary space-y-2",children:[h.jsx("p",{className:"text-xs text-bambu-gray",children:"No notifications during these hours"}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(ba,{className:"w-4 h-4 text-bambu-gray"}),h.jsxs("span",{className:"text-sm text-white",children:[y(t.quiet_hours_start)||"22:00"," - ",y(t.quiet_hours_end)||"07:00"]})]}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Edit provider to change quiet hours"})]})]}),h.jsxs("div",{className:"flex gap-2 pt-2",children:[h.jsxs(lt,{size:"sm",variant:"secondary",onClick:()=>e(t),className:"flex-1",children:[h.jsx(p9,{className:"w-4 h-4"}),"Edit"]}),h.jsx(lt,{size:"sm",variant:"secondary",onClick:()=>i(!0),className:"text-red-400 hover:text-red-300",children:h.jsx(aa,{className:"w-4 h-4"})})]})]})]})}),r&&h.jsx(ii,{title:"Delete Notification Provider",message:`Are you sure you want to delete "${t.name}"? This cannot be undone.`,confirmText:"Delete",variant:"danger",onConfirm:()=>{g.mutate(),i(!1)},onCancel:()=>i(!1)})]})}const dG=[{value:"callmebot",label:"CallMeBot/WhatsApp",description:"Free WhatsApp notifications via CallMeBot"},{value:"ntfy",label:"ntfy",description:"Free, self-hostable push notifications"},{value:"pushover",label:"Pushover",description:"Simple, reliable push notifications"},{value:"telegram",label:"Telegram",description:"Notifications via Telegram bot"},{value:"email",label:"Email",description:"SMTP email notifications"}];function Z$e({provider:t,onClose:e}){const n=In(),r=!!t,[i,a]=E.useState(t?.name||""),[s,o]=E.useState(t?.provider_type||"ntfy"),[l,c]=E.useState(t?.printer_id||null),[u,f]=E.useState(t?.quiet_hours_enabled||!1),[g,m]=E.useState(t?.quiet_hours_start||"22:00"),[y,v]=E.useState(t?.quiet_hours_end||"07:00"),[b,x]=E.useState(t?.config?Object.fromEntries(Object.entries(t.config).map(([H,$])=>[H,String($)])):{}),[M,w]=E.useState(null),[A,T]=E.useState(null),{data:R}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters});E.useEffect(()=>{const H=$=>{$.key==="Escape"&&e()};return window.addEventListener("keydown",H),()=>window.removeEventListener("keydown",H)},[e]);const N=yt({mutationFn:()=>Fe.testNotificationConfig({provider_type:s,config:b}),onSuccess:H=>{w(H),T(null)},onError:H=>{w({success:!1,message:H.message})}}),j=yt({mutationFn:H=>Fe.createNotificationProvider(H),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]}),e()},onError:H=>{T(H.message)}}),C=yt({mutationFn:H=>Fe.updateNotificationProvider(t.id,H),onSuccess:()=>{n.invalidateQueries({queryKey:["notification-providers"]}),e()},onError:H=>{T(H.message)}}),k=H=>{if(H.preventDefault(),T(null),!i.trim()){T("Name is required");return}const $=B(s);for(const K of $)if(!b[K.key]?.trim()){T(`${K.label} is required`);return}const W={name:i.trim(),provider_type:s,config:b,printer_id:l,quiet_hours_enabled:u,quiet_hours_start:u?g:null,quiet_hours_end:u?y:null};r?C.mutate(W):j.mutate(W)},F=j.isPending||C.isPending,I=H=>{switch(H){case"callmebot":return[{key:"phone",label:"Phone Number",placeholder:"+1234567890",type:"text",required:!0},{key:"apikey",label:"API Key",placeholder:"Your CallMeBot API key",type:"text",required:!0}];case"ntfy":return[{key:"server",label:"Server URL",placeholder:"https://ntfy.sh",type:"text",required:!1},{key:"topic",label:"Topic",placeholder:"my-bambutrack",type:"text",required:!0},{key:"auth_token",label:"Auth Token",placeholder:"Optional authentication",type:"password",required:!1}];case"pushover":return[{key:"user_key",label:"User Key",placeholder:"Your Pushover user key",type:"text",required:!0},{key:"app_token",label:"App Token",placeholder:"Your Pushover app token",type:"text",required:!0},{key:"priority",label:"Priority",placeholder:"0 (normal)",type:"number",required:!1}];case"telegram":return[{key:"bot_token",label:"Bot Token",placeholder:"Bot token from @BotFather",type:"password",required:!0},{key:"chat_id",label:"Chat ID",placeholder:"Your chat or group ID",type:"text",required:!0}];case"email":return[{key:"smtp_server",label:"SMTP Server",placeholder:"smtp.gmail.com",type:"text",required:!0},{key:"smtp_port",label:"SMTP Port",placeholder:"587",type:"number",required:!1},{key:"security",label:"Security",type:"select",required:!1,options:[{value:"starttls",label:"STARTTLS (Port 587)"},{value:"ssl",label:"SSL/TLS (Port 465)"},{value:"none",label:"None (Port 25)"}]},{key:"auth_enabled",label:"Authentication",type:"select",required:!1,options:[{value:"true",label:"Enabled"},{value:"false",label:"Disabled"}]},{key:"username",label:"Username",placeholder:"your@email.com",type:"text",required:!1},{key:"password",label:"Password",placeholder:"App password",type:"password",required:!1},{key:"from_email",label:"From Email",placeholder:"your@email.com",type:"text",required:!0},{key:"to_email",label:"To Email",placeholder:"recipient@email.com",type:"text",required:!0}];default:return[]}},B=H=>I(H).filter($=>$.required),O=I(s);return h.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4 overflow-y-auto",onClick:e,children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl border border-bambu-dark-tertiary w-full max-w-lg my-8",onClick:H=>H.stopPropagation(),children:[h.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:r?"Edit Notification Provider":"Add Notification Provider"}),h.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:k,className:"p-6 space-y-4",children:[A&&h.jsx("div",{className:"p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:A}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Name *"}),h.jsx("input",{type:"text",value:i,onChange:H=>a(H.target.value),placeholder:"My Notifications",className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Provider Type *"}),h.jsx("select",{value:s,onChange:H=>{o(H.target.value),x({}),w(null)},disabled:r,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none disabled:opacity-50",children:dG.map(H=>h.jsx("option",{value:H.value,children:H.label},H.value))}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:dG.find(H=>H.value===s)?.description})]}),h.jsxs("div",{className:"space-y-3",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Configuration"}),O.map(H=>h.jsxs("div",{children:[h.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[H.label," ",H.required&&"*"]}),H.type==="select"&&H.options?h.jsx("select",{value:b[H.key]||H.options[0]?.value||"",onChange:$=>{x({...b,[H.key]:$.target.value}),w(null)},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:H.options.map($=>h.jsx("option",{value:$.value,children:$.label},$.value))}):h.jsx("input",{type:H.type,value:b[H.key]||"",onChange:$=>{x({...b,[H.key]:$.target.value}),w(null)},placeholder:H.placeholder,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]},H.key))]}),h.jsx("div",{className:"flex gap-2",children:h.jsxs(lt,{type:"button",variant:"secondary",onClick:()=>{w(null),N.mutate()},disabled:N.isPending||!b[B(s)[0]?.key],className:"flex-1",children:[N.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(g9,{className:"w-4 h-4"}),"Test Configuration"]})}),M&&h.jsx("div",{className:`p-3 rounded-lg flex items-center gap-2 ${M.success?"bg-bambu-green/20 border border-bambu-green/50 text-bambu-green":"bg-red-500/20 border border-red-500/50 text-red-400"}`,children:M.success?h.jsxs(h.Fragment,{children:[h.jsx(ld,{className:"w-5 h-5"}),h.jsx("span",{children:M.message})]}):h.jsxs(h.Fragment,{children:[h.jsx(L0,{className:"w-5 h-5"}),h.jsx("span",{children:M.message})]})}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Printer Filter"}),h.jsxs("select",{value:l??"",onChange:H=>c(H.target.value?Number(H.target.value):null),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"",children:"All printers"}),R?.map(H=>h.jsx("option",{value:H.id,children:H.name},H.id))]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Only send notifications for events from this printer"})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsx("label",{className:"text-sm text-white",children:"Quiet Hours (Do Not Disturb)"}),h.jsx(as,{checked:u,onChange:f})]}),u&&h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Start"}),h.jsx("input",{type:"time",value:g,onChange:H=>m(H.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"End"}),h.jsx("input",{type:"time",value:y,onChange:H=>v(H.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]})]})]}),h.jsxs("div",{className:"flex gap-3 pt-2",children:[h.jsx(lt,{type:"button",variant:"secondary",onClick:e,className:"flex-1",children:"Cancel"}),h.jsxs(lt,{type:"submit",disabled:F,className:"flex-1",children:[F?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(I0,{className:"w-4 h-4"}),r?"Save":"Add"]})]})]})]})})}async function Q$e(){const t=await fetch("/api/v1/settings/spoolman");if(!t.ok)throw new Error("Failed to load Spoolman settings");return t.json()}async function J$e(t){const e=await fetch("/api/v1/settings/spoolman",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!e.ok)throw new Error("Failed to save Spoolman settings");return e.json()}function eVe(){const t=In(),[e,n]=E.useState(!1),[r,i]=E.useState(""),[a,s]=E.useState("auto"),[o,l]=E.useState(!1),[c,u]=E.useState(!1),[f,g]=E.useState("all"),{data:m,isLoading:y}=Ut({queryKey:["spoolman-settings"],queryFn:Q$e}),{data:v,isLoading:b,refetch:x}=Ut({queryKey:["spoolman-status"],queryFn:Fe.getSpoolmanStatus,refetchInterval:3e4}),{data:M}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters});E.useEffect(()=>{m&&(n(m.spoolman_enabled==="true"),i(m.spoolman_url||""),s(m.spoolman_sync_mode||"auto"))},[m]),E.useEffect(()=>{if(m){const I=m.spoolman_enabled==="true"!==e||(m.spoolman_url||"")!==r||(m.spoolman_sync_mode||"auto")!==a;l(I)}},[m,e,r,a]);const w=yt({mutationFn:()=>J$e({spoolman_enabled:e?"true":"false",spoolman_url:r,spoolman_sync_mode:a}),onSuccess:()=>{t.invalidateQueries({queryKey:["spoolman-settings"]}),t.invalidateQueries({queryKey:["spoolman-status"]}),l(!1),u(!0),setTimeout(()=>u(!1),2e3)}}),A=yt({mutationFn:Fe.connectSpoolman,onSuccess:()=>{x()}}),T=yt({mutationFn:Fe.disconnectSpoolman,onSuccess:()=>{x()}}),R=yt({mutationFn:Fe.syncAllPrintersAms,onSuccess:I=>{I.success}}),N=yt({mutationFn:I=>Fe.syncPrinterAms(I),onSuccess:I=>{I.success}}),j=()=>{f==="all"?R.mutate():N.mutate(f)},C=R.isPending||N.isPending,k=f==="all"?R.data:N.data,F=f==="all"?R.isSuccess:N.isSuccess;return y?h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(XU,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Spoolman Integration"})]})}),h.jsx(on,{children:h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-6 h-6 text-bambu-green animate-spin"})})})]}):h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(XU,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Spoolman Integration"})]}),o&&h.jsx(lt,{size:"sm",onClick:()=>w.mutate(),disabled:w.isPending,children:w.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):c?h.jsx(Hp,{className:"w-4 h-4"}):"Save"})]})}),h.jsxs(on,{className:"space-y-4",children:[h.jsx("p",{className:"text-sm text-bambu-gray",children:"Connect to Spoolman for filament inventory tracking. AMS data will sync automatically."}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Enable Spoolman"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Sync filament data with Spoolman server"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:e,onChange:I=>n(I.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Spoolman URL"}),h.jsx("input",{type:"text",placeholder:"http://192.168.1.100:7912",value:r,onChange:I=>i(I.target.value),disabled:!e,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder-bambu-gray/50 focus:border-bambu-green focus:outline-none disabled:opacity-50"}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"URL of your Spoolman server (e.g., http://localhost:7912)"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Sync Mode"}),h.jsxs("select",{value:a,onChange:I=>s(I.target.value),disabled:!e,className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none disabled:opacity-50",children:[h.jsx("option",{value:"auto",children:"Automatic"}),h.jsx("option",{value:"manual",children:"Manual Only"})]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:a==="auto"?"AMS data syncs automatically when changes are detected":"Only sync when manually triggered"})]}),e&&h.jsxs("div",{className:"pt-2 border-t border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center justify-between mb-3",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm text-bambu-gray",children:"Status:"}),b?h.jsx(Ft,{className:"w-4 h-4 text-bambu-gray animate-spin"}):v?.connected?h.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500",children:[h.jsx(Hp,{className:"w-4 h-4"}),"Connected"]}):h.jsxs("span",{className:"flex items-center gap-1 text-sm text-red-500",children:[h.jsx(mn,{className:"w-4 h-4"}),"Disconnected"]})]}),h.jsx("div",{className:"flex gap-2",children:v?.connected?h.jsxs(lt,{variant:"secondary",size:"sm",onClick:()=>T.mutate(),disabled:T.isPending,children:[T.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(aoe,{className:"w-4 h-4"}),"Disconnect"]}):h.jsxs(lt,{size:"sm",onClick:()=>A.mutate(),disabled:A.isPending||!r,children:[A.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(ooe,{className:"w-4 h-4"}),"Connect"]})})]}),A.isError&&h.jsx("div",{className:"mb-3 p-2 bg-red-500/20 border border-red-500/50 rounded text-sm text-red-400",children:A.error.message}),v?.connected&&h.jsxs("div",{className:"space-y-3",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-sm text-white",children:"Sync AMS Data"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"Manually sync printer AMS data to Spoolman"})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("div",{className:"relative flex-1",children:[h.jsxs("select",{value:f,onChange:I=>g(I.target.value==="all"?"all":Number(I.target.value)),className:"w-full px-3 py-2 pr-8 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-sm focus:border-bambu-green focus:outline-none appearance-none cursor-pointer",children:[h.jsx("option",{value:"all",children:"All Printers"}),M?.map(I=>h.jsx("option",{value:I.id,children:I.name},I.id))]}),h.jsx(Gf,{className:"absolute right-2 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray pointer-events-none"})]}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:j,disabled:C,children:[C?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(el,{className:"w-4 h-4"}),"Sync"]})]})]}),F&&k&&h.jsx("div",{className:`mt-2 p-2 rounded text-sm ${k.success?"bg-green-500/20 border border-green-500/50 text-green-400":"bg-yellow-500/20 border border-yellow-500/50 text-yellow-400"}`,children:k.success?`Synced ${k.synced_count} trays successfully`:`Synced ${k.synced_count} trays with ${k.errors.length} errors`})]})]})]})}function tVe(){const t=In(),{t:e,i18n:n}=PP(),[r,i]=E.useState(null),[a,s]=E.useState(!1),[o,l]=E.useState(!1),[c,u]=E.useState(!1),[f,g]=E.useState(null),[m,y]=E.useState(!1),[v,b]=E.useState(null),[x,M]=E.useState(y9()),w=X=>{M(X),Xle(X)},A=()=>{localStorage.removeItem("sidebarOrder"),window.location.reload()},{data:T,isLoading:R}=Ut({queryKey:["settings"],queryFn:Fe.getSettings}),{data:N,isLoading:j}=Ut({queryKey:["smart-plugs"],queryFn:Fe.getSmartPlugs}),{data:C,isLoading:k}=Ut({queryKey:["notification-providers"],queryFn:Fe.getNotificationProviders}),{data:F}=Ut({queryKey:["ffmpeg-status"],queryFn:Fe.checkFfmpeg}),{data:I}=Ut({queryKey:["version"],queryFn:Fe.getVersion}),{data:B,refetch:O,isRefetching:H}=Ut({queryKey:["updateCheck"],queryFn:Fe.checkForUpdates,staleTime:300*1e3}),{data:$,refetch:W}=Ut({queryKey:["updateStatus"],queryFn:Fe.getUpdateStatus,refetchInterval:X=>{const ae=X.state.data;return ae?.status==="downloading"||ae?.status==="installing"?1e3:!1}}),K=yt({mutationFn:Fe.applyUpdate,onSuccess:()=>{W()}});E.useEffect(()=>{T&&!r&&i(T)},[T,r]),E.useEffect(()=>{if(T&&r){const X=T.auto_archive!==r.auto_archive||T.save_thumbnails!==r.save_thumbnails||T.capture_finish_photo!==r.capture_finish_photo||T.default_filament_cost!==r.default_filament_cost||T.currency!==r.currency||T.energy_cost_per_kwh!==r.energy_cost_per_kwh||T.energy_tracking_mode!==r.energy_tracking_mode||T.check_updates!==r.check_updates||T.notification_language!==r.notification_language;s(X)}},[T,r]);const Y=yt({mutationFn:Fe.updateSettings,onSuccess:X=>{t.setQueryData(["settings"],X),i(X),s(!1),l(!0),setTimeout(()=>l(!1),2e3),t.invalidateQueries({queryKey:["archiveStats"]})}}),se=()=>{r&&Y.mutate(r)},V=(X,ae)=>{r&&i({...r,[X]:ae})};return R||!r?h.jsx("div",{className:"p-8 flex justify-center",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-8 flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Settings"}),h.jsx("p",{className:"text-bambu-gray",children:"Configure Bambusy"})]}),h.jsxs(lt,{onClick:se,disabled:!a||Y.isPending,children:[Y.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):o?h.jsx(Hp,{className:"w-4 h-4"}):h.jsx(I0,{className:"w-4 h-4"}),o?"Saved!":"Save"]})]}),Y.isError&&h.jsxs("div",{className:"mb-6 p-3 bg-red-500/20 border border-red-500/50 rounded-lg text-sm text-red-400",children:["Failed to save settings: ",Y.error.message]}),h.jsxs("div",{className:"flex gap-8",children:[h.jsxs("div",{className:"space-y-6 flex-1 max-w-xl",children:[h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Archive Settings"})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Auto-archive prints"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Automatically save 3MF files when prints complete"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.auto_archive,onChange:X=>V("auto_archive",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Save thumbnails"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Extract and save preview images from 3MF files"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.save_thumbnails,onChange:X=>V("save_thumbnails",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Capture finish photo"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Take a photo from printer camera when print completes"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.capture_finish_photo,onChange:X=>V("capture_finish_photo",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),r.capture_finish_photo&&F&&!F.installed&&h.jsxs("div",{className:"flex items-start gap-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[h.jsx(ya,{className:"w-5 h-5 text-yellow-500 flex-shrink-0 mt-0.5"}),h.jsxs("div",{className:"text-sm",children:[h.jsx("p",{className:"text-yellow-500 font-medium",children:"ffmpeg not installed"}),h.jsxs("p",{className:"text-bambu-gray mt-1",children:["Camera capture requires ffmpeg. Install it via"," ",h.jsx("code",{className:"bg-bambu-dark-tertiary px-1 rounded",children:"brew install ffmpeg"})," (macOS) or"," ",h.jsx("code",{className:"bg-bambu-dark-tertiary px-1 rounded",children:"apt install ffmpeg"})," (Linux)."]})]})]})]})]}),h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Cost Tracking"})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Default filament cost (per kg)"}),h.jsx("input",{type:"number",step:"0.01",min:"0",value:r.default_filament_cost,onChange:X=>V("default_filament_cost",parseFloat(X.target.value)||0),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Currency"}),h.jsxs("select",{value:r.currency,onChange:X=>V("currency",X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"USD",children:"USD ($)"}),h.jsx("option",{value:"EUR",children:"EUR (€)"}),h.jsx("option",{value:"GBP",children:"GBP (£)"}),h.jsx("option",{value:"CHF",children:"CHF (Fr.)"}),h.jsx("option",{value:"JPY",children:"JPY (¥)"}),h.jsx("option",{value:"CNY",children:"CNY (¥)"}),h.jsx("option",{value:"CAD",children:"CAD ($)"}),h.jsx("option",{value:"AUD",children:"AUD ($)"})]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Electricity cost per kWh"}),h.jsx("input",{type:"number",step:"0.01",min:"0",value:r.energy_cost_per_kwh,onChange:X=>V("energy_cost_per_kwh",parseFloat(X.target.value)||0),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Energy display mode"}),h.jsxs("select",{value:r.energy_tracking_mode||"total",onChange:X=>V("energy_tracking_mode",X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"print",children:"Prints Only"}),h.jsx("option",{value:"total",children:"Total Consumption"})]}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:r.energy_tracking_mode==="print"?"Dashboard shows sum of energy used during prints":"Dashboard shows lifetime energy from smart plugs"})]})]})]}),h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:e("settings.general")})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{children:[h.jsxs("label",{className:"block text-sm text-bambu-gray mb-1",children:[h.jsx(V_,{className:"w-4 h-4 inline mr-1"}),e("settings.language")]}),h.jsx("select",{value:n.language,onChange:X=>n.changeLanguage(X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:CU.map(X=>h.jsxs("option",{value:X.code,children:[X.nativeName," (",X.name,")"]},X.code))}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:e("settings.languageDescription")})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:e("settings.defaultView")}),h.jsx("select",{value:x,onChange:X=>w(X.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:m_.map(X=>h.jsx("option",{value:X.to,children:e(X.labelKey)},X.id))}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:e("settings.defaultViewDescription")})]}),h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Sidebar order"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Drag items in the sidebar to reorder. Reset to default order here."})]}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:A,children:[h.jsx(nw,{className:"w-4 h-4"}),"Reset"]})]})]})]})]}),h.jsxs("div",{className:"space-y-6 flex-1 max-w-md",children:[h.jsx(eVe,{}),h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Updates"})}),h.jsxs(on,{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Check for updates"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"Automatically check for new versions on startup"})]}),h.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:r.check_updates,onChange:X=>V("check_updates",X.target.checked),className:"sr-only peer"}),h.jsx("div",{className:"w-11 h-6 bg-bambu-dark-tertiary peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-bambu-green"})]})]}),h.jsxs("div",{className:"border-t border-bambu-dark-tertiary pt-4",children:[h.jsxs("div",{className:"flex items-center justify-between mb-2",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:"Current version"}),h.jsxs("p",{className:"text-sm text-bambu-gray",children:["v",I?.version||"..."]})]}),h.jsxs(lt,{variant:"secondary",size:"sm",onClick:()=>O(),disabled:H,children:[H?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(el,{className:"w-4 h-4"}),"Check now"]})]}),B?.update_available?h.jsxs("div",{className:"mt-4 p-3 bg-bambu-green/10 border border-bambu-green/30 rounded-lg",children:[h.jsxs("div",{className:"flex items-start justify-between",children:[h.jsxs("div",{children:[h.jsxs("p",{className:"text-bambu-green font-medium",children:["Update available: v",B.latest_version]}),B.release_name&&B.release_name!==B.latest_version&&h.jsx("p",{className:"text-sm text-bambu-gray mt-1",children:B.release_name}),B.release_notes&&h.jsx("p",{className:"text-sm text-bambu-gray mt-2 whitespace-pre-line line-clamp-3",children:B.release_notes})]}),B.release_url&&h.jsx("a",{href:B.release_url,target:"_blank",rel:"noopener noreferrer",className:"text-bambu-gray hover:text-white transition-colors",title:"View release on GitHub",children:h.jsx(Qo,{className:"w-4 h-4"})})]}),$?.status==="downloading"||$?.status==="installing"?h.jsxs("div",{className:"mt-3",children:[h.jsxs("div",{className:"flex items-center gap-2 text-sm text-bambu-gray",children:[h.jsx(Ft,{className:"w-4 h-4 animate-spin"}),h.jsx("span",{children:$.message})]}),h.jsx("div",{className:"mt-2 w-full bg-bambu-dark-tertiary rounded-full h-2",children:h.jsx("div",{className:"bg-bambu-green h-2 rounded-full transition-all duration-300",style:{width:`${$.progress}%`}})})]}):$?.status==="complete"?h.jsx("div",{className:"mt-3 p-2 bg-bambu-green/20 rounded text-sm text-bambu-green",children:$.message}):$?.status==="error"?h.jsx("div",{className:"mt-3 p-2 bg-red-500/20 rounded text-sm text-red-400",children:$.error||$.message}):h.jsxs(lt,{className:"mt-3",onClick:()=>K.mutate(),disabled:K.isPending,children:[K.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(Ku,{className:"w-4 h-4"}),"Install Update"]})]}):B?.error?h.jsxs("div",{className:"mt-2 p-2 bg-red-500/10 border border-red-500/30 rounded text-sm text-red-400",children:["Failed to check for updates: ",B.error]}):B&&!B.update_available?h.jsx("p",{className:"mt-2 text-sm text-bambu-gray",children:"You're running the latest version"}):null]})]})]})]}),h.jsx("div",{className:"w-80 flex-shrink-0",children:h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(jN,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Smart Plugs"})]}),h.jsxs(lt,{size:"sm",onClick:()=>{g(null),u(!0)},children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add"]})]})}),h.jsxs(on,{children:[h.jsx("p",{className:"text-sm text-bambu-gray mb-4",children:"Connect Tasmota-based smart plugs to automate power control for your printers."}),j?h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-6 h-6 text-bambu-green animate-spin"})}):N&&N.length>0?h.jsx("div",{className:"space-y-4",children:N.map(X=>h.jsx(q$e,{plug:X,onEdit:ae=>{g(ae),u(!0)}},X.id))}):h.jsxs("div",{className:"text-center py-8 text-bambu-gray",children:[h.jsx(jN,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),h.jsx("p",{children:"No smart plugs configured"}),h.jsx("p",{className:"text-sm mt-1",children:"Add a Tasmota plug to get started"})]})]})]})}),h.jsx("div",{className:"w-80 flex-shrink-0",children:h.jsxs(Yt,{children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center justify-between",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(ON,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Notifications"})]}),h.jsxs(lt,{size:"sm",onClick:()=>{b(null),y(!0)},children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add"]})]})}),h.jsxs(on,{children:[h.jsx("p",{className:"text-sm text-bambu-gray mb-4",children:"Get notified about print events via WhatsApp, Telegram, Email, and more."}),h.jsxs("div",{className:"flex items-center justify-between py-3 border-b border-bambu-dark-tertiary mb-4",children:[h.jsxs("div",{children:[h.jsx("p",{className:"text-white",children:e("settings.notificationLanguage")}),h.jsx("p",{className:"text-sm text-bambu-gray",children:e("settings.notificationLanguageDescription")})]}),h.jsx("select",{value:r.notification_language||"en",onChange:X=>V("notification_language",X.target.value),className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:outline-none focus:ring-2 focus:ring-bambu-green",children:CU.map(X=>h.jsx("option",{value:X.code,children:X.nativeName},X.code))})]}),k?h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-6 h-6 text-bambu-green animate-spin"})}):C&&C.length>0?h.jsx("div",{className:"space-y-4",children:C.map(X=>h.jsx(Y$e,{provider:X,onEdit:ae=>{b(ae),y(!0)}},X.id))}):h.jsxs("div",{className:"text-center py-8 text-bambu-gray",children:[h.jsx(ON,{className:"w-12 h-12 mx-auto mb-3 opacity-30"}),h.jsx("p",{children:"No notification providers configured"}),h.jsx("p",{className:"text-sm mt-1",children:"Add a provider to get started"})]})]})]})})]}),c&&h.jsx(X$e,{plug:f,onClose:()=>{u(!1),g(null)}}),m&&h.jsx(Z$e,{provider:v,onClose:()=>{y(!1),b(null)}})]})}const JJ=t=>{const e=parseFloat(t);return(Math.trunc(e*1e3)/1e3).toFixed(3)},nVe=t=>t.startsWith("HH")?"HF":"S",rVe=t=>{const e=t.match(/^([A-Z]{2}\d{2})/);return e?e[1]:"HH00"},eee=t=>{const e=["High Flow_","High Flow ","Standard_","Standard ","HF_","HF ","S_","S "];for(const r of e)if(t.startsWith(r))return t.slice(r.length);const n=t.indexOf("_");return n>0?t.slice(n+1):t};function gN({profile:t,onEdit:e}){const n=nVe(t.nozzle_id),r=t.nozzle_diameter,i=t.name||"Unnamed",a=eee(t.name||"");return h.jsxs("button",{onClick:e,className:"w-full text-left px-3 py-2 bg-bambu-dark rounded hover:bg-bambu-dark-tertiary transition-colors",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-bambu-green font-mono text-sm font-bold whitespace-nowrap",children:JJ(t.k_value)}),h.jsx("span",{className:"text-white text-sm truncate flex-1",title:i,children:i}),h.jsxs("span",{className:"text-xs text-bambu-gray whitespace-nowrap",children:[n," ",r]})]}),h.jsxs("div",{className:"text-xs text-bambu-gray mt-0.5 truncate",title:`Filament: ${a}`,children:["Filament: ",a||t.filament_id]})]})}function fG({profile:t,printerId:e,nozzleDiameter:n,existingProfiles:r=[],isDualNozzle:i=!1,onClose:a,onSave:s}){const{showToast:o}=eo(),l=In(),[c,u]=E.useState(t?.name||""),[f,g]=E.useState(t?.k_value?JJ(t.k_value):"0.020"),[m,y]=E.useState(t?.filament_id||""),[v,b]=E.useState(t?.nozzle_id?rVe(t.nozzle_id):"HH00"),[x,M]=E.useState(t?.nozzle_diameter||n),[w,A]=E.useState(t?[t.extruder_id]:i?[0,1]:[0]),[T,R]=E.useState(!1),[N,j]=E.useState({current:0,total:0}),C=ur.useMemo(()=>{const $=new Map;for(const W of r)if(W.filament_id&&!$.has(W.filament_id)){const K=eee(W.name||"");$.set(W.filament_id,{id:W.filament_id,name:K||W.filament_id})}return Array.from($.values()).sort((W,K)=>W.name.localeCompare(K.name))},[r]),k=yt({mutationFn:$=>(console.log("[KProfile] Calling API..."),Fe.setKProfile(e,$)),onSuccess:$=>{console.log("[KProfile] Save success:",$),o("K-profile saved"),R(!0),setTimeout(()=>{l.invalidateQueries({queryKey:["kprofiles",e]}),R(!1),s()},2500)},onError:$=>{console.error("[KProfile] Save error:",$),o($.message,"error"),R(!1)}}),F=yt({mutationFn:$=>(console.log("[KProfile] Deleting profile..."),Fe.deleteKProfile(e,$)),onSuccess:$=>{console.log("[KProfile] Delete success:",$),o("K-profile deleted"),R(!0),setTimeout(()=>{l.invalidateQueries({queryKey:["kprofiles",e]}),R(!1),a()},2500)},onError:$=>{console.error("[KProfile] Delete error:",$),o($.message,"error"),R(!1)}}),[I,B]=E.useState(!1),O=()=>{t&&F.mutate({slot_id:t.slot_id,extruder_id:t.extruder_id,nozzle_id:t.nozzle_id,nozzle_diameter:t.nozzle_diameter,filament_id:t.filament_id,setting_id:t.setting_id})},H=async $=>{if($.preventDefault(),i&&!t&&w.length===0){o("Please select at least one extruder","error");return}const W=parseFloat(f).toFixed(6),K=`${v}-${x}`;if(t||w.length===1){const Y={name:c,k_value:W,filament_id:m,nozzle_id:K,nozzle_diameter:x,extruder_id:t?t.extruder_id:w[0],setting_id:t?.setting_id,slot_id:t?.slot_id??0};console.log("[KProfile] Saving profile:",Y),k.mutate(Y);return}R(!0),j({current:0,total:w.length});for(let Y=0;YsetTimeout(X,1500))}catch(X){console.error(`[KProfile] Failed to save for extruder ${se}:`,X),o(`Failed to save for ${se===1?"Left":"Right"} extruder`,"error"),R(!1),j({current:0,total:0});return}}o(`K-profile saved to ${w.length} extruders`),setTimeout(()=>{l.invalidateQueries({queryKey:["kprofiles",e]}),R(!1),j({current:0,total:0}),s()},2500)};return h.jsxs("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:[h.jsxs(Yt,{className:"w-full max-w-md relative",children:[T&&h.jsxs("div",{className:"absolute inset-0 bg-bambu-dark-secondary/90 flex flex-col items-center justify-center z-10 rounded-lg",children:[h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin mb-3"}),h.jsx("p",{className:"text-white font-medium",children:N.total>1?`Saving to extruder ${N.current}/${N.total}...`:"Syncing with printer..."}),h.jsx("p",{className:"text-bambu-gray text-sm mt-1",children:"Please wait"})]}),h.jsxs(on,{className:"p-0",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-xl font-semibold text-white",children:t?"Edit K-Profile":"Add K-Profile"}),h.jsx("button",{onClick:a,className:"text-bambu-gray hover:text-white transition-colors",disabled:T,children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("form",{onSubmit:H,className:"p-4 space-y-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Profile Name"}),h.jsx("input",{type:"text",value:c,onChange:$=>u($.target.value),disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,placeholder:"My PLA Profile",required:!t})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"K-Value"}),h.jsx("input",{type:"text",inputMode:"decimal",value:f,onChange:$=>{const W=$.target.value;(W===""||/^\d*\.?\d*$/.test(W))&&g(W)},onBlur:$=>{const W=parseFloat($.target.value);isNaN(W)||g((Math.trunc(W*1e3)/1e3).toFixed(3))},className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none font-mono",placeholder:"0.020",required:!0}),h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"Typical range: 0.01 - 0.06 for PLA, 0.02 - 0.10 for PETG"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Filament"}),h.jsxs("select",{value:m,onChange:$=>{const W=$.target.value;if(y(W),!t&&W&&!c){const K=C.find(Y=>Y.id===W);K&&u(`${v==="HH00"?"HF":"S"} ${K.name}`)}},disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,required:!t,children:[h.jsx("option",{value:"",children:"Select filament..."}),t?.filament_id&&h.jsx("option",{value:t.filament_id,children:C.find($=>$.id===t.filament_id)?.name||t.filament_id},t.filament_id),!t&&C.map($=>h.jsx("option",{value:$.id,children:$.name},$.id))]}),!t&&C.length===0&&h.jsx("p",{className:"text-xs text-bambu-gray mt-1",children:"No filaments found. Create a K-profile in Bambu Studio first."})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Flow Type"}),h.jsxs("select",{value:v,onChange:$=>{const W=$.target.value;if(b(W),!t&&m&&!c){const K=C.find(Y=>Y.id===m);K&&u(`${W==="HH00"?"HF":"S"} ${K.name}`)}},disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,children:[h.jsx("option",{value:"HH00",children:"High Flow"}),h.jsx("option",{value:"HS00",children:"Standard"})]})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Nozzle Size"}),h.jsxs("select",{value:x,onChange:$=>M($.target.value),disabled:!!t,className:`w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none ${t?"opacity-60 cursor-not-allowed":""}`,children:[h.jsx("option",{value:"0.2",children:"0.2mm"}),h.jsx("option",{value:"0.4",children:"0.4mm"}),h.jsx("option",{value:"0.6",children:"0.6mm"}),h.jsx("option",{value:"0.8",children:"0.8mm"})]})]})]}),i&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:t?"Extruder":"Extruders"}),t?h.jsx("div",{className:"px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white opacity-60",children:t.extruder_id===1?"Left":"Right"}):h.jsxs("div",{className:"flex gap-4",children:[h.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:w.includes(1),onChange:$=>{$.target.checked?A([...w,1]):A(w.filter(W=>W!==1))},className:"w-4 h-4 rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green focus:ring-offset-0 accent-bambu-green"}),h.jsx("span",{className:"text-white",children:"Left"})]}),h.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[h.jsx("input",{type:"checkbox",checked:w.includes(0),onChange:$=>{$.target.checked?A([...w,0]):A(w.filter(W=>W!==0))},className:"w-4 h-4 rounded border-bambu-dark-tertiary bg-bambu-dark text-bambu-green focus:ring-bambu-green focus:ring-offset-0 accent-bambu-green"}),h.jsx("span",{className:"text-white",children:"Right"})]})]})]}),h.jsxs("div",{className:"flex gap-2 pt-4",children:[t&&h.jsx(lt,{type:"button",variant:"secondary",onClick:()=>B(!0),disabled:F.isPending||T,className:"text-red-500 hover:bg-red-500/10",children:F.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(aa,{className:"w-4 h-4"})}),h.jsx(lt,{type:"button",variant:"secondary",onClick:a,disabled:T,className:"flex-1",children:"Cancel"}),h.jsxs(lt,{type:"submit",disabled:k.isPending||T,className:"flex-1",children:[k.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(HP,{className:"w-4 h-4"}),"Save"]})]})]})]})]}),I&&h.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-[60]",children:h.jsx(Yt,{className:"w-full max-w-sm",children:h.jsxs(on,{className:"p-6",children:[h.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[h.jsx("div",{className:"w-10 h-10 rounded-full bg-red-500/20 flex items-center justify-center",children:h.jsx(aa,{className:"w-5 h-5 text-red-500"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-lg font-semibold text-white",children:"Delete Profile"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"This cannot be undone"})]})]}),h.jsxs("p",{className:"text-bambu-gray mb-6",children:["Are you sure you want to delete ",h.jsxs("span",{className:"text-white font-medium",children:['"',t?.name,'"']})," from the printer?"]}),h.jsxs("div",{className:"flex gap-3",children:[h.jsx(lt,{variant:"secondary",onClick:()=>B(!1),className:"flex-1",children:"Cancel"}),h.jsxs(lt,{onClick:()=>{B(!1),O()},disabled:F.isPending,className:"flex-1 bg-red-500 hover:bg-red-600 text-white",children:[F.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(aa,{className:"w-4 h-4"}),"Delete"]})]})]})})})]})}function iVe(){const[t,e]=E.useState(null),[n,r]=E.useState("0.4"),[i,a]=E.useState(null),[s,o]=E.useState(!1),[l,c]=E.useState(""),[u,f]=E.useState("all"),[g,m]=E.useState("all"),{data:y,isLoading:v}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:b,isLoading:x,error:M,refetch:w}=Ut({queryKey:["kprofiles",t,n],queryFn:()=>Fe.getKProfiles(t,n),enabled:!!t,retry:!1,staleTime:0,refetchOnMount:"always"}),A=M?.message?.includes("not connected");E.useEffect(()=>{if(!t&&y&&y.length>0){const C=y.find(k=>k.is_active);C&&e(C.id)}},[t,y]),E.useEffect(()=>{if(t){const C=setTimeout(()=>{w()},150);return()=>clearTimeout(C)}},[t,n]);const T=y?.filter(C=>C.is_active)||[],R=ur.useMemo(()=>b?.profiles?b.profiles.filter(C=>{const k=l.toLowerCase(),F=!k||C.name.toLowerCase().includes(k)||C.filament_id.toLowerCase().includes(k),I=u==="all"||u==="left"&&C.extruder_id===1||u==="right"&&C.extruder_id===0,B=g==="all"||g==="hf"&&C.nozzle_id.startsWith("HH")||g==="s"&&C.nozzle_id.startsWith("HS");return F&&I&&B}):[],[b?.profiles,l,u,g]),j=y?.find(C=>C.id===t)?.nozzle_count===2;return v?h.jsx("div",{className:"flex justify-center py-12",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):!y||y.length===0?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(od,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No Printers Configured"}),h.jsx("p",{className:"text-bambu-gray",children:"Add a printer in Settings to manage K-profiles"})]})}):T.length===0?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(mc,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No Active Printers"}),h.jsx("p",{className:"text-bambu-gray",children:"Enable a printer connection to view its K-profiles"})]})}):h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex flex-wrap gap-4 mb-6",children:[h.jsxs("div",{className:"flex-1 min-w-48",children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Printer"}),h.jsx("select",{value:t||"",onChange:C=>e(parseInt(C.target.value)),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:T.map(C=>h.jsx("option",{value:C.id,children:C.name},C.id))})]}),h.jsxs("div",{className:"w-32",children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Nozzle"}),h.jsxs("select",{value:n,onChange:C=>r(C.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"0.2",children:"0.2mm"}),h.jsx("option",{value:"0.4",children:"0.4mm"}),h.jsx("option",{value:"0.6",children:"0.6mm"}),h.jsx("option",{value:"0.8",children:"0.8mm"})]})]}),h.jsxs("div",{className:"flex items-end gap-2",children:[h.jsxs(lt,{variant:"secondary",onClick:()=>w(),disabled:x,children:[h.jsx(el,{className:`w-4 h-4 ${x?"animate-spin":""}`}),"Refresh"]}),h.jsxs(lt,{onClick:()=>o(!0),children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add Profile"]})]})]}),h.jsxs("div",{className:"flex flex-wrap gap-4 mb-6",children:[h.jsxs("div",{className:"flex-1 min-w-48 relative",children:[h.jsx(q_,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-bambu-gray"}),h.jsx("input",{type:"text",value:l,onChange:C=>c(C.target.value),placeholder:"Search by name or filament...",className:"w-full pl-10 pr-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white placeholder-bambu-gray focus:border-bambu-green focus:outline-none"})]}),j&&h.jsx("div",{className:"w-36",children:h.jsxs("select",{value:u,onChange:C=>f(C.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"all",children:"All Extruders"}),h.jsx("option",{value:"left",children:"Left Only"}),h.jsx("option",{value:"right",children:"Right Only"})]})}),h.jsx("div",{className:"w-32",children:h.jsxs("select",{value:g,onChange:C=>m(C.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"all",children:"All Flow"}),h.jsx("option",{value:"hf",children:"HF Only"}),h.jsx("option",{value:"s",children:"S Only"})]})})]}),x?h.jsx("div",{className:"flex justify-center py-12",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):A?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(Vp,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"Printer Offline"}),h.jsx("p",{className:"text-bambu-gray mb-4",children:"The selected printer is not connected. Power it on to view K-profiles."}),h.jsxs(lt,{variant:"secondary",onClick:()=>w(),children:[h.jsx(el,{className:"w-4 h-4"}),"Retry"]})]})}):R.length>0?j?h.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-sm font-medium text-bambu-gray mb-2 px-1",children:"Left Extruder"}),h.jsx("div",{className:"space-y-1",children:R.filter(C=>C.extruder_id===1).map(C=>h.jsx(gN,{profile:C,onEdit:()=>a(C)},C.slot_id))})]}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-sm font-medium text-bambu-gray mb-2 px-1",children:"Right Extruder"}),h.jsx("div",{className:"space-y-1",children:R.filter(C=>C.extruder_id===0).map(C=>h.jsx(gN,{profile:C,onEdit:()=>a(C)},C.slot_id))})]})]}):h.jsx("div",{className:"space-y-1",children:R.map(C=>h.jsx(gN,{profile:C,onEdit:()=>a(C)},C.slot_id))}):l||u!=="all"||g!=="all"?h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(q_,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No Matching Profiles"}),h.jsx("p",{className:"text-bambu-gray",children:"No profiles match your search criteria"})]})}):h.jsx(Yt,{children:h.jsxs(on,{className:"py-12 text-center",children:[h.jsx(HP,{className:"w-12 h-12 text-bambu-gray mx-auto mb-4"}),h.jsx("h3",{className:"text-lg font-semibold text-white mb-2",children:"No K-Profiles"}),h.jsxs("p",{className:"text-bambu-gray mb-4",children:["No pressure advance profiles found for ",n,"mm nozzle"]}),h.jsxs(lt,{onClick:()=>o(!0),children:[h.jsx(Jo,{className:"w-4 h-4"}),"Create First Profile"]})]})}),i&&t&&h.jsx(fG,{profile:i,printerId:t,nozzleDiameter:n,existingProfiles:b?.profiles,isDualNozzle:j,onClose:()=>a(null),onSave:()=>a(null)}),s&&t&&h.jsx(fG,{printerId:t,nozzleDiameter:n,existingProfiles:b?.profiles,isDualNozzle:j,onClose:()=>o(!1),onSave:()=>o(!1)})]})}function aVe({onSuccess:t}){const{showToast:e}=eo(),[n,r]=E.useState("email"),[i,a]=E.useState(""),[s,o]=E.useState(""),[l,c]=E.useState(""),[u,f]=E.useState(""),[g,m]=E.useState("global"),y=yt({mutationFn:()=>Fe.cloudLogin(i,s,g),onSuccess:w=>{w.success?(e("Logged in successfully"),t()):w.needs_verification?(e("Verification code sent to your email"),r("code")):e(w.message,"error")},onError:w=>{e(w.message,"error")}}),v=yt({mutationFn:()=>Fe.cloudVerify(i,l),onSuccess:w=>{w.success?(e("Logged in successfully"),t()):e(w.message,"error")},onError:w=>{e(w.message,"error")}}),b=yt({mutationFn:()=>Fe.cloudSetToken(u),onSuccess:()=>{e("Token set successfully"),t()},onError:w=>{e(w.message,"error")}}),x=w=>{w.preventDefault(),n==="email"?y.mutate():n==="code"?v.mutate():n==="token"&&b.mutate()},M=y.isPending||v.isPending||b.isPending;return h.jsxs(Yt,{className:"max-w-md mx-auto",children:[h.jsx(Xl,{children:h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx(BP,{className:"w-5 h-5 text-bambu-green"}),h.jsx("h2",{className:"text-xl font-semibold text-white",children:"Connect to Bambu Cloud"})]})}),h.jsx(on,{children:h.jsxs("form",{onSubmit:x,className:"space-y-4",children:[n==="email"&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Email"}),h.jsx("input",{type:"email",value:i,onChange:w=>a(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:"your@email.com",required:!0})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Password"}),h.jsx("input",{type:"password",value:s,onChange:w=>o(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",placeholder:"••••••••",required:!0})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Region"}),h.jsxs("select",{value:g,onChange:w=>m(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white focus:border-bambu-green focus:outline-none",children:[h.jsx("option",{value:"global",children:"Global"}),h.jsx("option",{value:"china",children:"China"})]})]})]}),n==="code"&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Verification Code"}),h.jsxs("p",{className:"text-xs text-bambu-gray mb-2",children:["Check your email (",i,") for a 6-digit code"]}),h.jsx("input",{type:"text",value:l,onChange:w=>c(w.target.value.replace(/\D/g,"").slice(0,6)),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-center text-2xl tracking-widest focus:border-bambu-green focus:outline-none",placeholder:"000000",maxLength:6,required:!0})]}),n==="token"&&h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1",children:"Access Token"}),h.jsx("p",{className:"text-xs text-bambu-gray mb-2",children:"Paste your Bambu Lab access token (from Bambu Studio)"}),h.jsx("textarea",{value:u,onChange:w=>f(w.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg text-white text-xs font-mono focus:border-bambu-green focus:outline-none resize-none",placeholder:"eyJ...",rows:3,required:!0})]}),h.jsxs("div",{className:"flex gap-2",children:[n==="code"&&h.jsx(lt,{type:"button",variant:"secondary",onClick:()=>r("email"),className:"flex-1",children:"Back"}),h.jsxs(lt,{type:"submit",disabled:M,className:"flex-1",children:[M?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(JU,{className:"w-4 h-4"}),n==="email"?"Login":n==="code"?"Verify":"Set Token"]})]}),n==="email"&&h.jsx("div",{className:"pt-4 border-t border-bambu-dark-tertiary",children:h.jsxs("button",{type:"button",onClick:()=>r("token"),className:"text-sm text-bambu-gray hover:text-white flex items-center gap-1",children:[h.jsx(Jse,{className:"w-3 h-3"}),"Use access token instead"]})}),n==="token"&&h.jsx("div",{className:"pt-4 border-t border-bambu-dark-tertiary",children:h.jsxs("button",{type:"button",onClick:()=>r("email"),className:"text-sm text-bambu-gray hover:text-white flex items-center gap-1",children:[h.jsx(JU,{className:"w-3 h-3"}),"Login with email instead"]})})]})})]})}function sVe({setting:t,onClick:e}){return h.jsxs("button",{onClick:e,className:"w-full text-left p-3 bg-bambu-dark rounded-lg hover:bg-bambu-dark-tertiary transition-colors",children:[h.jsx("p",{className:"text-white font-medium truncate",children:t.name}),t.updated_time&&h.jsxs("p",{className:"text-xs text-bambu-gray mt-1",children:["Updated: ",new Date(t.updated_time).toLocaleDateString()]})]})}function oVe({setting:t,onClose:e}){const{data:n,isLoading:r}=Ut({queryKey:["cloudSettingDetail",t.setting_id],queryFn:()=>Fe.getCloudSettingDetail(t.setting_id)});return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:h.jsx(Yt,{className:"w-full max-w-2xl max-h-[90vh] flex flex-col",children:h.jsxs(on,{className:"p-0 flex flex-col h-full",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{children:[h.jsx("h2",{className:"text-xl font-semibold text-white",children:t.name}),h.jsxs("p",{className:"text-sm text-bambu-gray capitalize",children:[t.type," preset"]})]}),h.jsx("button",{onClick:e,className:"text-bambu-gray hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:r?h.jsx("div",{className:"flex justify-center py-8",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):n?h.jsx("pre",{className:"text-xs text-bambu-gray font-mono whitespace-pre-wrap overflow-x-auto bg-bambu-dark p-4 rounded-lg",children:JSON.stringify(n,null,2)}):h.jsx("p",{className:"text-bambu-gray text-center py-8",children:"Failed to load preset details"})}),h.jsx("div",{className:"p-4 border-t border-bambu-dark-tertiary",children:h.jsx(lt,{variant:"secondary",onClick:e,className:"w-full",children:"Close"})})]})})})}function lVe({settings:t}){const[e,n]=E.useState(new Set),[r,i]=E.useState(null),a=l=>[...l].sort((c,u)=>c.name.localeCompare(u.name)),s=l=>{n(c=>{const u=new Set(c);return u.has(l)?u.delete(l):u.add(l),u})},o=[{key:"filament",label:"Filament Presets",icon:a9,items:a(t.filament)},{key:"printer",label:"Printer Presets",icon:mc,items:a(t.printer)},{key:"process",label:"Process Presets",icon:GP,items:a(t.process)}];return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"space-y-4",children:o.map(({key:l,label:c,icon:u,items:f})=>h.jsxs(Yt,{children:[h.jsxs("button",{onClick:()=>s(l),className:"w-full flex items-center justify-between p-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(u,{className:"w-5 h-5 text-bambu-green"}),h.jsx("span",{className:"text-lg font-semibold text-white",children:c}),h.jsxs("span",{className:"text-sm text-bambu-gray",children:["(",f.length,")"]})]}),e.has(l)?h.jsx(Gf,{className:"w-5 h-5 text-bambu-gray"}):h.jsx(Wf,{className:"w-5 h-5 text-bambu-gray"})]}),e.has(l)&&f.length>0&&h.jsx(on,{className:"pt-0",children:h.jsx("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:f.map(g=>h.jsx(sVe,{setting:g,onClick:()=>i(g)},g.setting_id))})}),e.has(l)&&f.length===0&&h.jsx(on,{className:"pt-0",children:h.jsx("p",{className:"text-bambu-gray text-sm",children:"No presets found"})})]},l))}),r&&h.jsx(oVe,{setting:r,onClose:()=>i(null)})]})}function cVe(){const t=In(),{showToast:e}=eo(),[n,r]=E.useState("kprofiles"),{data:i,isLoading:a}=Ut({queryKey:["cloudStatus"],queryFn:Fe.getCloudStatus}),{data:s,isLoading:o,refetch:l}=Ut({queryKey:["cloudSettings"],queryFn:()=>Fe.getCloudSettings(),enabled:!!i?.is_authenticated,retry:!1,staleTime:1e3*60*5}),c=yt({mutationFn:Fe.cloudLogout,onSuccess:()=>{t.invalidateQueries({queryKey:["cloudStatus"]}),t.removeQueries({queryKey:["cloudSettings"]}),e("Logged out")}}),u=()=>{t.invalidateQueries({queryKey:["cloudStatus"]})};return a?h.jsx("div",{className:"p-8 flex justify-center",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-6",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Profiles"}),h.jsx("p",{className:"text-bambu-gray",children:"Manage your slicer presets and pressure advance calibrations"})]}),h.jsxs("div",{className:"flex border-b border-bambu-dark-tertiary mb-6",children:[h.jsxs("button",{onClick:()=>r("cloud"),className:`flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors border-b-2 -mb-px ${n==="cloud"?"text-bambu-green border-bambu-green":"text-bambu-gray hover:text-white border-transparent"}`,children:[h.jsx(BP,{className:"w-4 h-4"}),"Cloud Profiles"]}),h.jsxs("button",{onClick:()=>r("kprofiles"),className:`flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors border-b-2 -mb-px ${n==="kprofiles"?"text-bambu-green border-bambu-green":"text-bambu-gray hover:text-white border-transparent"}`,children:[h.jsx(HP,{className:"w-4 h-4"}),"K-Profiles"]})]}),n==="cloud"&&h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[h.jsx("p",{className:"text-bambu-gray",children:i?.is_authenticated?`Connected as ${i.email}`:"Connect to Bambu Cloud to access your slicer presets"}),i?.is_authenticated&&h.jsxs("div",{className:"flex gap-2",children:[h.jsxs(lt,{variant:"secondary",onClick:()=>l(),disabled:o,children:[h.jsx(el,{className:`w-4 h-4 ${o?"animate-spin":""}`}),"Refresh"]}),h.jsxs(lt,{variant:"secondary",onClick:()=>c.mutate(),disabled:c.isPending,children:[h.jsx(goe,{className:"w-4 h-4"}),"Logout"]})]})]}),i?.is_authenticated?o?h.jsx("div",{className:"flex justify-center py-12",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})}):s?h.jsx(lVe,{settings:s}):h.jsx(Yt,{children:h.jsxs(on,{className:"py-8 text-center",children:[h.jsx("p",{className:"text-bambu-gray",children:"Failed to load profiles"}),h.jsx(lt,{className:"mt-4",onClick:()=>l(),children:"Retry"})]})}):h.jsx(aVe,{onSuccess:u})]}),n==="kprofiles"&&h.jsx(iVe,{})]})}const CP={Droplet:a9,Flame:o9,Ruler:Boe,Sparkles:ele,Square:$p,Cable:Gae,Wrench:Gp};function I_(t){return t&&CP[t]||Gp}function jx(t){return t<1?`${Math.round(t*60)}m`:`${t.toFixed(1)}h`}function uVe(t){const e=Math.floor(t),n=Math.round((t-e)*60);return e===0?`${n} minutes`:n===0?`${e} hours`:`${e}h ${n}m`}function dVe({item:t,onPerform:e,onToggle:n}){const r=I_(t.maintenance_type_icon),i=Math.max(0,Math.min(100,(t.interval_hours-t.hours_until_due)/t.interval_hours*100)),a=()=>t.enabled?t.is_due?"text-red-400":t.is_warning?"text-yellow-400":"text-bambu-green":"text-bambu-gray",s=()=>t.enabled?t.is_due?"bg-red-500":t.is_warning?"bg-yellow-500":"bg-bambu-green":"bg-bambu-gray/30",o=()=>t.enabled?t.is_due?`Overdue by ${jx(Math.abs(t.hours_until_due))}`:t.is_warning?`Due in ${jx(t.hours_until_due)}`:`${jx(t.hours_until_due)} left`:"Disabled";return h.jsxs("div",{className:`flex items-center gap-4 p-3 rounded-lg ${t.is_due?"bg-red-500/10":t.is_warning?"bg-yellow-500/10":"bg-bambu-dark"}`,children:[h.jsxs("div",{className:"flex items-center gap-3 min-w-[180px]",children:[h.jsx(r,{className:`w-4 h-4 ${a()}`}),h.jsx("span",{className:`text-sm ${t.enabled?"text-white":"text-bambu-gray"}`,children:t.maintenance_type_name})]}),h.jsx("div",{className:"flex-1 max-w-[200px]",children:h.jsx("div",{className:"w-full h-1.5 bg-bambu-dark-tertiary rounded-full overflow-hidden",children:h.jsx("div",{className:`h-full transition-all ${s()}`,style:{width:`${i}%`}})})}),h.jsxs("div",{className:`text-xs min-w-[120px] ${a()}`,children:[t.is_due&&h.jsx(ya,{className:"w-3 h-3 inline mr-1"}),t.is_warning&&h.jsx(ba,{className:"w-3 h-3 inline mr-1"}),!t.is_due&&!t.is_warning&&t.enabled&&h.jsx(Hp,{className:"w-3 h-3 inline mr-1"}),o()]}),h.jsx(as,{checked:t.enabled,onChange:l=>n(t.id,l)}),h.jsxs(lt,{size:"sm",variant:t.is_due?"primary":"secondary",onClick:()=>e(t.id),disabled:!t.enabled,className:"min-w-[70px]",children:[h.jsx(nw,{className:"w-3 h-3"}),"Done"]})]})}function fVe({overview:t,onPerform:e,onToggle:n,onSetHours:r}){const[i,a]=E.useState(!1),[s,o]=E.useState(!1),[l,c]=E.useState(t.total_print_hours.toFixed(1)),u=[...t.maintenance_items].sort((m,y)=>m.maintenance_type_id-y.maintenance_type_id),f=[...t.maintenance_items].filter(m=>m.enabled).sort((m,y)=>m.is_due&&!y.is_due?-1:!m.is_due&&y.is_due?1:m.is_warning&&!y.is_warning?-1:!m.is_warning&&y.is_warning?1:m.hours_until_due-y.hours_until_due)[0],g=()=>{const m=parseFloat(l);!isNaN(m)&&m>=0&&(r(t.printer_id,m),o(!1))};return h.jsxs(Yt,{children:[h.jsxs("div",{className:"p-4",children:[h.jsxs("div",{className:"flex items-center justify-between mb-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:t.printer_name}),t.due_count>0&&h.jsxs("span",{className:"px-2.5 py-1 bg-red-500/20 text-red-400 text-xs font-medium rounded-full flex items-center gap-1",children:[h.jsx(ya,{className:"w-3 h-3"}),t.due_count," overdue"]}),t.warning_count>0&&h.jsxs("span",{className:"px-2.5 py-1 bg-yellow-500/20 text-yellow-400 text-xs font-medium rounded-full flex items-center gap-1",children:[h.jsx(ba,{className:"w-3 h-3"}),t.warning_count," due soon"]}),t.due_count===0&&t.warning_count===0&&h.jsxs("span",{className:"px-2.5 py-1 bg-bambu-green/20 text-bambu-green text-xs font-medium rounded-full flex items-center gap-1",children:[h.jsx(Hp,{className:"w-3 h-3"}),"All good"]})]}),h.jsx("button",{onClick:()=>a(!i),className:"flex items-center gap-1 px-3 py-1.5 text-sm text-bambu-gray hover:text-white hover:bg-bambu-dark rounded transition-colors",children:i?h.jsxs(h.Fragment,{children:[h.jsx(QS,{className:"w-4 h-4"}),"Hide"]}):h.jsxs(h.Fragment,{children:[h.jsx(Gf,{className:"w-4 h-4"}),"Details"]})})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsxs("div",{className:"p-3 bg-bambu-dark rounded-lg",children:[h.jsx("div",{className:"text-xs text-bambu-gray mb-1 uppercase tracking-wide",children:"Total Print Time"}),s?h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("input",{type:"number",value:l,onChange:m=>c(m.target.value),onKeyDown:m=>{m.key==="Enter"&&g(),m.key==="Escape"&&o(!1)},className:"w-20 px-2 py-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-white text-lg font-semibold",min:"0",step:"1",autoFocus:!0}),h.jsx("span",{className:"text-sm text-bambu-gray",children:"hours"}),h.jsxs("div",{className:"flex gap-1 ml-auto",children:[h.jsx(lt,{size:"sm",onClick:g,children:"Save"}),h.jsx(lt,{size:"sm",variant:"secondary",onClick:()=>o(!1),children:"✕"})]})]}):h.jsxs("button",{onClick:()=>{c(Math.round(t.total_print_hours).toString()),o(!0)},className:"flex items-center gap-2 group",title:"Click to edit total print hours",children:[h.jsx("span",{className:"text-xl font-semibold text-white group-hover:text-bambu-green transition-colors",children:uVe(t.total_print_hours)}),h.jsx(VP,{className:"w-4 h-4 text-bambu-gray group-hover:text-bambu-green transition-colors"})]})]}),h.jsxs("div",{className:`p-3 rounded-lg ${f?.is_due?"bg-red-500/10":f?.is_warning?"bg-yellow-500/10":"bg-bambu-dark"}`,children:[h.jsx("div",{className:"text-xs text-bambu-gray mb-1 uppercase tracking-wide",children:"Next Maintenance"}),f?h.jsxs("div",{children:[h.jsx("div",{className:`text-lg font-semibold ${f.is_due?"text-red-400":f.is_warning?"text-yellow-400":"text-white"}`,children:f.maintenance_type_name}),h.jsx("div",{className:`text-sm ${f.is_due?"text-red-400":f.is_warning?"text-yellow-400":"text-bambu-gray"}`,children:f.is_due?h.jsxs(h.Fragment,{children:["Overdue by ",jx(Math.abs(f.hours_until_due))]}):h.jsxs(h.Fragment,{children:["Due in ",jx(f.hours_until_due)]})})]}):h.jsx("div",{className:"text-white",children:"No tasks enabled"})]})]})]}),i&&h.jsx(on,{className:"pt-0 space-y-2 border-t border-bambu-dark-tertiary mt-4",children:h.jsx("div",{className:"pt-4",children:u.map(m=>h.jsx(dVe,{item:m,onPerform:e,onToggle:n},m.id))})})]})}function hVe({overview:t,types:e,onUpdateInterval:n,onAddType:r,onDeleteType:i}){const[a,s]=E.useState(null),[o,l]=E.useState(""),[c,u]=E.useState(!1),[f,g]=E.useState(""),[m,y]=E.useState("100"),[v,b]=E.useState("Wrench"),x=(R,N)=>{const j=parseFloat(o);if(!isNaN(j)&&j>0){const C=Math.abs(j-N)<.01?null:j;n(R,C)}s(null)},M=R=>{R.preventDefault(),f.trim()&&parseFloat(m)>0&&(r({name:f.trim(),default_interval_hours:parseFloat(m),icon:v}),g(""),y("100"),u(!1))},w=t?.map(R=>({printerId:R.printer_id,printerName:R.printer_name,items:R.maintenance_items.sort((N,j)=>N.maintenance_type_id-j.maintenance_type_id)})).sort((R,N)=>R.printerName.localeCompare(N.printerName))||[],A=e.filter(R=>R.is_system),T=e.filter(R=>!R.is_system);return h.jsxs("div",{className:"space-y-8",children:[h.jsxs("div",{children:[h.jsxs("div",{className:"flex items-center justify-between mb-4",children:[h.jsx("h2",{className:"text-lg font-semibold text-white",children:"Maintenance Types"}),h.jsxs(lt,{size:"sm",variant:"secondary",onClick:()=>u(!c),children:[h.jsx(Jo,{className:"w-4 h-4"}),"Add Custom Type"]})]}),c&&h.jsx(Yt,{className:"mb-4",children:h.jsx("div",{className:"p-4",children:h.jsx("form",{onSubmit:M,children:h.jsxs("div",{className:"flex gap-3 items-end",children:[h.jsxs("div",{className:"flex-1",children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Name"}),h.jsx("input",{type:"text",value:f,onChange:R=>g(R.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded text-white text-sm",placeholder:"e.g., Replace HEPA Filter",autoFocus:!0})]}),h.jsxs("div",{className:"w-28",children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Interval (hours)"}),h.jsx("input",{type:"number",value:m,onChange:R=>y(R.target.value),className:"w-full px-3 py-2 bg-bambu-dark border border-bambu-dark-tertiary rounded text-white text-sm",min:"1"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-xs text-bambu-gray mb-1",children:"Icon"}),h.jsx("div",{className:"flex gap-1",children:Object.keys(CP).map(R=>{const N=CP[R];return h.jsx("button",{type:"button",onClick:()=>b(R),className:`p-2 rounded ${v===R?"bg-bambu-green text-white":"bg-bambu-dark-tertiary text-bambu-gray hover:text-white"}`,children:h.jsx(N,{className:"w-4 h-4"})},R)})})]}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx(lt,{type:"submit",size:"sm",disabled:!f.trim(),children:"Add"}),h.jsx(lt,{type:"button",size:"sm",variant:"secondary",onClick:()=>u(!1),children:"Cancel"})]})]})})})}),h.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3",children:[A.map(R=>{const N=I_(R.icon);return h.jsx("div",{className:"bg-bambu-dark-secondary rounded-lg p-4 border border-bambu-dark-tertiary",children:h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"p-2 bg-bambu-dark rounded-lg",children:h.jsx(N,{className:"w-5 h-5 text-bambu-gray"})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"text-sm font-medium text-white truncate",children:R.name}),h.jsxs("div",{className:"text-xs text-bambu-gray mt-0.5",children:[R.default_interval_hours,"h interval"]})]})]})},R.id)}),T.map(R=>{const N=I_(R.icon);return h.jsx("div",{className:"bg-bambu-dark-secondary rounded-lg p-4 border border-bambu-green/30",children:h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"p-2 bg-bambu-green/20 rounded-lg",children:h.jsx(N,{className:"w-5 h-5 text-bambu-green"})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("span",{className:"text-sm font-medium text-white truncate",children:R.name}),h.jsx("span",{className:"px-1.5 py-0.5 bg-bambu-green/20 text-bambu-green text-[10px] font-medium rounded",children:"Custom"})]}),h.jsxs("div",{className:"text-xs text-bambu-gray mt-0.5",children:[R.default_interval_hours,"h interval"]})]}),h.jsx("button",{onClick:()=>{confirm(`Delete "${R.name}"?`)&&i(R.id)},className:"p-1.5 rounded hover:bg-bambu-dark text-bambu-gray hover:text-red-400 transition-colors",children:h.jsx(aa,{className:"w-4 h-4"})})]})},R.id)})]})]}),w.length>0&&h.jsxs("div",{children:[h.jsx("h2",{className:"text-lg font-semibold text-white mb-2",children:"Interval Overrides"}),h.jsx("p",{className:"text-sm text-bambu-gray mb-4",children:"Set custom intervals per printer."}),h.jsx("div",{className:"space-y-3",children:w.map(R=>h.jsx(Yt,{children:h.jsxs("div",{className:"p-4",children:[h.jsx("h3",{className:"text-sm font-medium text-white mb-3",children:R.printerName}),h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2",children:R.items.map(N=>{const j=I_(N.maintenance_type_icon),k=e.find(I=>I.id===N.maintenance_type_id)?.default_interval_hours||N.interval_hours,F=a===N.id;return h.jsxs("div",{className:"flex items-center gap-2 p-2 bg-bambu-dark rounded-lg",children:[h.jsx(j,{className:"w-4 h-4 text-bambu-gray shrink-0"}),h.jsx("span",{className:"text-xs text-bambu-gray flex-1 truncate",children:N.maintenance_type_name}),F?h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("input",{type:"number",value:o,onChange:I=>l(I.target.value),onKeyDown:I=>{I.key==="Enter"&&x(N.id,k),I.key==="Escape"&&s(null)},className:"w-16 px-2 py-1 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-white text-xs",min:"1",autoFocus:!0}),h.jsx(lt,{size:"sm",onClick:()=>x(N.id,k),children:"OK"})]}):h.jsxs("button",{onClick:()=>{s(N.id),l(N.interval_hours.toString())},className:"px-2 py-1 bg-bambu-dark-tertiary hover:bg-bambu-dark-secondary border border-bambu-dark-tertiary hover:border-bambu-green rounded text-xs font-medium text-white transition-colors",children:[N.interval_hours,"h",h.jsx(VP,{className:"w-3 h-3 inline ml-1.5 text-bambu-gray"})]})]},N.id)})})]})},R.printerId))})]}),w.length===0&&h.jsx(Yt,{children:h.jsxs(on,{className:"text-center py-12",children:[h.jsx(ba,{className:"w-12 h-12 mx-auto mb-4 text-bambu-gray/30"}),h.jsx("p",{className:"text-bambu-gray",children:"No printers configured"}),h.jsx("p",{className:"text-sm text-bambu-gray/70 mt-1",children:"Add printers to configure maintenance intervals"})]})})]})}function pVe(){const t=In(),{showToast:e}=eo(),[n,r]=E.useState("status"),{data:i,isLoading:a}=Ut({queryKey:["maintenanceOverview"],queryFn:Fe.getMaintenanceOverview}),{data:s}=Ut({queryKey:["maintenanceTypes"],queryFn:Fe.getMaintenanceTypes}),o=yt({mutationFn:({id:x,notes:M})=>Fe.performMaintenance(x,M),onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceOverview"]}),t.invalidateQueries({queryKey:["maintenanceSummary"]}),e("Maintenance marked as done")},onError:x=>{e(x.message,"error")}}),l=yt({mutationFn:({id:x,data:M})=>Fe.updateMaintenanceItem(x,M),onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceOverview"]})},onError:x=>{e(x.message,"error")}}),c=yt({mutationFn:Fe.createMaintenanceType,onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceTypes"]}),t.invalidateQueries({queryKey:["maintenanceOverview"]}),e("Maintenance type added")},onError:x=>{e(x.message,"error")}}),u=yt({mutationFn:Fe.deleteMaintenanceType,onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceTypes"]}),t.invalidateQueries({queryKey:["maintenanceOverview"]}),e("Maintenance type deleted")},onError:x=>{e(x.message,"error")}}),f=yt({mutationFn:({printerId:x,hours:M})=>Fe.setPrinterHours(x,M),onSuccess:()=>{t.invalidateQueries({queryKey:["maintenanceOverview"]}),t.invalidateQueries({queryKey:["maintenanceSummary"]}),e("Print hours updated")},onError:x=>{e(x.message,"error")}}),g=x=>{o.mutate({id:x})},m=(x,M)=>{l.mutate({id:x,data:{enabled:M}})},y=(x,M)=>{f.mutate({printerId:x,hours:M})};if(a)return h.jsx("div",{className:"p-8 flex justify-center",children:h.jsx(Ft,{className:"w-8 h-8 text-bambu-green animate-spin"})});const v=i?.reduce((x,M)=>x+M.due_count,0)||0,b=i?.reduce((x,M)=>x+M.warning_count,0)||0;return h.jsxs("div",{className:"p-8",children:[h.jsxs("div",{className:"mb-6",children:[h.jsx("h1",{className:"text-2xl font-bold text-white",children:"Maintenance"}),h.jsx("p",{className:"text-bambu-gray text-sm",children:n==="status"?h.jsxs(h.Fragment,{children:[v>0&&h.jsxs("span",{className:"text-red-400",children:[v," tasks overdue"]}),v>0&&b>0&&" · ",b>0&&h.jsxs("span",{className:"text-yellow-400",children:[b," due soon"]}),v===0&&b===0&&"All maintenance up to date"]}):"Configure maintenance types and intervals"})]}),h.jsxs("div",{className:"flex gap-1 mb-6 border-b border-bambu-dark-tertiary",children:[h.jsx("button",{onClick:()=>r("status"),className:`px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors ${n==="status"?"text-bambu-green border-bambu-green":"text-bambu-gray border-transparent hover:text-white"}`,children:"Status"}),h.jsx("button",{onClick:()=>r("settings"),className:`px-4 py-2 text-sm font-medium border-b-2 -mb-px transition-colors ${n==="settings"?"text-bambu-green border-bambu-green":"text-bambu-gray border-transparent hover:text-white"}`,children:"Settings"})]}),n==="status"?h.jsx("div",{className:"space-y-4",children:i&&i.length>0?[...i].sort((x,M)=>x.printer_name.localeCompare(M.printer_name)).map(x=>h.jsx(fVe,{overview:x,onPerform:g,onToggle:m,onSetHours:y},x.printer_id)):h.jsx(Yt,{children:h.jsxs(on,{className:"text-center py-12",children:[h.jsx(Gp,{className:"w-12 h-12 mx-auto mb-4 text-bambu-gray/30"}),h.jsx("p",{className:"text-bambu-gray",children:"No printers configured"}),h.jsx("p",{className:"text-sm text-bambu-gray/70 mt-1",children:"Add printers to start tracking maintenance"})]})})}):h.jsx(hVe,{overview:i,types:s||[],onUpdateInterval:(x,M)=>l.mutate({id:x,data:{custom_interval_hours:M}}),onAddType:x=>c.mutate(x),onDeleteType:x=>u.mutate(x)})]})}function mVe({printerId:t,isConnected:e}){const[n,r]=E.useState(!1),[i,a]=E.useState(!1),[s,o]=E.useState(null),l=E.useRef(null),c=Fe.getCameraStreamUrl(t,10),u=()=>{n?(r(!1),o(null)):(a(!0),o(null),r(!0))},f=()=>{a(!1),o(null)},g=()=>{a(!1),o("Failed to load camera stream")},m=()=>{l.current&&(document.fullscreenElement?document.exitFullscreen():l.current.requestFullscreen())},y=()=>{r(!1),setTimeout(()=>{a(!0),r(!0)},100)};return h.jsx("div",{className:"relative w-full h-full bg-black",children:n?h.jsxs(h.Fragment,{children:[i&&h.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:h.jsx(Ft,{className:"w-8 h-8 animate-spin text-bambu-green"})}),s?h.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-red-400",children:[h.jsx(Yae,{className:"w-12 h-12 mb-2"}),h.jsx("span",{className:"text-sm",children:s}),h.jsx("button",{onClick:y,className:"mt-2 text-xs text-bambu-green hover:underline",children:"Retry"})]}):h.jsx("img",{ref:l,src:c,alt:"Camera stream",className:"w-full h-full object-contain",onLoad:f,onError:g}),h.jsxs("div",{className:"absolute top-2 right-2 flex gap-2",children:[h.jsx("button",{onClick:y,className:"p-2 rounded bg-gray-500 hover:bg-gray-400 text-white transition-colors shadow-lg",title:"Refresh stream",children:h.jsx(el,{className:"w-4 h-4"})}),h.jsx("button",{onClick:m,className:"p-2 rounded bg-gray-500 hover:bg-gray-400 text-white transition-colors shadow-lg",title:"Fullscreen",children:h.jsx(f9,{className:"w-4 h-4"})}),h.jsx("button",{onClick:u,className:"px-3 py-1.5 rounded bg-red-600 hover:bg-red-500 text-white text-sm transition-colors shadow-lg",children:"Stop"})]})]}):h.jsx("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-bambu-gray",children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-lg p-6 flex flex-col items-center",children:[h.jsx($_,{className:"w-8 h-8 mb-2"}),h.jsx("span",{className:"text-sm mb-3",children:e?"Click Start to view camera":"Printer not connected"}),h.jsx("button",{onClick:u,disabled:!e,className:"px-4 py-1.5 rounded text-sm bg-bambu-green text-white hover:bg-bambu-green-dark disabled:opacity-50 disabled:cursor-not-allowed",children:"Start"})]})})})}function gVe(t){if(!t)return"N/A";const e=new Date;return new Date(e.getTime()+t*1e3).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function xVe({printerId:t,status:e}){const n=In(),[r,i]=E.useState(null),a=e?.connected??!1,s=e?.state==="RUNNING",o=e?.state==="PAUSE",l=e?.progress??0,c=yt({mutationFn:()=>Fe.pausePrint(t),onSuccess:()=>{n.invalidateQueries({queryKey:["printerStatuses"]})}}),u=yt({mutationFn:()=>Fe.resumePrint(t),onSuccess:()=>{n.invalidateQueries({queryKey:["printerStatuses"]})}}),f=yt({mutationFn:x=>Fe.stopPrint(t,x),onSuccess:x=>{Wx(x)?i({action:"stop",token:x.token,warning:x.warning}):n.invalidateQueries({queryKey:["printerStatuses"]})}}),g=()=>{s?c.mutate():o&&u.mutate()},m=()=>{f.mutate(void 0)},y=()=>{r&&(f.mutate(r.token),i(null))},v=c.isPending||u.isPending||f.isPending,b=a&&(s||o);return h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"text-xs text-bambu-gray mb-3",children:"Printing Progress"}),h.jsxs("div",{className:"flex gap-4 items-center",children:[h.jsx("div",{className:"w-20 h-20 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg flex items-center justify-center flex-shrink-0 overflow-hidden",children:e?.subtask_name?h.jsx("img",{src:`/api/v1/archives/thumbnail/${encodeURIComponent(e.subtask_name)}`,alt:"",className:"w-full h-full object-contain",onError:x=>{x.target.style.display="none",x.target.parentElement.innerHTML='Bambu
Lab
'}}):h.jsxs("span",{className:"text-xs text-bambu-gray text-center",children:["Bambu",h.jsx("br",{}),"Lab"]})}),h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"font-medium text-sm text-white truncate mb-0.5",children:e?.subtask_name||"N/A"}),h.jsx("div",{className:`text-sm mb-2 ${e?.state==="RUNNING"||e?.state==="PAUSE"?"text-bambu-green":"text-bambu-gray"}`,children:e?.state||"N/A"}),h.jsx("div",{className:"h-1 bg-bambu-dark-tertiary rounded-full overflow-hidden mb-2",children:h.jsx("div",{className:`h-full transition-all duration-300 ${e?.state==="PAUSE"?"bg-yellow-500":"bg-bambu-green"}`,style:{width:`${l}%`}})}),h.jsxs("div",{className:"text-xs text-bambu-gray mb-1",children:["Layer: ",e?.layer_num??"N/A"," / ",e?.total_layers??"N/A","    ",Math.round(l),"%"]}),h.jsxs("div",{className:"text-xs text-bambu-gray",children:["Estimated finish time: ",gVe(e?.remaining_time)]})]}),h.jsxs("div",{className:"flex gap-1.5 flex-shrink-0",children:[h.jsx("button",{onClick:g,disabled:!b||v,className:"w-8 h-8 rounded-md border border-bambu-dark-tertiary bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:s?"Pause":"Resume",children:c.isPending||u.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(h9,{className:"w-4 h-4"})}),h.jsx("button",{onClick:m,disabled:!b||v,className:"w-8 h-8 rounded-md border border-bambu-dark-tertiary bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Stop",children:f.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx($p,{className:"w-4 h-4"})}),h.jsx("button",{disabled:!b||v,className:"w-8 h-8 rounded-md border border-bambu-dark-tertiary bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Skip Objects",children:h.jsx("img",{src:"/icons/skip-objects.svg",alt:"Skip Objects",className:"w-4 h-4 icon-theme"})})]})]}),(c.error||u.error||f.error)&&h.jsx("p",{className:"mt-2 text-xs text-red-500",children:(c.error||u.error||f.error)?.message}),r&&h.jsx(ii,{title:"Confirm Stop",message:r.warning,confirmText:"Stop Print",variant:"danger",onConfirm:y,onCancel:()=>i(null)})]})}function vVe({checked:t,onChange:e,disabled:n}){return h.jsx("button",{onClick:()=>!n&&e(!t),disabled:n,className:`w-11 h-6 rounded-full relative transition-all shadow-inner border ${t?"bg-bambu-green border-bambu-green":"bg-bambu-dark-tertiary border-bambu-dark-tertiary"} ${n?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:h.jsx("div",{className:`w-5 h-5 rounded-full bg-white shadow-md absolute top-0.5 transition-transform ${t?"translate-x-5":"translate-x-0.5"}`})})}function xN({name:t,icon:e,speed:n,enabled:r,onToggle:i,onSpeedChange:a,disabled:s,showSpeedControl:o=!0}){const l=()=>{const u=Math.min(100,n+10);a(u)},c=()=>{const u=Math.max(0,n-10);a(u)};return h.jsxs("div",{className:"bg-bambu-dark rounded-xl p-4 shadow-lg border border-bambu-dark-tertiary/50",children:[h.jsxs("div",{className:"flex items-center justify-between mb-4",children:[h.jsxs("div",{className:"flex items-center gap-2.5",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center",children:e}),h.jsx("span",{className:"text-white font-medium",children:t})]}),o&&h.jsx(vVe,{checked:r,onChange:i,disabled:s})]}),o?h.jsxs("div",{className:"flex items-center justify-between bg-bambu-dark-secondary rounded-lg p-2",children:[h.jsx("button",{onClick:c,disabled:s||!r,className:"w-9 h-9 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center text-white hover:bg-bambu-dark transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:h.jsx(_oe,{className:"w-4 h-4"})}),h.jsx("div",{className:"flex-1 text-center",children:h.jsxs("span",{className:`text-xl font-semibold ${r?"text-white":"text-bambu-gray"}`,children:[n,"%"]})}),h.jsx("button",{onClick:l,disabled:s||!r,className:"w-9 h-9 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center text-white hover:bg-bambu-dark transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:h.jsx(Jo,{className:"w-4 h-4"})})]}):h.jsx("div",{className:"p-3 text-center",children:h.jsx("span",{className:"text-xl font-semibold text-bambu-green",children:r?"Auto":"Off"})})]})}function bVe({onConfirm:t,onCancel:e}){return h.jsx("div",{className:"absolute inset-0 bg-black/80 flex items-center justify-center z-10 rounded-2xl",children:h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-xl p-5 m-4 max-w-sm border border-bambu-dark-tertiary shadow-xl",children:[h.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[h.jsx("div",{className:"w-10 h-10 rounded-full bg-yellow-500/20 flex items-center justify-center flex-shrink-0",children:h.jsx(ya,{className:"w-5 h-5 text-yellow-500"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-white font-semibold",children:"Print in Progress"}),h.jsx("p",{className:"text-sm text-bambu-gray",children:"The printer is currently controlling air conditioning."})]})]}),h.jsx("p",{className:"text-sm text-bambu-gray mb-5",children:"Changing these settings during a print may affect print quality. Are you sure you want to continue?"}),h.jsxs("div",{className:"flex gap-3",children:[h.jsx("button",{onClick:e,className:"flex-1 py-2.5 px-4 rounded-lg font-medium text-sm bg-bambu-dark-tertiary text-white hover:bg-bambu-dark transition-colors",children:"Cancel"}),h.jsx("button",{onClick:t,className:"flex-1 py-2.5 px-4 rounded-lg font-medium text-sm bg-yellow-600 text-white hover:bg-yellow-700 transition-colors",children:"Continue"})]})]})})}function yVe({printer:t,status:e,onClose:n}){const r=e?.connected??!1,i=e?.state==="RUNNING"||e?.state==="PRINTING",a=!r,s=(e?.airduct_mode??0)===1?"heating":"cooling",[o,l]=E.useState(s),[c,u]=E.useState(!1),[f,g]=E.useState(null),[m,y]=E.useState(!1),[v,b]=E.useState(0),[x,M]=E.useState(!1),[w,A]=E.useState(0),[T,R]=E.useState(!1),[N,j]=E.useState(0),C=yt({mutationFn:te=>Fe.setAirductMode(t.id,te)}),k=yt({mutationFn:te=>Fe.setPartFan(t.id,te)}),F=yt({mutationFn:te=>Fe.setAuxFan(t.id,te)}),I=yt({mutationFn:te=>Fe.setChamberFan(t.id,te)}),B=te=>{i?(g(()=>te),u(!0)):te()},O=()=>{f&&(f(),g(null)),u(!1)},H=()=>{g(null),u(!1)},$=te=>{te!==o&&B(()=>{l(te),C.mutate(te)})},W=te=>{B(()=>{y(te),te||(b(0),k.mutate(0))})},K=te=>{B(()=>{b(te),y(te>0),k.mutate(te)})},Y=te=>{B(()=>{M(te),te||(A(0),F.mutate(0))})},se=te=>{B(()=>{A(te),M(te>0),F.mutate(te)})},V=te=>{B(()=>{R(te),te||(j(0),I.mutate(0))})},X=te=>{B(()=>{j(te),R(te>0),I.mutate(te)})};E.useEffect(()=>{const te=xe=>{xe.key==="Escape"&&(c?H():n())};return window.addEventListener("keydown",te),()=>window.removeEventListener("keydown",te)},[n,c]);const ae={cooling:"Suitable for PLA, PETG, TPU. Filters and cools the chamber air.",heating:"Suitable for ABS, ASA, PC, PA. Circulates and heats chamber air."},ce=()=>h.jsx("img",{src:"/icons/ventilation.svg",alt:"",className:"w-5 h-5 icon-theme"}),ve=()=>h.jsx("img",{src:"/icons/chamber.svg",alt:"",className:"w-5 h-5 icon-theme"});return h.jsx("div",{className:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-4",onClick:n,children:h.jsxs("div",{className:"relative w-full max-w-lg bg-bambu-dark-secondary rounded-2xl shadow-2xl border border-bambu-dark-tertiary overflow-hidden",onClick:te=>te.stopPropagation(),children:[c&&h.jsx(bVe,{onConfirm:O,onCancel:H}),h.jsxs("div",{className:"flex items-center justify-between px-5 py-4 bg-bambu-dark border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-green/20 flex items-center justify-center",children:h.jsx("img",{src:"/icons/ventilation.svg",alt:"",className:"w-5 h-5 icon-green"})}),h.jsx("span",{className:"text-base font-semibold text-white",children:"Air Condition"})]}),h.jsx("button",{onClick:n,className:"w-8 h-8 rounded-lg flex items-center justify-center text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("div",{className:"p-5 space-y-5",children:[i&&h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[h.jsx(ya,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),h.jsx("span",{className:"text-xs text-yellow-500",children:"Print in progress. Changes may affect print quality."})]}),h.jsxs("div",{className:"bg-bambu-dark rounded-xl p-1.5 flex gap-1.5 shadow-inner",children:[h.jsxs("button",{onClick:()=>$("cooling"),disabled:a||C.isPending,className:`flex-1 py-3 px-4 rounded-lg flex items-center justify-center gap-2 font-medium transition-all disabled:opacity-50 ${o==="cooling"?"bg-bambu-green text-white shadow-lg":"text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[h.jsx(Ole,{className:"w-4 h-4"}),"Cooling"]}),h.jsxs("button",{onClick:()=>$("heating"),disabled:a||C.isPending,className:`flex-1 py-3 px-4 rounded-lg flex items-center justify-center gap-2 font-medium transition-all disabled:opacity-50 ${o==="heating"?"bg-bambu-green text-white shadow-lg":"text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[h.jsx(o9,{className:"w-4 h-4"}),"Heating"]})]}),h.jsx("p",{className:"text-sm text-bambu-gray text-center px-2",children:ae[o]}),h.jsx("div",{className:"border-t border-bambu-dark-tertiary"}),h.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[h.jsx(xN,{name:"Part",icon:h.jsx(ce,{}),speed:v,enabled:m,onToggle:W,onSpeedChange:K,disabled:a,showSpeedControl:!0}),h.jsx(xN,{name:"Aux",icon:h.jsx(ce,{}),speed:w,enabled:x,onToggle:Y,onSpeedChange:se,disabled:a,showSpeedControl:o==="cooling"}),h.jsx(xN,{name:"Exhaust",icon:h.jsx(ce,{}),speed:N,enabled:T,onToggle:V,onSpeedChange:X,disabled:a,showSpeedControl:o==="cooling"}),h.jsxs("div",{className:"bg-bambu-dark rounded-xl p-4 shadow-lg border border-bambu-dark-tertiary/50",children:[h.jsxs("div",{className:"flex items-center gap-2.5 mb-4",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-dark-tertiary flex items-center justify-center",children:h.jsx(ve,{})}),h.jsx("span",{className:"text-white font-medium",children:"Heat"})]}),h.jsx("div",{className:"p-3 text-center",children:h.jsx("span",{className:"text-xl font-semibold text-bambu-green",children:o==="heating"?"Auto":"Off"})})]})]})]})]})})}const _Ve=[{mode:1,name:"Silent",description:"Quieter printing, slower speed",percentage:"50%"},{mode:2,name:"Standard",description:"Balanced speed and quality",percentage:"100%"},{mode:3,name:"Sport",description:"Faster printing, moderate noise",percentage:"124%"},{mode:4,name:"Ludicrous",description:"Maximum speed",percentage:"166%"}];function SVe({printer:t,status:e,onClose:n}){const r=e?.connected??!1,i=e?.state==="RUNNING"||e?.state==="PRINTING",a=!r||!i,s=e?.speed_level??2,[o,l]=E.useState(s),c=yt({mutationFn:f=>Fe.setPrintSpeed(t.id,f)}),u=f=>{f===o||a||(l(f),c.mutate(f))};return E.useEffect(()=>{const f=g=>{g.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]),h.jsx("div",{className:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center z-50 p-4",onClick:n,children:h.jsxs("div",{className:"relative w-full max-w-lg bg-bambu-dark-secondary rounded-2xl shadow-2xl border border-bambu-dark-tertiary overflow-hidden",onClick:f=>f.stopPropagation(),children:[h.jsxs("div",{className:"flex items-center justify-between px-5 py-4 bg-bambu-dark border-b border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"w-8 h-8 rounded-lg bg-bambu-green/20 flex items-center justify-center",children:h.jsx("img",{src:"/icons/speed.svg",alt:"",className:"w-5 h-5 icon-green"})}),h.jsx("span",{className:"text-base font-semibold text-white",children:"Print Speed"})]}),h.jsx("button",{onClick:n,className:"w-8 h-8 rounded-lg flex items-center justify-center text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white transition-colors",children:h.jsx(mn,{className:"w-5 h-5"})})]}),h.jsxs("div",{className:"p-5 space-y-4",children:[i?h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-yellow-500/10 border border-yellow-500/30 rounded-lg",children:[h.jsx(ya,{className:"w-4 h-4 text-yellow-500 flex-shrink-0"}),h.jsx("span",{className:"text-xs text-yellow-500",children:"Speed changes take effect immediately."})]}):h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-bambu-dark border border-bambu-dark-tertiary rounded-lg",children:[h.jsx(ya,{className:"w-4 h-4 text-bambu-gray flex-shrink-0"}),h.jsx("span",{className:"text-xs text-bambu-gray",children:"No print in progress. Speed can only be changed during printing."})]}),h.jsx("div",{className:"space-y-2",children:_Ve.map(f=>h.jsxs("button",{onClick:()=>u(f.mode),disabled:a||c.isPending,className:`w-full p-4 rounded-xl flex items-center justify-between transition-all disabled:opacity-50 disabled:cursor-not-allowed ${o===f.mode?"bg-bambu-green text-white shadow-lg":"bg-bambu-dark text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary"}`,children:[h.jsxs("div",{className:"flex flex-col items-start",children:[h.jsx("span",{className:"font-medium",children:f.name}),h.jsx("span",{className:`text-xs ${o===f.mode?"text-white/80":"text-bambu-gray"}`,children:f.description})]}),h.jsx("span",{className:`text-lg font-semibold ${o===f.mode?"text-white":"text-bambu-gray"}`,children:f.percentage})]},f.mode))})]})]})})}function wVe({printer:t,status:e,disabled:n=!1}){const r=e?.temperatures??{},i=t.nozzle_count>1,a=(e?.connected??!1)&&!n,[s,o]=E.useState(null),[l,c]=E.useState(""),[u,f]=E.useState(!1),[g,m]=E.useState(!1),y=yt({mutationFn:I=>Fe.setBedTemperature(t.id,I)}),v=yt({mutationFn:({target:I,nozzle:B})=>Fe.setNozzleTemperature(t.id,I,B)}),b=yt({mutationFn:I=>Fe.setChamberTemperature(t.id,I)}),x=yt({mutationFn:I=>Fe.setChamberLight(t.id,I)}),M=(I,B)=>{a&&(o(I),c(String(Math.round(B))))},w=()=>{o(null),c("")},A=()=>{const I=parseInt(l,10);if(isNaN(I)||I<0){w();return}s==="bed"?y.mutate(I):s==="nozzle"?v.mutate({target:I,nozzle:i?1:0}):s==="nozzle_2"?v.mutate({target:I,nozzle:0}):s==="chamber"&&b.mutate(I),w()},T=I=>{I.key==="Enter"?A():I.key==="Escape"&&w()},R=!a,N=r.nozzle_heating??!1,j=r.nozzle_2_heating??!1,C=r.bed_heating??!1,k=r.chamber_heating??!1,F=(I,B)=>s===I?h.jsx("input",{type:"text",inputMode:"numeric",pattern:"[0-9]*",value:l,onChange:O=>{const H=O.target.value.replace(/[^0-9]/g,"");c(H)},onBlur:A,onKeyDown:T,autoFocus:!0,className:"w-12 text-sm bg-bambu-dark border border-bambu-green rounded px-1 py-0.5 text-white text-center [appearance:textfield]"}):h.jsxs("button",{onClick:()=>M(I,B),disabled:R,className:"text-sm text-bambu-gray hover:text-bambu-green disabled:hover:text-bambu-gray disabled:cursor-not-allowed",title:R?"Printer not connected":"Click to set target temperature",children:["/",Math.round(B)," °C"]});return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex flex-col justify-evenly min-w-[150px] pr-5 border-r border-bambu-dark-tertiary",children:[h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/hotend.svg",alt:"",className:`w-5 ${N?"icon-heating":"icon-theme"}`})}),i&&h.jsx("span",{className:"text-[11px] font-semibold text-bambu-green bg-bambu-green/20 px-1.5 py-0.5 rounded min-w-[18px] text-center flex-shrink-0",children:"L"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.nozzle??0)}),F("nozzle",r.nozzle_target??0)]}),i&&h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/hotend.svg",alt:"",className:`w-5 ${j?"icon-heating":"icon-theme"}`})}),h.jsx("span",{className:"text-[11px] font-semibold text-bambu-green bg-bambu-green/20 px-1.5 py-0.5 rounded min-w-[18px] text-center flex-shrink-0",children:"R"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.nozzle_2??0)}),F("nozzle_2",r.nozzle_2_target??0)]}),h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/heatbed.svg",alt:"",className:`w-5 ${C?"icon-heating":"icon-theme"}`})}),i&&h.jsx("span",{className:"min-w-[18px] flex-shrink-0"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.bed??0)}),F("bed",r.bed_target??0)]}),h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("div",{className:"w-5 h-5 flex items-center justify-center flex-shrink-0",children:h.jsx("img",{src:"/icons/chamber.svg",alt:"",className:`w-5 ${k?"icon-heating":"icon-theme"}`})}),i&&h.jsx("span",{className:"min-w-[18px] flex-shrink-0"}),h.jsx("span",{className:"text-lg font-medium text-white",children:Math.round(r.chamber??0)}),F("chamber",r.chamber_target??0)]}),h.jsxs("button",{onClick:()=>f(!0),disabled:R,className:"flex items-center justify-between w-full px-3 py-4 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary disabled:opacity-50 disabled:cursor-not-allowed",children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("img",{src:"/icons/ventilation.svg",alt:"",className:"w-5 h-5 icon-theme"}),h.jsx("span",{className:"text-xs text-bambu-gray",children:"A/C"})]}),h.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded ${e?.airduct_mode===1?"bg-orange-500/20 text-orange-400":"bg-blue-500/20 text-blue-400"}`,children:e?.airduct_mode===1?"Heat":"Cool"})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsxs("button",{onClick:()=>m(!0),disabled:R,className:"flex-1 flex flex-col items-center py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary disabled:opacity-50 disabled:cursor-not-allowed",children:[h.jsx("img",{src:"/icons/speed.svg",alt:"",className:"w-5 h-5 icon-theme"}),h.jsx("span",{className:"text-[10px] text-bambu-gray mt-0.5",children:e?.speed_level===1?"50%":e?.speed_level===3?"124%":e?.speed_level===4?"166%":"100%"})]}),h.jsxs("button",{onClick:()=>x.mutate(!(e?.chamber_light??!1)),disabled:R||x.isPending,className:"flex-1 flex flex-col items-center py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary disabled:opacity-50 disabled:cursor-not-allowed",children:[h.jsx("img",{src:"/icons/lamp.svg",alt:"",className:`w-5 h-5 ${e?.chamber_light?"icon-green":"icon-theme"}`}),h.jsx("span",{className:"text-[10px] text-bambu-gray mt-0.5",children:"Lamp"})]})]})]}),u&&h.jsx(yVe,{printer:t,status:e,onClose:()=>f(!1)}),g&&h.jsx(SVe,{printer:t,status:e,onClose:()=>m(!1)})]})}const MVe=220,_i=MVe/2,c_=108,vu=72,u_=35,hG=28;function bu(t,e,n,r,i,a,s=8){const o=[];for(let l=0;l<=s;l++){const c=i+(a-i)*(l/s),u=Math.round(t+r*Math.cos(c)),f=Math.round(e+r*Math.sin(c));o.push(`${u},${f}`)}for(let l=s;l>=0;l--){const c=i+(a-i)*(l/s),u=Math.round(t+n*Math.cos(c)),f=Math.round(e+n*Math.sin(c));o.push(`${u},${f}`)}return o.join(",")}const ea={up:{start:-Math.PI*3/4,end:-Math.PI/4},right:{start:-Math.PI/4,end:Math.PI/4},down:{start:Math.PI/4,end:Math.PI*3/4},left:{start:Math.PI*3/4,end:Math.PI*5/4}};function EVe({printerId:t,status:e,disabled:n=!1}){const r=(e?.connected??!1)&&!n,i=E.useId(),[a,s]=E.useState(null),o=yt({mutationFn:({axes:v,token:b})=>Fe.homeAxes(t,v,b),onSuccess:v=>{Wx(v)&&s({action:"home",token:v.token,warning:v.warning,onConfirm:()=>o.mutate({axes:"XY",token:v.token})})}}),l=yt({mutationFn:({axis:v,distance:b,token:x})=>Fe.moveAxis(t,v,b,3e3,x),onSuccess:(v,b)=>{Wx(v)&&s({action:"move",token:v.token,warning:v.warning,onConfirm:()=>l.mutate({axis:b.axis,distance:b.distance,token:v.token})})}}),c=()=>{m||o.mutate({axes:"XY"})},u=(v,b)=>{m||l.mutate({axis:v,distance:b})},f=()=>{a&&(a.onConfirm(),s(null))},g=o.isPending||l.isPending,m=!r||g,y=Array.from({length:16},(v,b)=>{const x=b/16*Math.PI*2,M=Math.round(_i+hG*Math.cos(x)),w=Math.round(_i+hG*Math.sin(x));return`${M},${w}`}).join(",");return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"relative w-[220px] h-[220px] mb-3.5",children:[h.jsx("img",{src:"/icons/jogpad.svg",alt:"Jog Pad",useMap:`#${i}`,className:"w-full h-full jogpad-theme"}),h.jsxs("map",{name:i,children:[h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.up.start,ea.up.end),onClick:()=>u("Y",10),title:"Y+10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.down.start,ea.down.end),onClick:()=>u("Y",-10),title:"Y-10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.left.start,ea.left.end),onClick:()=>u("X",-10),title:"X-10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,vu,c_,ea.right.start,ea.right.end),onClick:()=>u("X",10),title:"X+10mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.up.start,ea.up.end),onClick:()=>u("Y",1),title:"Y+1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.down.start,ea.down.end),onClick:()=>u("Y",-1),title:"Y-1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.left.start,ea.left.end),onClick:()=>u("X",-1),title:"X-1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:bu(_i,_i,u_,vu,ea.right.start,ea.right.end),onClick:()=>u("X",1),title:"X+1mm",style:{cursor:m?"not-allowed":"pointer"}}),h.jsx("area",{shape:"poly",coords:y,onClick:c,title:"Home XY",style:{cursor:m?"not-allowed":"pointer"}})]})]}),a&&h.jsx(ii,{title:"Confirm Action",message:a.warning,confirmText:"Continue",variant:"warning",onConfirm:f,onCancel:()=>s(null)})]})}function AVe({printerId:t,status:e,disabled:n=!1}){const r=(e?.connected??!1)&&!n,[i,a]=E.useState(null),s=yt({mutationFn:({distance:u,token:f})=>Fe.moveAxis(t,"Z",u,1e3,f),onSuccess:(u,f)=>{Wx(u)&&a({token:u.token,warning:u.warning,distance:f.distance})}}),o=u=>{s.mutate({distance:u})},l=()=>{i&&(s.mutate({distance:i.distance,token:i.token}),a(null))},c=!r||s.isPending;return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:()=>o(-10),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed up 10mm",children:"↑10"}),h.jsx("button",{onClick:()=>o(-1),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed up 1mm",children:"↑1"}),h.jsx("span",{className:"px-2 py-2 text-sm text-bambu-gray",children:"Bed"}),h.jsx("button",{onClick:()=>o(1),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed down 1mm",children:"↓1"}),h.jsx("button",{onClick:()=>o(10),disabled:c,className:"px-3.5 py-2 rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary text-sm text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Bed down 10mm",children:"↓10"})]}),i&&h.jsx(ii,{title:"Confirm Bed Movement",message:i.warning,confirmText:"Continue",variant:"warning",onConfirm:l,onCancel:()=>a(null)})]})}function TVe({printerId:t,status:e,nozzleCount:n,disabled:r=!1}){const i=In(),a=(e?.connected??!1)&&!r,s=e?.state==="RUNNING"||e?.state==="PAUSE",o=n>1,l=e?.active_extruder??0,[c,u]=E.useState(null),f=yt({mutationFn:M=>(console.log("selectExtruder called with:",M),Fe.selectExtruder(t,M)),onSuccess:M=>{console.log("selectExtruder success:",M),setTimeout(()=>{i.invalidateQueries({queryKey:["printerStatuses"]})},2e3)},onError:M=>{console.error("selectExtruder error:",M)}}),g=yt({mutationFn:({distance:M,token:w})=>{const A=`G91 G1 E${M} F300 -G90`;return Fe.sendGcode(t,A,w)},onSuccess:(M,w)=>{Wx(M)&&u({token:M.token,warning:M.warning,distance:w.distance})}}),m=M=>{g.mutate({distance:M})},y=()=>{c&&(g.mutate({distance:c.distance,token:c.token}),u(null))},v=!a||s||g.isPending,b=f.isPending,x=()=>o?l===1?"/icons/dual-extruder-left.png":"/icons/dual-extruder-right.png":"/icons/single-extruder1.png";return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex flex-col items-center gap-1.5 justify-center",children:[o&&h.jsxs("div",{className:`flex rounded-md overflow-hidden border border-bambu-dark-tertiary mb-1 flex-shrink-0 ${v||b?"opacity-50":""}`,children:[h.jsx("button",{onClick:()=>f.mutate(1),disabled:v||b,className:`px-3 py-1.5 text-sm border-r border-bambu-dark-tertiary transition-colors disabled:cursor-not-allowed ${l===1?"bg-bambu-green text-white":"bg-bambu-dark-secondary text-bambu-gray hover:bg-bambu-dark-tertiary disabled:hover:bg-bambu-dark-secondary"}`,children:"Left"}),h.jsx("button",{onClick:()=>f.mutate(0),disabled:v||b,className:`px-3 py-1.5 text-sm transition-colors disabled:cursor-not-allowed ${l===0?"bg-bambu-green text-white":"bg-bambu-dark-secondary text-bambu-gray hover:bg-bambu-dark-tertiary disabled:hover:bg-bambu-dark-secondary"}`,children:"Right"})]}),h.jsx("button",{onClick:()=>m(5),disabled:v,className:"w-9 h-[30px] rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Extrude 5mm",children:h.jsx(QS,{className:"w-4 h-4"})}),h.jsx("div",{className:"h-[120px] flex items-center justify-center",children:h.jsx("img",{src:x(),alt:o?`${l===1?"Left":"Right"} Extruder Active`:"Single Extruder",className:"h-full object-contain",onError:M=>{M.target.style.display="none"}})}),h.jsx("button",{onClick:()=>m(-5),disabled:v,className:"w-9 h-[30px] rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Retract 5mm",children:h.jsx(Gf,{className:"w-4 h-4"})}),h.jsx("span",{className:"text-xs text-bambu-gray mt-0.5",children:"Extruder"})]}),c&&h.jsx(ii,{title:"Confirm Extrusion",message:c.warning,confirmText:"Continue",variant:"warning",onConfirm:y,onCancel:()=>u(null)})]})}function CVe({humidity:t}){const e=()=>t<25?"/icons/humidity-empty.svg":t<40?"/icons/humidity-half.svg":"/icons/humidity-full.svg";return h.jsx("img",{src:e(),alt:"",className:"w-16 h-24"})}function NVe({humidity:t,temperature:e,dryingStatus:n,remainingTime:r,onClose:i}){E.useEffect(()=>{const s=o=>{o.key==="Escape"&&i()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[i]);const a=()=>{if(n==="idle")return"Idle";if(!r)return"Drying...";const s=Math.floor(r/60),o=r%60;return s>0?`${s}h ${o}m`:`${o}m`};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:h.jsxs("div",{className:"bg-white dark:bg-bambu-dark-secondary rounded-lg shadow-xl max-w-md w-full",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Current AMS humidity"}),h.jsx("button",{onClick:i,className:"p-1 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-gray-500 dark:text-bambu-gray"})})]}),h.jsxs("div",{className:"p-6",children:[h.jsxs("div",{className:"flex flex-col items-center mb-6",children:[h.jsx(CVe,{humidity:t}),h.jsxs("div",{className:"flex items-center gap-2 mt-2 text-gray-600 dark:text-bambu-gray",children:[h.jsx("span",{className:"text-yellow-500",children:"❊"}),h.jsx("span",{children:n==="idle"?"Idle":"Drying"})]})]}),h.jsxs("div",{className:"grid grid-cols-3 gap-4 text-center",children:[h.jsxs("div",{children:[h.jsx("div",{className:"text-sm text-gray-500 dark:text-bambu-gray mb-1",children:"Humidity"}),h.jsxs("div",{className:"text-lg font-medium text-gray-900 dark:text-white",children:[t,"%"]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-sm text-gray-500 dark:text-bambu-gray mb-1",children:"Temperature"}),h.jsxs("div",{className:"text-lg font-medium text-gray-900 dark:text-white",children:[e," °C"]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-sm text-gray-500 dark:text-bambu-gray mb-1",children:"Remaining Time"}),h.jsx("div",{className:"text-lg font-medium text-gray-900 dark:text-white",children:a()})]})]})]})]})})}function vN(t){const e=t.indexOf(" @");return e>0?t.substring(0,e):t}function RVe(t){let e=t;e.startsWith("# ")&&(e=e.substring(2));const n=e.indexOf(" @");return n>0?e.substring(0,n):e}function bN(t){let e=t;e.startsWith("# ")&&(e=e.substring(2));const n=e.indexOf(" @");return n>0?e.substring(0,n):e}function PVe(t){if(!t)return"rgb(128, 128, 128)";const e=t.replace("#","").substring(0,6),n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16),a=isNaN(n)?128:n,s=isNaN(r)?128:r,o=isNaN(i)?128:i;return`rgb(${a}, ${s}, ${o})`}function yN(t){return t?`#${t.replace("#","").substring(0,6)}`:"#808080"}function kVe(t){const e=t.replace("#","").toUpperCase();return e.length===6?`${e}FF`:`${e.substring(0,6)}FF`}function DVe(t){if(!t)return!1;const e=t.trim();return e.length!==32||e==="00000000000000000000000000000000"?!1:/^[0-9a-fA-F]{32}$/.test(e)}const OVe={Y2:"Sunflower Yellow",Y0:"Yellow",Y1:"Lemon Yellow",K0:"Black",W0:"White",W1:"Ivory White",R0:"Red",R1:"Scarlet Red",R2:"Magenta",B0:"Blue",B1:"Navy Blue",B2:"Sky Blue",B3:"Cyan",G0:"Green",G1:"Grass Green",G2:"Jade Green",O0:"Orange",O1:"Mandarin Orange",P0:"Purple",P1:"Pink",P2:"Sakura Pink",N0:"Gray",N1:"Silver Gray",N2:"Charcoal",D0:"Brown",D1:"Chocolate",T0:"Titan Gray",T1:"Jade White"};function LVe(t){if(!t)return null;const e=t.split("-");if(e.length<2)return null;const n=e[1];return OVe[n]||null}function IVe(t,e,n,r){if(!t.length)return null;const i=e?.toLowerCase()||"",a=n?.toUpperCase()||"",s=r?.toLowerCase()||"";if(i&&s){const l=t.find(c=>{const u=c.name.toLowerCase();return u.includes(i)&&u.includes(s)});if(l)return l}if(i){const l=t.find(c=>c.name.toLowerCase().includes(i));if(l)return l}if(a){const l=t.filter(c=>c.name.toUpperCase().includes(a));if(l.length>0){const c=l.find(u=>u.name.toLowerCase().includes("basic"));return c||l[0]}}return t.find(l=>l.name.toLowerCase()==="default"||l.slot_id===0)||null}function jVe({tray:t,amsId:e,slotLabel:n,printerId:r,printerModel:i,nozzleDiameter:a="0.4",extruderId:s=0,onClose:o,onConfirm:l}){const c=In(),u=!t.tray_type||t.tray_type===""||t.tray_type==="NONE",f=DVe(t.tray_uuid),g=u||!f,{data:m}=Ut({queryKey:["kprofiles",r,a],queryFn:()=>Fe.getKProfiles(r,a)}),{data:y}=Ut({queryKey:["cloudSettings"],queryFn:()=>Fe.getCloudSettings()}),{data:v}=Ut({queryKey:["slotPreset",r,e,t.id],queryFn:()=>Fe.getSlotPreset(r,e,t.id),enabled:g}),b=yt({mutationFn:({presetId:me,presetName:we})=>Fe.saveSlotPreset(r,e,t.id,me,we),onSuccess:()=>{c.invalidateQueries({queryKey:["slotPreset",r,e,t.id]})}}),x=yt({mutationFn:me=>Fe.amsSetFilamentSetting(r,me),onSuccess:me=>{console.log("[AMSMaterialsModal] saveFilamentSettingMutation SUCCESS:",me)},onError:me=>{console.error("[AMSMaterialsModal] saveFilamentSettingMutation ERROR:",me)}}),M=(()=>{const we=(y?.filament||[]).filter(Q=>!Q.name.startsWith("# ")),se=new RegExp(`@.*\\b${i}\\b`,"i"),st=[...we].sort((Q,ee)=>{const le=se.test(Q.name),Re=se.test(ee.name);return le&&!Re?-1:!le&&Re?1:0}),z=new Set;return st.filter(Q=>{const ee=RVe(Q.name);return z.has(ee)?!1:(z.add(ee),!0)}).sort((Q,ee)=>vN(Q.name).localeCompare(vN(ee.name)))})(),[w,A]=E.useState(null),[T,R]=E.useState(null),[N,j]=E.useState(t.tray_type||""),[C,k]=E.useState(yN(t.tray_color)),[U,I]=E.useState(t.nozzle_temp_max||220),[H,O]=E.useState(t.nozzle_temp_min||190),[B,V]=E.useState(""),[G,K]=E.useState(t.k||0);E.useEffect(()=>{v&&!w&&(A(v.preset_id),R(v.preset_name))},[v,w]);const Y=me=>{if(!me){A(null),R(null);return}A(me);const we=M.find(se=>se.setting_id===me);if(we){R(we.name);const se=we.name.match(/\b(PLA|PETG|ABS|TPU|ASA|PA|PC|PVA|HIPS|PLA-S|PETG-CF|PA-CF|PET-CF)\b/i);se&&j(se[1].toUpperCase())}},$=(m?.profiles||[]).filter(me=>me.extruder_id===s),ae=(()=>{if(!$.length)return[];const me=f?t.tray_sub_brands?.toLowerCase():T?bN(T).toLowerCase():null,we=f?t.tray_type?.toUpperCase():N?.toUpperCase()||t.tray_type?.toUpperCase();if(me){const se=$.filter(st=>st.name.toLowerCase().includes(me));return f?se.filter(st=>st.name.toLowerCase().includes("bambu")):se}return we?$.filter(se=>se.name.toUpperCase().includes(we)):[]})(),ce=LVe(t.tray_id_name);E.useEffect(()=>{const me=t.k;if(me&&me>0){const q=ae.find(ie=>{const Q=parseFloat(ie.k_value);return Math.abs(Q-me)<1e-4});if(q){V(q.name),K(me);return}}const we=f?t.tray_sub_brands:T?bN(T):null,se=f?t.tray_type:N||t.tray_type,z=IVe($,we,se,f?ce:null);z?(V(z.name),K(parseFloat(z.k_value)||0)):(V("Default"),K(0))},[$,ae,N,T,t.tray_type,t.tray_sub_brands,t.tray_id_name,t.k,f,ce]),E.useEffect(()=>{const me=we=>{we.key==="Escape"&&o()};return window.addEventListener("keydown",me),()=>window.removeEventListener("keydown",me)},[o]);const xe=me=>{V(me);const we=$.find(se=>se.name===me);we&&K(parseFloat(we.k_value)||0)},te=()=>{console.log("[AMSMaterialsModal] handleConfirm called"),console.log("[AMSMaterialsModal] amsId:",e,"tray.id:",t.id,"kValue:",G),g&&w&&T&&(console.log("[AMSMaterialsModal] Saving preset mapping"),b.mutate({presetId:w,presetName:T}));const me=f?t.tray_color||"808080FF":kVe(C),we=f?t.tray_type||"PLA":N||"PLA",se=f?t.tray_sub_brands||"":T?bN(T):"",st={ams_id:e,tray_id:t.id,tray_info_idx:t.tray_info_idx||"",tray_type:we,tray_sub_brands:se,tray_color:me,nozzle_temp_min:H,nozzle_temp_max:U,k:G};console.log("[AMSMaterialsModal] Calling saveFilamentSettingMutation with payload:",st),x.mutate(st),l?.({filamentType:N,color:C,nozzleTempMax:U,nozzleTempMin:H,kProfile:B,kValue:G}),o()},ve=()=>{j(t.tray_type||""),k(yN(t.tray_color)),I(t.nozzle_temp_max||220),O(t.nozzle_temp_min||190),K(t.k||0)},De=f?t.tray_sub_brands||t.tray_type||"Unknown":N||"Select filament",he=f&&t.tray_uuid?t.tray_uuid:"N/A";return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:h.jsxs("div",{className:"bg-white dark:bg-bambu-dark-secondary rounded-lg shadow-xl max-w-md w-full",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:["AMS Materials Setting - ",n]}),h.jsx("button",{onClick:o,className:"p-1 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-gray-500 dark:text-bambu-gray"})})]}),h.jsxs("div",{className:"p-6 space-y-4",children:[f&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-bambu-green bg-bambu-green/10 px-3 py-1.5 rounded-md",children:[h.jsx("span",{className:"w-2 h-2 bg-bambu-green rounded-full"}),"Bambu Lab RFID detected - fields auto-filled"]}),!f&&!u&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-yellow-600 dark:text-yellow-400 bg-yellow-100 dark:bg-yellow-900/20 px-3 py-1.5 rounded-md",children:[h.jsx("span",{className:"w-2 h-2 bg-yellow-500 rounded-full"}),"Non-Bambu Lab filament - please verify settings"]}),u&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-bambu-gray bg-gray-100 dark:bg-bambu-dark px-3 py-1.5 rounded-md",children:[h.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"Empty slot - configure filament settings"]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Filament"}),g?h.jsxs("select",{value:w||"",onChange:me=>Y(me.target.value),className:"flex-1 min-w-0 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white text-sm truncate",children:[h.jsx("option",{value:"",children:"Select filament..."}),M.length>0?M.map(me=>h.jsx("option",{value:me.setting_id,children:vN(me.name)},me.setting_id)):h.jsxs("option",{value:"",disabled:!0,children:["No filament presets for ",i]})]}):h.jsx("div",{className:"flex-1 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md text-gray-900 dark:text-white",children:De})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Color"}),h.jsx("div",{className:"flex items-center gap-2 flex-1",children:g?h.jsxs(h.Fragment,{children:[h.jsx("input",{type:"color",value:C,onChange:me=>k(me.target.value),className:"w-10 h-10 rounded cursor-pointer border-2 border-gray-300 dark:border-bambu-dark-tertiary"}),h.jsx("span",{className:"text-gray-900 dark:text-white text-sm",children:C.toUpperCase()})]}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-gray-300 dark:border-bambu-dark-tertiary flex-shrink-0",style:{backgroundColor:PVe(t.tray_color)}}),h.jsx("span",{className:"text-gray-900 dark:text-white",children:ce||yN(t.tray_color).toUpperCase()})]})})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Nozzle Temp"}),h.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-gray-500 dark:text-bambu-gray mb-1",children:"min"}),h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("input",{type:"number",value:H,onChange:me=>O(Number(me.target.value)),disabled:!g,className:"w-20 px-2 py-1 bg-gray-100 dark:bg-bambu-dark rounded border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white disabled:opacity-60"}),h.jsx("span",{className:"text-gray-600 dark:text-bambu-gray",children:"°C"})]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-gray-500 dark:text-bambu-gray mb-1",children:"max"}),h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("input",{type:"number",value:U,onChange:me=>I(Number(me.target.value)),disabled:!g,className:"w-20 px-2 py-1 bg-gray-100 dark:bg-bambu-dark rounded border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white disabled:opacity-60"}),h.jsx("span",{className:"text-gray-600 dark:text-bambu-gray",children:"°C"})]})]})]})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"SN"}),h.jsx("div",{className:"flex-1 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md text-gray-900 dark:text-white text-xs font-mono truncate",children:he})]}),h.jsxs("div",{className:"pt-4 border-t border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsxs("h3",{className:"text-sm font-medium text-gray-900 dark:text-white mb-3",children:["Flow Dynamics Calibration"," ",h.jsxs("a",{href:"https://wiki.bambulab.com/en/software/bambu-studio/calibration_pa",target:"_blank",rel:"noopener noreferrer",className:"text-bambu-green hover:underline inline-flex items-center gap-1",children:["Wiki",h.jsx(Qo,{className:"w-3 h-3"})]})]}),h.jsxs("div",{className:"flex items-center gap-4 mb-3",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray flex-shrink-0",children:"PA Profile"}),h.jsxs("select",{value:B,onChange:me=>xe(me.target.value),className:"flex-1 min-w-0 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white text-sm truncate",children:[h.jsx("option",{value:"Default",children:"Default"}),ae.map(me=>h.jsxs("option",{value:me.name,children:[me.name," (K=",parseFloat(me.k_value).toFixed(3),")"]},me.slot_id))]})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Factor K"}),h.jsx("div",{className:"flex-1 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md text-gray-900 dark:text-white",children:G.toFixed(3)})]})]})]}),h.jsxs("div",{className:"flex items-center justify-center gap-3 p-4 border-t border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsx("button",{onClick:te,className:"px-6 py-2 bg-bambu-green text-white rounded-md hover:bg-bambu-green-dark transition-colors",children:"Confirm"}),h.jsx("button",{onClick:ve,className:"px-6 py-2 bg-gray-200 dark:bg-bambu-dark text-gray-700 dark:text-bambu-gray rounded-md hover:bg-gray-300 dark:hover:bg-bambu-dark-tertiary transition-colors",children:"Reset"}),h.jsx("button",{onClick:o,className:"px-6 py-2 bg-gray-200 dark:bg-bambu-dark text-gray-700 dark:text-bambu-gray rounded-md hover:bg-gray-300 dark:hover:bg-bambu-dark-tertiary transition-colors",children:"Close"})]})]})})}const UVe=15e3,pG=12e4;function FVe({printerId:t,amsUnits:e,amsStatusMain:n,trayNow:r,lastAmsUpdate:i,onToast:a}){const[s,o]=E.useState("IDLE"),[l,c]=E.useState(null),u=E.useRef(n),f=E.useRef(""),g=E.useRef(0),m=E.useRef(null),y=E.useCallback(()=>{m.current&&(clearTimeout(m.current),m.current=null)},[]),v=E.useCallback(()=>{y(),o("IDLE"),c(null),f.current="",g.current=0},[y]),b=yt({mutationFn:({amsId:k,trayId:U})=>Fe.refreshAmsTray(t,k,U),onSuccess:k=>{k.success?a(k.message||"RFID refresh started","success"):(a(k.message||"Failed to refresh tray","error"),v())},onError:k=>{console.error("[useAmsOperations] Refresh error:",k),a("Failed to refresh tray","error"),v()}}),x=yt({mutationFn:({trayId:k,extruderId:U})=>Fe.amsLoadFilament(t,k,U),onSuccess:k=>{console.log("[useAmsOperations] Load request sent:",k)},onError:k=>{console.error("[useAmsOperations] Load error:",k),v()}}),M=yt({mutationFn:()=>Fe.amsUnloadFilament(t),onSuccess:k=>{console.log("[useAmsOperations] Unload request sent:",k)},onError:k=>{console.error("[useAmsOperations] Unload error:",k),v()}}),w=E.useCallback((k,U)=>{if(s!=="IDLE"){console.log("[useAmsOperations] Cannot start refresh - operation in progress:",s);return}const H=e.find(B=>B.id===k)?.tray?.find(B=>B.id===U);H&&(f.current=JSON.stringify({tag_uid:H.tag_uid,tray_uuid:H.tray_uuid,tray_type:H.tray_type,tray_color:H.tray_color})),g.current=i;const O=Date.now();console.log(`[useAmsOperations] Starting refresh: AMS ${k}, Tray ${U}, startTime=${O}, initialAmsUpdate=${i}`),o("REFRESHING"),c({refreshTarget:{amsId:k,trayId:U},startTime:O}),m.current=setTimeout(()=>{console.log(`[useAmsOperations] Refresh timeout for AMS ${k} tray ${U}`),v()},UVe),b.mutate({amsId:k,trayId:U})},[s,e,i,v,b]),A=E.useCallback((k,U)=>{if(s!=="IDLE"){console.log("[useAmsOperations] Cannot start load - operation in progress:",s);return}console.log(`[useAmsOperations] Starting load: tray ${k}, extruder ${U}`);const I=Date.now();o("LOADING"),c({loadTargetTrayId:k,startTime:I}),m.current=setTimeout(()=>{console.log(`[useAmsOperations] Load timeout for tray ${k}`),v()},pG),x.mutate({trayId:k,extruderId:U})},[s,v,x]),T=E.useCallback(()=>{if(s!=="IDLE"){console.log("[useAmsOperations] Cannot start unload - operation in progress:",s);return}console.log("[useAmsOperations] Starting unload");const k=Date.now();o("UNLOADING"),c({startTime:k}),m.current=setTimeout(()=>{console.log("[useAmsOperations] Unload timeout"),v()},pG),M.mutate()},[s,v,M]);E.useEffect(()=>{if(s!=="REFRESHING"||!l?.refreshTarget)return;const{amsId:k,trayId:U}=l.refreshTarget,I=Date.now()-l.startTime,O=e.find(K=>K.id===k)?.tray?.find(K=>K.id===U);if(!O)return;const B=JSON.stringify({tag_uid:O.tag_uid,tray_uuid:O.tray_uuid,tray_type:O.tray_type,tray_color:O.tray_color}),V=f.current&&B!==f.current,G=i!==g.current;if(V&&I>1e3){console.log(`[useAmsOperations] Refresh complete: data changed for AMS ${k} tray ${U} (took ${I}ms)`),v();return}G&&I>8e3&&(console.log(`[useAmsOperations] Refresh complete: new AMS update after ${I}ms for AMS ${k} tray ${U}`),v())},[s,l,e,i,v]),E.useEffect(()=>{if(s!=="LOADING"&&s!=="UNLOADING"){u.current=n;return}u.current===1&&n===0&&(console.log(`[useAmsOperations] ${s} complete: ams_status_main transitioned 1→0`),v()),u.current=n},[s,n,v]),E.useEffect(()=>{s!=="LOADING"||!l?.loadTargetTrayId||r===l.loadTargetTrayId&&(console.log(`[useAmsOperations] Load complete: tray_now=${r} matches target`),v())},[s,l,r,v]),E.useEffect(()=>{if(s!=="UNLOADING")return;const k=l?.startTime?Date.now()-l.startTime:0;r===255&&k>1e3&&(console.log("[useAmsOperations] Unload complete: tray_now=255"),v())},[s,l,r,v]),E.useEffect(()=>()=>{y()},[y]);const R=s!=="IDLE",N=E.useCallback((k,U)=>s!=="REFRESHING"||!l?.refreshTarget?!1:l.refreshTarget.amsId===k&&l.refreshTarget.trayId===U,[s,l]),j=s==="LOADING",C=l?.loadTargetTrayId??null;return{state:s,context:l,startRefresh:w,startLoad:A,startUnload:T,reset:v,isOperationInProgress:R,isRefreshingSlot:N,isLoadOperation:j,loadTargetTrayId:C,loadError:x.error,unloadError:M.error,refreshError:b.error}}function Ux(t){if(!t)return"rgb(128, 128, 128)";const e=t.replace("#","").substring(0,6),n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16),a=isNaN(n)?128:n,s=isNaN(r)?128:r,o=isNaN(i)?128:i;return`rgb(${a}, ${s}, ${o})`}function zVe(t){if(!t)return!1;const e=t.replace("#","").substring(0,6);if(e.length<6)return!1;const n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16);return isNaN(n)||isNaN(r)||isNaN(i)?!1:(.299*n+.587*r+.114*i)/255>.45}const BVe={Y2:"Sunflower Yellow",Y0:"Yellow",Y1:"Lemon Yellow",K0:"Black",W0:"White",W1:"Ivory White",R0:"Red",R1:"Scarlet Red",R2:"Magenta",B0:"Blue",B1:"Navy Blue",B2:"Sky Blue",B3:"Cyan",G0:"Green",G1:"Grass Green",G2:"Jade Green",O0:"Orange",O1:"Mandarin Orange",P0:"Purple",P1:"Pink",P2:"Sakura Pink",N0:"Gray",N1:"Silver Gray",N2:"Charcoal",D0:"Brown",D1:"Chocolate",T0:"Titan Gray",T1:"Jade White"};function HVe(t){if(!t)return null;const e=t.split("-");if(e.length<2)return null;const n=e[1];return BVe[n]||null}function $Ve(t,e,n,r){if(!t.length)return null;const i=e?.toLowerCase()||"",a=n?.toUpperCase()||"",s=r?.toLowerCase()||"";if(i&&s){const l=t.find(c=>{const u=c.name.toLowerCase();return u.includes(i)&&u.includes(s)});if(l)return l}if(i){const l=t.find(c=>c.name.toLowerCase().includes(i));if(l)return l}if(a){const l=t.filter(c=>c.name.toUpperCase().includes(a));if(l.length>0){const c=l.find(u=>u.name.toLowerCase().includes("basic"));return c||l[0]}}return t.find(l=>l.name.toLowerCase()==="default"||l.slot_id===0)||null}function VVe({humidity:t}){const e=()=>t<25?"/icons/humidity-empty.svg":t<40?"/icons/humidity-half.svg":"/icons/humidity-full.svg";return h.jsx("img",{src:e(),alt:"",className:"w-2.5 h-[14px]"})}function GVe({isLoading:t,amsStatusMain:e,amsStatusSub:n,trayNow:r,targetTrayId:i,onComplete:a,onRetry:s}){const[o,l]=E.useState(!1),[c,u]=E.useState(!1),f=E.useRef(e),g=E.useRef(r),m=E.useRef(null),y=2,v=3,b=4,x=5,M=6,w=7;E.useEffect(()=>{console.log(`[FilamentChangeCard] Status: main=${e}, sub=${n}, trayNow=${r}, isLoading=${t}`)},[e,n,r,t]),E.useEffect(()=>{const U=f.current===1,I=e===0,H=r!==g.current;U&&I?(console.log("[FilamentChangeCard] ams_status_main transitioned 1->0, operation complete!"),u(!0),m.current=setTimeout(()=>{a()},1500)):H&&(t&&i!==null&&r===i?(console.log(`[FilamentChangeCard] Load completed! tray_now=${r} matches target=${i}`),u(!0),m.current=setTimeout(()=>{a()},1500)):!t&&r===255&&(console.log("[FilamentChangeCard] Unload completed! tray_now=255 (no filament)"),u(!0),m.current=setTimeout(()=>{a()},1500))),f.current=e,g.current=r},[e,r,t,i,a]),E.useEffect(()=>()=>{m.current&&clearTimeout(m.current)},[]);const T=c?99:e!==1?0:t?n===x||n===M||n===v?1:n===y?2:n===w?3:1:n===y?1:n===b?2:1;console.log(`[FilamentChangeCard] Step calculation: currentStep=${T}, amsStatusSub=${n}`);const j=t?(()=>{let U="pending",I="pending",H="pending";return T>=99?(U="completed",I="completed",H="completed"):T>=3?(U="completed",I="completed",H="in_progress"):T>=2?(U="completed",I="in_progress"):T>=1&&(U="in_progress"),[{label:"Push new filament into extruder",stepNumber:1,status:U},{label:"Heat the nozzle",stepNumber:2,status:I},{label:"Purge old filament",stepNumber:3,status:H}]})():(()=>{let U="pending",I="pending";return T>=99?(U="completed",I="completed"):T>=2?(U="completed",I="in_progress"):T>=1&&(U="in_progress"),[{label:"Heat the nozzle",stepNumber:1,status:U},{label:"Retract filament from extruder",stepNumber:2,status:I}]})(),C=t?"Loading":"Unloading",k=t?"Filament loading...":"Filament unloading...";return h.jsxs("div",{className:"mt-3 border-l-4 border-bambu-green bg-white dark:bg-bambu-dark-secondary rounded-r-lg overflow-hidden",children:[h.jsxs("button",{onClick:()=>l(!o),className:"w-full flex items-center justify-between px-4 py-2 text-bambu-green hover:bg-gray-50 dark:hover:bg-bambu-dark-tertiary transition-colors",children:[h.jsx("span",{className:"text-sm font-medium",children:k}),o?h.jsx(Gf,{className:"w-4 h-4"}):h.jsx(QS,{className:"w-4 h-4"})]}),!o&&h.jsxs("div",{className:"px-4 pb-4",children:[h.jsxs("div",{className:"flex gap-6",children:[h.jsxs("div",{className:"flex-1",children:[h.jsx("h3",{className:"text-bambu-green font-semibold mb-3",children:C}),h.jsx("div",{className:"space-y-2",children:j.map(U=>h.jsxs("div",{className:"flex items-center gap-2",children:[U.status==="completed"?h.jsx("div",{className:"w-5 h-5 rounded-full bg-bambu-green flex items-center justify-center flex-shrink-0",children:h.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M5 13l4 4L19 7"})})}):U.status==="in_progress"?h.jsx("div",{className:"w-5 h-5 rounded-full bg-bambu-green flex items-center justify-center flex-shrink-0",children:h.jsx("span",{className:"text-white text-xs font-bold",children:U.stepNumber})}):h.jsx("div",{className:"w-5 h-5 rounded-full border-2 border-gray-400 dark:border-gray-500 flex items-center justify-center flex-shrink-0",children:h.jsx("span",{className:"text-gray-400 dark:text-gray-500 text-xs font-medium",children:U.stepNumber})}),h.jsx("span",{className:`text-sm ${U.status==="in_progress"?"text-gray-900 dark:text-white font-semibold":U.status==="completed"?"text-gray-500 dark:text-gray-400":"text-gray-400 dark:text-gray-500"}`,children:U.label})]},U.stepNumber))})]}),h.jsx("div",{className:"flex-shrink-0",children:h.jsx("img",{src:"/icons/extruder-change-filament.png",alt:"Extruder",className:"w-[150px] h-auto"})})]}),s&&h.jsxs("button",{onClick:s,className:"mt-3 px-4 py-1.5 border border-bambu-gray rounded-full text-sm text-bambu-gray hover:bg-bambu-dark-tertiary transition-colors flex items-center gap-1.5",children:[h.jsx(Foe,{className:"w-3.5 h-3.5"}),"Retry"]})]})]})}function mG(t,e){if(t>=128){const r=t-128,i=String.fromCharCode(65+e);return r===0?`HT-${i}`:`HT${r+1}-${i}`}return`${String.fromCharCode(65+t)}${e+1}`}function NP(t){return t>=128}function gG({units:t,side:e,isPrinting:n,selectedAmsIndex:r,onSelectAms:i,selectedTray:a,onSelectTray:s,onHumidityClick:o,onSlotRefresh:l,onEyeClick:c,refreshingSlot:u,getKValue:f,kProfilesLoaded:g}){const m=t[r],y=m?NP(m.id):!1;return h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"flex gap-1.5 mb-2.5 p-1.5 bg-gray-300 dark:bg-bambu-dark rounded-lg",children:t.map((v,b)=>h.jsx("button",{onClick:()=>i(b),className:`flex items-center p-1.5 rounded border-2 transition-colors ${r===b?"border-bambu-green bg-white dark:bg-bambu-dark-tertiary":"bg-gray-200 dark:bg-bambu-dark-secondary border-transparent hover:border-bambu-gray"}`,children:h.jsx("div",{className:"flex gap-0.5",children:v.tray.map(x=>h.jsx("div",{className:"w-2.5 h-2.5 rounded-full",style:{backgroundColor:x.tray_color?Ux(x.tray_color):"#808080"}},x.id))})},v.id))}),m&&h.jsxs("div",{className:"bg-gray-100 dark:bg-bambu-dark-secondary rounded-[10px] p-2.5",children:[h.jsxs("button",{onClick:()=>o(m.humidity??0,m.temp??0),className:"flex items-center justify-center gap-4 text-xs text-bambu-gray mb-2.5 w-full py-1 hover:bg-gray-50 dark:hover:bg-bambu-dark-tertiary rounded-md transition-colors cursor-pointer",children:[m.humidity!==null&&h.jsxs("span",{className:"flex items-center gap-1.5",children:[h.jsx(VVe,{humidity:m.humidity}),m.humidity," %"]}),m.temp!==null&&h.jsxs("span",{className:"flex items-center gap-1.5",children:[h.jsx("img",{src:"/icons/temperature.svg",alt:"",className:"w-3.5 icon-theme"}),m.temp,"°C"]})]}),h.jsx("div",{className:`flex gap-2 mb-1.5 ${y?"justify-start pl-2":"justify-center"}`,children:m.tray.map((v,b)=>{const x=mG(m.id,b),M=u?.amsId===m.id&&u?.trayId===v.id;return h.jsxs("button",{onClick:w=>{w.stopPropagation(),l(m.id,v.id)},disabled:M,className:`w-14 flex items-center justify-center gap-0.5 text-[10px] text-bambu-gray px-1.5 py-[3px] bg-bambu-dark rounded-full border border-bambu-dark-tertiary transition-colors ${M?"opacity-70 cursor-wait":"hover:bg-bambu-dark-tertiary"}`,children:[x,h.jsx("img",{src:"/icons/reload.svg",alt:"",className:`w-2.5 h-2.5 icon-theme ${M?"animate-spin":""}`})]},v.id)})}),h.jsx("div",{className:`flex gap-2 ${y?"justify-start pl-2":"justify-center"}`,children:m.tray.map((v,b)=>{const x=m.id*4+v.id,M=a===x,w=!v.tray_type||v.tray_type===""||v.tray_type==="NONE",A=zVe(v.tray_color),T=mG(m.id,b);return h.jsxs("div",{onClick:()=>{console.log(`[AMSSectionDual] Slot clicked: AMS ${m.id}, tray ${v.id}, globalTrayId: ${x}, isEmpty: ${w}, isPrinting: ${n}, isSelected: ${M}`),!w&&!n&&s(M?null:x)},className:`w-14 h-[80px] rounded-md border-2 overflow-hidden transition-all bg-bambu-dark relative ${M?"border-bambu-green":"border-bambu-dark-tertiary hover:border-bambu-gray"} ${w?"opacity-50":"cursor-pointer"}`,children:[!w&&v.remain>=0&&h.jsx("div",{className:"absolute bottom-0 left-0 right-0 transition-all",style:{height:`${Math.min(100,Math.max(0,v.remain))}%`,backgroundColor:Ux(v.tray_color)}}),!w&&v.remain<0&&h.jsx("div",{className:"absolute inset-0",style:{backgroundColor:Ux(v.tray_color)}}),w&&h.jsx("div",{className:"absolute inset-0",style:{background:"repeating-linear-gradient(45deg, #3a3a3a, #3a3a3a 4px, #4a4a4a 4px, #4a4a4a 8px)"}}),h.jsxs("div",{className:"relative w-full h-full flex flex-col items-center justify-end pb-[5px]",children:[h.jsx("span",{className:"text-[11px] font-semibold",style:{color:A?"#000000":"#ffffff"},children:w?"--":v.tray_type}),!w&&g&&h.jsxs("span",{className:"text-[10px] font-medium",style:{color:A?"rgba(0,0,0,0.8)":"rgba(255,255,255,0.85)"},children:["K ",(f(v)??.02).toFixed(3)]}),!w&&h.jsx("button",{onClick:R=>{R.stopPropagation(),c(v,T,m.id)},className:"w-4 h-4 flex items-center justify-center rounded hover:bg-black/20 transition-colors",children:h.jsx("img",{src:"/icons/eye.svg",alt:"Settings",className:`w-3.5 h-3.5 ${A?"":"invert"}`,style:{opacity:.8}})})]})]},v.id)})})]}),t.length===0&&h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-[10px] p-6 text-center text-bambu-gray text-sm",children:["No AMS connected to ",e," nozzle"]})]})}function WVe({isDualNozzle:t,leftSlotCount:e,rightSlotCount:n,leftIsHT:r,rightIsHT:i,leftActiveSlot:a,rightActiveSlot:s,leftFilamentColor:o,rightFilamentColor:l}){if(!t)return null;const c="#909090",u=o?Ux(o):null,f=l?Ux(l):null,g=[54,118,182,246],m=[354,418,482,546];return h.jsxs("div",{className:"relative w-full pointer-events-none",style:{height:"120px"},children:[h.jsxs("svg",{className:"absolute inset-0 w-full h-full",viewBox:"0 0 600 120",preserveAspectRatio:"xMidYMid meet",children:[r?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"36",y1:"0",x2:"36",y2:"36",stroke:a===0&&u?u:c,strokeWidth:a===0&&u?3:2}),e>1&&h.jsx("line",{x1:"100",y1:"0",x2:"100",y2:"36",stroke:a===1&&u?u:c,strokeWidth:a===1&&u?3:2}),e>1&&h.jsx("line",{x1:"36",y1:"36",x2:"100",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:e>1?"68":"36",y1:"36",x2:"288",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:"288",y1:"36",x2:"288",y2:"85",stroke:u??c,strokeWidth:u?3:2})]}):h.jsxs(h.Fragment,{children:[g.map((y,v)=>h.jsx("line",{x1:y,y1:"0",x2:y,y2:"14",stroke:a===v&&u?u:c,strokeWidth:a===v&&u?3:2},`left-slot-${v}`)),a!=null&&u?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"54",y1:"14",x2:"246",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("line",{x1:Math.min(g[a],150),y1:"14",x2:Math.max(g[a],150),y2:"14",stroke:u,strokeWidth:"3"})]}):h.jsx("line",{x1:"54",y1:"14",x2:"246",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("rect",{x:"136",y:"8",width:"28",height:"14",rx:"2",fill:u??"#c0c0c0",stroke:u??c,strokeWidth:"1"}),h.jsx("line",{x1:"150",y1:"22",x2:"150",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:"150",y1:"36",x2:"288",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:"288",y1:"36",x2:"288",y2:"85",stroke:u??c,strokeWidth:u?3:2})]}),i?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"336",y1:"0",x2:"336",y2:"36",stroke:s===0&&f?f:c,strokeWidth:s===0&&f?3:2}),n>1&&h.jsx("line",{x1:"400",y1:"0",x2:"400",y2:"36",stroke:s===1&&f?f:c,strokeWidth:s===1&&f?3:2}),n>1&&h.jsx("line",{x1:"336",y1:"36",x2:"400",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:n>1?"368":"336",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:"312",y2:"85",stroke:f??c,strokeWidth:f?3:2})]}):h.jsxs(h.Fragment,{children:[m.map((y,v)=>h.jsx("line",{x1:y,y1:"0",x2:y,y2:"14",stroke:s===v&&f?f:c,strokeWidth:s===v&&f?3:2},`right-slot-${v}`)),s!=null&&f?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"354",y1:"14",x2:"546",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("line",{x1:Math.min(m[s],450),y1:"14",x2:Math.max(m[s],450),y2:"14",stroke:f,strokeWidth:"3"})]}):h.jsx("line",{x1:"354",y1:"14",x2:"546",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("rect",{x:"436",y:"8",width:"28",height:"14",rx:"2",fill:f??"#c0c0c0",stroke:f??c,strokeWidth:"1"}),h.jsx("line",{x1:"450",y1:"22",x2:"450",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:"450",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:"312",y2:"85",stroke:f??c,strokeWidth:f?3:2})]})]}),h.jsxs("div",{className:"absolute left-1/2 -translate-x-1/2 bottom-0 h-[50px] w-[39px]",children:[h.jsx("img",{src:"/icons/extruder-left-right.png",alt:"Extruder",className:"h-full w-full"}),h.jsx("div",{className:"absolute w-[8px] h-[8px] rounded-full",style:{left:"7px",top:"20px",backgroundColor:u??"transparent"}}),h.jsx("div",{className:"absolute w-[8px] h-[8px] rounded-full",style:{left:"25px",top:"20px",backgroundColor:f??"transparent"}})]})]})}function qVe({printerId:t,printerModel:e,status:n,nozzleCount:r}){const{showToast:i}=eo(),a=n?.connected??!1,s=n?.state==="RUNNING",o=r>1,l=n?.ams??[],c=n?.ams_extruder_map??{},u=n?.nozzles?.[0]?.nozzle_diameter||"0.4",{data:f,isFetched:g}=Ut({queryKey:["kprofiles",t,u],queryFn:()=>Fe.getKProfiles(t,u),enabled:a,staleTime:3e4}),m=we=>{const se=f?.profiles||[];if(!se.length)return null;const st=HVe(we.tray_id_name||null),z=$Ve(se,we.tray_sub_brands||null,we.tray_type||null,st);return z&&parseFloat(z.k_value)||null},y=o?Object.keys(c).length>0?l.filter(we=>c[String(we.id)]===0):l.filter((we,se)=>se%2===0):l,v=o?Object.keys(c).length>0?l.filter(we=>c[String(we.id)]===1):l.filter((we,se)=>se%2===1):[],[b,x]=E.useState(0),[M,w]=E.useState(0),[A,T]=E.useState(null),[R,N]=E.useState(null),[j,C]=E.useState(null),k=n?.ams_status_main??0,U=n?.tray_now??255,I=n?.last_ams_update??0,H=FVe({printerId:t,amsUnits:l,amsStatusMain:k,trayNow:U,lastAmsUpdate:I,onToast:i}),O=E.useRef(!1);E.useEffect(()=>{if(O.current)return;const we=n?.tray_now;we!=null&&(O.current=!0,we!==255&&we!==254?(console.log(`[AMSSectionDual] Initializing from tray_now: ${we}`),T(we)):console.log(`[AMSSectionDual] tray_now=${we} (no AMS filament loaded)`))},[n?.tray_now]);const B=we=>{T(we)},V=we=>{if(o)for(const se of l){const st=se.id>=128?2:4,z=se.id*4;if(we>=z&&we{if(console.log(`[AMSSectionDual] handleLoad called, selectedTray: ${A}`),A!==null){const we=V(A);console.log(`[AMSSectionDual] Starting load via hook: tray ${A}, extruder ${we}`),H.startLoad(A,we)}},K=()=>{console.log(`[AMSSectionDual] handleUnload called, printerId: ${t}, trayNow: ${U}`),H.startUnload()},Y=()=>{console.log("[AMSSectionDual] FilamentChangeCard completed, resetting operation"),H.reset()},oe=(we,se)=>{N({humidity:we,temp:se})},$=(we,se)=>{console.log(`[AMSSectionDual] Slot refresh triggered: AMS ${we}, Slot ${se}`),H.startRefresh(we,se)},X=(we,se,st)=>{C({tray:we,slotLabel:se,amsId:st})},ae=k===1,ce=H.state==="LOADING"||H.state==="UNLOADING"||ae,xe=()=>{if(U===255||U===254)return{leftActiveSlot:null,rightActiveSlot:null,leftFilamentColor:null,rightFilamentColor:null};for(const we of l){const se=we.id>=128?2:4,st=we.id*4;if(U>=st&&UN(null)}),j&&h.jsx(jVe,{tray:j.tray,amsId:j.amsId,slotLabel:j.slotLabel,printerId:t,printerModel:e,nozzleDiameter:n?.nozzles?.[0]?.nozzle_diameter||"0.4",extruderId:c[j.amsId.toString()]??0,onClose:()=>C(null)})]})}function xG(t){const e=t.toUpperCase();if(e.startsWith("HH")||e.startsWith("HS"))return"Hardened Steel";if(e.startsWith("SS"))return"Stainless Steel";switch(t){case"hardened_steel":return"Hardened Steel";case"stainless_steel":return"Stainless Steel";default:return t||"Unknown"}}function vG(t){return t.toUpperCase().startsWith("HH")?"High flow":"Standard"}function XVe({printer:t,status:e,onClose:n}){const r=In(),i=t.nozzle_count>1;E.useEffect(()=>{const u=f=>{f.key==="Escape"&&n()};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[n]);const a=e?.nozzles?.[0],s=e?.nozzles?.[1],o=s?.nozzle_type||s?.nozzle_diameter?s:a,l=yt({mutationFn:()=>Fe.refreshStatus(t.id),onSuccess:()=>{r.invalidateQueries({queryKey:["printerStatuses"]})}}),c=()=>{l.mutate()};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-2xl",onClick:u=>u.stopPropagation(),children:h.jsxs(on,{className:"p-0",children:[h.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-sm font-medium text-white",children:"Printer Parts"}),h.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-bambu-dark-tertiary text-bambu-gray hover:text-white",children:h.jsx(mn,{className:"w-4 h-4"})})]}),h.jsxs("div",{className:"p-6 space-y-6",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-3",children:i?"Left Nozzle":"Nozzle"}),h.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Type"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:xG(a?.nozzle_type||"")})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Diameter"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:a?.nozzle_diameter||"—"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Flow"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:vG(a?.nozzle_type||"")})]})]})]}),i&&h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-3",children:"Right Nozzle"}),h.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Type"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:xG(o?.nozzle_type||"")})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Diameter"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:o?.nozzle_diameter||"—"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Flow"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:vG(o?.nozzle_type||"")})]})]})]}),h.jsxs("p",{className:"text-sm text-bambu-gray",children:["Please change the nozzle settings on the printer."," ",h.jsx("a",{href:"https://wiki.bambulab.com",target:"_blank",rel:"noopener noreferrer",className:"text-bambu-green hover:underline",children:"View wiki"})]})]}),h.jsx("div",{className:"flex justify-end px-4 py-3 border-t border-bambu-dark-tertiary",children:h.jsxs("button",{onClick:c,disabled:l.isPending,className:"flex items-center gap-2 px-4 py-2 bg-bambu-green hover:bg-bambu-green-dark disabled:opacity-50 text-white text-sm font-medium rounded",children:[l.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(el,{className:"w-4 h-4"}),"Refresh"]})})]})})})}function $d({checked:t,onChange:e,disabled:n,loading:r}){return h.jsx("button",{onClick:()=>!n&&!r&&e(!t),disabled:n||r,className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors ${t?"bg-bambu-green border-bambu-green":"bg-transparent border-bambu-gray"} ${n||r?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:r?h.jsx(Ft,{className:"w-3 h-3 animate-spin text-white"}):t?h.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}):null})}function d_({value:t,onChange:e,disabled:n,loading:r}){const[i,a]=E.useState(!1),s=["Low","Medium","High"],o=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),l=n||r;return h.jsxs("div",{className:"relative",children:[h.jsxs("button",{onClick:()=>!l&&a(!i),disabled:l,className:`flex items-center gap-2 px-3 py-1.5 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-sm text-white min-w-[100px] justify-between ${l?"opacity-50 cursor-not-allowed":"cursor-pointer hover:border-bambu-gray"}`,children:[r?h.jsx(Ft,{className:"w-4 h-4 animate-spin text-bambu-green"}):h.jsx("span",{children:o}),h.jsx(Gf,{className:"w-4 h-4 text-bambu-gray"})]}),i&&!l&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>a(!1)}),h.jsx("div",{className:"absolute top-full left-0 mt-1 w-full bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded shadow-lg z-20",children:s.map(c=>h.jsx("button",{onClick:()=>{e(c.toLowerCase()),a(!1)},className:`w-full px-3 py-2 text-left text-sm hover:bg-bambu-dark-tertiary ${t.toLowerCase()===c.toLowerCase()?"text-bambu-green":"text-white"}`,children:c},c))})]})]})}function KVe({printer:t,status:e,onClose:n}){const r=In(),i=e?.print_options,a=e?.connected??!1;E.useEffect(()=>{const f=g=>{g.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]);const s=yt({mutationFn:({apiModuleName:f,enabled:g,printHalt:m,sensitivity:y})=>Fe.setPrintOption(t.id,f,g,m,y),onSuccess:()=>{r.invalidateQueries({queryKey:["printerStatuses"]})}}),o=(f,g,m)=>{const y=g&&m!==void 0&&m!=="never_halt";s.mutate({uiModuleName:f,apiModuleName:f,enabled:g,printHalt:y,sensitivity:m??"medium"})},l=(f,g)=>{let m=f;f==="pileup_detector"&&(m="spaghetti_detector"),s.mutate({uiModuleName:f,apiModuleName:m,enabled:!0,printHalt:!0,sensitivity:g})},c=f=>s.isPending&&s.variables?.uiModuleName===f,u=f=>{if(!s.isPending||!s.variables?.sensitivity)return!1;const g=s.variables.uiModuleName;return g===f||g==="spaghetti_detector"&&f==="pileup_detector"||g==="pileup_detector"&&f==="spaghetti_detector"};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-xl max-h-[90vh] flex flex-col",onClick:f=>f.stopPropagation(),children:h.jsxs(on,{className:"p-0 flex flex-col h-full",children:[h.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-sm font-medium text-white",children:"Print Options"}),h.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-bambu-dark-tertiary text-bambu-gray hover:text-white",children:h.jsx(mn,{className:"w-4 h-4"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[!a&&h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-red-500/20 border border-red-500/50 rounded text-red-400",children:[h.jsx(ya,{className:"w-4 h-4"}),h.jsx("span",{className:"text-sm",children:"Printer not connected. Options cannot be changed."})]}),i?h.jsxs(h.Fragment,{children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-1",children:"AI Detections"}),h.jsx("p",{className:"text-xs text-bambu-gray mb-4",children:"Printer will send assistant message or pause printing if any of the following problem is detected."}),h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.spaghetti_detector,onChange:f=>o("spaghetti_detector",f,i.halt_print_sensitivity),disabled:!a,loading:c("spaghetti_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Spaghetti Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Detects spaghetti failure (scattered loose filament)."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.halt_print_sensitivity||"medium",onChange:f=>l("spaghetti_detector",f),disabled:!a||!i.spaghetti_detector,loading:u("spaghetti_detector")})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.pileup_detector,onChange:f=>o("pileup_detector",f,i.pileup_sensitivity),disabled:!a,loading:c("pileup_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Purge Chute Pile-Up Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Monitors if the waste is piled up in the purge chute."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.pileup_sensitivity||"medium",onChange:f=>l("pileup_detector",f),disabled:!a||!i.pileup_detector,loading:u("pileup_detector")})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.nozzle_clumping_detector,onChange:f=>o("clump_detector",f,i.nozzle_clumping_sensitivity),disabled:!a,loading:c("clump_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Nozzle Clumping Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Checks if the nozzle is clumping by filaments or other foreign objects."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.nozzle_clumping_sensitivity||"medium",onChange:f=>l("clump_detector",f),disabled:!a||!i.nozzle_clumping_detector,loading:u("clump_detector")})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.airprint_detector,onChange:f=>o("airprint_detector",f,i.airprint_sensitivity),disabled:!a,loading:c("airprint_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Air Printing Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Detects air printing caused by nozzle clogging or filament grinding."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.airprint_sensitivity||"medium",onChange:f=>l("airprint_detector",f),disabled:!a||!i.airprint_detector,loading:u("airprint_detector")})]})]})]})]}),h.jsx("hr",{className:"border-bambu-dark-tertiary"}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-1",children:"Build Plate Detection"}),h.jsx("p",{className:"text-xs text-bambu-gray mb-4",children:"Ensures the build plate type and placement are correct."}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.buildplate_marker_detector,onChange:f=>o("buildplate_marker_detector",f),disabled:!a,loading:c("buildplate_marker_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Type Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Pauses printing when the detected build plate type does not match the selected one."})]})]}),h.jsx("hr",{className:"border-bambu-dark-tertiary"}),h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.auto_recovery_step_loss,onChange:f=>o("auto_recovery_step_loss",f),disabled:!a,loading:c("auto_recovery_step_loss")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Auto-recover from step loss"})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:e?.store_to_sdcard??!1,onChange:()=>{},disabled:!0}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Store Sent Files on External Storage"}),h.jsx("span",{className:"text-xs text-bambu-gray italic",children:"(read-only)"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Save the printing files initiated from Bambu Studio, Bambu Handy and MakerWorld on External Storage. This option can only be changed on the printer's touchscreen."})]})]})]}):h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(ya,{className:"w-4 h-4"}),h.jsx("span",{className:"text-sm",children:"Print options not available. Try refreshing."})]})]})]})})})}const YVe=new Set([1,3,13,25,39,40,47,48,50]);function ix({checked:t,onChange:e,disabled:n}){return h.jsx("button",{onClick:()=>!n&&e(!t),disabled:n,className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors ${t?"bg-bambu-green border-bambu-green":"bg-transparent border-bambu-gray"} ${n?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:t&&h.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})})}function ZVe({step:t,name:e,isActive:n,isComplete:r,isLast:i}){return h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsxs("div",{className:"flex flex-col items-center",children:[h.jsx("div",{className:"w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium flex-shrink-0 bg-bambu-green text-white",children:t}),!i&&h.jsx("div",{className:`w-0.5 h-6 ${r?"bg-bambu-green":"bg-bambu-gray/30"}`})]}),h.jsx("span",{className:`text-sm pt-0.5 ${n?"text-white font-semibold":"text-bambu-gray"}`,children:e})]})}function QVe({printer:t,status:e,onClose:n}){const r=e?.connected??!1,i=t.nozzle_count===2,a=e?.stg_cur??-1,[s,o]=E.useState(!1),[l,c]=E.useState(!1),[u,f]=E.useState(!1),g=`calibration_options_${t.id}`,m=typeof window<"u"?localStorage.getItem(g):null,y=m?JSON.parse(m):null,[v,b]=E.useState(y?.bedLeveling??!0),[x,M]=E.useState(y?.vibration??!0),[w,A]=E.useState(y?.motorNoise??!0),[T,R]=E.useState(y?.nozzleOffset??i),[N,j]=E.useState(y?.highTempHeatbed??!1),[C,k]=E.useState(!1),U=e?.state,I=YVe.has(a)&&U==="RUNNING";E.useEffect(()=>{!C&&I?(c(!0),o(!0),k(!0)):!C&&!I&&k(!0)},[C,I]),E.useEffect(()=>{I&&!l&&(c(!0),f(!1))},[I,l]),E.useEffect(()=>{I&&!s&&o(!0)},[I,s]),E.useEffect(()=>{l&&!I&&!u&&f(!0)},[l,I,u]);const H=()=>{localStorage.removeItem(g),o(!1),c(!1),f(!1),b(!0),M(!0),A(!0),R(i),j(!1)};E.useEffect(()=>{const Y=oe=>{oe.key==="Escape"&&n()};return window.addEventListener("keydown",Y),()=>window.removeEventListener("keydown",Y)},[n]);const O=yt({mutationFn:()=>Fe.startCalibration(t.id,{bed_leveling:v,vibration:x,motor_noise:w,nozzle_offset:T,high_temp_heatbed:N}),onSuccess:()=>{localStorage.setItem(g,JSON.stringify({bedLeveling:v,vibration:x,motorNoise:w,nozzleOffset:T,highTempHeatbed:N})),o(!0)}}),B=v||x||w||T||N,V=r&&B&&!O.isPending&&!I&&!u,G=[];G.push({name:"Homing toolhead",stages:[13]}),(v||N)&&G.push({name:"Cooling heatbed",stages:[50]}),v&&G.push({name:"Auto bed leveling - phase 1",stages:[1,47]}),w&&G.push({name:"Motor noise cancellation",stages:[25]}),x&&G.push({name:"Vibration compensation",stages:[3]}),v&&G.push({name:"Auto bed leveling - phase 2",stages:[48]}),i&&T&&G.push({name:"Nozzle offset calibration",stages:[39]}),N&&G.push({name:"High-temp heatbed calibration",stages:[40]});const K=G.findIndex(Y=>Y.stages.includes(a));return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-3xl max-h-[90vh] flex flex-col",onClick:Y=>Y.stopPropagation(),children:h.jsxs(on,{className:"p-0 flex flex-col h-full",children:[h.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-sm font-medium text-white",children:"Calibration"}),h.jsx("button",{onClick:n,className:"p-1 rounded text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white",children:h.jsx(mn,{className:"w-4 h-4"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[!r&&h.jsxs("div",{className:"flex items-center gap-2 p-3 mb-4 bg-red-500/20 border border-red-500/50 rounded text-red-400",children:[h.jsx(ya,{className:"w-4 h-4"}),h.jsx("span",{className:"text-sm",children:"Printer not connected. Calibration cannot be started."})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-4",children:"Calibration step selection"}),h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:v,onChange:b,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Bed leveling"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:x,onChange:M,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Vibration compensation"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:w,onChange:A,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Motor noise cancellation"})]}),i&&h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:T,onChange:R,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Nozzle offset calibration"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:N,onChange:j,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white whitespace-nowrap",children:"High-temperature Heatbed Calibration"})]})]}),h.jsxs("div",{className:"mt-6",children:[h.jsx("h4",{className:"text-sm font-semibold text-white mb-2",children:"Calibration program"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"The calibration program detects the status of your device automatically to minimize deviation. It keeps the device performing optimally."})]})]}),h.jsxs("div",{className:"flex flex-col",children:[h.jsx("h3",{className:"text-base font-semibold text-bambu-green mb-4 text-center border-b border-bambu-dark-tertiary pb-2",children:"Calibration Flow"}),h.jsx("div",{className:"flex-1 py-4 pl-4",children:B?h.jsxs("div",{className:"space-y-0",children:[G.map((Y,oe)=>{const $=s&&!u&&Y.stages.includes(a),X=u||s&&K>oe;return h.jsx(ZVe,{step:oe+1,name:Y.name,isActive:$,isComplete:X,isLast:oe===G.length-1},Y.name)}),a>=0&&K===-1&&e?.stg_cur_name&&h.jsxs("div",{className:"mt-4 text-xs text-bambu-gray",children:["Current: ",e.stg_cur_name]})]}):h.jsx("div",{className:"flex items-center justify-center h-full text-sm text-bambu-gray italic",children:"Select calibration steps"})}),u?h.jsxs("div",{className:"space-y-2",children:[h.jsxs("button",{disabled:!0,className:"w-full py-2.5 px-4 rounded-lg font-medium text-sm flex items-center justify-center gap-2 bg-bambu-green text-white cursor-default",children:[h.jsx(Hp,{className:"w-4 h-4"}),"Completed"]}),h.jsx("button",{onClick:H,className:"w-full py-2 px-4 rounded-lg font-medium text-sm text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary transition-colors",children:"New Calibration"})]}):h.jsx("button",{onClick:()=>O.mutate(),disabled:!V,className:`w-full py-2.5 px-4 rounded-lg font-medium text-sm flex items-center justify-center gap-2 transition-colors ${I?"bg-bambu-gray/50 text-white cursor-not-allowed":V?"bg-bambu-green hover:bg-bambu-green/90 text-white":"bg-bambu-dark-tertiary text-bambu-gray cursor-not-allowed"}`,children:I?h.jsxs(h.Fragment,{children:[h.jsx(Ft,{className:"w-4 h-4 animate-spin"}),"Calibrating"]}):O.isPending?h.jsxs(h.Fragment,{children:[h.jsx(Ft,{className:"w-4 h-4 animate-spin"}),"Starting..."]}):"Start Calibration"}),O.isError&&h.jsx("div",{className:"mt-2 text-xs text-red-400 text-center",children:O.error?.message||"Failed to start calibration"})]})]})]})]})})})}function JVe({signal:t,className:e="w-4 h-4"}){let n=0;t!=null&&(t>=-50?n=4:t>=-60?n=3:t>=-70?n=2:n=1);const r="#00ae42",i="#4a4a4a";return h.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[h.jsx("circle",{cx:"12",cy:"20",r:"1",fill:n>=1?r:i,stroke:n>=1?r:i}),h.jsx("path",{d:"M8.5 16.5a5 5 0 0 1 7 0",stroke:n>=2?r:i,fill:"none"}),h.jsx("path",{d:"M5 13a10 10 0 0 1 14 0",stroke:n>=3?r:i,fill:"none"}),h.jsx("path",{d:"M1.5 9.5a15 15 0 0 1 21 0",stroke:n>=4?r:i,fill:"none"})]})}function eGe(){const[t,e]=Fie(),[n,r]=E.useState(null),[i,a]=E.useState(!1),[s,o]=E.useState(!1),[l,c]=E.useState(!1),{data:u,isLoading:f}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:g}=Ut({queryKey:["printerStatuses"],queryFn:async()=>{if(!u)return{};const M={};return await Promise.all(u.map(async w=>{try{M[w.id]=await Fe.getPrinterStatus(w.id)}catch{}})),M},enabled:!!u&&u.length>0,refetchInterval:2e3});E.useEffect(()=>{const M=t.get("printer");if(M){const w=parseInt(M,10);if(!isNaN(w)){r(w);return}}u&&u.length>0&&!n&&r(u[0].id)},[u,t,n]);const m=M=>{r(M),e({printer:String(M)})},y=u?.find(M=>M.id===n),v=n?g?.[n]:null,x=v?new Set([1,3,13,25,39,40,47,48,50]).has(v.stg_cur):!1;return f?h.jsx("div",{className:"flex items-center justify-center h-screen",children:h.jsx(Ft,{className:"w-8 h-8 animate-spin text-bambu-green"})}):!u||u.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-screen text-bambu-gray",children:[h.jsx(Vp,{className:"w-16 h-16 mb-4"}),h.jsx("p",{className:"text-xl",children:"No printers configured"}),h.jsx("p",{className:"text-sm mt-2",children:"Add a printer in the Printers page first"})]}):h.jsxs("div",{className:"h-screen flex flex-col bg-bambu-dark",children:[h.jsx("div",{className:"bg-bambu-dark-secondary border-b border-bambu-dark-tertiary",children:h.jsx("div",{className:"flex overflow-x-auto",children:u.filter(M=>g?.[M.id]?.connected).map(M=>{const w=g?.[M.id],A=M.id===n;return h.jsxs("button",{onClick:()=>m(M.id),className:`flex items-center gap-2 px-6 py-3 text-sm font-medium transition-colors whitespace-nowrap border-b-2 ${A?"border-bambu-green text-bambu-green bg-bambu-dark":"border-transparent text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[h.jsx("span",{className:"w-2 h-2 rounded-full bg-bambu-green"}),M.name,w?.state&&w.state!=="IDLE"&&h.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-bambu-dark-tertiary",children:w.state})]},M.id)})})}),y&&h.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[h.jsxs("div",{className:"flex-1 flex flex-col bg-bambu-dark",children:[h.jsxs("div",{className:"flex items-center justify-end gap-2 px-3 py-2.5 bg-bambu-dark-secondary border-b border-bambu-dark-tertiary min-h-[44px]",children:[h.jsx("button",{className:`p-1.5 rounded hover:bg-bambu-dark-tertiary ${v?.sdcard?"text-bambu-green":"text-bambu-gray hover:text-white"}`,children:h.jsx("img",{src:"/icons/micro-sd.svg",alt:"SD Card",className:`w-4 h-4 ${v?.sdcard?"icon-green":"icon-theme"}`})}),h.jsx("button",{className:`p-1.5 rounded hover:bg-bambu-dark-tertiary ${v?.timelapse?"text-red-500":"text-bambu-gray hover:text-white"}`,children:h.jsx(Cle,{className:"w-4 h-4"})}),h.jsx("button",{className:`p-1.5 rounded hover:bg-bambu-dark-tertiary ${v?.ipcam?"text-bambu-green":"text-bambu-gray hover:text-white"}`,children:h.jsx(Rle,{className:"w-4 h-4"})}),h.jsx("div",{className:"p-1.5 rounded",title:v?.wifi_signal!=null?`WiFi: ${v.wifi_signal} dBm`:"WiFi signal unknown",children:h.jsx(JVe,{signal:v?.wifi_signal,className:"w-4 h-4"})})]}),h.jsx("div",{className:"flex-1 bg-black",children:h.jsx(mVe,{printerId:y.id,isConnected:v?.connected??!1})}),h.jsx("div",{className:"h-1 bg-bambu-green"}),h.jsx("div",{className:"bg-bambu-dark-secondary p-4 px-5",children:h.jsx(xVe,{printerId:y.id,status:v})})]}),h.jsxs("div",{className:"w-[680px] flex flex-col bg-bambu-dark-secondary border-l border-bambu-dark-tertiary overflow-y-auto",children:[h.jsxs("div",{className:"flex items-center justify-between px-3 py-2.5 border-b border-bambu-dark-tertiary min-h-[44px]",children:[h.jsx("span",{className:"text-sm text-bambu-gray",children:"Control"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:()=>a(!0),className:"px-4 py-1.5 text-xs rounded bg-bambu-green text-white hover:bg-bambu-green-dark",children:"Printer Parts"}),h.jsx("button",{onClick:()=>o(!0),className:"px-4 py-1.5 text-xs rounded bg-bambu-green text-white hover:bg-bambu-green-dark",children:"Print Options"}),h.jsx("button",{onClick:()=>c(!0),className:"px-4 py-1.5 text-xs rounded bg-bambu-green text-white hover:bg-bambu-green-dark",children:"Calibration"})]})]}),!v?.connected&&h.jsxs("div",{className:"m-3 p-3 bg-red-500/20 border border-red-500/50 rounded-lg flex items-center gap-3",children:[h.jsx(Vp,{className:"w-4 h-4 text-red-500"}),h.jsx("span",{className:"text-sm text-red-400",children:"Printer is not connected. Controls are disabled."})]}),h.jsxs("div",{className:"flex-1 p-4 bg-bambu-dark",children:[h.jsx("div",{className:"mb-4 bg-bambu-dark-tertiary rounded-[10px] p-3",children:h.jsxs("div",{className:"flex gap-4 bg-bambu-dark-secondary rounded-[8px] p-4 overflow-hidden",style:{minHeight:"300px"},children:[h.jsx(wVe,{printer:y,status:v,disabled:x}),h.jsxs("div",{className:"flex-1 flex gap-6 items-center justify-center",children:[h.jsxs("div",{className:"flex flex-col items-center",children:[h.jsx(EVe,{printerId:y.id,status:v,disabled:x}),h.jsx(AVe,{printerId:y.id,status:v,disabled:x})]}),h.jsx(TVe,{printerId:y.id,status:v,nozzleCount:y.nozzle_count,disabled:x})]})]})}),h.jsx(qVe,{printerId:y.id,printerModel:y.model||"X1C",status:v,nozzleCount:y.nozzle_count})]})]})]}),i&&y&&h.jsx(XVe,{printer:y,status:v,onClose:()=>a(!1)}),s&&y&&h.jsx(KVe,{printer:y,status:v,onClose:()=>o(!1)}),l&&y&&h.jsx(QVe,{printer:y,status:v,onClose:()=>c(!1)})]})}function tGe(){const t=E.useRef(null),e=E.useRef(null),n=In(),[r,i]=E.useState(!1),a=E.useCallback(()=>{if(t.current?.readyState===WebSocket.OPEN)return;const c=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/api/v1/ws`,u=new WebSocket(c);let f=null;u.onopen=()=>{console.log("[WebSocket] Connected"),i(!0),f=window.setInterval(()=>{u.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"ping"}))},3e4)},u.onmessage=g=>{try{const m=JSON.parse(g.data);s(m)}catch{}},u.onclose=g=>{console.log("[WebSocket] Closed",g.code,g.reason),f&&(clearInterval(f),f=null),i(!1),t.current=null,e.current=window.setTimeout(()=>{a()},3e3)},u.onerror=g=>{console.error("[WebSocket] Error",g),u.close()},t.current=u},[]),s=E.useCallback(l=>{switch(l.type){case"printer_status":l.printer_id!==void 0&&n.setQueryData(["printerStatus",l.printer_id],c=>({...c,...l.data}));break;case"print_complete":n.invalidateQueries({queryKey:["archives"]}),n.invalidateQueries({queryKey:["archiveStats"]});break;case"archive_created":n.invalidateQueries({queryKey:["archives"]}),n.invalidateQueries({queryKey:["archiveStats"]});break}},[n]);E.useEffect(()=>(a(),()=>{e.current&&clearTimeout(e.current),t.current&&t.current.close()}),[a]);const o=E.useCallback(l=>{t.current?.readyState===WebSocket.OPEN&&t.current.send(JSON.stringify(l))},[]);return{isConnected:r,sendMessage:o}}const nGe=new pae({defaultOptions:{queries:{staleTime:1e3*60,retry:1}}});function rGe({children:t}){return tGe(),h.jsx(h.Fragment,{children:t})}function iGe(){return h.jsx(Hle,{children:h.jsx(Qle,{children:h.jsx(mae,{client:nGe,children:h.jsx(rGe,{children:h.jsx(Lie,{children:h.jsx(die,{children:h.jsxs(jo,{path:"/",element:h.jsx(Kle,{}),children:[h.jsx(jo,{index:!0,element:h.jsx(pce,{})}),h.jsx(jo,{path:"archives",element:h.jsx(z2e,{})}),h.jsx(jo,{path:"queue",element:h.jsx($2e,{})}),h.jsx(jo,{path:"stats",element:h.jsx(W$e,{})}),h.jsx(jo,{path:"profiles",element:h.jsx(cVe,{})}),h.jsx(jo,{path:"maintenance",element:h.jsx(pVe,{})}),h.jsx(jo,{path:"control",element:h.jsx(eGe,{})}),h.jsx(jo,{path:"settings",element:h.jsx(tVe,{})})]})})})})})})})}mne.createRoot(document.getElementById("root")).render(h.jsx(E.StrictMode,{children:h.jsx(iGe,{})})); +G90`;return Fe.sendGcode(t,A,w)},onSuccess:(M,w)=>{Wx(M)&&u({token:M.token,warning:M.warning,distance:w.distance})}}),m=M=>{g.mutate({distance:M})},y=()=>{c&&(g.mutate({distance:c.distance,token:c.token}),u(null))},v=!a||s||g.isPending,b=f.isPending,x=()=>o?l===1?"/icons/dual-extruder-left.png":"/icons/dual-extruder-right.png":"/icons/single-extruder1.png";return h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"flex flex-col items-center gap-1.5 justify-center",children:[o&&h.jsxs("div",{className:`flex rounded-md overflow-hidden border border-bambu-dark-tertiary mb-1 flex-shrink-0 ${v||b?"opacity-50":""}`,children:[h.jsx("button",{onClick:()=>f.mutate(1),disabled:v||b,className:`px-3 py-1.5 text-sm border-r border-bambu-dark-tertiary transition-colors disabled:cursor-not-allowed ${l===1?"bg-bambu-green text-white":"bg-bambu-dark-secondary text-bambu-gray hover:bg-bambu-dark-tertiary disabled:hover:bg-bambu-dark-secondary"}`,children:"Left"}),h.jsx("button",{onClick:()=>f.mutate(0),disabled:v||b,className:`px-3 py-1.5 text-sm transition-colors disabled:cursor-not-allowed ${l===0?"bg-bambu-green text-white":"bg-bambu-dark-secondary text-bambu-gray hover:bg-bambu-dark-tertiary disabled:hover:bg-bambu-dark-secondary"}`,children:"Right"})]}),h.jsx("button",{onClick:()=>m(5),disabled:v,className:"w-9 h-[30px] rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Extrude 5mm",children:h.jsx(QS,{className:"w-4 h-4"})}),h.jsx("div",{className:"h-[120px] flex items-center justify-center",children:h.jsx("img",{src:x(),alt:o?`${l===1?"Left":"Right"} Extruder Active`:"Single Extruder",className:"h-full object-contain",onError:M=>{M.target.style.display="none"}})}),h.jsx("button",{onClick:()=>m(-5),disabled:v,className:"w-9 h-[30px] rounded-md bg-bambu-dark-secondary hover:bg-bambu-dark-tertiary border border-bambu-dark-tertiary flex items-center justify-center text-bambu-gray disabled:opacity-50 disabled:cursor-not-allowed",title:"Retract 5mm",children:h.jsx(Gf,{className:"w-4 h-4"})}),h.jsx("span",{className:"text-xs text-bambu-gray mt-0.5",children:"Extruder"})]}),c&&h.jsx(ii,{title:"Confirm Extrusion",message:c.warning,confirmText:"Continue",variant:"warning",onConfirm:y,onCancel:()=>u(null)})]})}function CVe({humidity:t}){const e=()=>t<25?"/icons/humidity-empty.svg":t<40?"/icons/humidity-half.svg":"/icons/humidity-full.svg";return h.jsx("img",{src:e(),alt:"",className:"w-16 h-24"})}function NVe({humidity:t,temperature:e,dryingStatus:n,remainingTime:r,onClose:i}){E.useEffect(()=>{const s=o=>{o.key==="Escape"&&i()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[i]);const a=()=>{if(n==="idle")return"Idle";if(!r)return"Drying...";const s=Math.floor(r/60),o=r%60;return s>0?`${s}h ${o}m`:`${o}m`};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:h.jsxs("div",{className:"bg-white dark:bg-bambu-dark-secondary rounded-lg shadow-xl max-w-md w-full",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsx("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:"Current AMS humidity"}),h.jsx("button",{onClick:i,className:"p-1 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-gray-500 dark:text-bambu-gray"})})]}),h.jsxs("div",{className:"p-6",children:[h.jsxs("div",{className:"flex flex-col items-center mb-6",children:[h.jsx(CVe,{humidity:t}),h.jsxs("div",{className:"flex items-center gap-2 mt-2 text-gray-600 dark:text-bambu-gray",children:[h.jsx("span",{className:"text-yellow-500",children:"❊"}),h.jsx("span",{children:n==="idle"?"Idle":"Drying"})]})]}),h.jsxs("div",{className:"grid grid-cols-3 gap-4 text-center",children:[h.jsxs("div",{children:[h.jsx("div",{className:"text-sm text-gray-500 dark:text-bambu-gray mb-1",children:"Humidity"}),h.jsxs("div",{className:"text-lg font-medium text-gray-900 dark:text-white",children:[t,"%"]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-sm text-gray-500 dark:text-bambu-gray mb-1",children:"Temperature"}),h.jsxs("div",{className:"text-lg font-medium text-gray-900 dark:text-white",children:[e," °C"]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-sm text-gray-500 dark:text-bambu-gray mb-1",children:"Remaining Time"}),h.jsx("div",{className:"text-lg font-medium text-gray-900 dark:text-white",children:a()})]})]})]})]})})}function vN(t){const e=t.indexOf(" @");return e>0?t.substring(0,e):t}function RVe(t){let e=t;e.startsWith("# ")&&(e=e.substring(2));const n=e.indexOf(" @");return n>0?e.substring(0,n):e}function bN(t){let e=t;e.startsWith("# ")&&(e=e.substring(2));const n=e.indexOf(" @");return n>0?e.substring(0,n):e}function PVe(t){if(!t)return"rgb(128, 128, 128)";const e=t.replace("#","").substring(0,6),n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16),a=isNaN(n)?128:n,s=isNaN(r)?128:r,o=isNaN(i)?128:i;return`rgb(${a}, ${s}, ${o})`}function yN(t){return t?`#${t.replace("#","").substring(0,6)}`:"#808080"}function kVe(t){const e=t.replace("#","").toUpperCase();return e.length===6?`${e}FF`:`${e.substring(0,6)}FF`}function DVe(t){if(!t)return!1;const e=t.trim();return e.length!==32||e==="00000000000000000000000000000000"?!1:/^[0-9a-fA-F]{32}$/.test(e)}const OVe={Y2:"Sunflower Yellow",Y0:"Yellow",Y1:"Lemon Yellow",K0:"Black",W0:"White",W1:"Ivory White",R0:"Red",R1:"Scarlet Red",R2:"Magenta",B0:"Blue",B1:"Navy Blue",B2:"Sky Blue",B3:"Cyan",G0:"Green",G1:"Grass Green",G2:"Jade Green",O0:"Orange",O1:"Mandarin Orange",P0:"Purple",P1:"Pink",P2:"Sakura Pink",N0:"Gray",N1:"Silver Gray",N2:"Charcoal",D0:"Brown",D1:"Chocolate",T0:"Titan Gray",T1:"Jade White"};function LVe(t){if(!t)return null;const e=t.split("-");if(e.length<2)return null;const n=e[1];return OVe[n]||null}function IVe(t,e,n,r){if(!t.length)return null;const i=e?.toLowerCase()||"",a=n?.toUpperCase()||"",s=r?.toLowerCase()||"";if(i&&s){const l=t.find(c=>{const u=c.name.toLowerCase();return u.includes(i)&&u.includes(s)});if(l)return l}if(i){const l=t.find(c=>c.name.toLowerCase().includes(i));if(l)return l}if(a){const l=t.filter(c=>c.name.toUpperCase().includes(a));if(l.length>0){const c=l.find(u=>u.name.toLowerCase().includes("basic"));return c||l[0]}}return t.find(l=>l.name.toLowerCase()==="default"||l.slot_id===0)||null}function jVe({tray:t,amsId:e,slotLabel:n,printerId:r,printerModel:i,nozzleDiameter:a="0.4",extruderId:s=0,onClose:o,onConfirm:l}){const c=In(),u=!t.tray_type||t.tray_type===""||t.tray_type==="NONE",f=DVe(t.tray_uuid),g=u||!f,{data:m}=Ut({queryKey:["kprofiles",r,a],queryFn:()=>Fe.getKProfiles(r,a)}),{data:y}=Ut({queryKey:["cloudSettings"],queryFn:()=>Fe.getCloudSettings()}),{data:v}=Ut({queryKey:["slotPreset",r,e,t.id],queryFn:()=>Fe.getSlotPreset(r,e,t.id),enabled:g}),b=yt({mutationFn:({presetId:ge,presetName:De})=>Fe.saveSlotPreset(r,e,t.id,ge,De),onSuccess:()=>{c.invalidateQueries({queryKey:["slotPreset",r,e,t.id]})}}),x=yt({mutationFn:ge=>Fe.amsSetFilamentSetting(r,ge),onSuccess:ge=>{console.log("[AMSMaterialsModal] saveFilamentSettingMutation SUCCESS:",ge)},onError:ge=>{console.error("[AMSMaterialsModal] saveFilamentSettingMutation ERROR:",ge)}}),M=(()=>{const De=(y?.filament||[]).filter(Q=>!Q.name.startsWith("# ")),oe=new RegExp(`@.*\\b${i}\\b`,"i"),ct=[...De].sort((Q,ee)=>{const le=oe.test(Q.name),ke=oe.test(ee.name);return le&&!ke?-1:!le&&ke?1:0}),z=new Set;return ct.filter(Q=>{const ee=RVe(Q.name);return z.has(ee)?!1:(z.add(ee),!0)}).sort((Q,ee)=>vN(Q.name).localeCompare(vN(ee.name)))})(),[w,A]=E.useState(null),[T,R]=E.useState(null),[N,j]=E.useState(t.tray_type||""),[C,k]=E.useState(yN(t.tray_color)),[F,I]=E.useState(t.nozzle_temp_max||220),[B,O]=E.useState(t.nozzle_temp_min||190),[H,$]=E.useState(""),[W,K]=E.useState(t.k||0);E.useEffect(()=>{v&&!w&&(A(v.preset_id),R(v.preset_name))},[v,w]);const Y=ge=>{if(!ge){A(null),R(null);return}A(ge);const De=M.find(oe=>oe.setting_id===ge);if(De){R(De.name);const oe=De.name.match(/\b(PLA|PETG|ABS|TPU|ASA|PA|PC|PVA|HIPS|PLA-S|PETG-CF|PA-CF|PET-CF)\b/i);oe&&j(oe[1].toUpperCase())}},V=(m?.profiles||[]).filter(ge=>ge.extruder_id===s),ae=(()=>{if(!V.length)return[];const ge=f?t.tray_sub_brands?.toLowerCase():T?bN(T).toLowerCase():null,De=f?t.tray_type?.toUpperCase():N?.toUpperCase()||t.tray_type?.toUpperCase();if(ge){const oe=V.filter(ct=>ct.name.toLowerCase().includes(ge));return f?oe.filter(ct=>ct.name.toLowerCase().includes("bambu")):oe}return De?V.filter(oe=>oe.name.toUpperCase().includes(De)):[]})(),ce=LVe(t.tray_id_name);E.useEffect(()=>{const ge=t.k;if(ge&&ge>0){const G=ae.find(re=>{const Q=parseFloat(re.k_value);return Math.abs(Q-ge)<1e-4});if(G){$(G.name),K(ge);return}}const De=f?t.tray_sub_brands:T?bN(T):null,oe=f?t.tray_type:N||t.tray_type,z=IVe(V,De,oe,f?ce:null);z?($(z.name),K(parseFloat(z.k_value)||0)):($("Default"),K(0))},[V,ae,N,T,t.tray_type,t.tray_sub_brands,t.tray_id_name,t.k,f,ce]),E.useEffect(()=>{const ge=De=>{De.key==="Escape"&&o()};return window.addEventListener("keydown",ge),()=>window.removeEventListener("keydown",ge)},[o]);const ve=ge=>{$(ge);const De=V.find(oe=>oe.name===ge);De&&K(parseFloat(De.k_value)||0)},te=()=>{console.log("[AMSMaterialsModal] handleConfirm called"),console.log("[AMSMaterialsModal] amsId:",e,"tray.id:",t.id,"kValue:",W),g&&w&&T&&(console.log("[AMSMaterialsModal] Saving preset mapping"),b.mutate({presetId:w,presetName:T}));const ge=f?t.tray_color||"808080FF":kVe(C),De=f?t.tray_type||"PLA":N||"PLA",oe=f?t.tray_sub_brands||"":T?bN(T):"",ct={ams_id:e,tray_id:t.id,tray_info_idx:t.tray_info_idx||"",tray_type:De,tray_sub_brands:oe,tray_color:ge,nozzle_temp_min:B,nozzle_temp_max:F,k:W};console.log("[AMSMaterialsModal] Calling saveFilamentSettingMutation with payload:",ct),x.mutate(ct),l?.({filamentType:N,color:C,nozzleTempMax:F,nozzleTempMin:B,kProfile:H,kValue:W}),o()},xe=()=>{j(t.tray_type||""),k(yN(t.tray_color)),I(t.nozzle_temp_max||220),O(t.nozzle_temp_min||190),K(t.k||0)},Re=f?t.tray_sub_brands||t.tray_type||"Unknown":N||"Select filament",he=f&&t.tray_uuid?t.tray_uuid:"N/A";return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:h.jsxs("div",{className:"bg-white dark:bg-bambu-dark-secondary rounded-lg shadow-xl max-w-md w-full",children:[h.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsxs("h2",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:["AMS Materials Setting - ",n]}),h.jsx("button",{onClick:o,className:"p-1 hover:bg-gray-100 dark:hover:bg-bambu-dark-tertiary rounded-lg transition-colors",children:h.jsx(mn,{className:"w-5 h-5 text-gray-500 dark:text-bambu-gray"})})]}),h.jsxs("div",{className:"p-6 space-y-4",children:[f&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-bambu-green bg-bambu-green/10 px-3 py-1.5 rounded-md",children:[h.jsx("span",{className:"w-2 h-2 bg-bambu-green rounded-full"}),"Bambu Lab RFID detected - fields auto-filled"]}),!f&&!u&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-yellow-600 dark:text-yellow-400 bg-yellow-100 dark:bg-yellow-900/20 px-3 py-1.5 rounded-md",children:[h.jsx("span",{className:"w-2 h-2 bg-yellow-500 rounded-full"}),"Non-Bambu Lab filament - please verify settings"]}),u&&h.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500 dark:text-bambu-gray bg-gray-100 dark:bg-bambu-dark px-3 py-1.5 rounded-md",children:[h.jsx("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"Empty slot - configure filament settings"]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Filament"}),g?h.jsxs("select",{value:w||"",onChange:ge=>Y(ge.target.value),className:"flex-1 min-w-0 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white text-sm truncate",children:[h.jsx("option",{value:"",children:"Select filament..."}),M.length>0?M.map(ge=>h.jsx("option",{value:ge.setting_id,children:vN(ge.name)},ge.setting_id)):h.jsxs("option",{value:"",disabled:!0,children:["No filament presets for ",i]})]}):h.jsx("div",{className:"flex-1 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md text-gray-900 dark:text-white",children:Re})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Color"}),h.jsx("div",{className:"flex items-center gap-2 flex-1",children:g?h.jsxs(h.Fragment,{children:[h.jsx("input",{type:"color",value:C,onChange:ge=>k(ge.target.value),className:"w-10 h-10 rounded cursor-pointer border-2 border-gray-300 dark:border-bambu-dark-tertiary"}),h.jsx("span",{className:"text-gray-900 dark:text-white text-sm",children:C.toUpperCase()})]}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"w-8 h-8 rounded-full border-2 border-gray-300 dark:border-bambu-dark-tertiary flex-shrink-0",style:{backgroundColor:PVe(t.tray_color)}}),h.jsx("span",{className:"text-gray-900 dark:text-white",children:ce||yN(t.tray_color).toUpperCase()})]})})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Nozzle Temp"}),h.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-gray-500 dark:text-bambu-gray mb-1",children:"min"}),h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("input",{type:"number",value:B,onChange:ge=>O(Number(ge.target.value)),disabled:!g,className:"w-20 px-2 py-1 bg-gray-100 dark:bg-bambu-dark rounded border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white disabled:opacity-60"}),h.jsx("span",{className:"text-gray-600 dark:text-bambu-gray",children:"°C"})]})]}),h.jsxs("div",{children:[h.jsx("div",{className:"text-xs text-gray-500 dark:text-bambu-gray mb-1",children:"max"}),h.jsxs("div",{className:"flex items-center gap-1",children:[h.jsx("input",{type:"number",value:F,onChange:ge=>I(Number(ge.target.value)),disabled:!g,className:"w-20 px-2 py-1 bg-gray-100 dark:bg-bambu-dark rounded border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white disabled:opacity-60"}),h.jsx("span",{className:"text-gray-600 dark:text-bambu-gray",children:"°C"})]})]})]})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"SN"}),h.jsx("div",{className:"flex-1 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md text-gray-900 dark:text-white text-xs font-mono truncate",children:he})]}),h.jsxs("div",{className:"pt-4 border-t border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsxs("h3",{className:"text-sm font-medium text-gray-900 dark:text-white mb-3",children:["Flow Dynamics Calibration"," ",h.jsxs("a",{href:"https://wiki.bambulab.com/en/software/bambu-studio/calibration_pa",target:"_blank",rel:"noopener noreferrer",className:"text-bambu-green hover:underline inline-flex items-center gap-1",children:["Wiki",h.jsx(Qo,{className:"w-3 h-3"})]})]}),h.jsxs("div",{className:"flex items-center gap-4 mb-3",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray flex-shrink-0",children:"PA Profile"}),h.jsxs("select",{value:H,onChange:ge=>ve(ge.target.value),className:"flex-1 min-w-0 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md border border-gray-300 dark:border-bambu-dark-tertiary text-gray-900 dark:text-white text-sm truncate",children:[h.jsx("option",{value:"Default",children:"Default"}),ae.map(ge=>h.jsxs("option",{value:ge.name,children:[ge.name," (K=",parseFloat(ge.k_value).toFixed(3),")"]},ge.slot_id))]})]}),h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("label",{className:"w-28 text-sm text-gray-600 dark:text-bambu-gray",children:"Factor K"}),h.jsx("div",{className:"flex-1 px-3 py-2 bg-gray-100 dark:bg-bambu-dark rounded-md text-gray-900 dark:text-white",children:W.toFixed(3)})]})]})]}),h.jsxs("div",{className:"flex items-center justify-center gap-3 p-4 border-t border-gray-200 dark:border-bambu-dark-tertiary",children:[h.jsx("button",{onClick:te,className:"px-6 py-2 bg-bambu-green text-white rounded-md hover:bg-bambu-green-dark transition-colors",children:"Confirm"}),h.jsx("button",{onClick:xe,className:"px-6 py-2 bg-gray-200 dark:bg-bambu-dark text-gray-700 dark:text-bambu-gray rounded-md hover:bg-gray-300 dark:hover:bg-bambu-dark-tertiary transition-colors",children:"Reset"}),h.jsx("button",{onClick:o,className:"px-6 py-2 bg-gray-200 dark:bg-bambu-dark text-gray-700 dark:text-bambu-gray rounded-md hover:bg-gray-300 dark:hover:bg-bambu-dark-tertiary transition-colors",children:"Close"})]})]})})}const UVe=15e3,pG=12e4;function FVe({printerId:t,amsUnits:e,amsStatusMain:n,trayNow:r,lastAmsUpdate:i,onToast:a}){const[s,o]=E.useState("IDLE"),[l,c]=E.useState(null),[u,f]=E.useState(null),g=E.useRef(n),m=E.useRef(""),y=E.useRef(0),v=E.useRef(null),b=E.useCallback(()=>{v.current&&(clearTimeout(v.current),v.current=null)},[]),x=E.useCallback(()=>{b(),o("IDLE"),c(null),m.current="",y.current=0},[b]),M=yt({mutationFn:({amsId:I,trayId:B})=>Fe.refreshAmsTray(t,I,B),onSuccess:I=>{I.success?a(I.message||"RFID refresh started","success"):(a(I.message||"Failed to refresh tray","error"),x())},onError:I=>{console.error("[useAmsOperations] Refresh error:",I),a("Failed to refresh tray","error"),x()}}),w=yt({mutationFn:({trayId:I,extruderId:B})=>Fe.amsLoadFilament(t,I,B),onSuccess:I=>{console.log("[useAmsOperations] Load request sent:",I)},onError:I=>{console.error("[useAmsOperations] Load error:",I),x()}}),A=yt({mutationFn:()=>Fe.amsUnloadFilament(t),onSuccess:I=>{console.log("[useAmsOperations] Unload request sent:",I)},onError:I=>{console.error("[useAmsOperations] Unload error:",I),x()}}),T=E.useCallback((I,B)=>{if(s!=="IDLE"){console.log("[useAmsOperations] Cannot start refresh - operation in progress:",s);return}const H=e.find(W=>W.id===I)?.tray?.find(W=>W.id===B);H&&(m.current=JSON.stringify({tag_uid:H.tag_uid,tray_uuid:H.tray_uuid,tray_type:H.tray_type,tray_color:H.tray_color})),y.current=i;const $=Date.now();console.log(`[useAmsOperations] Starting refresh: AMS ${I}, Tray ${B}, startTime=${$}, initialAmsUpdate=${i}`),o("REFRESHING"),c({refreshTarget:{amsId:I,trayId:B},startTime:$}),v.current=setTimeout(()=>{console.log(`[useAmsOperations] Refresh timeout for AMS ${I} tray ${B}`),x()},UVe),M.mutate({amsId:I,trayId:B})},[s,e,i,x,M]),R=E.useCallback((I,B)=>{if(s!=="IDLE"){console.log("[useAmsOperations] Cannot start load - operation in progress:",s);return}console.log(`[useAmsOperations] Starting load: tray ${I}, extruder ${B}`);const O=Date.now();o("LOADING"),c({loadTargetTrayId:I,startTime:O}),f("load"),v.current=setTimeout(()=>{console.log(`[useAmsOperations] Load timeout for tray ${I}`),x()},pG),w.mutate({trayId:I,extruderId:B})},[s,x,w]),N=E.useCallback(()=>{if(s!=="IDLE"){console.log("[useAmsOperations] Cannot start unload - operation in progress:",s);return}console.log("[useAmsOperations] Starting unload");const I=Date.now();o("UNLOADING"),c({startTime:I}),f("unload"),v.current=setTimeout(()=>{console.log("[useAmsOperations] Unload timeout"),x()},pG),A.mutate()},[s,x,A]);E.useEffect(()=>{if(s!=="REFRESHING"||!l?.refreshTarget)return;const{amsId:I,trayId:B}=l.refreshTarget,O=Date.now()-l.startTime,$=e.find(se=>se.id===I)?.tray?.find(se=>se.id===B);if(!$)return;const W=JSON.stringify({tag_uid:$.tag_uid,tray_uuid:$.tray_uuid,tray_type:$.tray_type,tray_color:$.tray_color}),K=m.current&&W!==m.current,Y=i!==y.current;if(K&&O>1e3){console.log(`[useAmsOperations] Refresh complete: data changed for AMS ${I} tray ${B} (took ${O}ms)`),x();return}Y&&O>8e3&&(console.log(`[useAmsOperations] Refresh complete: new AMS update after ${O}ms for AMS ${I} tray ${B}`),x())},[s,l,e,i,x]),E.useEffect(()=>{if(s!=="LOADING"&&s!=="UNLOADING"){g.current=n;return}g.current===1&&n===0&&(console.log(`[useAmsOperations] ${s} complete: ams_status_main transitioned 1→0`),x()),g.current=n},[s,n,x]),E.useEffect(()=>{if(s!=="LOADING"||!l?.loadTargetTrayId)return;const I=l?.startTime?Date.now()-l.startTime:0;r===l.loadTargetTrayId&&I>5e3&&(console.log(`[useAmsOperations] Load complete: tray_now=${r} matches target (${I}ms elapsed)`),x())},[s,l,r,x]),E.useEffect(()=>{if(s!=="UNLOADING")return;const I=l?.startTime?Date.now()-l.startTime:0;r===255&&I>1e3&&(console.log("[useAmsOperations] Unload complete: tray_now=255"),x())},[s,l,r,x]),E.useEffect(()=>()=>{b()},[b]);const j=s!=="IDLE",C=E.useCallback((I,B)=>s!=="REFRESHING"||!l?.refreshTarget?!1:l.refreshTarget.amsId===I&&l.refreshTarget.trayId===B,[s,l]),k=s==="LOADING",F=l?.loadTargetTrayId??null;return{state:s,context:l,startRefresh:T,startLoad:R,startUnload:N,reset:x,isOperationInProgress:j,isRefreshingSlot:C,isLoadOperation:k,loadTargetTrayId:F,lastOperationType:u,loadError:w.error,unloadError:A.error,refreshError:M.error}}function Ux(t){if(!t)return"rgb(128, 128, 128)";const e=t.replace("#","").substring(0,6),n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16),a=isNaN(n)?128:n,s=isNaN(r)?128:r,o=isNaN(i)?128:i;return`rgb(${a}, ${s}, ${o})`}function zVe(t){if(!t)return!1;const e=t.replace("#","").substring(0,6);if(e.length<6)return!1;const n=parseInt(e.substring(0,2),16),r=parseInt(e.substring(2,4),16),i=parseInt(e.substring(4,6),16);return isNaN(n)||isNaN(r)||isNaN(i)?!1:(.299*n+.587*r+.114*i)/255>.45}const BVe={Y2:"Sunflower Yellow",Y0:"Yellow",Y1:"Lemon Yellow",K0:"Black",W0:"White",W1:"Ivory White",R0:"Red",R1:"Scarlet Red",R2:"Magenta",B0:"Blue",B1:"Navy Blue",B2:"Sky Blue",B3:"Cyan",G0:"Green",G1:"Grass Green",G2:"Jade Green",O0:"Orange",O1:"Mandarin Orange",P0:"Purple",P1:"Pink",P2:"Sakura Pink",N0:"Gray",N1:"Silver Gray",N2:"Charcoal",D0:"Brown",D1:"Chocolate",T0:"Titan Gray",T1:"Jade White"};function HVe(t){if(!t)return null;const e=t.split("-");if(e.length<2)return null;const n=e[1];return BVe[n]||null}function $Ve(t,e,n,r){if(!t.length)return null;const i=e?.toLowerCase()||"",a=n?.toUpperCase()||"",s=r?.toLowerCase()||"";if(i&&s){const l=t.find(c=>{const u=c.name.toLowerCase();return u.includes(i)&&u.includes(s)});if(l)return l}if(i){const l=t.find(c=>c.name.toLowerCase().includes(i));if(l)return l}if(a){const l=t.filter(c=>c.name.toUpperCase().includes(a));if(l.length>0){const c=l.find(u=>u.name.toLowerCase().includes("basic"));return c||l[0]}}return t.find(l=>l.name.toLowerCase()==="default"||l.slot_id===0)||null}function VVe({humidity:t}){const e=()=>t<25?"/icons/humidity-empty.svg":t<40?"/icons/humidity-half.svg":"/icons/humidity-full.svg";return h.jsx("img",{src:e(),alt:"",className:"w-2.5 h-[14px]"})}function GVe({isLoading:t,amsStatusMain:e,amsStatusSub:n,trayNow:r,targetTrayId:i,onComplete:a,onRetry:s,operationInitiated:o}){const[l,c]=E.useState(!1),[u,f]=E.useState(!1),g=E.useRef(e),m=E.useRef(r),y=E.useRef(null),v=2,b=3,x=4,M=5,w=6,A=7,T=9;E.useEffect(()=>{console.log(`[FilamentChangeCard] Status: main=${e}, sub=${n}, trayNow=${r}, isLoading=${t}`)},[e,n,r,t]);const R=E.useRef(Date.now());E.useEffect(()=>{const O=g.current===1,H=e===0,$=r!==m.current;if(Date.now()-R.current<3e3){g.current=e,m.current=r;return}O&&H?(console.log("[FilamentChangeCard] ams_status_main transitioned 1->0, operation complete!"),f(!0),y.current=setTimeout(()=>{a()},1500)):$&&(t&&i!==null&&r===i?(console.log(`[FilamentChangeCard] Load completed! tray_now=${r} matches target=${i}`),f(!0),y.current=setTimeout(()=>{a()},1500)):!t&&r===255&&(console.log("[FilamentChangeCard] Unload completed! tray_now=255 (no filament)"),f(!0),y.current=setTimeout(()=>{a()},1500))),g.current=e,m.current=r},[e,r,t,i,a]),E.useEffect(()=>()=>{y.current&&clearTimeout(y.current)},[]);const j=u?99:e!==1?o?1:0:t?n===T||n===M||n===w||n===b?1:n===v?2:n===A?3:1:n===T||n===v?1:n===b||n===x?2:1;console.log(`[FilamentChangeCard] Step calculation: currentStep=${j}, amsStatusSub=${n}`);const F=t?(()=>{let O="pending",H="pending",$="pending";return j>=99?(O="completed",H="completed",$="completed"):j>=3?(O="completed",H="completed",$="in_progress"):j>=2?(O="completed",H="in_progress"):j>=1&&(O="in_progress"),[{label:"Push new filament into extruder",stepNumber:1,status:O},{label:"Heat the nozzle",stepNumber:2,status:H},{label:"Purge old filament",stepNumber:3,status:$}]})():(()=>{let O="pending",H="pending";return j>=99?(O="completed",H="completed"):j>=2?(O="completed",H="in_progress"):j>=1&&(O="in_progress"),[{label:"Heat the nozzle",stepNumber:1,status:O},{label:"Retract filament from extruder",stepNumber:2,status:H}]})(),I=t?"Loading":"Unloading",B=t?"Filament loading...":"Filament unloading...";return h.jsxs("div",{className:"mt-3 border-l-4 border-bambu-green bg-white dark:bg-bambu-dark-secondary rounded-r-lg overflow-hidden",children:[h.jsxs("button",{onClick:()=>c(!l),className:"w-full flex items-center justify-between px-4 py-2 text-bambu-green hover:bg-gray-50 dark:hover:bg-bambu-dark-tertiary transition-colors",children:[h.jsx("span",{className:"text-sm font-medium",children:B}),l?h.jsx(Gf,{className:"w-4 h-4"}):h.jsx(QS,{className:"w-4 h-4"})]}),!l&&h.jsxs("div",{className:"px-4 pb-4",children:[h.jsxs("div",{className:"flex gap-6",children:[h.jsxs("div",{className:"flex-1",children:[h.jsx("h3",{className:"text-bambu-green font-semibold mb-3",children:I}),h.jsx("div",{className:"space-y-2",children:F.map(O=>h.jsxs("div",{className:"flex items-center gap-2",children:[O.status==="completed"?h.jsx("div",{className:"w-5 h-5 rounded-full bg-bambu-green flex items-center justify-center flex-shrink-0",children:h.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:3,d:"M5 13l4 4L19 7"})})}):O.status==="in_progress"?h.jsx("div",{className:"w-5 h-5 rounded-full bg-bambu-green flex items-center justify-center flex-shrink-0",children:h.jsx("span",{className:"text-white text-xs font-bold",children:O.stepNumber})}):h.jsx("div",{className:"w-5 h-5 rounded-full border-2 border-gray-400 dark:border-gray-500 flex items-center justify-center flex-shrink-0",children:h.jsx("span",{className:"text-gray-400 dark:text-gray-500 text-xs font-medium",children:O.stepNumber})}),h.jsx("span",{className:`text-sm ${O.status==="in_progress"?"text-gray-900 dark:text-white font-semibold":O.status==="completed"?"text-gray-500 dark:text-gray-400":"text-gray-400 dark:text-gray-500"}`,children:O.label})]},O.stepNumber))})]}),h.jsx("div",{className:"flex-shrink-0",children:h.jsx("img",{src:"/icons/extruder-change-filament.png",alt:"Extruder",className:"w-[150px] h-auto"})})]}),s&&h.jsxs("button",{onClick:s,className:"mt-3 px-4 py-1.5 border border-bambu-gray rounded-full text-sm text-bambu-gray hover:bg-bambu-dark-tertiary transition-colors flex items-center gap-1.5",children:[h.jsx(Foe,{className:"w-3.5 h-3.5"}),"Retry"]})]})]})}function mG(t,e){if(t>=128){const r=t-128,i=String.fromCharCode(65+e);return r===0?`HT-${i}`:`HT${r+1}-${i}`}return`${String.fromCharCode(65+t)}${e+1}`}function NP(t){return t>=128}function gG({units:t,side:e,isPrinting:n,selectedAmsIndex:r,onSelectAms:i,selectedTray:a,onSelectTray:s,onHumidityClick:o,onSlotRefresh:l,onEyeClick:c,refreshingSlot:u,getKValue:f,kProfilesLoaded:g}){const m=t[r],y=m?NP(m.id):!1;return h.jsxs("div",{className:"flex-1 min-w-0",children:[h.jsx("div",{className:"flex gap-1.5 mb-2.5 p-1.5 bg-gray-300 dark:bg-bambu-dark rounded-lg",children:t.map((v,b)=>h.jsx("button",{onClick:()=>i(b),className:`flex items-center p-1.5 rounded border-2 transition-colors ${r===b?"border-bambu-green bg-white dark:bg-bambu-dark-tertiary":"bg-gray-200 dark:bg-bambu-dark-secondary border-transparent hover:border-bambu-gray"}`,children:h.jsx("div",{className:"flex gap-0.5",children:v.tray.map(x=>h.jsx("div",{className:"w-2.5 h-2.5 rounded-full",style:{backgroundColor:x.tray_color?Ux(x.tray_color):"#808080"}},x.id))})},v.id))}),m&&h.jsxs("div",{className:"bg-gray-100 dark:bg-bambu-dark-secondary rounded-[10px] p-2.5",children:[h.jsxs("button",{onClick:()=>o(m.humidity??0,m.temp??0),className:"flex items-center justify-center gap-4 text-xs text-bambu-gray mb-2.5 w-full py-1 hover:bg-gray-50 dark:hover:bg-bambu-dark-tertiary rounded-md transition-colors cursor-pointer",children:[m.humidity!==null&&h.jsxs("span",{className:"flex items-center gap-1.5",children:[h.jsx(VVe,{humidity:m.humidity}),m.humidity," %"]}),m.temp!==null&&h.jsxs("span",{className:"flex items-center gap-1.5",children:[h.jsx("img",{src:"/icons/temperature.svg",alt:"",className:"w-3.5 icon-theme"}),m.temp,"°C"]})]}),h.jsx("div",{className:`flex gap-2 mb-1.5 ${y?"justify-start pl-2":"justify-center"}`,children:m.tray.map((v,b)=>{const x=mG(m.id,b),M=u?.amsId===m.id&&u?.trayId===v.id;return h.jsxs("button",{onClick:w=>{w.stopPropagation(),l(m.id,v.id)},disabled:M,className:`w-14 flex items-center justify-center gap-0.5 text-[10px] text-bambu-gray px-1.5 py-[3px] bg-bambu-dark rounded-full border border-bambu-dark-tertiary transition-colors ${M?"opacity-70 cursor-wait":"hover:bg-bambu-dark-tertiary"}`,children:[x,h.jsx("img",{src:"/icons/reload.svg",alt:"",className:`w-2.5 h-2.5 icon-theme ${M?"animate-spin":""}`})]},v.id)})}),h.jsx("div",{className:`flex gap-2 ${y?"justify-start pl-2":"justify-center"}`,children:m.tray.map((v,b)=>{const x=m.id*4+v.id,M=a===x,w=!v.tray_type||v.tray_type===""||v.tray_type==="NONE",A=zVe(v.tray_color),T=mG(m.id,b);return h.jsxs("div",{onClick:()=>{console.log(`[AMSSectionDual] Slot clicked: AMS ${m.id}, tray ${v.id}, globalTrayId: ${x}, isEmpty: ${w}, isPrinting: ${n}, isSelected: ${M}`),!w&&!n&&s(M?null:x)},className:`w-14 h-[80px] rounded-md border-2 overflow-hidden transition-all bg-bambu-dark relative ${M?"border-bambu-green":"border-bambu-dark-tertiary hover:border-bambu-gray"} ${w?"opacity-50":"cursor-pointer"}`,children:[!w&&v.remain>=0&&h.jsx("div",{className:"absolute bottom-0 left-0 right-0 transition-all",style:{height:`${Math.min(100,Math.max(0,v.remain))}%`,backgroundColor:Ux(v.tray_color)}}),!w&&v.remain<0&&h.jsx("div",{className:"absolute inset-0",style:{backgroundColor:Ux(v.tray_color)}}),w&&h.jsx("div",{className:"absolute inset-0",style:{background:"repeating-linear-gradient(45deg, #3a3a3a, #3a3a3a 4px, #4a4a4a 4px, #4a4a4a 8px)"}}),h.jsxs("div",{className:"relative w-full h-full flex flex-col items-center justify-end pb-[5px]",children:[h.jsx("span",{className:"text-[11px] font-semibold",style:{color:A?"#000000":"#ffffff"},children:w?"--":v.tray_type}),!w&&g&&h.jsxs("span",{className:"text-[10px] font-medium",style:{color:A?"rgba(0,0,0,0.8)":"rgba(255,255,255,0.85)"},children:["K ",(f(v)??.02).toFixed(3)]}),!w&&h.jsx("button",{onClick:R=>{R.stopPropagation(),c(v,T,m.id)},className:"w-4 h-4 flex items-center justify-center rounded hover:bg-black/20 transition-colors",children:h.jsx("img",{src:"/icons/eye.svg",alt:"Settings",className:`w-3.5 h-3.5 ${A?"":"invert"}`,style:{opacity:.8}})})]})]},v.id)})})]}),t.length===0&&h.jsxs("div",{className:"bg-bambu-dark-secondary rounded-[10px] p-6 text-center text-bambu-gray text-sm",children:["No AMS connected to ",e," nozzle"]})]})}function WVe({isDualNozzle:t,leftSlotCount:e,rightSlotCount:n,leftIsHT:r,rightIsHT:i,leftActiveSlot:a,rightActiveSlot:s,leftFilamentColor:o,rightFilamentColor:l}){if(!t)return null;const c="#909090",u=o?Ux(o):null,f=l?Ux(l):null,g=[54,118,182,246],m=[354,418,482,546];return h.jsxs("div",{className:"relative w-full pointer-events-none",style:{height:"120px"},children:[h.jsxs("svg",{className:"absolute inset-0 w-full h-full",viewBox:"0 0 600 120",preserveAspectRatio:"xMidYMid meet",children:[r?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"36",y1:"0",x2:"36",y2:"36",stroke:a===0&&u?u:c,strokeWidth:a===0&&u?3:2}),e>1&&h.jsx("line",{x1:"100",y1:"0",x2:"100",y2:"36",stroke:a===1&&u?u:c,strokeWidth:a===1&&u?3:2}),e>1&&h.jsx("line",{x1:"36",y1:"36",x2:"100",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:e>1?"68":"36",y1:"36",x2:"288",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:"288",y1:"36",x2:"288",y2:"85",stroke:u??c,strokeWidth:u?3:2})]}):h.jsxs(h.Fragment,{children:[g.map((y,v)=>h.jsx("line",{x1:y,y1:"0",x2:y,y2:"14",stroke:a===v&&u?u:c,strokeWidth:a===v&&u?3:2},`left-slot-${v}`)),a!=null&&u?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"54",y1:"14",x2:"246",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("line",{x1:Math.min(g[a],150),y1:"14",x2:Math.max(g[a],150),y2:"14",stroke:u,strokeWidth:"3"})]}):h.jsx("line",{x1:"54",y1:"14",x2:"246",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("rect",{x:"136",y:"8",width:"28",height:"14",rx:"2",fill:u??"#c0c0c0",stroke:u??c,strokeWidth:"1"}),h.jsx("line",{x1:"150",y1:"22",x2:"150",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:"150",y1:"36",x2:"288",y2:"36",stroke:u??c,strokeWidth:u?3:2}),h.jsx("line",{x1:"288",y1:"36",x2:"288",y2:"85",stroke:u??c,strokeWidth:u?3:2})]}),i?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"336",y1:"0",x2:"336",y2:"36",stroke:s===0&&f?f:c,strokeWidth:s===0&&f?3:2}),n>1&&h.jsx("line",{x1:"400",y1:"0",x2:"400",y2:"36",stroke:s===1&&f?f:c,strokeWidth:s===1&&f?3:2}),n>1&&h.jsx("line",{x1:"336",y1:"36",x2:"400",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:n>1?"368":"336",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:"312",y2:"85",stroke:f??c,strokeWidth:f?3:2})]}):h.jsxs(h.Fragment,{children:[m.map((y,v)=>h.jsx("line",{x1:y,y1:"0",x2:y,y2:"14",stroke:s===v&&f?f:c,strokeWidth:s===v&&f?3:2},`right-slot-${v}`)),s!=null&&f?h.jsxs(h.Fragment,{children:[h.jsx("line",{x1:"354",y1:"14",x2:"546",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("line",{x1:Math.min(m[s],450),y1:"14",x2:Math.max(m[s],450),y2:"14",stroke:f,strokeWidth:"3"})]}):h.jsx("line",{x1:"354",y1:"14",x2:"546",y2:"14",stroke:c,strokeWidth:"2"}),h.jsx("rect",{x:"436",y:"8",width:"28",height:"14",rx:"2",fill:f??"#c0c0c0",stroke:f??c,strokeWidth:"1"}),h.jsx("line",{x1:"450",y1:"22",x2:"450",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:"450",y2:"36",stroke:f??c,strokeWidth:f?3:2}),h.jsx("line",{x1:"312",y1:"36",x2:"312",y2:"85",stroke:f??c,strokeWidth:f?3:2})]})]}),h.jsxs("div",{className:"absolute left-1/2 -translate-x-1/2 bottom-0 h-[50px] w-[39px]",children:[h.jsx("img",{src:"/icons/extruder-left-right.png",alt:"Extruder",className:"h-full w-full"}),h.jsx("div",{className:"absolute w-[8px] h-[8px] rounded-full",style:{left:"7px",top:"20px",backgroundColor:u??"transparent"}}),h.jsx("div",{className:"absolute w-[8px] h-[8px] rounded-full",style:{left:"25px",top:"20px",backgroundColor:f??"transparent"}})]})]})}function qVe({printerId:t,printerModel:e,status:n,nozzleCount:r}){const{showToast:i}=eo(),a=n?.connected??!1,s=n?.state==="RUNNING",o=r>1,l=n?.ams??[],c=n?.ams_extruder_map??{},u=n?.nozzles?.[0]?.nozzle_diameter||"0.4",{data:f,isFetched:g}=Ut({queryKey:["kprofiles",t,u],queryFn:()=>Fe.getKProfiles(t,u),enabled:a,staleTime:3e4}),m=G=>{const re=f?.profiles||[];if(!re.length)return null;const Q=HVe(G.tray_id_name||null),ee=$Ve(re,G.tray_sub_brands||null,G.tray_type||null,Q);return ee&&parseFloat(ee.k_value)||null},y=o?Object.keys(c).length>0?l.filter(G=>c[String(G.id)]===1):l.filter((G,re)=>re%2===0):l,v=o?Object.keys(c).length>0?l.filter(G=>c[String(G.id)]===0):l.filter((G,re)=>re%2===1):[],[b,x]=E.useState(0),[M,w]=E.useState(0),[A,T]=E.useState(null),[R,N]=E.useState(null),[j,C]=E.useState(null),k=n?.ams_status_main??0,F=n?.tray_now??255,I=n?.last_ams_update??0,B=FVe({printerId:t,amsUnits:l,amsStatusMain:k,trayNow:F,lastAmsUpdate:I,onToast:i}),O=E.useRef(!1);E.useEffect(()=>{if(O.current)return;const G=n?.tray_now;G!=null&&(O.current=!0,G!==255&&G!==254?(console.log(`[AMSSectionDual] Initializing from tray_now: ${G}`),T(G)):console.log(`[AMSSectionDual] tray_now=${G} (no AMS filament loaded)`))},[n?.tray_now]);const H=G=>{T(G)},$=G=>{if(o)for(const re of l){const Q=re.id>=128?2:4,ee=re.id*4;if(G>=ee&&G{if(console.log(`[AMSSectionDual] handleLoad called, selectedTray: ${A}`),A!==null){const G=$(A);console.log(`[AMSSectionDual] Starting load via hook: tray ${A}, extruder ${G}`),B.startLoad(A,G)}},K=()=>{console.log(`[AMSSectionDual] handleUnload called, printerId: ${t}, trayNow: ${F}`),B.startUnload()},Y=()=>{console.log("[AMSSectionDual] FilamentChangeCard completed, resetting operation"),B.reset()},se=(G,re)=>{N({humidity:G,temp:re})},V=(G,re)=>{console.log(`[AMSSectionDual] Slot refresh triggered: AMS ${G}, Slot ${re}`),B.startRefresh(G,re)},X=(G,re,Q)=>{C({tray:G,slotLabel:re,amsId:Q})},ae=k===1,ce=B.state==="LOADING"||B.state==="UNLOADING"||ae,[ve,te]=E.useState(!1),xe=E.useRef(null);E.useEffect(()=>(ce?(xe.current&&(clearTimeout(xe.current),xe.current=null),te(!0)):ve&&(xe.current||(xe.current=setTimeout(()=>{te(!1),xe.current=null},1500))),()=>{xe.current&&clearTimeout(xe.current)}),[ce,ve]);const Re=B.state==="LOADING"?!0:B.state==="UNLOADING"?!1:B.lastOperationType==="load"?!0:B.lastOperationType==="unload"?!1:F!==255;E.useEffect(()=>{ve&&console.log(`[AMSSectionDual] Card type: isFilamentLoadOperation=${Re}, state=${B.state}, lastOperationType=${B.lastOperationType}, trayNow=${F}`)},[ve,Re,B.state,B.lastOperationType,F]);const he=()=>{if(F===255||F===254)return{leftActiveSlot:null,rightActiveSlot:null,leftFilamentColor:null,rightFilamentColor:null};for(const G of l){const re=G.id>=128?2:4,Q=G.id*4;if(F>=Q&&FN(null)}),j&&h.jsx(jVe,{tray:j.tray,amsId:j.amsId,slotLabel:j.slotLabel,printerId:t,printerModel:e,nozzleDiameter:n?.nozzles?.[0]?.nozzle_diameter||"0.4",extruderId:c[j.amsId.toString()]??0,onClose:()=>C(null)})]})}function xG(t){const e=t.toUpperCase();if(e.startsWith("HH")||e.startsWith("HS"))return"Hardened Steel";if(e.startsWith("SS"))return"Stainless Steel";switch(t){case"hardened_steel":return"Hardened Steel";case"stainless_steel":return"Stainless Steel";default:return t||"Unknown"}}function vG(t){return t.toUpperCase().startsWith("HH")?"High flow":"Standard"}function XVe({printer:t,status:e,onClose:n}){const r=In(),i=t.nozzle_count>1;E.useEffect(()=>{const u=f=>{f.key==="Escape"&&n()};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[n]);const a=e?.nozzles?.[0],s=e?.nozzles?.[1],o=s?.nozzle_type||s?.nozzle_diameter?s:a,l=yt({mutationFn:()=>Fe.refreshStatus(t.id),onSuccess:()=>{r.invalidateQueries({queryKey:["printerStatuses"]})}}),c=()=>{l.mutate()};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-2xl",onClick:u=>u.stopPropagation(),children:h.jsxs(on,{className:"p-0",children:[h.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-sm font-medium text-white",children:"Printer Parts"}),h.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-bambu-dark-tertiary text-bambu-gray hover:text-white",children:h.jsx(mn,{className:"w-4 h-4"})})]}),h.jsxs("div",{className:"p-6 space-y-6",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-3",children:i?"Left Nozzle":"Nozzle"}),h.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Type"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:xG(a?.nozzle_type||"")})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Diameter"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:a?.nozzle_diameter||"—"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Flow"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:vG(a?.nozzle_type||"")})]})]})]}),i&&h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-3",children:"Right Nozzle"}),h.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Type"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:xG(o?.nozzle_type||"")})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Diameter"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:o?.nozzle_diameter||"—"})]}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-sm text-bambu-gray mb-1.5",children:"Flow"}),h.jsx("div",{className:"px-3 py-2 bg-bambu-dark rounded border border-bambu-dark-tertiary text-sm text-bambu-gray",children:vG(o?.nozzle_type||"")})]})]})]}),h.jsxs("p",{className:"text-sm text-bambu-gray",children:["Please change the nozzle settings on the printer."," ",h.jsx("a",{href:"https://wiki.bambulab.com",target:"_blank",rel:"noopener noreferrer",className:"text-bambu-green hover:underline",children:"View wiki"})]})]}),h.jsx("div",{className:"flex justify-end px-4 py-3 border-t border-bambu-dark-tertiary",children:h.jsxs("button",{onClick:c,disabled:l.isPending,className:"flex items-center gap-2 px-4 py-2 bg-bambu-green hover:bg-bambu-green-dark disabled:opacity-50 text-white text-sm font-medium rounded",children:[l.isPending?h.jsx(Ft,{className:"w-4 h-4 animate-spin"}):h.jsx(el,{className:"w-4 h-4"}),"Refresh"]})})]})})})}function $d({checked:t,onChange:e,disabled:n,loading:r}){return h.jsx("button",{onClick:()=>!n&&!r&&e(!t),disabled:n||r,className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors ${t?"bg-bambu-green border-bambu-green":"bg-transparent border-bambu-gray"} ${n||r?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:r?h.jsx(Ft,{className:"w-3 h-3 animate-spin text-white"}):t?h.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})}):null})}function d_({value:t,onChange:e,disabled:n,loading:r}){const[i,a]=E.useState(!1),s=["Low","Medium","High"],o=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),l=n||r;return h.jsxs("div",{className:"relative",children:[h.jsxs("button",{onClick:()=>!l&&a(!i),disabled:l,className:`flex items-center gap-2 px-3 py-1.5 bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded text-sm text-white min-w-[100px] justify-between ${l?"opacity-50 cursor-not-allowed":"cursor-pointer hover:border-bambu-gray"}`,children:[r?h.jsx(Ft,{className:"w-4 h-4 animate-spin text-bambu-green"}):h.jsx("span",{children:o}),h.jsx(Gf,{className:"w-4 h-4 text-bambu-gray"})]}),i&&!l&&h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"fixed inset-0 z-10",onClick:()=>a(!1)}),h.jsx("div",{className:"absolute top-full left-0 mt-1 w-full bg-bambu-dark-secondary border border-bambu-dark-tertiary rounded shadow-lg z-20",children:s.map(c=>h.jsx("button",{onClick:()=>{e(c.toLowerCase()),a(!1)},className:`w-full px-3 py-2 text-left text-sm hover:bg-bambu-dark-tertiary ${t.toLowerCase()===c.toLowerCase()?"text-bambu-green":"text-white"}`,children:c},c))})]})]})}function KVe({printer:t,status:e,onClose:n}){const r=In(),i=e?.print_options,a=e?.connected??!1;E.useEffect(()=>{const f=g=>{g.key==="Escape"&&n()};return window.addEventListener("keydown",f),()=>window.removeEventListener("keydown",f)},[n]);const s=yt({mutationFn:({apiModuleName:f,enabled:g,printHalt:m,sensitivity:y})=>Fe.setPrintOption(t.id,f,g,m,y),onSuccess:()=>{r.invalidateQueries({queryKey:["printerStatuses"]})}}),o=(f,g,m)=>{const y=g&&m!==void 0&&m!=="never_halt";s.mutate({uiModuleName:f,apiModuleName:f,enabled:g,printHalt:y,sensitivity:m??"medium"})},l=(f,g)=>{let m=f;f==="pileup_detector"&&(m="spaghetti_detector"),s.mutate({uiModuleName:f,apiModuleName:m,enabled:!0,printHalt:!0,sensitivity:g})},c=f=>s.isPending&&s.variables?.uiModuleName===f,u=f=>{if(!s.isPending||!s.variables?.sensitivity)return!1;const g=s.variables.uiModuleName;return g===f||g==="spaghetti_detector"&&f==="pileup_detector"||g==="pileup_detector"&&f==="spaghetti_detector"};return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-xl max-h-[90vh] flex flex-col",onClick:f=>f.stopPropagation(),children:h.jsxs(on,{className:"p-0 flex flex-col h-full",children:[h.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-sm font-medium text-white",children:"Print Options"}),h.jsx("button",{onClick:n,className:"p-1 rounded hover:bg-bambu-dark-tertiary text-bambu-gray hover:text-white",children:h.jsx(mn,{className:"w-4 h-4"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[!a&&h.jsxs("div",{className:"flex items-center gap-2 p-3 bg-red-500/20 border border-red-500/50 rounded text-red-400",children:[h.jsx(ya,{className:"w-4 h-4"}),h.jsx("span",{className:"text-sm",children:"Printer not connected. Options cannot be changed."})]}),i?h.jsxs(h.Fragment,{children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-1",children:"AI Detections"}),h.jsx("p",{className:"text-xs text-bambu-gray mb-4",children:"Printer will send assistant message or pause printing if any of the following problem is detected."}),h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.spaghetti_detector,onChange:f=>o("spaghetti_detector",f,i.halt_print_sensitivity),disabled:!a,loading:c("spaghetti_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Spaghetti Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Detects spaghetti failure (scattered loose filament)."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.halt_print_sensitivity||"medium",onChange:f=>l("spaghetti_detector",f),disabled:!a||!i.spaghetti_detector,loading:u("spaghetti_detector")})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.pileup_detector,onChange:f=>o("pileup_detector",f,i.pileup_sensitivity),disabled:!a,loading:c("pileup_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Purge Chute Pile-Up Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Monitors if the waste is piled up in the purge chute."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.pileup_sensitivity||"medium",onChange:f=>l("pileup_detector",f),disabled:!a||!i.pileup_detector,loading:u("pileup_detector")})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.nozzle_clumping_detector,onChange:f=>o("clump_detector",f,i.nozzle_clumping_sensitivity),disabled:!a,loading:c("clump_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Nozzle Clumping Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Checks if the nozzle is clumping by filaments or other foreign objects."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.nozzle_clumping_sensitivity||"medium",onChange:f=>l("clump_detector",f),disabled:!a||!i.nozzle_clumping_detector,loading:u("clump_detector")})]})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.airprint_detector,onChange:f=>o("airprint_detector",f,i.airprint_sensitivity),disabled:!a,loading:c("airprint_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Air Printing Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Detects air printing caused by nozzle clogging or filament grinding."}),h.jsxs("div",{className:"flex items-center gap-3 ml-8",children:[h.jsx("span",{className:"text-xs text-bambu-gray",children:"Pausing Sensitivity:"}),h.jsx(d_,{value:i.airprint_sensitivity||"medium",onChange:f=>l("airprint_detector",f),disabled:!a||!i.airprint_detector,loading:u("airprint_detector")})]})]})]})]}),h.jsx("hr",{className:"border-bambu-dark-tertiary"}),h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-1",children:"Build Plate Detection"}),h.jsx("p",{className:"text-xs text-bambu-gray mb-4",children:"Ensures the build plate type and placement are correct."}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.buildplate_marker_detector,onChange:f=>o("buildplate_marker_detector",f),disabled:!a,loading:c("buildplate_marker_detector")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Type Detection"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Pauses printing when the detected build plate type does not match the selected one."})]})]}),h.jsx("hr",{className:"border-bambu-dark-tertiary"}),h.jsxs("div",{className:"space-y-5",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:i.auto_recovery_step_loss,onChange:f=>o("auto_recovery_step_loss",f),disabled:!a,loading:c("auto_recovery_step_loss")}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Auto-recover from step loss"})]}),h.jsxs("div",{className:"space-y-2",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx($d,{checked:e?.store_to_sdcard??!1,onChange:()=>{},disabled:!0}),h.jsx("span",{className:"text-sm font-medium text-white",children:"Store Sent Files on External Storage"}),h.jsx("span",{className:"text-xs text-bambu-gray italic",children:"(read-only)"})]}),h.jsx("p",{className:"text-xs text-bambu-gray ml-8",children:"Save the printing files initiated from Bambu Studio, Bambu Handy and MakerWorld on External Storage. This option can only be changed on the printer's touchscreen."})]})]})]}):h.jsxs("div",{className:"flex items-center gap-2 text-bambu-gray",children:[h.jsx(ya,{className:"w-4 h-4"}),h.jsx("span",{className:"text-sm",children:"Print options not available. Try refreshing."})]})]})]})})})}const YVe=new Set([1,3,13,25,39,40,47,48,50]);function ix({checked:t,onChange:e,disabled:n}){return h.jsx("button",{onClick:()=>!n&&e(!t),disabled:n,className:`w-5 h-5 rounded border-2 flex items-center justify-center transition-colors ${t?"bg-bambu-green border-bambu-green":"bg-transparent border-bambu-gray"} ${n?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:t&&h.jsx("svg",{className:"w-3 h-3 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:h.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})})}function ZVe({step:t,name:e,isActive:n,isComplete:r,isLast:i}){return h.jsxs("div",{className:"flex items-start gap-3",children:[h.jsxs("div",{className:"flex flex-col items-center",children:[h.jsx("div",{className:"w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium flex-shrink-0 bg-bambu-green text-white",children:t}),!i&&h.jsx("div",{className:`w-0.5 h-6 ${r?"bg-bambu-green":"bg-bambu-gray/30"}`})]}),h.jsx("span",{className:`text-sm pt-0.5 ${n?"text-white font-semibold":"text-bambu-gray"}`,children:e})]})}function QVe({printer:t,status:e,onClose:n}){const r=e?.connected??!1,i=t.nozzle_count===2,a=e?.stg_cur??-1,[s,o]=E.useState(!1),[l,c]=E.useState(!1),[u,f]=E.useState(!1),g=`calibration_options_${t.id}`,m=typeof window<"u"?localStorage.getItem(g):null,y=m?JSON.parse(m):null,[v,b]=E.useState(y?.bedLeveling??!0),[x,M]=E.useState(y?.vibration??!0),[w,A]=E.useState(y?.motorNoise??!0),[T,R]=E.useState(y?.nozzleOffset??i),[N,j]=E.useState(y?.highTempHeatbed??!1),[C,k]=E.useState(!1),F=e?.state,I=YVe.has(a)&&F==="RUNNING";E.useEffect(()=>{!C&&I?(c(!0),o(!0),k(!0)):!C&&!I&&k(!0)},[C,I]),E.useEffect(()=>{I&&!l&&(c(!0),f(!1))},[I,l]),E.useEffect(()=>{I&&!s&&o(!0)},[I,s]),E.useEffect(()=>{l&&!I&&!u&&f(!0)},[l,I,u]);const B=()=>{localStorage.removeItem(g),o(!1),c(!1),f(!1),b(!0),M(!0),A(!0),R(i),j(!1)};E.useEffect(()=>{const Y=se=>{se.key==="Escape"&&n()};return window.addEventListener("keydown",Y),()=>window.removeEventListener("keydown",Y)},[n]);const O=yt({mutationFn:()=>Fe.startCalibration(t.id,{bed_leveling:v,vibration:x,motor_noise:w,nozzle_offset:T,high_temp_heatbed:N}),onSuccess:()=>{localStorage.setItem(g,JSON.stringify({bedLeveling:v,vibration:x,motorNoise:w,nozzleOffset:T,highTempHeatbed:N})),o(!0)}}),H=v||x||w||T||N,$=r&&H&&!O.isPending&&!I&&!u,W=[];W.push({name:"Homing toolhead",stages:[13]}),(v||N)&&W.push({name:"Cooling heatbed",stages:[50]}),v&&W.push({name:"Auto bed leveling - phase 1",stages:[1,47]}),w&&W.push({name:"Motor noise cancellation",stages:[25]}),x&&W.push({name:"Vibration compensation",stages:[3]}),v&&W.push({name:"Auto bed leveling - phase 2",stages:[48]}),i&&T&&W.push({name:"Nozzle offset calibration",stages:[39]}),N&&W.push({name:"High-temp heatbed calibration",stages:[40]});const K=W.findIndex(Y=>Y.stages.includes(a));return h.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",onClick:n,children:h.jsx(Yt,{className:"w-full max-w-3xl max-h-[90vh] flex flex-col",onClick:Y=>Y.stopPropagation(),children:h.jsxs(on,{className:"p-0 flex flex-col h-full",children:[h.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-bambu-dark-tertiary",children:[h.jsx("span",{className:"text-sm font-medium text-white",children:"Calibration"}),h.jsx("button",{onClick:n,className:"p-1 rounded text-bambu-gray hover:bg-bambu-dark-tertiary hover:text-white",children:h.jsx(mn,{className:"w-4 h-4"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-6",children:[!r&&h.jsxs("div",{className:"flex items-center gap-2 p-3 mb-4 bg-red-500/20 border border-red-500/50 rounded text-red-400",children:[h.jsx(ya,{className:"w-4 h-4"}),h.jsx("span",{className:"text-sm",children:"Printer not connected. Calibration cannot be started."})]}),h.jsxs("div",{className:"grid grid-cols-2 gap-8",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-base font-semibold text-white mb-4",children:"Calibration step selection"}),h.jsxs("div",{className:"space-y-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:v,onChange:b,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Bed leveling"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:x,onChange:M,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Vibration compensation"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:w,onChange:A,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Motor noise cancellation"})]}),i&&h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:T,onChange:R,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white",children:"Nozzle offset calibration"})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(ix,{checked:N,onChange:j,disabled:!r||I}),h.jsx("span",{className:"text-sm text-white whitespace-nowrap",children:"High-temperature Heatbed Calibration"})]})]}),h.jsxs("div",{className:"mt-6",children:[h.jsx("h4",{className:"text-sm font-semibold text-white mb-2",children:"Calibration program"}),h.jsx("p",{className:"text-xs text-bambu-gray",children:"The calibration program detects the status of your device automatically to minimize deviation. It keeps the device performing optimally."})]})]}),h.jsxs("div",{className:"flex flex-col",children:[h.jsx("h3",{className:"text-base font-semibold text-bambu-green mb-4 text-center border-b border-bambu-dark-tertiary pb-2",children:"Calibration Flow"}),h.jsx("div",{className:"flex-1 py-4 pl-4",children:H?h.jsxs("div",{className:"space-y-0",children:[W.map((Y,se)=>{const V=s&&!u&&Y.stages.includes(a),X=u||s&&K>se;return h.jsx(ZVe,{step:se+1,name:Y.name,isActive:V,isComplete:X,isLast:se===W.length-1},Y.name)}),a>=0&&K===-1&&e?.stg_cur_name&&h.jsxs("div",{className:"mt-4 text-xs text-bambu-gray",children:["Current: ",e.stg_cur_name]})]}):h.jsx("div",{className:"flex items-center justify-center h-full text-sm text-bambu-gray italic",children:"Select calibration steps"})}),u?h.jsxs("div",{className:"space-y-2",children:[h.jsxs("button",{disabled:!0,className:"w-full py-2.5 px-4 rounded-lg font-medium text-sm flex items-center justify-center gap-2 bg-bambu-green text-white cursor-default",children:[h.jsx(Hp,{className:"w-4 h-4"}),"Completed"]}),h.jsx("button",{onClick:B,className:"w-full py-2 px-4 rounded-lg font-medium text-sm text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary transition-colors",children:"New Calibration"})]}):h.jsx("button",{onClick:()=>O.mutate(),disabled:!$,className:`w-full py-2.5 px-4 rounded-lg font-medium text-sm flex items-center justify-center gap-2 transition-colors ${I?"bg-bambu-gray/50 text-white cursor-not-allowed":$?"bg-bambu-green hover:bg-bambu-green/90 text-white":"bg-bambu-dark-tertiary text-bambu-gray cursor-not-allowed"}`,children:I?h.jsxs(h.Fragment,{children:[h.jsx(Ft,{className:"w-4 h-4 animate-spin"}),"Calibrating"]}):O.isPending?h.jsxs(h.Fragment,{children:[h.jsx(Ft,{className:"w-4 h-4 animate-spin"}),"Starting..."]}):"Start Calibration"}),O.isError&&h.jsx("div",{className:"mt-2 text-xs text-red-400 text-center",children:O.error?.message||"Failed to start calibration"})]})]})]})]})})})}function JVe({signal:t,className:e="w-4 h-4"}){let n=0;t!=null&&(t>=-50?n=4:t>=-60?n=3:t>=-70?n=2:n=1);const r="#00ae42",i="#4a4a4a";return h.jsxs("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,children:[h.jsx("circle",{cx:"12",cy:"20",r:"1",fill:n>=1?r:i,stroke:n>=1?r:i}),h.jsx("path",{d:"M8.5 16.5a5 5 0 0 1 7 0",stroke:n>=2?r:i,fill:"none"}),h.jsx("path",{d:"M5 13a10 10 0 0 1 14 0",stroke:n>=3?r:i,fill:"none"}),h.jsx("path",{d:"M1.5 9.5a15 15 0 0 1 21 0",stroke:n>=4?r:i,fill:"none"})]})}function eGe(){const[t,e]=Fie(),[n,r]=E.useState(null),[i,a]=E.useState(!1),[s,o]=E.useState(!1),[l,c]=E.useState(!1),{data:u,isLoading:f}=Ut({queryKey:["printers"],queryFn:Fe.getPrinters}),{data:g}=Ut({queryKey:["printerStatuses"],queryFn:async()=>{if(!u)return{};const M={};return await Promise.all(u.map(async w=>{try{M[w.id]=await Fe.getPrinterStatus(w.id)}catch{}})),M},enabled:!!u&&u.length>0,refetchInterval:2e3});E.useEffect(()=>{const M=t.get("printer");if(M){const w=parseInt(M,10);if(!isNaN(w)){r(w);return}}u&&u.length>0&&!n&&r(u[0].id)},[u,t,n]);const m=M=>{r(M),e({printer:String(M)})},y=u?.find(M=>M.id===n),v=n?g?.[n]:null,x=v?new Set([1,3,13,25,39,40,47,48,50]).has(v.stg_cur):!1;return f?h.jsx("div",{className:"flex items-center justify-center h-screen",children:h.jsx(Ft,{className:"w-8 h-8 animate-spin text-bambu-green"})}):!u||u.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-screen text-bambu-gray",children:[h.jsx(Vp,{className:"w-16 h-16 mb-4"}),h.jsx("p",{className:"text-xl",children:"No printers configured"}),h.jsx("p",{className:"text-sm mt-2",children:"Add a printer in the Printers page first"})]}):h.jsxs("div",{className:"h-screen flex flex-col bg-bambu-dark",children:[h.jsx("div",{className:"bg-bambu-dark-secondary border-b border-bambu-dark-tertiary",children:h.jsx("div",{className:"flex overflow-x-auto",children:u.filter(M=>g?.[M.id]?.connected).map(M=>{const w=g?.[M.id],A=M.id===n;return h.jsxs("button",{onClick:()=>m(M.id),className:`flex items-center gap-2 px-6 py-3 text-sm font-medium transition-colors whitespace-nowrap border-b-2 ${A?"border-bambu-green text-bambu-green bg-bambu-dark":"border-transparent text-bambu-gray hover:text-white hover:bg-bambu-dark-tertiary"}`,children:[h.jsx("span",{className:"w-2 h-2 rounded-full bg-bambu-green"}),M.name,w?.state&&w.state!=="IDLE"&&h.jsx("span",{className:"text-xs px-2 py-0.5 rounded bg-bambu-dark-tertiary",children:w.state})]},M.id)})})}),y&&h.jsxs("div",{className:"flex-1 flex overflow-hidden",children:[h.jsxs("div",{className:"flex-1 flex flex-col bg-bambu-dark",children:[h.jsxs("div",{className:"flex items-center justify-end gap-2 px-3 py-2.5 bg-bambu-dark-secondary border-b border-bambu-dark-tertiary min-h-[44px]",children:[h.jsx("button",{className:`p-1.5 rounded hover:bg-bambu-dark-tertiary ${v?.sdcard?"text-bambu-green":"text-bambu-gray hover:text-white"}`,children:h.jsx("img",{src:"/icons/micro-sd.svg",alt:"SD Card",className:`w-4 h-4 ${v?.sdcard?"icon-green":"icon-theme"}`})}),h.jsx("button",{className:`p-1.5 rounded hover:bg-bambu-dark-tertiary ${v?.timelapse?"text-red-500":"text-bambu-gray hover:text-white"}`,children:h.jsx(Cle,{className:"w-4 h-4"})}),h.jsx("button",{className:`p-1.5 rounded hover:bg-bambu-dark-tertiary ${v?.ipcam?"text-bambu-green":"text-bambu-gray hover:text-white"}`,children:h.jsx(Rle,{className:"w-4 h-4"})}),h.jsx("div",{className:"p-1.5 rounded",title:v?.wifi_signal!=null?`WiFi: ${v.wifi_signal} dBm`:"WiFi signal unknown",children:h.jsx(JVe,{signal:v?.wifi_signal,className:"w-4 h-4"})})]}),h.jsx("div",{className:"flex-1 bg-black",children:h.jsx(mVe,{printerId:y.id,isConnected:v?.connected??!1})}),h.jsx("div",{className:"h-1 bg-bambu-green"}),h.jsx("div",{className:"bg-bambu-dark-secondary p-4 px-5",children:h.jsx(xVe,{printerId:y.id,status:v})})]}),h.jsxs("div",{className:"w-[680px] flex flex-col bg-bambu-dark-secondary border-l border-bambu-dark-tertiary overflow-y-auto",children:[h.jsxs("div",{className:"flex items-center justify-between px-3 py-2.5 border-b border-bambu-dark-tertiary min-h-[44px]",children:[h.jsx("span",{className:"text-sm text-bambu-gray",children:"Control"}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:()=>a(!0),className:"px-4 py-1.5 text-xs rounded bg-bambu-green text-white hover:bg-bambu-green-dark",children:"Printer Parts"}),h.jsx("button",{onClick:()=>o(!0),className:"px-4 py-1.5 text-xs rounded bg-bambu-green text-white hover:bg-bambu-green-dark",children:"Print Options"}),h.jsx("button",{onClick:()=>c(!0),className:"px-4 py-1.5 text-xs rounded bg-bambu-green text-white hover:bg-bambu-green-dark",children:"Calibration"})]})]}),!v?.connected&&h.jsxs("div",{className:"m-3 p-3 bg-red-500/20 border border-red-500/50 rounded-lg flex items-center gap-3",children:[h.jsx(Vp,{className:"w-4 h-4 text-red-500"}),h.jsx("span",{className:"text-sm text-red-400",children:"Printer is not connected. Controls are disabled."})]}),h.jsxs("div",{className:"flex-1 p-4 bg-bambu-dark",children:[h.jsx("div",{className:"mb-4 bg-bambu-dark-tertiary rounded-[10px] p-3",children:h.jsxs("div",{className:"flex gap-4 bg-bambu-dark-secondary rounded-[8px] p-4 overflow-hidden",style:{minHeight:"300px"},children:[h.jsx(wVe,{printer:y,status:v,disabled:x}),h.jsxs("div",{className:"flex-1 flex gap-6 items-center justify-center",children:[h.jsxs("div",{className:"flex flex-col items-center",children:[h.jsx(EVe,{printerId:y.id,status:v,disabled:x}),h.jsx(AVe,{printerId:y.id,status:v,disabled:x})]}),h.jsx(TVe,{printerId:y.id,status:v,nozzleCount:y.nozzle_count,disabled:x})]})]})}),h.jsx(qVe,{printerId:y.id,printerModel:y.model||"X1C",status:v,nozzleCount:y.nozzle_count})]})]})]}),i&&y&&h.jsx(XVe,{printer:y,status:v,onClose:()=>a(!1)}),s&&y&&h.jsx(KVe,{printer:y,status:v,onClose:()=>o(!1)}),l&&y&&h.jsx(QVe,{printer:y,status:v,onClose:()=>c(!1)})]})}function tGe(){const t=E.useRef(null),e=E.useRef(null),n=In(),[r,i]=E.useState(!1),a=E.useCallback(()=>{if(t.current?.readyState===WebSocket.OPEN)return;const c=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/api/v1/ws`,u=new WebSocket(c);let f=null;u.onopen=()=>{console.log("[WebSocket] Connected"),i(!0),f=window.setInterval(()=>{u.readyState===WebSocket.OPEN&&u.send(JSON.stringify({type:"ping"}))},3e4)},u.onmessage=g=>{try{const m=JSON.parse(g.data);s(m)}catch{}},u.onclose=g=>{console.log("[WebSocket] Closed",g.code,g.reason),f&&(clearInterval(f),f=null),i(!1),t.current=null,e.current=window.setTimeout(()=>{a()},3e3)},u.onerror=g=>{console.error("[WebSocket] Error",g),u.close()},t.current=u},[]),s=E.useCallback(l=>{switch(l.type){case"printer_status":l.printer_id!==void 0&&n.setQueryData(["printerStatus",l.printer_id],c=>({...c,...l.data}));break;case"print_complete":n.invalidateQueries({queryKey:["archives"]}),n.invalidateQueries({queryKey:["archiveStats"]});break;case"archive_created":n.invalidateQueries({queryKey:["archives"]}),n.invalidateQueries({queryKey:["archiveStats"]});break}},[n]);E.useEffect(()=>(a(),()=>{e.current&&clearTimeout(e.current),t.current&&t.current.close()}),[a]);const o=E.useCallback(l=>{t.current?.readyState===WebSocket.OPEN&&t.current.send(JSON.stringify(l))},[]);return{isConnected:r,sendMessage:o}}const nGe=new pae({defaultOptions:{queries:{staleTime:1e3*60,retry:1}}});function rGe({children:t}){return tGe(),h.jsx(h.Fragment,{children:t})}function iGe(){return h.jsx(Hle,{children:h.jsx(Qle,{children:h.jsx(mae,{client:nGe,children:h.jsx(rGe,{children:h.jsx(Lie,{children:h.jsx(die,{children:h.jsxs(jo,{path:"/",element:h.jsx(Kle,{}),children:[h.jsx(jo,{index:!0,element:h.jsx(pce,{})}),h.jsx(jo,{path:"archives",element:h.jsx(z2e,{})}),h.jsx(jo,{path:"queue",element:h.jsx($2e,{})}),h.jsx(jo,{path:"stats",element:h.jsx(W$e,{})}),h.jsx(jo,{path:"profiles",element:h.jsx(cVe,{})}),h.jsx(jo,{path:"maintenance",element:h.jsx(pVe,{})}),h.jsx(jo,{path:"control",element:h.jsx(eGe,{})}),h.jsx(jo,{path:"settings",element:h.jsx(tVe,{})})]})})})})})})})}mne.createRoot(document.getElementById("root")).render(h.jsx(E.StrictMode,{children:h.jsx(iGe,{})})); diff --git a/static/icons/ams-settings.svg b/static/icons/ams-settings.svg index 8c4ac4736..41836434c 100644 --- a/static/icons/ams-settings.svg +++ b/static/icons/ams-settings.svg @@ -1,2 +1,3 @@ - - + + + diff --git a/static/icons/dual-extruder-left.png b/static/icons/dual-extruder-left.png index b4fcee9345ad3f3916652308732e96458183eab3..b379921e9a02252c25af015412c9573106b996ec 100644 GIT binary patch literal 13160 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 Z`2WrkSL~`sx5xkh002ovPDHLkV1jtL-C+O# diff --git a/static/icons/dual-extruder-right.png b/static/icons/dual-extruder-right.png index 52f02eb4be5a4e2dfbd1ffd9cfd57a71b84609ec..749ba0bd23c541afdc4f0b52f3fbb1efa414369e 100644 GIT binary patch delta 13010 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 UekyF^egFUf07*qoM6N<$f?x$o5&!@I literal 19716 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 XIwv*OIt`Mk00000NkvXXu0mjfTCnx8 diff --git a/static/icons/dual-extruder-right_sav.png b/static/icons/dual-extruder-right_sav.png new file mode 100644 index 0000000000000000000000000000000000000000..52f02eb4be5a4e2dfbd1ffd9cfd57a71b84609ec GIT binary patch literal 19716 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 XIwv*OIt`Mk00000NkvXXu0mjfTCnx8 literal 0 HcmV?d00001 diff --git a/static/icons/extruder-left-right.png b/static/icons/extruder-left-right.png index 276368be70a747a17ab569ed980705c345d48c3a..ef54986a2cd542202581e8737e396f73f214d866 100644 GIT binary patch delta 5688 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�wM3+ezGupMta@g6L%uPvsq+U83urX9++T657B7uku=aaI;w|e8aW^2U) z_Se~Ab*t?yJJzIIudt_i8{!7u5f>3Pi9?3)M0_c+XXL7&0ih1Wwt7)IR9o_+tpB{> zRY5e<&a2cNbgK49tAEOt%-q1fbx^%Whc&--QL}qTxVT z+9GY3kLG1`ew;0;O2g?PSu8F}BHW={iyMzZ3J{c@`h+w@8YDS8RuzU%bb0EE8fJTJ zvlUTx3~c{<1`Ayen#K7NsR=}}U`!H`c1*A-xju8<%B#pP&wqR+3s?;7thZH-&vMPC zYD{9I7h_xXCH7xWzr=!ysXuwj`wCdK!Km!SO3GZ+I!E`092Zs4x)bin;G;U?OHwEz zw=`~sW#e*c;q(DM$D zvhqOZA$fe$Bhm;3**ir9u3bBJDXp?B%lP?>-$Qgw2jV=oDgWcfG3mz&g{iB)OM2tI zva@xkjDO4}9MsMs@G^>zNa<7xU$u^!d4~oEq2NVq zwkC87g7(mNL^R~P!5F5C6Ig8b&wP%>Hjj`jCo<%O-570_gK)F^JNCo9YZZ?HhV?sl z?sV|W?RZB8LwL=hAt(vuWQ+dki}FVD=Q0W7s(*{I&MGAuipqmsN9E~F2ekniyDDwX zjNci#as3z+bgxTLiJ?=)Vc^CcIpU9sb|8%ZVDpo*ySZ2Xd%9o7vUpuunAT_&ukFNm z+ib5(^_zA5Nf1+xJbAZvQbdA53ts_>+lO`UT`hkrU(b!mmCTR~=7yy$+%CIfTjVyl zvVW@Nw9-*W3-Q@$%OK;Uy2UohFbdU-pah{cw52k2k09vW-F%1i;g5Xg7qeIr;rl!+ zT1o`b=C*J!Oj56%48!VtDu#Iu1#U0_iq@Iqa}fvfNa^F@ z!F6t#Kt6#oCF3wL;yC5R_G37R z;HU91tb~pqe^vI;%PgZLb)hlv1X1RIe&n#yvWs5b75=4 z_pde=>q^MsGs>@pAK`k|dPnhHreidiOmaVi9Q4=c4h4d`Qt^qkUWGT;@h!_%YH`&9 z1a#kOG+Irw3ZGoK4tDX`go6d_XSrwB!grd$V7A~eC?}N(&Iht$vI-i=-@5SK#p)o4 z5;}UvN1Og{GHvGz&VL6^G0Yu9cOlDa@M##nMqwB&e@ieWSY@h_nUN8g2>8RV^%zZ# z?m{x7u*#QWxxErpnd!!tx*^*e&#Xy`x4Q^XK5~penE8}^WfyitdYGICw>jeR3|;%kzgu;j#WOR2bDx8 zHmf8B6=OeAGkj3<}4BpSzbqJ_TLbSV`|DN$$bE?l@MS1w=ncJAB)G>7GWHf10{X~Y+v)_SVp>4#=3a4}D^L0;r8uGSsB)aaW>qoZ#-OpbynN;dDC(%A_OdU8j&^{s&S|82IpwU(xvEdQo?@;%k-(7@ zy{`h_w_+9e6v-cA?#0x^BbYBfcOjg(#@h7`?V_K#osfPPShyw!4=02Ze(i?W=bwLG zcJ1B`n$`GtUWIRcruMCfPbn}>nCW?RL%WM0Dt|mg#Z~ujR4IyXBCrKT(cy@DORRM+ zgVP!J?7v6uzWZ(#R!lgW8F=f>x4h&CUYCfXtqetXO-lFy9PLWT&=5YiZGf*si%Q@Z zD;aWwV9GS8^Pdhq5cnQuv;jSN%fsh9H_AkHf{>sTOehn4f+q)m_`|>0_reP=C|xxf z7k@8|#+-j`=&L~5)W@ehMg6p39BFdmTSBG7w|81}9U7K;kagtDp46{1j=wVZHC0Zm z2QM_B6-&zb?b$$)0s~53Wk!760&)0!$tB2YeE#defddaIzR#M+FRxy`YVxCj1xF4t z^k5vP+NW{enL<%mDo3VaoE+@N7~+WqD}RRw08HcHcX^^vRpA!M`$4#ry8RPquI0ev@)!die0+HOotd zLqmh`J@f_^(%qXjmQXu8W`R1E)W#E#!I#uK=jb3570|y?KXP - + + + + + + diff --git a/static/icons/speed.svg b/static/icons/speed.svg index 5af93bce8..f8e7e6863 100644 --- a/static/icons/speed.svg +++ b/static/icons/speed.svg @@ -1 +1,6 @@ - \ No newline at end of file + + + + + + diff --git a/static/icons/ventilation.svg b/static/icons/ventilation.svg index 4b6a734e4..f7f31e089 100644 --- a/static/icons/ventilation.svg +++ b/static/icons/ventilation.svg @@ -1,4 +1,6 @@ - - - + + + + + diff --git a/static/index.html b/static/index.html index 780ed02be..b2066d486 100644 --- a/static/index.html +++ b/static/index.html @@ -7,7 +7,7 @@ - +