From 0c75e2503c106b00b32753b6a0b3d59c0350d200 Mon Sep 17 00:00:00 2001 From: Yiannis Christodoulou Date: Mon, 19 May 2025 03:23:33 +0300 Subject: [PATCH] fix: 10kms instead of 100k --- .../src/components/TimelineControls.tsx | 2 +- static/video_editor/video-editor.css | 2 +- static/video_editor/video-editor.js | 116 +++++++++--------- static/video_editor/video-editor.js.map | 2 +- 4 files changed, 61 insertions(+), 61 deletions(-) diff --git a/frontend-tools/video-editor/client/src/components/TimelineControls.tsx b/frontend-tools/video-editor/client/src/components/TimelineControls.tsx index dca2dae7..8fa1615e 100644 --- a/frontend-tools/video-editor/client/src/components/TimelineControls.tsx +++ b/frontend-tools/video-editor/client/src/components/TimelineControls.tsx @@ -2203,7 +2203,7 @@ const TimelineControls = ({ // Redirect to the URL logger.debug('Automatically redirecting to:', redirectUrl); window.location.href = redirectUrl; - }, 100000); // 10 seconds + }, 10000); // 10 seconds } // Cleanup on unmount or when success modal closes diff --git a/static/video_editor/video-editor.css b/static/video_editor/video-editor.css index 0b9209b8..cb6f9cd5 100644 --- a/static/video_editor/video-editor.css +++ b/static/video_editor/video-editor.css @@ -1 +1 @@ -#video-editor-trim-root .video-player-container{position:relative;background-color:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9}#video-editor-trim-root .video-player-container video{width:100%;height:100%;cursor:pointer}#video-editor-trim-root .play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;border-radius:50%;opacity:0;transition:opacity .3s}#video-editor-trim-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#video-editor-trim-root .play-pause-indicator.play-icon:before{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin-left:3px}#video-editor-trim-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#video-editor-trim-root .video-player-container:hover .play-pause-indicator{opacity:1}#video-editor-trim-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#video-editor-trim-root .video-player-container:hover .video-controls{opacity:1}#video-editor-trim-root .video-current-time,#video-editor-trim-root .video-duration{color:#fff;font-size:.875rem}#video-editor-trim-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#video-editor-trim-root .video-progress{width:100%;height:4px;background-color:#ffffff4d;border-radius:2px;position:relative;cursor:pointer;margin-bottom:.75rem}#video-editor-trim-root .video-progress:hover{height:6px}#video-editor-trim-root .video-progress:hover .video-scrubber{transform:translate(-50%,-50%) scale(1.2)}#video-editor-trim-root .video-progress-fill{height:100%;background-color:#ef4444;border-radius:2px;position:absolute;top:0;left:0}#video-editor-trim-root .video-scrubber{width:12px;height:12px;background-color:#ef4444;border-radius:50%;position:absolute;top:50%;left:0;transform:translate(-50%,-50%);transition:transform .2s;border:1px solid rgba(255,255,255,.7)}#video-editor-trim-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#video-editor-trim-root .mute-button,#video-editor-trim-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#video-editor-trim-root .mute-button:hover,#video-editor-trim-root .fullscreen-button:hover{transform:scale(1.1)}#video-editor-trim-root .mute-button svg,#video-editor-trim-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#video-editor-trim-root{@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}#video-editor-trim-root .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#video-editor-trim-root .modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modal-fade-in .3s ease-out}#video-editor-trim-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#video-editor-trim-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#video-editor-trim-root .modal-close-button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}#video-editor-trim-root .modal-close-button:hover{color:#000}#video-editor-trim-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5}#video-editor-trim-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#video-editor-trim-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#video-editor-trim-root .modal-button-primary{background-color:#06c;color:#fff}#video-editor-trim-root .modal-button-primary:hover{background-color:#05a}#video-editor-trim-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#video-editor-trim-root .modal-button-secondary:hover{background-color:#e0e0e0}#video-editor-trim-root .modal-button-danger{background-color:#dc3545;color:#fff}#video-editor-trim-root .modal-button-danger:hover{background-color:#bd2130}#video-editor-trim-root .modal-message{margin-bottom:16px;font-size:1rem}#video-editor-trim-root .text-center{text-align:center}#video-editor-trim-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#video-editor-trim-root .spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:30px;height:30px;animation:spin 1s linear infinite}#video-editor-trim-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#video-editor-trim-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#video-editor-trim-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#video-editor-trim-root .modal-choice-button{padding:12px 16px;border:1px solid #ddd;border-radius:4px;background-color:#f8f8f8;text-align:center;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:500;text-decoration:none;color:#333}#video-editor-trim-root .modal-choice-button:hover{background-color:#eee;border-color:#ccc}#video-editor-trim-root .modal-choice-button svg{margin-right:8px}#video-editor-trim-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#video-editor-trim-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#video-editor-trim-root .modal-container{width:95%}#video-editor-trim-root .modal-actions{flex-direction:column}#video-editor-trim-root .modal-button{width:100%}}#video-editor-trim-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#video-editor-trim-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#video-editor-trim-root .timeline-title-text{font-weight:700}#video-editor-trim-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#video-editor-trim-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .timeline-scroll-container{position:relative;overflow:visible!important}#video-editor-trim-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#video-editor-trim-root .timeline-marker{position:absolute;top:0;bottom:0;width:1px;background-color:red;z-index:30;pointer-events:none}#video-editor-trim-root .timeline-marker-head{position:absolute;top:-11px;left:50%;transform:translate(-50%);width:20px;height:20px;background-color:red;border-radius:50%;pointer-events:auto;cursor:pointer;z-index:31;display:flex;align-items:center;justify-content:center}#video-editor-trim-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1}#video-editor-trim-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#video-editor-trim-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#video-editor-trim-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#video-editor-trim-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#video-editor-trim-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#video-editor-trim-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#video-editor-trim-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#video-editor-trim-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#video-editor-trim-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#video-editor-trim-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#video-editor-trim-root .clip-segment-info{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background-color:#0006;color:#fff;opacity:1;transition:background-color .2s;line-height:1.3}#video-editor-trim-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#video-editor-trim-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#video-editor-trim-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#video-editor-trim-root .clip-segment-name{font-weight:700;font-size:12px}#video-editor-trim-root .clip-segment-time,#video-editor-trim-root .clip-segment-duration{font-size:10px}#video-editor-trim-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#video-editor-trim-root .clip-segment-handle:hover{background-color:#0006}#video-editor-trim-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#video-editor-trim-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#video-editor-trim-root .clip-segment-handle{width:14px;background-color:#0006}#video-editor-trim-root .clip-segment-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background-color:#fffc;border-radius:1px}#video-editor-trim-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#video-editor-trim-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#video-editor-trim-root .clip-segment-handle:active{background-color:#0009}}#video-editor-trim-root .segment-tooltip,#video-editor-trim-root .empty-space-tooltip{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000004d;padding:.5rem;z-index:1000;min-width:150px;text-align:center;pointer-events:auto;top:-90px!important}#video-editor-trim-root .segment-tooltip:after,#video-editor-trim-root .empty-space-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white}#video-editor-trim-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#video-editor-trim-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#video-editor-trim-root .tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:.25rem;padding:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;min-width:20px!important}#video-editor-trim-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#video-editor-trim-root .tooltip-action-btn.delete{color:#ef4444}#video-editor-trim-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#video-editor-trim-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#video-editor-trim-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#video-editor-trim-root .tooltip-action-btn svg{width:1rem;height:1rem}#video-editor-trim-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#video-editor-trim-root .time-navigation{display:none;align-items:center;gap:.5rem}#video-editor-trim-root .time-nav-label{font-size:.875rem;font-weight:500}#video-editor-trim-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#video-editor-trim-root .time-button-group{display:flex}#video-editor-trim-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#video-editor-trim-root .time-button:hover{background-color:#d1d5db}#video-editor-trim-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#video-editor-trim-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#video-editor-trim-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#video-editor-trim-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#video-editor-trim-root .zoom-button{background-color:#374151;color:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;display:flex;align-items:center;cursor:pointer}#video-editor-trim-root .zoom-button:hover{background-color:#1f2937}#video-editor-trim-root .zoom-button svg{margin-left:.25rem}#video-editor-trim-root .zoom-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;width:9rem;background-color:#374151;color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a;z-index:50;max-height:300px;overflow-y:auto}#video-editor-trim-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#video-editor-trim-root .zoom-option:hover{background-color:#4b5563}#video-editor-trim-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#video-editor-trim-root .zoom-option svg{margin-right:.25rem}#video-editor-trim-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{color:#fff;background:#06c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;cursor:pointer;border:none;white-space:nowrap;transition:background-color .2s;min-width:-moz-fit-content;min-width:fit-content}#video-editor-trim-root .save-button:hover,#video-editor-trim-root .save-copy-button:hover,#video-editor-trim-root .save-segments-button:hover{background-color:#093b6de6}@media (max-width: 576px){#video-editor-trim-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{font-size:.675rem;padding:.25rem}#video-editor-trim-root .controls-right,#video-editor-trim-root .controls-right button{margin:0}}.two-row-tooltip{display:flex;flex-direction:column;background-color:#fff;padding:6px;border-radius:4px;box-shadow:0 2px 8px #00000026;position:relative;z-index:3000}.tooltip-time-btn[data-tooltip="Decrease by 100ms"],.tooltip-time-btn[data-tooltip="Increase by 100ms"]{display:none!important}.tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:3px}.tooltip-row:first-child{margin-bottom:6px}.tooltip-time-btn{background-color:#f0f0f0!important;border:none!important;border-radius:4px!important;padding:4px 8px!important;font-size:.75rem!important;font-weight:500!important;color:#333!important;cursor:pointer!important;transition:background-color .2s!important;min-width:20px!important}.tooltip-time-btn:hover{background-color:#e0e0e0!important}.tooltip-time-display{font-family:monospace!important;font-size:.875rem!important;font-weight:600!important;color:#333!important;padding:4px 6px!important;background-color:#f7f7f7!important;border-radius:4px!important;min-width:100px!important;text-align:center!important;overflow:hidden!important}.tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:3px;position:relative;z-index:2500}.tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:4px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;width:26px;height:26px;min-width:20px!important;position:relative}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;height:30px;top:35px;left:50%;transform:translate(-50%);margin-left:0;background-color:#000000d9;color:#fff;text-align:left;padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px #0003;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}.tooltip-action-btn[data-tooltip]:after{content:"";position:absolute;top:35px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent;margin-left:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}@media (hover: hover) and (pointer: fine){.tooltip-action-btn[data-tooltip]:hover:before,.tooltip-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;content:none!important}}.tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}.tooltip-action-btn.delete{color:#ef4444}.tooltip-action-btn.delete:hover{background-color:#fee2e2}.tooltip-action-btn.play{color:#10b981}.tooltip-action-btn.play:hover{background-color:#d1fae5}.tooltip-action-btn.pause{color:#3b82f6}.tooltip-action-btn.pause:hover{background-color:#dbeafe}.tooltip-action-btn.play-from-start{color:#4f46e5}.tooltip-action-btn.play-from-start:hover{background-color:#e0e7ff}.tooltip-action-btn svg{width:16px;height:16px}.tooltip-action-btn.new-segment{width:auto;height:auto;padding:6px 10px;display:flex;flex-direction:row;color:#10b981}.tooltip-action-btn.new-segment:hover{background-color:#d1fae5}.tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:6px;font-size:.75rem;white-space:nowrap}@media (max-width: 768px){.two-row-tooltip{padding:4px}.tooltip-row:first-child{margin-bottom:4px}.tooltip-time-btn{min-width:20px!important;font-size:.7rem!important;padding:3px 6px!important}.tooltip-time-display{font-size:.8rem!important;padding:3px 4px!important;min-width:90px!important}.tooltip-action-btn{width:24px;height:24px;padding:4px}.tooltip-action-btn.new-segment{padding:4px 8px}.tooltip-action-btn svg{width:14px;height:14px}.tooltip-action-btn[data-tooltip]:before{min-width:100px;font-size:11px;padding:4px 8px;height:24px;top:33px}.tooltip-action-btn[data-tooltip]:after{top:33px}}#video-editor-trim-root{@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#video-editor-trim-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#video-editor-trim-root .flex-container.single-row{flex-wrap:nowrap}#video-editor-trim-root .full-text{display:inline}#video-editor-trim-root .short-text{display:none}#video-editor-trim-root .reset-text{display:inline}#video-editor-trim-root .button-group{display:flex;align-items:center}#video-editor-trim-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#video-editor-trim-root .button-group button:hover:not(:disabled){color:inherit}#video-editor-trim-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#video-editor-trim-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#video-editor-trim-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#video-editor-trim-root .play-button,#video-editor-trim-root .preview-button{font-weight:600;display:flex;align-items:center;position:relative;overflow:hidden;min-width:80px;justify-content:center;font-size:.875rem!important}#video-editor-trim-root .play-button:hover:not(:disabled),#video-editor-trim-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#video-editor-trim-root .play-button svg,#video-editor-trim-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#video-editor-trim-root .preview-mode-message{display:flex;align-items:center;background-color:#3b82f61a;color:#3b82f6;padding:6px 12px;border-radius:4px;font-weight:600;font-size:.875rem;animation:pulse 2s infinite}#video-editor-trim-root .preview-mode-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}#video-editor-trim-root .button-text{margin-left:.25rem}@media (max-width: 992px){#video-editor-trim-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between}#video-editor-trim-root .button-group{gap:.5rem}#video-editor-trim-root .preview-button,#video-editor-trim-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#video-editor-trim-root .preview-button{min-width:auto}#video-editor-trim-root .full-text{display:none}#video-editor-trim-root .short-text{display:inline}#video-editor-trim-root .reset-text{display:none}#video-editor-trim-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start}#video-editor-trim-root .button-group.secondary{flex:initial;justify-content:flex-end}}@media (max-width: 576px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap}#video-editor-trim-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{padding:.25rem}#video-editor-trim-root .preview-mode-message{font-size:.8rem;padding:4px 8px}#video-editor-trim-root .divider{margin:0 .25rem}}@media (max-width: 480px){#video-editor-trim-root .button-group.play-buttons-group,#video-editor-trim-root .button-group.secondary{gap:.25rem}#video-editor-trim-root .divider{display:none}}@media (hover: hover) and (pointer: fine){#video-editor-trim-root [data-tooltip]{position:relative}#video-editor-trim-root [data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;background-color:#000c;color:#fff;text-align:center;padding:5px 10px;border-radius:3px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}#video-editor-trim-root [data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}#video-editor-trim-root [data-tooltip]:hover:before,#video-editor-trim-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#video-editor-trim-root [data-tooltip]:before,#video-editor-trim-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#video-editor-trim-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin-bottom:.75rem}#video-editor-trim-root .segment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:.5rem;transition:box-shadow .2s ease}#video-editor-trim-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#video-editor-trim-root .segment-content{display:flex;align-items:center}#video-editor-trim-root .segment-thumbnail{width:4rem;height:2.25rem;background-size:cover;background-position:center;border-radius:.25rem;margin-right:.75rem;box-shadow:0 0 0 1px #ffffff4d}#video-editor-trim-root .segment-info{display:flex;flex-direction:column}#video-editor-trim-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#video-editor-trim-root .segment-time{font-size:.75rem;color:#000}#video-editor-trim-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#video-editor-trim-root .segment-actions{display:flex;align-items:center;gap:.5rem}#video-editor-trim-root .delete-button{padding:.375rem;color:#4b5563;background-color:#e5e7eb;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s,color .2s;min-width:auto}#video-editor-trim-root .delete-button:hover{color:#000;background-color:#d1d5db}#video-editor-trim-root .delete-button svg{height:1rem;width:1rem}#video-editor-trim-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#video-editor-trim-root .segment-color-1{background-color:#3b82f626}#video-editor-trim-root .segment-color-2{background-color:#10b98126}#video-editor-trim-root .segment-color-3{background-color:#f59e0b26}#video-editor-trim-root .segment-color-4{background-color:#ef444426}#video-editor-trim-root .segment-color-5{background-color:#8b5cf626}#video-editor-trim-root .segment-color-6{background-color:#ec489926}#video-editor-trim-root .segment-color-7{background-color:#06b6d426}#video-editor-trim-root .segment-color-8{background-color:#facc1526}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.inline{display:inline}.hidden{display:none}.min-h-screen{min-height:100vh}.max-w-6xl{max-width:72rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.px-4{padding-left:1rem;padding-right:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.running{animation-play-state:running}.paused{animation-play-state:paused}:root{--foreground: 20 14.3% 4.1%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--primary: 207 90% 54%;--primary-foreground: 211 100% 99%;--secondary: 30 84% 54%;--secondary-foreground: 60 9.1% 97.8%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--ring: 20 14.3% 4.1%;--radius: .5rem}.video-player{position:relative;width:100%;background-color:#000;overflow:hidden;border-radius:.5rem}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;display:flex;flex-direction:column}.video-current-time{color:#fff;font-weight:500}.video-progress{position:relative;height:4px;background-color:#ffffff4d;border-radius:2px;margin-bottom:1rem}.video-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:hsl(var(--primary));border-radius:2px}.video-scrubber{position:absolute;width:12px;height:12px;margin-left:-6px;background-color:#fff;border-radius:50%;top:-4px}.video-player-container{position:relative;overflow:hidden}.play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background-color:#00000080;z-index:20;opacity:0;transition:opacity .2s ease;pointer-events:none;background-position:center;background-repeat:no-repeat}.play-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pause-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E")}.video-player-container:hover .play-pause-indicator{opacity:1}.timeline-scroll-container{height:6rem;border-radius:.375rem;overflow-x:auto;overflow-y:hidden;margin-bottom:.75rem;background-color:#eee;position:relative}.timeline-container{position:relative;background-color:#eee;height:6rem;width:100%;cursor:pointer;transition:width .3s ease}.timeline-marker{position:absolute;top:-10px;height:calc(100% + 10px);width:2px;background-color:red;z-index:100;pointer-events:none;box-shadow:0 0 4px #ff000080}.trim-line-marker{position:absolute;top:0;bottom:0;width:2px;background-color:#007bffe6;z-index:10}.trim-handle{width:8px;background-color:#6c757de6;position:absolute;top:0;bottom:0;cursor:ew-resize;z-index:15}.trim-handle.left{left:-4px}.trim-handle.right{right:-4px}.timeline-thumbnail{height:100%;border-right:1px solid rgba(0,0,0,.1);position:relative;display:inline-block;background-size:cover;background-position:center}.split-point{position:absolute;width:2px;background-color:#6c757de6;top:0;bottom:0;z-index:5}.clip-segment{position:absolute;height:95%;top:0;border-radius:4px;background-size:cover;background-position:center;background-blend-mode:soft-light;box-shadow:0 2px 8px #0003;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s,transform .1s;z-index:15}.clip-segment:nth-child(odd),.segment-color-1,.segment-color-3,.segment-color-5,.segment-color-7{background-color:transparent;border:2px solid rgba(0,123,255,.9)}.clip-segment:nth-child(2n),.segment-color-2,.segment-color-4,.segment-color-6,.segment-color-8{background-color:transparent;border:2px solid rgba(108,117,125,.9)}.clip-segment:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px);filter:brightness(1.1)}.clip-segment:active{cursor:grabbing;box-shadow:0 2px 6px #0000004d;transform:translateY(0)}.clip-segment.selected{border-width:3px;box-shadow:0 4px 12px #0006;z-index:25;filter:brightness(1.2)}.clip-segment-info{background-color:#e2e6eae6;color:#000;padding:6px 8px;font-size:.7rem;position:absolute;top:0;left:0;width:100%;border-radius:4px 4px 0 0;z-index:2;display:flex;flex-direction:column;gap:2px}.clip-segment-name{font-weight:700;color:#000}.clip-segment-time{font-size:.65rem;color:#000}.clip-segment-duration{font-size:.65rem;color:#000;background:#b3d9ff66;padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.clip-segment-handle{position:absolute;width:8px;top:0;bottom:0;background-color:#6c757de6;cursor:ew-resize;z-index:20;display:flex;align-items:center;justify-content:center}.clip-segment-handle:after{content:"↔";color:#fff;font-size:12px;text-shadow:0 0 2px rgba(0,0,0,.8)}.clip-segment-handle.left{left:0}.clip-segment-handle.right{right:0}.clip-segment-handle:hover{background-color:#007bffe6;width:10px}input[type=range]{-webkit-appearance:none;height:6px;background:#e0e0e0;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bffe6;cursor:pointer}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background-color:#000c;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}@media (hover: hover) and (pointer: fine){[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){[data-tooltip]:before,[data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}button[disabled][data-tooltip]:before,button[disabled][data-tooltip]:after{opacity:.5}.tooltip-action-btn{position:relative}.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{opacity:0;visibility:hidden;position:absolute;pointer-events:none;transition:all .3s ease}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);background-color:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:3px;white-space:nowrap;bottom:-35px;left:50%;transform:translate(-50%);z-index:9999}.tooltip-action-btn[data-tooltip]:after{content:"";border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;bottom:-15px;left:50%;transform:translate(-50%);z-index:9999}@media (hover: hover) and (pointer: fine){.tooltip-action-btn:hover[data-tooltip]:before,.tooltip-action-btn:hover[data-tooltip]:after{opacity:1;visibility:visible}}.segment-tooltip{background-color:#b3d9fff2;color:#000;border-radius:4px;padding:6px;min-width:140px;z-index:1000;box-shadow:0 3px 10px #0003}.segment-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(179,217,255,.95)}.tooltip-time{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:6px;color:#000}.tooltip-actions{display:flex;justify-content:space-between;gap:5px;position:relative}.tooltip-action-btn{background-color:#007bff33;border:none;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;transition:background-color .2s;min-width:20px!important}.tooltip-action-btn:hover{background-color:#007bff66}.tooltip-action-btn svg{width:100%;height:100%;stroke:currentColor}.tooltip-action-btn.set-in svg,.tooltip-action-btn.set-out svg{width:100%;height:100%;margin:0 auto;fill:currentColor;stroke:none}.empty-space-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;padding:8px;z-index:50;min-width:120px;text-align:center;position:relative}.empty-space-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent}.tooltip-action-btn.new-segment{width:auto;padding:6px 10px;display:flex;align-items:center;gap:5px}.tooltip-btn-text{font-size:.8rem;white-space:nowrap;color:#000}.icon-new-segment{width:20px;height:20px}.zoom-dropdown-container{position:relative}.zoom-button{display:flex;align-items:center;gap:6px;background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-button:hover{background-color:#6c757d}.zoom-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;max-height:300px;overflow-y:auto}.zoom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px}.zoom-option:hover{background-color:#007bff1a}.zoom-option.selected{background-color:#007bff33;font-weight:500}.save-button,.save-copy-button{background-color:#007bffcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover,.save-copy-button:hover{background-color:#007bff}.save-copy-button{background-color:#6c757dcc}.save-copy-button:hover{background-color:#6c757d}.time-nav-label{font-weight:500;font-size:.9rem}.time-input{padding:6px 10px;border-radius:4px;border:1px solid #ccc;width:150px;font-family:monospace}.time-button-group{display:flex;gap:5px}.time-button{background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:6px 8px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.time-button:hover{background-color:#6c757d}.timeline-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;background-color:#f5f5f5;border-radius:6px;margin-top:15px}.time-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start;gap:15px}.controls-right{margin-top:10px;width:100%;justify-content:flex-start;text-align:center;align-items:center;justify-content:center}}.timeline-header{display:flex;align-items:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.timeline-title{font-weight:700;margin-right:20px}.timeline-title-text{font-size:1.1rem}.current-time,.duration-time{white-space:nowrap}.time-code{font-family:monospace;font-weight:500}@media (max-width: 480px){.timeline-header{flex-direction:column;align-items:flex-start;gap:8px}.time-navigation{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.time-button-group{width:100%;display:flex;justify-content:space-between;margin-top:10px}.controls-right{flex-wrap:wrap;gap:8px}.save-button,.save-copy-button{margin-top:8px;width:100%}.zoom-dropdown-container{width:100%}.zoom-button{width:100%;justify-content:center}} +#video-editor-trim-root .video-player-container{position:relative;background-color:#000;border-radius:.5rem;overflow:hidden;margin-bottom:1rem;aspect-ratio:16/9}#video-editor-trim-root .video-player-container video{width:100%;height:100%;cursor:pointer}#video-editor-trim-root .play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background-color:#0009;border-radius:50%;opacity:0;transition:opacity .3s}#video-editor-trim-root .play-pause-indicator:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#video-editor-trim-root .play-pause-indicator.play-icon:before{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin-left:3px}#video-editor-trim-root .play-pause-indicator.pause-icon:before{width:20px;height:25px;border-left:6px solid white;border-right:6px solid white}#video-editor-trim-root .video-player-container:hover .play-pause-indicator{opacity:1}#video-editor-trim-root .video-controls{position:absolute;bottom:0;left:0;right:0;padding:.75rem;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .3s}#video-editor-trim-root .video-player-container:hover .video-controls{opacity:1}#video-editor-trim-root .video-current-time,#video-editor-trim-root .video-duration{color:#fff;font-size:.875rem}#video-editor-trim-root .video-time-display{display:flex;justify-content:space-between;margin-bottom:.5rem;color:#fff;font-size:.875rem}#video-editor-trim-root .video-progress{position:relative;height:6px;background-color:#ffffff4d;border-radius:3px;cursor:pointer;margin:0 10px;touch-action:none;flex-grow:1}#video-editor-trim-root .video-progress.dragging{height:8px}#video-editor-trim-root .video-progress-fill{position:absolute;top:0;left:0;height:100%;background-color:red;border-radius:3px;pointer-events:none}#video-editor-trim-root .video-scrubber{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:red;border-radius:50%;cursor:grab;transition:transform .1s ease,width .1s ease,height .1s ease}#video-editor-trim-root .video-progress.dragging .video-scrubber{transform:translate(-50%,-50%) scale(1.2);width:18px;height:18px;cursor:grabbing;box-shadow:0 0 8px #f009}@media (pointer: coarse){#video-editor-trim-root .video-scrubber{width:20px;height:20px}#video-editor-trim-root .video-progress.dragging .video-scrubber{width:24px;height:24px}#video-editor-trim-root .video-scrubber:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#video-editor-trim-root .video-controls-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}#video-editor-trim-root .mute-button,#video-editor-trim-root .fullscreen-button{min-width:auto;color:#fff;background:none;border:none;cursor:pointer;padding:.25rem;transition:transform .2s}#video-editor-trim-root .mute-button:hover,#video-editor-trim-root .fullscreen-button:hover{transform:scale(1.1)}#video-editor-trim-root .mute-button svg,#video-editor-trim-root .fullscreen-button svg{width:1.25rem;height:1.25rem}#video-editor-trim-root .video-time-tooltip{position:absolute;top:-30px;background-color:#000000b3;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-family:monospace;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 2px 4px #0000004d}#video-editor-trim-root .video-time-tooltip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7)}#video-editor-trim-root{@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes success-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes error-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}}#video-editor-trim-root .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}#video-editor-trim-root .modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modal-fade-in .3s ease-out}#video-editor-trim-root .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}#video-editor-trim-root .modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#333}#video-editor-trim-root .modal-close-button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}#video-editor-trim-root .modal-close-button:hover{color:#000}#video-editor-trim-root .modal-content{padding:20px;color:#333;font-size:1rem;line-height:1.5;max-height:400px;overflow-y:auto}#video-editor-trim-root .modal-actions{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid #eee;gap:12px}#video-editor-trim-root .modal-button{padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;border:none}#video-editor-trim-root .modal-button-primary{background-color:#06c;color:#fff}#video-editor-trim-root .modal-button-primary:hover{background-color:#05a}#video-editor-trim-root .modal-button-secondary{background-color:#f0f0f0;color:#333}#video-editor-trim-root .modal-button-secondary:hover{background-color:#e0e0e0}#video-editor-trim-root .modal-button-danger{background-color:#dc3545;color:#fff}#video-editor-trim-root .modal-button-danger:hover{background-color:#bd2130}#video-editor-trim-root .modal-message{margin-bottom:16px;font-size:1rem}#video-editor-trim-root .modal-spinner{display:flex;align-items:center;justify-content:center;margin:20px 0}#video-editor-trim-root .spinner{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid #0066cc;width:30px;height:30px;animation:spin 1s linear infinite}#video-editor-trim-root .modal-success-icon{display:flex;justify-content:center;margin-bottom:16px;color:#28a745;font-size:2rem}#video-editor-trim-root .modal-success-icon svg{width:60px;height:60px;color:#4caf50;animation:success-pop .5s ease-out}#video-editor-trim-root .modal-error-icon{display:flex;justify-content:center;margin-bottom:16px;color:#dc3545;font-size:2rem}#video-editor-trim-root .modal-error-icon svg{width:60px;height:60px;color:#f44336;animation:error-pop .5s ease-out}#video-editor-trim-root .modal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}#video-editor-trim-root .modal-choice-button{padding:12px 16px;border:none;border-radius:4px;background-color:#06c;text-align:center;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-weight:500;text-decoration:none;color:#fff}#video-editor-trim-root .modal-choice-button:hover{background-color:#05a;transform:translateY(-1px);box-shadow:0 2px 5px #0000001a}#video-editor-trim-root .modal-choice-button svg{margin-right:8px}#video-editor-trim-root .success-link{background-color:#4caf50}#video-editor-trim-root .success-link:hover{background-color:#3d8b40}#video-editor-trim-root .centered-choice{margin:0 auto;width:auto;min-width:220px;background-color:#06c;color:#fff}#video-editor-trim-root .centered-choice:hover{background-color:#05a}@media (max-width: 480px){#video-editor-trim-root .modal-container{width:95%}#video-editor-trim-root .modal-actions{flex-direction:column}#video-editor-trim-root .modal-button{width:100%}}#video-editor-trim-root .error-message{color:#f44336;font-weight:500;background-color:#f443361a;padding:10px;border-radius:4px;border-left:4px solid #F44336;margin-top:10px}#video-editor-trim-root .redirect-message{color:#555;font-size:.95rem;padding:0;margin:0}#video-editor-trim-root .countdown{font-weight:700;color:#06c;font-size:1.1rem}#video-editor-trim-root{@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}}#video-editor-trim-root .timeline-container-card{background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .timeline-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}#video-editor-trim-root .timeline-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333)}#video-editor-trim-root .timeline-title-text{font-weight:700}#video-editor-trim-root .current-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .time-code{font-family:monospace;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem}#video-editor-trim-root .duration-time{font-size:.875rem;color:var(--foreground, #333)}#video-editor-trim-root .timeline-scroll-container{position:relative;overflow:visible!important}#video-editor-trim-root .timeline-container{position:relative;min-width:100%;background-color:#fafbfc;height:70px;border-radius:.25rem;overflow:visible!important}#video-editor-trim-root .timeline-marker{position:absolute;top:0;bottom:0;width:1px;background-color:red;z-index:30;pointer-events:none}#video-editor-trim-root .timeline-marker-head{position:absolute;top:-11px;left:50%;transform:translate(-50%);width:20px;height:20px;background-color:red;border-radius:50%;pointer-events:auto;cursor:grab;z-index:31;display:flex;align-items:center;justify-content:center;transition:transform .1s ease,background-color .1s ease;touch-action:none}#video-editor-trim-root .timeline-marker-head-icon{color:#fff;font-size:14px;font-weight:700;line-height:1}#video-editor-trim-root .timeline-marker-head.dragging{transform:translate(-50%) scale(1.2);cursor:grabbing;background-color:#f33;box-shadow:0 0 8px #f009}#video-editor-trim-root .trim-line-marker{position:absolute;top:0;bottom:0;width:1px;background-color:#00000080;z-index:20}#video-editor-trim-root .trim-handle{position:absolute;width:10px;height:20px;background-color:#000;cursor:ew-resize}#video-editor-trim-root .trim-handle.left{right:0;top:10px;border-radius:3px 0 0 3px}#video-editor-trim-root .trim-handle.right{left:0;top:10px;border-radius:0 3px 3px 0}#video-editor-trim-root .timeline-thumbnail{display:inline-block;height:70px;border-right:1px solid rgba(0,0,0,.03)}#video-editor-trim-root .split-point{position:absolute;top:0;bottom:0;width:1px;background-color:#ff000080;z-index:15}#video-editor-trim-root .clip-segment{position:absolute;height:70px;border-radius:4px;z-index:10;border:2px solid rgba(0,0,0,.15);cursor:pointer}#video-editor-trim-root .clip-segment:hover{box-shadow:0 0 0 2px #0000004d;border-color:#0006;background-color:#f0f0f0cc!important}#video-editor-trim-root .clip-segment.selected{box-shadow:0 0 0 2px #3b82f6b3;border-color:#3b82f6e6}#video-editor-trim-root .clip-segment.selected:hover{background-color:#f0f8ffd9!important}#video-editor-trim-root .clip-segment-info{position:absolute;bottom:0;left:0;right:0;padding:.4rem;background-color:#0006;color:#fff;opacity:1;transition:background-color .2s;line-height:1.3}#video-editor-trim-root .clip-segment:hover .clip-segment-info{background-color:#00000080}#video-editor-trim-root .clip-segment.selected .clip-segment-info{background-color:#3b82f680}#video-editor-trim-root .clip-segment.selected:hover .clip-segment-info{background-color:#3b82f666}#video-editor-trim-root .clip-segment-name{font-weight:700;font-size:12px}#video-editor-trim-root .clip-segment-time,#video-editor-trim-root .clip-segment-duration{font-size:10px}#video-editor-trim-root .clip-segment-handle{position:absolute;top:0;bottom:0;width:6px;background-color:#0003;cursor:ew-resize}#video-editor-trim-root .clip-segment-handle:hover{background-color:#0006}#video-editor-trim-root .clip-segment-handle.left{left:0;border-radius:2px 0 0 2px}#video-editor-trim-root .clip-segment-handle.right{right:0;border-radius:0 2px 2px 0}@media (pointer: coarse){#video-editor-trim-root .clip-segment-handle{width:14px;background-color:#0006}#video-editor-trim-root .clip-segment-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:20px;background-color:#fffc;border-radius:1px}#video-editor-trim-root .clip-segment-handle.left:after{box-shadow:-2px 0 #00000080}#video-editor-trim-root .clip-segment-handle.right:after{box-shadow:2px 0 #00000080}#video-editor-trim-root .clip-segment-handle:active{background-color:#0009}#video-editor-trim-root .timeline-marker-head{width:24px;height:24px;top:-13px}#video-editor-trim-root .timeline-marker-head.dragging{width:28px;height:28px;top:-15px}#video-editor-trim-root .timeline-marker-head:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px}}#video-editor-trim-root .segment-tooltip,#video-editor-trim-root .empty-space-tooltip{position:absolute;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000004d;padding:.5rem;z-index:1000;min-width:150px;text-align:center;pointer-events:auto;top:-90px!important}#video-editor-trim-root .segment-tooltip:after,#video-editor-trim-root .empty-space-tooltip:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid white}#video-editor-trim-root .tooltip-time{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:#333}#video-editor-trim-root .tooltip-actions{display:flex;justify-content:center;gap:.5rem}#video-editor-trim-root .tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:.25rem;padding:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;min-width:20px!important}#video-editor-trim-root .tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}#video-editor-trim-root .tooltip-action-btn.delete{color:#ef4444}#video-editor-trim-root .tooltip-action-btn.delete:hover{background-color:#fee2e2}#video-editor-trim-root .tooltip-action-btn.new-segment{padding:.375rem .5rem}#video-editor-trim-root .tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:.25rem;font-size:.75rem}#video-editor-trim-root .tooltip-action-btn svg{width:1rem;height:1rem}#video-editor-trim-root .timeline-controls{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}#video-editor-trim-root .time-navigation{display:none;align-items:center;gap:.5rem}#video-editor-trim-root .time-nav-label{font-size:.875rem;font-weight:500}#video-editor-trim-root .time-input{border:1px solid #d1d5db;border-radius:.25rem;padding:.25rem .5rem;width:8rem;font-size:.875rem}#video-editor-trim-root .time-button-group{display:flex}#video-editor-trim-root .time-button{background-color:#e5e7eb;color:#000;padding:.25rem .5rem;font-size:.875rem;border:none;cursor:pointer;margin-right:.5rem}#video-editor-trim-root .time-button:hover{background-color:#d1d5db}#video-editor-trim-root .time-button:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}#video-editor-trim-root .time-button:last-child{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#video-editor-trim-root .controls-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}#video-editor-trim-root .zoom-dropdown-container{position:relative;z-index:100;display:none}#video-editor-trim-root .zoom-button{background-color:#374151;color:#fff;border:none;border-radius:.25rem;padding:.25rem .75rem;font-size:.875rem;display:flex;align-items:center;cursor:pointer}#video-editor-trim-root .zoom-button:hover{background-color:#1f2937}#video-editor-trim-root .zoom-button svg{margin-left:.25rem}#video-editor-trim-root .zoom-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;width:9rem;background-color:#374151;color:#fff;border-radius:.25rem;box-shadow:0 4px 6px -1px #0000001a;z-index:50;max-height:300px;overflow-y:auto}#video-editor-trim-root .zoom-option{padding:.25rem .75rem;cursor:pointer}#video-editor-trim-root .zoom-option:hover{background-color:#4b5563}#video-editor-trim-root .zoom-option.selected{background-color:#6b7280;display:flex;align-items:center}#video-editor-trim-root .zoom-option svg{margin-right:.25rem}#video-editor-trim-root .save-buttons-row{display:flex;align-items:center;gap:.5rem;margin:0;flex-wrap:nowrap}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{color:#fff;background:#06c;border-radius:.25rem;font-size:.75rem;padding:.25rem .5rem;cursor:pointer;border:none;white-space:nowrap;transition:background-color .2s;min-width:-moz-fit-content;min-width:fit-content}#video-editor-trim-root .save-button:hover,#video-editor-trim-root .save-copy-button:hover,#video-editor-trim-root .save-segments-button:hover{background-color:#0056b3}@media (max-width: 576px){#video-editor-trim-root .save-buttons-row{width:100%;justify-content:space-between;gap:.5rem}#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{flex:1;font-size:.7rem;padding:.25rem .35rem}}@media (max-width: 480px){#video-editor-trim-root .save-button,#video-editor-trim-root .save-copy-button,#video-editor-trim-root .save-segments-button{font-size:.675rem;padding:.25rem}#video-editor-trim-root .controls-right,#video-editor-trim-root .controls-right button{margin:0}}#video-editor-trim-root .modal-success-content,#video-editor-trim-root .modal-error-content{display:flex;flex-direction:column;align-items:center;padding:1rem;text-align:center;padding:0;margin:0}#video-editor-trim-root .modal-success-icon,#video-editor-trim-root .modal-error-icon{margin-bottom:1rem}#video-editor-trim-root .modal-success-icon svg{color:#4caf50;animation:fadeIn .5s ease-in-out}#video-editor-trim-root .modal-error-icon svg{color:#f44336;animation:fadeIn .5s ease-in-out}#video-editor-trim-root .success-link{background-color:#4caf50;color:#fff;transition:background-color .3s}#video-editor-trim-root .success-link:hover{background-color:#388e3c}#video-editor-trim-root .error-message{color:#f44336;font-weight:500}#video-editor-trim-root .modal-spinner{display:flex;justify-content:center;margin:2rem 0}#video-editor-trim-root .spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#06c;animation:spin 1s ease-in-out infinite}#video-editor-trim-root .text-center{text-align:center}#video-editor-trim-root .modal-message{margin-bottom:1rem;line-height:1.5}#video-editor-trim-root .modal-choice-button{display:flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;background-color:#06c;color:#fff;border-radius:4px;text-decoration:none;margin:0 auto;cursor:pointer;font-weight:500;gap:.5rem;border:none;transition:background-color .3s}#video-editor-trim-root .modal-choice-button:hover{background-color:#0056b3}#video-editor-trim-root .modal-choice-button svg{flex-shrink:0}#video-editor-trim-root .centered-choice{margin:0 auto;min-width:180px}.mobile-timeline-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:50;display:flex;justify-content:center;align-items:center;border-radius:.5rem;pointer-events:none}.mobile-timeline-message{background-color:#000c;border-radius:8px;padding:15px 25px;text-align:center;max-width:80%;animation:pulse 2s infinite}.mobile-timeline-message p{color:#fff;font-size:16px;margin:0 0 15px;font-weight:500}.mobile-play-icon{width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid white;margin:0 auto}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(1)}}.two-row-tooltip{display:flex;flex-direction:column;background-color:#fff;padding:6px;border-radius:4px;box-shadow:0 2px 8px #00000026;position:relative;z-index:3000}.tooltip-time-btn[data-tooltip="Decrease by 100ms"],.tooltip-time-btn[data-tooltip="Increase by 100ms"]{display:none!important}.tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:3px}.tooltip-row:first-child{margin-bottom:6px}.tooltip-time-btn{background-color:#f0f0f0!important;border:none!important;border-radius:4px!important;padding:4px 8px!important;font-size:.75rem!important;font-weight:500!important;color:#333!important;cursor:pointer!important;transition:background-color .2s!important;min-width:20px!important}.tooltip-time-btn:hover{background-color:#e0e0e0!important}.tooltip-time-display{font-family:monospace!important;font-size:.875rem!important;font-weight:600!important;color:#333!important;padding:4px 6px!important;background-color:#f7f7f7!important;border-radius:4px!important;min-width:100px!important;text-align:center!important;overflow:hidden!important}.tooltip-actions{display:flex;justify-content:space-between;align-items:center;gap:3px;position:relative;z-index:2500}.tooltip-action-btn{background-color:#f3f4f6;border:none;border-radius:4px;padding:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#4b5563;width:26px;height:26px;min-width:20px!important;position:relative}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);position:absolute;height:30px;top:35px;left:50%;transform:translate(-50%);margin-left:0;background-color:#000000d9;color:#fff;text-align:left;padding:6px 12px;border-radius:4px;box-shadow:0 2px 8px #0003;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}.tooltip-action-btn[data-tooltip]:after{content:"";position:absolute;top:35px;left:50%;transform:translate(-50%);border-width:4px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent transparent;margin-left:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:2500;pointer-events:none}@media (hover: hover) and (pointer: fine){.tooltip-action-btn[data-tooltip]:hover:before,.tooltip-action-btn[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;content:none!important}}.tooltip-action-btn:hover{background-color:#e5e7eb;color:#111827}.tooltip-action-btn.delete{color:#ef4444}.tooltip-action-btn.delete:hover{background-color:#fee2e2}.tooltip-action-btn.play{color:#10b981}.tooltip-action-btn.play:hover{background-color:#d1fae5}.tooltip-action-btn.pause{color:#3b82f6}.tooltip-action-btn.pause:hover{background-color:#dbeafe}.tooltip-action-btn.play-from-start{color:#4f46e5}.tooltip-action-btn.play-from-start:hover{background-color:#e0e7ff}.tooltip-action-btn svg{width:16px;height:16px}.tooltip-action-btn.new-segment{width:auto;height:auto;padding:6px 10px;display:flex;flex-direction:row;color:#10b981}.tooltip-action-btn.new-segment:hover{background-color:#d1fae5}.tooltip-action-btn.new-segment .tooltip-btn-text{margin-left:6px;font-size:.75rem;white-space:nowrap}@media (max-width: 768px){.two-row-tooltip{padding:4px}.tooltip-row:first-child{margin-bottom:4px}.tooltip-time-btn{min-width:20px!important;font-size:.7rem!important;padding:3px 6px!important}.tooltip-time-display{font-size:.8rem!important;padding:3px 4px!important;min-width:90px!important}.tooltip-action-btn{width:24px;height:24px;padding:4px}.tooltip-action-btn.new-segment{padding:4px 8px}.tooltip-action-btn svg{width:14px;height:14px}.tooltip-action-btn[data-tooltip]:before{min-width:100px;font-size:11px;padding:4px 8px;height:24px;top:33px}.tooltip-action-btn[data-tooltip]:after{top:33px}}#video-editor-trim-root{@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}}#video-editor-trim-root .editing-tools-container{background-color:#fff;border-radius:.5rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .flex-container{display:flex;justify-content:space-between;align-items:center;position:relative;gap:15px;width:100%}#video-editor-trim-root .flex-container.single-row{flex-wrap:nowrap}#video-editor-trim-root .full-text{display:inline}#video-editor-trim-root .short-text{display:none}#video-editor-trim-root .reset-text{display:inline}#video-editor-trim-root .button-group{display:flex;align-items:center}#video-editor-trim-root .button-group.play-buttons-group{gap:.75rem;justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{gap:.75rem;align-items:center;justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{display:flex;align-items:center;color:#333;background:none;border:none;cursor:pointer;min-width:auto}#video-editor-trim-root .button-group button:hover:not(:disabled){color:inherit}#video-editor-trim-root .button-group button:disabled{opacity:.5;cursor:not-allowed}#video-editor-trim-root .button-group button svg{height:1.25rem;width:1.25rem;margin-right:.25rem}#video-editor-trim-root .divider{border-right:1px solid #d1d5db;height:1.5rem;margin:0 .5rem}#video-editor-trim-root .play-button,#video-editor-trim-root .preview-button{font-weight:600;display:flex;align-items:center;position:relative;overflow:hidden;min-width:80px;justify-content:center;font-size:.875rem!important}#video-editor-trim-root .play-button:hover:not(:disabled),#video-editor-trim-root .preview-button:hover:not(:disabled){color:inherit!important;transform:none!important;font-size:.875rem!important;width:auto!important;background:none!important}#video-editor-trim-root .play-button svg,#video-editor-trim-root .preview-button svg{height:1.5rem;width:1.5rem;flex-shrink:0}#video-editor-trim-root .preview-mode-message{display:flex;align-items:center;background-color:#3b82f61a;color:#3b82f6;padding:6px 12px;border-radius:4px;font-weight:600;font-size:.875rem;animation:pulse 2s infinite}#video-editor-trim-root .preview-mode-message svg{height:1.25rem;width:1.25rem;margin-right:.5rem;color:#3b82f6}#video-editor-trim-root .button-text{margin-left:.25rem}@media (max-width: 992px){#video-editor-trim-root .button-group.secondary .button-text{display:none}}@media (max-width: 768px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between}#video-editor-trim-root .button-group{gap:.5rem}#video-editor-trim-root .preview-button,#video-editor-trim-root .play-button{font-size:.875rem!important}}@media (max-width: 640px){#video-editor-trim-root .preview-button{min-width:auto}#video-editor-trim-root .full-text{display:none}#video-editor-trim-root .short-text{display:inline}#video-editor-trim-root .reset-text{display:none}#video-editor-trim-root .button-group.play-buttons-group{flex:initial;justify-content:flex-start}#video-editor-trim-root .button-group.secondary{flex:initial;justify-content:flex-end}}@media (max-width: 576px){#video-editor-trim-root .flex-container.single-row{justify-content:space-between;flex-wrap:nowrap}#video-editor-trim-root .button-group.play-buttons-group{justify-content:flex-start;flex:0 0 auto}#video-editor-trim-root .button-group.secondary{justify-content:flex-end;margin-left:auto}#video-editor-trim-root .button-group button{padding:.25rem}#video-editor-trim-root .preview-mode-message{font-size:.8rem;padding:4px 8px}#video-editor-trim-root .divider{margin:0 .25rem}}@media (max-width: 480px){#video-editor-trim-root .button-group.play-buttons-group,#video-editor-trim-root .button-group.secondary{gap:.25rem}#video-editor-trim-root .divider{display:none}}@media (hover: hover) and (pointer: fine){#video-editor-trim-root [data-tooltip]{position:relative}#video-editor-trim-root [data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:5px;background-color:#000c;color:#fff;text-align:center;padding:5px 10px;border-radius:3px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none}#video-editor-trim-root [data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}#video-editor-trim-root [data-tooltip]:hover:before,#video-editor-trim-root [data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){#video-editor-trim-root [data-tooltip]:before,#video-editor-trim-root [data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}#video-editor-trim-root .clip-segments-container{margin-top:1rem;background-color:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}#video-editor-trim-root .clip-segments-title{font-size:.875rem;font-weight:500;color:var(--foreground, #333);margin-bottom:.75rem}#video-editor-trim-root .segment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border:1px solid #e5e7eb;border-radius:.25rem;margin-bottom:.5rem;transition:box-shadow .2s ease}#video-editor-trim-root .segment-item:hover{box-shadow:0 4px 6px -1px #0000001a}#video-editor-trim-root .segment-content{display:flex;align-items:center}#video-editor-trim-root .segment-thumbnail{width:4rem;height:2.25rem;background-size:cover;background-position:center;border-radius:.25rem;margin-right:.75rem;box-shadow:0 0 0 1px #ffffff4d}#video-editor-trim-root .segment-info{display:flex;flex-direction:column}#video-editor-trim-root .segment-title{font-weight:500;font-size:.875rem;color:#000}#video-editor-trim-root .segment-time{font-size:.75rem;color:#000}#video-editor-trim-root .segment-duration{font-size:.75rem;margin-top:.25rem;display:inline-block;background-color:#f3f4f6;padding:0 .5rem;border-radius:.25rem;color:#000}#video-editor-trim-root .segment-actions{display:flex;align-items:center;gap:.5rem}#video-editor-trim-root .delete-button{padding:.375rem;color:#4b5563;background-color:#e5e7eb;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s,color .2s;min-width:auto}#video-editor-trim-root .delete-button:hover{color:#000;background-color:#d1d5db}#video-editor-trim-root .delete-button svg{height:1rem;width:1rem}#video-editor-trim-root .empty-message{padding:1rem;text-align:center;color:#333333b3}#video-editor-trim-root .segment-color-1{background-color:#3b82f626}#video-editor-trim-root .segment-color-2{background-color:#10b98126}#video-editor-trim-root .segment-color-3{background-color:#f59e0b26}#video-editor-trim-root .segment-color-4{background-color:#ef444426}#video-editor-trim-root .segment-color-5{background-color:#8b5cf626}#video-editor-trim-root .segment-color-6{background-color:#ec489926}#video-editor-trim-root .segment-color-7{background-color:#06b6d426}#video-editor-trim-root .segment-color-8{background-color:#facc1526}.mobile-play-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mobile-play-prompt{background-color:#fff;width:90%;max-width:400px;border-radius:12px;padding:25px;box-shadow:0 4px 20px #00000040;text-align:center}.mobile-play-prompt h3{margin:0 0 15px;font-size:20px;color:#333;font-weight:600}.mobile-play-prompt p{margin:0 0 15px;font-size:16px;color:#444;line-height:1.5}.mobile-prompt-instructions{margin:20px 0;text-align:left;background-color:#f8f9fa;padding:15px;border-radius:8px}.mobile-prompt-instructions p{margin:0 0 8px;font-size:15px;font-weight:500}.mobile-prompt-instructions ol{margin:0;padding-left:22px}.mobile-prompt-instructions li{margin-bottom:8px;font-size:14px;color:#333}.mobile-play-button{background-color:#007bff;color:#fff;border:none;border-radius:8px;padding:12px 25px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:5px;min-height:44px;min-width:200px}.mobile-play-button:hover{background-color:#0069d9}.mobile-play-button:active{background-color:#0062cc;transform:scale(.98)}@supports (-webkit-touch-callout: none){.mobile-play-button{padding:14px 25px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{border-color:hsl(var(--border))}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.inline{display:inline}.flex{display:flex}.hidden{display:none}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-4{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.bg-background{background-color:hsl(var(--background))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.running{animation-play-state:running}.paused{animation-play-state:paused}:root{--foreground: 20 14.3% 4.1%;--muted: 60 4.8% 95.9%;--muted-foreground: 25 5.3% 44.7%;--popover: 0 0% 100%;--popover-foreground: 20 14.3% 4.1%;--card: 0 0% 100%;--card-foreground: 20 14.3% 4.1%;--border: 20 5.9% 90%;--input: 20 5.9% 90%;--primary: 207 90% 54%;--primary-foreground: 211 100% 99%;--secondary: 30 84% 54%;--secondary-foreground: 60 9.1% 97.8%;--accent: 60 4.8% 95.9%;--accent-foreground: 24 9.8% 10%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 60 9.1% 97.8%;--ring: 20 14.3% 4.1%;--radius: .5rem}.video-player{position:relative;width:100%;background-color:#000;overflow:hidden;border-radius:.5rem}.video-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1rem;display:flex;flex-direction:column}.video-current-time{color:#fff;font-weight:500}.video-progress{position:relative;height:4px;background-color:#ffffff4d;border-radius:2px;margin-bottom:1rem}.video-progress-fill{position:absolute;left:0;top:0;height:100%;background-color:hsl(var(--primary));border-radius:2px}.video-scrubber{position:absolute;width:12px;height:12px;margin-left:-6px;background-color:#fff;border-radius:50%;top:-4px}.video-player-container{position:relative;overflow:hidden}.play-pause-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;background-color:#00000080;z-index:20;opacity:0;transition:opacity .2s ease;pointer-events:none;background-position:center;background-repeat:no-repeat}.play-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E")}.pause-icon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='36' height='36' fill='white'%3E%3Cpath d='M6 19h4V5H6v14zm8-14v14h4V5h-4z'/%3E%3C/svg%3E")}.video-player-container:hover .play-pause-indicator{opacity:1}.timeline-scroll-container{height:6rem;border-radius:.375rem;overflow-x:auto;overflow-y:hidden;margin-bottom:.75rem;background-color:#eee;position:relative}.timeline-container{position:relative;background-color:#eee;height:6rem;width:100%;cursor:pointer;transition:width .3s ease}.timeline-marker{position:absolute;top:-10px;height:calc(100% + 10px);width:2px;background-color:red;z-index:100;pointer-events:none;box-shadow:0 0 4px #ff000080}.trim-line-marker{position:absolute;top:0;bottom:0;width:2px;background-color:#007bffe6;z-index:10}.trim-handle{width:8px;background-color:#6c757de6;position:absolute;top:0;bottom:0;cursor:ew-resize;z-index:15}.trim-handle.left{left:-4px}.trim-handle.right{right:-4px}.timeline-thumbnail{height:100%;border-right:1px solid rgba(0,0,0,.1);position:relative;display:inline-block;background-size:cover;background-position:center}.split-point{position:absolute;width:2px;background-color:#6c757de6;top:0;bottom:0;z-index:5}.clip-segment{position:absolute;height:95%;top:0;border-radius:4px;background-size:cover;background-position:center;background-blend-mode:soft-light;box-shadow:0 2px 8px #0003;overflow:hidden;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .2s,transform .1s;z-index:15}.clip-segment:nth-child(odd),.segment-color-1,.segment-color-3,.segment-color-5,.segment-color-7{background-color:transparent;border:2px solid rgba(0,123,255,.9)}.clip-segment:nth-child(2n),.segment-color-2,.segment-color-4,.segment-color-6,.segment-color-8{background-color:transparent;border:2px solid rgba(108,117,125,.9)}.clip-segment:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-1px);filter:brightness(1.1)}.clip-segment:active{cursor:grabbing;box-shadow:0 2px 6px #0000004d;transform:translateY(0)}.clip-segment.selected{border-width:3px;box-shadow:0 4px 12px #0006;z-index:25;filter:brightness(1.2)}.clip-segment-info{background-color:#e2e6eae6;color:#000;padding:6px 8px;font-size:.7rem;position:absolute;top:0;left:0;width:100%;border-radius:4px 4px 0 0;z-index:2;display:flex;flex-direction:column;gap:2px}.clip-segment-name{font-weight:700;color:#000}.clip-segment-time{font-size:.65rem;color:#000}.clip-segment-duration{font-size:.65rem;color:#000;background:#b3d9ff66;padding:1px 4px;border-radius:2px;display:inline-block;margin-top:2px}.clip-segment-handle{position:absolute;width:8px;top:0;bottom:0;background-color:#6c757de6;cursor:ew-resize;z-index:20;display:flex;align-items:center;justify-content:center}.clip-segment-handle:after{content:"↔";color:#fff;font-size:12px;text-shadow:0 0 2px rgba(0,0,0,.8)}.clip-segment-handle.left{left:0}.clip-segment-handle.right{right:0}.clip-segment-handle:hover{background-color:#007bffe6;width:10px}input[type=range]{-webkit-appearance:none;height:6px;background:#e0e0e0;border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;border-radius:50%;background:#007bffe6;cursor:pointer}[data-tooltip]{position:relative;cursor:pointer}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background-color:#000c;color:#fff;padding:5px 10px;border-radius:4px;font-size:.8rem;white-space:nowrap;z-index:1000;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:rgba(0,0,0,.8) transparent transparent transparent;margin-bottom:0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;pointer-events:none}@media (hover: hover) and (pointer: fine){[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}}@media (pointer: coarse){[data-tooltip]:before,[data-tooltip]:after{display:none!important;content:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}}button[disabled][data-tooltip]:before,button[disabled][data-tooltip]:after{opacity:.5}.tooltip-action-btn{position:relative}.tooltip-action-btn[data-tooltip]:before,.tooltip-action-btn[data-tooltip]:after{opacity:0;visibility:hidden;position:absolute;pointer-events:none;transition:all .3s ease}.tooltip-action-btn[data-tooltip]:before{content:attr(data-tooltip);background-color:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:3px;white-space:nowrap;bottom:-35px;left:50%;transform:translate(-50%);z-index:9999}.tooltip-action-btn[data-tooltip]:after{content:"";border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent;bottom:-15px;left:50%;transform:translate(-50%);z-index:9999}@media (hover: hover) and (pointer: fine){.tooltip-action-btn:hover[data-tooltip]:before,.tooltip-action-btn:hover[data-tooltip]:after{opacity:1;visibility:visible}}.segment-tooltip{background-color:#b3d9fff2;color:#000;border-radius:4px;padding:6px;min-width:140px;z-index:1000;box-shadow:0 3px 10px #0003}.segment-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(179,217,255,.95)}.tooltip-time{font-size:.85rem;font-weight:700;text-align:center;margin-bottom:6px;color:#000}.tooltip-actions{display:flex;justify-content:space-between;gap:5px;position:relative}.tooltip-action-btn{background-color:#007bff33;border:none;border-radius:3px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;transition:background-color .2s;min-width:20px!important}.tooltip-action-btn:hover{background-color:#007bff66}.tooltip-action-btn svg{width:100%;height:100%;stroke:currentColor}.tooltip-action-btn.set-in svg,.tooltip-action-btn.set-out svg{width:100%;height:100%;margin:0 auto;fill:currentColor;stroke:none}.empty-space-tooltip{background-color:#fff;border-radius:6px;box-shadow:0 2px 8px #00000026;padding:8px;z-index:50;min-width:120px;text-align:center;position:relative}.empty-space-tooltip:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);border-width:8px 8px 0;border-style:solid;border-color:white transparent transparent}.tooltip-action-btn.new-segment{width:auto;padding:6px 10px;display:flex;align-items:center;gap:5px}.tooltip-btn-text{font-size:.8rem;white-space:nowrap;color:#000}.icon-new-segment{width:20px;height:20px}.zoom-dropdown-container{position:relative}.zoom-button{display:flex;align-items:center;gap:6px;background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.zoom-button:hover{background-color:#6c757d}.zoom-dropdown{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000026;max-height:300px;overflow-y:auto}.zoom-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:5px}.zoom-option:hover{background-color:#007bff1a}.zoom-option.selected{background-color:#007bff33;font-weight:500}.save-button,.save-copy-button{background-color:#007bffcc;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-button:hover,.save-copy-button:hover{background-color:#007bff}.save-copy-button{background-color:#6c757dcc}.save-copy-button:hover{background-color:#6c757d}.time-nav-label{font-weight:500;font-size:.9rem}.time-input{padding:6px 10px;border-radius:4px;border:1px solid #ccc;width:150px;font-family:monospace}.time-button-group{display:flex;gap:5px}.time-button{background-color:#6c757dcc;color:#fff;border:none;border-radius:4px;padding:6px 8px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.time-button:hover{background-color:#6c757d}.timeline-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px;background-color:#f5f5f5;border-radius:6px;margin-top:15px}.time-navigation{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls-right{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.timeline-controls{flex-direction:column;align-items:flex-start;gap:15px}.controls-right{margin-top:10px;width:100%;justify-content:flex-start;text-align:center;align-items:center;justify-content:center}}.timeline-header{display:flex;align-items:center;gap:20px;margin-bottom:10px;flex-wrap:wrap}.timeline-title{font-weight:700;margin-right:20px}.timeline-title-text{font-size:1.1rem}.current-time,.duration-time{white-space:nowrap}.time-code{font-family:monospace;font-weight:500}@media (max-width: 480px){.timeline-header{flex-direction:column;align-items:flex-start;gap:8px}.time-navigation{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.time-button-group{width:100%;display:flex;justify-content:space-between;margin-top:10px}.controls-right{flex-wrap:wrap;gap:8px}.save-button,.save-copy-button{margin-top:8px;width:100%}.zoom-dropdown-container{width:100%}.zoom-button{width:100%;justify-content:center}} diff --git a/static/video_editor/video-editor.js b/static/video_editor/video-editor.js index 3b736544..b8fda080 100644 --- a/static/video_editor/video-editor.js +++ b/static/video_editor/video-editor.js @@ -1,4 +1,4 @@ -(function(){"use strict";var dm={exports:{}},Kc={exports:{}},Xo={exports:{}};Xo.exports;var vm;function FS(){return vm||(vm=1,function(T,_){/** +(function(){"use strict";var dm={exports:{}},Kc={exports:{}},Zo={exports:{}};Zo.exports;var vm;function z0(){return vm||(vm=1,function(T,M){/** * @license React * react.development.js * @@ -6,29 +6,29 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var he="18.3.1",Me=Symbol.for("react.element"),ce=Symbol.for("react.portal"),Be=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),J=Symbol.for("react.profiler"),ge=Symbol.for("react.provider"),ee=Symbol.for("react.context"),it=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),ue=Symbol.for("react.memo"),Ke=Symbol.for("react.lazy"),It=Symbol.for("react.offscreen"),wt=Symbol.iterator,Jt="@@iterator";function ve(s){if(s===null||typeof s!="object")return null;var m=wt&&s[wt]||s[Jt];return typeof m=="function"?m:null}var We={current:null},mt={transition:null},te={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},Ee={current:null},fe={},we=null;function ft(s){we=s}fe.setExtraStackFrame=function(s){we=s},fe.getCurrentStack=null,fe.getStackAddendum=function(){var s="";we&&(s+=we);var m=fe.getCurrentStack;return m&&(s+=m()||""),s};var bt=!1,X=!1,_e=!1,Le=!1,Dt=!1,_t={ReactCurrentDispatcher:We,ReactCurrentBatchConfig:mt,ReactCurrentOwner:Ee};_t.ReactDebugCurrentFrame=fe,_t.ReactCurrentActQueue=te;function zt(s){{for(var m=arguments.length,C=new Array(m>1?m-1:0),M=1;M1?m-1:0),M=1;M1){for(var Gt=Array(Ot),Wt=0;Wt1){for(var nt=Array(Wt),tn=0;tn is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Provider},set:function(me){m.Provider=me}},_currentValue:{get:function(){return m._currentValue},set:function(me){m._currentValue=me}},_currentValue2:{get:function(){return m._currentValue2},set:function(me){m._currentValue2=me}},_threadCount:{get:function(){return m._threadCount},set:function(me){m._threadCount=me}},Consumer:{get:function(){return C||(C=!0,oe("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Consumer}},displayName:{get:function(){return m.displayName},set:function(me){$||(zt("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",me),$=!0)}}}),m.Consumer=Ae}return m._currentRenderer=null,m._currentRenderer2=null,m}var ze=-1,se=0,He=1,tt=2;function _n(s){if(s._status===ze){var m=s._result,C=m();if(C.then(function(Ae){if(s._status===se||s._status===ze){var me=s;me._status=He,me._result=Ae}},function(Ae){if(s._status===se||s._status===ze){var me=s;me._status=tt,me._result=Ae}}),s._status===ze){var M=s;M._status=se,M._result=C}}if(s._status===He){var $=s._result;return $===void 0&&oe(`lazy: Expected the result of a dynamic import() call. Instead received: %s + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var he="18.3.1",xe=Symbol.for("react.element"),pe=Symbol.for("react.portal"),Oe=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),Z=Symbol.for("react.profiler"),Se=Symbol.for("react.provider"),se=Symbol.for("react.context"),it=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),D=Symbol.for("react.suspense_list"),oe=Symbol.for("react.memo"),Be=Symbol.for("react.lazy"),zt=Symbol.for("react.offscreen"),Et=Symbol.iterator,kt="@@iterator";function We(s){if(s===null||typeof s!="object")return null;var m=Et&&s[Et]||s[kt];return typeof m=="function"?m:null}var J={current:null},mt={transition:null},_e={current:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1},Me={current:null},V={},nt=null;function K(s){nt=s}V.setExtraStackFrame=function(s){nt=s},V.getCurrentStack=null,V.getStackAddendum=function(){var s="";nt&&(s+=nt);var m=V.getCurrentStack;return m&&(s+=m()||""),s};var Bt=!1,He=!1,ce=!1,le=!1,ht=!1,yt={ReactCurrentDispatcher:J,ReactCurrentBatchConfig:mt,ReactCurrentOwner:Me};yt.ReactDebugCurrentFrame=V,yt.ReactCurrentActQueue=_e;function ze(s){{for(var m=arguments.length,L=new Array(m>1?m-1:0),A=1;A1?m-1:0),A=1;A1){for(var qt=Array(jt),Gt=0;Gt1){for(var at=Array(Gt),an=0;an is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Provider},set:function(Te){m.Provider=Te}},_currentValue:{get:function(){return m._currentValue},set:function(Te){m._currentValue=Te}},_currentValue2:{get:function(){return m._currentValue2},set:function(Te){m._currentValue2=Te}},_threadCount:{get:function(){return m._threadCount},set:function(Te){m._threadCount=Te}},Consumer:{get:function(){return L||(L=!0,q("Rendering is not supported and will be removed in a future major release. Did you mean to render instead?")),m.Consumer}},displayName:{get:function(){return m.displayName},set:function(Te){Q||(ze("Setting `displayName` on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = '%s'.",Te),Q=!0)}}}),m.Consumer=Ne}return m._currentRenderer=null,m._currentRenderer2=null,m}var E=-1,b=0,O=1,x=2;function X(s){if(s._status===E){var m=s._result,L=m();if(L.then(function(Ne){if(s._status===b||s._status===E){var Te=s;Te._status=O,Te._result=Ne}},function(Ne){if(s._status===b||s._status===E){var Te=s;Te._status=x,Te._result=Ne}}),s._status===E){var A=s;A._status=b,A._result=L}}if(s._status===O){var Q=s._result;return Q===void 0&&q(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: const MyComponent = lazy(() => import('./MyComponent')) -Did you accidentally put curly braces around the import?`,$),"default"in $||oe(`lazy: Expected the result of a dynamic import() call. Instead received: %s +Did you accidentally put curly braces around the import?`,Q),"default"in Q||q(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: - const MyComponent = lazy(() => import('./MyComponent'))`,$),$.default}else throw s._result}function gn(s){var m={_status:ze,_result:s},C={$$typeof:Ke,_payload:m,_init:_n};{var M,$;Object.defineProperties(C,{defaultProps:{configurable:!0,get:function(){return M},set:function(Ae){oe("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),M=Ae,Object.defineProperty(C,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return $},set:function(Ae){oe("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),$=Ae,Object.defineProperty(C,"propTypes",{enumerable:!0})}}})}return C}function Aa(s){s!=null&&s.$$typeof===ue?oe("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?oe("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&oe("forwardRef render functions accept exactly two parameters: props and ref. %s",s.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),s!=null&&(s.defaultProps!=null||s.propTypes!=null)&&oe("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var m={$$typeof:it,render:s};{var C;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return C},set:function(M){C=M,!s.name&&!s.displayName&&(s.displayName=M)}})}return m}var p;p=Symbol.for("react.module.reference");function j(s){return!!(typeof s=="string"||typeof s=="function"||s===Be||s===J||Dt||s===d||s===P||s===R||Le||s===It||bt||X||_e||typeof s=="object"&&s!==null&&(s.$$typeof===Ke||s.$$typeof===ue||s.$$typeof===ge||s.$$typeof===ee||s.$$typeof===it||s.$$typeof===p||s.getModuleId!==void 0))}function G(s,m){j(s)||oe("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var C={$$typeof:ue,type:s,compare:m===void 0?null:m};{var M;Object.defineProperty(C,"displayName",{enumerable:!1,configurable:!0,get:function(){return M},set:function($){M=$,!s.name&&!s.displayName&&(s.displayName=$)}})}return C}function W(){var s=We.current;return s===null&&oe(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: + const MyComponent = lazy(() => import('./MyComponent'))`,Q),Q.default}else throw s._result}function F(s){var m={_status:E,_result:s},L={$$typeof:Be,_payload:m,_init:X};{var A,Q;Object.defineProperties(L,{defaultProps:{configurable:!0,get:function(){return A},set:function(Ne){q("React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),A=Ne,Object.defineProperty(L,"defaultProps",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return Q},set:function(Ne){q("React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it."),Q=Ne,Object.defineProperty(L,"propTypes",{enumerable:!0})}}})}return L}function I(s){s!=null&&s.$$typeof===oe?q("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?q("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&q("forwardRef render functions accept exactly two parameters: props and ref. %s",s.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),s!=null&&(s.defaultProps!=null||s.propTypes!=null)&&q("forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?");var m={$$typeof:it,render:s};{var L;Object.defineProperty(m,"displayName",{enumerable:!1,configurable:!0,get:function(){return L},set:function(A){L=A,!s.name&&!s.displayName&&(s.displayName=A)}})}return m}var p;p=Symbol.for("react.module.reference");function g(s){return!!(typeof s=="string"||typeof s=="function"||s===Oe||s===Z||ht||s===f||s===W||s===D||le||s===zt||Bt||He||ce||typeof s=="object"&&s!==null&&(s.$$typeof===Be||s.$$typeof===oe||s.$$typeof===Se||s.$$typeof===se||s.$$typeof===it||s.$$typeof===p||s.getModuleId!==void 0))}function P(s,m){g(s)||q("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s);var L={$$typeof:oe,type:s,compare:m===void 0?null:m};{var A;Object.defineProperty(L,"displayName",{enumerable:!1,configurable:!0,get:function(){return A},set:function(Q){A=Q,!s.name&&!s.displayName&&(s.displayName=Q)}})}return L}function G(){var s=J.current;return s===null&&q(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app -See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),s}function be(s){var m=W();if(s._context!==void 0){var C=s._context;C.Consumer===s?oe("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):C.Provider===s&&oe("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function De(s){var m=W();return m.useState(s)}function Ve(s,m,C){var M=W();return M.useReducer(s,m,C)}function Fe(s){var m=W();return m.useRef(s)}function an(s,m){var C=W();return C.useEffect(s,m)}function Bt(s,m){var C=W();return C.useInsertionEffect(s,m)}function rt(s,m){var C=W();return C.useLayoutEffect(s,m)}function Xe(s,m){var C=W();return C.useCallback(s,m)}function On(s,m){var C=W();return C.useMemo(s,m)}function bn(s,m,C){var M=W();return M.useImperativeHandle(s,m,C)}function Ut(s,m){{var C=W();return C.useDebugValue(s,m)}}function Ze(){var s=W();return s.useTransition()}function cr(s){var m=W();return m.useDeferredValue(s)}function Wi(){var s=W();return s.useId()}function Bu(s,m,C){var M=W();return M.useSyncExternalStore(s,m,C)}var Ar=0,Ko,Jo,Zo,el,tl,Pu,$u;function qi(){}qi.__reactDisabledLog=!0;function nl(){{if(Ar===0){Ko=console.log,Jo=console.info,Zo=console.warn,el=console.error,tl=console.group,Pu=console.groupCollapsed,$u=console.groupEnd;var s={configurable:!0,enumerable:!0,value:qi,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}Ar++}}function Qa(){{if(Ar--,Ar===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:ot({},s,{value:Ko}),info:ot({},s,{value:Jo}),warn:ot({},s,{value:Zo}),error:ot({},s,{value:el}),group:ot({},s,{value:tl}),groupCollapsed:ot({},s,{value:Pu}),groupEnd:ot({},s,{value:$u})})}Ar<0&&oe("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ui=_t.ReactCurrentDispatcher,jr;function Ii(s,m,C){{if(jr===void 0)try{throw Error()}catch($){var M=$.stack.trim().match(/\n( *(at )?)/);jr=M&&M[1]||""}return` -`+jr+s}}var si=!1,Xi;{var al=typeof WeakMap=="function"?WeakMap:Map;Xi=new al}function Yu(s,m){if(!s||si)return"";{var C=Xi.get(s);if(C!==void 0)return C}var M;si=!0;var $=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ae;Ae=ui.current,ui.current=null,nl();try{if(m){var me=function(){throw Error()};if(Object.defineProperty(me.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(me,[])}catch(pn){M=pn}Reflect.construct(s,[],me)}else{try{me.call()}catch(pn){M=pn}s.call(me.prototype)}}else{try{throw Error()}catch(pn){M=pn}s()}}catch(pn){if(pn&&M&&typeof pn.stack=="string"){for(var Ye=pn.stack.split(` -`),lt=M.stack.split(` -`),Ot=Ye.length-1,Gt=lt.length-1;Ot>=1&&Gt>=0&&Ye[Ot]!==lt[Gt];)Gt--;for(;Ot>=1&&Gt>=0;Ot--,Gt--)if(Ye[Ot]!==lt[Gt]){if(Ot!==1||Gt!==1)do if(Ot--,Gt--,Gt<0||Ye[Ot]!==lt[Gt]){var Wt=` -`+Ye[Ot].replace(" at new "," at ");return s.displayName&&Wt.includes("")&&(Wt=Wt.replace("",s.displayName)),typeof s=="function"&&Xi.set(s,Wt),Wt}while(Ot>=1&&Gt>=0);break}}}finally{si=!1,ui.current=Ae,Qa(),Error.prepareStackTrace=$}var nt=s?s.displayName||s.name:"",tn=nt?Ii(nt):"";return typeof s=="function"&&Xi.set(s,tn),tn}function rl(s,m,C){return Yu(s,!1)}function af(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function ci(s,m,C){if(s==null)return"";if(typeof s=="function")return Yu(s,af(s));if(typeof s=="string")return Ii(s);switch(s){case P:return Ii("Suspense");case R:return Ii("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case it:return rl(s.render);case ue:return ci(s.type,m,C);case Ke:{var M=s,$=M._payload,Ae=M._init;try{return ci(Ae($),m,C)}catch{}}}return""}var Gu={},il=_t.ReactDebugCurrentFrame;function yt(s){if(s){var m=s._owner,C=ci(s.type,s._source,m?m.type:null);il.setExtraStackFrame(C)}else il.setExtraStackFrame(null)}function rf(s,m,C,M,$){{var Ae=Function.call.bind(Xt);for(var me in s)if(Ae(s,me)){var Ye=void 0;try{if(typeof s[me]!="function"){var lt=Error((M||"React class")+": "+C+" type `"+me+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[me]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw lt.name="Invariant Violation",lt}Ye=s[me](m,me,M,C,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Ot){Ye=Ot}Ye&&!(Ye instanceof Error)&&(yt($),oe("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",M||"React class",C,me,typeof Ye),yt(null)),Ye instanceof Error&&!(Ye.message in Gu)&&(Gu[Ye.message]=!0,yt($),oe("Failed %s type: %s",C,Ye.message),yt(null))}}}function fr(s){if(s){var m=s._owner,C=ci(s.type,s._source,m?m.type:null);ft(C)}else ft(null)}var Ie;Ie=!1;function ol(){if(Ee.current){var s=$t(Ee.current.type);if(s)return` +See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.`),s}function ee(s){var m=G();if(s._context!==void 0){var L=s._context;L.Consumer===s?q("Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?"):L.Provider===s&&q("Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?")}return m.useContext(s)}function Ee(s){var m=G();return m.useState(s)}function et(s,m,L){var A=G();return A.useReducer(s,m,L)}function $e(s){var m=G();return m.useRef(s)}function Ct(s,m){var L=G();return L.useEffect(s,m)}function At(s,m){var L=G();return L.useInsertionEffect(s,m)}function st(s,m){var L=G();return L.useLayoutEffect(s,m)}function ct(s,m){var L=G();return L.useCallback(s,m)}function vn(s,m){var L=G();return L.useMemo(s,m)}function un(s,m,L){var A=G();return A.useImperativeHandle(s,m,L)}function bt(s,m){{var L=G();return L.useDebugValue(s,m)}}function Xe(){var s=G();return s.useTransition()}function Ua(s){var m=G();return m.useDeferredValue(s)}function hn(){var s=G();return s.useId()}function _t(s,m,L){var A=G();return A.useSyncExternalStore(s,m,L)}var Jn=0,ga,vr,el,tl,nl,Bu,$u;function Qi(){}Qi.__reactDisabledLog=!0;function al(){{if(Jn===0){ga=console.log,vr=console.info,el=console.warn,tl=console.error,nl=console.group,Bu=console.groupCollapsed,$u=console.groupEnd;var s={configurable:!0,enumerable:!0,value:Qi,writable:!0};Object.defineProperties(console,{info:s,log:s,warn:s,error:s,group:s,groupCollapsed:s,groupEnd:s})}Jn++}}function Ja(){{if(Jn--,Jn===0){var s={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Qt({},s,{value:ga}),info:Qt({},s,{value:vr}),warn:Qt({},s,{value:el}),error:Qt({},s,{value:tl}),group:Qt({},s,{value:nl}),groupCollapsed:Qt({},s,{value:Bu}),groupEnd:Qt({},s,{value:$u})})}Jn<0&&q("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var di=yt.ReactCurrentDispatcher,zr;function Ki(s,m,L){{if(zr===void 0)try{throw Error()}catch(Q){var A=Q.stack.trim().match(/\n( *(at )?)/);zr=A&&A[1]||""}return` +`+zr+s}}var vi=!1,Zi;{var rl=typeof WeakMap=="function"?WeakMap:Map;Zi=new rl}function Yu(s,m){if(!s||vi)return"";{var L=Zi.get(s);if(L!==void 0)return L}var A;vi=!0;var Q=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Ne;Ne=di.current,di.current=null,al();try{if(m){var Te=function(){throw Error()};if(Object.defineProperty(Te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Te,[])}catch(yn){A=yn}Reflect.construct(s,[],Te)}else{try{Te.call()}catch(yn){A=yn}s.call(Te.prototype)}}else{try{throw Error()}catch(yn){A=yn}s()}}catch(yn){if(yn&&A&&typeof yn.stack=="string"){for(var Ye=yn.stack.split(` +`),ft=A.stack.split(` +`),jt=Ye.length-1,qt=ft.length-1;jt>=1&&qt>=0&&Ye[jt]!==ft[qt];)qt--;for(;jt>=1&&qt>=0;jt--,qt--)if(Ye[jt]!==ft[qt]){if(jt!==1||qt!==1)do if(jt--,qt--,qt<0||Ye[jt]!==ft[qt]){var Gt=` +`+Ye[jt].replace(" at new "," at ");return s.displayName&&Gt.includes("")&&(Gt=Gt.replace("",s.displayName)),typeof s=="function"&&Zi.set(s,Gt),Gt}while(jt>=1&&qt>=0);break}}}finally{vi=!1,di.current=Ne,Ja(),Error.prepareStackTrace=Q}var at=s?s.displayName||s.name:"",an=at?Ki(at):"";return typeof s=="function"&&Zi.set(s,an),an}function il(s,m,L){return Yu(s,!1)}function af(s){var m=s.prototype;return!!(m&&m.isReactComponent)}function pi(s,m,L){if(s==null)return"";if(typeof s=="function")return Yu(s,af(s));if(typeof s=="string")return Ki(s);switch(s){case W:return Ki("Suspense");case D:return Ki("SuspenseList")}if(typeof s=="object")switch(s.$$typeof){case it:return il(s.render);case oe:return pi(s.type,m,L);case Be:{var A=s,Q=A._payload,Ne=A._init;try{return pi(Ne(Q),m,L)}catch{}}}return""}var Iu={},ol=yt.ReactDebugCurrentFrame;function xt(s){if(s){var m=s._owner,L=pi(s.type,s._source,m?m.type:null);ol.setExtraStackFrame(L)}else ol.setExtraStackFrame(null)}function rf(s,m,L,A,Q){{var Ne=Function.call.bind($t);for(var Te in s)if(Ne(s,Te)){var Ye=void 0;try{if(typeof s[Te]!="function"){var ft=Error((A||"React class")+": "+L+" type `"+Te+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[Te]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ft.name="Invariant Violation",ft}Ye=s[Te](m,Te,A,L,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(jt){Ye=jt}Ye&&!(Ye instanceof Error)&&(xt(Q),q("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",A||"React class",L,Te,typeof Ye),xt(null)),Ye instanceof Error&&!(Ye.message in Iu)&&(Iu[Ye.message]=!0,xt(Q),q("Failed %s type: %s",L,Ye.message),xt(null))}}}function pr(s){if(s){var m=s._owner,L=pi(s.type,s._source,m?m.type:null);K(L)}else K(null)}var Ge;Ge=!1;function ll(){if(Me.current){var s=Wt(Me.current.type);if(s)return` -Check the render method of \``+s+"`."}return""}function ea(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),C=s.lineNumber;return` +Check the render method of \``+s+"`."}return""}function ea(s){if(s!==void 0){var m=s.fileName.replace(/^.*[\\\/]/,""),L=s.lineNumber;return` -Check your code at `+m+":"+C+"."}return""}function fi(s){return s!=null?ea(s.__source):""}var Nr={};function of(s){var m=ol();if(!m){var C=typeof s=="string"?s:s.displayName||s.name;C&&(m=` +Check your code at `+m+":"+L+"."}return""}function mi(s){return s!=null?ea(s.__source):""}var Pr={};function of(s){var m=ll();if(!m){var L=typeof s=="string"?s:s.displayName||s.name;L&&(m=` -Check the top-level render call using <`+C+">.")}return m}function Mn(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var C=of(m);if(!Nr[C]){Nr[C]=!0;var M="";s&&s._owner&&s._owner!==Ee.current&&(M=" It was passed a child from "+$t(s._owner.type)+"."),fr(s),oe('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',C,M),fr(null)}}}function en(s,m){if(typeof s=="object"){if(ne(s))for(var C=0;C",$=" Did you accidentally export a JSX literal instead of a component?"):me=typeof s,oe("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",me,$)}var Ye=Qe.apply(this,arguments);if(Ye==null)return Ye;if(M)for(var lt=2;lt10&&zt("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),M._updatedFibers.clear()}}}var ul=!1,Qi=null;function uf(s){if(Qi===null)try{var m=("require"+Math.random()).slice(0,7),C=T&&T[m];Qi=C.call(T,"timers").setImmediate}catch{Qi=function($){ul===!1&&(ul=!0,typeof MessageChannel>"u"&&oe("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var Ae=new MessageChannel;Ae.port1.onmessage=$,Ae.port2.postMessage(void 0)}}return Qi(s)}var Ur=0,di=!1;function sl(s){{var m=Ur;Ur++,te.current===null&&(te.current=[]);var C=te.isBatchingLegacy,M;try{if(te.isBatchingLegacy=!0,M=s(),!C&&te.didScheduleLegacyUpdate){var $=te.current;$!==null&&(te.didScheduleLegacyUpdate=!1,Zi($))}}catch(nt){throw dr(m),nt}finally{te.isBatchingLegacy=C}if(M!==null&&typeof M=="object"&&typeof M.then=="function"){var Ae=M,me=!1,Ye={then:function(nt,tn){me=!0,Ae.then(function(pn){dr(m),Ur===0?Ki(pn,nt,tn):nt(pn)},function(pn){dr(m),tn(pn)})}};return!di&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){me||(di=!0,oe("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),Ye}else{var lt=M;if(dr(m),Ur===0){var Ot=te.current;Ot!==null&&(Zi(Ot),te.current=null);var Gt={then:function(nt,tn){te.current===null?(te.current=[],Ki(lt,nt,tn)):nt(lt)}};return Gt}else{var Wt={then:function(nt,tn){nt(lt)}};return Wt}}}}function dr(s){s!==Ur-1&&oe("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),Ur=s}function Ki(s,m,C){{var M=te.current;if(M!==null)try{Zi(M),uf(function(){M.length===0?(te.current=null,m(s)):Ki(s,m,C)})}catch($){C($)}else m(s)}}var Ji=!1;function Zi(s){if(!Ji){Ji=!0;var m=0;try{for(;m.")}return m}function Mn(s,m){if(!(!s._store||s._store.validated||s.key!=null)){s._store.validated=!0;var L=of(m);if(!Pr[L]){Pr[L]=!0;var A="";s&&s._owner&&s._owner!==Me.current&&(A=" It was passed a child from "+Wt(s._owner.type)+"."),pr(s),q('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',L,A),pr(null)}}}function nn(s,m){if(typeof s=="object"){if(ye(s))for(var L=0;L",Q=" Did you accidentally export a JSX literal instead of a component?"):Te=typeof s,q("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Te,Q)}var Ye=Ze.apply(this,arguments);if(Ye==null)return Ye;if(A)for(var ft=2;ft10&&ze("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table."),A._updatedFibers.clear()}}}var sl=!1,Ji=null;function uf(s){if(Ji===null)try{var m=("require"+Math.random()).slice(0,7),L=T&&T[m];Ji=L.call(T,"timers").setImmediate}catch{Ji=function(Q){sl===!1&&(sl=!0,typeof MessageChannel>"u"&&q("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var Ne=new MessageChannel;Ne.port1.onmessage=Q,Ne.port2.postMessage(void 0)}}return Ji(s)}var Vr=0,hi=!1;function cl(s){{var m=Vr;Vr++,_e.current===null&&(_e.current=[]);var L=_e.isBatchingLegacy,A;try{if(_e.isBatchingLegacy=!0,A=s(),!L&&_e.didScheduleLegacyUpdate){var Q=_e.current;Q!==null&&(_e.didScheduleLegacyUpdate=!1,no(Q))}}catch(at){throw mr(m),at}finally{_e.isBatchingLegacy=L}if(A!==null&&typeof A=="object"&&typeof A.then=="function"){var Ne=A,Te=!1,Ye={then:function(at,an){Te=!0,Ne.then(function(yn){mr(m),Vr===0?eo(yn,at,an):at(yn)},function(yn){mr(m),an(yn)})}};return!hi&&typeof Promise<"u"&&Promise.resolve().then(function(){}).then(function(){Te||(hi=!0,q("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),Ye}else{var ft=A;if(mr(m),Vr===0){var jt=_e.current;jt!==null&&(no(jt),_e.current=null);var qt={then:function(at,an){_e.current===null?(_e.current=[],eo(ft,at,an)):at(ft)}};return qt}else{var Gt={then:function(at,an){at(ft)}};return Gt}}}}function mr(s){s!==Vr-1&&q("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),Vr=s}function eo(s,m,L){{var A=_e.current;if(A!==null)try{no(A),uf(function(){A.length===0?(_e.current=null,m(s)):eo(s,m,L)})}catch(Q){L(Q)}else m(s)}}var to=!1;function no(s){if(!to){to=!0;var m=0;try{for(;m.")}return m}function Mn(s,m){if(!( * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */return function(){var T=Jc(),_=Symbol.for("react.element"),he=Symbol.for("react.portal"),Me=Symbol.for("react.fragment"),ce=Symbol.for("react.strict_mode"),Be=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),J=Symbol.for("react.context"),ge=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),it=Symbol.for("react.suspense_list"),P=Symbol.for("react.memo"),R=Symbol.for("react.lazy"),ue=Symbol.for("react.offscreen"),Ke=Symbol.iterator,It="@@iterator";function wt(p){if(p===null||typeof p!="object")return null;var j=Ke&&p[Ke]||p[It];return typeof j=="function"?j:null}var Jt=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function ve(p){{for(var j=arguments.length,G=new Array(j>1?j-1:0),W=1;W=1&&rt>=0&&Fe[Bt]!==an[rt];)rt--;for(;Bt>=1&&rt>=0;Bt--,rt--)if(Fe[Bt]!==an[rt]){if(Bt!==1||rt!==1)do if(Bt--,rt--,rt<0||Fe[Bt]!==an[rt]){var Xe=` -`+Fe[Bt].replace(" at new "," at ");return p.displayName&&Xe.includes("")&&(Xe=Xe.replace("",p.displayName)),typeof p=="function"&&nn.set(p,Xe),Xe}while(Bt>=1&&rt>=0);break}}}finally{dn=!1,qn.current=De,At(),Error.prepareStackTrace=be}var On=p?p.displayName||p.name:"",bn=On?yn(On):"";return typeof p=="function"&&nn.set(p,bn),bn}function ne(p,j,G){return K(p,!1)}function re(p){var j=p.prototype;return!!(j&&j.isReactComponent)}function Se(p,j,G){if(p==null)return"";if(typeof p=="function")return K(p,re(p));if(typeof p=="string")return yn(p);switch(p){case ee:return yn("Suspense");case it:return yn("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case ge:return ne(p.render);case P:return Se(p.type,j,G);case R:{var W=p,be=W._payload,De=W._init;try{return Se(De(be),j,G)}catch{}}}return""}var qe=Object.prototype.hasOwnProperty,dt={},je=Jt.ReactDebugCurrentFrame;function Tt(p){if(p){var j=p._owner,G=Se(p.type,p._source,j?j.type:null);je.setExtraStackFrame(G)}else je.setExtraStackFrame(null)}function $t(p,j,G,W,be){{var De=Function.call.bind(qe);for(var Ve in p)if(De(p,Ve)){var Fe=void 0;try{if(typeof p[Ve]!="function"){var an=Error((W||"React class")+": "+G+" type `"+Ve+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[Ve]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw an.name="Invariant Violation",an}Fe=p[Ve](j,Ve,W,G,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Bt){Fe=Bt}Fe&&!(Fe instanceof Error)&&(Tt(be),ve("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",W||"React class",G,Ve,typeof Fe),Tt(null)),Fe instanceof Error&&!(Fe.message in dt)&&(dt[Fe.message]=!0,Tt(be),ve("Failed %s type: %s",G,Fe.message),Tt(null))}}}var Xt=Array.isArray;function Et(p){return Xt(p)}function Ft(p){{var j=typeof Symbol=="function"&&Symbol.toStringTag,G=j&&p[Symbol.toStringTag]||p.constructor.name||"Object";return G}}function vn(p){try{return Zt(p),!1}catch{return!0}}function Zt(p){return""+p}function un(p){if(vn(p))return ve("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Ft(p)),Zt(p)}var zn=Jt.ReactCurrentOwner,Xa={key:!0,ref:!0,__self:!0,__source:!0},ka,I;function Te(p){if(qe.call(p,"ref")){var j=Object.getOwnPropertyDescriptor(p,"ref").get;if(j&&j.isReactWarning)return!1}return p.ref!==void 0}function Qe(p){if(qe.call(p,"key")){var j=Object.getOwnPropertyDescriptor(p,"key").get;if(j&&j.isReactWarning)return!1}return p.key!==void 0}function Ct(p,j){typeof p.ref=="string"&&zn.current}function Vt(p,j){{var G=function(){ka||(ka=!0,ve("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",j))};G.isReactWarning=!0,Object.defineProperty(p,"key",{get:G,configurable:!0})}}function jt(p,j){{var G=function(){I||(I=!0,ve("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",j))};G.isReactWarning=!0,Object.defineProperty(p,"ref",{get:G,configurable:!0})}}var Qt=function(p,j,G,W,be,De,Ve){var Fe={$$typeof:_,type:p,key:j,ref:G,props:Ve,_owner:De};return Fe._store={},Object.defineProperty(Fe._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(Fe,"_self",{configurable:!1,enumerable:!1,writable:!1,value:W}),Object.defineProperty(Fe,"_source",{configurable:!1,enumerable:!1,writable:!1,value:be}),Object.freeze&&(Object.freeze(Fe.props),Object.freeze(Fe)),Fe};function sn(p,j,G,W,be){{var De,Ve={},Fe=null,an=null;G!==void 0&&(un(G),Fe=""+G),Qe(j)&&(un(j.key),Fe=""+j.key),Te(j)&&(an=j.ref,Ct(j,be));for(De in j)qe.call(j,De)&&!Xa.hasOwnProperty(De)&&(Ve[De]=j[De]);if(p&&p.defaultProps){var Bt=p.defaultProps;for(De in Bt)Ve[De]===void 0&&(Ve[De]=Bt[De])}if(Fe||an){var rt=typeof p=="function"?p.displayName||p.name||"Unknown":p;Fe&&Vt(Ve,rt),an&&jt(Ve,rt)}return Qt(p,Fe,an,be,W,zn.current,Ve)}}var Yt=Jt.ReactCurrentOwner,Nt=Jt.ReactDebugCurrentFrame;function g(p){if(p){var j=p._owner,G=Se(p.type,p._source,j?j.type:null);Nt.setExtraStackFrame(G)}else Nt.setExtraStackFrame(null)}var z;z=!1;function w(p){return typeof p=="object"&&p!==null&&p.$$typeof===_}function D(){{if(Yt.current){var p=Le(Yt.current.type);if(p)return` + */return function(){var T=Zc(),M=Symbol.for("react.element"),he=Symbol.for("react.portal"),xe=Symbol.for("react.fragment"),pe=Symbol.for("react.strict_mode"),Oe=Symbol.for("react.profiler"),f=Symbol.for("react.provider"),Z=Symbol.for("react.context"),Se=Symbol.for("react.forward_ref"),se=Symbol.for("react.suspense"),it=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),D=Symbol.for("react.lazy"),oe=Symbol.for("react.offscreen"),Be=Symbol.iterator,zt="@@iterator";function Et(p){if(p===null||typeof p!="object")return null;var g=Be&&p[Be]||p[zt];return typeof g=="function"?g:null}var kt=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function We(p){{for(var g=arguments.length,P=new Array(g>1?g-1:0),G=1;G=1&&st>=0&&$e[At]!==Ct[st];)st--;for(;At>=1&&st>=0;At--,st--)if($e[At]!==Ct[st]){if(At!==1||st!==1)do if(At--,st--,st<0||$e[At]!==Ct[st]){var ct=` +`+$e[At].replace(" at new "," at ");return p.displayName&&ct.includes("")&&(ct=ct.replace("",p.displayName)),typeof p=="function"&&mn.set(p,ct),ct}while(At>=1&&st>=0);break}}}finally{on=!1,lt.current=Ee,Ot(),Error.prepareStackTrace=ee}var vn=p?p.displayName||p.name:"",un=vn?Yn(vn):"";return typeof p=="function"&&mn.set(p,un),un}function ye(p,g,P){return te(p,!1)}function Re(p){var g=p.prototype;return!!(g&&g.isReactComponent)}function ge(p,g,P){if(p==null)return"";if(typeof p=="function")return te(p,Re(p));if(typeof p=="string")return Yn(p);switch(p){case se:return Yn("Suspense");case it:return Yn("SuspenseList")}if(typeof p=="object")switch(p.$$typeof){case Se:return ye(p.render);case W:return ge(p.type,g,P);case D:{var G=p,ee=G._payload,Ee=G._init;try{return ge(Ee(ee),g,P)}catch{}}}return""}var qe=Object.prototype.hasOwnProperty,ut={},Je=kt.ReactDebugCurrentFrame;function Ke(p){if(p){var g=p._owner,P=ge(p.type,p._source,g?g.type:null);Je.setExtraStackFrame(P)}else Je.setExtraStackFrame(null)}function Wt(p,g,P,G,ee){{var Ee=Function.call.bind(qe);for(var et in p)if(Ee(p,et)){var $e=void 0;try{if(typeof p[et]!="function"){var Ct=Error((G||"React class")+": "+P+" type `"+et+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof p[et]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Ct.name="Invariant Violation",Ct}$e=p[et](g,et,G,P,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(At){$e=At}$e&&!($e instanceof Error)&&(Ke(ee),We("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",G||"React class",P,et,typeof $e),Ke(null)),$e instanceof Error&&!($e.message in ut)&&(ut[$e.message]=!0,Ke(ee),We("Failed %s type: %s",P,$e.message),Ke(null))}}}var $t=Array.isArray;function tn(p){return $t(p)}function gt(p){{var g=typeof Symbol=="function"&&Symbol.toStringTag,P=g&&p[Symbol.toStringTag]||p.constructor.name||"Object";return P}}function fn(p){try{return Zt(p),!1}catch{return!0}}function Zt(p){return""+p}function dn(p){if(fn(p))return We("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",gt(p)),Zt(p)}var Zn=kt.ReactCurrentOwner,sa={key:!0,ref:!0,__self:!0,__source:!0},Na,ie;function De(p){if(qe.call(p,"ref")){var g=Object.getOwnPropertyDescriptor(p,"ref").get;if(g&&g.isReactWarning)return!1}return p.ref!==void 0}function Ze(p){if(qe.call(p,"key")){var g=Object.getOwnPropertyDescriptor(p,"key").get;if(g&&g.isReactWarning)return!1}return p.key!==void 0}function Rt(p,g){typeof p.ref=="string"&&Zn.current}function Yt(p,g){{var P=function(){Na||(Na=!0,We("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};P.isReactWarning=!0,Object.defineProperty(p,"key",{get:P,configurable:!0})}}function Jt(p,g){{var P=function(){ie||(ie=!0,We("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",g))};P.isReactWarning=!0,Object.defineProperty(p,"ref",{get:P,configurable:!0})}}var Dt=function(p,g,P,G,ee,Ee,et){var $e={$$typeof:M,type:p,key:g,ref:P,props:et,_owner:Ee};return $e._store={},Object.defineProperty($e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty($e,"_self",{configurable:!1,enumerable:!1,writable:!1,value:G}),Object.defineProperty($e,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ee}),Object.freeze&&(Object.freeze($e.props),Object.freeze($e)),$e};function _n(p,g,P,G,ee){{var Ee,et={},$e=null,Ct=null;P!==void 0&&(dn(P),$e=""+P),Ze(g)&&(dn(g.key),$e=""+g.key),De(g)&&(Ct=g.ref,Rt(g,ee));for(Ee in g)qe.call(g,Ee)&&!sa.hasOwnProperty(Ee)&&(et[Ee]=g[Ee]);if(p&&p.defaultProps){var At=p.defaultProps;for(Ee in At)et[Ee]===void 0&&(et[Ee]=At[Ee])}if($e||Ct){var st=typeof p=="function"?p.displayName||p.name||"Unknown":p;$e&&Yt(et,st),Ct&&Jt(et,st)}return Dt(p,$e,Ct,ee,G,Zn.current,et)}}var Pt=kt.ReactCurrentOwner,Vt=kt.ReactDebugCurrentFrame;function Ft(p){if(p){var g=p._owner,P=ge(p.type,p._source,g?g.type:null);Vt.setExtraStackFrame(P)}else Vt.setExtraStackFrame(null)}var Za;Za=!1;function ha(p){return typeof p=="object"&&p!==null&&p.$$typeof===M}function In(){{if(Pt.current){var p=le(Pt.current.type);if(p)return` -Check the render method of \``+p+"`."}return""}}function O(p){return""}var F={};function U(p){{var j=D();if(!j){var G=typeof p=="string"?p:p.displayName||p.name;G&&(j=` +Check the render method of \``+p+"`."}return""}}function ya(p){return""}var Ur={};function Hr(p){{var g=In();if(!g){var P=typeof p=="string"?p:p.displayName||p.name;P&&(g=` -Check the top-level render call using <`+G+">.")}return j}}function pe(p,j){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var G=U(j);if(F[G])return;F[G]=!0;var W="";p&&p._owner&&p._owner!==Yt.current&&(W=" It was passed a child from "+Le(p._owner.type)+"."),g(p),ve('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',G,W),g(null)}}function Y(p,j){{if(typeof p!="object")return;if(Et(p))for(var G=0;G",Fe=" Did you accidentally export a JSX literal instead of a component?"):Bt=typeof p,ve("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Bt,Fe)}var rt=sn(p,j,G,be,De);if(rt==null)return rt;if(Ve){var Xe=j.children;if(Xe!==void 0)if(W)if(Et(Xe)){for(var On=0;On0?"{key: someKey, "+Ut.join(": ..., ")+": ...}":"{key: someKey}";if(!se[bn+Ze]){var cr=Ut.length>0?"{"+Ut.join(": ..., ")+": ...}":"{}";ve(`A props object containing a "key" prop is being spread into JSX: +Check the top-level render call using <`+P+">.")}return g}}function S(p,g){{if(!p._store||p._store.validated||p.key!=null)return;p._store.validated=!0;var P=Hr(g);if(Ur[P])return;Ur[P]=!0;var G="";p&&p._owner&&p._owner!==Pt.current&&(G=" It was passed a child from "+le(p._owner.type)+"."),Ft(p),We('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',P,G),Ft(null)}}function U(p,g){{if(typeof p!="object")return;if(tn(p))for(var P=0;P",$e=" Did you accidentally export a JSX literal instead of a component?"):At=typeof p,We("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",At,$e)}var st=_n(p,g,P,ee,Ee);if(st==null)return st;if(et){var ct=g.children;if(ct!==void 0)if(G)if(tn(ct)){for(var vn=0;vn0?"{key: someKey, "+bt.join(": ..., ")+": ...}":"{key: someKey}";if(!b[un+Xe]){var Ua=bt.length>0?"{"+bt.join(": ..., ")+": ...}":"{}";We(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; - <%s key={someKey} {...props} />`,Ze,bn,cr,bn),se[bn+Ze]=!0}}return p===Me?ze(rt):ke(rt),rt}}function tt(p,j,G){return He(p,j,G,!0)}function _n(p,j,G){return He(p,j,G,!1)}var gn=_n,Aa=tt;Qo.Fragment=Me,Qo.jsx=gn,Qo.jsxs=Aa}(),Qo}dm.exports=VS();var v=dm.exports,hm={exports:{}},Zc={exports:{}},ef={},ym;function BS(){return ym||(ym=1,function(T){/** + <%s key={someKey} {...props} />`,Xe,un,Ua,un),b[un+Xe]=!0}}return p===xe?E(st):C(st),st}}function x(p,g,P){return O(p,g,P,!0)}function X(p,g,P){return O(p,g,P,!1)}var F=X,I=x;Jo.Fragment=xe,Jo.jsx=F,Jo.jsxs=I}(),Jo}dm.exports=P0();var v=dm.exports,hm={exports:{}},Jc={exports:{}},ef={},ym;function V0(){return ym||(ym=1,function(T){/** * @license React * scheduler.development.js * @@ -57,7 +57,7 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var _=!1,he=5;function Me(I,Te){var Qe=I.length;I.push(Te),d(I,Te,Qe)}function ce(I){return I.length===0?null:I[0]}function Be(I){if(I.length===0)return null;var Te=I[0],Qe=I.pop();return Qe!==Te&&(I[0]=Qe,J(I,Qe,0)),Te}function d(I,Te,Qe){for(var Ct=Qe;Ct>0;){var Vt=Ct-1>>>1,jt=I[Vt];if(ge(jt,Te)>0)I[Vt]=Te,I[Ct]=jt,Ct=Vt;else return}}function J(I,Te,Qe){for(var Ct=Qe,Vt=I.length,jt=Vt>>>1;CtQe&&(!I||je()));){var Ct=_e.callback;if(typeof Ct=="function"){_e.callback=null,Le=_e.priorityLevel;var Vt=_e.expirationTime<=Qe,jt=Ct(Vt);Qe=T.unstable_now(),typeof jt=="function"?_e.callback=jt:_e===ce(ft)&&Be(ft),St(Qe)}else Be(ft);_e=ce(ft)}if(_e!==null)return!0;var Qt=ce(bt);return Qt!==null&&un(sa,Qt.startTime-Qe),!1}function Ht(I,Te){switch(I){case ee:case it:case P:case R:case ue:break;default:I=P}var Qe=Le;Le=I;try{return Te()}finally{Le=Qe}}function At(I){var Te;switch(Le){case ee:case it:case P:Te=P;break;default:Te=Le;break}var Qe=Le;Le=Te;try{return I()}finally{Le=Qe}}function qn(I){var Te=Le;return function(){var Qe=Le;Le=Te;try{return I.apply(this,arguments)}finally{Le=Qe}}}function fn(I,Te,Qe){var Ct=T.unstable_now(),Vt;if(typeof Qe=="object"&&Qe!==null){var jt=Qe.delay;typeof jt=="number"&&jt>0?Vt=Ct+jt:Vt=Ct}else Vt=Ct;var Qt;switch(I){case ee:Qt=mt;break;case it:Qt=te;break;case ue:Qt=we;break;case R:Qt=fe;break;case P:default:Qt=Ee;break}var sn=Vt+Qt,Yt={id:X++,callback:Te,priorityLevel:I,startTime:Vt,expirationTime:sn,sortIndex:-1};return Vt>Ct?(Yt.sortIndex=Vt,Me(bt,Yt),ce(ft)===null&&Yt===ce(bt)&&(zt?zn():zt=!0,un(sa,Vt-Ct))):(Yt.sortIndex=sn,Me(ft,Yt),!_t&&!Dt&&(_t=!0,Zt(ot))),Yt}function yn(){}function dn(){!_t&&!Dt&&(_t=!0,Zt(ot))}function nn(){return ce(ft)}function N(I){I.callback=null}function K(){return Le}var ne=!1,re=null,Se=-1,qe=he,dt=-1;function je(){var I=T.unstable_now()-dt;return!(I125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}I>0?qe=Math.floor(1e3/I):qe=he}var Xt=function(){if(re!==null){var I=T.unstable_now();dt=I;var Te=!0,Qe=!0;try{Qe=re(Te,I)}finally{Qe?Et():(ne=!1,re=null)}}else ne=!1},Et;if(typeof ht=="function")Et=function(){ht(Xt)};else if(typeof MessageChannel<"u"){var Ft=new MessageChannel,vn=Ft.port2;Ft.port1.onmessage=Xt,Et=function(){vn.postMessage(null)}}else Et=function(){oe(Xt,0)};function Zt(I){re=I,ne||(ne=!0,Et())}function un(I,Te){Se=oe(function(){I(T.unstable_now())},Te)}function zn(){Je(Se),Se=-1}var Xa=Tt,ka=null;T.unstable_IdlePriority=ue,T.unstable_ImmediatePriority=ee,T.unstable_LowPriority=R,T.unstable_NormalPriority=P,T.unstable_Profiling=ka,T.unstable_UserBlockingPriority=it,T.unstable_cancelCallback=N,T.unstable_continueExecution=dn,T.unstable_forceFrameRate=$t,T.unstable_getCurrentPriorityLevel=K,T.unstable_getFirstCallbackNode=nn,T.unstable_next=At,T.unstable_pauseExecution=yn,T.unstable_requestPaint=Xa,T.unstable_runWithPriority=Ht,T.unstable_scheduleCallback=fn,T.unstable_shouldYield=je,T.unstable_wrapCallback=qn,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()}(ef)),ef}var gm;function PS(){return gm||(gm=1,Zc.exports=BS()),Zc.exports}var ua={},bm;function $S(){if(bm)return ua;bm=1;/** + */(function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var M=!1,he=5;function xe(ie,De){var Ze=ie.length;ie.push(De),f(ie,De,Ze)}function pe(ie){return ie.length===0?null:ie[0]}function Oe(ie){if(ie.length===0)return null;var De=ie[0],Ze=ie.pop();return Ze!==De&&(ie[0]=Ze,Z(ie,Ze,0)),De}function f(ie,De,Ze){for(var Rt=Ze;Rt>0;){var Yt=Rt-1>>>1,Jt=ie[Yt];if(Se(Jt,De)>0)ie[Yt]=De,ie[Rt]=Jt,Rt=Yt;else return}}function Z(ie,De,Ze){for(var Rt=Ze,Yt=ie.length,Jt=Yt>>>1;RtZe&&(!ie||Je()));){var Rt=ce.callback;if(typeof Rt=="function"){ce.callback=null,le=ce.priorityLevel;var Yt=ce.expirationTime<=Ze,Jt=Rt(Yt);Ze=T.unstable_now(),typeof Jt=="function"?ce.callback=Jt:ce===pe(K)&&Oe(K),Le(Ze)}else Oe(K);ce=pe(K)}if(ce!==null)return!0;var Dt=pe(Bt);return Dt!==null&&dn(Qe,Dt.startTime-Ze),!1}function Kt(ie,De){switch(ie){case se:case it:case W:case D:case oe:break;default:ie=W}var Ze=le;le=ie;try{return De()}finally{le=Ze}}function Ot(ie){var De;switch(le){case se:case it:case W:De=W;break;default:De=le;break}var Ze=le;le=De;try{return ie()}finally{le=Ze}}function lt(ie){var De=le;return function(){var Ze=le;le=De;try{return ie.apply(this,arguments)}finally{le=Ze}}}function rn(ie,De,Ze){var Rt=T.unstable_now(),Yt;if(typeof Ze=="object"&&Ze!==null){var Jt=Ze.delay;typeof Jt=="number"&&Jt>0?Yt=Rt+Jt:Yt=Rt}else Yt=Rt;var Dt;switch(ie){case se:Dt=mt;break;case it:Dt=_e;break;case oe:Dt=nt;break;case D:Dt=V;break;case W:default:Dt=Me;break}var _n=Yt+Dt,Pt={id:He++,callback:De,priorityLevel:ie,startTime:Yt,expirationTime:_n,sortIndex:-1};return Yt>Rt?(Pt.sortIndex=Yt,xe(Bt,Pt),pe(K)===null&&Pt===pe(Bt)&&(ze?Zn():ze=!0,dn(Qe,Yt-Rt))):(Pt.sortIndex=_n,xe(K,Pt),!yt&&!ht&&(yt=!0,Zt(Qt))),Pt}function Yn(){}function on(){!yt&&!ht&&(yt=!0,Zt(Qt))}function mn(){return pe(K)}function H(ie){ie.callback=null}function te(){return le}var ye=!1,Re=null,ge=-1,qe=he,ut=-1;function Je(){var ie=T.unstable_now()-ut;return!(ie125){console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported");return}ie>0?qe=Math.floor(1e3/ie):qe=he}var $t=function(){if(Re!==null){var ie=T.unstable_now();ut=ie;var De=!0,Ze=!0;try{Ze=Re(De,ie)}finally{Ze?tn():(ye=!1,Re=null)}}else ye=!1},tn;if(typeof we=="function")tn=function(){we($t)};else if(typeof MessageChannel<"u"){var gt=new MessageChannel,fn=gt.port2;gt.port1.onmessage=$t,tn=function(){fn.postMessage(null)}}else tn=function(){q($t,0)};function Zt(ie){Re=ie,ye||(ye=!0,tn())}function dn(ie,De){ge=q(function(){ie(T.unstable_now())},De)}function Zn(){Ae(ge),ge=-1}var sa=Ke,Na=null;T.unstable_IdlePriority=oe,T.unstable_ImmediatePriority=se,T.unstable_LowPriority=D,T.unstable_NormalPriority=W,T.unstable_Profiling=Na,T.unstable_UserBlockingPriority=it,T.unstable_cancelCallback=H,T.unstable_continueExecution=on,T.unstable_forceFrameRate=Wt,T.unstable_getCurrentPriorityLevel=te,T.unstable_getFirstCallbackNode=mn,T.unstable_next=Ot,T.unstable_pauseExecution=Yn,T.unstable_requestPaint=sa,T.unstable_runWithPriority=Kt,T.unstable_scheduleCallback=rn,T.unstable_shouldYield=Je,T.unstable_wrapCallback=lt,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)})()}(ef)),ef}var gm;function F0(){return gm||(gm=1,Jc.exports=V0()),Jc.exports}var ua={},bm;function B0(){if(bm)return ua;bm=1;/** * @license React * react-dom.development.js * @@ -65,15 +65,15 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var T=Jc(),_=PS(),he=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Me=!1;function ce(e){Me=e}function Be(e){if(!Me){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a1?t-1:0),a=1;a2&&(e[0]==="o"||e[0]==="O")&&(e[1]==="n"||e[1]==="N")}function Qt(e,t,n,a){if(n!==null&&n.type===Et)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":{if(a)return!1;if(n!==null)return!n.acceptsBooleans;var r=e.toLowerCase().slice(0,5);return r!=="data-"&&r!=="aria-"}default:return!1}}function sn(e,t,n,a){if(t===null||typeof t>"u"||Qt(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case Zt:return!t;case un:return t===!1;case zn:return isNaN(t);case Xa:return isNaN(t)||t<1}return!1}function Yt(e){return g.hasOwnProperty(e)?g[e]:null}function Nt(e,t,n,a,r,i,o){this.acceptsBooleans=t===vn||t===Zt||t===un,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var g={},z=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];z.forEach(function(e){g[e]=new Nt(e,Et,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0],n=e[1];g[t]=new Nt(t,Ft,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){g[e]=new Nt(e,vn,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){g[e]=new Nt(e,vn,!1,e,null,!1,!1)}),["allowFullScreen","async","autoFocus","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope"].forEach(function(e){g[e]=new Nt(e,Zt,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){g[e]=new Nt(e,Zt,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){g[e]=new Nt(e,un,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){g[e]=new Nt(e,Xa,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){g[e]=new Nt(e,zn,!1,e.toLowerCase(),null,!1,!1)});var w=/[\-\:]([a-z])/g,D=function(e){return e[1].toUpperCase()};["accent-height","alignment-baseline","arabic-form","baseline-shift","cap-height","clip-path","clip-rule","color-interpolation","color-interpolation-filters","color-profile","color-rendering","dominant-baseline","enable-background","fill-opacity","fill-rule","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-name","glyph-orientation-horizontal","glyph-orientation-vertical","horiz-adv-x","horiz-origin-x","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","overline-position","overline-thickness","paint-order","panose-1","pointer-events","rendering-intent","shape-rendering","stop-color","stop-opacity","strikethrough-position","strikethrough-thickness","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-rendering","underline-position","underline-thickness","unicode-bidi","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","vector-effect","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","writing-mode","xmlns:xlink","x-height"].forEach(function(e){var t=e.replace(w,D);g[t]=new Nt(t,Ft,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(w,D);g[t]=new Nt(t,Ft,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(w,D);g[t]=new Nt(t,Ft,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){g[e]=new Nt(e,Ft,!1,e.toLowerCase(),null,!1,!1)});var O="xlinkHref";g[O]=new Nt("xlinkHref",Ft,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){g[e]=new Nt(e,Ft,!1,e.toLowerCase(),null,!0,!0)});var F=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,U=!1;function pe(e){!U&&F.test(e)&&(U=!0,d("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.",JSON.stringify(e)))}function Y(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{qe(n,t),a.sanitizeURL&&pe(""+n);var i=a.attributeName,o=null;if(a.type===un){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:sn(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(sn(t,n,a,!1))return e.getAttribute(i);if(a.type===Zt)return n;o=e.getAttribute(i)}return sn(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function ke(e,t,n,a){{if(!Vt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return qe(n,t),r===""+n?n:r}}function ze(e,t,n,a){var r=Yt(t);if(!jt(t,r,a)){if(sn(t,n,r,a)&&(n=null),a||r===null){if(Vt(t)){var i=t;n===null?e.removeAttribute(i):(qe(n,t),e.setAttribute(i,""+n))}return}var o=r.mustUseProperty;if(o){var l=r.propertyName;if(n===null){var u=r.type;e[l]=u===Zt?!1:""}else e[l]=n;return}var c=r.attributeName,f=r.attributeNamespace;if(n===null)e.removeAttribute(c);else{var y=r.type,h;y===Zt||y===un&&n===!0?h="":(qe(n,c),h=""+n,r.sanitizeURL&&pe(h.toString())),f?e.setAttributeNS(f,c,h):e.setAttribute(c,h)}}}var se=Symbol.for("react.element"),He=Symbol.for("react.portal"),tt=Symbol.for("react.fragment"),_n=Symbol.for("react.strict_mode"),gn=Symbol.for("react.profiler"),Aa=Symbol.for("react.provider"),p=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),G=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),be=Symbol.for("react.memo"),De=Symbol.for("react.lazy"),Ve=Symbol.for("react.scope"),Fe=Symbol.for("react.debug_trace_mode"),an=Symbol.for("react.offscreen"),Bt=Symbol.for("react.legacy_hidden"),rt=Symbol.for("react.cache"),Xe=Symbol.for("react.tracing_marker"),On=Symbol.iterator,bn="@@iterator";function Ut(e){if(e===null||typeof e!="object")return null;var t=On&&e[On]||e[bn];return typeof t=="function"?t:null}var Ze=Object.assign,cr=0,Wi,Bu,Ar,Ko,Jo,Zo,el;function tl(){}tl.__reactDisabledLog=!0;function Pu(){{if(cr===0){Wi=console.log,Bu=console.info,Ar=console.warn,Ko=console.error,Jo=console.group,Zo=console.groupCollapsed,el=console.groupEnd;var e={configurable:!0,enumerable:!0,value:tl,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}cr++}}function $u(){{if(cr--,cr===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Ze({},e,{value:Wi}),info:Ze({},e,{value:Bu}),warn:Ze({},e,{value:Ar}),error:Ze({},e,{value:Ko}),group:Ze({},e,{value:Jo}),groupCollapsed:Ze({},e,{value:Zo}),groupEnd:Ze({},e,{value:el})})}cr<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var qi=he.ReactCurrentDispatcher,nl;function Qa(e,t,n){{if(nl===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);nl=a&&a[1]||""}return` -`+nl+e}}var ui=!1,jr;{var Ii=typeof WeakMap=="function"?WeakMap:Map;jr=new Ii}function si(e,t){if(!e||ui)return"";{var n=jr.get(e);if(n!==void 0)return n}var a;ui=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=qi.current,qi.current=null,Pu();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(x){a=x}Reflect.construct(e,[],o)}else{try{o.call()}catch(x){a=x}e.call(o.prototype)}}else{try{throw Error()}catch(x){a=x}e()}}catch(x){if(x&&a&&typeof x.stack=="string"){for(var l=x.stack.split(` + */return function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var T=Zc(),M=F0(),he=T.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,xe=!1;function pe(e){xe=e}function Oe(e){if(!xe){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a1?t-1:0),a=1;a2&&(e[0]==="o"||e[0]==="O")&&(e[1]==="n"||e[1]==="N")}function Dt(e,t,n,a){if(n!==null&&n.type===tn)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":{if(a)return!1;if(n!==null)return!n.acceptsBooleans;var r=e.toLowerCase().slice(0,5);return r!=="data-"&&r!=="aria-"}default:return!1}}function _n(e,t,n,a){if(t===null||typeof t>"u"||Dt(e,t,n,a))return!0;if(a)return!1;if(n!==null)switch(n.type){case Zt:return!t;case dn:return t===!1;case Zn:return isNaN(t);case sa:return isNaN(t)||t<1}return!1}function Pt(e){return Ft.hasOwnProperty(e)?Ft[e]:null}function Vt(e,t,n,a,r,i,o){this.acceptsBooleans=t===fn||t===Zt||t===dn,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var Ft={},Za=["children","dangerouslySetInnerHTML","defaultValue","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style"];Za.forEach(function(e){Ft[e]=new Vt(e,tn,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0],n=e[1];Ft[t]=new Vt(t,gt,!1,n,null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ft[e]=new Vt(e,fn,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ft[e]=new Vt(e,fn,!1,e,null,!1,!1)}),["allowFullScreen","async","autoFocus","autoPlay","controls","default","defer","disabled","disablePictureInPicture","disableRemotePlayback","formNoValidate","hidden","loop","noModule","noValidate","open","playsInline","readOnly","required","reversed","scoped","seamless","itemScope"].forEach(function(e){Ft[e]=new Vt(e,Zt,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){Ft[e]=new Vt(e,Zt,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){Ft[e]=new Vt(e,dn,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){Ft[e]=new Vt(e,sa,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){Ft[e]=new Vt(e,Zn,!1,e.toLowerCase(),null,!1,!1)});var ha=/[\-\:]([a-z])/g,In=function(e){return e[1].toUpperCase()};["accent-height","alignment-baseline","arabic-form","baseline-shift","cap-height","clip-path","clip-rule","color-interpolation","color-interpolation-filters","color-profile","color-rendering","dominant-baseline","enable-background","fill-opacity","fill-rule","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","glyph-name","glyph-orientation-horizontal","glyph-orientation-vertical","horiz-adv-x","horiz-origin-x","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","overline-position","overline-thickness","paint-order","panose-1","pointer-events","rendering-intent","shape-rendering","stop-color","stop-opacity","strikethrough-position","strikethrough-thickness","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-rendering","underline-position","underline-thickness","unicode-bidi","unicode-range","units-per-em","v-alphabetic","v-hanging","v-ideographic","v-mathematical","vector-effect","vert-adv-y","vert-origin-x","vert-origin-y","word-spacing","writing-mode","xmlns:xlink","x-height"].forEach(function(e){var t=e.replace(ha,In);Ft[t]=new Vt(t,gt,!1,e,null,!1,!1)}),["xlink:actuate","xlink:arcrole","xlink:role","xlink:show","xlink:title","xlink:type"].forEach(function(e){var t=e.replace(ha,In);Ft[t]=new Vt(t,gt,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ha,In);Ft[t]=new Vt(t,gt,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){Ft[e]=new Vt(e,gt,!1,e.toLowerCase(),null,!1,!1)});var ya="xlinkHref";Ft[ya]=new Vt("xlinkHref",gt,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){Ft[e]=new Vt(e,gt,!1,e.toLowerCase(),null,!0,!0)});var Ur=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*\:/i,Hr=!1;function S(e){!Hr&&Ur.test(e)&&(Hr=!0,f("A future version of React will block javascript: URLs as a security precaution. Use event handlers instead if you can. If you need to generate unsafe HTML try using dangerouslySetInnerHTML instead. React was passed %s.",JSON.stringify(e)))}function U(e,t,n,a){if(a.mustUseProperty){var r=a.propertyName;return e[r]}else{qe(n,t),a.sanitizeURL&&S(""+n);var i=a.attributeName,o=null;if(a.type===dn){if(e.hasAttribute(i)){var l=e.getAttribute(i);return l===""?!0:_n(t,n,a,!1)?l:l===""+n?n:l}}else if(e.hasAttribute(i)){if(_n(t,n,a,!1))return e.getAttribute(i);if(a.type===Zt)return n;o=e.getAttribute(i)}return _n(t,n,a,!1)?o===null?n:o:o===""+n?n:o}}function C(e,t,n,a){{if(!Yt(t))return;if(!e.hasAttribute(t))return n===void 0?void 0:null;var r=e.getAttribute(t);return qe(n,t),r===""+n?n:r}}function E(e,t,n,a){var r=Pt(t);if(!Jt(t,r,a)){if(_n(t,n,r,a)&&(n=null),a||r===null){if(Yt(t)){var i=t;n===null?e.removeAttribute(i):(qe(n,t),e.setAttribute(i,""+n))}return}var o=r.mustUseProperty;if(o){var l=r.propertyName;if(n===null){var u=r.type;e[l]=u===Zt?!1:""}else e[l]=n;return}var c=r.attributeName,d=r.attributeNamespace;if(n===null)e.removeAttribute(c);else{var y=r.type,h;y===Zt||y===dn&&n===!0?h="":(qe(n,c),h=""+n,r.sanitizeURL&&S(h.toString())),d?e.setAttributeNS(d,c,h):e.setAttribute(c,h)}}}var b=Symbol.for("react.element"),O=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),I=Symbol.for("react.provider"),p=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),ee=Symbol.for("react.memo"),Ee=Symbol.for("react.lazy"),et=Symbol.for("react.scope"),$e=Symbol.for("react.debug_trace_mode"),Ct=Symbol.for("react.offscreen"),At=Symbol.for("react.legacy_hidden"),st=Symbol.for("react.cache"),ct=Symbol.for("react.tracing_marker"),vn=Symbol.iterator,un="@@iterator";function bt(e){if(e===null||typeof e!="object")return null;var t=vn&&e[vn]||e[un];return typeof t=="function"?t:null}var Xe=Object.assign,Ua=0,hn,_t,Jn,ga,vr,el,tl;function nl(){}nl.__reactDisabledLog=!0;function Bu(){{if(Ua===0){hn=console.log,_t=console.info,Jn=console.warn,ga=console.error,vr=console.group,el=console.groupCollapsed,tl=console.groupEnd;var e={configurable:!0,enumerable:!0,value:nl,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}Ua++}}function $u(){{if(Ua--,Ua===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Xe({},e,{value:hn}),info:Xe({},e,{value:_t}),warn:Xe({},e,{value:Jn}),error:Xe({},e,{value:ga}),group:Xe({},e,{value:vr}),groupCollapsed:Xe({},e,{value:el}),groupEnd:Xe({},e,{value:tl})})}Ua<0&&f("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Qi=he.ReactCurrentDispatcher,al;function Ja(e,t,n){{if(al===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);al=a&&a[1]||""}return` +`+al+e}}var di=!1,zr;{var Ki=typeof WeakMap=="function"?WeakMap:Map;zr=new Ki}function vi(e,t){if(!e||di)return"";{var n=zr.get(e);if(n!==void 0)return n}var a;di=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var i;i=Qi.current,Qi.current=null,Bu();try{if(t){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(o,[])}catch(k){a=k}Reflect.construct(e,[],o)}else{try{o.call()}catch(k){a=k}e.call(o.prototype)}}else{try{throw Error()}catch(k){a=k}e()}}catch(k){if(k&&a&&typeof k.stack=="string"){for(var l=k.stack.split(` `),u=a.stack.split(` -`),c=l.length-1,f=u.length-1;c>=1&&f>=0&&l[c]!==u[f];)f--;for(;c>=1&&f>=0;c--,f--)if(l[c]!==u[f]){if(c!==1||f!==1)do if(c--,f--,f<0||l[c]!==u[f]){var y=` -`+l[c].replace(" at new "," at ");return e.displayName&&y.includes("")&&(y=y.replace("",e.displayName)),typeof e=="function"&&jr.set(e,y),y}while(c>=1&&f>=0);break}}}finally{ui=!1,qi.current=i,$u(),Error.prepareStackTrace=r}var h=e?e.displayName||e.name:"",E=h?Qa(h):"";return typeof e=="function"&&jr.set(e,E),E}function Xi(e,t,n){return si(e,!0)}function al(e,t,n){return si(e,!1)}function Yu(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function rl(e,t,n){if(e==null)return"";if(typeof e=="function")return si(e,Yu(e));if(typeof e=="string")return Qa(e);switch(e){case G:return Qa("Suspense");case W:return Qa("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case j:return al(e.render);case be:return rl(e.type,t,n);case De:{var a=e,r=a._payload,i=a._init;try{return rl(i(r),t,n)}catch{}}}return""}function af(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case ue:return Qa(e.type);case we:return Qa("Lazy");case te:return Qa("Suspense");case X:return Qa("SuspenseList");case ge:case it:case fe:return al(e.type);case We:return al(e.type.render);case ee:return Xi(e.type);default:return""}}function ci(e){try{var t="",n=e;do t+=af(n),n=n.return;while(n);return t}catch(a){return` +`),c=l.length-1,d=u.length-1;c>=1&&d>=0&&l[c]!==u[d];)d--;for(;c>=1&&d>=0;c--,d--)if(l[c]!==u[d]){if(c!==1||d!==1)do if(c--,d--,d<0||l[c]!==u[d]){var y=` +`+l[c].replace(" at new "," at ");return e.displayName&&y.includes("")&&(y=y.replace("",e.displayName)),typeof e=="function"&&zr.set(e,y),y}while(c>=1&&d>=0);break}}}finally{di=!1,Qi.current=i,$u(),Error.prepareStackTrace=r}var h=e?e.displayName||e.name:"",_=h?Ja(h):"";return typeof e=="function"&&zr.set(e,_),_}function Zi(e,t,n){return vi(e,!0)}function rl(e,t,n){return vi(e,!1)}function Yu(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function il(e,t,n){if(e==null)return"";if(typeof e=="function")return vi(e,Yu(e));if(typeof e=="string")return Ja(e);switch(e){case P:return Ja("Suspense");case G:return Ja("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case g:return rl(e.render);case ee:return il(e.type,t,n);case Ee:{var a=e,r=a._payload,i=a._init;try{return il(i(r),t,n)}catch{}}}return""}function af(e){switch(e._debugOwner&&e._debugOwner.type,e._debugSource,e.tag){case oe:return Ja(e.type);case nt:return Ja("Lazy");case _e:return Ja("Suspense");case He:return Ja("SuspenseList");case Se:case it:case V:return rl(e.type);case J:return rl(e.type.render);case se:return Zi(e.type);default:return""}}function pi(e){try{var t="",n=e;do t+=af(n),n=n.return;while(n);return t}catch(a){return` Error generating stack: `+a.message+` -`+a.stack}}function Gu(e,t,n){var a=e.displayName;if(a)return a;var r=t.displayName||t.name||"";return r!==""?n+"("+r+")":n}function il(e){return e.displayName||"Context"}function yt(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case tt:return"Fragment";case He:return"Portal";case gn:return"Profiler";case _n:return"StrictMode";case G:return"Suspense";case W:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case p:var t=e;return il(t)+".Consumer";case Aa:var n=e;return il(n._context)+".Provider";case j:return Gu(e,e.render,"ForwardRef");case be:var a=e.displayName||null;return a!==null?a:yt(e.type)||"Memo";case De:{var r=e,i=r._payload,o=r._init;try{return yt(o(i))}catch{return null}}}return null}function rf(e,t,n){var a=t.displayName||t.name||"";return e.displayName||(a!==""?n+"("+a+")":n)}function fr(e){return e.displayName||"Context"}function Ie(e){var t=e.tag,n=e.type;switch(t){case _t:return"Cache";case Jt:var a=n;return fr(a)+".Consumer";case ve:var r=n;return fr(r._context)+".Provider";case bt:return"DehydratedFragment";case We:return rf(n,n.render,"ForwardRef");case It:return"Fragment";case ue:return n;case R:return"Portal";case P:return"Root";case Ke:return"Text";case we:return yt(n);case wt:return n===_n?"StrictMode":"Mode";case Le:return"Offscreen";case mt:return"Profiler";case _e:return"Scope";case te:return"Suspense";case X:return"SuspenseList";case zt:return"TracingMarker";case ee:case ge:case ft:case it:case Ee:case fe:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;break}return null}var ol=he.ReactDebugCurrentFrame,ea=null,fi=!1;function Nr(){{if(ea===null)return null;var e=ea._debugOwner;if(e!==null&&typeof e<"u")return Ie(e)}return null}function of(){return ea===null?"":ci(ea)}function Mn(){ol.getCurrentStack=null,ea=null,fi=!1}function en(e){ol.getCurrentStack=e===null?null:of,ea=e,fi=!1}function Wu(){return ea}function Ca(e){fi=e}function ta(e){return""+e}function ja(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return Xt(e),e;default:return""}}var lf={button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0};function ll(e,t){lf[t.type]||t.onChange||t.onInput||t.readOnly||t.disabled||t.value==null||d("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`."),t.onChange||t.readOnly||t.disabled||t.checked==null||d("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")}function qu(e){var t=e.type,n=e.nodeName;return n&&n.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function ul(e){return e._valueTracker}function Qi(e){e._valueTracker=null}function uf(e){var t="";return e&&(qu(e)?t=e.checked?"true":"false":t=e.value),t}function Ur(e){var t=qu(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);Xt(e[t]);var a=""+e[t];if(!(e.hasOwnProperty(t)||typeof n>"u"||typeof n.get!="function"||typeof n.set!="function")){var r=n.get,i=n.set;Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(l){Xt(l),a=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable});var o={getValue:function(){return a},setValue:function(l){Xt(l),a=""+l},stopTracking:function(){Qi(e),delete e[t]}};return o}}function di(e){ul(e)||(e._valueTracker=Ur(e))}function sl(e){if(!e)return!1;var t=ul(e);if(!t)return!0;var n=t.getValue(),a=uf(e);return a!==n?(t.setValue(a),!0):!1}function dr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Ki=!1,Ji=!1,Zi=!1,Iu=!1;function Xu(e){var t=e.type==="checkbox"||e.type==="radio";return t?e.checked!=null:e.value!=null}function cl(e,t){var n=e,a=t.checked,r=Ze({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??n._wrapperState.initialChecked});return r}function Qu(e,t){ll("input",t),t.checked!==void 0&&t.defaultChecked!==void 0&&!Ji&&(d("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components",Nr()||"A component",t.type),Ji=!0),t.value!==void 0&&t.defaultValue!==void 0&&!Ki&&(d("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://reactjs.org/link/controlled-components",Nr()||"A component",t.type),Ki=!0);var n=e,a=t.defaultValue==null?"":t.defaultValue;n._wrapperState={initialChecked:t.checked!=null?t.checked:t.defaultChecked,initialValue:ja(t.value!=null?t.value:a),controlled:Xu(t)}}function s(e,t){var n=e,a=t.checked;a!=null&&ze(n,"checked",a,!1)}function m(e,t){var n=e;{var a=Xu(t);!n._wrapperState.controlled&&a&&!Iu&&(d("A component is changing an uncontrolled input to be controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),Iu=!0),n._wrapperState.controlled&&!a&&!Zi&&(d("A component is changing a controlled input to be uncontrolled. This is likely caused by the value changing from a defined to undefined, which should not happen. Decide between using a controlled or uncontrolled input element for the lifetime of the component. More info: https://reactjs.org/link/controlled-components"),Zi=!0)}s(e,t);var r=ja(t.value),i=t.type;if(r!=null)i==="number"?(r===0&&n.value===""||n.value!=r)&&(n.value=ta(r)):n.value!==ta(r)&&(n.value=ta(r));else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?Ae(n,t.type,r):t.hasOwnProperty("defaultValue")&&Ae(n,t.type,ja(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(n.defaultChecked=!!t.defaultChecked)}function C(e,t,n){var a=e;if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type,i=r==="submit"||r==="reset";if(i&&(t.value===void 0||t.value===null))return;var o=ta(a._wrapperState.initialValue);n||o!==a.value&&(a.value=o),a.defaultValue=o}var l=a.name;l!==""&&(a.name=""),a.defaultChecked=!a.defaultChecked,a.defaultChecked=!!a._wrapperState.initialChecked,l!==""&&(a.name=l)}function M(e,t){var n=e;m(n,t),$(n,t)}function $(e,t){var n=t.name;if(t.type==="radio"&&n!=null){for(var a=e;a.parentNode;)a=a.parentNode;qe(n,"name");for(var r=a.querySelectorAll("input[name="+JSON.stringify(""+n)+'][type="radio"]'),i=0;i.")))}):t.dangerouslySetInnerHTML!=null&&(lt||(lt=!0,d("Pass a `value` prop if you set dangerouslyInnerHTML so React knows which value should be selected.")))),t.selected!=null&&!me&&(d("Use the `defaultValue` or `value` props on instead of setting `selected` on