diff --git a/docs/assets/js/standalone.css b/docs/assets/js/standalone.css new file mode 100644 index 0000000..8489364 --- /dev/null +++ b/docs/assets/js/standalone.css @@ -0,0 +1 @@ +.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-xl:80rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!relative{position:relative!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.\!inset-auto{inset:auto!important}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\.5{top:calc(var(--spacing)*1.5)}.top-1\/2{top:50%}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-4{top:calc(var(--spacing)*4)}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3\.5{margin-inline:calc(var(--spacing)*3.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.\!h-full{height:100%!important}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[11px\]{height:11px}.h-\[450px\]{height:450px}.h-\[600px\]{height:600px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-10{width:calc(var(--spacing)*10)}.w-\[11px\]{width:11px}.w-\[180px\]{width:180px}.w-\[300px\]{width:300px}.w-\[500px\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[100px\]{min-width:100px}.min-w-\[150px\]{min-width:150px}.min-w-\[200px\]{min-width:200px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[10px\]{--tw-translate-x:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[10px\]{--tw-translate-y:10px;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-slate-300{border-color:var(--color-slate-300)}.border-transparent{border-color:#0000}.border-b-primary{border-bottom-color:var(--primary)}.border-b-transparent{border-bottom-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background,.bg-background\/50{background-color:var(--background)}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/20{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--primary)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-6{padding-block:calc(var(--spacing)*6)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-8{padding-right:calc(var(--spacing)*8)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-\[116px\]{padding-left:116px}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-input{color:var(--input)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground)70%,transparent)}}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-primary\/20{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.ring-primary\/20{--tw-ring-color:color-mix(in oklab,var(--primary)20%,transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing)*8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing)*-8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing)*8)!important;height:calc(var(--spacing)*8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing)*4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing)*2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width)*-1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing)*0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing)*-4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing)*0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing)*1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing)*2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing)*1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing)*-2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing)*0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing)*2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing)*0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing)*2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-secondary:is(.dark *){border-color:var(--secondary)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\:bg-secondary:is(.dark *){background-color:var(--secondary)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing)*-2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing)*-2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.pynodeflow-container{width:100%;height:100%;min-height:400px}.react-flow__handle{background:hsl(var(--primary));border:2px solid #fff;width:12px;height:12px}.react-flow__handle:hover{background:hsl(var(--primary)/.8)}.handle-wrapper{align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.handle-input{flex-direction:row;justify-content:flex-start}.handle-output{flex-direction:row-reverse;justify-content:flex-end}.handle-base .handle-connector{flex-shrink:0}.handle-base .handle-label{color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500}.handle-labeled .handle-connector{flex-shrink:0}.handle-labeled .handle-label{color:hsl(var(--foreground));font-size:.875rem;font-weight:500}.handle-button{background:hsl(var(--secondary));border:2px solid hsl(var(--border));cursor:pointer;border-radius:6px;min-width:120px;padding:8px 16px;transition:all .2s}.handle-button:hover{background:hsl(var(--accent));border-color:hsl(var(--primary));box-shadow:0 2px 4px #0000001a}.handle-button .handle-connector{flex-shrink:0}.handle-button .handle-label{color:hsl(var(--foreground));-webkit-user-select:none;user-select:none;text-align:center;flex:1;font-size:.875rem;font-weight:600}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes pulse{50%{opacity:.5}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}} diff --git a/docs/assets/js/standalone.iife.js b/docs/assets/js/standalone.iife.js new file mode 100644 index 0000000..127e2af --- /dev/null +++ b/docs/assets/js/standalone.iife.js @@ -0,0 +1,162 @@ +var x8=Object.defineProperty;var _8=(Dr,Ft,tr)=>Ft in Dr?x8(Dr,Ft,{enumerable:!0,configurable:!0,writable:!0,value:tr}):Dr[Ft]=tr;var Gu=(Dr,Ft,tr)=>_8(Dr,typeof Ft!="symbol"?Ft+"":Ft,tr);(function(){"use strict";function Dr(e,t){for(var r=0;ro[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Ft=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function tr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yu={exports:{}},Ei={},Ku={exports:{}},Ae={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var n0;function OA(){if(n0)return Ae;n0=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;function m(D){return D===null||typeof D!="object"?null:(D=p&&D[p]||D["@@iterator"],typeof D=="function"?D:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,y={};function x(D,W,ie){this.props=D,this.context=W,this.refs=y,this.updater=ie||w}x.prototype.isReactComponent={},x.prototype.setState=function(D,W){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,W,"setState")},x.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function b(){}b.prototype=x.prototype;function C(D,W,ie){this.props=D,this.context=W,this.refs=y,this.updater=ie||w}var _=C.prototype=new b;_.constructor=C,E(_,x.prototype),_.isPureReactComponent=!0;var k=Array.isArray,R=Object.prototype.hasOwnProperty,T={current:null},A={key:!0,ref:!0,__self:!0,__source:!0};function O(D,W,ie){var F,Z={},ee=null,K=null;if(W!=null)for(F in W.ref!==void 0&&(K=W.ref),W.key!==void 0&&(ee=""+W.key),W)R.call(W,F)&&!A.hasOwnProperty(F)&&(Z[F]=W[F]);var te=arguments.length-2;if(te===1)Z.children=ie;else if(1>>1,W=M[D];if(0>>1;Ds(Z,Q))ees(K,Z)?(M[D]=K,M[ee]=Q,D=ee):(M[D]=Z,M[F]=Q,D=F);else if(ees(K,Q))M[D]=K,M[ee]=Q,D=ee;else break e}}return q}function s(M,q){var Q=M.sortIndex-q.sortIndex;return Q!==0?Q:M.id-q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var l=Date,u=l.now();e.unstable_now=function(){return l.now()-u}}var f=[],d=[],h=1,p=null,m=3,w=!1,E=!1,y=!1,x=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(M){for(var q=r(d);q!==null;){if(q.callback===null)o(d);else if(q.startTime<=M)o(d),q.sortIndex=q.expirationTime,t(f,q);else break;q=r(d)}}function k(M){if(y=!1,_(M),!E)if(r(f)!==null)E=!0,$(R);else{var q=r(d);q!==null&&Y(k,q.startTime-M)}}function R(M,q){E=!1,y&&(y=!1,b(O),O=-1),w=!0;var Q=m;try{for(_(q),p=r(f);p!==null&&(!(p.expirationTime>q)||M&&!B());){var D=p.callback;if(typeof D=="function"){p.callback=null,m=p.priorityLevel;var W=D(p.expirationTime<=q);q=e.unstable_now(),typeof W=="function"?p.callback=W:p===r(f)&&o(f),_(q)}else o(f);p=r(f)}if(p!==null)var ie=!0;else{var F=r(d);F!==null&&Y(k,F.startTime-q),ie=!1}return ie}finally{p=null,m=Q,w=!1}}var T=!1,A=null,O=-1,j=5,G=-1;function B(){return!(e.unstable_now()-GM||125D?(M.sortIndex=Q,t(d,M),r(f)===null&&M===r(d)&&(y?(b(O),O=-1):y=!0,Y(k,Q-D))):(M.sortIndex=W,t(f,M),E||w||(E=!0,$(R))),M},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(M){var q=m;return function(){var Q=m;m=q;try{return M.apply(this,arguments)}finally{m=Q}}}})(Zu)),Zu}var a0;function qA(){return a0||(a0=1,Qu.exports=jA()),Qu.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var l0;function zA(){if(l0)return _t;l0=1;var e=Ci(),t=qA();function r(n){for(var i="https://reactjs.org/docs/error-decoder.html?invariant="+n,c=1;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),f=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},p={};function m(n){return f.call(p,n)?!0:f.call(h,n)?!1:d.test(n)?p[n]=!0:(h[n]=!0,!1)}function w(n,i,c,g){if(c!==null&&c.type===0)return!1;switch(typeof i){case"function":case"symbol":return!0;case"boolean":return g?!1:c!==null?!c.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function E(n,i,c,g){if(i===null||typeof i>"u"||w(n,i,c,g))return!0;if(g)return!1;if(c!==null)switch(c.type){case 3:return!i;case 4:return i===!1;case 5:return isNaN(i);case 6:return isNaN(i)||1>i}return!1}function y(n,i,c,g,v,S,P){this.acceptsBooleans=i===2||i===3||i===4,this.attributeName=g,this.attributeNamespace=v,this.mustUseProperty=c,this.propertyName=n,this.type=i,this.sanitizeURL=S,this.removeEmptyString=P}var x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){x[n]=new y(n,0,!1,n,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var i=n[0];x[i]=new y(i,1,!1,n[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(n){x[n]=new y(n,2,!1,n.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){x[n]=new y(n,2,!1,n,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){x[n]=new y(n,3,!1,n.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(n){x[n]=new y(n,3,!0,n,null,!1,!1)}),["capture","download"].forEach(function(n){x[n]=new y(n,4,!1,n,null,!1,!1)}),["cols","rows","size","span"].forEach(function(n){x[n]=new y(n,6,!1,n,null,!1,!1)}),["rowSpan","start"].forEach(function(n){x[n]=new y(n,5,!1,n.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function C(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var i=n.replace(b,C);x[i]=new y(i,1,!1,n,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var i=n.replace(b,C);x[i]=new y(i,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(n){var i=n.replace(b,C);x[i]=new y(i,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(n){x[n]=new y(n,1,!1,n.toLowerCase(),null,!1,!1)}),x.xlinkHref=new y("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(n){x[n]=new y(n,1,!1,n.toLowerCase(),null,!0,!0)});function _(n,i,c,g){var v=x.hasOwnProperty(i)?x[i]:null;(v!==null?v.type!==0:g||!(2z||v[P]!==S[z]){var U=` +`+v[P].replace(" at new "," at ");return n.displayName&&U.includes("")&&(U=U.replace("",n.displayName)),U}while(1<=P&&0<=z);break}}}finally{ie=!1,Error.prepareStackTrace=c}return(n=n?n.displayName||n.name:"")?W(n):""}function Z(n){switch(n.tag){case 5:return W(n.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return n=F(n.type,!1),n;case 11:return n=F(n.type.render,!1),n;case 1:return n=F(n.type,!0),n;default:return""}}function ee(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case A:return"Fragment";case T:return"Portal";case j:return"Profiler";case O:return"StrictMode";case X:return"Suspense";case L:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case B:return(n.displayName||"Context")+".Consumer";case G:return(n._context.displayName||"Context")+".Provider";case V:var i=n.render;return n=n.displayName,n||(n=i.displayName||i.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case H:return i=n.displayName||null,i!==null?i:ee(n.type)||"Memo";case $:i=n._payload,n=n._init;try{return ee(n(i))}catch{}}return null}function K(n){var i=n.type;switch(n.tag){case 24:return"Cache";case 9:return(i.displayName||"Context")+".Consumer";case 10:return(i._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=i.render,n=n.displayName||n.name||"",i.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return i;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ee(i);case 8:return i===O?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i}return null}function te(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function se(n){var i=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function ae(n){var i=se(n)?"checked":"value",c=Object.getOwnPropertyDescriptor(n.constructor.prototype,i),g=""+n[i];if(!n.hasOwnProperty(i)&&typeof c<"u"&&typeof c.get=="function"&&typeof c.set=="function"){var v=c.get,S=c.set;return Object.defineProperty(n,i,{configurable:!0,get:function(){return v.call(this)},set:function(P){g=""+P,S.call(this,P)}}),Object.defineProperty(n,i,{enumerable:c.enumerable}),{getValue:function(){return g},setValue:function(P){g=""+P},stopTracking:function(){n._valueTracker=null,delete n[i]}}}}function ce(n){n._valueTracker||(n._valueTracker=ae(n))}function de(n){if(!n)return!1;var i=n._valueTracker;if(!i)return!0;var c=i.getValue(),g="";return n&&(g=se(n)?n.checked?"true":"false":n.value),n=g,n!==c?(i.setValue(n),!0):!1}function pe(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function be(n,i){var c=i.checked;return Q({},i,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:c??n._wrapperState.initialChecked})}function me(n,i){var c=i.defaultValue==null?"":i.defaultValue,g=i.checked!=null?i.checked:i.defaultChecked;c=te(i.value!=null?i.value:c),n._wrapperState={initialChecked:g,initialValue:c,controlled:i.type==="checkbox"||i.type==="radio"?i.checked!=null:i.value!=null}}function Re(n,i){i=i.checked,i!=null&&_(n,"checked",i,!1)}function Ee(n,i){Re(n,i);var c=te(i.value),g=i.type;if(c!=null)g==="number"?(c===0&&n.value===""||n.value!=c)&&(n.value=""+c):n.value!==""+c&&(n.value=""+c);else if(g==="submit"||g==="reset"){n.removeAttribute("value");return}i.hasOwnProperty("value")?He(n,i.type,c):i.hasOwnProperty("defaultValue")&&He(n,i.type,te(i.defaultValue)),i.checked==null&&i.defaultChecked!=null&&(n.defaultChecked=!!i.defaultChecked)}function Qe(n,i,c){if(i.hasOwnProperty("value")||i.hasOwnProperty("defaultValue")){var g=i.type;if(!(g!=="submit"&&g!=="reset"||i.value!==void 0&&i.value!==null))return;i=""+n._wrapperState.initialValue,c||i===n.value||(n.value=i),n.defaultValue=i}c=n.name,c!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,c!==""&&(n.name=c)}function He(n,i,c){(i!=="number"||pe(n.ownerDocument)!==n)&&(c==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+c&&(n.defaultValue=""+c))}var Ht=Array.isArray;function pt(n,i,c,g){if(n=n.options,i){i={};for(var v=0;v"+i.valueOf().toString()+"",i=Et.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;i.firstChild;)n.appendChild(i.firstChild)}});function Gt(n,i){if(i){var c=n.firstChild;if(c&&c===n.lastChild&&c.nodeType===3){c.nodeValue=i;return}}n.textContent=i}var Un={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ko=["Webkit","ms","Moz","O"];Object.keys(Un).forEach(function(n){Ko.forEach(function(i){i=i+n.charAt(0).toUpperCase()+n.substring(1),Un[i]=Un[n]})});function Ot(n,i,c){return i==null||typeof i=="boolean"||i===""?"":c||typeof i!="number"||i===0||Un.hasOwnProperty(n)&&Un[n]?(""+i).trim():i+"px"}function Yt(n,i){n=n.style;for(var c in i)if(i.hasOwnProperty(c)){var g=c.indexOf("--")===0,v=Ot(c,i[c],g);c==="float"&&(c="cssFloat"),g?n.setProperty(c,v):n[c]=v}}var cv=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ds(n,i){if(i){if(cv[n]&&(i.children!=null||i.dangerouslySetInnerHTML!=null))throw Error(r(137,n));if(i.dangerouslySetInnerHTML!=null){if(i.children!=null)throw Error(r(60));if(typeof i.dangerouslySetInnerHTML!="object"||!("__html"in i.dangerouslySetInnerHTML))throw Error(r(61))}if(i.style!=null&&typeof i.style!="object")throw Error(r(62))}}function hs(n,i){if(n.indexOf("-")===-1)return typeof i.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ps=null;function gs(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var ms=null,pr=null,gr=null;function Ml(n){if(n=Fs(n)){if(typeof ms!="function")throw Error(r(280));var i=n.stateNode;i&&(i=lu(i),ms(n.stateNode,n.type,i))}}function Ol(n){pr?gr?gr.push(n):gr=[n]:pr=n}function Ll(){if(pr){var n=pr,i=gr;if(gr=pr=null,Ml(n),i)for(n=0;n>>=0,n===0?32:31-(xv(n)/_v|0)|0}var Jo=64,ei=4194304;function In(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function ti(n,i){var c=n.pendingLanes;if(c===0)return 0;var g=0,v=n.suspendedLanes,S=n.pingedLanes,P=c&268435455;if(P!==0){var z=P&~v;z!==0?g=In(z):(S&=P,S!==0&&(g=In(S)))}else P=c&~v,P!==0?g=In(P):S!==0&&(g=In(S));if(g===0)return 0;if(i!==0&&i!==g&&(i&v)===0&&(v=g&-g,S=i&-i,v>=S||v===16&&(S&4194240)!==0))return i;if((g&4)!==0&&(g|=c&16),i=n.entangledLanes,i!==0)for(n=n.entanglements,i&=g;0c;c++)i.push(n);return i}function mr(n,i,c){n.pendingLanes|=i,i!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,i=31-Lt(i),n[i]=c}function $V(n,i){var c=n.pendingLanes&~i;n.pendingLanes=i,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=i,n.mutableReadLanes&=i,n.entangledLanes&=i,i=n.entanglements;var g=n.eventTimes;for(n=n.expirationTimes;0=As),NP=" ",RP=!1;function PP(n,i){switch(n){case"keyup":return gH.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function TP(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var oi=!1;function vH(n,i){switch(n){case"compositionend":return TP(i);case"keypress":return i.which!==32?null:(RP=!0,NP);case"textInput":return n=i.data,n===NP&&RP?null:n;default:return null}}function yH(n,i){if(oi)return n==="compositionend"||!Dv&&PP(n,i)?(n=_P(),Ql=Tv=_r=null,oi=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1=i)return{node:c,offset:i-n};n=g}e:{for(;c;){if(c.nextSibling){c=c.nextSibling;break e}c=c.parentNode}c=void 0}c=jP(c)}}function zP(n,i){return n&&i?n===i?!0:n&&n.nodeType===3?!1:i&&i.nodeType===3?zP(n,i.parentNode):"contains"in n?n.contains(i):n.compareDocumentPosition?!!(n.compareDocumentPosition(i)&16):!1:!1}function FP(){for(var n=window,i=pe();i instanceof n.HTMLIFrameElement;){try{var c=typeof i.contentWindow.location.href=="string"}catch{c=!1}if(c)n=i.contentWindow;else break;i=pe(n.document)}return i}function zv(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i&&(i==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||i==="textarea"||n.contentEditable==="true")}function NH(n){var i=FP(),c=n.focusedElem,g=n.selectionRange;if(i!==c&&c&&c.ownerDocument&&zP(c.ownerDocument.documentElement,c)){if(g!==null&&zv(c)){if(i=g.start,n=g.end,n===void 0&&(n=i),"selectionStart"in c)c.selectionStart=i,c.selectionEnd=Math.min(n,c.value.length);else if(n=(i=c.ownerDocument||document)&&i.defaultView||window,n.getSelection){n=n.getSelection();var v=c.textContent.length,S=Math.min(g.start,v);g=g.end===void 0?S:Math.min(g.end,v),!n.extend&&S>g&&(v=g,g=S,S=v),v=qP(c,S);var P=qP(c,g);v&&P&&(n.rangeCount!==1||n.anchorNode!==v.node||n.anchorOffset!==v.offset||n.focusNode!==P.node||n.focusOffset!==P.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),n.removeAllRanges(),S>g?(n.addRange(i),n.extend(P.node,P.offset)):(i.setEnd(P.node,P.offset),n.addRange(i)))}}for(i=[],n=c;n=n.parentNode;)n.nodeType===1&&i.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;c=document.documentMode,ii=null,Fv=null,Ls=null,$v=!1;function $P(n,i,c){var g=c.window===c?c.document:c.nodeType===9?c:c.ownerDocument;$v||ii==null||ii!==pe(g)||(g=ii,"selectionStart"in g&&zv(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),Ls&&Os(Ls,g)||(Ls=g,g=iu(Fv,"onSelect"),0ci||(n.current=Jv[ci],Jv[ci]=null,ci--)}function De(n,i){ci++,Jv[ci]=n.current,n.current=i}var Cr={},gt=Er(Cr),Ct=Er(!1),ao=Cr;function fi(n,i){var c=n.type.contextTypes;if(!c)return Cr;var g=n.stateNode;if(g&&g.__reactInternalMemoizedUnmaskedChildContext===i)return g.__reactInternalMemoizedMaskedChildContext;var v={},S;for(S in c)v[S]=i[S];return g&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=i,n.__reactInternalMemoizedMaskedChildContext=v),v}function kt(n){return n=n.childContextTypes,n!=null}function uu(){qe(Ct),qe(gt)}function nT(n,i,c){if(gt.current!==Cr)throw Error(r(168));De(gt,i),De(Ct,c)}function rT(n,i,c){var g=n.stateNode;if(i=i.childContextTypes,typeof g.getChildContext!="function")return c;g=g.getChildContext();for(var v in g)if(!(v in i))throw Error(r(108,K(n)||"Unknown",v));return Q({},c,g)}function cu(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||Cr,ao=gt.current,De(gt,n),De(Ct,Ct.current),!0}function oT(n,i,c){var g=n.stateNode;if(!g)throw Error(r(169));c?(n=rT(n,i,ao),g.__reactInternalMemoizedMergedChildContext=n,qe(Ct),qe(gt),De(gt,n)):qe(Ct),De(Ct,c)}var Yn=null,fu=!1,ey=!1;function iT(n){Yn===null?Yn=[n]:Yn.push(n)}function zH(n){fu=!0,iT(n)}function kr(){if(!ey&&Yn!==null){ey=!0;var n=0,i=Le;try{var c=Yn;for(Le=1;n>=P,v-=P,Kn=1<<32-Lt(i)+v|c<Pe?(ut=Ne,Ne=null):ut=Ne.sibling;var Oe=le(ne,Ne,re[Pe],he);if(Oe===null){Ne===null&&(Ne=ut);break}n&&Ne&&Oe.alternate===null&&i(ne,Ne),J=S(Oe,J,Pe),ke===null?Ce=Oe:ke.sibling=Oe,ke=Oe,Ne=ut}if(Pe===re.length)return c(ne,Ne),Be&&uo(ne,Pe),Ce;if(Ne===null){for(;PePe?(ut=Ne,Ne=null):ut=Ne.sibling;var Lr=le(ne,Ne,Oe.value,he);if(Lr===null){Ne===null&&(Ne=ut);break}n&&Ne&&Lr.alternate===null&&i(ne,Ne),J=S(Lr,J,Pe),ke===null?Ce=Lr:ke.sibling=Lr,ke=Lr,Ne=ut}if(Oe.done)return c(ne,Ne),Be&&uo(ne,Pe),Ce;if(Ne===null){for(;!Oe.done;Pe++,Oe=re.next())Oe=fe(ne,Oe.value,he),Oe!==null&&(J=S(Oe,J,Pe),ke===null?Ce=Oe:ke.sibling=Oe,ke=Oe);return Be&&uo(ne,Pe),Ce}for(Ne=g(ne,Ne);!Oe.done;Pe++,Oe=re.next())Oe=ge(Ne,ne,Pe,Oe.value,he),Oe!==null&&(n&&Oe.alternate!==null&&Ne.delete(Oe.key===null?Pe:Oe.key),J=S(Oe,J,Pe),ke===null?Ce=Oe:ke.sibling=Oe,ke=Oe);return n&&Ne.forEach(function(w8){return i(ne,w8)}),Be&&uo(ne,Pe),Ce}function Ze(ne,J,re,he){if(typeof re=="object"&&re!==null&&re.type===A&&re.key===null&&(re=re.props.children),typeof re=="object"&&re!==null){switch(re.$$typeof){case R:e:{for(var Ce=re.key,ke=J;ke!==null;){if(ke.key===Ce){if(Ce=re.type,Ce===A){if(ke.tag===7){c(ne,ke.sibling),J=v(ke,re.props.children),J.return=ne,ne=J;break e}}else if(ke.elementType===Ce||typeof Ce=="object"&&Ce!==null&&Ce.$$typeof===$&&fT(Ce)===ke.type){c(ne,ke.sibling),J=v(ke,re.props),J.ref=$s(ne,ke,re),J.return=ne,ne=J;break e}c(ne,ke);break}else i(ne,ke);ke=ke.sibling}re.type===A?(J=yo(re.props.children,ne.mode,he,re.key),J.return=ne,ne=J):(he=zu(re.type,re.key,re.props,null,ne.mode,he),he.ref=$s(ne,J,re),he.return=ne,ne=he)}return P(ne);case T:e:{for(ke=re.key;J!==null;){if(J.key===ke)if(J.tag===4&&J.stateNode.containerInfo===re.containerInfo&&J.stateNode.implementation===re.implementation){c(ne,J.sibling),J=v(J,re.children||[]),J.return=ne,ne=J;break e}else{c(ne,J);break}else i(ne,J);J=J.sibling}J=Qy(re,ne.mode,he),J.return=ne,ne=J}return P(ne);case $:return ke=re._init,Ze(ne,J,ke(re._payload),he)}if(Ht(re))return _e(ne,J,re,he);if(q(re))return Se(ne,J,re,he);gu(ne,re)}return typeof re=="string"&&re!==""||typeof re=="number"?(re=""+re,J!==null&&J.tag===6?(c(ne,J.sibling),J=v(J,re),J.return=ne,ne=J):(c(ne,J),J=Xy(re,ne.mode,he),J.return=ne,ne=J),P(ne)):c(ne,J)}return Ze}var gi=dT(!0),hT=dT(!1),mu=Er(null),vu=null,mi=null,sy=null;function ay(){sy=mi=vu=null}function ly(n){var i=mu.current;qe(mu),n._currentValue=i}function uy(n,i,c){for(;n!==null;){var g=n.alternate;if((n.childLanes&i)!==i?(n.childLanes|=i,g!==null&&(g.childLanes|=i)):g!==null&&(g.childLanes&i)!==i&&(g.childLanes|=i),n===c)break;n=n.return}}function vi(n,i){vu=n,sy=mi=null,n=n.dependencies,n!==null&&n.firstContext!==null&&((n.lanes&i)!==0&&(Nt=!0),n.firstContext=null)}function Zt(n){var i=n._currentValue;if(sy!==n)if(n={context:n,memoizedValue:i,next:null},mi===null){if(vu===null)throw Error(r(308));mi=n,vu.dependencies={lanes:0,firstContext:n}}else mi=mi.next=n;return i}var co=null;function cy(n){co===null?co=[n]:co.push(n)}function pT(n,i,c,g){var v=i.interleaved;return v===null?(c.next=c,cy(i)):(c.next=v.next,v.next=c),i.interleaved=c,Qn(n,g)}function Qn(n,i){n.lanes|=i;var c=n.alternate;for(c!==null&&(c.lanes|=i),c=n,n=n.return;n!==null;)n.childLanes|=i,c=n.alternate,c!==null&&(c.childLanes|=i),c=n,n=n.return;return c.tag===3?c.stateNode:null}var Nr=!1;function fy(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function gT(n,i){n=n.updateQueue,i.updateQueue===n&&(i.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function Zn(n,i){return{eventTime:n,lane:i,tag:0,payload:null,callback:null,next:null}}function Rr(n,i,c){var g=n.updateQueue;if(g===null)return null;if(g=g.shared,(Me&2)!==0){var v=g.pending;return v===null?i.next=i:(i.next=v.next,v.next=i),g.pending=i,Qn(n,c)}return v=g.interleaved,v===null?(i.next=i,cy(g)):(i.next=v.next,v.next=i),g.interleaved=i,Qn(n,c)}function yu(n,i,c){if(i=i.updateQueue,i!==null&&(i=i.shared,(c&4194240)!==0)){var g=i.lanes;g&=n.pendingLanes,c|=g,i.lanes=c,Cv(n,c)}}function mT(n,i){var c=n.updateQueue,g=n.alternate;if(g!==null&&(g=g.updateQueue,c===g)){var v=null,S=null;if(c=c.firstBaseUpdate,c!==null){do{var P={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};S===null?v=S=P:S=S.next=P,c=c.next}while(c!==null);S===null?v=S=i:S=S.next=i}else v=S=i;c={baseState:g.baseState,firstBaseUpdate:v,lastBaseUpdate:S,shared:g.shared,effects:g.effects},n.updateQueue=c;return}n=c.lastBaseUpdate,n===null?c.firstBaseUpdate=i:n.next=i,c.lastBaseUpdate=i}function wu(n,i,c,g){var v=n.updateQueue;Nr=!1;var S=v.firstBaseUpdate,P=v.lastBaseUpdate,z=v.shared.pending;if(z!==null){v.shared.pending=null;var U=z,oe=U.next;U.next=null,P===null?S=oe:P.next=oe,P=U;var ue=n.alternate;ue!==null&&(ue=ue.updateQueue,z=ue.lastBaseUpdate,z!==P&&(z===null?ue.firstBaseUpdate=oe:z.next=oe,ue.lastBaseUpdate=U))}if(S!==null){var fe=v.baseState;P=0,ue=oe=U=null,z=S;do{var le=z.lane,ge=z.eventTime;if((g&le)===le){ue!==null&&(ue=ue.next={eventTime:ge,lane:0,tag:z.tag,payload:z.payload,callback:z.callback,next:null});e:{var _e=n,Se=z;switch(le=i,ge=c,Se.tag){case 1:if(_e=Se.payload,typeof _e=="function"){fe=_e.call(ge,fe,le);break e}fe=_e;break e;case 3:_e.flags=_e.flags&-65537|128;case 0:if(_e=Se.payload,le=typeof _e=="function"?_e.call(ge,fe,le):_e,le==null)break e;fe=Q({},fe,le);break e;case 2:Nr=!0}}z.callback!==null&&z.lane!==0&&(n.flags|=64,le=v.effects,le===null?v.effects=[z]:le.push(z))}else ge={eventTime:ge,lane:le,tag:z.tag,payload:z.payload,callback:z.callback,next:null},ue===null?(oe=ue=ge,U=fe):ue=ue.next=ge,P|=le;if(z=z.next,z===null){if(z=v.shared.pending,z===null)break;le=z,z=le.next,le.next=null,v.lastBaseUpdate=le,v.shared.pending=null}}while(!0);if(ue===null&&(U=fe),v.baseState=U,v.firstBaseUpdate=oe,v.lastBaseUpdate=ue,i=v.shared.interleaved,i!==null){v=i;do P|=v.lane,v=v.next;while(v!==i)}else S===null&&(v.shared.lanes=0);po|=P,n.lanes=P,n.memoizedState=fe}}function vT(n,i,c){if(n=i.effects,i.effects=null,n!==null)for(i=0;ic?c:4,n(!0);var g=my.transition;my.transition={};try{n(!1),i()}finally{Le=c,my.transition=g}}function DT(){return Jt().memoizedState}function VH(n,i,c){var g=Ir(n);if(c={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null},jT(n))qT(i,c);else if(c=pT(n,i,c,g),c!==null){var v=xt();xn(c,n,g,v),zT(c,i,g)}}function HH(n,i,c){var g=Ir(n),v={lane:g,action:c,hasEagerState:!1,eagerState:null,next:null};if(jT(n))qT(i,v);else{var S=n.alternate;if(n.lanes===0&&(S===null||S.lanes===0)&&(S=i.lastRenderedReducer,S!==null))try{var P=i.lastRenderedState,z=S(P,c);if(v.hasEagerState=!0,v.eagerState=z,gn(z,P)){var U=i.interleaved;U===null?(v.next=v,cy(i)):(v.next=U.next,U.next=v),i.interleaved=v;return}}catch{}finally{}c=pT(n,i,v,g),c!==null&&(v=xt(),xn(c,n,g,v),zT(c,i,g))}}function jT(n){var i=n.alternate;return n===Ye||i!==null&&i===Ye}function qT(n,i){Ws=bu=!0;var c=n.pending;c===null?i.next=i:(i.next=c.next,c.next=i),n.pending=i}function zT(n,i,c){if((c&4194240)!==0){var g=i.lanes;g&=n.pendingLanes,c|=g,i.lanes=c,Cv(n,c)}}var Cu={readContext:Zt,useCallback:mt,useContext:mt,useEffect:mt,useImperativeHandle:mt,useInsertionEffect:mt,useLayoutEffect:mt,useMemo:mt,useReducer:mt,useRef:mt,useState:mt,useDebugValue:mt,useDeferredValue:mt,useTransition:mt,useMutableSource:mt,useSyncExternalStore:mt,useId:mt,unstable_isNewReconciler:!1},WH={readContext:Zt,useCallback:function(n,i){return Ln().memoizedState=[n,i===void 0?null:i],n},useContext:Zt,useEffect:RT,useImperativeHandle:function(n,i,c){return c=c!=null?c.concat([n]):null,Su(4194308,4,AT.bind(null,i,n),c)},useLayoutEffect:function(n,i){return Su(4194308,4,n,i)},useInsertionEffect:function(n,i){return Su(4,2,n,i)},useMemo:function(n,i){var c=Ln();return i=i===void 0?null:i,n=n(),c.memoizedState=[n,i],n},useReducer:function(n,i,c){var g=Ln();return i=c!==void 0?c(i):i,g.memoizedState=g.baseState=i,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:i},g.queue=n,n=n.dispatch=VH.bind(null,Ye,n),[g.memoizedState,n]},useRef:function(n){var i=Ln();return n={current:n},i.memoizedState=n},useState:kT,useDebugValue:Sy,useDeferredValue:function(n){return Ln().memoizedState=n},useTransition:function(){var n=kT(!1),i=n[0];return n=BH.bind(null,n[1]),Ln().memoizedState=n,[i,n]},useMutableSource:function(){},useSyncExternalStore:function(n,i,c){var g=Ye,v=Ln();if(Be){if(c===void 0)throw Error(r(407));c=c()}else{if(c=i(),lt===null)throw Error(r(349));(ho&30)!==0||_T(g,i,c)}v.memoizedState=c;var S={value:c,getSnapshot:i};return v.queue=S,RT(ST.bind(null,g,S,n),[n]),g.flags|=2048,Ys(9,bT.bind(null,g,S,c,i),void 0,null),c},useId:function(){var n=Ln(),i=lt.identifierPrefix;if(Be){var c=Xn,g=Kn;c=(g&~(1<<32-Lt(g)-1)).toString(32)+c,i=":"+i+"R"+c,c=Us++,0<\/script>",n=n.removeChild(n.firstChild)):typeof g.is=="string"?n=P.createElement(c,{is:g.is}):(n=P.createElement(c),c==="select"&&(P=n,g.multiple?P.multiple=!0:g.size&&(P.size=g.size))):n=P.createElementNS(n,c),n[Mn]=i,n[zs]=g,iA(n,i,!1,!1),i.stateNode=n;e:{switch(P=hs(c,g),c){case"dialog":je("cancel",n),je("close",n),v=g;break;case"iframe":case"object":case"embed":je("load",n),v=g;break;case"video":case"audio":for(v=0;vbi&&(i.flags|=128,g=!0,Ks(S,!1),i.lanes=4194304)}else{if(!g)if(n=xu(P),n!==null){if(i.flags|=128,g=!0,c=n.updateQueue,c!==null&&(i.updateQueue=c,i.flags|=4),Ks(S,!0),S.tail===null&&S.tailMode==="hidden"&&!P.alternate&&!Be)return vt(i),null}else 2*Ue()-S.renderingStartTime>bi&&c!==1073741824&&(i.flags|=128,g=!0,Ks(S,!1),i.lanes=4194304);S.isBackwards?(P.sibling=i.child,i.child=P):(c=S.last,c!==null?c.sibling=P:i.child=P,S.last=P)}return S.tail!==null?(i=S.tail,S.rendering=i,S.tail=i.sibling,S.renderingStartTime=Ue(),i.sibling=null,c=Ge.current,De(Ge,g?c&1|2:c&1),i):(vt(i),null);case 22:case 23:return Gy(),g=i.memoizedState!==null,n!==null&&n.memoizedState!==null!==g&&(i.flags|=8192),g&&(i.mode&1)!==0?(zt&1073741824)!==0&&(vt(i),i.subtreeFlags&6&&(i.flags|=8192)):vt(i),null;case 24:return null;case 25:return null}throw Error(r(156,i.tag))}function JH(n,i){switch(ny(i),i.tag){case 1:return kt(i.type)&&uu(),n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 3:return yi(),qe(Ct),qe(gt),gy(),n=i.flags,(n&65536)!==0&&(n&128)===0?(i.flags=n&-65537|128,i):null;case 5:return hy(i),null;case 13:if(qe(Ge),n=i.memoizedState,n!==null&&n.dehydrated!==null){if(i.alternate===null)throw Error(r(340));pi()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 19:return qe(Ge),null;case 4:return yi(),null;case 10:return ly(i.type._context),null;case 22:case 23:return Gy(),null;case 24:return null;default:return null}}var Pu=!1,yt=!1,e8=typeof WeakSet=="function"?WeakSet:Set,ye=null;function xi(n,i){var c=n.ref;if(c!==null)if(typeof c=="function")try{c(null)}catch(g){Xe(n,i,g)}else c.current=null}function Ly(n,i,c){try{c()}catch(g){Xe(n,i,g)}}var lA=!1;function t8(n,i){if(Gv=Kl,n=FP(),zv(n)){if("selectionStart"in n)var c={start:n.selectionStart,end:n.selectionEnd};else e:{c=(c=n.ownerDocument)&&c.defaultView||window;var g=c.getSelection&&c.getSelection();if(g&&g.rangeCount!==0){c=g.anchorNode;var v=g.anchorOffset,S=g.focusNode;g=g.focusOffset;try{c.nodeType,S.nodeType}catch{c=null;break e}var P=0,z=-1,U=-1,oe=0,ue=0,fe=n,le=null;t:for(;;){for(var ge;fe!==c||v!==0&&fe.nodeType!==3||(z=P+v),fe!==S||g!==0&&fe.nodeType!==3||(U=P+g),fe.nodeType===3&&(P+=fe.nodeValue.length),(ge=fe.firstChild)!==null;)le=fe,fe=ge;for(;;){if(fe===n)break t;if(le===c&&++oe===v&&(z=P),le===S&&++ue===g&&(U=P),(ge=fe.nextSibling)!==null)break;fe=le,le=fe.parentNode}fe=ge}c=z===-1||U===-1?null:{start:z,end:U}}else c=null}c=c||{start:0,end:0}}else c=null;for(Yv={focusedElem:n,selectionRange:c},Kl=!1,ye=i;ye!==null;)if(i=ye,n=i.child,(i.subtreeFlags&1028)!==0&&n!==null)n.return=i,ye=n;else for(;ye!==null;){i=ye;try{var _e=i.alternate;if((i.flags&1024)!==0)switch(i.tag){case 0:case 11:case 15:break;case 1:if(_e!==null){var Se=_e.memoizedProps,Ze=_e.memoizedState,ne=i.stateNode,J=ne.getSnapshotBeforeUpdate(i.elementType===i.type?Se:vn(i.type,Se),Ze);ne.__reactInternalSnapshotBeforeUpdate=J}break;case 3:var re=i.stateNode.containerInfo;re.nodeType===1?re.textContent="":re.nodeType===9&&re.documentElement&&re.removeChild(re.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(he){Xe(i,i.return,he)}if(n=i.sibling,n!==null){n.return=i.return,ye=n;break}ye=i.return}return _e=lA,lA=!1,_e}function Xs(n,i,c){var g=i.updateQueue;if(g=g!==null?g.lastEffect:null,g!==null){var v=g=g.next;do{if((v.tag&n)===n){var S=v.destroy;v.destroy=void 0,S!==void 0&&Ly(i,c,S)}v=v.next}while(v!==g)}}function Tu(n,i){if(i=i.updateQueue,i=i!==null?i.lastEffect:null,i!==null){var c=i=i.next;do{if((c.tag&n)===n){var g=c.create;c.destroy=g()}c=c.next}while(c!==i)}}function Dy(n){var i=n.ref;if(i!==null){var c=n.stateNode;switch(n.tag){case 5:n=c;break;default:n=c}typeof i=="function"?i(n):i.current=n}}function uA(n){var i=n.alternate;i!==null&&(n.alternate=null,uA(i)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(i=n.stateNode,i!==null&&(delete i[Mn],delete i[zs],delete i[Zv],delete i[jH],delete i[qH])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function cA(n){return n.tag===5||n.tag===3||n.tag===4}function fA(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||cA(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function jy(n,i,c){var g=n.tag;if(g===5||g===6)n=n.stateNode,i?c.nodeType===8?c.parentNode.insertBefore(n,i):c.insertBefore(n,i):(c.nodeType===8?(i=c.parentNode,i.insertBefore(n,c)):(i=c,i.appendChild(n)),c=c._reactRootContainer,c!=null||i.onclick!==null||(i.onclick=au));else if(g!==4&&(n=n.child,n!==null))for(jy(n,i,c),n=n.sibling;n!==null;)jy(n,i,c),n=n.sibling}function qy(n,i,c){var g=n.tag;if(g===5||g===6)n=n.stateNode,i?c.insertBefore(n,i):c.appendChild(n);else if(g!==4&&(n=n.child,n!==null))for(qy(n,i,c),n=n.sibling;n!==null;)qy(n,i,c),n=n.sibling}var ct=null,yn=!1;function Pr(n,i,c){for(c=c.child;c!==null;)dA(n,i,c),c=c.sibling}function dA(n,i,c){if(Kt&&typeof Kt.onCommitFiberUnmount=="function")try{Kt.onCommitFiberUnmount(oo,c)}catch{}switch(c.tag){case 5:yt||xi(c,i);case 6:var g=ct,v=yn;ct=null,Pr(n,i,c),ct=g,yn=v,ct!==null&&(yn?(n=ct,c=c.stateNode,n.nodeType===8?n.parentNode.removeChild(c):n.removeChild(c)):ct.removeChild(c.stateNode));break;case 18:ct!==null&&(yn?(n=ct,c=c.stateNode,n.nodeType===8?Qv(n.parentNode,c):n.nodeType===1&&Qv(n,c),Rs(n)):Qv(ct,c.stateNode));break;case 4:g=ct,v=yn,ct=c.stateNode.containerInfo,yn=!0,Pr(n,i,c),ct=g,yn=v;break;case 0:case 11:case 14:case 15:if(!yt&&(g=c.updateQueue,g!==null&&(g=g.lastEffect,g!==null))){v=g=g.next;do{var S=v,P=S.destroy;S=S.tag,P!==void 0&&((S&2)!==0||(S&4)!==0)&&Ly(c,i,P),v=v.next}while(v!==g)}Pr(n,i,c);break;case 1:if(!yt&&(xi(c,i),g=c.stateNode,typeof g.componentWillUnmount=="function"))try{g.props=c.memoizedProps,g.state=c.memoizedState,g.componentWillUnmount()}catch(z){Xe(c,i,z)}Pr(n,i,c);break;case 21:Pr(n,i,c);break;case 22:c.mode&1?(yt=(g=yt)||c.memoizedState!==null,Pr(n,i,c),yt=g):Pr(n,i,c);break;default:Pr(n,i,c)}}function hA(n){var i=n.updateQueue;if(i!==null){n.updateQueue=null;var c=n.stateNode;c===null&&(c=n.stateNode=new e8),i.forEach(function(g){var v=c8.bind(null,n,g);c.has(g)||(c.add(g),g.then(v,v))})}}function wn(n,i){var c=i.deletions;if(c!==null)for(var g=0;gv&&(v=P),g&=~S}if(g=v,g=Ue()-g,g=(120>g?120:480>g?480:1080>g?1080:1920>g?1920:3e3>g?3e3:4320>g?4320:1960*r8(g/1960))-g,10n?16:n,Ar===null)var g=!1;else{if(n=Ar,Ar=null,Lu=0,(Me&6)!==0)throw Error(r(331));var v=Me;for(Me|=4,ye=n.current;ye!==null;){var S=ye,P=S.child;if((ye.flags&16)!==0){var z=S.deletions;if(z!==null){for(var U=0;UUe()-$y?mo(n,0):Fy|=c),Pt(n,i)}function kA(n,i){i===0&&((n.mode&1)===0?i=1:(i=ei,ei<<=1,(ei&130023424)===0&&(ei=4194304)));var c=xt();n=Qn(n,i),n!==null&&(mr(n,i,c),Pt(n,c))}function u8(n){var i=n.memoizedState,c=0;i!==null&&(c=i.retryLane),kA(n,c)}function c8(n,i){var c=0;switch(n.tag){case 13:var g=n.stateNode,v=n.memoizedState;v!==null&&(c=v.retryLane);break;case 19:g=n.stateNode;break;default:throw Error(r(314))}g!==null&&g.delete(i),kA(n,c)}var NA;NA=function(n,i,c){if(n!==null)if(n.memoizedProps!==i.pendingProps||Ct.current)Nt=!0;else{if((n.lanes&c)===0&&(i.flags&128)===0)return Nt=!1,QH(n,i,c);Nt=(n.flags&131072)!==0}else Nt=!1,Be&&(i.flags&1048576)!==0&&sT(i,hu,i.index);switch(i.lanes=0,i.tag){case 2:var g=i.type;Ru(n,i),n=i.pendingProps;var v=fi(i,gt.current);vi(i,c),v=yy(null,i,g,n,v,c);var S=wy();return i.flags|=1,typeof v=="object"&&v!==null&&typeof v.render=="function"&&v.$$typeof===void 0?(i.tag=1,i.memoizedState=null,i.updateQueue=null,kt(g)?(S=!0,cu(i)):S=!1,i.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,fy(i),v.updater=ku,i.stateNode=v,v._reactInternals=i,Cy(i,g,n,c),i=Py(null,i,g,!0,S,c)):(i.tag=0,Be&&S&&ty(i),wt(null,i,v,c),i=i.child),i;case 16:g=i.elementType;e:{switch(Ru(n,i),n=i.pendingProps,v=g._init,g=v(g._payload),i.type=g,v=i.tag=d8(g),n=vn(g,n),v){case 0:i=Ry(null,i,g,n,c);break e;case 1:i=JT(null,i,g,n,c);break e;case 11:i=YT(null,i,g,n,c);break e;case 14:i=KT(null,i,g,vn(g.type,n),c);break e}throw Error(r(306,g,""))}return i;case 0:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),Ry(n,i,g,v,c);case 1:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),JT(n,i,g,v,c);case 3:e:{if(eA(i),n===null)throw Error(r(387));g=i.pendingProps,S=i.memoizedState,v=S.element,gT(n,i),wu(i,g,null,c);var P=i.memoizedState;if(g=P.element,S.isDehydrated)if(S={element:g,isDehydrated:!1,cache:P.cache,pendingSuspenseBoundaries:P.pendingSuspenseBoundaries,transitions:P.transitions},i.updateQueue.baseState=S,i.memoizedState=S,i.flags&256){v=wi(Error(r(423)),i),i=tA(n,i,g,c,v);break e}else if(g!==v){v=wi(Error(r(424)),i),i=tA(n,i,g,c,v);break e}else for(qt=Sr(i.stateNode.containerInfo.firstChild),jt=i,Be=!0,mn=null,c=hT(i,null,g,c),i.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{if(pi(),g===v){i=Jn(n,i,c);break e}wt(n,i,g,c)}i=i.child}return i;case 5:return yT(i),n===null&&oy(i),g=i.type,v=i.pendingProps,S=n!==null?n.memoizedProps:null,P=v.children,Kv(g,v)?P=null:S!==null&&Kv(g,S)&&(i.flags|=32),ZT(n,i),wt(n,i,P,c),i.child;case 6:return n===null&&oy(i),null;case 13:return nA(n,i,c);case 4:return dy(i,i.stateNode.containerInfo),g=i.pendingProps,n===null?i.child=gi(i,null,g,c):wt(n,i,g,c),i.child;case 11:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),YT(n,i,g,v,c);case 7:return wt(n,i,i.pendingProps,c),i.child;case 8:return wt(n,i,i.pendingProps.children,c),i.child;case 12:return wt(n,i,i.pendingProps.children,c),i.child;case 10:e:{if(g=i.type._context,v=i.pendingProps,S=i.memoizedProps,P=v.value,De(mu,g._currentValue),g._currentValue=P,S!==null)if(gn(S.value,P)){if(S.children===v.children&&!Ct.current){i=Jn(n,i,c);break e}}else for(S=i.child,S!==null&&(S.return=i);S!==null;){var z=S.dependencies;if(z!==null){P=S.child;for(var U=z.firstContext;U!==null;){if(U.context===g){if(S.tag===1){U=Zn(-1,c&-c),U.tag=2;var oe=S.updateQueue;if(oe!==null){oe=oe.shared;var ue=oe.pending;ue===null?U.next=U:(U.next=ue.next,ue.next=U),oe.pending=U}}S.lanes|=c,U=S.alternate,U!==null&&(U.lanes|=c),uy(S.return,c,i),z.lanes|=c;break}U=U.next}}else if(S.tag===10)P=S.type===i.type?null:S.child;else if(S.tag===18){if(P=S.return,P===null)throw Error(r(341));P.lanes|=c,z=P.alternate,z!==null&&(z.lanes|=c),uy(P,c,i),P=S.sibling}else P=S.child;if(P!==null)P.return=S;else for(P=S;P!==null;){if(P===i){P=null;break}if(S=P.sibling,S!==null){S.return=P.return,P=S;break}P=P.return}S=P}wt(n,i,v.children,c),i=i.child}return i;case 9:return v=i.type,g=i.pendingProps.children,vi(i,c),v=Zt(v),g=g(v),i.flags|=1,wt(n,i,g,c),i.child;case 14:return g=i.type,v=vn(g,i.pendingProps),v=vn(g.type,v),KT(n,i,g,v,c);case 15:return XT(n,i,i.type,i.pendingProps,c);case 17:return g=i.type,v=i.pendingProps,v=i.elementType===g?v:vn(g,v),Ru(n,i),i.tag=1,kt(g)?(n=!0,cu(i)):n=!1,vi(i,c),$T(i,g,v),Cy(i,g,v,c),Py(null,i,g,!0,n,c);case 19:return oA(n,i,c);case 22:return QT(n,i,c)}throw Error(r(156,i.tag))};function RA(n,i){return $l(n,i)}function f8(n,i,c,g){this.tag=n,this.key=c,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tn(n,i,c,g){return new f8(n,i,c,g)}function Ky(n){return n=n.prototype,!(!n||!n.isReactComponent)}function d8(n){if(typeof n=="function")return Ky(n)?1:0;if(n!=null){if(n=n.$$typeof,n===V)return 11;if(n===H)return 14}return 2}function Or(n,i){var c=n.alternate;return c===null?(c=tn(n.tag,i,n.key,n.mode),c.elementType=n.elementType,c.type=n.type,c.stateNode=n.stateNode,c.alternate=n,n.alternate=c):(c.pendingProps=i,c.type=n.type,c.flags=0,c.subtreeFlags=0,c.deletions=null),c.flags=n.flags&14680064,c.childLanes=n.childLanes,c.lanes=n.lanes,c.child=n.child,c.memoizedProps=n.memoizedProps,c.memoizedState=n.memoizedState,c.updateQueue=n.updateQueue,i=n.dependencies,c.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},c.sibling=n.sibling,c.index=n.index,c.ref=n.ref,c}function zu(n,i,c,g,v,S){var P=2;if(g=n,typeof n=="function")Ky(n)&&(P=1);else if(typeof n=="string")P=5;else e:switch(n){case A:return yo(c.children,v,S,i);case O:P=8,v|=8;break;case j:return n=tn(12,c,i,v|2),n.elementType=j,n.lanes=S,n;case X:return n=tn(13,c,i,v),n.elementType=X,n.lanes=S,n;case L:return n=tn(19,c,i,v),n.elementType=L,n.lanes=S,n;case Y:return Fu(c,v,S,i);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case G:P=10;break e;case B:P=9;break e;case V:P=11;break e;case H:P=14;break e;case $:P=16,g=null;break e}throw Error(r(130,n==null?n:typeof n,""))}return i=tn(P,c,i,v),i.elementType=n,i.type=g,i.lanes=S,i}function yo(n,i,c,g){return n=tn(7,n,g,i),n.lanes=c,n}function Fu(n,i,c,g){return n=tn(22,n,g,i),n.elementType=Y,n.lanes=c,n.stateNode={isHidden:!1},n}function Xy(n,i,c){return n=tn(6,n,null,i),n.lanes=c,n}function Qy(n,i,c){return i=tn(4,n.children!==null?n.children:[],n.key,i),i.lanes=c,i.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},i}function h8(n,i,c,g,v){this.tag=i,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ss(0),this.expirationTimes=Ss(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ss(0),this.identifierPrefix=g,this.onRecoverableError=v,this.mutableSourceEagerHydrationData=null}function Zy(n,i,c,g,v,S,P,z,U){return n=new h8(n,i,c,z,U),i===1?(i=1,S===!0&&(i|=8)):i=0,S=tn(3,null,null,i),n.current=S,S.stateNode=n,S.memoizedState={element:g,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null},fy(S),n}function p8(n,i,c){var g=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Xu.exports=zA(),Xu.exports}var f0;function FA(){if(f0)return ta;f0=1;var e=c0();return ta.createRoot=e.createRoot,ta.hydrateRoot=e.hydrateRoot,ta}var d0=FA(),N=Ci();const $t=tr(N),Ju=Dr({__proto__:null,default:$t},[N]);function Je(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,o;r{}};function na(){for(var e=0,t=arguments.length,r={},o;e=0&&(o=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:o}})}ra.prototype=na.prototype={constructor:ra,on:function(e,t){var r=this._,o=BA(e+"",r),s,a=-1,l=o.length;if(arguments.length<2){for(;++a0)for(var r=new Array(s),o=0,s,a;o=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),p0.hasOwnProperty(t)?{space:p0[t],local:e}:e}function HA(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ec&&t.documentElement.namespaceURI===ec?t.createElement(e):t.createElementNS(r,e)}}function WA(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function g0(e){var t=oa(e);return(t.local?WA:HA)(t)}function UA(){}function tc(e){return e==null?UA:function(){return this.querySelector(e)}}function GA(e){typeof e!="function"&&(e=tc(e));for(var t=this._groups,r=t.length,o=new Array(r),s=0;s=_&&(_=C+1);!(R=x[_])&&++_=0;)(l=o[s])&&(a&&l.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(l,a),a=l);return this}function yI(e){e||(e=wI);function t(p,m){return p&&m?e(p.__data__,m.__data__):!p-!m}for(var r=this._groups,o=r.length,s=new Array(o),a=0;at?1:e>=t?0:NaN}function xI(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _I(){return Array.from(this)}function bI(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?MI:typeof t=="function"?LI:OI)(e,t,r??"")):wo(this.node(),e)}function wo(e,t){return e.style.getPropertyValue(t)||x0(e).getComputedStyle(e,null).getPropertyValue(t)}function jI(e){return function(){delete this[e]}}function qI(e,t){return function(){this[e]=t}}function zI(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function FI(e,t){return arguments.length>1?this.each((t==null?jI:typeof t=="function"?zI:qI)(e,t)):this.node()[e]}function _0(e){return e.trim().split(/^|\s+/)}function nc(e){return e.classList||new b0(e)}function b0(e){this._node=e,this._names=_0(e.getAttribute("class")||"")}b0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function S0(e,t){for(var r=nc(e),o=-1,s=t.length;++o=0&&(r=t.slice(o+1),t=t.slice(0,o)),{type:t,name:r}})}function p2(e){return function(){var t=this.__on;if(t){for(var r=0,o=-1,s=t.length,a;r()=>e;function oc(e,{sourceEvent:t,subject:r,target:o,identifier:s,active:a,x:l,y:u,dx:f,dy:d,dispatch:h}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:d,enumerable:!0,configurable:!0},_:{value:h}})}oc.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function E2(e){return!e.ctrlKey&&!e.button}function C2(){return this.parentNode}function k2(e,t){return t??{x:e.x,y:e.y}}function N2(){return navigator.maxTouchPoints||"ontouchstart"in this}function P0(){var e=E2,t=C2,r=k2,o=N2,s={},a=na("start","drag","end"),l=0,u,f,d,h,p=0;function m(k){k.on("mousedown.drag",w).filter(o).on("touchstart.drag",x).on("touchmove.drag",b,S2).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function w(k,R){if(!(h||!e.call(this,k,R))){var T=_(this,t.call(this,k,R),k,R,"mouse");T&&(At(k.view).on("mousemove.drag",E,Ni).on("mouseup.drag",y,Ni),N0(k.view),rc(k),d=!1,u=k.clientX,f=k.clientY,T("start",k))}}function E(k){if(xo(k),!d){var R=k.clientX-u,T=k.clientY-f;d=R*R+T*T>p}s.mouse("drag",k)}function y(k){At(k.view).on("mousemove.drag mouseup.drag",null),R0(k.view,d),xo(k),s.mouse("end",k)}function x(k,R){if(e.call(this,k,R)){var T=k.changedTouches,A=t.call(this,k,R),O=T.length,j,G;for(j=0;j>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?la(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?la(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=P2.exec(e))?new bt(t[1],t[2],t[3],1):(t=T2.exec(e))?new bt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=A2.exec(e))?la(t[1],t[2],t[3],t[4]):(t=I2.exec(e))?la(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=M2.exec(e))?j0(t[1],t[2]/100,t[3]/100,1):(t=O2.exec(e))?j0(t[1],t[2]/100,t[3]/100,t[4]):A0.hasOwnProperty(e)?O0(A0[e]):e==="transparent"?new bt(NaN,NaN,NaN,0):null}function O0(e){return new bt(e>>16&255,e>>8&255,e&255,1)}function la(e,t,r,o){return o<=0&&(e=t=r=NaN),new bt(e,t,r,o)}function j2(e){return e instanceof Ri||(e=jr(e)),e?(e=e.rgb(),new bt(e.r,e.g,e.b,e.opacity)):new bt}function sc(e,t,r,o){return arguments.length===1?j2(e):new bt(e,t,r,o??1)}function bt(e,t,r,o){this.r=+e,this.g=+t,this.b=+r,this.opacity=+o}ic(bt,sc,T0(Ri,{brighter(e){return e=e==null?aa:Math.pow(aa,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Pi:Math.pow(Pi,e),new bt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new bt(qr(this.r),qr(this.g),qr(this.b),ua(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:L0,formatHex:L0,formatHex8:q2,formatRgb:D0,toString:D0}));function L0(){return`#${zr(this.r)}${zr(this.g)}${zr(this.b)}`}function q2(){return`#${zr(this.r)}${zr(this.g)}${zr(this.b)}${zr((isNaN(this.opacity)?1:this.opacity)*255)}`}function D0(){const e=ua(this.opacity);return`${e===1?"rgb(":"rgba("}${qr(this.r)}, ${qr(this.g)}, ${qr(this.b)}${e===1?")":`, ${e})`}`}function ua(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function qr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function zr(e){return e=qr(e),(e<16?"0":"")+e.toString(16)}function j0(e,t,r,o){return o<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new rn(e,t,r,o)}function q0(e){if(e instanceof rn)return new rn(e.h,e.s,e.l,e.opacity);if(e instanceof Ri||(e=jr(e)),!e)return new rn;if(e instanceof rn)return e;e=e.rgb();var t=e.r/255,r=e.g/255,o=e.b/255,s=Math.min(t,r,o),a=Math.max(t,r,o),l=NaN,u=a-s,f=(a+s)/2;return u?(t===a?l=(r-o)/u+(r0&&f<1?0:l,new rn(l,u,f,e.opacity)}function z2(e,t,r,o){return arguments.length===1?q0(e):new rn(e,t,r,o??1)}function rn(e,t,r,o){this.h=+e,this.s=+t,this.l=+r,this.opacity=+o}ic(rn,z2,T0(Ri,{brighter(e){return e=e==null?aa:Math.pow(aa,e),new rn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Pi:Math.pow(Pi,e),new rn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,o=r+(r<.5?r:1-r)*t,s=2*r-o;return new bt(ac(e>=240?e-240:e+120,s,o),ac(e,s,o),ac(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new rn(z0(this.h),ca(this.s),ca(this.l),ua(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ua(this.opacity);return`${e===1?"hsl(":"hsla("}${z0(this.h)}, ${ca(this.s)*100}%, ${ca(this.l)*100}%${e===1?")":`, ${e})`}`}}));function z0(e){return e=(e||0)%360,e<0?e+360:e}function ca(e){return Math.max(0,Math.min(1,e||0))}function ac(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const lc=e=>()=>e;function F2(e,t){return function(r){return e+r*t}}function $2(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(o){return Math.pow(e+o*t,r)}}function B2(e){return(e=+e)==1?F0:function(t,r){return r-t?$2(t,r,e):lc(isNaN(t)?r:t)}}function F0(e,t){var r=t-e;return r?F2(e,r):lc(isNaN(e)?t:e)}const fa=(function e(t){var r=B2(t);function o(s,a){var l=r((s=sc(s)).r,(a=sc(a)).r),u=r(s.g,a.g),f=r(s.b,a.b),d=F0(s.opacity,a.opacity);return function(h){return s.r=l(h),s.g=u(h),s.b=f(h),s.opacity=d(h),s+""}}return o.gamma=e,o})(1);function V2(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,o=t.slice(),s;return function(a){for(s=0;sr&&(a=t.slice(r,a),u[l]?u[l]+=a:u[++l]=a),(o=o[0])===(s=s[0])?u[l]?u[l]+=s:u[++l]=s:(u[++l]=null,f.push({i:l,x:bn(o,s)})),r=cc.lastIndex;return r180?h+=360:h-d>180&&(d+=360),m.push({i:p.push(s(p)+"rotate(",null,o)-2,x:bn(d,h)})):h&&p.push(s(p)+"rotate("+h+o)}function u(d,h,p,m){d!==h?m.push({i:p.push(s(p)+"skewX(",null,o)-2,x:bn(d,h)}):h&&p.push(s(p)+"skewX("+h+o)}function f(d,h,p,m,w,E){if(d!==p||h!==m){var y=w.push(s(w)+"scale(",null,",",null,")");E.push({i:y-4,x:bn(d,p)},{i:y-2,x:bn(h,m)})}else(p!==1||m!==1)&&w.push(s(w)+"scale("+p+","+m+")")}return function(d,h){var p=[],m=[];return d=e(d),h=e(h),a(d.translateX,d.translateY,h.translateX,h.translateY,p,m),l(d.rotate,h.rotate,p,m),u(d.skewX,h.skewX,p,m),f(d.scaleX,d.scaleY,h.scaleX,h.scaleY,p,m),d=h=null,function(w){for(var E=-1,y=m.length,x;++E=0&&e._call.call(void 0,t),e=e._next;--bo}function K0(){Fr=(ga=Li.now())+ma,bo=Ii=0;try{oM()}finally{bo=0,sM(),Fr=0}}function iM(){var e=Li.now(),t=e-ga;t>U0&&(ma-=t,ga=e)}function sM(){for(var e,t=pa,r,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:pa=r);Oi=e,hc(o)}function hc(e){if(!bo){Ii&&(Ii=clearTimeout(Ii));var t=e-Fr;t>24?(e<1/0&&(Ii=setTimeout(K0,e-Li.now()-ma)),Mi&&(Mi=clearInterval(Mi))):(Mi||(ga=Li.now(),Mi=setInterval(iM,U0)),bo=1,G0(K0))}}function X0(e,t,r){var o=new va;return t=t==null?0:+t,o.restart(s=>{o.stop(),e(s+t)},t,r),o}var aM=na("start","end","cancel","interrupt"),lM=[],Q0=0,Z0=1,pc=2,ya=3,J0=4,gc=5,wa=6;function xa(e,t,r,o,s,a){var l=e.__transition;if(!l)e.__transition={};else if(r in l)return;uM(e,r,{name:t,index:o,group:s,on:aM,tween:lM,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:Q0})}function mc(e,t){var r=on(e,t);if(r.state>Q0)throw new Error("too late; already scheduled");return r}function Sn(e,t){var r=on(e,t);if(r.state>ya)throw new Error("too late; already running");return r}function on(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function uM(e,t,r){var o=e.__transition,s;o[t]=r,r.timer=Y0(a,0,r.time);function a(d){r.state=Z0,r.timer.restart(l,r.delay,r.time),r.delay<=d&&l(d-r.delay)}function l(d){var h,p,m,w;if(r.state!==Z0)return f();for(h in o)if(w=o[h],w.name===r.name){if(w.state===ya)return X0(l);w.state===J0?(w.state=wa,w.timer.stop(),w.on.call("interrupt",e,e.__data__,w.index,w.group),delete o[h]):+hpc&&o.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function zM(e,t,r){var o,s,a=qM(t)?mc:Sn;return function(){var l=a(this,e),u=l.on;u!==o&&(s=(o=u).copy()).on(t,r),l.on=s}}function FM(e,t){var r=this._id;return arguments.length<2?on(this.node(),r).on.on(e):this.each(zM(r,e,t))}function $M(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function BM(){return this.on("end.remove",$M(this._id))}function VM(e){var t=this._name,r=this._id;typeof e!="function"&&(e=tc(e));for(var o=this._groups,s=o.length,a=new Array(s),l=0;l()=>e;function pO(e,{sourceEvent:t,target:r,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function zn(e,t,r){this.k=e,this.x=t,this.y=r}zn.prototype={constructor:zn,scale:function(e){return e===1?this:new zn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new zn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Sa=new zn(1,0,0);rw.prototype=zn.prototype;function rw(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Sa;return e.__zoom}function yc(e){e.stopImmediatePropagation()}function Di(e){e.preventDefault(),e.stopImmediatePropagation()}function gO(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function mO(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ow(){return this.__zoom||Sa}function vO(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function yO(){return navigator.maxTouchPoints||"ontouchstart"in this}function wO(e,t,r){var o=e.invertX(t[0][0])-r[0][0],s=e.invertX(t[1][0])-r[1][0],a=e.invertY(t[0][1])-r[0][1],l=e.invertY(t[1][1])-r[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>a?(a+l)/2:Math.min(0,a)||Math.max(0,l))}function iw(){var e=gO,t=mO,r=wO,o=vO,s=yO,a=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],u=250,f=ha,d=na("start","zoom","end"),h,p,m,w=500,E=150,y=0,x=10;function b(L){L.property("__zoom",ow).on("wheel.zoom",O,{passive:!1}).on("mousedown.zoom",j).on("dblclick.zoom",G).filter(s).on("touchstart.zoom",B).on("touchmove.zoom",V).on("touchend.zoom touchcancel.zoom",X).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(L,H,$,Y){var M=L.selection?L.selection():L;M.property("__zoom",ow),L!==M?R(L,H,$,Y):M.interrupt().each(function(){T(this,arguments).event(Y).start().zoom(null,typeof H=="function"?H.apply(this,arguments):H).end()})},b.scaleBy=function(L,H,$,Y){b.scaleTo(L,function(){var M=this.__zoom.k,q=typeof H=="function"?H.apply(this,arguments):H;return M*q},$,Y)},b.scaleTo=function(L,H,$,Y){b.transform(L,function(){var M=t.apply(this,arguments),q=this.__zoom,Q=$==null?k(M):typeof $=="function"?$.apply(this,arguments):$,D=q.invert(Q),W=typeof H=="function"?H.apply(this,arguments):H;return r(_(C(q,W),Q,D),M,l)},$,Y)},b.translateBy=function(L,H,$,Y){b.transform(L,function(){return r(this.__zoom.translate(typeof H=="function"?H.apply(this,arguments):H,typeof $=="function"?$.apply(this,arguments):$),t.apply(this,arguments),l)},null,Y)},b.translateTo=function(L,H,$,Y,M){b.transform(L,function(){var q=t.apply(this,arguments),Q=this.__zoom,D=Y==null?k(q):typeof Y=="function"?Y.apply(this,arguments):Y;return r(Sa.translate(D[0],D[1]).scale(Q.k).translate(typeof H=="function"?-H.apply(this,arguments):-H,typeof $=="function"?-$.apply(this,arguments):-$),q,l)},Y,M)};function C(L,H){return H=Math.max(a[0],Math.min(a[1],H)),H===L.k?L:new zn(H,L.x,L.y)}function _(L,H,$){var Y=H[0]-$[0]*L.k,M=H[1]-$[1]*L.k;return Y===L.x&&M===L.y?L:new zn(L.k,Y,M)}function k(L){return[(+L[0][0]+ +L[1][0])/2,(+L[0][1]+ +L[1][1])/2]}function R(L,H,$,Y){L.on("start.zoom",function(){T(this,arguments).event(Y).start()}).on("interrupt.zoom end.zoom",function(){T(this,arguments).event(Y).end()}).tween("zoom",function(){var M=this,q=arguments,Q=T(M,q).event(Y),D=t.apply(M,q),W=$==null?k(D):typeof $=="function"?$.apply(M,q):$,ie=Math.max(D[1][0]-D[0][0],D[1][1]-D[0][1]),F=M.__zoom,Z=typeof H=="function"?H.apply(M,q):H,ee=f(F.invert(W).concat(ie/F.k),Z.invert(W).concat(ie/Z.k));return function(K){if(K===1)K=Z;else{var te=ee(K),se=ie/te[2];K=new zn(se,W[0]-te[0]*se,W[1]-te[1]*se)}Q.zoom(null,K)}})}function T(L,H,$){return!$&&L.__zooming||new A(L,H)}function A(L,H){this.that=L,this.args=H,this.active=0,this.sourceEvent=null,this.extent=t.apply(L,H),this.taps=0}A.prototype={event:function(L){return L&&(this.sourceEvent=L),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(L,H){return this.mouse&&L!=="mouse"&&(this.mouse[1]=H.invert(this.mouse[0])),this.touch0&&L!=="touch"&&(this.touch0[1]=H.invert(this.touch0[0])),this.touch1&&L!=="touch"&&(this.touch1[1]=H.invert(this.touch1[0])),this.that.__zoom=H,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(L){var H=At(this.that).datum();d.call(L,this.that,new pO(L,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:d}),H)}};function O(L,...H){if(!e.apply(this,arguments))return;var $=T(this,H).event(L),Y=this.__zoom,M=Math.max(a[0],Math.min(a[1],Y.k*Math.pow(2,o.apply(this,arguments)))),q=nn(L);if($.wheel)($.mouse[0][0]!==q[0]||$.mouse[0][1]!==q[1])&&($.mouse[1]=Y.invert($.mouse[0]=q)),clearTimeout($.wheel);else{if(Y.k===M)return;$.mouse=[q,Y.invert(q)],_a(this),$.start()}Di(L),$.wheel=setTimeout(Q,E),$.zoom("mouse",r(_(C(Y,M),$.mouse[0],$.mouse[1]),$.extent,l));function Q(){$.wheel=null,$.end()}}function j(L,...H){if(m||!e.apply(this,arguments))return;var $=L.currentTarget,Y=T(this,H,!0).event(L),M=At(L.view).on("mousemove.zoom",W,!0).on("mouseup.zoom",ie,!0),q=nn(L,$),Q=L.clientX,D=L.clientY;N0(L.view),yc(L),Y.mouse=[q,this.__zoom.invert(q)],_a(this),Y.start();function W(F){if(Di(F),!Y.moved){var Z=F.clientX-Q,ee=F.clientY-D;Y.moved=Z*Z+ee*ee>y}Y.event(F).zoom("mouse",r(_(Y.that.__zoom,Y.mouse[0]=nn(F,$),Y.mouse[1]),Y.extent,l))}function ie(F){M.on("mousemove.zoom mouseup.zoom",null),R0(F.view,Y.moved),Di(F),Y.event(F).end()}}function G(L,...H){if(e.apply(this,arguments)){var $=this.__zoom,Y=nn(L.changedTouches?L.changedTouches[0]:L,this),M=$.invert(Y),q=$.k*(L.shiftKey?.5:2),Q=r(_(C($,q),Y,M),t.apply(this,H),l);Di(L),u>0?At(this).transition().duration(u).call(R,Q,Y,L):At(this).call(b.transform,Q,Y,L)}}function B(L,...H){if(e.apply(this,arguments)){var $=L.touches,Y=$.length,M=T(this,H,L.changedTouches.length===Y).event(L),q,Q,D,W;for(yc(L),Q=0;Q"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:r,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?r:o}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},ji=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],sw=["Enter"," ","Escape"],aw={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:r})=>`Moved selected node ${e}. New position, x: ${t}, y: ${r}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var So;(function(e){e.Strict="strict",e.Loose="loose"})(So||(So={}));var $r;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})($r||($r={}));var qi;(function(e){e.Partial="partial",e.Full="full"})(qi||(qi={}));const lw={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var nr;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(nr||(nr={}));var Ea;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ea||(Ea={}));var ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ve||(ve={}));const uw={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top};function cw(e){return e===null?null:e?"valid":"invalid"}const fw=e=>"id"in e&&"source"in e&&"target"in e,xO=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),wc=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),zi=(e,t=[0,0])=>{const{width:r,height:o}=Fn(e),s=e.origin??t,a=r*s[0],l=o*s[1];return{x:e.position.x-a,y:e.position.y-l}},_O=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((o,s)=>{const a=typeof s=="string";let l=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(l=a?t.nodeLookup.get(s):wc(s)?s:t.nodeLookup.get(s.id));const u=l?Na(l,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Ca(o,u)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ka(r)},Fi=(e,t={})=>{let r={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(r=Ca(r,Na(s)),o=!0)}),o?ka(r):{x:0,y:0,width:0,height:0}},xc=(e,t,[r,o,s]=[0,0,1],a=!1,l=!1)=>{const u={...Vi(t,[r,o,s]),width:t.width/s,height:t.height/s},f=[];for(const d of e.values()){const{measured:h,selectable:p=!0,hidden:m=!1}=d;if(l&&!p||m)continue;const w=h.width??d.width??d.initialWidth??null,E=h.height??d.height??d.initialHeight??null,y=$i(u,Co(d)),x=(w??0)*(E??0),b=a&&y>0;(!d.internals.handleBounds||b||y>=x||d.dragging)&&f.push(d)}return f},bO=(e,t)=>{const r=new Set;return e.forEach(o=>{r.add(o.id)}),t.filter(o=>r.has(o.source)||r.has(o.target))};function SO(e,t){const r=new Map,o=t!=null&&t.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((t==null?void 0:t.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&r.set(s.id,s)}),r}async function EO({nodes:e,width:t,height:r,panZoom:o,minZoom:s,maxZoom:a},l){if(e.size===0)return Promise.resolve(!0);const u=SO(e,l),f=Fi(u),d=bc(f,t,r,(l==null?void 0:l.minZoom)??s,(l==null?void 0:l.maxZoom)??a,(l==null?void 0:l.padding)??.1);return await o.setViewport(d,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),Promise.resolve(!0)}function dw({nodeId:e,nextPosition:t,nodeLookup:r,nodeOrigin:o=[0,0],nodeExtent:s,onError:a}){const l=r.get(e),u=l.parentId?r.get(l.parentId):void 0,{x:f,y:d}=u?u.internals.positionAbsolute:{x:0,y:0},h=l.origin??o;let p=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!u)a==null||a("005",En.error005());else{const w=u.measured.width,E=u.measured.height;w&&E&&(p=[[f,d],[f+w,d+E]])}else u&&No(l.extent)&&(p=[[l.extent[0][0]+f,l.extent[0][1]+d],[l.extent[1][0]+f,l.extent[1][1]+d]]);const m=No(p)?Br(t,p,l.measured):t;return(l.measured.width===void 0||l.measured.height===void 0)&&(a==null||a("015",En.error015())),{position:{x:m.x-f+(l.measured.width??0)*h[0],y:m.y-d+(l.measured.height??0)*h[1]},positionAbsolute:m}}async function CO({nodesToRemove:e=[],edgesToRemove:t=[],nodes:r,edges:o,onBeforeDelete:s}){const a=new Set(e.map(m=>m.id)),l=[];for(const m of r){if(m.deletable===!1)continue;const w=a.has(m.id),E=!w&&m.parentId&&l.find(y=>y.id===m.parentId);(w||E)&&l.push(m)}const u=new Set(t.map(m=>m.id)),f=o.filter(m=>m.deletable!==!1),h=bO(l,f);for(const m of f)u.has(m.id)&&!h.find(E=>E.id===m.id)&&h.push(m);if(!s)return{edges:h,nodes:l};const p=await s({nodes:l,edges:h});return typeof p=="boolean"?p?{edges:h,nodes:l}:{edges:[],nodes:[]}:p}const Eo=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),Br=(e={x:0,y:0},t,r)=>({x:Eo(e.x,t[0][0],t[1][0]-((r==null?void 0:r.width)??0)),y:Eo(e.y,t[0][1],t[1][1]-((r==null?void 0:r.height)??0))});function hw(e,t,r){const{width:o,height:s}=Fn(r),{x:a,y:l}=r.internals.positionAbsolute;return Br(e,[[a,l],[a+o,l+s]],t)}const pw=(e,t,r)=>er?-Eo(Math.abs(e-r),1,t)/t:0,gw=(e,t,r=15,o=40)=>{const s=pw(e.x,o,t.width-o)*r,a=pw(e.y,o,t.height-o)*r;return[s,a]},Ca=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),_c=({x:e,y:t,width:r,height:o})=>({x:e,y:t,x2:e+r,y2:t+o}),ka=({x:e,y:t,x2:r,y2:o})=>({x:e,y:t,width:r-e,height:o-t}),Co=(e,t=[0,0])=>{var s,a;const{x:r,y:o}=wc(e)?e.internals.positionAbsolute:zi(e,t);return{x:r,y:o,width:((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0,height:((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0}},Na=(e,t=[0,0])=>{var s,a;const{x:r,y:o}=wc(e)?e.internals.positionAbsolute:zi(e,t);return{x:r,y:o,x2:r+(((s=e.measured)==null?void 0:s.width)??e.width??e.initialWidth??0),y2:o+(((a=e.measured)==null?void 0:a.height)??e.height??e.initialHeight??0)}},mw=(e,t)=>ka(Ca(_c(e),_c(t))),$i=(e,t)=>{const r=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),o=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(r*o)},vw=e=>sn(e.width)&&sn(e.height)&&sn(e.x)&&sn(e.y),sn=e=>!isNaN(e)&&isFinite(e),kO=(e,t)=>{},Bi=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Vi=({x:e,y:t},[r,o,s],a=!1,l=[1,1])=>{const u={x:(e-r)/s,y:(t-o)/s};return a?Bi(u,l):u},Ra=({x:e,y:t},[r,o,s])=>({x:e*s+r,y:t*s+o});function ko(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(r)}if(typeof e=="string"&&e.endsWith("%")){const r=parseFloat(e);if(!Number.isNaN(r))return Math.floor(t*r*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function NO(e,t,r){if(typeof e=="string"||typeof e=="number"){const o=ko(e,r),s=ko(e,t);return{top:o,right:s,bottom:o,left:s,x:s*2,y:o*2}}if(typeof e=="object"){const o=ko(e.top??e.y??0,r),s=ko(e.bottom??e.y??0,r),a=ko(e.left??e.x??0,t),l=ko(e.right??e.x??0,t);return{top:o,right:l,bottom:s,left:a,x:a+l,y:o+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function RO(e,t,r,o,s,a){const{x:l,y:u}=Ra(e,[t,r,o]),{x:f,y:d}=Ra({x:e.x+e.width,y:e.y+e.height},[t,r,o]),h=s-f,p=a-d;return{left:Math.floor(l),top:Math.floor(u),right:Math.floor(h),bottom:Math.floor(p)}}const bc=(e,t,r,o,s,a)=>{const l=NO(a,t,r),u=(t-l.x)/e.width,f=(r-l.y)/e.height,d=Math.min(u,f),h=Eo(d,o,s),p=e.x+e.width/2,m=e.y+e.height/2,w=t/2-p*h,E=r/2-m*h,y=RO(e,w,E,h,t,r),x={left:Math.min(y.left-l.left,0),top:Math.min(y.top-l.top,0),right:Math.min(y.right-l.right,0),bottom:Math.min(y.bottom-l.bottom,0)};return{x:w-x.left+x.right,y:E-x.top+x.bottom,zoom:h}},Hi=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function No(e){return e!=null&&e!=="parent"}function Fn(e){var t,r;return{width:((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth??0,height:((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight??0}}function yw(e){var t,r;return(((t=e.measured)==null?void 0:t.width)??e.width??e.initialWidth)!==void 0&&(((r=e.measured)==null?void 0:r.height)??e.height??e.initialHeight)!==void 0}function ww(e,t={width:0,height:0},r,o,s){const a={...e},l=o.get(r);if(l){const u=l.origin||s;a.x+=l.internals.positionAbsolute.x-(t.width??0)*u[0],a.y+=l.internals.positionAbsolute.y-(t.height??0)*u[1]}return a}function xw(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}function PO(){let e,t;return{promise:new Promise((o,s)=>{e=o,t=s}),resolve:e,reject:t}}function TO(e){return{...aw,...e||{}}}function Wi(e,{snapGrid:t=[0,0],snapToGrid:r=!1,transform:o,containerBounds:s}){const{x:a,y:l}=an(e),u=Vi({x:a-((s==null?void 0:s.left)??0),y:l-((s==null?void 0:s.top)??0)},o),{x:f,y:d}=r?Bi(u,t):u;return{xSnapped:f,ySnapped:d,...u}}const Sc=e=>({width:e.offsetWidth,height:e.offsetHeight}),_w=e=>{var t;return((t=e==null?void 0:e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},AO=["INPUT","SELECT","TEXTAREA"];function bw(e){var o,s;const t=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(t==null?void 0:t.nodeType)!==1?!1:AO.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const Sw=e=>"clientX"in e,an=(e,t)=>{var a,l;const r=Sw(e),o=r?e.clientX:(a=e.touches)==null?void 0:a[0].clientX,s=r?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((t==null?void 0:t.left)??0),y:s-((t==null?void 0:t.top)??0)}},Ew=(e,t,r,o,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(l=>{const u=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(u.left-r.left)/o,y:(u.top-r.top)/o,...Sc(l)}})};function Cw({sourceX:e,sourceY:t,targetX:r,targetY:o,sourceControlX:s,sourceControlY:a,targetControlX:l,targetControlY:u}){const f=e*.125+s*.375+l*.375+r*.125,d=t*.125+a*.375+u*.375+o*.125,h=Math.abs(f-e),p=Math.abs(d-t);return[f,d,h,p]}function Pa(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function kw({pos:e,x1:t,y1:r,x2:o,y2:s,c:a}){switch(e){case ve.Left:return[t-Pa(t-o,a),r];case ve.Right:return[t+Pa(o-t,a),r];case ve.Top:return[t,r-Pa(r-s,a)];case ve.Bottom:return[t,r+Pa(s-r,a)]}}function Nw({sourceX:e,sourceY:t,sourcePosition:r=ve.Bottom,targetX:o,targetY:s,targetPosition:a=ve.Top,curvature:l=.25}){const[u,f]=kw({pos:r,x1:e,y1:t,x2:o,y2:s,c:l}),[d,h]=kw({pos:a,x1:o,y1:s,x2:e,y2:t,c:l}),[p,m,w,E]=Cw({sourceX:e,sourceY:t,targetX:o,targetY:s,sourceControlX:u,sourceControlY:f,targetControlX:d,targetControlY:h});return[`M${e},${t} C${u},${f} ${d},${h} ${o},${s}`,p,m,w,E]}function Rw({sourceX:e,sourceY:t,targetX:r,targetY:o}){const s=Math.abs(r-e)/2,a=r0}const OO=({source:e,sourceHandle:t,target:r,targetHandle:o})=>`xy-edge__${e}${t||""}-${r}${o||""}`,LO=(e,t)=>t.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),DO=(e,t)=>{if(!e.source||!e.target)return t;let r;return fw(e)?r={...e}:r={...e,id:OO(e)},LO(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function Pw({sourceX:e,sourceY:t,targetX:r,targetY:o}){const[s,a,l,u]=Rw({sourceX:e,sourceY:t,targetX:r,targetY:o});return[`M ${e},${t}L ${r},${o}`,s,a,l,u]}const Tw={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},jO=({source:e,sourcePosition:t=ve.Bottom,target:r})=>t===ve.Left||t===ve.Right?e.xMath.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function qO({source:e,sourcePosition:t=ve.Bottom,target:r,targetPosition:o=ve.Top,center:s,offset:a,stepPosition:l}){const u=Tw[t],f=Tw[o],d={x:e.x+u.x*a,y:e.y+u.y*a},h={x:r.x+f.x*a,y:r.y+f.y*a},p=jO({source:d,sourcePosition:t,target:h}),m=p.x!==0?"x":"y",w=p[m];let E=[],y,x;const b={x:0,y:0},C={x:0,y:0},[,,_,k]=Rw({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(u[m]*f[m]===-1){m==="x"?(y=s.x??d.x+(h.x-d.x)*l,x=s.y??(d.y+h.y)/2):(y=s.x??(d.x+h.x)/2,x=s.y??d.y+(h.y-d.y)*l);const T=[{x:y,y:d.y},{x:y,y:h.y}],A=[{x:d.x,y:x},{x:h.x,y:x}];u[m]===w?E=m==="x"?T:A:E=m==="x"?A:T}else{const T=[{x:d.x,y:h.y}],A=[{x:h.x,y:d.y}];if(m==="x"?E=u.x===w?A:T:E=u.y===w?T:A,t===o){const V=Math.abs(e[m]-r[m]);if(V<=a){const X=Math.min(a-1,a-V);u[m]===w?b[m]=(d[m]>e[m]?-1:1)*X:C[m]=(h[m]>r[m]?-1:1)*X}}if(t!==o){const V=m==="x"?"y":"x",X=u[m]===f[V],L=d[V]>h[V],H=d[V]=B?(y=(O.x+j.x)/2,x=E[0].y):(y=E[0].x,x=(O.y+j.y)/2)}return[[e,{x:d.x+b.x,y:d.y+b.y},...E,{x:h.x+C.x,y:h.y+C.y},r],y,x,_,k]}function zO(e,t,r,o){const s=Math.min(Aw(e,t)/2,Aw(t,r)/2,o),{x:a,y:l}=t;if(e.x===a&&a===r.x||e.y===l&&l===r.y)return`L${a} ${l}`;if(e.y===l){const d=e.x{let k="";return _>0&&_r.id===t):e[0])||null}function Cc(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function $O(e,{id:t,defaultColor:r,defaultMarkerStart:o,defaultMarkerEnd:s}){const a=new Set;return e.reduce((l,u)=>([u.markerStart||o,u.markerEnd||s].forEach(f=>{if(f&&typeof f=="object"){const d=Cc(f,t);a.has(d)||(l.push({id:d,color:f.color||r,...f}),a.add(d))}}),l),[]).sort((l,u)=>l.id.localeCompare(u.id))}const Lw=1e3,BO=10,kc={nodeOrigin:[0,0],nodeExtent:ji,elevateNodesOnSelect:!0,defaults:{}},VO={...kc,checkEquality:!0};function Nc(e,t){const r={...e};for(const o in t)t[o]!==void 0&&(r[o]=t[o]);return r}function HO(e,t,r){const o=Nc(kc,r);for(const s of e.values())if(s.parentId)Pc(s,e,t,o);else{const a=zi(s,o.nodeOrigin),l=No(s.extent)?s.extent:o.nodeExtent,u=Br(a,l,Fn(s));s.internals.positionAbsolute=u}}function WO(e,t){if(!e.handles)return e.measured?t==null?void 0:t.internals.handleBounds:void 0;const r=[],o=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?r.push(a):s.type==="target"&&o.push(a)}return{source:r,target:o}}function Rc(e,t,r,o){var d,h;const s=Nc(VO,o);let a={i:-1},l=e.length>0;const u=new Map(t),f=s!=null&&s.elevateNodesOnSelect?Lw:0;t.clear(),r.clear();for(const p of e){let m=u.get(p.id);if(s.checkEquality&&p===(m==null?void 0:m.internals.userNode))t.set(p.id,m);else{const w=zi(p,s.nodeOrigin),E=No(p.extent)?p.extent:s.nodeExtent,y=Br(w,E,Fn(p));m={...s.defaults,...p,measured:{width:(d=p.measured)==null?void 0:d.width,height:(h=p.measured)==null?void 0:h.height},internals:{positionAbsolute:y,handleBounds:WO(p,m),z:Dw(p,f),userNode:p}},t.set(p.id,m)}(m.measured===void 0||m.measured.width===void 0||m.measured.height===void 0)&&!m.hidden&&(l=!1),p.parentId&&Pc(m,t,r,o,a)}return l}function UO(e,t){if(!e.parentId)return;const r=t.get(e.parentId);r?r.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Pc(e,t,r,o,s){const{elevateNodesOnSelect:a,nodeOrigin:l,nodeExtent:u}=Nc(kc,o),f=e.parentId,d=t.get(f);if(!d){console.warn(`Parent node ${f} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}UO(e,r),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*BO),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const h=a?Lw:0,{x:p,y:m,z:w}=GO(e,d,l,u,h),{positionAbsolute:E}=e.internals,y=p!==E.x||m!==E.y;(y||w!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:m}:E,z:w}})}function Dw(e,t){return(sn(e.zIndex)?e.zIndex:0)+(e.selected?t:0)}function GO(e,t,r,o,s){const{x:a,y:l}=t.internals.positionAbsolute,u=Fn(e),f=zi(e,r),d=No(e.extent)?Br(f,e.extent,u):f;let h=Br({x:a+d.x,y:l+d.y},o,u);e.extent==="parent"&&(h=hw(h,u,t));const p=Dw(e,s),m=t.internals.z??0;return{x:h.x,y:h.y,z:m>=p?m+1:p}}function Tc(e,t,r,o=[0,0]){var l;const s=[],a=new Map;for(const u of e){const f=t.get(u.parentId);if(!f)continue;const d=((l=a.get(u.parentId))==null?void 0:l.expandedRect)??Co(f),h=mw(d,u.rect);a.set(u.parentId,{expandedRect:h,parent:f})}return a.size>0&&a.forEach(({expandedRect:u,parent:f},d)=>{var _;const h=f.internals.positionAbsolute,p=Fn(f),m=f.origin??o,w=u.x0||E>0||b||C)&&(s.push({id:d,type:"position",position:{x:f.position.x-w+b,y:f.position.y-E+C}}),(_=r.get(d))==null||_.forEach(k=>{e.some(R=>R.id===k.id)||s.push({id:k.id,type:"position",position:{x:k.position.x+w,y:k.position.y+E}})})),(p.width0){const m=Tc(p,t,r,s);f.push(...m)}return{changes:f,updatedInternals:u}}async function KO({delta:e,panZoom:t,transform:r,translateExtent:o,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const l=await t.setViewportConstrained({x:r[0]+e.x,y:r[1]+e.y,zoom:r[2]},[[0,0],[s,a]],o),u=!!l&&(l.x!==r[0]||l.y!==r[1]||l.k!==r[2]);return Promise.resolve(u)}function jw(e,t,r,o,s,a){let l=s;const u=o.get(l)||new Map;o.set(l,u.set(r,t)),l=`${s}-${e}`;const f=o.get(l)||new Map;if(o.set(l,f.set(r,t)),a){l=`${s}-${e}-${a}`;const d=o.get(l)||new Map;o.set(l,d.set(r,t))}}function qw(e,t,r){e.clear(),t.clear();for(const o of r){const{source:s,target:a,sourceHandle:l=null,targetHandle:u=null}=o,f={edgeId:o.id,source:s,target:a,sourceHandle:l,targetHandle:u},d=`${s}-${l}--${a}-${u}`,h=`${a}-${u}--${s}-${l}`;jw("source",f,h,e,s,l),jw("target",f,d,e,a,u),t.set(o.id,o)}}function zw(e,t){if(!e.parentId)return!1;const r=t.get(e.parentId);return r?r.selected?!0:zw(r,t):!1}function Fw(e,t,r){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,t))return!0;if(o===r)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function XO(e,t,r,o){const s=new Map;for(const[a,l]of e)if((l.selected||l.id===o)&&(!l.parentId||!zw(l,e))&&(l.draggable||t&&typeof l.draggable>"u")){const u=e.get(a);u&&s.set(a,{id:a,position:u.position||{x:0,y:0},distance:{x:r.x-u.internals.positionAbsolute.x,y:r.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:u.measured.width??0,height:u.measured.height??0}})}return s}function Ac({nodeId:e,dragItems:t,nodeLookup:r,dragging:o=!0}){var l,u,f;const s=[];for(const[d,h]of t){const p=(l=r.get(d))==null?void 0:l.internals.userNode;p&&s.push({...p,position:h.position,dragging:o})}if(!e)return[s[0],s];const a=(u=r.get(e))==null?void 0:u.internals.userNode;return[a?{...a,position:((f=t.get(e))==null?void 0:f.position)||a.position,dragging:o}:s[0],s]}function QO({dragItems:e,snapGrid:t,x:r,y:o}){const s=e.values().next().value;if(!s)return null;const a={x:r-s.distance.x,y:o-s.distance.y},l=Bi(a,t);return{x:l.x-a.x,y:l.y-a.y}}function ZO({onNodeMouseDown:e,getStoreItems:t,onDragStart:r,onDrag:o,onDragStop:s}){let a={x:null,y:null},l=0,u=new Map,f=!1,d={x:0,y:0},h=null,p=!1,m=null,w=!1,E=!1,y=null;function x({noDragClassName:C,handleSelector:_,domNode:k,isSelectable:R,nodeId:T,nodeClickDistance:A=0}){m=At(k);function O({x:V,y:X}){const{nodeLookup:L,nodeExtent:H,snapGrid:$,snapToGrid:Y,nodeOrigin:M,onNodeDrag:q,onSelectionDrag:Q,onError:D,updateNodePositions:W}=t();a={x:V,y:X};let ie=!1;const F=u.size>1,Z=F&&H?_c(Fi(u)):null,ee=F&&Y?QO({dragItems:u,snapGrid:$,x:V,y:X}):null;for(const[K,te]of u){if(!L.has(K))continue;let se={x:V-te.distance.x,y:X-te.distance.y};Y&&(se=ee?{x:Math.round(se.x+ee.x),y:Math.round(se.y+ee.y)}:Bi(se,$));let ae=null;if(F&&H&&!te.extent&&Z){const{positionAbsolute:pe}=te.internals,be=pe.x-Z.x+H[0][0],me=pe.x+te.measured.width-Z.x2+H[1][0],Re=pe.y-Z.y+H[0][1],Ee=pe.y+te.measured.height-Z.y2+H[1][1];ae=[[be,Re],[me,Ee]]}const{position:ce,positionAbsolute:de}=dw({nodeId:K,nextPosition:se,nodeLookup:L,nodeExtent:ae||H,nodeOrigin:M,onError:D});ie=ie||te.position.x!==ce.x||te.position.y!==ce.y,te.position=ce,te.internals.positionAbsolute=de}if(E=E||ie,!!ie&&(W(u,!0),y&&(o||q||!T&&Q))){const[K,te]=Ac({nodeId:T,dragItems:u,nodeLookup:L});o==null||o(y,u,K,te),q==null||q(y,K,te),T||Q==null||Q(y,te)}}async function j(){if(!h)return;const{transform:V,panBy:X,autoPanSpeed:L,autoPanOnNodeDrag:H}=t();if(!H){f=!1,cancelAnimationFrame(l);return}const[$,Y]=gw(d,h,L);($!==0||Y!==0)&&(a.x=(a.x??0)-$/V[2],a.y=(a.y??0)-Y/V[2],await X({x:$,y:Y})&&O(a)),l=requestAnimationFrame(j)}function G(V){var F;const{nodeLookup:X,multiSelectionActive:L,nodesDraggable:H,transform:$,snapGrid:Y,snapToGrid:M,selectNodesOnDrag:q,onNodeDragStart:Q,onSelectionDragStart:D,unselectNodesAndEdges:W}=t();p=!0,(!q||!R)&&!L&&T&&((F=X.get(T))!=null&&F.selected||W()),R&&q&&T&&(e==null||e(T));const ie=Wi(V.sourceEvent,{transform:$,snapGrid:Y,snapToGrid:M,containerBounds:h});if(a=ie,u=XO(X,H,ie,T),u.size>0&&(r||Q||!T&&D)){const[Z,ee]=Ac({nodeId:T,dragItems:u,nodeLookup:X});r==null||r(V.sourceEvent,u,Z,ee),Q==null||Q(V.sourceEvent,Z,ee),T||D==null||D(V.sourceEvent,ee)}}const B=P0().clickDistance(A).on("start",V=>{const{domNode:X,nodeDragThreshold:L,transform:H,snapGrid:$,snapToGrid:Y}=t();h=(X==null?void 0:X.getBoundingClientRect())||null,w=!1,E=!1,y=V.sourceEvent,L===0&&G(V),a=Wi(V.sourceEvent,{transform:H,snapGrid:$,snapToGrid:Y,containerBounds:h}),d=an(V.sourceEvent,h)}).on("drag",V=>{const{autoPanOnNodeDrag:X,transform:L,snapGrid:H,snapToGrid:$,nodeDragThreshold:Y,nodeLookup:M}=t(),q=Wi(V.sourceEvent,{transform:L,snapGrid:H,snapToGrid:$,containerBounds:h});if(y=V.sourceEvent,(V.sourceEvent.type==="touchmove"&&V.sourceEvent.touches.length>1||T&&!M.has(T))&&(w=!0),!w){if(!f&&X&&p&&(f=!0,j()),!p){const Q=an(V.sourceEvent,h),D=Q.x-d.x,W=Q.y-d.y;Math.sqrt(D*D+W*W)>Y&&G(V)}(a.x!==q.xSnapped||a.y!==q.ySnapped)&&u&&p&&(d=an(V.sourceEvent,h),O(q))}}).on("end",V=>{if(!(!p||w)&&(f=!1,p=!1,cancelAnimationFrame(l),u.size>0)){const{nodeLookup:X,updateNodePositions:L,onNodeDragStop:H,onSelectionDragStop:$}=t();if(E&&(L(u,!1),E=!1),s||H||!T&&$){const[Y,M]=Ac({nodeId:T,dragItems:u,nodeLookup:X,dragging:!1});s==null||s(V.sourceEvent,u,Y,M),H==null||H(V.sourceEvent,Y,M),T||$==null||$(V.sourceEvent,M)}}}).filter(V=>{const X=V.target;return!V.button&&(!C||!Fw(X,`.${C}`,k))&&(!_||Fw(X,_,k))});m.call(B)}function b(){m==null||m.on(".drag",null)}return{update:x,destroy:b}}function JO(e,t,r){const o=[],s={x:e.x-r,y:e.y-r,width:r*2,height:r*2};for(const a of t.values())$i(s,Co(a))>0&&o.push(a);return o}const eL=250;function tL(e,t,r,o){var u,f;let s=[],a=1/0;const l=JO(e,r,t+eL);for(const d of l){const h=[...((u=d.internals.handleBounds)==null?void 0:u.source)??[],...((f=d.internals.handleBounds)==null?void 0:f.target)??[]];for(const p of h){if(o.nodeId===p.nodeId&&o.type===p.type&&o.id===p.id)continue;const{x:m,y:w}=Ui(d,p,p.position,!0),E=Math.sqrt(Math.pow(m-e.x,2)+Math.pow(w-e.y,2));E>t||(E1){const d=o.type==="source"?"target":"source";return s.find(h=>h.type===d)??s[0]}return s[0]}function $w(e,t,r,o,s,a=!1){var d,h,p;const l=o.get(e);if(!l)return null;const u=s==="strict"?(d=l.internals.handleBounds)==null?void 0:d[t]:[...((h=l.internals.handleBounds)==null?void 0:h.source)??[],...((p=l.internals.handleBounds)==null?void 0:p.target)??[]],f=(r?u==null?void 0:u.find(m=>m.id===r):u==null?void 0:u[0])??null;return f&&a?{...f,...Ui(l,f,f.position,!0)}:f}function Bw(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function nL(e,t){let r=null;return t?r=!0:e&&!t&&(r=!1),r}const Vw=()=>!0;function rL(e,{connectionMode:t,connectionRadius:r,handleId:o,nodeId:s,edgeUpdaterType:a,isTarget:l,domNode:u,nodeLookup:f,lib:d,autoPanOnConnect:h,flowId:p,panBy:m,cancelConnection:w,onConnectStart:E,onConnect:y,onConnectEnd:x,isValidConnection:b=Vw,onReconnectEnd:C,updateConnection:_,getTransform:k,getFromHandle:R,autoPanSpeed:T,dragThreshold:A=1,handleDomNode:O}){const j=_w(e.target);let G=0,B;const{x:V,y:X}=an(e),L=Bw(a,O),H=u==null?void 0:u.getBoundingClientRect();let $=!1;if(!H||!L)return;const Y=$w(s,L,o,f,t);if(!Y)return;let M=an(e,H),q=!1,Q=null,D=!1,W=null;function ie(){if(!h||!H)return;const[ce,de]=gw(M,H,T);m({x:ce,y:de}),G=requestAnimationFrame(ie)}const F={...Y,nodeId:s,type:L,position:Y.position},Z=f.get(s);let K={inProgress:!0,isValid:null,from:Ui(Z,F,ve.Left,!0),fromHandle:F,fromPosition:F.position,fromNode:Z,to:M,toHandle:null,toPosition:uw[F.position],toNode:null,pointer:M};function te(){$=!0,_(K),E==null||E(e,{nodeId:s,handleId:o,handleType:L})}A===0&&te();function se(ce){if(!$){const{x:me,y:Re}=an(ce),Ee=me-V,Qe=Re-X;if(!(Ee*Ee+Qe*Qe>A*A))return;te()}if(!R()||!F){ae(ce);return}const de=k();M=an(ce,H),B=tL(Vi(M,de,!1,[1,1]),r,f,F),q||(ie(),q=!0);const pe=Hw(ce,{handle:B,connectionMode:t,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:b,doc:j,lib:d,flowId:p,nodeLookup:f});W=pe.handleDomNode,Q=pe.connection,D=nL(!!B,pe.isValid);const be={...K,isValid:D,to:pe.toHandle&&D?Ra({x:pe.toHandle.x,y:pe.toHandle.y},de):M,toHandle:pe.toHandle,toPosition:D&&pe.toHandle?pe.toHandle.position:uw[F.position],toNode:pe.toHandle?f.get(pe.toHandle.nodeId):null,pointer:M};_(be),K=be}function ae(ce){if(!("touches"in ce&&ce.touches.length>0)){if($){(B||W)&&Q&&D&&(y==null||y(Q));const{inProgress:de,...pe}=K,be={...pe,toPosition:K.toHandle?K.toPosition:null};x==null||x(ce,be),a&&(C==null||C(ce,be))}w(),cancelAnimationFrame(G),q=!1,D=!1,Q=null,W=null,j.removeEventListener("mousemove",se),j.removeEventListener("mouseup",ae),j.removeEventListener("touchmove",se),j.removeEventListener("touchend",ae)}}j.addEventListener("mousemove",se),j.addEventListener("mouseup",ae),j.addEventListener("touchmove",se),j.addEventListener("touchend",ae)}function Hw(e,{handle:t,connectionMode:r,fromNodeId:o,fromHandleId:s,fromType:a,doc:l,lib:u,flowId:f,isValidConnection:d=Vw,nodeLookup:h}){const p=a==="target",m=t?l.querySelector(`.${u}-flow__handle[data-id="${f}-${t==null?void 0:t.nodeId}-${t==null?void 0:t.id}-${t==null?void 0:t.type}"]`):null,{x:w,y:E}=an(e),y=l.elementFromPoint(w,E),x=y!=null&&y.classList.contains(`${u}-flow__handle`)?y:m,b={handleDomNode:x,isValid:!1,connection:null,toHandle:null};if(x){const C=Bw(void 0,x),_=x.getAttribute("data-nodeid"),k=x.getAttribute("data-handleid"),R=x.classList.contains("connectable"),T=x.classList.contains("connectableend");if(!_||!C)return b;const A={source:p?_:o,sourceHandle:p?k:s,target:p?o:_,targetHandle:p?s:k};b.connection=A;const j=R&&T&&(r===So.Strict?p&&C==="source"||!p&&C==="target":_!==o||k!==s);b.isValid=j&&d(A),b.toHandle=$w(_,C,k,h,r,!0)}return b}const Ic={onPointerDown:rL,isValid:Hw};function oL({domNode:e,panZoom:t,getTransform:r,getViewScale:o}){const s=At(e);function a({translateExtent:u,width:f,height:d,zoomStep:h=1,pannable:p=!0,zoomable:m=!0,inversePan:w=!1}){const E=_=>{if(_.sourceEvent.type!=="wheel"||!t)return;const k=r(),R=_.sourceEvent.ctrlKey&&Hi()?10:1,T=-_.sourceEvent.deltaY*(_.sourceEvent.deltaMode===1?.05:_.sourceEvent.deltaMode?1:.002)*h,A=k[2]*Math.pow(2,T*R);t.scaleTo(A)};let y=[0,0];const x=_=>{(_.sourceEvent.type==="mousedown"||_.sourceEvent.type==="touchstart")&&(y=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY])},b=_=>{const k=r();if(_.sourceEvent.type!=="mousemove"&&_.sourceEvent.type!=="touchmove"||!t)return;const R=[_.sourceEvent.clientX??_.sourceEvent.touches[0].clientX,_.sourceEvent.clientY??_.sourceEvent.touches[0].clientY],T=[R[0]-y[0],R[1]-y[1]];y=R;const A=o()*Math.max(k[2],Math.log(k[2]))*(w?-1:1),O={x:k[0]-T[0]*A,y:k[1]-T[1]*A},j=[[0,0],[f,d]];t.setViewportConstrained({x:O.x,y:O.y,zoom:k[2]},j,u)},C=iw().on("start",x).on("zoom",p?b:null).on("zoom.wheel",m?E:null);s.call(C,{})}function l(){s.on("zoom",null)}return{update:a,destroy:l,pointer:nn}}const Ta=e=>({x:e.x,y:e.y,zoom:e.k}),Mc=({x:e,y:t,zoom:r})=>Sa.translate(e,t).scale(r),Ro=(e,t)=>e.target.closest(`.${t}`),Ww=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),iL=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Oc=(e,t=0,r=iL,o=()=>{})=>{const s=typeof t=="number"&&t>0;return s||o(),s?e.transition().duration(t).ease(r).on("end",o):e},Uw=e=>{const t=e.ctrlKey&&Hi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function sL({zoomPanValues:e,noWheelClassName:t,d3Selection:r,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:l,onPanZoomStart:u,onPanZoom:f,onPanZoomEnd:d}){return h=>{if(Ro(h,t))return h.ctrlKey&&h.preventDefault(),!1;h.preventDefault(),h.stopImmediatePropagation();const p=r.property("__zoom").k||1;if(h.ctrlKey&&l){const x=nn(h),b=Uw(h),C=p*Math.pow(2,b);o.scaleTo(r,C,x,h);return}const m=h.deltaMode===1?20:1;let w=s===$r.Vertical?0:h.deltaX*m,E=s===$r.Horizontal?0:h.deltaY*m;!Hi()&&h.shiftKey&&s!==$r.Vertical&&(w=h.deltaY*m,E=0),o.translateBy(r,-(w/p)*a,-(E/p)*a,{internal:!0});const y=Ta(r.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(f==null||f(h,y),e.panScrollTimeout=setTimeout(()=>{d==null||d(h,y),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,u==null||u(h,y))}}function aL({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:r}){return function(o,s){const a=o.type==="wheel",l=!t&&a&&!o.ctrlKey,u=Ro(o,e);if(o.ctrlKey&&a&&u&&o.preventDefault(),l||u)return null;o.preventDefault(),r.call(this,o,s)}}function lL({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:r}){return o=>{var a,l,u;if((a=o.sourceEvent)!=null&&a.internal)return;const s=Ta(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((u=o.sourceEvent)==null?void 0:u.type)==="mousedown"&&t(!0),r&&(r==null||r(o.sourceEvent,s))}}function uL({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:r,onTransformChange:o,onPanZoom:s}){return a=>{var l,u;e.usedRightMouseButton=!!(r&&Ww(t,e.mouseButton??0)),(l=a.sourceEvent)!=null&&l.sync||o([a.transform.x,a.transform.y,a.transform.k]),s&&!((u=a.sourceEvent)!=null&&u.internal)&&(s==null||s(a.sourceEvent,Ta(a.transform)))}}function cL({zoomPanValues:e,panOnDrag:t,panOnScroll:r,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:a}){return l=>{var u;if(!((u=l.sourceEvent)!=null&&u.internal)&&(e.isZoomingOrPanning=!1,a&&Ww(t,e.mouseButton??0)&&!e.usedRightMouseButton&&l.sourceEvent&&a(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const f=Ta(l.transform);e.prevViewport=f,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,f)},r?150:0)}}}function fL({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:r,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:l,noWheelClassName:u,noPanClassName:f,lib:d,connectionInProgress:h}){return p=>{var x;const m=e||t,w=r&&p.ctrlKey,E=p.type==="wheel";if(p.button===1&&p.type==="mousedown"&&(Ro(p,`${d}-flow__node`)||Ro(p,`${d}-flow__edge`)))return!0;if(!o&&!m&&!s&&!a&&!r||l||h&&!E||Ro(p,u)&&E||Ro(p,f)&&(!E||s&&E&&!e)||!r&&p.ctrlKey&&E)return!1;if(!r&&p.type==="touchstart"&&((x=p.touches)==null?void 0:x.length)>1)return p.preventDefault(),!1;if(!m&&!s&&!w&&E||!o&&(p.type==="mousedown"||p.type==="touchstart")||Array.isArray(o)&&!o.includes(p.button)&&p.type==="mousedown")return!1;const y=Array.isArray(o)&&o.includes(p.button)||!p.button||p.button<=1;return(!p.ctrlKey||E)&&y}}function dL({domNode:e,minZoom:t,maxZoom:r,translateExtent:o,viewport:s,onPanZoom:a,onPanZoomStart:l,onPanZoomEnd:u,onDraggingChange:f}){const d={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},h=e.getBoundingClientRect(),p=iw().scaleExtent([t,r]).translateExtent(o),m=At(e).call(p);C({x:s.x,y:s.y,zoom:Eo(s.zoom,t,r)},[[0,0],[h.width,h.height]],o);const w=m.on("wheel.zoom"),E=m.on("dblclick.zoom");p.wheelDelta(Uw);function y(B,V){return m?new Promise(X=>{p==null||p.interpolate((V==null?void 0:V.interpolate)==="linear"?Ai:ha).transform(Oc(m,V==null?void 0:V.duration,V==null?void 0:V.ease,()=>X(!0)),B)}):Promise.resolve(!1)}function x({noWheelClassName:B,noPanClassName:V,onPaneContextMenu:X,userSelectionActive:L,panOnScroll:H,panOnDrag:$,panOnScrollMode:Y,panOnScrollSpeed:M,preventScrolling:q,zoomOnPinch:Q,zoomOnScroll:D,zoomOnDoubleClick:W,zoomActivationKeyPressed:ie,lib:F,onTransformChange:Z,connectionInProgress:ee,paneClickDistance:K,selectionOnDrag:te}){L&&!d.isZoomingOrPanning&&b();const se=H&&!ie&&!L;p.clickDistance(te?1/0:!sn(K)||K<0?0:K);const ae=se?sL({zoomPanValues:d,noWheelClassName:B,d3Selection:m,d3Zoom:p,panOnScrollMode:Y,panOnScrollSpeed:M,zoomOnPinch:Q,onPanZoomStart:l,onPanZoom:a,onPanZoomEnd:u}):aL({noWheelClassName:B,preventScrolling:q,d3ZoomHandler:w});if(m.on("wheel.zoom",ae,{passive:!1}),!L){const de=lL({zoomPanValues:d,onDraggingChange:f,onPanZoomStart:l});p.on("start",de);const pe=uL({zoomPanValues:d,panOnDrag:$,onPaneContextMenu:!!X,onPanZoom:a,onTransformChange:Z});p.on("zoom",pe);const be=cL({zoomPanValues:d,panOnDrag:$,panOnScroll:H,onPaneContextMenu:X,onPanZoomEnd:u,onDraggingChange:f});p.on("end",be)}const ce=fL({zoomActivationKeyPressed:ie,panOnDrag:$,zoomOnScroll:D,panOnScroll:H,zoomOnDoubleClick:W,zoomOnPinch:Q,userSelectionActive:L,noPanClassName:V,noWheelClassName:B,lib:F,connectionInProgress:ee});p.filter(ce),W?m.on("dblclick.zoom",E):m.on("dblclick.zoom",null)}function b(){p.on("zoom",null)}async function C(B,V,X){const L=Mc(B),H=p==null?void 0:p.constrain()(L,V,X);return H&&await y(H),new Promise($=>$(H))}async function _(B,V){const X=Mc(B);return await y(X,V),new Promise(L=>L(X))}function k(B){if(m){const V=Mc(B),X=m.property("__zoom");(X.k!==B.zoom||X.x!==B.x||X.y!==B.y)&&(p==null||p.transform(m,V,null,{sync:!0}))}}function R(){const B=m?rw(m.node()):{x:0,y:0,k:1};return{x:B.x,y:B.y,zoom:B.k}}function T(B,V){return m?new Promise(X=>{p==null||p.interpolate((V==null?void 0:V.interpolate)==="linear"?Ai:ha).scaleTo(Oc(m,V==null?void 0:V.duration,V==null?void 0:V.ease,()=>X(!0)),B)}):Promise.resolve(!1)}function A(B,V){return m?new Promise(X=>{p==null||p.interpolate((V==null?void 0:V.interpolate)==="linear"?Ai:ha).scaleBy(Oc(m,V==null?void 0:V.duration,V==null?void 0:V.ease,()=>X(!0)),B)}):Promise.resolve(!1)}function O(B){p==null||p.scaleExtent(B)}function j(B){p==null||p.translateExtent(B)}function G(B){const V=!sn(B)||B<0?0:B;p==null||p.clickDistance(V)}return{update:x,destroy:b,setViewport:_,setViewportConstrained:C,getViewport:R,scaleTo:T,scaleBy:A,setScaleExtent:O,setTranslateExtent:j,syncViewport:k,setClickDistance:G}}var Po;(function(e){e.Line="line",e.Handle="handle"})(Po||(Po={}));function hL({width:e,prevWidth:t,height:r,prevHeight:o,affectsX:s,affectsY:a}){const l=e-t,u=r-o,f=[l>0?1:l<0?-1:0,u>0?1:u<0?-1:0];return l&&s&&(f[0]=f[0]*-1),u&&a&&(f[1]=f[1]*-1),f}function Gw(e){const t=e.includes("right")||e.includes("left"),r=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:r,affectsX:o,affectsY:s}}function rr(e,t){return Math.max(0,t-e)}function or(e,t){return Math.max(0,e-t)}function Aa(e,t,r){return Math.max(0,t-e,e-r)}function Yw(e,t){return e?!t:t}function pL(e,t,r,o,s,a,l,u){let{affectsX:f,affectsY:d}=t;const{isHorizontal:h,isVertical:p}=t,m=h&&p,{xSnapped:w,ySnapped:E}=r,{minWidth:y,maxWidth:x,minHeight:b,maxHeight:C}=o,{x:_,y:k,width:R,height:T,aspectRatio:A}=e;let O=Math.floor(h?w-e.pointerX:0),j=Math.floor(p?E-e.pointerY:0);const G=R+(f?-O:O),B=T+(d?-j:j),V=-a[0]*R,X=-a[1]*T;let L=Aa(G,y,x),H=Aa(B,b,C);if(l){let M=0,q=0;f&&O<0?M=rr(_+O+V,l[0][0]):!f&&O>0&&(M=or(_+G+V,l[1][0])),d&&j<0?q=rr(k+j+X,l[0][1]):!d&&j>0&&(q=or(k+B+X,l[1][1])),L=Math.max(L,M),H=Math.max(H,q)}if(u){let M=0,q=0;f&&O>0?M=or(_+O,u[0][0]):!f&&O<0&&(M=rr(_+G,u[1][0])),d&&j>0?q=or(k+j,u[0][1]):!d&&j<0&&(q=rr(k+B,u[1][1])),L=Math.max(L,M),H=Math.max(H,q)}if(s){if(h){const M=Aa(G/A,b,C)*A;if(L=Math.max(L,M),l){let q=0;!f&&!d||f&&!d&&m?q=or(k+X+G/A,l[1][1])*A:q=rr(k+X+(f?O:-O)/A,l[0][1])*A,L=Math.max(L,q)}if(u){let q=0;!f&&!d||f&&!d&&m?q=rr(k+G/A,u[1][1])*A:q=or(k+(f?O:-O)/A,u[0][1])*A,L=Math.max(L,q)}}if(p){const M=Aa(B*A,y,x)/A;if(H=Math.max(H,M),l){let q=0;!f&&!d||d&&!f&&m?q=or(_+B*A+V,l[1][0])/A:q=rr(_+(d?j:-j)*A+V,l[0][0])/A,H=Math.max(H,q)}if(u){let q=0;!f&&!d||d&&!f&&m?q=rr(_+B*A,u[1][0])/A:q=or(_+(d?j:-j)*A,u[0][0])/A,H=Math.max(H,q)}}}j=j+(j<0?H:-H),O=O+(O<0?L:-L),s&&(m?G>B*A?j=(Yw(f,d)?-O:O)/A:O=(Yw(f,d)?-j:j)*A:h?(j=O/A,d=f):(O=j*A,f=d));const $=f?_+O:_,Y=d?k+j:k;return{width:R+(f?-O:O),height:T+(d?-j:j),x:a[0]*O*(f?-1:1)+$,y:a[1]*j*(d?-1:1)+Y}}const Kw={width:0,height:0,x:0,y:0},gL={...Kw,pointerX:0,pointerY:0,aspectRatio:1};function mL(e){return[[0,0],[e.measured.width,e.measured.height]]}function vL(e,t,r){const o=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,l=e.measured.height??0,u=r[0]*a,f=r[1]*l;return[[o-u,s-f],[o+a-u,s+l-f]]}function yL({domNode:e,nodeId:t,getStoreItems:r,onChange:o,onEnd:s}){const a=At(e);let l={controlDirection:Gw("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function u({controlPosition:d,boundaries:h,keepAspectRatio:p,resizeDirection:m,onResizeStart:w,onResize:E,onResizeEnd:y,shouldResize:x}){let b={...Kw},C={...gL};l={boundaries:h,resizeDirection:m,keepAspectRatio:p,controlDirection:Gw(d)};let _,k=null,R=[],T,A,O,j=!1;const G=P0().on("start",B=>{const{nodeLookup:V,transform:X,snapGrid:L,snapToGrid:H,nodeOrigin:$,paneDomNode:Y}=r();if(_=V.get(t),!_)return;k=(Y==null?void 0:Y.getBoundingClientRect())??null;const{xSnapped:M,ySnapped:q}=Wi(B.sourceEvent,{transform:X,snapGrid:L,snapToGrid:H,containerBounds:k});b={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},C={...b,pointerX:M,pointerY:q,aspectRatio:b.width/b.height},T=void 0,_.parentId&&(_.extent==="parent"||_.expandParent)&&(T=V.get(_.parentId),A=T&&_.extent==="parent"?mL(T):void 0),R=[],O=void 0;for(const[Q,D]of V)if(D.parentId===t&&(R.push({id:Q,position:{...D.position},extent:D.extent}),D.extent==="parent"||D.expandParent)){const W=vL(D,_,D.origin??$);O?O=[[Math.min(W[0][0],O[0][0]),Math.min(W[0][1],O[0][1])],[Math.max(W[1][0],O[1][0]),Math.max(W[1][1],O[1][1])]]:O=W}w==null||w(B,{...b})}).on("drag",B=>{const{transform:V,snapGrid:X,snapToGrid:L,nodeOrigin:H}=r(),$=Wi(B.sourceEvent,{transform:V,snapGrid:X,snapToGrid:L,containerBounds:k}),Y=[];if(!_)return;const{x:M,y:q,width:Q,height:D}=b,W={},ie=_.origin??H,{width:F,height:Z,x:ee,y:K}=pL(C,l.controlDirection,$,l.boundaries,l.keepAspectRatio,ie,A,O),te=F!==Q,se=Z!==D,ae=ee!==M&&te,ce=K!==q&&se;if(!ae&&!ce&&!te&&!se)return;if((ae||ce||ie[0]===1||ie[1]===1)&&(W.x=ae?ee:b.x,W.y=ce?K:b.y,b.x=W.x,b.y=W.y,R.length>0)){const me=ee-M,Re=K-q;for(const Ee of R)Ee.position={x:Ee.position.x-me+ie[0]*(F-Q),y:Ee.position.y-Re+ie[1]*(Z-D)},Y.push(Ee)}if((te||se)&&(W.width=te&&(!l.resizeDirection||l.resizeDirection==="horizontal")?F:b.width,W.height=se&&(!l.resizeDirection||l.resizeDirection==="vertical")?Z:b.height,b.width=W.width,b.height=W.height),T&&_.expandParent){const me=ie[0]*(W.width??0);W.x&&W.x{j&&(y==null||y(B,{...b}),s==null||s({...b}),j=!1)});a.call(G)}function f(){a.on(".drag",null)}return{update:u,destroy:f}}var Lc={exports:{}},Dc={},jc={exports:{}},qc={};/** + * @license React + * use-sync-external-store-shim.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xw;function wL(){if(Xw)return qc;Xw=1;var e=Ci();function t(p,m){return p===m&&(p!==0||1/p===1/m)||p!==p&&m!==m}var r=typeof Object.is=="function"?Object.is:t,o=e.useState,s=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue;function u(p,m){var w=m(),E=o({inst:{value:w,getSnapshot:m}}),y=E[0].inst,x=E[1];return a(function(){y.value=w,y.getSnapshot=m,f(y)&&x({inst:y})},[p,w,m]),s(function(){return f(y)&&x({inst:y}),p(function(){f(y)&&x({inst:y})})},[p]),l(w),w}function f(p){var m=p.getSnapshot;p=p.value;try{var w=m();return!r(p,w)}catch{return!0}}function d(p,m){return m()}var h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:u;return qc.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:h,qc}var Qw;function xL(){return Qw||(Qw=1,jc.exports=wL()),jc.exports}/** + * @license React + * use-sync-external-store-shim/with-selector.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Zw;function _L(){if(Zw)return Dc;Zw=1;var e=Ci(),t=xL();function r(d,h){return d===h&&(d!==0||1/d===1/h)||d!==d&&h!==h}var o=typeof Object.is=="function"?Object.is:r,s=t.useSyncExternalStore,a=e.useRef,l=e.useEffect,u=e.useMemo,f=e.useDebugValue;return Dc.useSyncExternalStoreWithSelector=function(d,h,p,m,w){var E=a(null);if(E.current===null){var y={hasValue:!1,value:null};E.current=y}else y=E.current;E=u(function(){function b(T){if(!C){if(C=!0,_=T,T=m(T),w!==void 0&&y.hasValue){var A=y.value;if(w(A,T))return k=A}return k=T}if(A=k,o(_,T))return A;var O=m(T);return w!==void 0&&w(A,O)?(_=T,A):(_=T,k=O)}var C=!1,_,k,R=p===void 0?null:p;return[function(){return b(h())},R===null?void 0:function(){return b(R())}]},[h,p,m,w]);var x=s(d,E[0],E[1]);return l(function(){y.hasValue=!0,y.value=x},[x]),f(x),x},Dc}var Jw;function bL(){return Jw||(Jw=1,Lc.exports=_L()),Lc.exports}var SL=bL();const EL=tr(SL),CL={},ex=e=>{let t;const r=new Set,o=(h,p)=>{const m=typeof h=="function"?h(t):h;if(!Object.is(m,t)){const w=t;t=p??(typeof m!="object"||m===null)?m:Object.assign({},t,m),r.forEach(E=>E(t,w))}},s=()=>t,f={setState:o,getState:s,getInitialState:()=>d,subscribe:h=>(r.add(h),()=>r.delete(h)),destroy:()=>{(CL?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},d=t=e(o,s,f);return f},kL=e=>e?ex(e):ex,{useDebugValue:NL}=$t,{useSyncExternalStoreWithSelector:RL}=EL,PL=e=>e;function tx(e,t=PL,r){const o=RL(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return NL(o),o}const nx=(e,t)=>{const r=kL(e),o=(s,a=t)=>tx(r,s,a);return Object.assign(o,r),o},TL=(e,t)=>e?nx(e,t):nx;function Ve(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[o,s]of e)if(!Object.is(s,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const o of e)if(!t.has(o))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const o of r)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}var Gi=c0();const AL=tr(Gi),Ia=N.createContext(null),IL=Ia.Provider,rx=En.error001();function Ie(e,t){const r=N.useContext(Ia);if(r===null)throw new Error(rx);return tx(r,e,t)}function ze(){const e=N.useContext(Ia);if(e===null)throw new Error(rx);return N.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const ox={display:"none"},ML={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ix="react-flow__node-desc",sx="react-flow__edge-desc",OL="react-flow__aria-live",LL=e=>e.ariaLiveMessage,DL=e=>e.ariaLabelConfig;function jL({rfId:e}){const t=Ie(LL);return I.jsx("div",{id:`${OL}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ML,children:t})}function qL({rfId:e,disableKeyboardA11y:t}){const r=Ie(DL);return I.jsxs(I.Fragment,{children:[I.jsx("div",{id:`${ix}-${e}`,style:ox,children:t?r["node.a11yDescription.default"]:r["node.a11yDescription.keyboardDisabled"]}),I.jsx("div",{id:`${sx}-${e}`,style:ox,children:r["edge.a11yDescription.default"]}),!t&&I.jsx(jL,{rfId:e})]})}const Yi=N.forwardRef(({position:e="top-left",children:t,className:r,style:o,...s},a)=>{const l=`${e}`.split("-");return I.jsx("div",{className:Je(["react-flow__panel",r,...l]),style:o,ref:a,...s,children:t})});Yi.displayName="Panel";function zL({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:I.jsx(Yi,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:I.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const FL=e=>{const t=[],r=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&r.push(o);return{selectedNodes:t,selectedEdges:r}},Ma=e=>e.id;function $L(e,t){return Ve(e.selectedNodes.map(Ma),t.selectedNodes.map(Ma))&&Ve(e.selectedEdges.map(Ma),t.selectedEdges.map(Ma))}function BL({onSelectionChange:e}){const t=ze(),{selectedNodes:r,selectedEdges:o}=Ie(FL,$L);return N.useEffect(()=>{const s={nodes:r,edges:o};e==null||e(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[r,o,e]),null}const VL=e=>!!e.onSelectionChangeHandlers;function HL({onSelectionChange:e}){const t=Ie(VL);return e||t?I.jsx(BL,{onSelectionChange:e}):null}const ax=[0,0],WL={x:0,y:0,zoom:1},lx=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig"],"rfId"],UL=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),ux={translateExtent:ji,nodeOrigin:ax,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function GL(e){const{setNodes:t,setEdges:r,setMinZoom:o,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:l,reset:u,setDefaultNodesAndEdges:f}=Ie(UL,Ve),d=ze();N.useEffect(()=>(f(e.defaultNodes,e.defaultEdges),()=>{h.current=ux,u()}),[]);const h=N.useRef(ux);return N.useEffect(()=>{for(const p of lx){const m=e[p],w=h.current[p];m!==w&&(typeof e[p]>"u"||(p==="nodes"?t(m):p==="edges"?r(m):p==="minZoom"?o(m):p==="maxZoom"?s(m):p==="translateExtent"?a(m):p==="nodeExtent"?l(m):p==="ariaLabelConfig"?d.setState({ariaLabelConfig:TO(m)}):p==="fitView"?d.setState({fitViewQueued:m}):p==="fitViewOptions"?d.setState({fitViewOptions:m}):d.setState({[p]:m})))}h.current=e},lx.map(p=>e[p])),null}function cx(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function YL(e){var o;const[t,r]=N.useState(e==="system"?null:e);return N.useEffect(()=>{if(e!=="system"){r(e);return}const s=cx(),a=()=>r(s!=null&&s.matches?"dark":"light");return a(),s==null||s.addEventListener("change",a),()=>{s==null||s.removeEventListener("change",a)}},[e]),t!==null?t:(o=cx())!=null&&o.matches?"dark":"light"}const fx=typeof document<"u"?document:null;function Ki(e=null,t={target:fx,actInsideInputWithModifier:!0}){const[r,o]=N.useState(!1),s=N.useRef(!1),a=N.useRef(new Set([])),[l,u]=N.useMemo(()=>{if(e!==null){const d=(Array.isArray(e)?e:[e]).filter(p=>typeof p=="string").map(p=>p.replace("+",` +`).replace(` + +`,` ++`).split(` +`)),h=d.reduce((p,m)=>p.concat(...m),[]);return[d,h]}return[[],[]]},[e]);return N.useEffect(()=>{const f=(t==null?void 0:t.target)??fx,d=(t==null?void 0:t.actInsideInputWithModifier)??!0;if(e!==null){const h=w=>{var x,b;if(s.current=w.ctrlKey||w.metaKey||w.shiftKey||w.altKey,(!s.current||s.current&&!d)&&bw(w))return!1;const y=hx(w.code,u);if(a.current.add(w[y]),dx(l,a.current,!1)){const C=((b=(x=w.composedPath)==null?void 0:x.call(w))==null?void 0:b[0])||w.target,_=(C==null?void 0:C.nodeName)==="BUTTON"||(C==null?void 0:C.nodeName)==="A";t.preventDefault!==!1&&(s.current||!_)&&w.preventDefault(),o(!0)}},p=w=>{const E=hx(w.code,u);dx(l,a.current,!0)?(o(!1),a.current.clear()):a.current.delete(w[E]),w.key==="Meta"&&a.current.clear(),s.current=!1},m=()=>{a.current.clear(),o(!1)};return f==null||f.addEventListener("keydown",h),f==null||f.addEventListener("keyup",p),window.addEventListener("blur",m),window.addEventListener("contextmenu",m),()=>{f==null||f.removeEventListener("keydown",h),f==null||f.removeEventListener("keyup",p),window.removeEventListener("blur",m),window.removeEventListener("contextmenu",m)}}},[e,o]),r}function dx(e,t,r){return e.filter(o=>r||o.length===t.size).some(o=>o.every(s=>t.has(s)))}function hx(e,t){return t.includes(e)?"code":"key"}const KL=()=>{const e=ze();return N.useMemo(()=>({zoomIn:t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:r}=e.getState();return r?r.scaleBy(1/1.2,{duration:t==null?void 0:t.duration}):Promise.resolve(!1)},zoomTo:(t,r)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,{duration:r==null?void 0:r.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,r)=>{const{transform:[o,s,a],panZoom:l}=e.getState();return l?(await l.setViewport({x:t.x??o,y:t.y??s,zoom:t.zoom??a},r),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,r,o]=e.getState().transform;return{x:t,y:r,zoom:o}},setCenter:async(t,r,o)=>e.getState().setCenter(t,r,o),fitBounds:async(t,r)=>{const{width:o,height:s,minZoom:a,maxZoom:l,panZoom:u}=e.getState(),f=bc(t,o,s,a,l,(r==null?void 0:r.padding)??.1);return u?(await u.setViewport(f,{duration:r==null?void 0:r.duration,ease:r==null?void 0:r.ease,interpolate:r==null?void 0:r.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,r={})=>{const{transform:o,snapGrid:s,snapToGrid:a,domNode:l}=e.getState();if(!l)return t;const{x:u,y:f}=l.getBoundingClientRect(),d={x:t.x-u,y:t.y-f},h=r.snapGrid??s,p=r.snapToGrid??a;return Vi(d,o,p,h)},flowToScreenPosition:t=>{const{transform:r,domNode:o}=e.getState();if(!o)return t;const{x:s,y:a}=o.getBoundingClientRect(),l=Ra(t,r);return{x:l.x+s,y:l.y+a}}}),[])};function px(e,t){const r=[],o=new Map,s=[];for(const a of e)if(a.type==="add"){s.push(a);continue}else if(a.type==="remove"||a.type==="replace")o.set(a.id,[a]);else{const l=o.get(a.id);l?l.push(a):o.set(a.id,[a])}for(const a of t){const l=o.get(a.id);if(!l){r.push(a);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){r.push({...l[0].item});continue}const u={...a};for(const f of l)XL(f,u);r.push(u)}return s.length&&s.forEach(a=>{a.index!==void 0?r.splice(a.index,0,{...a.item}):r.push({...a.item})}),r}function XL(e,t){switch(e.type){case"select":{t.selected=e.selected;break}case"position":{typeof e.position<"u"&&(t.position=e.position),typeof e.dragging<"u"&&(t.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(t.measured??(t.measured={}),t.measured.width=e.dimensions.width,t.measured.height=e.dimensions.height,e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(t.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(t.resizing=e.resizing);break}}}function gx(e,t){return px(e,t)}function mx(e,t){return px(e,t)}function Vr(e,t){return{id:e,type:"select",selected:t}}function To(e,t=new Set,r=!1){const o=[];for(const[s,a]of e){const l=t.has(s);!(a.selected===void 0&&!l)&&a.selected!==l&&(r&&(a.selected=l),o.push(Vr(a.id,l)))}return o}function vx({items:e=[],lookup:t}){var s;const r=[],o=new Map(e.map(a=>[a.id,a]));for(const[a,l]of e.entries()){const u=t.get(l.id),f=((s=u==null?void 0:u.internals)==null?void 0:s.userNode)??u;f!==void 0&&f!==l&&r.push({id:l.id,item:l,type:"replace"}),f===void 0&&r.push({item:l,type:"add",index:a})}for(const[a]of t)o.get(a)===void 0&&r.push({id:a,type:"remove"});return r}function yx(e){return{id:e.id,type:"remove"}}const wx=e=>xO(e),QL=e=>fw(e);function xx(e){return N.forwardRef(e)}const ZL=typeof window<"u"?N.useLayoutEffect:N.useEffect;function _x(e){const[t,r]=N.useState(BigInt(0)),[o]=N.useState(()=>JL(()=>r(s=>s+BigInt(1))));return ZL(()=>{const s=o.get();s.length&&(e(s),o.reset())},[t]),o}function JL(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:r=>{t.push(r),e()}}}const bx=N.createContext(null);function eD({children:e}){const t=ze(),r=N.useCallback(u=>{const{nodes:f=[],setNodes:d,hasDefaultNodes:h,onNodesChange:p,nodeLookup:m,fitViewQueued:w}=t.getState();let E=f;for(const x of u)E=typeof x=="function"?x(E):x;const y=vx({items:E,lookup:m});h&&d(E),y.length>0?p==null||p(y):w&&window.requestAnimationFrame(()=>{const{fitViewQueued:x,nodes:b,setNodes:C}=t.getState();x&&C(b)})},[]),o=_x(r),s=N.useCallback(u=>{const{edges:f=[],setEdges:d,hasDefaultEdges:h,onEdgesChange:p,edgeLookup:m}=t.getState();let w=f;for(const E of u)w=typeof E=="function"?E(w):E;h?d(w):p&&p(vx({items:w,lookup:m}))},[]),a=_x(s),l=N.useMemo(()=>({nodeQueue:o,edgeQueue:a}),[]);return I.jsx(bx.Provider,{value:l,children:e})}function tD(){const e=N.useContext(bx);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const nD=e=>!!e.panZoom;function zc(){const e=KL(),t=ze(),r=tD(),o=Ie(nD),s=N.useMemo(()=>{const a=p=>t.getState().nodeLookup.get(p),l=p=>{r.nodeQueue.push(p)},u=p=>{r.edgeQueue.push(p)},f=p=>{var b,C;const{nodeLookup:m,nodeOrigin:w}=t.getState(),E=wx(p)?p:m.get(p.id),y=E.parentId?ww(E.position,E.measured,E.parentId,m,w):E.position,x={...E,position:y,width:((b=E.measured)==null?void 0:b.width)??E.width,height:((C=E.measured)==null?void 0:C.height)??E.height};return Co(x)},d=(p,m,w={replace:!1})=>{l(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return w.replace&&wx(x)?x:{...y,...x}}return y}))},h=(p,m,w={replace:!1})=>{u(E=>E.map(y=>{if(y.id===p){const x=typeof m=="function"?m(y):m;return w.replace&&QL(x)?x:{...y,...x}}return y}))};return{getNodes:()=>t.getState().nodes.map(p=>({...p})),getNode:p=>{var m;return(m=a(p))==null?void 0:m.internals.userNode},getInternalNode:a,getEdges:()=>{const{edges:p=[]}=t.getState();return p.map(m=>({...m}))},getEdge:p=>t.getState().edgeLookup.get(p),setNodes:l,setEdges:u,addNodes:p=>{const m=Array.isArray(p)?p:[p];r.nodeQueue.push(w=>[...w,...m])},addEdges:p=>{const m=Array.isArray(p)?p:[p];r.edgeQueue.push(w=>[...w,...m])},toObject:()=>{const{nodes:p=[],edges:m=[],transform:w}=t.getState(),[E,y,x]=w;return{nodes:p.map(b=>({...b})),edges:m.map(b=>({...b})),viewport:{x:E,y,zoom:x}}},deleteElements:async({nodes:p=[],edges:m=[]})=>{const{nodes:w,edges:E,onNodesDelete:y,onEdgesDelete:x,triggerNodeChanges:b,triggerEdgeChanges:C,onDelete:_,onBeforeDelete:k}=t.getState(),{nodes:R,edges:T}=await CO({nodesToRemove:p,edgesToRemove:m,nodes:w,edges:E,onBeforeDelete:k}),A=T.length>0,O=R.length>0;if(A){const j=T.map(yx);x==null||x(T),C(j)}if(O){const j=R.map(yx);y==null||y(R),b(j)}return(O||A)&&(_==null||_({nodes:R,edges:T})),{deletedNodes:R,deletedEdges:T}},getIntersectingNodes:(p,m=!0,w)=>{const E=vw(p),y=E?p:f(p),x=w!==void 0;return y?(w||t.getState().nodes).filter(b=>{const C=t.getState().nodeLookup.get(b.id);if(C&&!E&&(b.id===p.id||!C.internals.positionAbsolute))return!1;const _=Co(x?b:C),k=$i(_,y);return m&&k>0||k>=_.width*_.height||k>=y.width*y.height}):[]},isNodeIntersecting:(p,m,w=!0)=>{const y=vw(p)?p:f(p);if(!y)return!1;const x=$i(y,m);return w&&x>0||x>=m.width*m.height||x>=y.width*y.height},updateNode:d,updateNodeData:(p,m,w={replace:!1})=>{d(p,E=>{const y=typeof m=="function"?m(E):m;return w.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},w)},updateEdge:h,updateEdgeData:(p,m,w={replace:!1})=>{h(p,E=>{const y=typeof m=="function"?m(E):m;return w.replace?{...E,data:y}:{...E,data:{...E.data,...y}}},w)},getNodesBounds:p=>{const{nodeLookup:m,nodeOrigin:w}=t.getState();return _O(p,{nodeLookup:m,nodeOrigin:w})},getHandleConnections:({type:p,id:m,nodeId:w})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${w}-${p}${m?`-${m}`:""}`))==null?void 0:E.values())??[])},getNodeConnections:({type:p,handleId:m,nodeId:w})=>{var E;return Array.from(((E=t.getState().connectionLookup.get(`${w}${p?m?`-${p}-${m}`:`-${p}`:""}`))==null?void 0:E.values())??[])},fitView:async p=>{const m=t.getState().fitViewResolver??PO();return t.setState({fitViewQueued:!0,fitViewOptions:p,fitViewResolver:m}),r.nodeQueue.push(w=>[...w]),m.promise}}},[]);return N.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Sx=e=>e.selected,rD=typeof window<"u"?window:void 0;function oD({deleteKeyCode:e,multiSelectionKeyCode:t}){const r=ze(),{deleteElements:o}=zc(),s=Ki(e,{actInsideInputWithModifier:!1}),a=Ki(t,{target:rD});N.useEffect(()=>{if(s){const{edges:l,nodes:u}=r.getState();o({nodes:u.filter(Sx),edges:l.filter(Sx)}),r.setState({nodesSelectionActive:!1})}},[s]),N.useEffect(()=>{r.setState({multiSelectionActive:a})},[a])}function iD(e){const t=ze();N.useEffect(()=>{const r=()=>{var s,a,l,u;if(!e.current||!(((a=(s=e.current).checkVisibility)==null?void 0:a.call(s))??!0))return!1;const o=Sc(e.current);(o.height===0||o.width===0)&&((u=(l=t.getState()).onError)==null||u.call(l,"004",En.error004())),t.setState({width:o.width||500,height:o.height||500})};if(e.current){r(),window.addEventListener("resize",r);const o=new ResizeObserver(()=>r());return o.observe(e.current),()=>{window.removeEventListener("resize",r),o&&e.current&&o.unobserve(e.current)}}},[])}const Oa={position:"absolute",width:"100%",height:"100%",top:0,left:0},sD=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function aD({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:r=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:a=$r.Free,zoomOnDoubleClick:l=!0,panOnDrag:u=!0,defaultViewport:f,translateExtent:d,minZoom:h,maxZoom:p,zoomActivationKeyCode:m,preventScrolling:w=!0,children:E,noWheelClassName:y,noPanClassName:x,onViewportChange:b,isControlledViewport:C,paneClickDistance:_,selectionOnDrag:k}){const R=ze(),T=N.useRef(null),{userSelectionActive:A,lib:O,connectionInProgress:j}=Ie(sD,Ve),G=Ki(m),B=N.useRef();iD(T);const V=N.useCallback(X=>{b==null||b({x:X[0],y:X[1],zoom:X[2]}),C||R.setState({transform:X})},[b,C]);return N.useEffect(()=>{if(T.current){B.current=dL({domNode:T.current,minZoom:h,maxZoom:p,translateExtent:d,viewport:f,onDraggingChange:$=>R.setState({paneDragging:$}),onPanZoomStart:($,Y)=>{const{onViewportChangeStart:M,onMoveStart:q}=R.getState();q==null||q($,Y),M==null||M(Y)},onPanZoom:($,Y)=>{const{onViewportChange:M,onMove:q}=R.getState();q==null||q($,Y),M==null||M(Y)},onPanZoomEnd:($,Y)=>{const{onViewportChangeEnd:M,onMoveEnd:q}=R.getState();q==null||q($,Y),M==null||M(Y)}});const{x:X,y:L,zoom:H}=B.current.getViewport();return R.setState({panZoom:B.current,transform:[X,L,H],domNode:T.current.closest(".react-flow")}),()=>{var $;($=B.current)==null||$.destroy()}}},[]),N.useEffect(()=>{var X;(X=B.current)==null||X.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:r,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:a,zoomOnDoubleClick:l,panOnDrag:u,zoomActivationKeyPressed:G,preventScrolling:w,noPanClassName:x,userSelectionActive:A,noWheelClassName:y,lib:O,onTransformChange:V,connectionInProgress:j,selectionOnDrag:k,paneClickDistance:_})},[e,t,r,o,s,a,l,u,G,w,x,A,y,O,V,j,k,_]),I.jsx("div",{className:"react-flow__renderer",ref:T,style:Oa,children:E})}const lD=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function uD(){const{userSelectionActive:e,userSelectionRect:t}=Ie(lD,Ve);return e&&t?I.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const Fc=(e,t)=>r=>{r.target===t.current&&(e==null||e(r))},cD=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function fD({isSelecting:e,selectionKeyPressed:t,selectionMode:r=qi.Full,panOnDrag:o,paneClickDistance:s,selectionOnDrag:a,onSelectionStart:l,onSelectionEnd:u,onPaneClick:f,onPaneContextMenu:d,onPaneScroll:h,onPaneMouseEnter:p,onPaneMouseMove:m,onPaneMouseLeave:w,children:E}){const y=ze(),{userSelectionActive:x,elementsSelectable:b,dragging:C,connectionInProgress:_}=Ie(cD,Ve),k=b&&(e||x),R=N.useRef(null),T=N.useRef(),A=N.useRef(new Set),O=N.useRef(new Set),j=N.useRef(!1),G=M=>{if(j.current||_){j.current=!1;return}f==null||f(M),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},B=M=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){M.preventDefault();return}d==null||d(M)},V=h?M=>h(M):void 0,X=M=>{j.current&&(M.stopPropagation(),j.current=!1)},L=M=>{var Z,ee;const{domNode:q}=y.getState();if(T.current=q==null?void 0:q.getBoundingClientRect(),!T.current)return;const Q=M.target===R.current;if(!Q&&!!M.target.closest(".nokey")||!e||!(a&&Q||t)||M.button!==0||!M.isPrimary)return;(ee=(Z=M.target)==null?void 0:Z.setPointerCapture)==null||ee.call(Z,M.pointerId),j.current=!1;const{x:ie,y:F}=an(M.nativeEvent,T.current);y.setState({userSelectionRect:{width:0,height:0,startX:ie,startY:F,x:ie,y:F}}),Q||(M.stopPropagation(),M.preventDefault())},H=M=>{const{userSelectionRect:q,transform:Q,nodeLookup:D,edgeLookup:W,connectionLookup:ie,triggerNodeChanges:F,triggerEdgeChanges:Z,defaultEdgeOptions:ee,resetSelectedElements:K}=y.getState();if(!T.current||!q)return;const{x:te,y:se}=an(M.nativeEvent,T.current),{startX:ae,startY:ce}=q;if(!j.current){const Re=t?0:s;if(Math.hypot(te-ae,se-ce)<=Re)return;K(),l==null||l(M)}j.current=!0;const de={startX:ae,startY:ce,x:teRe.id)),O.current=new Set;const me=(ee==null?void 0:ee.selectable)??!0;for(const Re of A.current){const Ee=ie.get(Re);if(Ee)for(const{edgeId:Qe}of Ee.values()){const He=W.get(Qe);He&&(He.selectable??me)&&O.current.add(Qe)}}if(!xw(pe,A.current)){const Re=To(D,A.current,!0);F(Re)}if(!xw(be,O.current)){const Re=To(W,O.current);Z(Re)}y.setState({userSelectionRect:de,userSelectionActive:!0,nodesSelectionActive:!1})},$=M=>{var q,Q;M.button===0&&((Q=(q=M.target)==null?void 0:q.releasePointerCapture)==null||Q.call(q,M.pointerId),!x&&M.target===R.current&&y.getState().userSelectionRect&&(G==null||G(M)),y.setState({userSelectionActive:!1,userSelectionRect:null}),j.current&&(u==null||u(M),y.setState({nodesSelectionActive:A.current.size>0})))},Y=o===!0||Array.isArray(o)&&o.includes(0);return I.jsxs("div",{className:Je(["react-flow__pane",{draggable:Y,dragging:C,selection:e}]),onClick:k?void 0:Fc(G,R),onContextMenu:Fc(B,R),onWheel:Fc(V,R),onPointerEnter:k?void 0:p,onPointerMove:k?H:m,onPointerUp:k?$:void 0,onPointerDownCapture:k?L:void 0,onClickCapture:k?X:void 0,onPointerLeave:w,ref:R,style:Oa,children:[E,I.jsx(uD,{})]})}function $c({id:e,store:t,unselect:r=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:a,multiSelectionActive:l,nodeLookup:u,onError:f}=t.getState(),d=u.get(e);if(!d){f==null||f("012",En.error012(e));return}t.setState({nodesSelectionActive:!1}),d.selected?(r||d.selected&&l)&&(a({nodes:[d],edges:[]}),requestAnimationFrame(()=>{var h;return(h=o==null?void 0:o.current)==null?void 0:h.blur()})):s([e])}function Ex({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:o,nodeId:s,isSelectable:a,nodeClickDistance:l}){const u=ze(),[f,d]=N.useState(!1),h=N.useRef();return N.useEffect(()=>{h.current=ZO({getStoreItems:()=>u.getState(),onNodeMouseDown:p=>{$c({id:p,store:u,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),N.useEffect(()=>{var p,m;if(t)(p=h.current)==null||p.destroy();else if(e.current)return(m=h.current)==null||m.update({noDragClassName:r,handleSelector:o,domNode:e.current,isSelectable:a,nodeId:s,nodeClickDistance:l}),()=>{var w;(w=h.current)==null||w.destroy()}},[r,o,t,a,e,s]),f}const dD=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function Cx(){const e=ze();return N.useCallback(r=>{const{nodeExtent:o,snapToGrid:s,snapGrid:a,nodesDraggable:l,onError:u,updateNodePositions:f,nodeLookup:d,nodeOrigin:h}=e.getState(),p=new Map,m=dD(l),w=s?a[0]:5,E=s?a[1]:5,y=r.direction.x*w*r.factor,x=r.direction.y*E*r.factor;for(const[,b]of d){if(!m(b))continue;let C={x:b.internals.positionAbsolute.x+y,y:b.internals.positionAbsolute.y+x};s&&(C=Bi(C,a));const{position:_,positionAbsolute:k}=dw({nodeId:b.id,nextPosition:C,nodeLookup:d,nodeExtent:o,nodeOrigin:h,onError:u});b.position=_,b.internals.positionAbsolute=k,p.set(b.id,b)}f(p)},[])}const Bc=N.createContext(null),hD=Bc.Provider;Bc.Consumer;const kx=()=>N.useContext(Bc),pD=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),gD=(e,t,r)=>o=>{const{connectionClickStartHandle:s,connectionMode:a,connection:l}=o,{fromHandle:u,toHandle:f,isValid:d}=l,h=(f==null?void 0:f.nodeId)===e&&(f==null?void 0:f.id)===t&&(f==null?void 0:f.type)===r;return{connectingFrom:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.id)===t&&(u==null?void 0:u.type)===r,connectingTo:h,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===t&&(s==null?void 0:s.type)===r,isPossibleEndHandle:a===So.Strict?(u==null?void 0:u.type)!==r:e!==(u==null?void 0:u.nodeId)||t!==(u==null?void 0:u.id),connectionInProcess:!!u,clickConnectionInProcess:!!s,valid:h&&d}};function mD({type:e="source",position:t=ve.Top,isValidConnection:r,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:a=!0,id:l,onConnect:u,children:f,className:d,onMouseDown:h,onTouchStart:p,...m},w){var H,$;const E=l||null,y=e==="target",x=ze(),b=kx(),{connectOnClick:C,noPanClassName:_,rfId:k}=Ie(pD,Ve),{connectingFrom:R,connectingTo:T,clickConnecting:A,isPossibleEndHandle:O,connectionInProcess:j,clickConnectionInProcess:G,valid:B}=Ie(gD(b,E,e),Ve);b||($=(H=x.getState()).onError)==null||$.call(H,"010",En.error010());const V=Y=>{const{defaultEdgeOptions:M,onConnect:q,hasDefaultEdges:Q}=x.getState(),D={...M,...Y};if(Q){const{edges:W,setEdges:ie}=x.getState();ie(DO(D,W))}q==null||q(D),u==null||u(D)},X=Y=>{if(!b)return;const M=Sw(Y.nativeEvent);if(s&&(M&&Y.button===0||!M)){const q=x.getState();Ic.onPointerDown(Y.nativeEvent,{handleDomNode:Y.currentTarget,autoPanOnConnect:q.autoPanOnConnect,connectionMode:q.connectionMode,connectionRadius:q.connectionRadius,domNode:q.domNode,nodeLookup:q.nodeLookup,lib:q.lib,isTarget:y,handleId:E,nodeId:b,flowId:q.rfId,panBy:q.panBy,cancelConnection:q.cancelConnection,onConnectStart:q.onConnectStart,onConnectEnd:q.onConnectEnd,updateConnection:q.updateConnection,onConnect:V,isValidConnection:r||q.isValidConnection,getTransform:()=>x.getState().transform,getFromHandle:()=>x.getState().connection.fromHandle,autoPanSpeed:q.autoPanSpeed,dragThreshold:q.connectionDragThreshold})}M?h==null||h(Y):p==null||p(Y)},L=Y=>{const{onClickConnectStart:M,onClickConnectEnd:q,connectionClickStartHandle:Q,connectionMode:D,isValidConnection:W,lib:ie,rfId:F,nodeLookup:Z,connection:ee}=x.getState();if(!b||!Q&&!s)return;if(!Q){M==null||M(Y.nativeEvent,{nodeId:b,handleId:E,handleType:e}),x.setState({connectionClickStartHandle:{nodeId:b,type:e,id:E}});return}const K=_w(Y.target),te=r||W,{connection:se,isValid:ae}=Ic.isValid(Y.nativeEvent,{handle:{nodeId:b,id:E,type:e},connectionMode:D,fromNodeId:Q.nodeId,fromHandleId:Q.id||null,fromType:Q.type,isValidConnection:te,flowId:F,doc:K,lib:ie,nodeLookup:Z});ae&&se&&V(se);const ce=structuredClone(ee);delete ce.inProgress,ce.toPosition=ce.toHandle?ce.toHandle.position:null,q==null||q(Y,ce),x.setState({connectionClickStartHandle:null})};return I.jsx("div",{"data-handleid":E,"data-nodeid":b,"data-handlepos":t,"data-id":`${k}-${b}-${E}-${e}`,className:Je(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",_,d,{source:!y,target:y,connectable:o,connectablestart:s,connectableend:a,clickconnecting:A,connectingfrom:R,connectingto:T,valid:B,connectionindicator:o&&(!j||O)&&(j||G?a:s)}]),onMouseDown:X,onTouchStart:X,onClick:C?L:void 0,ref:w,...m,children:f})}const Xi=N.memo(xx(mD));function vD({data:e,isConnectable:t,sourcePosition:r=ve.Bottom}){return I.jsxs(I.Fragment,{children:[e==null?void 0:e.label,I.jsx(Xi,{type:"source",position:r,isConnectable:t})]})}function yD({data:e,isConnectable:t,targetPosition:r=ve.Top,sourcePosition:o=ve.Bottom}){return I.jsxs(I.Fragment,{children:[I.jsx(Xi,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label,I.jsx(Xi,{type:"source",position:o,isConnectable:t})]})}function wD(){return null}function xD({data:e,isConnectable:t,targetPosition:r=ve.Top}){return I.jsxs(I.Fragment,{children:[I.jsx(Xi,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label]})}const La={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Nx={input:vD,default:yD,output:xD,group:wD};function _D(e){var t,r,o,s;return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??((t=e.style)==null?void 0:t.width),height:e.height??e.initialHeight??((r=e.style)==null?void 0:r.height)}:{width:e.width??((o=e.style)==null?void 0:o.width),height:e.height??((s=e.style)==null?void 0:s.height)}}const bD=e=>{const{width:t,height:r,x:o,y:s}=Fi(e.nodeLookup,{filter:a=>!!a.selected});return{width:sn(t)?t:null,height:sn(r)?r:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function SD({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){const o=ze(),{width:s,height:a,transformString:l,userSelectionActive:u}=Ie(bD,Ve),f=Cx(),d=N.useRef(null);if(N.useEffect(()=>{var m;r||(m=d.current)==null||m.focus({preventScroll:!0})},[r]),Ex({nodeRef:d}),u||!s||!a)return null;const h=e?m=>{const w=o.getState().nodes.filter(E=>E.selected);e(m,w)}:void 0,p=m=>{Object.prototype.hasOwnProperty.call(La,m.key)&&(m.preventDefault(),f({direction:La[m.key],factor:m.shiftKey?4:1}))};return I.jsx("div",{className:Je(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l},children:I.jsx("div",{ref:d,className:"react-flow__nodesselection-rect",onContextMenu:h,tabIndex:r?void 0:-1,onKeyDown:r?void 0:p,style:{width:s,height:a}})})}const Rx=typeof window<"u"?window:void 0,ED=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Px({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,paneClickDistance:u,deleteKeyCode:f,selectionKeyCode:d,selectionOnDrag:h,selectionMode:p,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:E,panActivationKeyCode:y,zoomActivationKeyCode:x,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:k,panOnScrollSpeed:R,panOnScrollMode:T,zoomOnDoubleClick:A,panOnDrag:O,defaultViewport:j,translateExtent:G,minZoom:B,maxZoom:V,preventScrolling:X,onSelectionContextMenu:L,noWheelClassName:H,noPanClassName:$,disableKeyboardA11y:Y,onViewportChange:M,isControlledViewport:q}){const{nodesSelectionActive:Q,userSelectionActive:D}=Ie(ED),W=Ki(d,{target:Rx}),ie=Ki(y,{target:Rx}),F=ie||O,Z=ie||k,ee=h&&F!==!0,K=W||D||ee;return oD({deleteKeyCode:f,multiSelectionKeyCode:E}),I.jsx(aD,{onPaneContextMenu:a,elementsSelectable:b,zoomOnScroll:C,zoomOnPinch:_,panOnScroll:Z,panOnScrollSpeed:R,panOnScrollMode:T,zoomOnDoubleClick:A,panOnDrag:!W&&F,defaultViewport:j,translateExtent:G,minZoom:B,maxZoom:V,zoomActivationKeyCode:x,preventScrolling:X,noWheelClassName:H,noPanClassName:$,onViewportChange:M,isControlledViewport:q,paneClickDistance:u,selectionOnDrag:ee,children:I.jsxs(fD,{onSelectionStart:m,onSelectionEnd:w,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:a,onPaneScroll:l,panOnDrag:F,isSelecting:!!K,selectionMode:p,selectionKeyPressed:W,paneClickDistance:u,selectionOnDrag:ee,children:[e,Q&&I.jsx(SD,{onSelectionContextMenu:L,noPanClassName:$,disableKeyboardA11y:Y})]})})}Px.displayName="FlowRenderer";const CD=N.memo(Px),kD=e=>t=>e?xc(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(r=>r.id):Array.from(t.nodeLookup.keys());function ND(e){return Ie(N.useCallback(kD(e),[e]),Ve)}const RD=e=>e.updateNodeInternals;function PD(){const e=Ie(RD),[t]=N.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(r=>{const o=new Map;r.forEach(s=>{const a=s.target.getAttribute("data-id");o.set(a,{id:a,nodeElement:s.target,force:!0})}),e(o)}));return N.useEffect(()=>()=>{t==null||t.disconnect()},[t]),t}function TD({node:e,nodeType:t,hasDimensions:r,resizeObserver:o}){const s=ze(),a=N.useRef(null),l=N.useRef(null),u=N.useRef(e.sourcePosition),f=N.useRef(e.targetPosition),d=N.useRef(t),h=r&&!!e.internals.handleBounds;return N.useEffect(()=>{a.current&&!e.hidden&&(!h||l.current!==a.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(a.current),l.current=a.current)},[h,e.hidden]),N.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),N.useEffect(()=>{if(a.current){const p=d.current!==t,m=u.current!==e.sourcePosition,w=f.current!==e.targetPosition;(p||m||w)&&(d.current=t,u.current=e.sourcePosition,f.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:a.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),a}function AD({id:e,onClick:t,onMouseEnter:r,onMouseMove:o,onMouseLeave:s,onContextMenu:a,onDoubleClick:l,nodesDraggable:u,elementsSelectable:f,nodesConnectable:d,nodesFocusable:h,resizeObserver:p,noDragClassName:m,noPanClassName:w,disableKeyboardA11y:E,rfId:y,nodeTypes:x,nodeClickDistance:b,onError:C}){const{node:_,internals:k,isParent:R}=Ie(te=>{const se=te.nodeLookup.get(e),ae=te.parentLookup.has(e);return{node:se,internals:se.internals,isParent:ae}},Ve);let T=_.type||"default",A=(x==null?void 0:x[T])||Nx[T];A===void 0&&(C==null||C("003",En.error003(T)),T="default",A=(x==null?void 0:x.default)||Nx.default);const O=!!(_.draggable||u&&typeof _.draggable>"u"),j=!!(_.selectable||f&&typeof _.selectable>"u"),G=!!(_.connectable||d&&typeof _.connectable>"u"),B=!!(_.focusable||h&&typeof _.focusable>"u"),V=ze(),X=yw(_),L=TD({node:_,nodeType:T,hasDimensions:X,resizeObserver:p}),H=Ex({nodeRef:L,disabled:_.hidden||!O,noDragClassName:m,handleSelector:_.dragHandle,nodeId:e,isSelectable:j,nodeClickDistance:b}),$=Cx();if(_.hidden)return null;const Y=Fn(_),M=_D(_),q=j||O||t||r||o||s,Q=r?te=>r(te,{...k.userNode}):void 0,D=o?te=>o(te,{...k.userNode}):void 0,W=s?te=>s(te,{...k.userNode}):void 0,ie=a?te=>a(te,{...k.userNode}):void 0,F=l?te=>l(te,{...k.userNode}):void 0,Z=te=>{const{selectNodesOnDrag:se,nodeDragThreshold:ae}=V.getState();j&&(!se||!O||ae>0)&&$c({id:e,store:V,nodeRef:L}),t&&t(te,{...k.userNode})},ee=te=>{if(!(bw(te.nativeEvent)||E)){if(sw.includes(te.key)&&j){const se=te.key==="Escape";$c({id:e,store:V,unselect:se,nodeRef:L})}else if(O&&_.selected&&Object.prototype.hasOwnProperty.call(La,te.key)){te.preventDefault();const{ariaLabelConfig:se}=V.getState();V.setState({ariaLiveMessage:se["node.a11yDescription.ariaLiveMessage"]({direction:te.key.replace("Arrow","").toLowerCase(),x:~~k.positionAbsolute.x,y:~~k.positionAbsolute.y})}),$({direction:La[te.key],factor:te.shiftKey?4:1})}}},K=()=>{var be;if(E||!((be=L.current)!=null&&be.matches(":focus-visible")))return;const{transform:te,width:se,height:ae,autoPanOnNodeFocus:ce,setCenter:de}=V.getState();if(!ce)return;xc(new Map([[e,_]]),{x:0,y:0,width:se,height:ae},te,!0).length>0||de(_.position.x+Y.width/2,_.position.y+Y.height/2,{zoom:te[2]})};return I.jsx("div",{className:Je(["react-flow__node",`react-flow__node-${T}`,{[w]:O},_.className,{selected:_.selected,selectable:j,parent:R,draggable:O,dragging:H}]),ref:L,style:{zIndex:k.z,transform:`translate(${k.positionAbsolute.x}px,${k.positionAbsolute.y}px)`,pointerEvents:q?"all":"none",visibility:X?"visible":"hidden",..._.style,...M},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Q,onMouseMove:D,onMouseLeave:W,onContextMenu:ie,onClick:Z,onDoubleClick:F,onKeyDown:B?ee:void 0,tabIndex:B?0:void 0,onFocus:B?K:void 0,role:_.ariaRole??(B?"group":void 0),"aria-roledescription":"node","aria-describedby":E?void 0:`${ix}-${y}`,"aria-label":_.ariaLabel,..._.domAttributes,children:I.jsx(hD,{value:e,children:I.jsx(A,{id:e,data:_.data,type:T,positionAbsoluteX:k.positionAbsolute.x,positionAbsoluteY:k.positionAbsolute.y,selected:_.selected??!1,selectable:j,draggable:O,deletable:_.deletable??!0,isConnectable:G,sourcePosition:_.sourcePosition,targetPosition:_.targetPosition,dragging:H,dragHandle:_.dragHandle,zIndex:k.z,parentId:_.parentId,...Y})})})}var ID=N.memo(AD);const MD=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Tx(e){const{nodesDraggable:t,nodesConnectable:r,nodesFocusable:o,elementsSelectable:s,onError:a}=Ie(MD,Ve),l=ND(e.onlyRenderVisibleElements),u=PD();return I.jsx("div",{className:"react-flow__nodes",style:Oa,children:l.map(f=>I.jsx(ID,{id:f,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:u,nodesDraggable:t,nodesConnectable:r,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:a},f))})}Tx.displayName="NodeRenderer";const OD=N.memo(Tx);function LD(e){return Ie(N.useCallback(r=>{if(!e)return r.edges.map(s=>s.id);const o=[];if(r.width&&r.height)for(const s of r.edges){const a=r.nodeLookup.get(s.source),l=r.nodeLookup.get(s.target);a&&l&&MO({sourceNode:a,targetNode:l,width:r.width,height:r.height,transform:r.transform})&&o.push(s.id)}return o},[e]),Ve)}const DD=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e}};return I.jsx("polyline",{className:"arrow",style:r,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},jD=({color:e="none",strokeWidth:t=1})=>{const r={strokeWidth:t,...e&&{stroke:e,fill:e}};return I.jsx("polyline",{className:"arrowclosed",style:r,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Ax={[Ea.Arrow]:DD,[Ea.ArrowClosed]:jD};function qD(e){const t=ze();return N.useMemo(()=>{var s,a;return Object.prototype.hasOwnProperty.call(Ax,e)?Ax[e]:((a=(s=t.getState()).onError)==null||a.call(s,"009",En.error009(e)),null)},[e])}const zD=({id:e,type:t,color:r,width:o=12.5,height:s=12.5,markerUnits:a="strokeWidth",strokeWidth:l,orient:u="auto-start-reverse"})=>{const f=qD(t);return f?I.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:u,refX:"0",refY:"0",children:I.jsx(f,{color:r,strokeWidth:l})}):null},Ix=({defaultColor:e,rfId:t})=>{const r=Ie(a=>a.edges),o=Ie(a=>a.defaultEdgeOptions),s=N.useMemo(()=>$O(r,{id:t,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[r,o,t,e]);return s.length?I.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:I.jsx("defs",{children:s.map(a=>I.jsx(zD,{id:a.id,type:a.type,color:a.color,width:a.width,height:a.height,markerUnits:a.markerUnits,strokeWidth:a.strokeWidth,orient:a.orient},a.id))})}):null};Ix.displayName="MarkerDefinitions";var FD=N.memo(Ix);function Mx({x:e,y:t,label:r,labelStyle:o,labelShowBg:s=!0,labelBgStyle:a,labelBgPadding:l=[2,4],labelBgBorderRadius:u=2,children:f,className:d,...h}){const[p,m]=N.useState({x:1,y:0,width:0,height:0}),w=Je(["react-flow__edge-textwrapper",d]),E=N.useRef(null);return N.useEffect(()=>{if(E.current){const y=E.current.getBBox();m({x:y.x,y:y.y,width:y.width,height:y.height})}},[r]),r?I.jsxs("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:w,visibility:p.width?"visible":"hidden",...h,children:[s&&I.jsx("rect",{width:p.width+2*l[0],x:-l[0],y:-l[1],height:p.height+2*l[1],className:"react-flow__edge-textbg",style:a,rx:u,ry:u}),I.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:E,style:o,children:r}),f]}):null}Mx.displayName="EdgeText";const $D=N.memo(Mx);function Da({path:e,labelX:t,labelY:r,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f,interactionWidth:d=20,...h}){return I.jsxs(I.Fragment,{children:[I.jsx("path",{...h,d:e,fill:"none",className:Je(["react-flow__edge-path",h.className])}),d?I.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:d,className:"react-flow__edge-interaction"}):null,o&&sn(t)&&sn(r)?I.jsx($D,{x:t,y:r,label:o,labelStyle:s,labelShowBg:a,labelBgStyle:l,labelBgPadding:u,labelBgBorderRadius:f}):null]})}function Ox({pos:e,x1:t,y1:r,x2:o,y2:s}){return e===ve.Left||e===ve.Right?[.5*(t+o),r]:[t,.5*(r+s)]}function Lx({sourceX:e,sourceY:t,sourcePosition:r=ve.Bottom,targetX:o,targetY:s,targetPosition:a=ve.Top}){const[l,u]=Ox({pos:r,x1:e,y1:t,x2:o,y2:s}),[f,d]=Ox({pos:a,x1:o,y1:s,x2:e,y2:t}),[h,p,m,w]=Cw({sourceX:e,sourceY:t,targetX:o,targetY:s,sourceControlX:l,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${e},${t} C${l},${u} ${f},${d} ${o},${s}`,h,p,m,w]}function Dx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,sourcePosition:l,targetPosition:u,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,interactionWidth:b})=>{const[C,_,k]=Lx({sourceX:r,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:u}),R=e.isInternal?void 0:t;return I.jsx(Da,{id:R,path:C,labelX:_,labelY:k,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,interactionWidth:b})})}const BD=Dx({isInternal:!1}),jx=Dx({isInternal:!0});BD.displayName="SimpleBezierEdge",jx.displayName="SimpleBezierEdgeInternal";function qx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,sourcePosition:w=ve.Bottom,targetPosition:E=ve.Top,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,k,R]=Ec({sourceX:r,sourceY:o,sourcePosition:w,targetX:s,targetY:a,targetPosition:E,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset,stepPosition:b==null?void 0:b.stepPosition}),T=e.isInternal?void 0:t;return I.jsx(Da,{id:T,path:_,labelX:k,labelY:R,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:y,markerStart:x,interactionWidth:C})})}const zx=qx({isInternal:!1}),Fx=qx({isInternal:!0});zx.displayName="SmoothStepEdge",Fx.displayName="SmoothStepEdgeInternal";function $x(e){return N.memo(({id:t,...r})=>{var s;const o=e.isInternal?void 0:t;return I.jsx(zx,{...r,id:o,pathOptions:N.useMemo(()=>{var a;return{borderRadius:0,offset:(a=r.pathOptions)==null?void 0:a.offset}},[(s=r.pathOptions)==null?void 0:s.offset])})})}const VD=$x({isInternal:!1}),Bx=$x({isInternal:!0});VD.displayName="StepEdge",Bx.displayName="StepEdgeInternal";function Vx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:E,interactionWidth:y})=>{const[x,b,C]=Pw({sourceX:r,sourceY:o,targetX:s,targetY:a}),_=e.isInternal?void 0:t;return I.jsx(Da,{id:_,path:x,labelX:b,labelY:C,label:l,labelStyle:u,labelShowBg:f,labelBgStyle:d,labelBgPadding:h,labelBgBorderRadius:p,style:m,markerEnd:w,markerStart:E,interactionWidth:y})})}const HD=Vx({isInternal:!1}),Hx=Vx({isInternal:!0});HD.displayName="StraightEdge",Hx.displayName="StraightEdgeInternal";function Wx(e){return N.memo(({id:t,sourceX:r,sourceY:o,targetX:s,targetY:a,sourcePosition:l=ve.Bottom,targetPosition:u=ve.Top,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,pathOptions:b,interactionWidth:C})=>{const[_,k,R]=Nw({sourceX:r,sourceY:o,sourcePosition:l,targetX:s,targetY:a,targetPosition:u,curvature:b==null?void 0:b.curvature}),T=e.isInternal?void 0:t;return I.jsx(Da,{id:T,path:_,labelX:k,labelY:R,label:f,labelStyle:d,labelShowBg:h,labelBgStyle:p,labelBgPadding:m,labelBgBorderRadius:w,style:E,markerEnd:y,markerStart:x,interactionWidth:C})})}const WD=Wx({isInternal:!1}),Ux=Wx({isInternal:!0});WD.displayName="BezierEdge",Ux.displayName="BezierEdgeInternal";const Gx={default:Ux,straight:Hx,step:Bx,smoothstep:Fx,simplebezier:jx},Yx={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},UD=(e,t,r)=>r===ve.Left?e-t:r===ve.Right?e+t:e,GD=(e,t,r)=>r===ve.Top?e-t:r===ve.Bottom?e+t:e,Kx="react-flow__edgeupdater";function Xx({position:e,centerX:t,centerY:r,radius:o=10,onMouseDown:s,onMouseEnter:a,onMouseOut:l,type:u}){return I.jsx("circle",{onMouseDown:s,onMouseEnter:a,onMouseOut:l,className:Je([Kx,`${Kx}-${u}`]),cx:UD(t,o,e),cy:GD(r,o,e),r:o,stroke:"transparent",fill:"transparent"})}function YD({isReconnectable:e,reconnectRadius:t,edge:r,sourceX:o,sourceY:s,targetX:a,targetY:l,sourcePosition:u,targetPosition:f,onReconnect:d,onReconnectStart:h,onReconnectEnd:p,setReconnecting:m,setUpdateHover:w}){const E=ze(),y=(k,R)=>{if(k.button!==0)return;const{autoPanOnConnect:T,domNode:A,isValidConnection:O,connectionMode:j,connectionRadius:G,lib:B,onConnectStart:V,onConnectEnd:X,cancelConnection:L,nodeLookup:H,rfId:$,panBy:Y,updateConnection:M}=E.getState(),q=R.type==="target",Q=(ie,F)=>{m(!1),p==null||p(ie,r,R.type,F)},D=ie=>d==null?void 0:d(r,ie),W=(ie,F)=>{m(!0),h==null||h(k,r,R.type),V==null||V(ie,F)};Ic.onPointerDown(k.nativeEvent,{autoPanOnConnect:T,connectionMode:j,connectionRadius:G,domNode:A,handleId:R.id,nodeId:R.nodeId,nodeLookup:H,isTarget:q,edgeUpdaterType:R.type,lib:B,flowId:$,cancelConnection:L,panBy:Y,isValidConnection:O,onConnect:D,onConnectStart:W,onConnectEnd:X,onReconnectEnd:Q,updateConnection:M,getTransform:()=>E.getState().transform,getFromHandle:()=>E.getState().connection.fromHandle,dragThreshold:E.getState().connectionDragThreshold,handleDomNode:k.currentTarget})},x=k=>y(k,{nodeId:r.target,id:r.targetHandle??null,type:"target"}),b=k=>y(k,{nodeId:r.source,id:r.sourceHandle??null,type:"source"}),C=()=>w(!0),_=()=>w(!1);return I.jsxs(I.Fragment,{children:[(e===!0||e==="source")&&I.jsx(Xx,{position:u,centerX:o,centerY:s,radius:t,onMouseDown:x,onMouseEnter:C,onMouseOut:_,type:"source"}),(e===!0||e==="target")&&I.jsx(Xx,{position:f,centerX:a,centerY:l,radius:t,onMouseDown:b,onMouseEnter:C,onMouseOut:_,type:"target"})]})}function KD({id:e,edgesFocusable:t,edgesReconnectable:r,elementsSelectable:o,onClick:s,onDoubleClick:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:w,rfId:E,edgeTypes:y,noPanClassName:x,onError:b,disableKeyboardA11y:C}){let _=Ie(de=>de.edgeLookup.get(e));const k=Ie(de=>de.defaultEdgeOptions);_=k?{...k,..._}:_;let R=_.type||"default",T=(y==null?void 0:y[R])||Gx[R];T===void 0&&(b==null||b("011",En.error011(R)),R="default",T=(y==null?void 0:y.default)||Gx.default);const A=!!(_.focusable||t&&typeof _.focusable>"u"),O=typeof p<"u"&&(_.reconnectable||r&&typeof _.reconnectable>"u"),j=!!(_.selectable||o&&typeof _.selectable>"u"),G=N.useRef(null),[B,V]=N.useState(!1),[X,L]=N.useState(!1),H=ze(),{zIndex:$,sourceX:Y,sourceY:M,targetX:q,targetY:Q,sourcePosition:D,targetPosition:W}=Ie(N.useCallback(de=>{const pe=de.nodeLookup.get(_.source),be=de.nodeLookup.get(_.target);if(!pe||!be)return{zIndex:_.zIndex,...Yx};const me=FO({id:e,sourceNode:pe,targetNode:be,sourceHandle:_.sourceHandle||null,targetHandle:_.targetHandle||null,connectionMode:de.connectionMode,onError:b});return{zIndex:IO({selected:_.selected,zIndex:_.zIndex,sourceNode:pe,targetNode:be,elevateOnSelect:de.elevateEdgesOnSelect}),...me||Yx}},[_.source,_.target,_.sourceHandle,_.targetHandle,_.selected,_.zIndex]),Ve),ie=N.useMemo(()=>_.markerStart?`url('#${Cc(_.markerStart,E)}')`:void 0,[_.markerStart,E]),F=N.useMemo(()=>_.markerEnd?`url('#${Cc(_.markerEnd,E)}')`:void 0,[_.markerEnd,E]);if(_.hidden||Y===null||M===null||q===null||Q===null)return null;const Z=de=>{var Re;const{addSelectedEdges:pe,unselectNodesAndEdges:be,multiSelectionActive:me}=H.getState();j&&(H.setState({nodesSelectionActive:!1}),_.selected&&me?(be({nodes:[],edges:[_]}),(Re=G.current)==null||Re.blur()):pe([e])),s&&s(de,_)},ee=a?de=>{a(de,{..._})}:void 0,K=l?de=>{l(de,{..._})}:void 0,te=u?de=>{u(de,{..._})}:void 0,se=f?de=>{f(de,{..._})}:void 0,ae=d?de=>{d(de,{..._})}:void 0,ce=de=>{var pe;if(!C&&sw.includes(de.key)&&j){const{unselectNodesAndEdges:be,addSelectedEdges:me}=H.getState();de.key==="Escape"?((pe=G.current)==null||pe.blur(),be({edges:[_]})):me([e])}};return I.jsx("svg",{style:{zIndex:$},children:I.jsxs("g",{className:Je(["react-flow__edge",`react-flow__edge-${R}`,_.className,x,{selected:_.selected,animated:_.animated,inactive:!j&&!s,updating:B,selectable:j}]),onClick:Z,onDoubleClick:ee,onContextMenu:K,onMouseEnter:te,onMouseMove:se,onMouseLeave:ae,onKeyDown:A?ce:void 0,tabIndex:A?0:void 0,role:_.ariaRole??(A?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":_.ariaLabel===null?void 0:_.ariaLabel||`Edge from ${_.source} to ${_.target}`,"aria-describedby":A?`${sx}-${E}`:void 0,ref:G,..._.domAttributes,children:[!X&&I.jsx(T,{id:e,source:_.source,target:_.target,type:_.type,selected:_.selected,animated:_.animated,selectable:j,deletable:_.deletable??!0,label:_.label,labelStyle:_.labelStyle,labelShowBg:_.labelShowBg,labelBgStyle:_.labelBgStyle,labelBgPadding:_.labelBgPadding,labelBgBorderRadius:_.labelBgBorderRadius,sourceX:Y,sourceY:M,targetX:q,targetY:Q,sourcePosition:D,targetPosition:W,data:_.data,style:_.style,sourceHandleId:_.sourceHandle,targetHandleId:_.targetHandle,markerStart:ie,markerEnd:F,pathOptions:"pathOptions"in _?_.pathOptions:void 0,interactionWidth:_.interactionWidth}),O&&I.jsx(YD,{edge:_,isReconnectable:O,reconnectRadius:h,onReconnect:p,onReconnectStart:m,onReconnectEnd:w,sourceX:Y,sourceY:M,targetX:q,targetY:Q,sourcePosition:D,targetPosition:W,setUpdateHover:V,setReconnecting:L})]})})}var XD=N.memo(KD);const QD=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Qx({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:r,edgeTypes:o,noPanClassName:s,onReconnect:a,onEdgeContextMenu:l,onEdgeMouseEnter:u,onEdgeMouseMove:f,onEdgeMouseLeave:d,onEdgeClick:h,reconnectRadius:p,onEdgeDoubleClick:m,onReconnectStart:w,onReconnectEnd:E,disableKeyboardA11y:y}){const{edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,onError:_}=Ie(QD,Ve),k=LD(t);return I.jsxs("div",{className:"react-flow__edges",children:[I.jsx(FD,{defaultColor:e,rfId:r}),k.map(R=>I.jsx(XD,{id:R,edgesFocusable:x,edgesReconnectable:b,elementsSelectable:C,noPanClassName:s,onReconnect:a,onContextMenu:l,onMouseEnter:u,onMouseMove:f,onMouseLeave:d,onClick:h,reconnectRadius:p,onDoubleClick:m,onReconnectStart:w,onReconnectEnd:E,rfId:r,onError:_,edgeTypes:o,disableKeyboardA11y:y},R))]})}Qx.displayName="EdgeRenderer";const ZD=N.memo(Qx),JD=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function ej({children:e}){const t=Ie(JD);return I.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function tj(e){const t=zc(),r=N.useRef(!1);N.useEffect(()=>{!r.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),r.current=!0)},[e,t.viewportInitialized])}const nj=e=>{var t;return(t=e.panZoom)==null?void 0:t.syncViewport};function rj(e){const t=Ie(nj),r=ze();return N.useEffect(()=>{e&&(t==null||t(e),r.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function oj(e){return e.connection.inProgress?{...e.connection,to:Vi(e.connection.to,e.transform)}:{...e.connection}}function ij(e){return oj}function sj(e){const t=ij();return Ie(t,Ve)}const aj=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function lj({containerStyle:e,style:t,type:r,component:o}){const{nodesConnectable:s,width:a,height:l,isValid:u,inProgress:f}=Ie(aj,Ve);return!(a&&s&&f)?null:I.jsx("svg",{style:e,width:a,height:l,className:"react-flow__connectionline react-flow__container",children:I.jsx("g",{className:Je(["react-flow__connection",cw(u)]),children:I.jsx(Zx,{style:t,type:r,CustomComponent:o,isValid:u})})})}const Zx=({style:e,type:t=nr.Bezier,CustomComponent:r,isValid:o})=>{const{inProgress:s,from:a,fromNode:l,fromHandle:u,fromPosition:f,to:d,toNode:h,toHandle:p,toPosition:m,pointer:w}=sj();if(!s)return;if(r)return I.jsx(r,{connectionLineType:t,connectionLineStyle:e,fromNode:l,fromHandle:u,fromX:a.x,fromY:a.y,toX:d.x,toY:d.y,fromPosition:f,toPosition:m,connectionStatus:cw(o),toNode:h,toHandle:p,pointer:w});let E="";const y={sourceX:a.x,sourceY:a.y,sourcePosition:f,targetX:d.x,targetY:d.y,targetPosition:m};switch(t){case nr.Bezier:[E]=Nw(y);break;case nr.SimpleBezier:[E]=Lx(y);break;case nr.Step:[E]=Ec({...y,borderRadius:0});break;case nr.SmoothStep:[E]=Ec(y);break;default:[E]=Pw(y)}return I.jsx("path",{d:E,fill:"none",className:"react-flow__connection-path",style:e})};Zx.displayName="ConnectionLine";const uj={};function Jx(e=uj){N.useRef(e),ze(),N.useEffect(()=>{},[e])}function cj(){ze(),N.useRef(!1),N.useEffect(()=>{},[])}function e1({nodeTypes:e,edgeTypes:t,onInit:r,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:a,onEdgeDoubleClick:l,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,onSelectionContextMenu:p,onSelectionStart:m,onSelectionEnd:w,connectionLineType:E,connectionLineStyle:y,connectionLineComponent:x,connectionLineContainerStyle:b,selectionKeyCode:C,selectionOnDrag:_,selectionMode:k,multiSelectionKeyCode:R,panActivationKeyCode:T,zoomActivationKeyCode:A,deleteKeyCode:O,onlyRenderVisibleElements:j,elementsSelectable:G,defaultViewport:B,translateExtent:V,minZoom:X,maxZoom:L,preventScrolling:H,defaultMarkerColor:$,zoomOnScroll:Y,zoomOnPinch:M,panOnScroll:q,panOnScrollSpeed:Q,panOnScrollMode:D,zoomOnDoubleClick:W,panOnDrag:ie,onPaneClick:F,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:K,onPaneScroll:te,onPaneContextMenu:se,paneClickDistance:ae,nodeClickDistance:ce,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,onReconnect:Ee,onReconnectStart:Qe,onReconnectEnd:He,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:st,disableKeyboardA11y:We,nodeExtent:hn,rfId:Wt,viewport:pn,onViewportChange:Ut}){return Jx(e),Jx(t),cj(),tj(r),rj(pn),I.jsx(CD,{onPaneClick:F,onPaneMouseEnter:Z,onPaneMouseMove:ee,onPaneMouseLeave:K,onPaneContextMenu:se,onPaneScroll:te,paneClickDistance:ae,deleteKeyCode:O,selectionKeyCode:C,selectionOnDrag:_,selectionMode:k,onSelectionStart:m,onSelectionEnd:w,multiSelectionKeyCode:R,panActivationKeyCode:T,zoomActivationKeyCode:A,elementsSelectable:G,zoomOnScroll:Y,zoomOnPinch:M,zoomOnDoubleClick:W,panOnScroll:q,panOnScrollSpeed:Q,panOnScrollMode:D,panOnDrag:ie,defaultViewport:B,translateExtent:V,minZoom:X,maxZoom:L,onSelectionContextMenu:p,preventScrolling:H,noDragClassName:Ht,noWheelClassName:pt,noPanClassName:st,disableKeyboardA11y:We,onViewportChange:Ut,isControlledViewport:!!pn,children:I.jsxs(ej,{children:[I.jsx(ZD,{edgeTypes:t,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:Ee,onReconnectStart:Qe,onReconnectEnd:He,onlyRenderVisibleElements:j,onEdgeContextMenu:de,onEdgeMouseEnter:pe,onEdgeMouseMove:be,onEdgeMouseLeave:me,reconnectRadius:Re,defaultMarkerColor:$,noPanClassName:st,disableKeyboardA11y:We,rfId:Wt}),I.jsx(lj,{style:y,type:E,component:x,containerStyle:b}),I.jsx("div",{className:"react-flow__edgelabel-renderer"}),I.jsx(OD,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:a,onNodeMouseEnter:u,onNodeMouseMove:f,onNodeMouseLeave:d,onNodeContextMenu:h,nodeClickDistance:ce,onlyRenderVisibleElements:j,noPanClassName:st,noDragClassName:Ht,disableKeyboardA11y:We,nodeExtent:hn,rfId:Wt}),I.jsx("div",{className:"react-flow__viewport-portal"})]})})}e1.displayName="GraphView";const fj=N.memo(e1),t1=({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:u,minZoom:f=.5,maxZoom:d=2,nodeOrigin:h,nodeExtent:p}={})=>{const m=new Map,w=new Map,E=new Map,y=new Map,x=o??t??[],b=r??e??[],C=h??[0,0],_=p??ji;qw(E,y,x);const k=Rc(b,m,w,{nodeOrigin:C,nodeExtent:_,elevateNodesOnSelect:!1});let R=[0,0,1];if(l&&s&&a){const T=Fi(m,{filter:G=>!!((G.width||G.initialWidth)&&(G.height||G.initialHeight))}),{x:A,y:O,zoom:j}=bc(T,s,a,f,d,(u==null?void 0:u.padding)??.1);R=[A,O,j]}return{rfId:"1",width:s??0,height:a??0,transform:R,nodes:b,nodesInitialized:k,nodeLookup:m,parentLookup:w,edges:x,edgeLookup:y,connectionLookup:E,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:r!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:f,maxZoom:d,translateExtent:ji,nodeExtent:_,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:So.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:C,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l??!1,fitViewOptions:u,fitViewResolver:null,connection:{...lw},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:kO,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:aw}},dj=({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,width:s,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p})=>TL((m,w)=>{async function E(){const{nodeLookup:y,panZoom:x,fitViewOptions:b,fitViewResolver:C,width:_,height:k,minZoom:R,maxZoom:T}=w();x&&(await EO({nodes:y,width:_,height:k,panZoom:x,minZoom:R,maxZoom:T},b),C==null||C.resolve(!0),m({fitViewResolver:null}))}return{...t1({nodes:e,edges:t,width:s,height:a,fitView:l,fitViewOptions:u,minZoom:f,maxZoom:d,nodeOrigin:h,nodeExtent:p,defaultNodes:r,defaultEdges:o}),setNodes:y=>{const{nodeLookup:x,parentLookup:b,nodeOrigin:C,elevateNodesOnSelect:_,fitViewQueued:k}=w(),R=Rc(y,x,b,{nodeOrigin:C,nodeExtent:p,elevateNodesOnSelect:_,checkEquality:!0});k&&R?(E(),m({nodes:y,nodesInitialized:R,fitViewQueued:!1,fitViewOptions:void 0})):m({nodes:y,nodesInitialized:R})},setEdges:y=>{const{connectionLookup:x,edgeLookup:b}=w();qw(x,b,y),m({edges:y})},setDefaultNodesAndEdges:(y,x)=>{if(y){const{setNodes:b}=w();b(y),m({hasDefaultNodes:!0})}if(x){const{setEdges:b}=w();b(x),m({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:x,nodeLookup:b,parentLookup:C,domNode:_,nodeOrigin:k,nodeExtent:R,debug:T,fitViewQueued:A}=w(),{changes:O,updatedInternals:j}=YO(y,b,C,_,k,R);j&&(HO(b,C,{nodeOrigin:k,nodeExtent:R}),A?(E(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),(O==null?void 0:O.length)>0&&(T&&console.log("React Flow: trigger node changes",O),x==null||x(O)))},updateNodePositions:(y,x=!1)=>{const b=[],C=[],{nodeLookup:_,triggerNodeChanges:k}=w();for(const[R,T]of y){const A=_.get(R),O=!!(A!=null&&A.expandParent&&(A!=null&&A.parentId)&&(T!=null&&T.position)),j={id:R,type:"position",position:O?{x:Math.max(0,T.position.x),y:Math.max(0,T.position.y)}:T.position,dragging:x};O&&A.parentId&&b.push({id:R,parentId:A.parentId,rect:{...T.internals.positionAbsolute,width:T.measured.width??0,height:T.measured.height??0}}),C.push(j)}if(b.length>0){const{parentLookup:R,nodeOrigin:T}=w(),A=Tc(b,_,R,T);C.push(...A)}k(C)},triggerNodeChanges:y=>{const{onNodesChange:x,setNodes:b,nodes:C,hasDefaultNodes:_,debug:k}=w();if(y!=null&&y.length){if(_){const R=gx(y,C);b(R)}k&&console.log("React Flow: trigger node changes",y),x==null||x(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:x,setEdges:b,edges:C,hasDefaultEdges:_,debug:k}=w();if(y!=null&&y.length){if(_){const R=mx(y,C);b(R)}k&&console.log("React Flow: trigger edge changes",y),x==null||x(y)}},addSelectedNodes:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:k}=w();if(x){const R=y.map(T=>Vr(T,!0));_(R);return}_(To(C,new Set([...y]),!0)),k(To(b))},addSelectedEdges:y=>{const{multiSelectionActive:x,edgeLookup:b,nodeLookup:C,triggerNodeChanges:_,triggerEdgeChanges:k}=w();if(x){const R=y.map(T=>Vr(T,!0));k(R);return}k(To(b,new Set([...y]))),_(To(C,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:x}={})=>{const{edges:b,nodes:C,nodeLookup:_,triggerNodeChanges:k,triggerEdgeChanges:R}=w(),T=y||C,A=x||b,O=T.map(G=>{const B=_.get(G.id);return B&&(B.selected=!1),Vr(G.id,!1)}),j=A.map(G=>Vr(G.id,!1));k(O),R(j)},setMinZoom:y=>{const{panZoom:x,maxZoom:b}=w();x==null||x.setScaleExtent([y,b]),m({minZoom:y})},setMaxZoom:y=>{const{panZoom:x,minZoom:b}=w();x==null||x.setScaleExtent([b,y]),m({maxZoom:y})},setTranslateExtent:y=>{var x;(x=w().panZoom)==null||x.setTranslateExtent(y),m({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:x,triggerNodeChanges:b,triggerEdgeChanges:C,elementsSelectable:_}=w();if(!_)return;const k=x.reduce((T,A)=>A.selected?[...T,Vr(A.id,!1)]:T,[]),R=y.reduce((T,A)=>A.selected?[...T,Vr(A.id,!1)]:T,[]);b(k),C(R)},setNodeExtent:y=>{const{nodes:x,nodeLookup:b,parentLookup:C,nodeOrigin:_,elevateNodesOnSelect:k,nodeExtent:R}=w();y[0][0]===R[0][0]&&y[0][1]===R[0][1]&&y[1][0]===R[1][0]&&y[1][1]===R[1][1]||(Rc(x,b,C,{nodeOrigin:_,nodeExtent:y,elevateNodesOnSelect:k,checkEquality:!1}),m({nodeExtent:y}))},panBy:y=>{const{transform:x,width:b,height:C,panZoom:_,translateExtent:k}=w();return KO({delta:y,panZoom:_,transform:x,translateExtent:k,width:b,height:C})},setCenter:async(y,x,b)=>{const{width:C,height:_,maxZoom:k,panZoom:R}=w();if(!R)return Promise.resolve(!1);const T=typeof(b==null?void 0:b.zoom)<"u"?b.zoom:k;return await R.setViewport({x:C/2-y*T,y:_/2-x*T,zoom:T},{duration:b==null?void 0:b.duration,ease:b==null?void 0:b.ease,interpolate:b==null?void 0:b.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...lw}})},updateConnection:y=>{m({connection:y})},reset:()=>m({...t1()})}},Object.is);function n1({initialNodes:e,initialEdges:t,defaultNodes:r,defaultEdges:o,initialWidth:s,initialHeight:a,initialMinZoom:l,initialMaxZoom:u,initialFitViewOptions:f,fitView:d,nodeOrigin:h,nodeExtent:p,children:m}){const[w]=N.useState(()=>dj({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,width:s,height:a,fitView:d,minZoom:l,maxZoom:u,fitViewOptions:f,nodeOrigin:h,nodeExtent:p}));return I.jsx(IL,{value:w,children:I.jsx(eD,{children:m})})}function hj({children:e,nodes:t,edges:r,defaultNodes:o,defaultEdges:s,width:a,height:l,fitView:u,fitViewOptions:f,minZoom:d,maxZoom:h,nodeOrigin:p,nodeExtent:m}){return N.useContext(Ia)?I.jsx(I.Fragment,{children:e}):I.jsx(n1,{initialNodes:t,initialEdges:r,defaultNodes:o,defaultEdges:s,initialWidth:a,initialHeight:l,fitView:u,initialFitViewOptions:f,initialMinZoom:d,initialMaxZoom:h,nodeOrigin:p,nodeExtent:m,children:e})}const pj={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function gj({nodes:e,edges:t,defaultNodes:r,defaultEdges:o,className:s,nodeTypes:a,edgeTypes:l,onNodeClick:u,onEdgeClick:f,onInit:d,onMove:h,onMoveStart:p,onMoveEnd:m,onConnect:w,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:k,onNodeContextMenu:R,onNodeDoubleClick:T,onNodeDragStart:A,onNodeDrag:O,onNodeDragStop:j,onNodesDelete:G,onEdgesDelete:B,onDelete:V,onSelectionChange:X,onSelectionDragStart:L,onSelectionDrag:H,onSelectionDragStop:$,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:q,onBeforeDelete:Q,connectionMode:D,connectionLineType:W=nr.Bezier,connectionLineStyle:ie,connectionLineComponent:F,connectionLineContainerStyle:Z,deleteKeyCode:ee="Backspace",selectionKeyCode:K="Shift",selectionOnDrag:te=!1,selectionMode:se=qi.Full,panActivationKeyCode:ae="Space",multiSelectionKeyCode:ce=Hi()?"Meta":"Control",zoomActivationKeyCode:de=Hi()?"Meta":"Control",snapToGrid:pe,snapGrid:be,onlyRenderVisibleElements:me=!1,selectNodesOnDrag:Re,nodesDraggable:Ee,autoPanOnNodeFocus:Qe,nodesConnectable:He,nodesFocusable:Ht,nodeOrigin:pt=ax,edgesFocusable:st,edgesReconnectable:We,elementsSelectable:hn=!0,defaultViewport:Wt=WL,minZoom:pn=.5,maxZoom:Ut=2,translateExtent:Et=ji,preventScrolling:eo=!0,nodeExtent:Gt,defaultMarkerColor:Un="#b1b1b7",zoomOnScroll:Ko=!0,zoomOnPinch:Ot=!0,panOnScroll:Yt=!1,panOnScrollSpeed:cv=.5,panOnScrollMode:ds=$r.Free,zoomOnDoubleClick:hs=!0,panOnDrag:ps=!0,onPaneClick:gs,onPaneMouseEnter:ms,onPaneMouseMove:pr,onPaneMouseLeave:gr,onPaneScroll:Ml,onPaneContextMenu:Ol,paneClickDistance:Ll=1,nodeClickDistance:Dl=0,children:jl,onReconnect:vs,onReconnectStart:ql,onReconnectEnd:to,onEdgeContextMenu:ys,onEdgeDoubleClick:no,onEdgeMouseEnter:fv,onEdgeMouseMove:ro,onEdgeMouseLeave:Xo,reconnectRadius:Qo=10,onNodesChange:ws,onEdgesChange:dv,noDragClassName:hv="nodrag",noWheelClassName:pv="nowheel",noPanClassName:An="nopan",fitView:xs,fitViewOptions:_s,connectOnClick:gv,attributionPosition:zl,proOptions:Fl,defaultEdgeOptions:$l,elevateNodesOnSelect:Bl,elevateEdgesOnSelect:mv,disableKeyboardA11y:Vl=!1,autoPanOnConnect:Ue,autoPanOnNodeDrag:vv,autoPanSpeed:bs,connectionRadius:Hl,isValidConnection:Zo,onError:yv,style:Wl,id:oo,nodeDragThreshold:Kt,connectionDragThreshold:wv,viewport:Lt,onViewportChange:xv,width:_v,height:bv,colorMode:Jo="light",debug:ei,onScroll:In,ariaLabelConfig:ti,...Sv},Ev){const io=oo||"1",Ul=YL(Jo),Ss=N.useCallback(mr=>{mr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),In==null||In(mr)},[In]);return I.jsx("div",{"data-testid":"rf__wrapper",...Sv,onScroll:Ss,style:{...Wl,...pj},ref:Ev,className:Je(["react-flow",s,Ul]),id:oo,role:"application",children:I.jsxs(hj,{nodes:e,edges:t,width:_v,height:bv,fitView:xs,fitViewOptions:_s,minZoom:pn,maxZoom:Ut,nodeOrigin:pt,nodeExtent:Gt,children:[I.jsx(fj,{onInit:d,onNodeClick:u,onEdgeClick:f,onNodeMouseEnter:C,onNodeMouseMove:_,onNodeMouseLeave:k,onNodeContextMenu:R,onNodeDoubleClick:T,nodeTypes:a,edgeTypes:l,connectionLineType:W,connectionLineStyle:ie,connectionLineComponent:F,connectionLineContainerStyle:Z,selectionKeyCode:K,selectionOnDrag:te,selectionMode:se,deleteKeyCode:ee,multiSelectionKeyCode:ce,panActivationKeyCode:ae,zoomActivationKeyCode:de,onlyRenderVisibleElements:me,defaultViewport:Wt,translateExtent:Et,minZoom:pn,maxZoom:Ut,preventScrolling:eo,zoomOnScroll:Ko,zoomOnPinch:Ot,zoomOnDoubleClick:hs,panOnScroll:Yt,panOnScrollSpeed:cv,panOnScrollMode:ds,panOnDrag:ps,onPaneClick:gs,onPaneMouseEnter:ms,onPaneMouseMove:pr,onPaneMouseLeave:gr,onPaneScroll:Ml,onPaneContextMenu:Ol,paneClickDistance:Ll,nodeClickDistance:Dl,onSelectionContextMenu:Y,onSelectionStart:M,onSelectionEnd:q,onReconnect:vs,onReconnectStart:ql,onReconnectEnd:to,onEdgeContextMenu:ys,onEdgeDoubleClick:no,onEdgeMouseEnter:fv,onEdgeMouseMove:ro,onEdgeMouseLeave:Xo,reconnectRadius:Qo,defaultMarkerColor:Un,noDragClassName:hv,noWheelClassName:pv,noPanClassName:An,rfId:io,disableKeyboardA11y:Vl,nodeExtent:Gt,viewport:Lt,onViewportChange:xv}),I.jsx(GL,{nodes:e,edges:t,defaultNodes:r,defaultEdges:o,onConnect:w,onConnectStart:E,onConnectEnd:y,onClickConnectStart:x,onClickConnectEnd:b,nodesDraggable:Ee,autoPanOnNodeFocus:Qe,nodesConnectable:He,nodesFocusable:Ht,edgesFocusable:st,edgesReconnectable:We,elementsSelectable:hn,elevateNodesOnSelect:Bl,elevateEdgesOnSelect:mv,minZoom:pn,maxZoom:Ut,nodeExtent:Gt,onNodesChange:ws,onEdgesChange:dv,snapToGrid:pe,snapGrid:be,connectionMode:D,translateExtent:Et,connectOnClick:gv,defaultEdgeOptions:$l,fitView:xs,fitViewOptions:_s,onNodesDelete:G,onEdgesDelete:B,onDelete:V,onNodeDragStart:A,onNodeDrag:O,onNodeDragStop:j,onSelectionDrag:H,onSelectionDragStart:L,onSelectionDragStop:$,onMove:h,onMoveStart:p,onMoveEnd:m,noPanClassName:An,nodeOrigin:pt,rfId:io,autoPanOnConnect:Ue,autoPanOnNodeDrag:vv,autoPanSpeed:bs,onError:yv,connectionRadius:Hl,isValidConnection:Zo,selectNodesOnDrag:Re,nodeDragThreshold:Kt,connectionDragThreshold:wv,onBeforeDelete:Q,debug:ei,ariaLabelConfig:ti}),I.jsx(HL,{onSelectionChange:X}),jl,I.jsx(zL,{proOptions:Fl,position:zl}),I.jsx(qL,{rfId:io,disableKeyboardA11y:Vl})]})})}var mj=xx(gj);function vj({dimensions:e,lineWidth:t,variant:r,className:o}){return I.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Je(["react-flow__background-pattern",r,o])})}function yj({radius:e,className:t}){return I.jsx("circle",{cx:e,cy:e,r:e,className:Je(["react-flow__background-pattern","dots",t])})}var ir;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ir||(ir={}));const wj={[ir.Dots]:1,[ir.Lines]:1,[ir.Cross]:6},xj=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function r1({id:e,variant:t=ir.Dots,gap:r=20,size:o,lineWidth:s=1,offset:a=0,color:l,bgColor:u,style:f,className:d,patternClassName:h}){const p=N.useRef(null),{transform:m,patternId:w}=Ie(xj,Ve),E=o||wj[t],y=t===ir.Dots,x=t===ir.Cross,b=Array.isArray(r)?r:[r,r],C=[b[0]*m[2]||1,b[1]*m[2]||1],_=E*m[2],k=Array.isArray(a)?a:[a,a],R=x?[_,_]:C,T=[k[0]*m[2]||1+R[0]/2,k[1]*m[2]||1+R[1]/2],A=`${w}${e||""}`;return I.jsxs("svg",{className:Je(["react-flow__background",d]),style:{...f,...Oa,"--xy-background-color-props":u,"--xy-background-pattern-color-props":l},ref:p,"data-testid":"rf__background",children:[I.jsx("pattern",{id:A,x:m[0]%C[0],y:m[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`,children:y?I.jsx(yj,{radius:_/2,className:h}):I.jsx(vj,{dimensions:R,lineWidth:s,variant:t,className:h})}),I.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}r1.displayName="Background";const _j=N.memo(r1);function bj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:I.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Sj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:I.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Ej(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:I.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Cj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:I.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function kj(){return I.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:I.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function ja({children:e,className:t,...r}){return I.jsx("button",{type:"button",className:Je(["react-flow__controls-button",t]),...r,children:e})}const Nj=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function o1({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:a,onZoomOut:l,onFitView:u,onInteractiveChange:f,className:d,children:h,position:p="bottom-left",orientation:m="vertical","aria-label":w}){const E=ze(),{isInteractive:y,minZoomReached:x,maxZoomReached:b,ariaLabelConfig:C}=Ie(Nj,Ve),{zoomIn:_,zoomOut:k,fitView:R}=zc(),T=()=>{_(),a==null||a()},A=()=>{k(),l==null||l()},O=()=>{R(s),u==null||u()},j=()=>{E.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),f==null||f(!y)},G=m==="horizontal"?"horizontal":"vertical";return I.jsxs(Yi,{className:Je(["react-flow__controls",G,d]),position:p,style:e,"data-testid":"rf__controls","aria-label":w??C["controls.ariaLabel"],children:[t&&I.jsxs(I.Fragment,{children:[I.jsx(ja,{onClick:T,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:b,children:I.jsx(bj,{})}),I.jsx(ja,{onClick:A,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:x,children:I.jsx(Sj,{})})]}),r&&I.jsx(ja,{className:"react-flow__controls-fitview",onClick:O,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:I.jsx(Ej,{})}),o&&I.jsx(ja,{className:"react-flow__controls-interactive",onClick:j,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:y?I.jsx(kj,{}):I.jsx(Cj,{})}),h]})}o1.displayName="Controls";const Rj=N.memo(o1);function Pj({id:e,x:t,y:r,width:o,height:s,style:a,color:l,strokeColor:u,strokeWidth:f,className:d,borderRadius:h,shapeRendering:p,selected:m,onClick:w}){const{background:E,backgroundColor:y}=a||{},x=l||E||y;return I.jsx("rect",{className:Je(["react-flow__minimap-node",{selected:m},d]),x:t,y:r,rx:h,ry:h,width:o,height:s,style:{fill:x,stroke:u,strokeWidth:f},shapeRendering:p,onClick:w?b=>w(b,e):void 0})}const Tj=N.memo(Pj),Aj=e=>e.nodes.map(t=>t.id),Vc=e=>e instanceof Function?e:()=>e;function Ij({nodeStrokeColor:e,nodeColor:t,nodeClassName:r="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:a=Tj,onClick:l}){const u=Ie(Aj,Ve),f=Vc(t),d=Vc(e),h=Vc(r),p=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return I.jsx(I.Fragment,{children:u.map(m=>I.jsx(Oj,{id:m,nodeColorFunc:f,nodeStrokeColorFunc:d,nodeClassNameFunc:h,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:a,onClick:l,shapeRendering:p},m))})}function Mj({id:e,nodeColorFunc:t,nodeStrokeColorFunc:r,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:a,shapeRendering:l,NodeComponent:u,onClick:f}){const{node:d,x:h,y:p,width:m,height:w}=Ie(E=>{const{internals:y}=E.nodeLookup.get(e),x=y.userNode,{x:b,y:C}=y.positionAbsolute,{width:_,height:k}=Fn(x);return{node:x,x:b,y:C,width:_,height:k}},Ve);return!d||d.hidden||!yw(d)?null:I.jsx(u,{x:h,y:p,width:m,height:w,style:d.style,selected:!!d.selected,className:o(d),color:t(d),borderRadius:s,strokeColor:r(d),strokeWidth:a,shapeRendering:l,onClick:f,id:d.id})}const Oj=N.memo(Mj);var Lj=N.memo(Ij);const Dj=200,jj=150,qj=e=>!e.hidden,zj=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?mw(Fi(e.nodeLookup,{filter:qj}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Fj="react-flow__minimap-desc";function i1({style:e,className:t,nodeStrokeColor:r,nodeColor:o,nodeClassName:s="",nodeBorderRadius:a=5,nodeStrokeWidth:l,nodeComponent:u,bgColor:f,maskColor:d,maskStrokeColor:h,maskStrokeWidth:p,position:m="bottom-right",onClick:w,onNodeClick:E,pannable:y=!1,zoomable:x=!1,ariaLabel:b,inversePan:C,zoomStep:_=1,offsetScale:k=5}){const R=ze(),T=N.useRef(null),{boundingRect:A,viewBB:O,rfId:j,panZoom:G,translateExtent:B,flowWidth:V,flowHeight:X,ariaLabelConfig:L}=Ie(zj,Ve),H=(e==null?void 0:e.width)??Dj,$=(e==null?void 0:e.height)??jj,Y=A.width/H,M=A.height/$,q=Math.max(Y,M),Q=q*H,D=q*$,W=k*q,ie=A.x-(Q-A.width)/2-W,F=A.y-(D-A.height)/2-W,Z=Q+W*2,ee=D+W*2,K=`${Fj}-${j}`,te=N.useRef(0),se=N.useRef();te.current=q,N.useEffect(()=>{if(T.current&&G)return se.current=oL({domNode:T.current,panZoom:G,getTransform:()=>R.getState().transform,getViewScale:()=>te.current}),()=>{var pe;(pe=se.current)==null||pe.destroy()}},[G]),N.useEffect(()=>{var pe;(pe=se.current)==null||pe.update({translateExtent:B,width:V,height:X,inversePan:C,pannable:y,zoomStep:_,zoomable:x})},[y,x,C,_,B,V,X]);const ae=w?pe=>{var Re;const[be,me]=((Re=se.current)==null?void 0:Re.pointer(pe))||[0,0];w(pe,{x:be,y:me})}:void 0,ce=E?N.useCallback((pe,be)=>{const me=R.getState().nodeLookup.get(be).internals.userNode;E(pe,me)},[]):void 0,de=b??L["minimap.ariaLabel"];return I.jsx(Yi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof f=="string"?f:void 0,"--xy-minimap-mask-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-width-props":typeof p=="number"?p*q:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof r=="string"?r:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Je(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:I.jsxs("svg",{width:H,height:$,viewBox:`${ie} ${F} ${Z} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":K,ref:T,onClick:ae,children:[de&&I.jsx("title",{id:K,children:de}),I.jsx(Lj,{onClick:ce,nodeColor:o,nodeStrokeColor:r,nodeBorderRadius:a,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:u}),I.jsx("path",{className:"react-flow__minimap-mask",d:`M${ie-W},${F-W}h${Z+W*2}v${ee+W*2}h${-Z-W*2}z + M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}i1.displayName="MiniMap",N.memo(i1);const $j=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Bj={[Po.Line]:"right",[Po.Handle]:"bottom-right"};function Vj({nodeId:e,position:t,variant:r=Po.Handle,className:o,style:s=void 0,children:a,color:l,minWidth:u=10,minHeight:f=10,maxWidth:d=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:p=!1,resizeDirection:m,autoScale:w=!0,shouldResize:E,onResizeStart:y,onResize:x,onResizeEnd:b}){const C=kx(),_=typeof e=="string"?e:C,k=ze(),R=N.useRef(null),T=r===Po.Handle,A=Ie(N.useCallback($j(T&&w),[T,w]),Ve),O=N.useRef(null),j=t??Bj[r];N.useEffect(()=>{if(!(!R.current||!_))return O.current||(O.current=yL({domNode:R.current,nodeId:_,getStoreItems:()=>{const{nodeLookup:B,transform:V,snapGrid:X,snapToGrid:L,nodeOrigin:H,domNode:$}=k.getState();return{nodeLookup:B,transform:V,snapGrid:X,snapToGrid:L,nodeOrigin:H,paneDomNode:$}},onChange:(B,V)=>{const{triggerNodeChanges:X,nodeLookup:L,parentLookup:H,nodeOrigin:$}=k.getState(),Y=[],M={x:B.x,y:B.y},q=L.get(_);if(q&&q.expandParent&&q.parentId){const Q=q.origin??$,D=B.width??q.measured.width??0,W=B.height??q.measured.height??0,ie={id:q.id,parentId:q.parentId,rect:{width:D,height:W,...ww({x:B.x??q.position.x,y:B.y??q.position.y},{width:D,height:W},q.parentId,L,Q)}},F=Tc([ie],L,H,$);Y.push(...F),M.x=B.x?Math.max(Q[0]*D,B.x):void 0,M.y=B.y?Math.max(Q[1]*W,B.y):void 0}if(M.x!==void 0&&M.y!==void 0){const Q={id:_,type:"position",position:{...M}};Y.push(Q)}if(B.width!==void 0&&B.height!==void 0){const D={id:_,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:B.width,height:B.height}};Y.push(D)}for(const Q of V){const D={...Q,type:"position"};Y.push(D)}X(Y)},onEnd:({width:B,height:V})=>{const X={id:_,type:"dimensions",resizing:!1,dimensions:{width:B,height:V}};k.getState().triggerNodeChanges([X])}})),O.current.update({controlPosition:j,boundaries:{minWidth:u,minHeight:f,maxWidth:d,maxHeight:h},keepAspectRatio:p,resizeDirection:m,onResizeStart:y,onResize:x,onResizeEnd:b,shouldResize:E}),()=>{var B;(B=O.current)==null||B.destroy()}},[j,u,f,d,h,p,y,x,b,E]);const G=j.split("-");return I.jsx("div",{className:Je(["react-flow__resize-control","nodrag",...G,r,o]),ref:R,style:{...s,scale:A,...l&&{[T?"backgroundColor":"borderColor"]:l}},children:a})}N.memo(Vj);function s1(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t{const r=new Array(e.length+t.length);for(let o=0;o({classGroupId:e,validator:t}),l1=(e=new Map,t=null,r)=>({nextPart:e,validators:t,classGroupId:r}),qa="-",u1=[],Uj="arbitrary..",Gj=e=>{const t=Kj(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return Yj(l);const u=l.split(qa),f=u[0]===""&&u.length>1?1:0;return c1(u,f,t)},getConflictingClassGroupIds:(l,u)=>{if(u){const f=o[l],d=r[l];return f?d?Hj(d,f):f:d||u1}return r[l]||u1}}},c1=(e,t,r)=>{if(e.length-t===0)return r.classGroupId;const s=e[t],a=r.nextPart.get(s);if(a){const d=c1(e,t+1,a);if(d)return d}const l=r.validators;if(l===null)return;const u=t===0?e.join(qa):e.slice(t).join(qa),f=l.length;for(let d=0;de.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),r=t.indexOf(":"),o=t.slice(0,r);return o?Uj+o:void 0})(),Kj=e=>{const{theme:t,classGroups:r}=e;return Xj(r,t)},Xj=(e,t)=>{const r=l1();for(const o in e){const s=e[o];Hc(s,r,o,t)}return r},Hc=(e,t,r,o)=>{const s=e.length;for(let a=0;a{if(typeof e=="string"){Zj(e,t,r);return}if(typeof e=="function"){Jj(e,t,r,o);return}eq(e,t,r,o)},Zj=(e,t,r)=>{const o=e===""?t:f1(t,e);o.classGroupId=r},Jj=(e,t,r,o)=>{if(tq(e)){Hc(e(o),t,r,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Wj(r,e))},eq=(e,t,r,o)=>{const s=Object.entries(e),a=s.length;for(let l=0;l{let r=e;const o=t.split(qa),s=o.length;for(let a=0;a"isThemeGetter"in e&&e.isThemeGetter===!0,nq=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=Object.create(null),o=Object.create(null);const s=(a,l)=>{r[a]=l,t++,t>e&&(t=0,o=r,r=Object.create(null))};return{get(a){let l=r[a];if(l!==void 0)return l;if((l=o[a])!==void 0)return s(a,l),l},set(a,l){a in r?r[a]=l:s(a,l)}}},Wc="!",d1=":",rq=[],h1=(e,t,r,o,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:r,maybePostfixModifierPosition:o,isExternal:s}),oq=e=>{const{prefix:t,experimentalParseClassName:r}=e;let o=s=>{const a=[];let l=0,u=0,f=0,d;const h=s.length;for(let y=0;yf?d-f:void 0;return h1(a,w,m,E)};if(t){const s=t+d1,a=o;o=l=>l.startsWith(s)?a(l.slice(s.length)):h1(rq,!1,l,void 0,!0)}if(r){const s=o;o=a=>r({className:a,parseClassName:s})}return o},iq=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((r,o)=>{t.set(r,1e6+o)}),r=>{const o=[];let s=[];for(let a=0;a0&&(s.sort(),o.push(...s),s=[]),o.push(l)):s.push(l)}return s.length>0&&(s.sort(),o.push(...s)),o}},sq=e=>({cache:nq(e.cacheSize),parseClassName:oq(e),sortModifiers:iq(e),...Gj(e)}),aq=/\s+/,lq=(e,t)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s,sortModifiers:a}=t,l=[],u=e.trim().split(aq);let f="";for(let d=u.length-1;d>=0;d-=1){const h=u[d],{isExternal:p,modifiers:m,hasImportantModifier:w,baseClassName:E,maybePostfixModifierPosition:y}=r(h);if(p){f=h+(f.length>0?" "+f:f);continue}let x=!!y,b=o(x?E.substring(0,y):E);if(!b){if(!x){f=h+(f.length>0?" "+f:f);continue}if(b=o(E),!b){f=h+(f.length>0?" "+f:f);continue}x=!1}const C=m.length===0?"":m.length===1?m[0]:a(m).join(":"),_=w?C+Wc:C,k=_+b;if(l.indexOf(k)>-1)continue;l.push(k);const R=s(b,x);for(let T=0;T0?" "+f:f)}return f},uq=(...e)=>{let t=0,r,o,s="";for(;t{if(typeof e=="string")return e;let t,r="";for(let o=0;o{let r,o,s,a;const l=f=>{const d=t.reduce((h,p)=>p(h),e());return r=sq(d),o=r.cache.get,s=r.cache.set,a=u,u(f)},u=f=>{const d=o(f);if(d)return d;const h=lq(f,r);return s(f,h),h};return a=l,(...f)=>a(uq(...f))},fq=[],rt=e=>{const t=r=>r[e]||fq;return t.isThemeGetter=!0,t},g1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,m1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dq=/^\d+\/\d+$/,hq=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,pq=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,gq=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,mq=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,vq=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ao=e=>dq.test(e),Te=e=>!!e&&!Number.isNaN(Number(e)),sr=e=>!!e&&Number.isInteger(Number(e)),Uc=e=>e.endsWith("%")&&Te(e.slice(0,-1)),$n=e=>hq.test(e),yq=()=>!0,wq=e=>pq.test(e)&&!gq.test(e),v1=()=>!1,xq=e=>mq.test(e),_q=e=>vq.test(e),bq=e=>!we(e)&&!xe(e),Sq=e=>Io(e,b1,v1),we=e=>g1.test(e),Hr=e=>Io(e,S1,wq),Gc=e=>Io(e,Rq,Te),y1=e=>Io(e,x1,v1),Eq=e=>Io(e,_1,_q),za=e=>Io(e,E1,xq),xe=e=>m1.test(e),Qi=e=>Mo(e,S1),Cq=e=>Mo(e,Pq),w1=e=>Mo(e,x1),kq=e=>Mo(e,b1),Nq=e=>Mo(e,_1),Fa=e=>Mo(e,E1,!0),Io=(e,t,r)=>{const o=g1.exec(e);return o?o[1]?t(o[1]):r(o[2]):!1},Mo=(e,t,r=!1)=>{const o=m1.exec(e);return o?o[1]?t(o[1]):r:!1},x1=e=>e==="position"||e==="percentage",_1=e=>e==="image"||e==="url",b1=e=>e==="length"||e==="size"||e==="bg-size",S1=e=>e==="length",Rq=e=>e==="number",Pq=e=>e==="family-name",E1=e=>e==="shadow",Tq=cq(()=>{const e=rt("color"),t=rt("font"),r=rt("text"),o=rt("font-weight"),s=rt("tracking"),a=rt("leading"),l=rt("breakpoint"),u=rt("container"),f=rt("spacing"),d=rt("radius"),h=rt("shadow"),p=rt("inset-shadow"),m=rt("text-shadow"),w=rt("drop-shadow"),E=rt("blur"),y=rt("perspective"),x=rt("aspect"),b=rt("ease"),C=rt("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],R=()=>[...k(),xe,we],T=()=>["auto","hidden","clip","visible","scroll"],A=()=>["auto","contain","none"],O=()=>[xe,we,f],j=()=>[Ao,"full","auto",...O()],G=()=>[sr,"none","subgrid",xe,we],B=()=>["auto",{span:["full",sr,xe,we]},sr,xe,we],V=()=>[sr,"auto",xe,we],X=()=>["auto","min","max","fr",xe,we],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],$=()=>["auto",...O()],Y=()=>[Ao,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...O()],M=()=>[e,xe,we],q=()=>[...k(),w1,y1,{position:[xe,we]}],Q=()=>["no-repeat",{repeat:["","x","y","space","round"]}],D=()=>["auto","cover","contain",kq,Sq,{size:[xe,we]}],W=()=>[Uc,Qi,Hr],ie=()=>["","none","full",d,xe,we],F=()=>["",Te,Qi,Hr],Z=()=>["solid","dashed","dotted","double"],ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>[Te,Uc,w1,y1],te=()=>["","none",E,xe,we],se=()=>["none",Te,xe,we],ae=()=>["none",Te,xe,we],ce=()=>[Te,xe,we],de=()=>[Ao,"full",...O()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[$n],breakpoint:[$n],color:[yq],container:[$n],"drop-shadow":[$n],ease:["in","out","in-out"],font:[bq],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[$n],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[$n],shadow:[$n],spacing:["px",Te],text:[$n],"text-shadow":[$n],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ao,we,xe,x]}],container:["container"],columns:[{columns:[Te,we,xe,u]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:R()}],overflow:[{overflow:T()}],"overflow-x":[{"overflow-x":T()}],"overflow-y":[{"overflow-y":T()}],overscroll:[{overscroll:A()}],"overscroll-x":[{"overscroll-x":A()}],"overscroll-y":[{"overscroll-y":A()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:j()}],"inset-x":[{"inset-x":j()}],"inset-y":[{"inset-y":j()}],start:[{start:j()}],end:[{end:j()}],top:[{top:j()}],right:[{right:j()}],bottom:[{bottom:j()}],left:[{left:j()}],visibility:["visible","invisible","collapse"],z:[{z:[sr,"auto",xe,we]}],basis:[{basis:[Ao,"full","auto",u,...O()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Te,Ao,"auto","initial","none",we]}],grow:[{grow:["",Te,xe,we]}],shrink:[{shrink:["",Te,xe,we]}],order:[{order:[sr,"first","last","none",xe,we]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:B()}],"col-start":[{"col-start":V()}],"col-end":[{"col-end":V()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:B()}],"row-start":[{"row-start":V()}],"row-end":[{"row-end":V()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":X()}],"auto-rows":[{"auto-rows":X()}],gap:[{gap:O()}],"gap-x":[{"gap-x":O()}],"gap-y":[{"gap-y":O()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:O()}],px:[{px:O()}],py:[{py:O()}],ps:[{ps:O()}],pe:[{pe:O()}],pt:[{pt:O()}],pr:[{pr:O()}],pb:[{pb:O()}],pl:[{pl:O()}],m:[{m:$()}],mx:[{mx:$()}],my:[{my:$()}],ms:[{ms:$()}],me:[{me:$()}],mt:[{mt:$()}],mr:[{mr:$()}],mb:[{mb:$()}],ml:[{ml:$()}],"space-x":[{"space-x":O()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":O()}],"space-y-reverse":["space-y-reverse"],size:[{size:Y()}],w:[{w:[u,"screen",...Y()]}],"min-w":[{"min-w":[u,"screen","none",...Y()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[l]},...Y()]}],h:[{h:["screen","lh",...Y()]}],"min-h":[{"min-h":["screen","lh","none",...Y()]}],"max-h":[{"max-h":["screen","lh",...Y()]}],"font-size":[{text:["base",r,Qi,Hr]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,xe,Gc]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Uc,we]}],"font-family":[{font:[Cq,we,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,xe,we]}],"line-clamp":[{"line-clamp":[Te,"none",xe,Gc]}],leading:[{leading:[a,...O()]}],"list-image":[{"list-image":["none",xe,we]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",xe,we]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[Te,"from-font","auto",xe,Hr]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[Te,"auto",xe,we]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:O()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",xe,we]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",xe,we]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:q()}],"bg-repeat":[{bg:Q()}],"bg-size":[{bg:D()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},sr,xe,we],radial:["",xe,we],conic:[sr,xe,we]},Nq,Eq]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:W()}],"gradient-via-pos":[{via:W()}],"gradient-to-pos":[{to:W()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:ie()}],"rounded-s":[{"rounded-s":ie()}],"rounded-e":[{"rounded-e":ie()}],"rounded-t":[{"rounded-t":ie()}],"rounded-r":[{"rounded-r":ie()}],"rounded-b":[{"rounded-b":ie()}],"rounded-l":[{"rounded-l":ie()}],"rounded-ss":[{"rounded-ss":ie()}],"rounded-se":[{"rounded-se":ie()}],"rounded-ee":[{"rounded-ee":ie()}],"rounded-es":[{"rounded-es":ie()}],"rounded-tl":[{"rounded-tl":ie()}],"rounded-tr":[{"rounded-tr":ie()}],"rounded-br":[{"rounded-br":ie()}],"rounded-bl":[{"rounded-bl":ie()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":F()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Te,xe,we]}],"outline-w":[{outline:["",Te,Qi,Hr]}],"outline-color":[{outline:M()}],shadow:[{shadow:["","none",h,Fa,za]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":["none",p,Fa,za]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:F()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[Te,Hr]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":["none",m,Fa,za]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[Te,xe,we]}],"mix-blend":[{"mix-blend":[...ee(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ee()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Te]}],"mask-image-linear-from-pos":[{"mask-linear-from":K()}],"mask-image-linear-to-pos":[{"mask-linear-to":K()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":K()}],"mask-image-t-to-pos":[{"mask-t-to":K()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":K()}],"mask-image-r-to-pos":[{"mask-r-to":K()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":K()}],"mask-image-b-to-pos":[{"mask-b-to":K()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":K()}],"mask-image-l-to-pos":[{"mask-l-to":K()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":K()}],"mask-image-x-to-pos":[{"mask-x-to":K()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":K()}],"mask-image-y-to-pos":[{"mask-y-to":K()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[xe,we]}],"mask-image-radial-from-pos":[{"mask-radial-from":K()}],"mask-image-radial-to-pos":[{"mask-radial-to":K()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[Te]}],"mask-image-conic-from-pos":[{"mask-conic-from":K()}],"mask-image-conic-to-pos":[{"mask-conic-to":K()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:q()}],"mask-repeat":[{mask:Q()}],"mask-size":[{mask:D()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",xe,we]}],filter:[{filter:["","none",xe,we]}],blur:[{blur:te()}],brightness:[{brightness:[Te,xe,we]}],contrast:[{contrast:[Te,xe,we]}],"drop-shadow":[{"drop-shadow":["","none",w,Fa,za]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:["",Te,xe,we]}],"hue-rotate":[{"hue-rotate":[Te,xe,we]}],invert:[{invert:["",Te,xe,we]}],saturate:[{saturate:[Te,xe,we]}],sepia:[{sepia:["",Te,xe,we]}],"backdrop-filter":[{"backdrop-filter":["","none",xe,we]}],"backdrop-blur":[{"backdrop-blur":te()}],"backdrop-brightness":[{"backdrop-brightness":[Te,xe,we]}],"backdrop-contrast":[{"backdrop-contrast":[Te,xe,we]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Te,xe,we]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Te,xe,we]}],"backdrop-invert":[{"backdrop-invert":["",Te,xe,we]}],"backdrop-opacity":[{"backdrop-opacity":[Te,xe,we]}],"backdrop-saturate":[{"backdrop-saturate":[Te,xe,we]}],"backdrop-sepia":[{"backdrop-sepia":["",Te,xe,we]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":O()}],"border-spacing-x":[{"border-spacing-x":O()}],"border-spacing-y":[{"border-spacing-y":O()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",xe,we]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Te,"initial",xe,we]}],ease:[{ease:["linear","initial",b,xe,we]}],delay:[{delay:[Te,xe,we]}],animate:[{animate:["none",C,xe,we]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,xe,we]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[xe,we,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":["translate-none"],accent:[{accent:M()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",xe,we]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":O()}],"scroll-mx":[{"scroll-mx":O()}],"scroll-my":[{"scroll-my":O()}],"scroll-ms":[{"scroll-ms":O()}],"scroll-me":[{"scroll-me":O()}],"scroll-mt":[{"scroll-mt":O()}],"scroll-mr":[{"scroll-mr":O()}],"scroll-mb":[{"scroll-mb":O()}],"scroll-ml":[{"scroll-ml":O()}],"scroll-p":[{"scroll-p":O()}],"scroll-px":[{"scroll-px":O()}],"scroll-py":[{"scroll-py":O()}],"scroll-ps":[{"scroll-ps":O()}],"scroll-pe":[{"scroll-pe":O()}],"scroll-pt":[{"scroll-pt":O()}],"scroll-pr":[{"scroll-pr":O()}],"scroll-pb":[{"scroll-pb":O()}],"scroll-pl":[{"scroll-pl":O()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",xe,we]}],fill:[{fill:["none",...M()]}],"stroke-w":[{stroke:[Te,Qi,Hr,Gc]}],stroke:[{stroke:["none",...M()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function dt(...e){return Tq(a1(e))}function $a(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return I.jsx($a,{type:f,position:d,id:u.id})}const{className:t,children:r,style:o,...s}=e,[a,l]=N.useState(!1);return I.jsx(Xi,{...s,onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),style:{width:"var(--pynodeflow-handle-size, 11px)",height:"var(--pynodeflow-handle-size, 11px)",borderWidth:"var(--pynodeflow-handle-border-width, 2px)",borderColor:"var(--pynodeflow-handle-border-color, #000000ff)",backgroundColor:a?"var(--pynodeflow-handle-hover-bg, #747474ff)":"var(--pynodeflow-handle-bg, #000000ff)",...o},className:dt("h-[11px] w-[11px] rounded-full border border-slate-300 bg-slate-100 transition","dark:border-secondary dark:bg-secondary",t),children:r})}const Aq={top:"flex-col",right:"flex-row-reverse justify-end",bottom:"flex-col-reverse justify-end",left:"flex-row"};function C1(e){if("component"in e){const{component:d}=e,h=d.handle_type==="input"?"target":"source",p=d.handle_type==="input"?ve.Left:ve.Right,m=d.label+(d.required?" *":"");return I.jsx(C1,{type:h,position:p,id:d.id,title:m})}const{className:t,labelClassName:r,handleClassName:o,title:s,position:a,...l}=e,{ref:u,...f}=l;return I.jsxs("div",{title:s,className:dt("relative flex items-center",Aq[a],t),ref:u,children:[I.jsx($a,{position:a,className:o,...f}),I.jsx("label",{className:dt("text-foreground px-3",r),children:s})]})}const Iq={[ve.Top]:"flex-col-reverse left-1/2 -translate-y-full -translate-x-1/2",[ve.Bottom]:"flex-col left-1/2 translate-y-[10px] -translate-x-1/2",[ve.Left]:"flex-row-reverse top-1/2 -translate-x-full -translate-y-1/2",[ve.Right]:"top-1/2 -translate-y-1/2 translate-x-[10px]"};function k1(e){if("component"in e){const{component:u}=e,f=u.handle_type==="input"?"target":"source",d=u.handle_type==="input"?ve.Left:ve.Right;return I.jsx(k1,{type:f,position:d,id:u.id,showButton:!0,children:I.jsxs("div",{className:"px-3 py-1.5 bg-secondary border-2 border-border rounded text-sm font-semibold cursor-pointer hover:bg-accent transition-colors",children:[u.label,u.required&&I.jsx("span",{className:"text-red-500 ml-1",children:"*"})]})})}const{showButton:t=!0,position:r=ve.Bottom,children:o,...s}=e,a=Iq[r||ve.Bottom],l=r===ve.Top||r===ve.Bottom;return I.jsx($a,{position:r,id:s.id,...s,children:t&&I.jsxs("div",{className:`absolute flex items-center ${a} pointer-events-none`,children:[I.jsx("div",{className:`bg-gray-300 ${l?"h-10 w-px":"h-px w-10"}`}),I.jsx("div",{className:"nodrag nopan pointer-events-auto",children:o})]})})}function Ba({className:e,type:t,...r}){return I.jsx("input",{type:t,"data-slot":"input",className:dt("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}const N1=$t.createContext(null);function Oo(){return $t.useContext(N1)}function Mq(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),t}function Oq(e){var a;if("component"in e){const{component:l,onValueChange:u}=e,f=Oo(),d=((a=f==null?void 0:f.nodeData.values)==null?void 0:a[l.id])??l.value??"",h=l.label??Mq(l.id);return I.jsxs("div",{className:"component-text-field",children:[I.jsx("label",{className:"text-xs text-gray-600 mb-1",children:h}),I.jsx(Ba,{type:"text",value:d,onChange:p=>u==null?void 0:u(l.id,p.target.value),onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),placeholder:l.placeholder,"aria-label":h,className:"h-8 text-xs"})]})}const{value:t,onChange:r,placeholder:o,label:s}=e;return I.jsx(Ba,{type:"text",value:t,onChange:l=>r(l.target.value),onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),placeholder:o,"aria-label":s,className:"h-8 text-xs"})}function Lq(e){let t=e.replace(/[_-]/g," ");return t=t.replace(new RegExp("(?r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),t}function Dq(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=Oo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??0,p=u.label??Lq(u.id);return I.jsxs("div",{className:"component-number-field",children:[I.jsx("label",{className:"text-xs text-gray-600 mb-1",children:p}),I.jsx(Ba,{type:"number",value:h,step:"any",onChange:m=>f==null?void 0:f(u.id,Number(m.target.value)),onMouseDownCapture:m=>m.stopPropagation(),onPointerDownCapture:m=>m.stopPropagation(),onWheel:m=>m.currentTarget.blur(),"aria-label":p,className:"h-8 text-xs"})]})}const{value:t,onChange:r,isInteger:o,placeholder:s,label:a}=e;return I.jsx(Ba,{type:"number",value:t,step:o?1:"any",onChange:u=>r(Number(u.target.value)),onMouseDownCapture:u=>u.stopPropagation(),onPointerDownCapture:u=>u.stopPropagation(),onWheel:u=>u.currentTarget.blur(),placeholder:s,"aria-label":a,className:"h-8 text-xs"})}function R1(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Zi(...e){return t=>{let r=!1;const o=e.map(s=>{const a=R1(s,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let s=0;s{var b;const{scope:m,children:w,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=N.useMemo(()=>E,Object.values(E));return I.jsx(y.Provider,{value:x,children:w})};d.displayName=a+"Provider";function h(p,m){var y;const w=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=N.useContext(w);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const s=()=>{const a=r.map(l=>N.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return N.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return s.scopeName=e,[o,jq(s,...t)]}function jq(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return N.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return r.scopeName=t.scopeName,r}function Ke(e,t,{checkForDefaultPrevented:r=!0}={}){return function(s){if(e==null||e(s),r===!1||!s.defaultPrevented)return t==null?void 0:t(s)}}var ht=globalThis!=null&&globalThis.document?N.useLayoutEffect:()=>{},qq=Ju[" useInsertionEffect ".trim().toString()]||ht;function Yc({prop:e,defaultProp:t,onChange:r=()=>{},caller:o}){const[s,a,l]=zq({defaultProp:t,onChange:r}),u=e!==void 0,f=u?e:s;{const h=N.useRef(e!==void 0);N.useEffect(()=>{const p=h.current;p!==u&&console.warn(`${o} is changing from ${p?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),h.current=u},[u,o])}const d=N.useCallback(h=>{var p;if(u){const m=Fq(h)?h(e):h;m!==e&&((p=l.current)==null||p.call(l,m))}else a(h)},[u,e,a,l]);return[f,d]}function zq({defaultProp:e,onChange:t}){const[r,o]=N.useState(e),s=N.useRef(r),a=N.useRef(t);return qq(()=>{a.current=t},[t]),N.useEffect(()=>{var l;s.current!==r&&((l=a.current)==null||l.call(a,r),s.current=r)},[r,s]),[r,o,a]}function Fq(e){return typeof e=="function"}function P1(e){const t=N.useRef({value:e,previous:e});return N.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function T1(e){const[t,r]=N.useState(void 0);return ht(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const o=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const a=s[0];let l,u;if("borderBoxSize"in a){const f=a.borderBoxSize,d=Array.isArray(f)?f[0]:f;l=d.inlineSize,u=d.blockSize}else l=e.offsetWidth,u=e.offsetHeight;r({width:l,height:u})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else r(void 0)},[e]),t}function $q(e,t){return N.useReducer((r,o)=>t[r][o]??r,e)}var A1=e=>{const{present:t,children:r}=e,o=Bq(t),s=typeof r=="function"?r({present:o.isPresent}):N.Children.only(r),a=et(o.ref,Vq(s));return typeof r=="function"||o.isPresent?N.cloneElement(s,{ref:a}):null};A1.displayName="Presence";function Bq(e){const[t,r]=N.useState(),o=N.useRef(null),s=N.useRef(e),a=N.useRef("none"),l=e?"mounted":"unmounted",[u,f]=$q(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return N.useEffect(()=>{const d=Ha(o.current);a.current=u==="mounted"?d:"none"},[u]),ht(()=>{const d=o.current,h=s.current;if(h!==e){const m=a.current,w=Ha(d);e?f("MOUNT"):w==="none"||(d==null?void 0:d.display)==="none"?f("UNMOUNT"):f(h&&m!==w?"ANIMATION_OUT":"UNMOUNT"),s.current=e}},[e,f]),ht(()=>{if(t){let d;const h=t.ownerDocument.defaultView??window,p=w=>{const y=Ha(o.current).includes(CSS.escape(w.animationName));if(w.target===t&&y&&(f("ANIMATION_END"),!s.current)){const x=t.style.animationFillMode;t.style.animationFillMode="forwards",d=h.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=x)})}},m=w=>{w.target===t&&(a.current=Ha(o.current))};return t.addEventListener("animationstart",m),t.addEventListener("animationcancel",p),t.addEventListener("animationend",p),()=>{h.clearTimeout(d),t.removeEventListener("animationstart",m),t.removeEventListener("animationcancel",p),t.removeEventListener("animationend",p)}}else f("ANIMATION_END")},[t,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:N.useCallback(d=>{o.current=d?getComputedStyle(d):null,r(d)},[])}}function Ha(e){return(e==null?void 0:e.animationName)||"none"}function Vq(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Hq(e){const t=Wq(e),r=N.forwardRef((o,s)=>{const{children:a,...l}=o,u=N.Children.toArray(a),f=u.find(Gq);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function Wq(e){const t=N.forwardRef((r,o)=>{const{children:s,...a}=r;if(N.isValidElement(s)){const l=Kq(s),u=Yq(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Uq=Symbol("radix.slottable");function Gq(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Uq}function Yq(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function Kq(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Xq=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Fe=Xq.reduce((e,t)=>{const r=Hq(`Primitive.${t}`),o=N.forwardRef((s,a)=>{const{asChild:l,...u}=s,f=l?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),I.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});function Qq(e,t){e&&Gi.flushSync(()=>e.dispatchEvent(t))}var Wa="Checkbox",[Zq]=Va(Wa),[Jq,Kc]=Zq(Wa);function e3(e){const{__scopeCheckbox:t,checked:r,children:o,defaultChecked:s,disabled:a,form:l,name:u,onCheckedChange:f,required:d,value:h="on",internal_do_not_use_render:p}=e,[m,w]=Yc({prop:r,defaultProp:s??!1,onChange:f,caller:Wa}),[E,y]=N.useState(null),[x,b]=N.useState(null),C=N.useRef(!1),_=E?!!l||!!E.closest("form"):!0,k={checked:m,disabled:a,setChecked:w,control:E,setControl:y,name:u,form:l,value:h,hasConsumerStoppedPropagationRef:C,required:d,defaultChecked:ar(s)?!1:s,isFormControl:_,bubbleInput:x,setBubbleInput:b};return I.jsx(Jq,{scope:t,...k,children:t3(p)?p(k):o})}var I1="CheckboxTrigger",M1=N.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...o},s)=>{const{control:a,value:l,disabled:u,checked:f,required:d,setControl:h,setChecked:p,hasConsumerStoppedPropagationRef:m,isFormControl:w,bubbleInput:E}=Kc(I1,e),y=et(s,h),x=N.useRef(f);return N.useEffect(()=>{const b=a==null?void 0:a.form;if(b){const C=()=>p(x.current);return b.addEventListener("reset",C),()=>b.removeEventListener("reset",C)}},[a,p]),I.jsx(Fe.button,{type:"button",role:"checkbox","aria-checked":ar(f)?"mixed":f,"aria-required":d,"data-state":z1(f),"data-disabled":u?"":void 0,disabled:u,value:l,...o,ref:y,onKeyDown:Ke(t,b=>{b.key==="Enter"&&b.preventDefault()}),onClick:Ke(r,b=>{p(C=>ar(C)?!0:!C),E&&w&&(m.current=b.isPropagationStopped(),m.current||b.stopPropagation())})})});M1.displayName=I1;var O1=N.forwardRef((e,t)=>{const{__scopeCheckbox:r,name:o,checked:s,defaultChecked:a,required:l,disabled:u,value:f,onCheckedChange:d,form:h,...p}=e;return I.jsx(e3,{__scopeCheckbox:r,checked:s,defaultChecked:a,disabled:u,required:l,onCheckedChange:d,name:o,form:h,value:f,internal_do_not_use_render:({isFormControl:m})=>I.jsxs(I.Fragment,{children:[I.jsx(M1,{...p,ref:t,__scopeCheckbox:r}),m&&I.jsx(q1,{__scopeCheckbox:r})]})})});O1.displayName=Wa;var L1="CheckboxIndicator",D1=N.forwardRef((e,t)=>{const{__scopeCheckbox:r,forceMount:o,...s}=e,a=Kc(L1,r);return I.jsx(A1,{present:o||ar(a.checked)||a.checked===!0,children:I.jsx(Fe.span,{"data-state":z1(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});D1.displayName=L1;var j1="CheckboxBubbleInput",q1=N.forwardRef(({__scopeCheckbox:e,...t},r)=>{const{control:o,hasConsumerStoppedPropagationRef:s,checked:a,defaultChecked:l,required:u,disabled:f,name:d,value:h,form:p,bubbleInput:m,setBubbleInput:w}=Kc(j1,e),E=et(r,w),y=P1(a),x=T1(o);N.useEffect(()=>{const C=m;if(!C)return;const _=window.HTMLInputElement.prototype,R=Object.getOwnPropertyDescriptor(_,"checked").set,T=!s.current;if(y!==a&&R){const A=new Event("click",{bubbles:T});C.indeterminate=ar(a),R.call(C,ar(a)?!1:a),C.dispatchEvent(A)}},[m,y,a,s]);const b=N.useRef(ar(a)?!1:a);return I.jsx(Fe.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??b.current,required:u,disabled:f,name:d,value:h,form:p,...t,tabIndex:-1,ref:E,style:{...t.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});q1.displayName=j1;function t3(e){return typeof e=="function"}function ar(e){return e==="indeterminate"}function z1(e){return ar(e)?"indeterminate":e?"checked":"unchecked"}/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const n3=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),r3=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,r,o)=>o?o.toUpperCase():r.toLowerCase()),F1=e=>{const t=r3(e);return t.charAt(0).toUpperCase()+t.slice(1)},$1=(...e)=>e.filter((t,r,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===r).join(" ").trim(),o3=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var i3={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const s3=N.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:s="",children:a,iconNode:l,...u},f)=>N.createElement("svg",{ref:f,...i3,width:t,height:t,stroke:e,strokeWidth:o?Number(r)*24/Number(t):r,className:$1("lucide",s),...!a&&!o3(u)&&{"aria-hidden":"true"},...u},[...l.map(([d,h])=>N.createElement(d,h)),...Array.isArray(a)?a:[a]]));/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Wr=(e,t)=>{const r=N.forwardRef(({className:o,...s},a)=>N.createElement(s3,{ref:a,iconNode:t,className:$1(`lucide-${n3(F1(e))}`,`lucide-${e}`,o),...s}));return r.displayName=F1(e),r};/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a3=Wr("arrow-down-wide-narrow",[["path",{d:"m3 16 4 4 4-4",key:"1co6wj"}],["path",{d:"M7 20V4",key:"1yoxec"}],["path",{d:"M11 4h10",key:"1w87gc"}],["path",{d:"M11 8h7",key:"djye34"}],["path",{d:"M11 12h4",key:"q8tih4"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const l3=Wr("arrow-right-from-line",[["path",{d:"M3 5v14",key:"1nt18q"}],["path",{d:"M21 12H7",key:"13ipq5"}],["path",{d:"m15 18 6-6-6-6",key:"6tx3qv"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const B1=Wr("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const V1=Wr("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const u3=Wr("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c3=Wr("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);/** + * @license lucide-react v0.554.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const f3=Wr("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);function H1({className:e,...t}){return I.jsx(O1,{"data-slot":"checkbox",className:dt("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:I.jsx(D1,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:I.jsx(B1,{className:"size-3.5"})})})}function d3(e){var s;if("component"in e){const{component:a,onValueChange:l}=e,u=Oo(),f=((s=u==null?void 0:u.nodeData.values)==null?void 0:s[a.id])??a.value??!1;return I.jsxs("div",{className:"component-bool-field flex items-center gap-2",children:[I.jsx(H1,{checked:f,onCheckedChange:d=>l==null?void 0:l(a.id,d===!0),onMouseDown:d=>d.stopPropagation(),onPointerDown:d=>d.stopPropagation(),"aria-label":a.label,className:"h-4 w-4"}),I.jsx("label",{className:"text-sm text-gray-700",children:a.label})]})}const{value:t,onChange:r,label:o}=e;return I.jsx(H1,{checked:t,onCheckedChange:a=>r(a===!0),onMouseDown:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),"aria-label":o,className:"h-4 w-4"})}function W1(e,[t,r]){return Math.min(r,Math.max(t,e))}function U1(e){const t=h3(e),r=N.forwardRef((o,s)=>{const{children:a,...l}=o,u=N.Children.toArray(a),f=u.find(g3);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function h3(e){const t=N.forwardRef((r,o)=>{const{children:s,...a}=r;if(N.isValidElement(s)){const l=v3(s),u=m3(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var p3=Symbol("radix.slottable");function g3(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===p3}function m3(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function v3(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function y3(e){const t=e+"CollectionProvider",[r,o]=Va(t),[s,a]=r(t,{collectionRef:{current:null},itemMap:new Map}),l=y=>{const{scope:x,children:b}=y,C=$t.useRef(null),_=$t.useRef(new Map).current;return I.jsx(s,{scope:x,itemMap:_,collectionRef:C,children:b})};l.displayName=t;const u=e+"CollectionSlot",f=U1(u),d=$t.forwardRef((y,x)=>{const{scope:b,children:C}=y,_=a(u,b),k=et(x,_.collectionRef);return I.jsx(f,{ref:k,children:C})});d.displayName=u;const h=e+"CollectionItemSlot",p="data-radix-collection-item",m=U1(h),w=$t.forwardRef((y,x)=>{const{scope:b,children:C,..._}=y,k=$t.useRef(null),R=et(x,k),T=a(h,b);return $t.useEffect(()=>(T.itemMap.set(k,{ref:k,..._}),()=>void T.itemMap.delete(k))),I.jsx(m,{[p]:"",ref:R,children:C})});w.displayName=h;function E(y){const x=a(e+"CollectionConsumer",y);return $t.useCallback(()=>{const C=x.collectionRef.current;if(!C)return[];const _=Array.from(C.querySelectorAll(`[${p}]`));return Array.from(x.itemMap.values()).sort((T,A)=>_.indexOf(T.ref.current)-_.indexOf(A.ref.current))},[x.collectionRef,x.itemMap])}return[{Provider:l,Slot:d,ItemSlot:w},E,o]}var w3=N.createContext(void 0);function x3(e){const t=N.useContext(w3);return e||t||"ltr"}function Ur(e){const t=N.useRef(e);return N.useEffect(()=>{t.current=e}),N.useMemo(()=>(...r)=>{var o;return(o=t.current)==null?void 0:o.call(t,...r)},[])}function _3(e,t=globalThis==null?void 0:globalThis.document){const r=Ur(e);N.useEffect(()=>{const o=s=>{s.key==="Escape"&&r(s)};return t.addEventListener("keydown",o,{capture:!0}),()=>t.removeEventListener("keydown",o,{capture:!0})},[r,t])}var b3="DismissableLayer",Xc="dismissableLayer.update",S3="dismissableLayer.pointerDownOutside",E3="dismissableLayer.focusOutside",G1,Y1=N.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),K1=N.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:a,onInteractOutside:l,onDismiss:u,...f}=e,d=N.useContext(Y1),[h,p]=N.useState(null),m=(h==null?void 0:h.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,w]=N.useState({}),E=et(t,A=>p(A)),y=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=y.indexOf(x),C=h?y.indexOf(h):-1,_=d.layersWithOutsidePointerEventsDisabled.size>0,k=C>=b,R=N3(A=>{const O=A.target,j=[...d.branches].some(G=>G.contains(O));!k||j||(s==null||s(A),l==null||l(A),A.defaultPrevented||u==null||u())},m),T=R3(A=>{const O=A.target;[...d.branches].some(G=>G.contains(O))||(a==null||a(A),l==null||l(A),A.defaultPrevented||u==null||u())},m);return _3(A=>{C===d.layers.size-1&&(o==null||o(A),!A.defaultPrevented&&u&&(A.preventDefault(),u()))},m),N.useEffect(()=>{if(h)return r&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(G1=m.body.style.pointerEvents,m.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(h)),d.layers.add(h),X1(),()=>{r&&d.layersWithOutsidePointerEventsDisabled.size===1&&(m.body.style.pointerEvents=G1)}},[h,m,r,d]),N.useEffect(()=>()=>{h&&(d.layers.delete(h),d.layersWithOutsidePointerEventsDisabled.delete(h),X1())},[h,d]),N.useEffect(()=>{const A=()=>w({});return document.addEventListener(Xc,A),()=>document.removeEventListener(Xc,A)},[]),I.jsx(Fe.div,{...f,ref:E,style:{pointerEvents:_?k?"auto":"none":void 0,...e.style},onFocusCapture:Ke(e.onFocusCapture,T.onFocusCapture),onBlurCapture:Ke(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:Ke(e.onPointerDownCapture,R.onPointerDownCapture)})});K1.displayName=b3;var C3="DismissableLayerBranch",k3=N.forwardRef((e,t)=>{const r=N.useContext(Y1),o=N.useRef(null),s=et(t,o);return N.useEffect(()=>{const a=o.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),I.jsx(Fe.div,{...e,ref:s})});k3.displayName=C3;function N3(e,t=globalThis==null?void 0:globalThis.document){const r=Ur(e),o=N.useRef(!1),s=N.useRef(()=>{});return N.useEffect(()=>{const a=u=>{if(u.target&&!o.current){let f=function(){Q1(S3,r,d,{discrete:!0})};const d={originalEvent:u};u.pointerType==="touch"?(t.removeEventListener("click",s.current),s.current=f,t.addEventListener("click",s.current,{once:!0})):f()}else t.removeEventListener("click",s.current);o.current=!1},l=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(l),t.removeEventListener("pointerdown",a),t.removeEventListener("click",s.current)}},[t,r]),{onPointerDownCapture:()=>o.current=!0}}function R3(e,t=globalThis==null?void 0:globalThis.document){const r=Ur(e),o=N.useRef(!1);return N.useEffect(()=>{const s=a=>{a.target&&!o.current&&Q1(E3,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",s),()=>t.removeEventListener("focusin",s)},[t,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function X1(){const e=new CustomEvent(Xc);document.dispatchEvent(e)}function Q1(e,t,r,{discrete:o}){const s=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),o?Qq(s,a):s.dispatchEvent(a)}var Qc=0;function P3(){N.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Z1()),document.body.insertAdjacentElement("beforeend",e[1]??Z1()),Qc++,()=>{Qc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Qc--}},[])}function Z1(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Zc="focusScope.autoFocusOnMount",Jc="focusScope.autoFocusOnUnmount",J1={bubbles:!1,cancelable:!0},T3="FocusScope",e_=N.forwardRef((e,t)=>{const{loop:r=!1,trapped:o=!1,onMountAutoFocus:s,onUnmountAutoFocus:a,...l}=e,[u,f]=N.useState(null),d=Ur(s),h=Ur(a),p=N.useRef(null),m=et(t,y=>f(y)),w=N.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;N.useEffect(()=>{if(o){let y=function(_){if(w.paused||!u)return;const k=_.target;u.contains(k)?p.current=k:lr(p.current,{select:!0})},x=function(_){if(w.paused||!u)return;const k=_.relatedTarget;k!==null&&(u.contains(k)||lr(p.current,{select:!0}))},b=function(_){if(document.activeElement===document.body)for(const R of _)R.removedNodes.length>0&&lr(u)};document.addEventListener("focusin",y),document.addEventListener("focusout",x);const C=new MutationObserver(b);return u&&C.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",x),C.disconnect()}}},[o,u,w.paused]),N.useEffect(()=>{if(u){r_.add(w);const y=document.activeElement;if(!u.contains(y)){const b=new CustomEvent(Zc,J1);u.addEventListener(Zc,d),u.dispatchEvent(b),b.defaultPrevented||(A3(D3(t_(u)),{select:!0}),document.activeElement===y&&lr(u))}return()=>{u.removeEventListener(Zc,d),setTimeout(()=>{const b=new CustomEvent(Jc,J1);u.addEventListener(Jc,h),u.dispatchEvent(b),b.defaultPrevented||lr(y??document.body,{select:!0}),u.removeEventListener(Jc,h),r_.remove(w)},0)}}},[u,d,h,w]);const E=N.useCallback(y=>{if(!r&&!o||w.paused)return;const x=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,b=document.activeElement;if(x&&b){const C=y.currentTarget,[_,k]=I3(C);_&&k?!y.shiftKey&&b===k?(y.preventDefault(),r&&lr(_,{select:!0})):y.shiftKey&&b===_&&(y.preventDefault(),r&&lr(k,{select:!0})):b===C&&y.preventDefault()}},[r,o,w.paused]);return I.jsx(Fe.div,{tabIndex:-1,...l,ref:m,onKeyDown:E})});e_.displayName=T3;function A3(e,{select:t=!1}={}){const r=document.activeElement;for(const o of e)if(lr(o,{select:t}),document.activeElement!==r)return}function I3(e){const t=t_(e),r=n_(t,e),o=n_(t.reverse(),e);return[r,o]}function t_(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const s=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||s?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function n_(e,t){for(const r of e)if(!M3(r,{upTo:t}))return r}function M3(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function O3(e){return e instanceof HTMLInputElement&&"select"in e}function lr(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&O3(e)&&t&&e.select()}}var r_=L3();function L3(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=o_(e,t),e.unshift(t)},remove(t){var r;e=o_(e,t),(r=e[0])==null||r.resume()}}}function o_(e,t){const r=[...e],o=r.indexOf(t);return o!==-1&&r.splice(o,1),r}function D3(e){return e.filter(t=>t.tagName!=="A")}var j3=Ju[" useId ".trim().toString()]||(()=>{}),q3=0;function ef(e){const[t,r]=N.useState(j3());return ht(()=>{r(o=>o??String(q3++))},[e]),e||(t?`radix-${t}`:"")}const z3=["top","right","bottom","left"],ur=Math.min,It=Math.max,Ua=Math.round,Ga=Math.floor,Cn=e=>({x:e,y:e}),F3={left:"right",right:"left",bottom:"top",top:"bottom"},$3={start:"end",end:"start"};function tf(e,t,r){return It(e,ur(t,r))}function Bn(e,t){return typeof e=="function"?e(t):e}function Vn(e){return e.split("-")[0]}function Lo(e){return e.split("-")[1]}function nf(e){return e==="x"?"y":"x"}function rf(e){return e==="y"?"height":"width"}const B3=new Set(["top","bottom"]);function kn(e){return B3.has(Vn(e))?"y":"x"}function of(e){return nf(kn(e))}function V3(e,t,r){r===void 0&&(r=!1);const o=Lo(e),s=of(e),a=rf(s);let l=s==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=Ya(l)),[l,Ya(l)]}function H3(e){const t=Ya(e);return[sf(e),t,sf(t)]}function sf(e){return e.replace(/start|end/g,t=>$3[t])}const i_=["left","right"],s_=["right","left"],W3=["top","bottom"],U3=["bottom","top"];function G3(e,t,r){switch(e){case"top":case"bottom":return r?t?s_:i_:t?i_:s_;case"left":case"right":return t?W3:U3;default:return[]}}function Y3(e,t,r,o){const s=Lo(e);let a=G3(Vn(e),r==="start",o);return s&&(a=a.map(l=>l+"-"+s),t&&(a=a.concat(a.map(sf)))),a}function Ya(e){return e.replace(/left|right|bottom|top/g,t=>F3[t])}function K3(e){return{top:0,right:0,bottom:0,left:0,...e}}function a_(e){return typeof e!="number"?K3(e):{top:e,right:e,bottom:e,left:e}}function Ka(e){const{x:t,y:r,width:o,height:s}=e;return{width:o,height:s,top:r,left:t,right:t+o,bottom:r+s,x:t,y:r}}function l_(e,t,r){let{reference:o,floating:s}=e;const a=kn(t),l=of(t),u=rf(l),f=Vn(t),d=a==="y",h=o.x+o.width/2-s.width/2,p=o.y+o.height/2-s.height/2,m=o[u]/2-s[u]/2;let w;switch(f){case"top":w={x:h,y:o.y-s.height};break;case"bottom":w={x:h,y:o.y+o.height};break;case"right":w={x:o.x+o.width,y:p};break;case"left":w={x:o.x-s.width,y:p};break;default:w={x:o.x,y:o.y}}switch(Lo(t)){case"start":w[l]-=m*(r&&d?-1:1);break;case"end":w[l]+=m*(r&&d?-1:1);break}return w}const X3=async(e,t,r)=>{const{placement:o="bottom",strategy:s="absolute",middleware:a=[],platform:l}=r,u=a.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(t));let d=await l.getElementRects({reference:e,floating:t,strategy:s}),{x:h,y:p}=l_(d,o,f),m=o,w={},E=0;for(let y=0;y({name:"arrow",options:e,async fn(t){const{x:r,y:o,placement:s,rects:a,platform:l,elements:u,middlewareData:f}=t,{element:d,padding:h=0}=Bn(e,t)||{};if(d==null)return{};const p=a_(h),m={x:r,y:o},w=of(s),E=rf(w),y=await l.getDimensions(d),x=w==="y",b=x?"top":"left",C=x?"bottom":"right",_=x?"clientHeight":"clientWidth",k=a.reference[E]+a.reference[w]-m[w]-a.floating[E],R=m[w]-a.reference[w],T=await(l.getOffsetParent==null?void 0:l.getOffsetParent(d));let A=T?T[_]:0;(!A||!await(l.isElement==null?void 0:l.isElement(T)))&&(A=u.floating[_]||a.floating[E]);const O=k/2-R/2,j=A/2-y[E]/2-1,G=ur(p[b],j),B=ur(p[C],j),V=G,X=A-y[E]-B,L=A/2-y[E]/2+O,H=tf(V,L,X),$=!f.arrow&&Lo(s)!=null&&L!==H&&a.reference[E]/2-(LL<=0)){var B,V;const L=(((B=a.flip)==null?void 0:B.index)||0)+1,H=A[L];if(H&&(!(p==="alignment"?C!==kn(H):!1)||G.every(M=>kn(M.placement)===C?M.overflows[0]>0:!0)))return{data:{index:L,overflows:G},reset:{placement:H}};let $=(V=G.filter(Y=>Y.overflows[0]<=0).sort((Y,M)=>Y.overflows[1]-M.overflows[1])[0])==null?void 0:V.placement;if(!$)switch(w){case"bestFit":{var X;const Y=(X=G.filter(M=>{if(T){const q=kn(M.placement);return q===C||q==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(q=>q>0).reduce((q,Q)=>q+Q,0)]).sort((M,q)=>M[1]-q[1])[0])==null?void 0:X[0];Y&&($=Y);break}case"initialPlacement":$=u;break}if(s!==$)return{reset:{placement:$}}}return{}}}};function u_(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function c_(e){return z3.some(t=>e[t]>=0)}const J3=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:o="referenceHidden",...s}=Bn(e,t);switch(o){case"referenceHidden":{const a=await Ji(t,{...s,elementContext:"reference"}),l=u_(a,r.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:c_(l)}}}case"escaped":{const a=await Ji(t,{...s,altBoundary:!0}),l=u_(a,r.floating);return{data:{escapedOffsets:l,escaped:c_(l)}}}default:return{}}}}},f_=new Set(["left","top"]);async function ez(e,t){const{placement:r,platform:o,elements:s}=e,a=await(o.isRTL==null?void 0:o.isRTL(s.floating)),l=Vn(r),u=Lo(r),f=kn(r)==="y",d=f_.has(l)?-1:1,h=a&&f?-1:1,p=Bn(t,e);let{mainAxis:m,crossAxis:w,alignmentAxis:E}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return u&&typeof E=="number"&&(w=u==="end"?E*-1:E),f?{x:w*h,y:m*d}:{x:m*d,y:w*h}}const tz=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,o;const{x:s,y:a,placement:l,middlewareData:u}=t,f=await ez(t,e);return l===((r=u.offset)==null?void 0:r.placement)&&(o=u.arrow)!=null&&o.alignmentOffset?{}:{x:s+f.x,y:a+f.y,data:{...f,placement:l}}}}},nz=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:o,placement:s}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:x=>{let{x:b,y:C}=x;return{x:b,y:C}}},...f}=Bn(e,t),d={x:r,y:o},h=await Ji(t,f),p=kn(Vn(s)),m=nf(p);let w=d[m],E=d[p];if(a){const x=m==="y"?"top":"left",b=m==="y"?"bottom":"right",C=w+h[x],_=w-h[b];w=tf(C,w,_)}if(l){const x=p==="y"?"top":"left",b=p==="y"?"bottom":"right",C=E+h[x],_=E-h[b];E=tf(C,E,_)}const y=u.fn({...t,[m]:w,[p]:E});return{...y,data:{x:y.x-r,y:y.y-o,enabled:{[m]:a,[p]:l}}}}}},rz=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:o,placement:s,rects:a,middlewareData:l}=t,{offset:u=0,mainAxis:f=!0,crossAxis:d=!0}=Bn(e,t),h={x:r,y:o},p=kn(s),m=nf(p);let w=h[m],E=h[p];const y=Bn(u,t),x=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const _=m==="y"?"height":"width",k=a.reference[m]-a.floating[_]+x.mainAxis,R=a.reference[m]+a.reference[_]-x.mainAxis;wR&&(w=R)}if(d){var b,C;const _=m==="y"?"width":"height",k=f_.has(Vn(s)),R=a.reference[p]-a.floating[_]+(k&&((b=l.offset)==null?void 0:b[p])||0)+(k?0:x.crossAxis),T=a.reference[p]+a.reference[_]+(k?0:((C=l.offset)==null?void 0:C[p])||0)-(k?x.crossAxis:0);ET&&(E=T)}return{[m]:w,[p]:E}}}},oz=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,o;const{placement:s,rects:a,platform:l,elements:u}=t,{apply:f=()=>{},...d}=Bn(e,t),h=await Ji(t,d),p=Vn(s),m=Lo(s),w=kn(s)==="y",{width:E,height:y}=a.floating;let x,b;p==="top"||p==="bottom"?(x=p,b=m===(await(l.isRTL==null?void 0:l.isRTL(u.floating))?"start":"end")?"left":"right"):(b=p,x=m==="end"?"top":"bottom");const C=y-h.top-h.bottom,_=E-h.left-h.right,k=ur(y-h[x],C),R=ur(E-h[b],_),T=!t.middlewareData.shift;let A=k,O=R;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(O=_),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(A=C),T&&!m){const G=It(h.left,0),B=It(h.right,0),V=It(h.top,0),X=It(h.bottom,0);w?O=E-2*(G!==0||B!==0?G+B:It(h.left,h.right)):A=y-2*(V!==0||X!==0?V+X:It(h.top,h.bottom))}await f({...t,availableWidth:O,availableHeight:A});const j=await l.getDimensions(u.floating);return E!==j.width||y!==j.height?{reset:{rects:!0}}:{}}}};function Xa(){return typeof window<"u"}function Do(e){return d_(e)?(e.nodeName||"").toLowerCase():"#document"}function Mt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Nn(e){var t;return(t=(d_(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function d_(e){return Xa()?e instanceof Node||e instanceof Mt(e).Node:!1}function ln(e){return Xa()?e instanceof Element||e instanceof Mt(e).Element:!1}function Rn(e){return Xa()?e instanceof HTMLElement||e instanceof Mt(e).HTMLElement:!1}function h_(e){return!Xa()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Mt(e).ShadowRoot}const iz=new Set(["inline","contents"]);function es(e){const{overflow:t,overflowX:r,overflowY:o,display:s}=un(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&!iz.has(s)}const sz=new Set(["table","td","th"]);function az(e){return sz.has(Do(e))}const lz=[":popover-open",":modal"];function Qa(e){return lz.some(t=>{try{return e.matches(t)}catch{return!1}})}const uz=["transform","translate","scale","rotate","perspective"],cz=["transform","translate","scale","rotate","perspective","filter"],fz=["paint","layout","strict","content"];function af(e){const t=lf(),r=ln(e)?un(e):e;return uz.some(o=>r[o]?r[o]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||cz.some(o=>(r.willChange||"").includes(o))||fz.some(o=>(r.contain||"").includes(o))}function dz(e){let t=cr(e);for(;Rn(t)&&!jo(t);){if(af(t))return t;if(Qa(t))return null;t=cr(t)}return null}function lf(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const hz=new Set(["html","body","#document"]);function jo(e){return hz.has(Do(e))}function un(e){return Mt(e).getComputedStyle(e)}function Za(e){return ln(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function cr(e){if(Do(e)==="html")return e;const t=e.assignedSlot||e.parentNode||h_(e)&&e.host||Nn(e);return h_(t)?t.host:t}function p_(e){const t=cr(e);return jo(t)?e.ownerDocument?e.ownerDocument.body:e.body:Rn(t)&&es(t)?t:p_(t)}function ts(e,t,r){var o;t===void 0&&(t=[]),r===void 0&&(r=!0);const s=p_(e),a=s===((o=e.ownerDocument)==null?void 0:o.body),l=Mt(s);if(a){const u=uf(l);return t.concat(l,l.visualViewport||[],es(s)?s:[],u&&r?ts(u):[])}return t.concat(s,ts(s,[],r))}function uf(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function g_(e){const t=un(e);let r=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const s=Rn(e),a=s?e.offsetWidth:r,l=s?e.offsetHeight:o,u=Ua(r)!==a||Ua(o)!==l;return u&&(r=a,o=l),{width:r,height:o,$:u}}function cf(e){return ln(e)?e:e.contextElement}function qo(e){const t=cf(e);if(!Rn(t))return Cn(1);const r=t.getBoundingClientRect(),{width:o,height:s,$:a}=g_(t);let l=(a?Ua(r.width):r.width)/o,u=(a?Ua(r.height):r.height)/s;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}const pz=Cn(0);function m_(e){const t=Mt(e);return!lf()||!t.visualViewport?pz:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function gz(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==Mt(e)?!1:t}function Gr(e,t,r,o){t===void 0&&(t=!1),r===void 0&&(r=!1);const s=e.getBoundingClientRect(),a=cf(e);let l=Cn(1);t&&(o?ln(o)&&(l=qo(o)):l=qo(e));const u=gz(a,r,o)?m_(a):Cn(0);let f=(s.left+u.x)/l.x,d=(s.top+u.y)/l.y,h=s.width/l.x,p=s.height/l.y;if(a){const m=Mt(a),w=o&&ln(o)?Mt(o):o;let E=m,y=uf(E);for(;y&&o&&w!==E;){const x=qo(y),b=y.getBoundingClientRect(),C=un(y),_=b.left+(y.clientLeft+parseFloat(C.paddingLeft))*x.x,k=b.top+(y.clientTop+parseFloat(C.paddingTop))*x.y;f*=x.x,d*=x.y,h*=x.x,p*=x.y,f+=_,d+=k,E=Mt(y),y=uf(E)}}return Ka({width:h,height:p,x:f,y:d})}function Ja(e,t){const r=Za(e).scrollLeft;return t?t.left+r:Gr(Nn(e)).left+r}function v_(e,t){const r=e.getBoundingClientRect(),o=r.left+t.scrollLeft-Ja(e,r),s=r.top+t.scrollTop;return{x:o,y:s}}function mz(e){let{elements:t,rect:r,offsetParent:o,strategy:s}=e;const a=s==="fixed",l=Nn(o),u=t?Qa(t.floating):!1;if(o===l||u&&a)return r;let f={scrollLeft:0,scrollTop:0},d=Cn(1);const h=Cn(0),p=Rn(o);if((p||!p&&!a)&&((Do(o)!=="body"||es(l))&&(f=Za(o)),Rn(o))){const w=Gr(o);d=qo(o),h.x=w.x+o.clientLeft,h.y=w.y+o.clientTop}const m=l&&!p&&!a?v_(l,f):Cn(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-f.scrollLeft*d.x+h.x+m.x,y:r.y*d.y-f.scrollTop*d.y+h.y+m.y}}function vz(e){return Array.from(e.getClientRects())}function yz(e){const t=Nn(e),r=Za(e),o=e.ownerDocument.body,s=It(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),a=It(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-r.scrollLeft+Ja(e);const u=-r.scrollTop;return un(o).direction==="rtl"&&(l+=It(t.clientWidth,o.clientWidth)-s),{width:s,height:a,x:l,y:u}}const y_=25;function wz(e,t){const r=Mt(e),o=Nn(e),s=r.visualViewport;let a=o.clientWidth,l=o.clientHeight,u=0,f=0;if(s){a=s.width,l=s.height;const h=lf();(!h||h&&t==="fixed")&&(u=s.offsetLeft,f=s.offsetTop)}const d=Ja(o);if(d<=0){const h=o.ownerDocument,p=h.body,m=getComputedStyle(p),w=h.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,E=Math.abs(o.clientWidth-p.clientWidth-w);E<=y_&&(a-=E)}else d<=y_&&(a+=d);return{width:a,height:l,x:u,y:f}}const xz=new Set(["absolute","fixed"]);function _z(e,t){const r=Gr(e,!0,t==="fixed"),o=r.top+e.clientTop,s=r.left+e.clientLeft,a=Rn(e)?qo(e):Cn(1),l=e.clientWidth*a.x,u=e.clientHeight*a.y,f=s*a.x,d=o*a.y;return{width:l,height:u,x:f,y:d}}function w_(e,t,r){let o;if(t==="viewport")o=wz(e,r);else if(t==="document")o=yz(Nn(e));else if(ln(t))o=_z(t,r);else{const s=m_(e);o={x:t.x-s.x,y:t.y-s.y,width:t.width,height:t.height}}return Ka(o)}function x_(e,t){const r=cr(e);return r===t||!ln(r)||jo(r)?!1:un(r).position==="fixed"||x_(r,t)}function bz(e,t){const r=t.get(e);if(r)return r;let o=ts(e,[],!1).filter(u=>ln(u)&&Do(u)!=="body"),s=null;const a=un(e).position==="fixed";let l=a?cr(e):e;for(;ln(l)&&!jo(l);){const u=un(l),f=af(l);!f&&u.position==="fixed"&&(s=null),(a?!f&&!s:!f&&u.position==="static"&&!!s&&xz.has(s.position)||es(l)&&!f&&x_(e,l))?o=o.filter(h=>h!==l):s=u,l=cr(l)}return t.set(e,o),o}function Sz(e){let{element:t,boundary:r,rootBoundary:o,strategy:s}=e;const l=[...r==="clippingAncestors"?Qa(t)?[]:bz(t,this._c):[].concat(r),o],u=l[0],f=l.reduce((d,h)=>{const p=w_(t,h,s);return d.top=It(p.top,d.top),d.right=ur(p.right,d.right),d.bottom=ur(p.bottom,d.bottom),d.left=It(p.left,d.left),d},w_(t,u,s));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Ez(e){const{width:t,height:r}=g_(e);return{width:t,height:r}}function Cz(e,t,r){const o=Rn(t),s=Nn(t),a=r==="fixed",l=Gr(e,!0,a,t);let u={scrollLeft:0,scrollTop:0};const f=Cn(0);function d(){f.x=Ja(s)}if(o||!o&&!a)if((Do(t)!=="body"||es(s))&&(u=Za(t)),o){const w=Gr(t,!0,a,t);f.x=w.x+t.clientLeft,f.y=w.y+t.clientTop}else s&&d();a&&!o&&s&&d();const h=s&&!o&&!a?v_(s,u):Cn(0),p=l.left+u.scrollLeft-f.x-h.x,m=l.top+u.scrollTop-f.y-h.y;return{x:p,y:m,width:l.width,height:l.height}}function ff(e){return un(e).position==="static"}function __(e,t){if(!Rn(e)||un(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return Nn(e)===r&&(r=r.ownerDocument.body),r}function b_(e,t){const r=Mt(e);if(Qa(e))return r;if(!Rn(e)){let s=cr(e);for(;s&&!jo(s);){if(ln(s)&&!ff(s))return s;s=cr(s)}return r}let o=__(e,t);for(;o&&az(o)&&ff(o);)o=__(o,t);return o&&jo(o)&&ff(o)&&!af(o)?r:o||dz(e)||r}const kz=async function(e){const t=this.getOffsetParent||b_,r=this.getDimensions,o=await r(e.floating);return{reference:Cz(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Nz(e){return un(e).direction==="rtl"}const Rz={convertOffsetParentRelativeRectToViewportRelativeRect:mz,getDocumentElement:Nn,getClippingRect:Sz,getOffsetParent:b_,getElementRects:kz,getClientRects:vz,getDimensions:Ez,getScale:qo,isElement:ln,isRTL:Nz};function S_(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Pz(e,t){let r=null,o;const s=Nn(e);function a(){var u;clearTimeout(o),(u=r)==null||u.disconnect(),r=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),a();const d=e.getBoundingClientRect(),{left:h,top:p,width:m,height:w}=d;if(u||t(),!m||!w)return;const E=Ga(p),y=Ga(s.clientWidth-(h+m)),x=Ga(s.clientHeight-(p+w)),b=Ga(h),_={rootMargin:-E+"px "+-y+"px "+-x+"px "+-b+"px",threshold:It(0,ur(1,f))||1};let k=!0;function R(T){const A=T[0].intersectionRatio;if(A!==f){if(!k)return l();A?l(!1,A):o=setTimeout(()=>{l(!1,1e-7)},1e3)}A===1&&!S_(d,e.getBoundingClientRect())&&l(),k=!1}try{r=new IntersectionObserver(R,{..._,root:s.ownerDocument})}catch{r=new IntersectionObserver(R,_)}r.observe(e)}return l(!0),a}function Tz(e,t,r,o){o===void 0&&(o={});const{ancestorScroll:s=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=o,d=cf(e),h=s||a?[...d?ts(d):[],...ts(t)]:[];h.forEach(b=>{s&&b.addEventListener("scroll",r,{passive:!0}),a&&b.addEventListener("resize",r)});const p=d&&u?Pz(d,r):null;let m=-1,w=null;l&&(w=new ResizeObserver(b=>{let[C]=b;C&&C.target===d&&w&&(w.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var _;(_=w)==null||_.observe(t)})),r()}),d&&!f&&w.observe(d),w.observe(t));let E,y=f?Gr(e):null;f&&x();function x(){const b=Gr(e);y&&!S_(y,b)&&r(),y=b,E=requestAnimationFrame(x)}return r(),()=>{var b;h.forEach(C=>{s&&C.removeEventListener("scroll",r),a&&C.removeEventListener("resize",r)}),p==null||p(),(b=w)==null||b.disconnect(),w=null,f&&cancelAnimationFrame(E)}}const Az=tz,Iz=nz,Mz=Z3,Oz=oz,Lz=J3,E_=Q3,Dz=rz,jz=(e,t,r)=>{const o=new Map,s={platform:Rz,...r},a={...s.platform,_c:o};return X3(e,t,{...s,platform:a})};var qz=typeof document<"u",zz=function(){},el=qz?N.useLayoutEffect:zz;function tl(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,o,s;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(o=r;o--!==0;)if(!tl(e[o],t[o]))return!1;return!0}if(s=Object.keys(e),r=s.length,r!==Object.keys(t).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(t,s[o]))return!1;for(o=r;o--!==0;){const a=s[o];if(!(a==="_owner"&&e.$$typeof)&&!tl(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function C_(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function k_(e,t){const r=C_(e);return Math.round(t*r)/r}function df(e){const t=N.useRef(e);return el(()=>{t.current=e}),t}function Fz(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:o=[],platform:s,elements:{reference:a,floating:l}={},transform:u=!0,whileElementsMounted:f,open:d}=e,[h,p]=N.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,w]=N.useState(o);tl(m,o)||w(o);const[E,y]=N.useState(null),[x,b]=N.useState(null),C=N.useCallback(M=>{M!==T.current&&(T.current=M,y(M))},[]),_=N.useCallback(M=>{M!==A.current&&(A.current=M,b(M))},[]),k=a||E,R=l||x,T=N.useRef(null),A=N.useRef(null),O=N.useRef(h),j=f!=null,G=df(f),B=df(s),V=df(d),X=N.useCallback(()=>{if(!T.current||!A.current)return;const M={placement:t,strategy:r,middleware:m};B.current&&(M.platform=B.current),jz(T.current,A.current,M).then(q=>{const Q={...q,isPositioned:V.current!==!1};L.current&&!tl(O.current,Q)&&(O.current=Q,Gi.flushSync(()=>{p(Q)}))})},[m,t,r,B,V]);el(()=>{d===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,p(M=>({...M,isPositioned:!1})))},[d]);const L=N.useRef(!1);el(()=>(L.current=!0,()=>{L.current=!1}),[]),el(()=>{if(k&&(T.current=k),R&&(A.current=R),k&&R){if(G.current)return G.current(k,R,X);X()}},[k,R,X,G,j]);const H=N.useMemo(()=>({reference:T,floating:A,setReference:C,setFloating:_}),[C,_]),$=N.useMemo(()=>({reference:k,floating:R}),[k,R]),Y=N.useMemo(()=>{const M={position:r,left:0,top:0};if(!$.floating)return M;const q=k_($.floating,h.x),Q=k_($.floating,h.y);return u?{...M,transform:"translate("+q+"px, "+Q+"px)",...C_($.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:q,top:Q}},[r,u,$.floating,h.x,h.y]);return N.useMemo(()=>({...h,update:X,refs:H,elements:$,floatingStyles:Y}),[h,X,H,$,Y])}const $z=e=>{function t(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:e,fn(r){const{element:o,padding:s}=typeof e=="function"?e(r):e;return o&&t(o)?o.current!=null?E_({element:o.current,padding:s}).fn(r):{}:o?E_({element:o,padding:s}).fn(r):{}}}},Bz=(e,t)=>({...Az(e),options:[e,t]}),Vz=(e,t)=>({...Iz(e),options:[e,t]}),Hz=(e,t)=>({...Dz(e),options:[e,t]}),Wz=(e,t)=>({...Mz(e),options:[e,t]}),Uz=(e,t)=>({...Oz(e),options:[e,t]}),Gz=(e,t)=>({...Lz(e),options:[e,t]}),Yz=(e,t)=>({...$z(e),options:[e,t]});var Kz="Arrow",N_=N.forwardRef((e,t)=>{const{children:r,width:o=10,height:s=5,...a}=e;return I.jsx(Fe.svg,{...a,ref:t,width:o,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:I.jsx("polygon",{points:"0,0 30,0 15,10"})})});N_.displayName=Kz;var Xz=N_,hf="Popper",[R_,P_]=Va(hf),[Qz,T_]=R_(hf),A_=e=>{const{__scopePopper:t,children:r}=e,[o,s]=N.useState(null);return I.jsx(Qz,{scope:t,anchor:o,onAnchorChange:s,children:r})};A_.displayName=hf;var I_="PopperAnchor",M_=N.forwardRef((e,t)=>{const{__scopePopper:r,virtualRef:o,...s}=e,a=T_(I_,r),l=N.useRef(null),u=et(t,l),f=N.useRef(null);return N.useEffect(()=>{const d=f.current;f.current=(o==null?void 0:o.current)||l.current,d!==f.current&&a.onAnchorChange(f.current)}),o?null:I.jsx(Fe.div,{...s,ref:u})});M_.displayName=I_;var pf="PopperContent",[Zz,Jz]=R_(pf),O_=N.forwardRef((e,t)=>{var K,te,se,ae,ce,de;const{__scopePopper:r,side:o="bottom",sideOffset:s=0,align:a="center",alignOffset:l=0,arrowPadding:u=0,avoidCollisions:f=!0,collisionBoundary:d=[],collisionPadding:h=0,sticky:p="partial",hideWhenDetached:m=!1,updatePositionStrategy:w="optimized",onPlaced:E,...y}=e,x=T_(pf,r),[b,C]=N.useState(null),_=et(t,pe=>C(pe)),[k,R]=N.useState(null),T=T1(k),A=(T==null?void 0:T.width)??0,O=(T==null?void 0:T.height)??0,j=o+(a!=="center"?"-"+a:""),G=typeof h=="number"?h:{top:0,right:0,bottom:0,left:0,...h},B=Array.isArray(d)?d:[d],V=B.length>0,X={padding:G,boundary:B.filter(tF),altBoundary:V},{refs:L,floatingStyles:H,placement:$,isPositioned:Y,middlewareData:M}=Fz({strategy:"fixed",placement:j,whileElementsMounted:(...pe)=>Tz(...pe,{animationFrame:w==="always"}),elements:{reference:x.anchor},middleware:[Bz({mainAxis:s+O,alignmentAxis:l}),f&&Vz({mainAxis:!0,crossAxis:!1,limiter:p==="partial"?Hz():void 0,...X}),f&&Wz({...X}),Uz({...X,apply:({elements:pe,rects:be,availableWidth:me,availableHeight:Re})=>{const{width:Ee,height:Qe}=be.reference,He=pe.floating.style;He.setProperty("--radix-popper-available-width",`${me}px`),He.setProperty("--radix-popper-available-height",`${Re}px`),He.setProperty("--radix-popper-anchor-width",`${Ee}px`),He.setProperty("--radix-popper-anchor-height",`${Qe}px`)}}),k&&Yz({element:k,padding:u}),nF({arrowWidth:A,arrowHeight:O}),m&&Gz({strategy:"referenceHidden",...X})]}),[q,Q]=j_($),D=Ur(E);ht(()=>{Y&&(D==null||D())},[Y,D]);const W=(K=M.arrow)==null?void 0:K.x,ie=(te=M.arrow)==null?void 0:te.y,F=((se=M.arrow)==null?void 0:se.centerOffset)!==0,[Z,ee]=N.useState();return ht(()=>{b&&ee(window.getComputedStyle(b).zIndex)},[b]),I.jsx("div",{ref:L.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:Y?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Z,"--radix-popper-transform-origin":[(ae=M.transformOrigin)==null?void 0:ae.x,(ce=M.transformOrigin)==null?void 0:ce.y].join(" "),...((de=M.hide)==null?void 0:de.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:I.jsx(Zz,{scope:r,placedSide:q,onArrowChange:R,arrowX:W,arrowY:ie,shouldHideArrow:F,children:I.jsx(Fe.div,{"data-side":q,"data-align":Q,...y,ref:_,style:{...y.style,animation:Y?void 0:"none"}})})})});O_.displayName=pf;var L_="PopperArrow",eF={top:"bottom",right:"left",bottom:"top",left:"right"},D_=N.forwardRef(function(t,r){const{__scopePopper:o,...s}=t,a=Jz(L_,o),l=eF[a.placedSide];return I.jsx("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[l]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:I.jsx(Xz,{...s,ref:r,style:{...s.style,display:"block"}})})});D_.displayName=L_;function tF(e){return e!==null}var nF=e=>({name:"transformOrigin",options:e,fn(t){var x,b,C;const{placement:r,rects:o,middlewareData:s}=t,l=((x=s.arrow)==null?void 0:x.centerOffset)!==0,u=l?0:e.arrowWidth,f=l?0:e.arrowHeight,[d,h]=j_(r),p={start:"0%",center:"50%",end:"100%"}[h],m=(((b=s.arrow)==null?void 0:b.x)??0)+u/2,w=(((C=s.arrow)==null?void 0:C.y)??0)+f/2;let E="",y="";return d==="bottom"?(E=l?p:`${m}px`,y=`${-f}px`):d==="top"?(E=l?p:`${m}px`,y=`${o.floating.height+f}px`):d==="right"?(E=`${-f}px`,y=l?p:`${w}px`):d==="left"&&(E=`${o.floating.width+f}px`,y=l?p:`${w}px`),{data:{x:E,y}}}});function j_(e){const[t,r="center"]=e.split("-");return[t,r]}var rF=A_,oF=M_,iF=O_,sF=D_,aF="Portal",q_=N.forwardRef((e,t)=>{var u;const{container:r,...o}=e,[s,a]=N.useState(!1);ht(()=>a(!0),[]);const l=r||s&&((u=globalThis==null?void 0:globalThis.document)==null?void 0:u.body);return l?AL.createPortal(I.jsx(Fe.div,{...o,ref:t}),l):null});q_.displayName=aF;function lF(e){const t=uF(e),r=N.forwardRef((o,s)=>{const{children:a,...l}=o,u=N.Children.toArray(a),f=u.find(fF);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}function uF(e){const t=N.forwardRef((r,o)=>{const{children:s,...a}=r;if(N.isValidElement(s)){const l=hF(s),u=dF(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var cF=Symbol("radix.slottable");function fF(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===cF}function dF(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function hF(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var z_=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),pF="VisuallyHidden",gF=N.forwardRef((e,t)=>I.jsx(Fe.span,{...e,ref:t,style:{...z_,...e.style}}));gF.displayName=pF;var mF=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},zo=new WeakMap,nl=new WeakMap,rl={},gf=0,F_=function(e){return e&&(e.host||F_(e.parentNode))},vF=function(e,t){return t.map(function(r){if(e.contains(r))return r;var o=F_(r);return o&&e.contains(o)?o:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},yF=function(e,t,r,o){var s=vF(t,Array.isArray(e)?e:[e]);rl[r]||(rl[r]=new WeakMap);var a=rl[r],l=[],u=new Set,f=new Set(s),d=function(p){!p||u.has(p)||(u.add(p),d(p.parentNode))};s.forEach(d);var h=function(p){!p||f.has(p)||Array.prototype.forEach.call(p.children,function(m){if(u.has(m))h(m);else try{var w=m.getAttribute(o),E=w!==null&&w!=="false",y=(zo.get(m)||0)+1,x=(a.get(m)||0)+1;zo.set(m,y),a.set(m,x),l.push(m),y===1&&E&&nl.set(m,!0),x===1&&m.setAttribute(r,"true"),E||m.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",m,b)}})};return h(t),u.clear(),gf++,function(){l.forEach(function(p){var m=zo.get(p)-1,w=a.get(p)-1;zo.set(p,m),a.set(p,w),m||(nl.has(p)||p.removeAttribute(o),nl.delete(p)),w||p.removeAttribute(r)}),gf--,gf||(zo=new WeakMap,zo=new WeakMap,nl=new WeakMap,rl={})}},wF=function(e,t,r){r===void 0&&(r="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),s=mF(e);return s?(o.push.apply(o,Array.from(s.querySelectorAll("[aria-live], script"))),yF(o,s,r,"aria-hidden")):function(){return null}},Pn=function(){return Pn=Object.assign||function(t){for(var r,o=1,s=arguments.length;o"u")return DF;var t=jF(e),r=document.documentElement.clientWidth,o=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-r+t[2]-t[0])}},zF=W_(),Fo="data-scroll-locked",FF=function(e,t,r,o){var s=e.left,a=e.top,l=e.right,u=e.gap;return r===void 0&&(r="margin"),` + .`.concat(_F,` { + overflow: hidden `).concat(o,`; + padding-right: `).concat(u,"px ").concat(o,`; + } + body[`).concat(Fo,`] { + overflow: hidden `).concat(o,`; + overscroll-behavior: contain; + `).concat([t&&"position: relative ".concat(o,";"),r==="margin"&&` + padding-left: `.concat(s,`px; + padding-top: `).concat(a,`px; + padding-right: `).concat(l,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(u,"px ").concat(o,`; + `),r==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),` + } + + .`).concat(ol,` { + right: `).concat(u,"px ").concat(o,`; + } + + .`).concat(il,` { + margin-right: `).concat(u,"px ").concat(o,`; + } + + .`).concat(ol," .").concat(ol,` { + right: 0 `).concat(o,`; + } + + .`).concat(il," .").concat(il,` { + margin-right: 0 `).concat(o,`; + } + + body[`).concat(Fo,`] { + `).concat(bF,": ").concat(u,`px; + } +`)},U_=function(){var e=parseInt(document.body.getAttribute(Fo)||"0",10);return isFinite(e)?e:0},$F=function(){N.useEffect(function(){return document.body.setAttribute(Fo,(U_()+1).toString()),function(){var e=U_()-1;e<=0?document.body.removeAttribute(Fo):document.body.setAttribute(Fo,e.toString())}},[])},BF=function(e){var t=e.noRelative,r=e.noImportant,o=e.gapMode,s=o===void 0?"margin":o;$F();var a=N.useMemo(function(){return qF(s)},[s]);return N.createElement(zF,{styles:FF(a,!t,s,r?"":"!important")})},wf=!1;if(typeof window<"u")try{var al=Object.defineProperty({},"passive",{get:function(){return wf=!0,!0}});window.addEventListener("test",al,al),window.removeEventListener("test",al,al)}catch{wf=!1}var $o=wf?{passive:!1}:!1,VF=function(e){return e.tagName==="TEXTAREA"},G_=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return r[t]!=="hidden"&&!(r.overflowY===r.overflowX&&!VF(e)&&r[t]==="visible")},HF=function(e){return G_(e,"overflowY")},WF=function(e){return G_(e,"overflowX")},Y_=function(e,t){var r=t.ownerDocument,o=t;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var s=K_(e,o);if(s){var a=X_(e,o),l=a[1],u=a[2];if(l>u)return!0}o=o.parentNode}while(o&&o!==r.body);return!1},UF=function(e){var t=e.scrollTop,r=e.scrollHeight,o=e.clientHeight;return[t,r,o]},GF=function(e){var t=e.scrollLeft,r=e.scrollWidth,o=e.clientWidth;return[t,r,o]},K_=function(e,t){return e==="v"?HF(t):WF(t)},X_=function(e,t){return e==="v"?UF(t):GF(t)},YF=function(e,t){return e==="h"&&t==="rtl"?-1:1},KF=function(e,t,r,o,s){var a=YF(e,window.getComputedStyle(t).direction),l=a*o,u=r.target,f=t.contains(u),d=!1,h=l>0,p=0,m=0;do{if(!u)break;var w=X_(e,u),E=w[0],y=w[1],x=w[2],b=y-x-a*E;(E||b)&&K_(e,u)&&(p+=b,m+=E);var C=u.parentNode;u=C&&C.nodeType===Node.DOCUMENT_FRAGMENT_NODE?C.host:C}while(!f&&u!==document.body||f&&(t.contains(u)||t===u));return(h&&Math.abs(p)<1||!h&&Math.abs(m)<1)&&(d=!0),d},ll=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Q_=function(e){return[e.deltaX,e.deltaY]},Z_=function(e){return e&&"current"in e?e.current:e},XF=function(e,t){return e[0]===t[0]&&e[1]===t[1]},QF=function(e){return` + .block-interactivity-`.concat(e,` {pointer-events: none;} + .allow-interactivity-`).concat(e,` {pointer-events: all;} +`)},ZF=0,Bo=[];function JF(e){var t=N.useRef([]),r=N.useRef([0,0]),o=N.useRef(),s=N.useState(ZF++)[0],a=N.useState(W_)[0],l=N.useRef(e);N.useEffect(function(){l.current=e},[e]),N.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(s));var y=xF([e.lockRef.current],(e.shards||[]).map(Z_),!0).filter(Boolean);return y.forEach(function(x){return x.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),y.forEach(function(x){return x.classList.remove("allow-interactivity-".concat(s))})}}},[e.inert,e.lockRef.current,e.shards]);var u=N.useCallback(function(y,x){if("touches"in y&&y.touches.length===2||y.type==="wheel"&&y.ctrlKey)return!l.current.allowPinchZoom;var b=ll(y),C=r.current,_="deltaX"in y?y.deltaX:C[0]-b[0],k="deltaY"in y?y.deltaY:C[1]-b[1],R,T=y.target,A=Math.abs(_)>Math.abs(k)?"h":"v";if("touches"in y&&A==="h"&&T.type==="range")return!1;var O=Y_(A,T);if(!O)return!0;if(O?R=A:(R=A==="v"?"h":"v",O=Y_(A,T)),!O)return!1;if(!o.current&&"changedTouches"in y&&(_||k)&&(o.current=R),!R)return!0;var j=o.current||R;return KF(j,x,y,j==="h"?_:k)},[]),f=N.useCallback(function(y){var x=y;if(!(!Bo.length||Bo[Bo.length-1]!==a)){var b="deltaY"in x?Q_(x):ll(x),C=t.current.filter(function(R){return R.name===x.type&&(R.target===x.target||x.target===R.shadowParent)&&XF(R.delta,b)})[0];if(C&&C.should){x.cancelable&&x.preventDefault();return}if(!C){var _=(l.current.shards||[]).map(Z_).filter(Boolean).filter(function(R){return R.contains(x.target)}),k=_.length>0?u(x,_[0]):!l.current.noIsolation;k&&x.cancelable&&x.preventDefault()}}},[]),d=N.useCallback(function(y,x,b,C){var _={name:y,delta:x,target:b,should:C,shadowParent:e4(b)};t.current.push(_),setTimeout(function(){t.current=t.current.filter(function(k){return k!==_})},1)},[]),h=N.useCallback(function(y){r.current=ll(y),o.current=void 0},[]),p=N.useCallback(function(y){d(y.type,Q_(y),y.target,u(y,e.lockRef.current))},[]),m=N.useCallback(function(y){d(y.type,ll(y),y.target,u(y,e.lockRef.current))},[]);N.useEffect(function(){return Bo.push(a),e.setCallbacks({onScrollCapture:p,onWheelCapture:p,onTouchMoveCapture:m}),document.addEventListener("wheel",f,$o),document.addEventListener("touchmove",f,$o),document.addEventListener("touchstart",h,$o),function(){Bo=Bo.filter(function(y){return y!==a}),document.removeEventListener("wheel",f,$o),document.removeEventListener("touchmove",f,$o),document.removeEventListener("touchstart",h,$o)}},[]);var w=e.removeScrollBar,E=e.inert;return N.createElement(N.Fragment,null,E?N.createElement(a,{styles:QF(s)}):null,w?N.createElement(BF,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function e4(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const t4=PF(H_,JF);var J_=N.forwardRef(function(e,t){return N.createElement(sl,Pn({},e,{ref:t,sideCar:t4}))});J_.classNames=sl.classNames;var n4=[" ","Enter","ArrowUp","ArrowDown"],r4=[" ","Enter"],Yr="Select",[ul,cl,o4]=y3(Yr),[Vo]=Va(Yr,[o4,P_]),fl=P_(),[i4,fr]=Vo(Yr),[s4,a4]=Vo(Yr),eb=e=>{const{__scopeSelect:t,children:r,open:o,defaultOpen:s,onOpenChange:a,value:l,defaultValue:u,onValueChange:f,dir:d,name:h,autoComplete:p,disabled:m,required:w,form:E}=e,y=fl(t),[x,b]=N.useState(null),[C,_]=N.useState(null),[k,R]=N.useState(!1),T=x3(d),[A,O]=Yc({prop:o,defaultProp:s??!1,onChange:a,caller:Yr}),[j,G]=Yc({prop:l,defaultProp:u,onChange:f,caller:Yr}),B=N.useRef(null),V=x?E||!!x.closest("form"):!0,[X,L]=N.useState(new Set),H=Array.from(X).map($=>$.props.value).join(";");return I.jsx(rF,{...y,children:I.jsxs(i4,{required:w,scope:t,trigger:x,onTriggerChange:b,valueNode:C,onValueNodeChange:_,valueNodeHasChildren:k,onValueNodeHasChildrenChange:R,contentId:ef(),value:j,onValueChange:G,open:A,onOpenChange:O,dir:T,triggerPointerDownPosRef:B,disabled:m,children:[I.jsx(ul.Provider,{scope:t,children:I.jsx(s4,{scope:e.__scopeSelect,onNativeOptionAdd:N.useCallback($=>{L(Y=>new Set(Y).add($))},[]),onNativeOptionRemove:N.useCallback($=>{L(Y=>{const M=new Set(Y);return M.delete($),M})},[]),children:r})}),V?I.jsxs(bb,{"aria-hidden":!0,required:w,tabIndex:-1,name:h,autoComplete:p,value:j,onChange:$=>G($.target.value),disabled:m,form:E,children:[j===void 0?I.jsx("option",{value:""}):null,Array.from(X)]},H):null]})})};eb.displayName=Yr;var tb="SelectTrigger",nb=N.forwardRef((e,t)=>{const{__scopeSelect:r,disabled:o=!1,...s}=e,a=fl(r),l=fr(tb,r),u=l.disabled||o,f=et(t,l.onTriggerChange),d=cl(r),h=N.useRef("touch"),[p,m,w]=Eb(y=>{const x=d().filter(_=>!_.disabled),b=x.find(_=>_.value===l.value),C=Cb(x,y,b);C!==void 0&&l.onValueChange(C.value)}),E=y=>{u||(l.onOpenChange(!0),w()),y&&(l.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return I.jsx(oF,{asChild:!0,...a,children:I.jsx(Fe.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":Sb(l.value)?"":void 0,...s,ref:f,onClick:Ke(s.onClick,y=>{y.currentTarget.focus(),h.current!=="mouse"&&E(y)}),onPointerDown:Ke(s.onPointerDown,y=>{h.current=y.pointerType;const x=y.target;x.hasPointerCapture(y.pointerId)&&x.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(E(y),y.preventDefault())}),onKeyDown:Ke(s.onKeyDown,y=>{const x=p.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&m(y.key),!(x&&y.key===" ")&&n4.includes(y.key)&&(E(),y.preventDefault())})})})});nb.displayName=tb;var rb="SelectValue",ob=N.forwardRef((e,t)=>{const{__scopeSelect:r,className:o,style:s,children:a,placeholder:l="",...u}=e,f=fr(rb,r),{onValueNodeHasChildrenChange:d}=f,h=a!==void 0,p=et(t,f.onValueNodeChange);return ht(()=>{d(h)},[d,h]),I.jsx(Fe.span,{...u,ref:p,style:{pointerEvents:"none"},children:Sb(f.value)?I.jsx(I.Fragment,{children:l}):a})});ob.displayName=rb;var l4="SelectIcon",ib=N.forwardRef((e,t)=>{const{__scopeSelect:r,children:o,...s}=e;return I.jsx(Fe.span,{"aria-hidden":!0,...s,ref:t,children:o||"â–¼"})});ib.displayName=l4;var u4="SelectPortal",sb=e=>I.jsx(q_,{asChild:!0,...e});sb.displayName=u4;var Kr="SelectContent",ab=N.forwardRef((e,t)=>{const r=fr(Kr,e.__scopeSelect),[o,s]=N.useState();if(ht(()=>{s(new DocumentFragment)},[]),!r.open){const a=o;return a?Gi.createPortal(I.jsx(lb,{scope:e.__scopeSelect,children:I.jsx(ul.Slot,{scope:e.__scopeSelect,children:I.jsx("div",{children:e.children})})}),a):null}return I.jsx(ub,{...e,ref:t})});ab.displayName=Kr;var cn=10,[lb,dr]=Vo(Kr),c4="SelectContentImpl",f4=lF("SelectContent.RemoveScroll"),ub=N.forwardRef((e,t)=>{const{__scopeSelect:r,position:o="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:a,onPointerDownOutside:l,side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:w,sticky:E,hideWhenDetached:y,avoidCollisions:x,...b}=e,C=fr(Kr,r),[_,k]=N.useState(null),[R,T]=N.useState(null),A=et(t,K=>k(K)),[O,j]=N.useState(null),[G,B]=N.useState(null),V=cl(r),[X,L]=N.useState(!1),H=N.useRef(!1);N.useEffect(()=>{if(_)return wF(_)},[_]),P3();const $=N.useCallback(K=>{const[te,...se]=V().map(de=>de.ref.current),[ae]=se.slice(-1),ce=document.activeElement;for(const de of K)if(de===ce||(de==null||de.scrollIntoView({block:"nearest"}),de===te&&R&&(R.scrollTop=0),de===ae&&R&&(R.scrollTop=R.scrollHeight),de==null||de.focus(),document.activeElement!==ce))return},[V,R]),Y=N.useCallback(()=>$([O,_]),[$,O,_]);N.useEffect(()=>{X&&Y()},[X,Y]);const{onOpenChange:M,triggerPointerDownPosRef:q}=C;N.useEffect(()=>{if(_){let K={x:0,y:0};const te=ae=>{var ce,de;K={x:Math.abs(Math.round(ae.pageX)-(((ce=q.current)==null?void 0:ce.x)??0)),y:Math.abs(Math.round(ae.pageY)-(((de=q.current)==null?void 0:de.y)??0))}},se=ae=>{K.x<=10&&K.y<=10?ae.preventDefault():_.contains(ae.target)||M(!1),document.removeEventListener("pointermove",te),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",te),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",te),document.removeEventListener("pointerup",se,{capture:!0})}}},[_,M,q]),N.useEffect(()=>{const K=()=>M(!1);return window.addEventListener("blur",K),window.addEventListener("resize",K),()=>{window.removeEventListener("blur",K),window.removeEventListener("resize",K)}},[M]);const[Q,D]=Eb(K=>{const te=V().filter(ce=>!ce.disabled),se=te.find(ce=>ce.ref.current===document.activeElement),ae=Cb(te,K,se);ae&&setTimeout(()=>ae.ref.current.focus())}),W=N.useCallback((K,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&(j(K),ae&&(H.current=!0))},[C.value]),ie=N.useCallback(()=>_==null?void 0:_.focus(),[_]),F=N.useCallback((K,te,se)=>{const ae=!H.current&&!se;(C.value!==void 0&&C.value===te||ae)&&B(K)},[C.value]),Z=o==="popper"?xf:cb,ee=Z===xf?{side:u,sideOffset:f,align:d,alignOffset:h,arrowPadding:p,collisionBoundary:m,collisionPadding:w,sticky:E,hideWhenDetached:y,avoidCollisions:x}:{};return I.jsx(lb,{scope:r,content:_,viewport:R,onViewportChange:T,itemRefCallback:W,selectedItem:O,onItemLeave:ie,itemTextRefCallback:F,focusSelectedItem:Y,selectedItemText:G,position:o,isPositioned:X,searchRef:Q,children:I.jsx(J_,{as:f4,allowPinchZoom:!0,children:I.jsx(e_,{asChild:!0,trapped:C.open,onMountAutoFocus:K=>{K.preventDefault()},onUnmountAutoFocus:Ke(s,K=>{var te;(te=C.trigger)==null||te.focus({preventScroll:!0}),K.preventDefault()}),children:I.jsx(K1,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:K=>K.preventDefault(),onDismiss:()=>C.onOpenChange(!1),children:I.jsx(Z,{role:"listbox",id:C.contentId,"data-state":C.open?"open":"closed",dir:C.dir,onContextMenu:K=>K.preventDefault(),...b,...ee,onPlaced:()=>L(!0),ref:A,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:Ke(b.onKeyDown,K=>{const te=K.ctrlKey||K.altKey||K.metaKey;if(K.key==="Tab"&&K.preventDefault(),!te&&K.key.length===1&&D(K.key),["ArrowUp","ArrowDown","Home","End"].includes(K.key)){let ae=V().filter(ce=>!ce.disabled).map(ce=>ce.ref.current);if(["ArrowUp","End"].includes(K.key)&&(ae=ae.slice().reverse()),["ArrowUp","ArrowDown"].includes(K.key)){const ce=K.target,de=ae.indexOf(ce);ae=ae.slice(de+1)}setTimeout(()=>$(ae)),K.preventDefault()}})})})})})})});ub.displayName=c4;var d4="SelectItemAlignedPosition",cb=N.forwardRef((e,t)=>{const{__scopeSelect:r,onPlaced:o,...s}=e,a=fr(Kr,r),l=dr(Kr,r),[u,f]=N.useState(null),[d,h]=N.useState(null),p=et(t,A=>h(A)),m=cl(r),w=N.useRef(!1),E=N.useRef(!0),{viewport:y,selectedItem:x,selectedItemText:b,focusSelectedItem:C}=l,_=N.useCallback(()=>{if(a.trigger&&a.valueNode&&u&&d&&y&&x&&b){const A=a.trigger.getBoundingClientRect(),O=d.getBoundingClientRect(),j=a.valueNode.getBoundingClientRect(),G=b.getBoundingClientRect();if(a.dir!=="rtl"){const ce=G.left-O.left,de=j.left-ce,pe=A.left-de,be=A.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=W1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.left=Ee+"px"}else{const ce=O.right-G.right,de=window.innerWidth-j.right-ce,pe=window.innerWidth-A.right-de,be=A.width+pe,me=Math.max(be,O.width),Re=window.innerWidth-cn,Ee=W1(de,[cn,Math.max(cn,Re-me)]);u.style.minWidth=be+"px",u.style.right=Ee+"px"}const B=m(),V=window.innerHeight-cn*2,X=y.scrollHeight,L=window.getComputedStyle(d),H=parseInt(L.borderTopWidth,10),$=parseInt(L.paddingTop,10),Y=parseInt(L.borderBottomWidth,10),M=parseInt(L.paddingBottom,10),q=H+$+X+M+Y,Q=Math.min(x.offsetHeight*5,q),D=window.getComputedStyle(y),W=parseInt(D.paddingTop,10),ie=parseInt(D.paddingBottom,10),F=A.top+A.height/2-cn,Z=V-F,ee=x.offsetHeight/2,K=x.offsetTop+ee,te=H+$+K,se=q-te;if(te<=F){const ce=B.length>0&&x===B[B.length-1].ref.current;u.style.bottom="0px";const de=d.clientHeight-y.offsetTop-y.offsetHeight,pe=Math.max(Z,ee+(ce?ie:0)+de+Y),be=te+pe;u.style.height=be+"px"}else{const ce=B.length>0&&x===B[0].ref.current;u.style.top="0px";const pe=Math.max(F,H+y.offsetTop+(ce?W:0)+ee)+se;u.style.height=pe+"px",y.scrollTop=te-F+y.offsetTop}u.style.margin=`${cn}px 0`,u.style.minHeight=Q+"px",u.style.maxHeight=V+"px",o==null||o(),requestAnimationFrame(()=>w.current=!0)}},[m,a.trigger,a.valueNode,u,d,y,x,b,a.dir,o]);ht(()=>_(),[_]);const[k,R]=N.useState();ht(()=>{d&&R(window.getComputedStyle(d).zIndex)},[d]);const T=N.useCallback(A=>{A&&E.current===!0&&(_(),C==null||C(),E.current=!1)},[_,C]);return I.jsx(p4,{scope:r,contentWrapper:u,shouldExpandOnScrollRef:w,onScrollButtonChange:T,children:I.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:I.jsx(Fe.div,{...s,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});cb.displayName=d4;var h4="SelectPopperPosition",xf=N.forwardRef((e,t)=>{const{__scopeSelect:r,align:o="start",collisionPadding:s=cn,...a}=e,l=fl(r);return I.jsx(iF,{...l,...a,ref:t,align:o,collisionPadding:s,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});xf.displayName=h4;var[p4,_f]=Vo(Kr,{}),bf="SelectViewport",fb=N.forwardRef((e,t)=>{const{__scopeSelect:r,nonce:o,...s}=e,a=dr(bf,r),l=_f(bf,r),u=et(t,a.onViewportChange),f=N.useRef(0);return I.jsxs(I.Fragment,{children:[I.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),I.jsx(ul.Slot,{scope:r,children:I.jsx(Fe.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Ke(s.onScroll,d=>{const h=d.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:m}=l;if(m!=null&&m.current&&p){const w=Math.abs(f.current-h.scrollTop);if(w>0){const E=window.innerHeight-cn*2,y=parseFloat(p.style.minHeight),x=parseFloat(p.style.height),b=Math.max(y,x);if(b0?k:0,p.style.justifyContent="flex-end")}}}f.current=h.scrollTop})})})]})});fb.displayName=bf;var db="SelectGroup",[g4,m4]=Vo(db),v4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e,s=ef();return I.jsx(g4,{scope:r,id:s,children:I.jsx(Fe.div,{role:"group","aria-labelledby":s,...o,ref:t})})});v4.displayName=db;var hb="SelectLabel",y4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e,s=m4(hb,r);return I.jsx(Fe.div,{id:s.id,...o,ref:t})});y4.displayName=hb;var dl="SelectItem",[w4,pb]=Vo(dl),gb=N.forwardRef((e,t)=>{const{__scopeSelect:r,value:o,disabled:s=!1,textValue:a,...l}=e,u=fr(dl,r),f=dr(dl,r),d=u.value===o,[h,p]=N.useState(a??""),[m,w]=N.useState(!1),E=et(t,C=>{var _;return(_=f.itemRefCallback)==null?void 0:_.call(f,C,o,s)}),y=ef(),x=N.useRef("touch"),b=()=>{s||(u.onValueChange(o),u.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return I.jsx(w4,{scope:r,value:o,disabled:s,textId:y,isSelected:d,onItemTextChange:N.useCallback(C=>{p(_=>_||((C==null?void 0:C.textContent)??"").trim())},[]),children:I.jsx(ul.ItemSlot,{scope:r,value:o,disabled:s,textValue:h,children:I.jsx(Fe.div,{role:"option","aria-labelledby":y,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...l,ref:E,onFocus:Ke(l.onFocus,()=>w(!0)),onBlur:Ke(l.onBlur,()=>w(!1)),onClick:Ke(l.onClick,()=>{x.current!=="mouse"&&b()}),onPointerUp:Ke(l.onPointerUp,()=>{x.current==="mouse"&&b()}),onPointerDown:Ke(l.onPointerDown,C=>{x.current=C.pointerType}),onPointerMove:Ke(l.onPointerMove,C=>{var _;x.current=C.pointerType,s?(_=f.onItemLeave)==null||_.call(f):x.current==="mouse"&&C.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ke(l.onPointerLeave,C=>{var _;C.currentTarget===document.activeElement&&((_=f.onItemLeave)==null||_.call(f))}),onKeyDown:Ke(l.onKeyDown,C=>{var k;((k=f.searchRef)==null?void 0:k.current)!==""&&C.key===" "||(r4.includes(C.key)&&b(),C.key===" "&&C.preventDefault())})})})})});gb.displayName=dl;var ns="SelectItemText",mb=N.forwardRef((e,t)=>{const{__scopeSelect:r,className:o,style:s,...a}=e,l=fr(ns,r),u=dr(ns,r),f=pb(ns,r),d=a4(ns,r),[h,p]=N.useState(null),m=et(t,b=>p(b),f.onItemTextChange,b=>{var C;return(C=u.itemTextRefCallback)==null?void 0:C.call(u,b,f.value,f.disabled)}),w=h==null?void 0:h.textContent,E=N.useMemo(()=>I.jsx("option",{value:f.value,disabled:f.disabled,children:w},f.value),[f.disabled,f.value,w]),{onNativeOptionAdd:y,onNativeOptionRemove:x}=d;return ht(()=>(y(E),()=>x(E)),[y,x,E]),I.jsxs(I.Fragment,{children:[I.jsx(Fe.span,{id:f.textId,...a,ref:m}),f.isSelected&&l.valueNode&&!l.valueNodeHasChildren?Gi.createPortal(a.children,l.valueNode):null]})});mb.displayName=ns;var vb="SelectItemIndicator",yb=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e;return pb(vb,r).isSelected?I.jsx(Fe.span,{"aria-hidden":!0,...o,ref:t}):null});yb.displayName=vb;var Sf="SelectScrollUpButton",wb=N.forwardRef((e,t)=>{const r=dr(Sf,e.__scopeSelect),o=_f(Sf,e.__scopeSelect),[s,a]=N.useState(!1),l=et(t,o.onScrollButtonChange);return ht(()=>{if(r.viewport&&r.isPositioned){let u=function(){const d=f.scrollTop>0;a(d)};const f=r.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[r.viewport,r.isPositioned]),s?I.jsx(_b,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=r;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});wb.displayName=Sf;var Ef="SelectScrollDownButton",xb=N.forwardRef((e,t)=>{const r=dr(Ef,e.__scopeSelect),o=_f(Ef,e.__scopeSelect),[s,a]=N.useState(!1),l=et(t,o.onScrollButtonChange);return ht(()=>{if(r.viewport&&r.isPositioned){let u=function(){const d=f.scrollHeight-f.clientHeight,h=Math.ceil(f.scrollTop)f.removeEventListener("scroll",u)}},[r.viewport,r.isPositioned]),s?I.jsx(_b,{...e,ref:l,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=r;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});xb.displayName=Ef;var _b=N.forwardRef((e,t)=>{const{__scopeSelect:r,onAutoScroll:o,...s}=e,a=dr("SelectScrollButton",r),l=N.useRef(null),u=cl(r),f=N.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return N.useEffect(()=>()=>f(),[f]),ht(()=>{var h;const d=u().find(p=>p.ref.current===document.activeElement);(h=d==null?void 0:d.ref.current)==null||h.scrollIntoView({block:"nearest"})},[u]),I.jsx(Fe.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:Ke(s.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(o,50))}),onPointerMove:Ke(s.onPointerMove,()=>{var d;(d=a.onItemLeave)==null||d.call(a),l.current===null&&(l.current=window.setInterval(o,50))}),onPointerLeave:Ke(s.onPointerLeave,()=>{f()})})}),x4="SelectSeparator",_4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e;return I.jsx(Fe.div,{"aria-hidden":!0,...o,ref:t})});_4.displayName=x4;var Cf="SelectArrow",b4=N.forwardRef((e,t)=>{const{__scopeSelect:r,...o}=e,s=fl(r),a=fr(Cf,r),l=dr(Cf,r);return a.open&&l.position==="popper"?I.jsx(sF,{...s,...o,ref:t}):null});b4.displayName=Cf;var S4="SelectBubbleInput",bb=N.forwardRef(({__scopeSelect:e,value:t,...r},o)=>{const s=N.useRef(null),a=et(o,s),l=P1(t);return N.useEffect(()=>{const u=s.current;if(!u)return;const f=window.HTMLSelectElement.prototype,h=Object.getOwnPropertyDescriptor(f,"value").set;if(l!==t&&h){const p=new Event("change",{bubbles:!0});h.call(u,t),u.dispatchEvent(p)}},[l,t]),I.jsx(Fe.select,{...r,style:{...z_,...r.style},ref:a,defaultValue:t})});bb.displayName=S4;function Sb(e){return e===""||e===void 0}function Eb(e){const t=Ur(e),r=N.useRef(""),o=N.useRef(0),s=N.useCallback(l=>{const u=r.current+l;t(u),(function f(d){r.current=d,window.clearTimeout(o.current),d!==""&&(o.current=window.setTimeout(()=>f(""),1e3))})(u)},[t]),a=N.useCallback(()=>{r.current="",window.clearTimeout(o.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(o.current),[]),[r,s,a]}function Cb(e,t,r){const s=t.length>1&&Array.from(t).every(d=>d===t[0])?t[0]:t,a=r?e.indexOf(r):-1;let l=E4(e,Math.max(a,0));s.length===1&&(l=l.filter(d=>d!==r));const f=l.find(d=>d.textValue.toLowerCase().startsWith(s.toLowerCase()));return f!==r?f:void 0}function E4(e,t){return e.map((r,o)=>e[(t+o)%e.length])}var C4=eb,k4=nb,N4=ob,R4=ib,P4=sb,T4=ab,A4=fb,I4=gb,M4=mb,O4=yb,L4=wb,D4=xb;function kb({...e}){return I.jsx(C4,{"data-slot":"select",...e})}function Nb({...e}){return I.jsx(N4,{"data-slot":"select-value",...e})}function Rb({className:e,size:t="default",children:r,...o}){return I.jsxs(k4,{"data-slot":"select-trigger","data-size":t,className:dt("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[r,I.jsx(R4,{asChild:!0,children:I.jsx(V1,{className:"size-4 opacity-50"})})]})}function Pb({className:e,children:t,position:r="popper",align:o="center",...s}){return I.jsx(P4,{children:I.jsxs(T4,{"data-slot":"select-content",className:dt("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:o,...s,children:[I.jsx(j4,{}),I.jsx(A4,{className:dt("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),I.jsx(q4,{})]})})}function Tb({className:e,children:t,...r}){return I.jsxs(I4,{"data-slot":"select-item",className:dt("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[I.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:I.jsx(O4,{children:I.jsx(B1,{className:"size-4"})})}),I.jsx(M4,{children:t})]})}function j4({className:e,...t}){return I.jsx(L4,{"data-slot":"select-scroll-up-button",className:dt("flex cursor-default items-center justify-center py-1",e),...t,children:I.jsx(u3,{className:"size-4"})})}function q4({className:e,...t}){return I.jsx(D4,{"data-slot":"select-scroll-down-button",className:dt("flex cursor-default items-center justify-center py-1",e),...t,children:I.jsx(V1,{className:"size-4"})})}function z4(e){var l;if("component"in e){const{component:u,onValueChange:f}=e,d=Oo(),h=((l=d==null?void 0:d.nodeData.values)==null?void 0:l[u.id])??u.value??"";return I.jsxs("div",{className:"component-select-field",children:[I.jsx("label",{className:"text-xs text-gray-600 mb-1",children:u.label}),I.jsxs(kb,{value:h,onValueChange:p=>f==null?void 0:f(u.id,p),children:[I.jsx(Rb,{className:"h-8 text-xs",onMouseDown:p=>p.stopPropagation(),onPointerDown:p=>p.stopPropagation(),"aria-label":u.label,children:I.jsx(Nb,{placeholder:"Select..."})}),I.jsx(Pb,{children:(u.options||[]).map(p=>I.jsx(Tb,{value:p,className:"text-xs",children:p},p))})]})]})}const{value:t,options:r,onChange:o,placeholder:s,label:a}=e;return I.jsxs(kb,{value:t,onValueChange:o,children:[I.jsx(Rb,{className:"h-8 text-xs",onMouseDown:u=>u.stopPropagation(),onPointerDown:u=>u.stopPropagation(),"aria-label":a,children:I.jsx(Nb,{placeholder:s})}),I.jsx(Pb,{children:r.map(u=>I.jsx(Tb,{value:u,className:"text-xs",children:u},u))})]})}function F4(e,t=[]){let r=[];function o(a,l){const u=N.createContext(l);u.displayName=a+"Context";const f=r.length;r=[...r,l];const d=p=>{var b;const{scope:m,children:w,...E}=p,y=((b=m==null?void 0:m[e])==null?void 0:b[f])||u,x=N.useMemo(()=>E,Object.values(E));return I.jsx(y.Provider,{value:x,children:w})};d.displayName=a+"Provider";function h(p,m){var y;const w=((y=m==null?void 0:m[e])==null?void 0:y[f])||u,E=N.useContext(w);if(E)return E;if(l!==void 0)return l;throw new Error(`\`${p}\` must be used within \`${a}\``)}return[d,h]}const s=()=>{const a=r.map(l=>N.createContext(l));return function(u){const f=(u==null?void 0:u[e])||a;return N.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return s.scopeName=e,[o,$4(s,...t)]}function $4(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const o=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(a){const l=o.reduce((u,{useScope:f,scopeName:d})=>{const p=f(a)[`__scope${d}`];return{...u,...p}},{});return N.useMemo(()=>({[`__scope${t.scopeName}`]:l}),[l])}};return r.scopeName=t.scopeName,r}var B4=Symbol.for("react.lazy"),hl=Ju[" use ".trim().toString()];function V4(e){return typeof e=="object"&&e!==null&&"then"in e}function Ab(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===B4&&"_payload"in e&&V4(e._payload)}function Ib(e){const t=W4(e),r=N.forwardRef((o,s)=>{let{children:a,...l}=o;Ab(a)&&typeof hl=="function"&&(a=hl(a._payload));const u=N.Children.toArray(a),f=u.find(G4);if(f){const d=f.props.children,h=u.map(p=>p===f?N.Children.count(d)>1?N.Children.only(null):N.isValidElement(d)?d.props.children:null:p);return I.jsx(t,{...l,ref:s,children:N.isValidElement(d)?N.cloneElement(d,void 0,h):null})}return I.jsx(t,{...l,ref:s,children:a})});return r.displayName=`${e}.Slot`,r}var H4=Ib("Slot");function W4(e){const t=N.forwardRef((r,o)=>{let{children:s,...a}=r;if(Ab(s)&&typeof hl=="function"&&(s=hl(s._payload)),N.isValidElement(s)){const l=K4(s),u=Y4(a,s.props);return s.type!==N.Fragment&&(u.ref=o?Zi(o,l):l),N.cloneElement(s,u)}return N.Children.count(s)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var U4=Symbol("radix.slottable");function G4(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===U4}function Y4(e,t){const r={...t};for(const o in t){const s=e[o],a=t[o];/^on[A-Z]/.test(o)?s&&a?r[o]=(...u)=>{const f=a(...u);return s(...u),f}:s&&(r[o]=s):o==="style"?r[o]={...s,...a}:o==="className"&&(r[o]=[s,a].filter(Boolean).join(" "))}return{...e,...r}}function K4(e){var o,s;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var X4=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Mb=X4.reduce((e,t)=>{const r=Ib(`Primitive.${t}`),o=N.forwardRef((s,a)=>{const{asChild:l,...u}=s,f=l?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),I.jsx(f,{...u,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),kf="Progress",Nf=100,[Q4]=F4(kf),[Z4,J4]=Q4(kf),Ob=N.forwardRef((e,t)=>{const{__scopeProgress:r,value:o=null,max:s,getValueLabel:a=e$,...l}=e;(s||s===0)&&!qb(s)&&console.error(t$(`${s}`,"Progress"));const u=qb(s)?s:Nf;o!==null&&!zb(o,u)&&console.error(n$(`${o}`,"Progress"));const f=zb(o,u)?o:null,d=pl(f)?a(f,u):void 0;return I.jsx(Z4,{scope:r,value:f,max:u,children:I.jsx(Mb.div,{"aria-valuemax":u,"aria-valuemin":0,"aria-valuenow":pl(f)?f:void 0,"aria-valuetext":d,role:"progressbar","data-state":jb(f,u),"data-value":f??void 0,"data-max":u,...l,ref:t})})});Ob.displayName=kf;var Lb="ProgressIndicator",Db=N.forwardRef((e,t)=>{const{__scopeProgress:r,...o}=e,s=J4(Lb,r);return I.jsx(Mb.div,{"data-state":jb(s.value,s.max),"data-value":s.value??void 0,"data-max":s.max,...o,ref:t})});Db.displayName=Lb;function e$(e,t){return`${Math.round(e/t*100)}%`}function jb(e,t){return e==null?"indeterminate":e===t?"complete":"loading"}function pl(e){return typeof e=="number"}function qb(e){return pl(e)&&!isNaN(e)&&e>0}function zb(e,t){return pl(e)&&!isNaN(e)&&e<=t&&e>=0}function t$(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Nf}\`.`}function n$(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be: + - a positive number + - less than the value passed to \`max\` (or ${Nf} if no \`max\` prop is set) + - \`null\` or \`undefined\` if the progress is indeterminate. + +Defaulting to \`null\`.`}var r$=Ob,o$=Db;function Fb({className:e,value:t,...r}){return I.jsx(r$,{"data-slot":"progress",className:dt("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",e),...r,children:I.jsx(o$,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})})}function i$(e){var u;if("component"in e){const{component:f}=e,d=Oo(),h=((u=d==null?void 0:d.nodeData.values)==null?void 0:u[f.id])??f.value??0,p=f.max??100,m=f.min??0,w=Math.min(100,Math.max(0,(h-m)/(p-m)*100));return I.jsxs("div",{className:"component-progress-field space-y-1.5",children:[f.label&&I.jsx("label",{className:"text-xs text-gray-600",children:f.label}),I.jsxs("div",{className:"flex items-center justify-between text-xs",children:[I.jsx("span",{className:"text-muted-foreground",children:"Progress"}),I.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(w),"%"]})]}),I.jsx(Fb,{value:w,className:"h-2"})]})}const{value:t,onChange:r,label:o,min:s=0,max:a=100}=e,l=Math.min(100,Math.max(0,(t-s)/(a-s)*100));return I.jsxs("div",{className:"space-y-1.5",children:[o&&I.jsx("label",{className:"text-xs text-gray-600",children:o}),I.jsxs("div",{className:"flex items-center justify-between text-xs",children:[I.jsx("span",{className:"text-muted-foreground",children:"Progress"}),I.jsxs("span",{className:"font-medium text-xs tabular-nums",children:[Math.round(l),"%"]})]}),I.jsx(Fb,{value:l,className:"h-2"})]})}function s$({component:e}){return I.jsxs("div",{className:"component-header px-3 py-2 font-semibold flex items-center gap-2",style:{backgroundColor:e.bgColor,color:e.textColor},children:[e.icon&&I.jsx("span",{children:e.icon}),I.jsx("span",{children:e.label})]})}function a$({component:e}){return I.jsx("div",{className:`component-footer px-3 py-2 text-xs text-muted-foreground border-t ${e.className||""}`,style:{backgroundColor:e.bgColor,color:e.textColor},children:e.text})}const $b=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Bb=a1,l$=((e,t)=>r=>{var o;if((t==null?void 0:t.variants)==null)return Bb(e,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:a}=t,l=Object.keys(s).map(d=>{const h=r==null?void 0:r[d],p=a==null?void 0:a[d];if(h===null)return null;const m=$b(h)||$b(p);return s[d][m]}),u=r&&Object.entries(r).reduce((d,h)=>{let[p,m]=h;return m===void 0||(d[p]=m),d},{}),f=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,h)=>{let{class:p,className:m,...w}=h;return Object.entries(w).every(E=>{let[y,x]=E;return Array.isArray(x)?x.includes({...a,...u}[y]):{...a,...u}[y]===x})?[...d,p,m]:d},[]);return Bb(e,l,f,r==null?void 0:r.class,r==null?void 0:r.className)})("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function rs({className:e,variant:t,size:r,asChild:o=!1,...s}){const a=o?H4:"button";return I.jsx(a,{"data-slot":"button",className:dt(l$({variant:t,size:r,className:e})),...s})}function u$({component:e,onValueChange:t}){var a;const r=Oo(),o=((a=r==null?void 0:r.nodeData.values)==null?void 0:a[e.id])??e.value??0,s=()=>{const l=o+1;t==null||t(e.id,l)};return I.jsx(rs,{variant:e.variant||"default",size:e.size||"default",disabled:e.disabled||!1,onClick:s,onMouseDown:l=>l.stopPropagation(),onPointerDown:l=>l.stopPropagation(),className:"w-full",children:e.label})}function c$({component:e}){const t=e.orientation!=="vertical";return I.jsx("div",{className:`component-divider ${t?"w-full h-px":"h-full w-px"} bg-gray-300`})}function f$({component:e}){return I.jsx("div",{className:"component-spacer",style:{width:e.size,height:e.size}})}function d$({cell:e,nodeId:t,onValueChange:r}){const o=e.layout||{type:"flex",direction:"column"},s=h$(e),a=p$(o);return I.jsx("div",{className:"nested-grid-cell",style:s,children:I.jsx("div",{className:"nested-grid-cell-content",style:a,children:e.components.map(l=>I.jsx(Vb,{component:l,nodeId:t,onValueChange:r},l.id))})})}function h$(e){return{gridRow:`${e.coordinates.row} / span ${e.coordinates.row_span||1}`,gridColumn:`${e.coordinates.col} / span ${e.coordinates.col_span||1}`}}function p$(e){return!e||e.type==="flex"||!e.type?{display:"flex",flexDirection:(e==null?void 0:e.direction)||"column",alignItems:(e==null?void 0:e.align)||"start",justifyContent:(e==null?void 0:e.justify)||"start",gap:(e==null?void 0:e.gap)||"4px"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px"}:{}}function g$({component:e,nodeId:t,onValueChange:r}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"8px",minHeight:e.minHeight,minWidth:e.minWidth};return I.jsx("div",{className:`nested-grid ${e.className||""}`,style:o,children:e.cells.map(s=>I.jsx(d$,{cell:s,nodeId:t,onValueChange:r},s.id))})}function Vb({component:e,nodeId:t,onValueChange:r}){switch(e.type){case"base-handle":return I.jsx($a,{component:e});case"labeled-handle":return I.jsx(C1,{component:e});case"button-handle":return I.jsx(k1,{component:e});case"text":return I.jsx(Oq,{component:e,onValueChange:r});case"number":return I.jsx(Dq,{component:e,onValueChange:r});case"bool":return I.jsx(d3,{component:e,onValueChange:r});case"select":return I.jsx(z4,{component:e,onValueChange:r});case"progress":return I.jsx(i$,{component:e,onValueChange:r});case"header":return I.jsx(s$,{component:e});case"footer":return I.jsx(a$,{component:e});case"button":return I.jsx(u$,{component:e,onValueChange:r});case"divider":return I.jsx(c$,{component:e});case"spacer":return I.jsx(f$,{component:e});case"grid-layout":return I.jsx(g$,{component:e,nodeId:t,onValueChange:r});default:return console.warn(`Unknown component type: ${e.type}`),null}}function m$({grid:e,nodeId:t,onValueChange:r}){const o={display:"grid",gridTemplateRows:e.rows.join(" "),gridTemplateColumns:e.columns.join(" "),gap:e.gap||"8px",width:"100%",height:"100%"};return I.jsx("div",{className:"node-grid",style:o,children:e.cells.map(s=>I.jsx("div",{className:"grid-cell",style:{gridRow:`${s.coordinates.row} / span ${s.coordinates.row_span||1}`,gridColumn:`${s.coordinates.col} / span ${s.coordinates.col_span||1}`},children:I.jsx(v$,{cell:s,nodeId:t,onValueChange:r})},s.id))})}function v$({cell:e,nodeId:t,onValueChange:r}){const o=e.layout||{type:"flex",direction:"column"},s=y$(o);return I.jsx("div",{className:"grid-cell-content",style:s,children:e.components.map(a=>I.jsx(Vb,{component:a,nodeId:t,onValueChange:r},a.id))})}function y$(e){return e.type==="flex"||!e.type?{display:"flex",flexDirection:e.direction||"column",alignItems:e.align||"start",justifyContent:e.justify||"start",gap:e.gap||"4px"}:e.type==="grid"?{display:"grid",gap:e.gap||"4px",alignItems:e.align||"start",justifyContent:e.justify||"start"}:e.type==="stack"?{display:"flex",flexDirection:"column",gap:e.gap||"4px"}:{}}function Hb({className:e,...t}){return I.jsx("div",{"data-slot":"card",className:dt("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}N.createContext(null),N.createContext(null);function w$({onExport:e,onLayoutVertical:t,onLayoutHorizontal:r}){return I.jsxs("div",{className:"flex gap-2",children:[I.jsxs(rs,{onClick:e,variant:"default",size:"sm",children:[I.jsx(c3,{className:"h-4 w-4 mr-2"}),"Export to JSON"]}),I.jsxs(rs,{onClick:t,variant:"outline",size:"sm",children:[I.jsx(a3,{className:"h-4 w-4 mr-2"}),"Layout Vertical"]}),I.jsxs(rs,{onClick:r,variant:"outline",size:"sm",children:[I.jsx(l3,{className:"h-4 w-4 mr-2"}),"Layout Horizontal"]})]})}function x$({x:e,y:t,onDelete:r,onClose:o}){return $t.useEffect(()=>{const s=()=>o(),a=l=>{l.key==="Escape"&&o()};return document.addEventListener("click",s),document.addEventListener("keydown",a),()=>{document.removeEventListener("click",s),document.removeEventListener("keydown",a)}},[o]),I.jsx(Hb,{className:"fixed z-[1000] min-w-[150px] p-1 shadow-md",style:{top:t,left:e},onClick:s=>s.stopPropagation(),children:I.jsxs(rs,{variant:"ghost",className:"w-full justify-start gap-2 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:r,children:[I.jsx(f3,{className:"h-4 w-4"}),"Delete"]})})}function _$({nodes:e,edges:t,nodeTypes:r,height:o,onNodesChange:s,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,contextMenu:h,onDelete:p,onCloseContextMenu:m,onExport:w,onLayoutVertical:E,onLayoutHorizontal:y}){return I.jsxs("div",{style:{width:"100%",height:"100%",position:"relative"},children:[I.jsxs(mj,{nodes:e,edges:t,nodeTypes:r,onNodesChange:s,onEdgesChange:a,onConnect:l,onNodeContextMenu:u,onEdgeContextMenu:f,onPaneClick:d,fitView:!0,nodesDraggable:!0,nodesConnectable:!0,elementsSelectable:!0,minZoom:.1,maxZoom:2,children:[I.jsx(_j,{}),I.jsx(Rj,{}),I.jsx(Yi,{position:"top-right",children:I.jsx(w$,{onExport:w,onLayoutVertical:E,onLayoutHorizontal:y})})]}),h&&I.jsx(x$,{id:h.id,type:h.type,x:h.x,y:h.y,onDelete:p,onClose:m})]})}function Rf(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Pf,Wb;function b$(){if(Wb)return Pf;Wb=1;function e(){this.__data__=[],this.size=0}return Pf=e,Pf}var Tf,Ub;function Ho(){if(Ub)return Tf;Ub=1;function e(t,r){return t===r||t!==t&&r!==r}return Tf=e,Tf}var Af,Gb;function gl(){if(Gb)return Af;Gb=1;var e=Ho();function t(r,o){for(var s=r.length;s--;)if(e(r[s][0],o))return s;return-1}return Af=t,Af}var If,Yb;function S$(){if(Yb)return If;Yb=1;var e=gl(),t=Array.prototype,r=t.splice;function o(s){var a=this.__data__,l=e(a,s);if(l<0)return!1;var u=a.length-1;return l==u?a.pop():r.call(a,l,1),--this.size,!0}return If=o,If}var Mf,Kb;function E$(){if(Kb)return Mf;Kb=1;var e=gl();function t(r){var o=this.__data__,s=e(o,r);return s<0?void 0:o[s][1]}return Mf=t,Mf}var Of,Xb;function C$(){if(Xb)return Of;Xb=1;var e=gl();function t(r){return e(this.__data__,r)>-1}return Of=t,Of}var Lf,Qb;function k$(){if(Qb)return Lf;Qb=1;var e=gl();function t(r,o){var s=this.__data__,a=e(s,r);return a<0?(++this.size,s.push([r,o])):s[a][1]=o,this}return Lf=t,Lf}var Df,Zb;function ml(){if(Zb)return Df;Zb=1;var e=b$(),t=S$(),r=E$(),o=C$(),s=k$();function a(l){var u=-1,f=l==null?0:l.length;for(this.clear();++u-1&&o%1==0&&o-1&&r%1==0&&r<=e}return Od=t,Od}var Dd,ZS;function J$(){if(ZS)return Dd;ZS=1;var e=Xr(),t=Ld(),r=Tn(),o="[object Arguments]",s="[object Array]",a="[object Boolean]",l="[object Date]",u="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",p="[object Object]",m="[object RegExp]",w="[object Set]",E="[object String]",y="[object WeakMap]",x="[object ArrayBuffer]",b="[object DataView]",C="[object Float32Array]",_="[object Float64Array]",k="[object Int8Array]",R="[object Int16Array]",T="[object Int32Array]",A="[object Uint8Array]",O="[object Uint8ClampedArray]",j="[object Uint16Array]",G="[object Uint32Array]",B={};B[C]=B[_]=B[k]=B[R]=B[T]=B[A]=B[O]=B[j]=B[G]=!0,B[o]=B[s]=B[x]=B[a]=B[b]=B[l]=B[u]=B[f]=B[d]=B[h]=B[p]=B[m]=B[w]=B[E]=B[y]=!1;function V(X){return r(X)&&t(X.length)&&!!B[e(X)]}return Dd=V,Dd}var jd,JS;function Sl(){if(JS)return jd;JS=1;function e(t){return function(r){return t(r)}}return jd=e,jd}var ls={exports:{}};ls.exports;var eE;function qd(){return eE||(eE=1,(function(e,t){var r=oS(),o=t&&!t.nodeType&&t,s=o&&!0&&e&&!e.nodeType&&e,a=s&&s.exports===o,l=a&&r.process,u=(function(){try{var f=s&&s.require&&s.require("util").types;return f||l&&l.binding&&l.binding("util")}catch{}})();e.exports=u})(ls,ls.exports)),ls.exports}var zd,tE;function us(){if(tE)return zd;tE=1;var e=J$(),t=Sl(),r=qd(),o=r&&r.isTypedArray,s=o?t(o):e;return zd=s,zd}var Fd,nE;function rE(){if(nE)return Fd;nE=1;var e=X$(),t=ss(),r=tt(),o=Uo(),s=bl(),a=us(),l=Object.prototype,u=l.hasOwnProperty;function f(d,h){var p=r(d),m=!p&&t(d),w=!p&&!m&&o(d),E=!p&&!m&&!w&&a(d),y=p||m||w||E,x=y?e(d.length,String):[],b=x.length;for(var C in d)(h||u.call(d,C))&&!(y&&(C=="length"||w&&(C=="offset"||C=="parent")||E&&(C=="buffer"||C=="byteLength"||C=="byteOffset")||s(C,b)))&&x.push(C);return x}return Fd=f,Fd}var $d,oE;function El(){if(oE)return $d;oE=1;var e=Object.prototype;function t(r){var o=r&&r.constructor,s=typeof o=="function"&&o.prototype||e;return r===s}return $d=t,$d}var Bd,iE;function sE(){if(iE)return Bd;iE=1;function e(t,r){return function(o){return t(r(o))}}return Bd=e,Bd}var Vd,aE;function eB(){if(aE)return Vd;aE=1;var e=sE(),t=e(Object.keys,Object);return Vd=t,Vd}var Hd,lE;function Wd(){if(lE)return Hd;lE=1;var e=El(),t=eB(),r=Object.prototype,o=r.hasOwnProperty;function s(a){if(!e(a))return t(a);var l=[];for(var u in Object(a))o.call(a,u)&&u!="constructor"&&l.push(u);return l}return Hd=s,Hd}var Ud,uE;function Hn(){if(uE)return Ud;uE=1;var e=os(),t=Ld();function r(o){return o!=null&&t(o.length)&&!e(o)}return Ud=r,Ud}var Gd,cE;function hr(){if(cE)return Gd;cE=1;var e=rE(),t=Wd(),r=Hn();function o(s){return r(s)?e(s):t(s)}return Gd=o,Gd}var Yd,fE;function tB(){if(fE)return Yd;fE=1;var e=is(),t=hr();function r(o,s){return o&&e(s,t(s),o)}return Yd=r,Yd}var Kd,dE;function nB(){if(dE)return Kd;dE=1;function e(t){var r=[];if(t!=null)for(var o in Object(t))r.push(o);return r}return Kd=e,Kd}var Xd,hE;function rB(){if(hE)return Xd;hE=1;var e=Bt(),t=El(),r=nB(),o=Object.prototype,s=o.hasOwnProperty;function a(l){if(!e(l))return r(l);var u=t(l),f=[];for(var d in l)d=="constructor"&&(u||!s.call(l,d))||f.push(d);return f}return Xd=a,Xd}var Qd,pE;function Zr(){if(pE)return Qd;pE=1;var e=rE(),t=rB(),r=Hn();function o(s){return r(s)?e(s,!0):t(s)}return Qd=o,Qd}var Zd,gE;function oB(){if(gE)return Zd;gE=1;var e=is(),t=Zr();function r(o,s){return o&&e(s,t(s),o)}return Zd=r,Zd}var cs={exports:{}};cs.exports;var mE;function vE(){return mE||(mE=1,(function(e,t){var r=fn(),o=t&&!t.nodeType&&t,s=o&&!0&&e&&!e.nodeType&&e,a=s&&s.exports===o,l=a?r.Buffer:void 0,u=l?l.allocUnsafe:void 0;function f(d,h){if(h)return d.slice();var p=d.length,m=u?u(p):new d.constructor(p);return d.copy(m),m}e.exports=f})(cs,cs.exports)),cs.exports}var Jd,yE;function wE(){if(yE)return Jd;yE=1;function e(t,r){var o=-1,s=t.length;for(r||(r=Array(s));++ow))return!1;var y=p.get(l),x=p.get(u);if(y&&x)return y==u&&x==l;var b=-1,C=!0,_=f&s?new e:void 0;for(p.set(l,u),p.set(u,l);++b0&&a(h)?s>1?r(h,s-1,a,l,u):e(u,h):l||(u[u.length]=h)}return u}return Zp=r,Zp}var eg,$k;function t5(){if($k)return eg;$k=1;function e(t,r,o){switch(o.length){case 0:return t.call(r);case 1:return t.call(r,o[0]);case 2:return t.call(r,o[0],o[1]);case 3:return t.call(r,o[0],o[1],o[2])}return t.apply(r,o)}return eg=e,eg}var tg,Bk;function Vk(){if(Bk)return tg;Bk=1;var e=t5(),t=Math.max;function r(o,s,a){return s=t(s===void 0?o.length-1:s,0),function(){for(var l=arguments,u=-1,f=t(l.length-s,0),d=Array(f);++u0){if(++a>=e)return arguments[0]}else a=0;return s.apply(void 0,arguments)}}return rg=o,rg}var og,Uk;function Gk(){if(Uk)return og;Uk=1;var e=n5(),t=r5(),r=t(e);return og=r,og}var ig,Yk;function Tl(){if(Yk)return ig;Yk=1;var e=Jr(),t=Vk(),r=Gk();function o(s,a){return r(t(s,a,e),s+"")}return ig=o,ig}var sg,Kk;function Xk(){if(Kk)return sg;Kk=1;function e(t,r,o,s){for(var a=t.length,l=o+(s?1:-1);s?l--:++l-1}return cg=t,cg}var fg,tN;function l5(){if(tN)return fg;tN=1;function e(t,r,o){for(var s=-1,a=t==null?0:t.length;++s=l){var b=d?null:s(f);if(b)return a(b);E=!1,m=o,x=new e}else x=d?[]:y;e:for(;++p1?w.setNode(E,p):w.setNode(E)}),this},s.prototype.setNode=function(h,p){return e.has(this._nodes,h)?(arguments.length>1&&(this._nodes[h]=p),this):(this._nodes[h]=arguments.length>1?p:this._defaultNodeLabelFn(h),this._isCompound&&(this._parent[h]=r,this._children[h]={},this._children[r][h]=!0),this._in[h]={},this._preds[h]={},this._out[h]={},this._sucs[h]={},++this._nodeCount,this)},s.prototype.node=function(h){return this._nodes[h]},s.prototype.hasNode=function(h){return e.has(this._nodes,h)},s.prototype.removeNode=function(h){var p=this;if(e.has(this._nodes,h)){var m=function(w){p.removeEdge(p._edgeObjs[w])};delete this._nodes[h],this._isCompound&&(this._removeFromParentsChildList(h),delete this._parent[h],e.each(this.children(h),function(w){p.setParent(w)}),delete this._children[h]),e.each(e.keys(this._in[h]),m),delete this._in[h],delete this._preds[h],e.each(e.keys(this._out[h]),m),delete this._out[h],delete this._sucs[h],--this._nodeCount}return this},s.prototype.setParent=function(h,p){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(p))p=r;else{p+="";for(var m=p;!e.isUndefined(m);m=this.parent(m))if(m===h)throw new Error("Setting "+p+" as parent of "+h+" would create a cycle");this.setNode(p)}return this.setNode(h),this._removeFromParentsChildList(h),this._parent[h]=p,this._children[p][h]=!0,this},s.prototype._removeFromParentsChildList=function(h){delete this._children[this._parent[h]][h]},s.prototype.parent=function(h){if(this._isCompound){var p=this._parent[h];if(p!==r)return p}},s.prototype.children=function(h){if(e.isUndefined(h)&&(h=r),this._isCompound){var p=this._children[h];if(p)return e.keys(p)}else{if(h===r)return this.nodes();if(this.hasNode(h))return[]}},s.prototype.predecessors=function(h){var p=this._preds[h];if(p)return e.keys(p)},s.prototype.successors=function(h){var p=this._sucs[h];if(p)return e.keys(p)},s.prototype.neighbors=function(h){var p=this.predecessors(h);if(p)return e.union(p,this.successors(h))},s.prototype.isLeaf=function(h){var p;return this.isDirected()?p=this.successors(h):p=this.neighbors(h),p.length===0},s.prototype.filterNodes=function(h){var p=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});p.setGraph(this.graph());var m=this;e.each(this._nodes,function(y,x){h(x)&&p.setNode(x,y)}),e.each(this._edgeObjs,function(y){p.hasNode(y.v)&&p.hasNode(y.w)&&p.setEdge(y,m.edge(y))});var w={};function E(y){var x=m.parent(y);return x===void 0||p.hasNode(x)?(w[y]=x,x):x in w?w[x]:E(x)}return this._isCompound&&e.each(p.nodes(),function(y){p.setParent(y,E(y))}),p},s.prototype.setDefaultEdgeLabel=function(h){return e.isFunction(h)||(h=e.constant(h)),this._defaultEdgeLabelFn=h,this},s.prototype.edgeCount=function(){return this._edgeCount},s.prototype.edges=function(){return e.values(this._edgeObjs)},s.prototype.setPath=function(h,p){var m=this,w=arguments;return e.reduce(h,function(E,y){return w.length>1?m.setEdge(E,y,p):m.setEdge(E,y),y}),this},s.prototype.setEdge=function(){var h,p,m,w,E=!1,y=arguments[0];typeof y=="object"&&y!==null&&"v"in y?(h=y.v,p=y.w,m=y.name,arguments.length===2&&(w=arguments[1],E=!0)):(h=y,p=arguments[1],m=arguments[3],arguments.length>2&&(w=arguments[2],E=!0)),h=""+h,p=""+p,e.isUndefined(m)||(m=""+m);var x=u(this._isDirected,h,p,m);if(e.has(this._edgeLabels,x))return E&&(this._edgeLabels[x]=w),this;if(!e.isUndefined(m)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(h),this.setNode(p),this._edgeLabels[x]=E?w:this._defaultEdgeLabelFn(h,p,m);var b=f(this._isDirected,h,p,m);return h=b.v,p=b.w,Object.freeze(b),this._edgeObjs[x]=b,a(this._preds[p],h),a(this._sucs[h],p),this._in[p][x]=b,this._out[h][x]=b,this._edgeCount++,this},s.prototype.edge=function(h,p,m){var w=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return this._edgeLabels[w]},s.prototype.hasEdge=function(h,p,m){var w=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m);return e.has(this._edgeLabels,w)},s.prototype.removeEdge=function(h,p,m){var w=arguments.length===1?d(this._isDirected,arguments[0]):u(this._isDirected,h,p,m),E=this._edgeObjs[w];return E&&(h=E.v,p=E.w,delete this._edgeLabels[w],delete this._edgeObjs[w],l(this._preds[p],h),l(this._sucs[h],p),delete this._in[p][w],delete this._out[h][w],this._edgeCount--),this},s.prototype.inEdges=function(h,p){var m=this._in[h];if(m){var w=e.values(m);return p?e.filter(w,function(E){return E.v===p}):w}},s.prototype.outEdges=function(h,p){var m=this._out[h];if(m){var w=e.values(m);return p?e.filter(w,function(E){return E.w===p}):w}},s.prototype.nodeEdges=function(h,p){var m=this.inEdges(h,p);if(m)return m.concat(this.outEdges(h,p))};function a(h,p){h[p]?h[p]++:h[p]=1}function l(h,p){--h[p]||delete h[p]}function u(h,p,m,w){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}return E+o+y+o+(e.isUndefined(w)?t:w)}function f(h,p,m,w){var E=""+p,y=""+m;if(!h&&E>y){var x=E;E=y,y=x}var b={v:E,w:y};return w&&(b.name=w),b}function d(h,p){return u(h,p.v,p.w,p.name)}return xg}var bg,hN;function p5(){return hN||(hN=1,bg="2.1.8"),bg}var Sg,pN;function g5(){return pN||(pN=1,Sg={Graph:_g(),version:p5()}),Sg}var Eg,gN;function m5(){if(gN)return Eg;gN=1;var e=Vt(),t=_g();Eg={write:r,read:a};function r(l){var u={options:{directed:l.isDirected(),multigraph:l.isMultigraph(),compound:l.isCompound()},nodes:o(l),edges:s(l)};return e.isUndefined(l.graph())||(u.value=e.clone(l.graph())),u}function o(l){return e.map(l.nodes(),function(u){var f=l.node(u),d=l.parent(u),h={v:u};return e.isUndefined(f)||(h.value=f),e.isUndefined(d)||(h.parent=d),h})}function s(l){return e.map(l.edges(),function(u){var f=l.edge(u),d={v:u.v,w:u.w};return e.isUndefined(u.name)||(d.name=u.name),e.isUndefined(f)||(d.value=f),d})}function a(l){var u=new t(l.options).setGraph(l.value);return e.each(l.nodes,function(f){u.setNode(f.v,f.value),f.parent&&u.setParent(f.v,f.parent)}),e.each(l.edges,function(f){u.setEdge({v:f.v,w:f.w,name:f.name},f.value)}),u}return Eg}var Cg,mN;function v5(){if(mN)return Cg;mN=1;var e=Vt();Cg=t;function t(r){var o={},s=[],a;function l(u){e.has(o,u)||(o[u]=!0,a.push(u),e.each(r.successors(u),l),e.each(r.predecessors(u),l))}return e.each(r.nodes(),function(u){a=[],l(u),a.length&&s.push(a)}),s}return Cg}var kg,vN;function yN(){if(vN)return kg;vN=1;var e=Vt();kg=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(r){return r.key})},t.prototype.has=function(r){return e.has(this._keyIndices,r)},t.prototype.priority=function(r){var o=this._keyIndices[r];if(o!==void 0)return this._arr[o].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(r,o){var s=this._keyIndices;if(r=String(r),!e.has(s,r)){var a=this._arr,l=a.length;return s[r]=l,a.push({key:r,priority:o}),this._decrease(l),!0}return!1},t.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},t.prototype.decrease=function(r,o){var s=this._keyIndices[r];if(o>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[s].priority+" New: "+o);this._arr[s].priority=o,this._decrease(s)},t.prototype._heapify=function(r){var o=this._arr,s=2*r,a=s+1,l=r;s>1,!(o[a].priority0&&(p=h.removeMin(),m=d[p],m.distance!==Number.POSITIVE_INFINITY);)f(p).forEach(w);return d}return Ng}var Rg,_N;function y5(){if(_N)return Rg;_N=1;var e=xN(),t=Vt();Rg=r;function r(o,s,a){return t.transform(o.nodes(),function(l,u){l[u]=e(o,u,s,a)},{})}return Rg}var Pg,bN;function SN(){if(bN)return Pg;bN=1;var e=Vt();Pg=t;function t(r){var o=0,s=[],a={},l=[];function u(f){var d=a[f]={onStack:!0,lowlink:o,index:o++};if(s.push(f),r.successors(f).forEach(function(m){e.has(a,m)?a[m].onStack&&(d.lowlink=Math.min(d.lowlink,a[m].index)):(u(m),d.lowlink=Math.min(d.lowlink,a[m].lowlink))}),d.lowlink===d.index){var h=[],p;do p=s.pop(),a[p].onStack=!1,h.push(p);while(f!==p);l.push(h)}}return r.nodes().forEach(function(f){e.has(a,f)||u(f)}),l}return Pg}var Tg,EN;function w5(){if(EN)return Tg;EN=1;var e=Vt(),t=SN();Tg=r;function r(o){return e.filter(t(o),function(s){return s.length>1||s.length===1&&o.hasEdge(s[0],s[0])})}return Tg}var Ag,CN;function x5(){if(CN)return Ag;CN=1;var e=Vt();Ag=r;var t=e.constant(1);function r(s,a,l){return o(s,a||t,l||function(u){return s.outEdges(u)})}function o(s,a,l){var u={},f=s.nodes();return f.forEach(function(d){u[d]={},u[d][d]={distance:0},f.forEach(function(h){d!==h&&(u[d][h]={distance:Number.POSITIVE_INFINITY})}),l(d).forEach(function(h){var p=h.v===d?h.w:h.v,m=a(h);u[d][p]={distance:m,predecessor:d}})}),f.forEach(function(d){var h=u[d];f.forEach(function(p){var m=u[p];f.forEach(function(w){var E=m[d],y=h[w],x=m[w],b=E.distance+y.distance;b0;){if(d=f.removeMin(),e.has(u,d))l.setEdge(d,u[d]);else{if(p)throw new Error("Input graph is not connected: "+s);p=!0}s.nodeEdges(d).forEach(h)}return l}return jg}var qg,ON;function C5(){return ON||(ON=1,qg={components:v5(),dijkstra:xN(),dijkstraAll:y5(),findCycles:w5(),floydWarshall:x5(),isAcyclic:_5(),postorder:b5(),preorder:S5(),prim:E5(),tarjan:SN(),topsort:NN()}),qg}var zg,LN;function k5(){if(LN)return zg;LN=1;var e=g5();return zg={Graph:e.Graph,json:m5(),alg:C5(),version:e.version},zg}var Fg,DN;function dn(){if(DN)return Fg;DN=1;var e;if(typeof Rf=="function")try{e=k5()}catch{}return e||(e=window.graphlib),Fg=e,Fg}var $g,jN;function N5(){if(jN)return $g;jN=1;var e=aC(),t=1,r=4;function o(s){return e(s,t|r)}return $g=o,$g}var Bg,qN;function Al(){if(qN)return Bg;qN=1;var e=Ho(),t=Hn(),r=bl(),o=Bt();function s(a,l,u){if(!o(u))return!1;var f=typeof l;return(f=="number"?t(u)&&r(l,u.length):f=="string"&&l in u)?e(u[l],a):!1}return Bg=s,Bg}var Vg,zN;function R5(){if(zN)return Vg;zN=1;var e=Tl(),t=Ho(),r=Al(),o=Zr(),s=Object.prototype,a=s.hasOwnProperty,l=e(function(u,f){u=Object(u);var d=-1,h=f.length,p=h>2?f[2]:void 0;for(p&&r(f[0],f[1],p)&&(h=1);++d-1?f[d?a[h]:h]:void 0}}return Hg=o,Hg}var Wg,$N;function T5(){if($N)return Wg;$N=1;var e=/\s/;function t(r){for(var o=r.length;o--&&e.test(r.charAt(o)););return o}return Wg=t,Wg}var Ug,BN;function A5(){if(BN)return Ug;BN=1;var e=T5(),t=/^\s+/;function r(o){return o&&o.slice(0,e(o)+1).replace(t,"")}return Ug=r,Ug}var Gg,VN;function I5(){if(VN)return Gg;VN=1;var e=A5(),t=Bt(),r=Yo(),o=NaN,s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;function f(d){if(typeof d=="number")return d;if(r(d))return o;if(t(d)){var h=typeof d.valueOf=="function"?d.valueOf():d;d=t(h)?h+"":h}if(typeof d!="string")return d===0?d:+d;d=e(d);var p=a.test(d);return p||l.test(d)?u(d.slice(2),p?2:8):s.test(d)?o:+d}return Gg=f,Gg}var Yg,HN;function WN(){if(HN)return Yg;HN=1;var e=I5(),t=1/0,r=17976931348623157e292;function o(s){if(!s)return s===0?s:0;if(s=e(s),s===t||s===-t){var a=s<0?-1:1;return a*r}return s===s?s:0}return Yg=o,Yg}var Kg,UN;function M5(){if(UN)return Kg;UN=1;var e=WN();function t(r){var o=e(r),s=o%1;return o===o?s?o-s:o:0}return Kg=t,Kg}var Xg,GN;function O5(){if(GN)return Xg;GN=1;var e=Xk(),t=Wn(),r=M5(),o=Math.max;function s(a,l,u){var f=a==null?0:a.length;if(!f)return-1;var d=u==null?0:r(u);return d<0&&(d=o(f+d,0)),e(a,t(l,3),d)}return Xg=s,Xg}var Qg,YN;function L5(){if(YN)return Qg;YN=1;var e=P5(),t=O5(),r=e(t);return Qg=r,Qg}var Zg,KN;function XN(){if(KN)return Zg;KN=1;var e=Jp();function t(r){var o=r==null?0:r.length;return o?e(r,1):[]}return Zg=t,Zg}var Jg,QN;function D5(){if(QN)return Jg;QN=1;var e=zh(),t=vC(),r=Zr();function o(s,a){return s==null?s:e(s,t(a),r)}return Jg=o,Jg}var em,ZN;function j5(){if(ZN)return em;ZN=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return em=e,em}var tm,JN;function q5(){if(JN)return tm;JN=1;var e=xl(),t=$h(),r=Wn();function o(s,a){var l={};return a=r(a,3),t(s,function(u,f,d){e(l,f,a(u,f,d))}),l}return tm=o,tm}var nm,eR;function rm(){if(eR)return nm;eR=1;var e=Yo();function t(r,o,s){for(var a=-1,l=r.length;++ar}return om=e,om}var im,nR;function F5(){if(nR)return im;nR=1;var e=rm(),t=z5(),r=Jr();function o(s){return s&&s.length?e(s,r,t):void 0}return im=o,im}var sm,rR;function oR(){if(rR)return sm;rR=1;var e=xl(),t=Ho();function r(o,s,a){(a!==void 0&&!t(o[s],a)||a===void 0&&!(s in o))&&e(o,s,a)}return sm=r,sm}var am,iR;function $5(){if(iR)return am;iR=1;var e=Xr(),t=Cl(),r=Tn(),o="[object Object]",s=Function.prototype,a=Object.prototype,l=s.toString,u=a.hasOwnProperty,f=l.call(Object);function d(h){if(!r(h)||e(h)!=o)return!1;var p=t(h);if(p===null)return!0;var m=u.call(p,"constructor")&&p.constructor;return typeof m=="function"&&m instanceof m&&l.call(m)==f}return am=d,am}var lm,sR;function aR(){if(sR)return lm;sR=1;function e(t,r){if(!(r==="constructor"&&typeof t[r]=="function")&&r!="__proto__")return t[r]}return lm=e,lm}var um,lR;function B5(){if(lR)return um;lR=1;var e=is(),t=Zr();function r(o){return e(o,t(o))}return um=r,um}var cm,uR;function V5(){if(uR)return cm;uR=1;var e=oR(),t=vE(),r=XE(),o=wE(),s=tC(),a=ss(),l=tt(),u=sN(),f=Uo(),d=os(),h=Bt(),p=$5(),m=us(),w=aR(),E=B5();function y(x,b,C,_,k,R,T){var A=w(x,C),O=w(b,C),j=T.get(O);if(j){e(x,C,j);return}var G=R?R(A,O,C+"",x,b,T):void 0,B=G===void 0;if(B){var V=l(O),X=!V&&f(O),L=!V&&!X&&m(O);G=O,V||X||L?l(A)?G=A:u(A)?G=o(A):X?(B=!1,G=t(O,!0)):L?(B=!1,G=r(O,!0)):G=[]:p(O)||a(O)?(G=A,a(A)?G=E(A):(!h(A)||d(A))&&(G=s(O))):B=!1}B&&(T.set(O,G),k(G,O,_,R,T),T.delete(O)),e(x,C,G)}return cm=y,cm}var fm,cR;function H5(){if(cR)return fm;cR=1;var e=wl(),t=oR(),r=zh(),o=V5(),s=Bt(),a=Zr(),l=aR();function u(f,d,h,p,m){f!==d&&r(d,function(w,E){if(m||(m=new e),s(w))o(f,d,E,h,u,p,m);else{var y=p?p(l(f,E),w,E+"",f,d,m):void 0;y===void 0&&(y=w),t(f,E,y)}},a)}return fm=u,fm}var dm,fR;function W5(){if(fR)return dm;fR=1;var e=Tl(),t=Al();function r(o){return e(function(s,a){var l=-1,u=a.length,f=u>1?a[u-1]:void 0,d=u>2?a[2]:void 0;for(f=o.length>3&&typeof f=="function"?(u--,f):void 0,d&&t(a[0],a[1],d)&&(f=u<3?void 0:f,u=1),s=Object(s);++lo||u&&f&&h&&!d&&!p||a&&f&&h||!s&&h||!l)return 1;if(!a&&!u&&!p&&r=d)return h;var p=s[a];return h*(p=="desc"?-1:1)}}return r.index-o.index}return Rm=t,Rm}var Pm,PR;function aV(){if(PR)return Pm;PR=1;var e=Nl(),t=Pl(),r=Wn(),o=Ck(),s=oV(),a=Sl(),l=sV(),u=Jr(),f=tt();function d(h,p,m){p.length?p=e(p,function(y){return f(y)?function(x){return t(x,y.length===1?y[0]:y)}:y}):p=[u];var w=-1;p=e(p,a(r));var E=o(h,function(y,x,b){var C=e(p,function(_){return _(y)});return{criteria:C,index:++w,value:y}});return s(E,function(y,x){return l(y,x,m)})}return Pm=d,Pm}var Tm,TR;function lV(){if(TR)return Tm;TR=1;var e=Jp(),t=aV(),r=Tl(),o=Al(),s=r(function(a,l){if(a==null)return[];var u=l.length;return u>1&&o(a,l[0],l[1])?l=[]:u>2&&o(l[0],l[1],l[2])&&(l=[l[0]]),t(a,e(l,1),[])});return Tm=s,Tm}var Am,AR;function uV(){if(AR)return Am;AR=1;var e=ek(),t=0;function r(o){var s=++t;return e(o)+s}return Am=r,Am}var Im,IR;function cV(){if(IR)return Im;IR=1;function e(t,r,o){for(var s=-1,a=t.length,l=r.length,u={};++s0;--x)if(y=h[x].dequeue(),y){m=m.concat(l(d,h,p,y,!0));break}}}return m}function l(d,h,p,m,w){var E=w?[]:void 0;return e.forEach(d.inEdges(m.v),function(y){var x=d.edge(y),b=d.node(y.v);w&&E.push({v:y.v,w:y.w}),b.out-=x,f(h,p,b)}),e.forEach(d.outEdges(m.v),function(y){var x=d.edge(y),b=y.w,C=d.node(b);C.in-=x,f(h,p,C)}),d.removeNode(m.v),E}function u(d,h){var p=new t,m=0,w=0;e.forEach(d.nodes(),function(x){p.setNode(x,{v:x,in:0,out:0})}),e.forEach(d.edges(),function(x){var b=p.edge(x.v,x.w)||0,C=h(x),_=b+C;p.setEdge(x.v,x.w,_),w=Math.max(w,p.node(x.v).out+=C),m=Math.max(m,p.node(x.w).in+=C)});var E=e.range(w+m+3).map(function(){return new r}),y=m+1;return e.forEach(p.nodes(),function(x){f(E,y,p.node(x))}),{graph:p,buckets:E,zeroIdx:y}}function f(d,h,p){p.out?p.in?d[p.out-p.in+h].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}return Dm}var jm,jR;function pV(){if(jR)return jm;jR=1;var e=$e(),t=hV();jm={run:r,undo:s};function r(a){var l=a.graph().acyclicer==="greedy"?t(a,u(a)):o(a);e.forEach(l,function(f){var d=a.edge(f);a.removeEdge(f),d.forwardName=f.name,d.reversed=!0,a.setEdge(f.w,f.v,d,e.uniqueId("rev"))});function u(f){return function(d){return f.edge(d).weight}}}function o(a){var l=[],u={},f={};function d(h){e.has(f,h)||(f[h]=!0,u[h]=!0,e.forEach(a.outEdges(h),function(p){e.has(u,p.w)?l.push(p):d(p.w)}),delete u[h])}return e.forEach(a.nodes(),d),l}function s(a){e.forEach(a.edges(),function(l){var u=a.edge(l);if(u.reversed){a.removeEdge(l);var f=u.forwardName;delete u.reversed,delete u.forwardName,a.setEdge(l.w,l.v,u,f)}})}return jm}var qm,qR;function St(){if(qR)return qm;qR=1;var e=$e(),t=dn().Graph;qm={addDummyNode:r,simplify:o,asNonCompoundGraph:s,successorWeights:a,predecessorWeights:l,intersectRect:u,buildLayerMatrix:f,normalizeRanks:d,removeEmptyRanks:h,addBorderNode:p,maxRank:m,partition:w,time:E,notime:y};function r(x,b,C,_){var k;do k=e.uniqueId(_);while(x.hasNode(k));return C.dummy=b,x.setNode(k,C),k}function o(x){var b=new t().setGraph(x.graph());return e.forEach(x.nodes(),function(C){b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){var _=b.edge(C.v,C.w)||{weight:0,minlen:1},k=x.edge(C);b.setEdge(C.v,C.w,{weight:_.weight+k.weight,minlen:Math.max(_.minlen,k.minlen)})}),b}function s(x){var b=new t({multigraph:x.isMultigraph()}).setGraph(x.graph());return e.forEach(x.nodes(),function(C){x.children(C).length||b.setNode(C,x.node(C))}),e.forEach(x.edges(),function(C){b.setEdge(C,x.edge(C))}),b}function a(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.outEdges(C),function(k){_[k.w]=(_[k.w]||0)+x.edge(k).weight}),_});return e.zipObject(x.nodes(),b)}function l(x){var b=e.map(x.nodes(),function(C){var _={};return e.forEach(x.inEdges(C),function(k){_[k.v]=(_[k.v]||0)+x.edge(k).weight}),_});return e.zipObject(x.nodes(),b)}function u(x,b){var C=x.x,_=x.y,k=b.x-C,R=b.y-_,T=x.width/2,A=x.height/2;if(!k&&!R)throw new Error("Not possible to find intersection inside of the rectangle");var O,j;return Math.abs(R)*T>Math.abs(k)*A?(R<0&&(A=-A),O=A*k/R,j=A):(k<0&&(T=-T),O=T,j=T*R/k),{x:C+O,y:_+j}}function f(x){var b=e.map(e.range(m(x)+1),function(){return[]});return e.forEach(x.nodes(),function(C){var _=x.node(C),k=_.rank;e.isUndefined(k)||(b[k][_.order]=C)}),b}function d(x){var b=e.min(e.map(x.nodes(),function(C){return x.node(C).rank}));e.forEach(x.nodes(),function(C){var _=x.node(C);e.has(_,"rank")&&(_.rank-=b)})}function h(x){var b=e.min(e.map(x.nodes(),function(R){return x.node(R).rank})),C=[];e.forEach(x.nodes(),function(R){var T=x.node(R).rank-b;C[T]||(C[T]=[]),C[T].push(R)});var _=0,k=x.graph().nodeRankFactor;e.forEach(C,function(R,T){e.isUndefined(R)&&T%k!==0?--_:_&&e.forEach(R,function(A){x.node(A).rank+=_})})}function p(x,b,C,_){var k={width:0,height:0};return arguments.length>=4&&(k.rank=C,k.order=_),r(x,"border",k,b)}function m(x){return e.max(e.map(x.nodes(),function(b){var C=x.node(b).rank;if(!e.isUndefined(C))return C}))}function w(x,b){var C={lhs:[],rhs:[]};return e.forEach(x,function(_){b(_)?C.lhs.push(_):C.rhs.push(_)}),C}function E(x,b){var C=e.now();try{return b()}finally{console.log(x+" time: "+(e.now()-C)+"ms")}}function y(x,b){return b()}return qm}var zm,zR;function gV(){if(zR)return zm;zR=1;var e=$e(),t=St();zm={run:r,undo:s};function r(a){a.graph().dummyChains=[],e.forEach(a.edges(),function(l){o(a,l)})}function o(a,l){var u=l.v,f=a.node(u).rank,d=l.w,h=a.node(d).rank,p=l.name,m=a.edge(l),w=m.labelRank;if(h!==f+1){a.removeEdge(l);var E,y,x;for(x=0,++f;fj.lim&&(G=j,B=!0);var V=e.filter(k.edges(),function(X){return B===C(_,_.node(X.v),G)&&B!==C(_,_.node(X.w),G)});return e.minBy(V,function(X){return r(k,X)})}function y(_,k,R,T){var A=R.v,O=R.w;_.removeEdge(A,O),_.setEdge(T.v,T.w,{}),p(_),f(_,k),x(_,k)}function x(_,k){var R=e.find(_.nodes(),function(A){return!k.node(A).parent}),T=s(_,R);T=T.slice(1),e.forEach(T,function(A){var O=_.node(A).parent,j=k.edge(A,O),G=!1;j||(j=k.edge(O,A),G=!0),k.node(A).rank=k.node(O).rank+(G?j.minlen:-j.minlen)})}function b(_,k,R){return _.hasEdge(k,R)}function C(_,k,R){return R.low<=k.lim&&k.lim<=R.lim}return Bm}var Vm,HR;function vV(){if(HR)return Vm;HR=1;var e=Il(),t=e.longestPath,r=BR(),o=mV();Vm=s;function s(f){switch(f.graph().ranker){case"network-simplex":u(f);break;case"tight-tree":l(f);break;case"longest-path":a(f);break;default:u(f)}}var a=t;function l(f){t(f),r(f)}function u(f){o(f)}return Vm}var Hm,WR;function yV(){if(WR)return Hm;WR=1;var e=$e();Hm=t;function t(s){var a=o(s);e.forEach(s.graph().dummyChains,function(l){for(var u=s.node(l),f=u.edgeObj,d=r(s,a,f.v,f.w),h=d.path,p=d.lca,m=0,w=h[m],E=!0;l!==f.w;){if(u=s.node(l),E){for(;(w=h[m])!==p&&s.node(w).maxRankh||p>a[m].lim));for(w=m,m=u;(m=s.parent(m))!==w;)d.push(m);return{path:f.concat(d.reverse()),lca:w}}function o(s){var a={},l=0;function u(f){var d=l;e.forEach(s.children(f),u),a[f]={low:d,lim:l++}}return e.forEach(s.children(),u),a}return Hm}var Wm,UR;function wV(){if(UR)return Wm;UR=1;var e=$e(),t=St();Wm={run:r,cleanup:l};function r(u){var f=t.addDummyNode(u,"root",{},"_root"),d=s(u),h=e.max(e.values(d))-1,p=2*h+1;u.graph().nestingRoot=f,e.forEach(u.edges(),function(w){u.edge(w).minlen*=p});var m=a(u)+1;e.forEach(u.children(),function(w){o(u,f,p,m,h,d,w)}),u.graph().nodeRankFactor=p}function o(u,f,d,h,p,m,w){var E=u.children(w);if(!E.length){w!==f&&u.setEdge(f,w,{weight:0,minlen:d});return}var y=t.addBorderNode(u,"_bt"),x=t.addBorderNode(u,"_bb"),b=u.node(w);u.setParent(y,w),b.borderTop=y,u.setParent(x,w),b.borderBottom=x,e.forEach(E,function(C){o(u,f,d,h,p,m,C);var _=u.node(C),k=_.borderTop?_.borderTop:C,R=_.borderBottom?_.borderBottom:C,T=_.borderTop?h:2*h,A=k!==R?1:p-m[w]+1;u.setEdge(y,k,{weight:T,minlen:A,nestingEdge:!0}),u.setEdge(R,x,{weight:T,minlen:A,nestingEdge:!0})}),u.parent(w)||u.setEdge(f,y,{weight:0,minlen:p+m[w]})}function s(u){var f={};function d(h,p){var m=u.children(h);m&&m.length&&e.forEach(m,function(w){d(w,p+1)}),f[h]=p}return e.forEach(u.children(),function(h){d(h,1)}),f}function a(u){return e.reduce(u.edges(),function(f,d){return f+u.edge(d).weight},0)}function l(u){var f=u.graph();u.removeNode(f.nestingRoot),delete f.nestingRoot,e.forEach(u.edges(),function(d){var h=u.edge(d);h.nestingEdge&&u.removeEdge(d)})}return Wm}var Um,GR;function xV(){if(GR)return Um;GR=1;var e=$e(),t=St();Um=r;function r(s){function a(l){var u=s.children(l),f=s.node(l);if(u.length&&e.forEach(u,a),e.has(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(var d=f.minRank,h=f.maxRank+1;d0;)w%2&&(E+=h[w+1]),w=w-1>>1,h[w]+=m.weight;p+=m.weight*E})),p}return Km}var Xm,QR;function EV(){if(QR)return Xm;QR=1;var e=$e();Xm=t;function t(r,o){return e.map(o,function(s){var a=r.inEdges(s);if(a.length){var l=e.reduce(a,function(u,f){var d=r.edge(f),h=r.node(f.v);return{sum:u.sum+d.weight*h.order,weight:u.weight+d.weight}},{sum:0,weight:0});return{v:s,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:s}})}return Xm}var Qm,ZR;function CV(){if(ZR)return Qm;ZR=1;var e=$e();Qm=t;function t(s,a){var l={};e.forEach(s,function(f,d){var h=l[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};e.isUndefined(f.barycenter)||(h.barycenter=f.barycenter,h.weight=f.weight)}),e.forEach(a.edges(),function(f){var d=l[f.v],h=l[f.w];!e.isUndefined(d)&&!e.isUndefined(h)&&(h.indegree++,d.out.push(l[f.w]))});var u=e.filter(l,function(f){return!f.indegree});return r(u)}function r(s){var a=[];function l(d){return function(h){h.merged||(e.isUndefined(h.barycenter)||e.isUndefined(d.barycenter)||h.barycenter>=d.barycenter)&&o(d,h)}}function u(d){return function(h){h.in.push(d),--h.indegree===0&&s.push(h)}}for(;s.length;){var f=s.pop();a.push(f),e.forEach(f.in.reverse(),l(f)),e.forEach(f.out,u(f))}return e.map(e.filter(a,function(d){return!d.merged}),function(d){return e.pick(d,["vs","i","barycenter","weight"])})}function o(s,a){var l=0,u=0;s.weight&&(l+=s.barycenter*s.weight,u+=s.weight),a.weight&&(l+=a.barycenter*a.weight,u+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=l/u,s.weight=u,s.i=Math.min(a.i,s.i),a.merged=!0}return Qm}var Zm,JR;function kV(){if(JR)return Zm;JR=1;var e=$e(),t=St();Zm=r;function r(a,l){var u=t.partition(a,function(y){return e.has(y,"barycenter")}),f=u.lhs,d=e.sortBy(u.rhs,function(y){return-y.i}),h=[],p=0,m=0,w=0;f.sort(s(!!l)),w=o(h,d,w),e.forEach(f,function(y){w+=y.vs.length,h.push(y.vs),p+=y.barycenter*y.weight,m+=y.weight,w=o(h,d,w)});var E={vs:e.flatten(h,!0)};return m&&(E.barycenter=p/m,E.weight=m),E}function o(a,l,u){for(var f;l.length&&(f=e.last(l)).i<=u;)l.pop(),a.push(f.vs),u++;return u}function s(a){return function(l,u){return l.barycenteru.barycenter?1:a?u.i-l.i:l.i-u.i}}return Zm}var Jm,eP;function NV(){if(eP)return Jm;eP=1;var e=$e(),t=EV(),r=CV(),o=kV();Jm=s;function s(u,f,d,h){var p=u.children(f),m=u.node(f),w=m?m.borderLeft:void 0,E=m?m.borderRight:void 0,y={};w&&(p=e.filter(p,function(R){return R!==w&&R!==E}));var x=t(u,p);e.forEach(x,function(R){if(u.children(R.v).length){var T=s(u,R.v,d,h);y[R.v]=T,e.has(T,"barycenter")&&l(R,T)}});var b=r(x,d);a(b,y);var C=o(b,h);if(w&&(C.vs=e.flatten([w,C.vs,E],!0),u.predecessors(w).length)){var _=u.node(u.predecessors(w)[0]),k=u.node(u.predecessors(E)[0]);e.has(C,"barycenter")||(C.barycenter=0,C.weight=0),C.barycenter=(C.barycenter*C.weight+_.order+k.order)/(C.weight+2),C.weight+=2}return C}function a(u,f){e.forEach(u,function(d){d.vs=e.flatten(d.vs.map(function(h){return f[h]?f[h].vs:h}),!0)})}function l(u,f){e.isUndefined(u.barycenter)?(u.barycenter=f.barycenter,u.weight=f.weight):(u.barycenter=(u.barycenter*u.weight+f.barycenter*f.weight)/(u.weight+f.weight),u.weight+=f.weight)}return Jm}var ev,tP;function RV(){if(tP)return ev;tP=1;var e=$e(),t=dn().Graph;ev=r;function r(s,a,l){var u=o(s),f=new t({compound:!0}).setGraph({root:u}).setDefaultNodeLabel(function(d){return s.node(d)});return e.forEach(s.nodes(),function(d){var h=s.node(d),p=s.parent(d);(h.rank===a||h.minRank<=a&&a<=h.maxRank)&&(f.setNode(d),f.setParent(d,p||u),e.forEach(s[l](d),function(m){var w=m.v===d?m.w:m.v,E=f.edge(w,d),y=e.isUndefined(E)?0:E.weight;f.setEdge(w,d,{weight:s.edge(m).weight+y})}),e.has(h,"minRank")&&f.setNode(d,{borderLeft:h.borderLeft[a],borderRight:h.borderRight[a]}))}),f}function o(s){for(var a;s.hasNode(a=e.uniqueId("_root")););return a}return ev}var tv,nP;function PV(){if(nP)return tv;nP=1;var e=$e();tv=t;function t(r,o,s){var a={},l;e.forEach(s,function(u){for(var f=r.parent(u),d,h;f;){if(d=r.parent(f),d?(h=a[d],a[d]=f):(h=l,l=f),h&&h!==f){o.setEdge(h,f);return}f=d}})}return tv}var nv,rP;function TV(){if(rP)return nv;rP=1;var e=$e(),t=bV(),r=SV(),o=NV(),s=RV(),a=PV(),l=dn().Graph,u=St();nv=f;function f(m){var w=u.maxRank(m),E=d(m,e.range(1,w+1),"inEdges"),y=d(m,e.range(w-1,-1,-1),"outEdges"),x=t(m);p(m,x);for(var b=Number.POSITIVE_INFINITY,C,_=0,k=0;k<4;++_,++k){h(_%2?E:y,_%4>=2),x=u.buildLayerMatrix(m);var R=r(m,x);RG)&&l(_,X,B)})})}function R(T,A){var O=-1,j,G=0;return e.forEach(A,function(B,V){if(b.node(B).dummy==="border"){var X=b.predecessors(B);X.length&&(j=b.node(X[0]).order,k(A,G,V,O,j),G=V,O=j)}k(A,G,A.length,j,T.length)}),A}return e.reduce(C,R),_}function a(b,C){if(b.node(C).dummy)return e.find(b.predecessors(C),function(_){return b.node(_).dummy})}function l(b,C,_){if(C>_){var k=C;C=_,_=k}var R=b[C];R||(b[C]=R={}),R[_]=!0}function u(b,C,_){if(C>_){var k=C;C=_,_=k}return e.has(b[C],_)}function f(b,C,_,k){var R={},T={},A={};return e.forEach(C,function(O){e.forEach(O,function(j,G){R[j]=j,T[j]=j,A[j]=G})}),e.forEach(C,function(O){var j=-1;e.forEach(O,function(G){var B=k(G);if(B.length){B=e.sortBy(B,function($){return A[$]});for(var V=(B.length-1)/2,X=Math.floor(V),L=Math.ceil(V);X<=L;++X){var H=B[X];T[G]===G&&j{const e=N.useContext(cP);if(!e)throw new Error("useSetNodeValues must be used within SetNodeValuesContext.Provider");return e};class uv{constructor(t,r,o="Node"){Gu(this,"grid");Gu(this,"style");Gu(this,"label");if(this.grid=t,this.style=r,this.label=o,!t)throw new Error("'grid' property is required in node definition.")}buildStyleConfig(){const{style:t}=this,r={};t!=null&&t.minWidth&&(r.minWidth=typeof t.minWidth=="number"?`${t.minWidth}px`:t.minWidth),t!=null&&t.maxWidth&&(r.maxWidth=typeof t.maxWidth=="number"?`${t.maxWidth}px`:t.maxWidth),t!=null&&t.borderRadius&&(r.borderRadius=t.borderRadius);const o=t!=null&&t.shadow?`shadow-${t.shadow}`:"shadow-md";return{style:r,className:dt("min-w-[200px] border-2 transition-all overflow-hidden p-0 gap-0",o,t==null?void 0:t.className)}}buildComponent(){const{grid:t,label:r}=this,o=this.buildStyleConfig(),s=({id:a,data:l,selected:u})=>{const f=l,d=qV(),h=N.useCallback((w,E)=>{d(y=>({...y,[a]:{...y[a],[w]:E}}))},[a,d]),p=f.grid||t,m=N.useMemo(()=>({nodeId:a,nodeData:f||{label:r,grid:t,values:{}},onValueChange:h}),[a,f,h]);return I.jsx(Hb,{className:dt(o.className,u&&"border-primary shadow-lg ring-2 ring-primary/20"),style:o.style,children:I.jsx(N1.Provider,{value:m,children:I.jsx(m$,{grid:p,nodeId:a,onValueChange:h})})})};return N.memo(s,(a,l)=>{if(a.id!==l.id||a.selected!==l.selected)return!1;const u=a.data.values,f=l.data.values;return u===f?!0:!u||!f?u===f:JSON.stringify(u)===JSON.stringify(f)})}static buildComponent(t,r,o="Node"){return new uv(t,r,o).buildComponent()}}function zV(e){const t={};for(const r of e)try{t[r.type]=uv.buildComponent(r.definition.grid,r.definition.style,r.label)}catch(o){throw typeof process.env.VITEST>"u"&&console.error(`Failed to build component for node type "${r.type}":`,o),o}return t}function FV({workflowData:e,height:t="600px",interactive:r=!0}){const[o,s]=N.useState(e.nodes||{}),[a,l]=N.useState(e.edges||[]),[u,f]=N.useState(e.node_values||{}),d=e.node_templates||[],h=N.useMemo(()=>Object.values(o||{}),[o]),p=N.useMemo(()=>{const x=new Map;return d.forEach(b=>{x.set(b.type,b)}),x},[d]),m=N.useMemo(()=>!u||Object.keys(u).length===0?h:h.map(x=>{const b=p.get(x.type),C=u[x.id]||{};return b?{...x,data:{...x.data||{},definition:b.definition,label:b.label,icon:b.icon,values:C}}:(console.warn(`Template not found for node type: ${x.type}`),x)}),[h,p,u]),w=N.useMemo(()=>zV(d),[d]),E=N.useCallback(x=>{if(!r)return;const b=gx(x,m),C={};b.forEach(_=>{C[_.id]=_}),s(C)},[m,r]),y=N.useCallback(x=>{r&&l(b=>mx(x,b))},[r]);return I.jsx(jV.Provider,{value:s,children:I.jsx(cP.Provider,{value:f,children:I.jsx("div",{style:{width:"100%",height:t},children:I.jsx(_$,{nodes:m,edges:a,nodeTypes:w,height:t,onNodesChange:E,onEdgesChange:y,onConnect:()=>{},onNodeContextMenu:()=>{},onEdgeContextMenu:()=>{},onPaneClick:()=>{},contextMenu:null,onDelete:()=>{},onCloseContextMenu:()=>{},onExport:()=>{},onLayoutVertical:()=>{},onLayoutHorizontal:()=>{}})})})})}function fP(e){return I.jsx(n1,{children:I.jsx(FV,{...e})})}window.PyNodeWidget={render:(e,t,r={})=>{const o=document.getElementById(e);if(!o){console.error(`Element with id "${e}" not found`);return}d0.createRoot(o).render(I.jsx(fP,{workflowData:t,height:r.height||"600px",interactive:r.interactive!==!1}))},renderFromUrl:async(e,t,r={})=>{const o=document.getElementById(e);if(!o){console.error(`Element with id "${e}" not found`);return}try{o.innerHTML='
Loading workflow...
';const s=await fetch(t);if(!s.ok)throw new Error(`Failed to load workflow: ${s.statusText}`);const a=await s.json();d0.createRoot(o).render(I.jsx(fP,{workflowData:a,height:r.height||"600px",interactive:r.interactive!==!1}))}catch(s){throw console.error("Error loading workflow:",s),o.innerHTML=`
Error loading workflow: ${s.message}
`,s}}}})(); diff --git a/docs/assets/workflows/workflow-example.html b/docs/assets/workflows/workflow-example.html new file mode 100644 index 0000000..2774557 --- /dev/null +++ b/docs/assets/workflows/workflow-example.html @@ -0,0 +1,340 @@ + + + + + + PyNodeWidget - workflow + + + + + + + +
+
Loading workflow...
+
+ + + + + + + + + diff --git a/docs/assets/workflows/workflow-url-demo.html b/docs/assets/workflows/workflow-url-demo.html new file mode 100644 index 0000000..3f324bb --- /dev/null +++ b/docs/assets/workflows/workflow-url-demo.html @@ -0,0 +1,48 @@ + + + + + + PyNodeWidget - workflow + + + + + + + +
+ + + + + + + diff --git a/docs/assets/workflows/workflow.json b/docs/assets/workflows/workflow.json new file mode 100644 index 0000000..8fbff25 --- /dev/null +++ b/docs/assets/workflows/workflow.json @@ -0,0 +1,280 @@ +{ + "nodes": { + "node-1764446071347": { + "id": "node-1764446071347", + "type": "processor", + "position": { + "x": 545, + "y": 0 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446071598": { + "id": "node-1764446071598", + "type": "processor", + "position": { + "x": 545, + "y": 360 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446071733": { + "id": "node-1764446071733", + "type": "processor", + "position": { + "x": 1090, + "y": 540 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": true, + "dragging": false + }, + "node-1764446071879": { + "id": "node-1764446071879", + "type": "processor", + "position": { + "x": 545, + "y": 720 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446072252": { + "id": "node-1764446072252", + "type": "processor", + "position": { + "x": 0, + "y": 360 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + } + }, + "edges": [ + { + "source": "node-1764446072252", + "sourceHandle": "output", + "target": "node-1764446071879", + "targetHandle": "input", + "id": "xy-edge__node-1764446072252output-node-1764446071879input" + }, + { + "source": "node-1764446072252", + "sourceHandle": "output", + "target": "node-1764446071347", + "targetHandle": "input", + "id": "xy-edge__node-1764446072252output-node-1764446071347input" + }, + { + "source": "node-1764446071598", + "sourceHandle": "output", + "target": "node-1764446071733", + "targetHandle": "input", + "id": "xy-edge__node-1764446071598output-node-1764446071733input" + }, + { + "source": "node-1764446071879", + "sourceHandle": "output", + "target": "node-1764446071733", + "targetHandle": "input", + "id": "xy-edge__node-1764446071879output-node-1764446071733input" + } + ], + "viewport": { + "x": 0, + "y": 0, + "zoom": 1 + }, + "node_templates": [ + { + "type": "processor", + "label": "Processor", + "description": "", + "icon": "\u2699\ufe0f", + "category": "general", + "definition": { + "grid": { + "rows": [ + "1fr" + ], + "columns": [ + "auto", + "1fr", + "auto" + ], + "gap": "8px", + "cells": [ + { + "id": "left-cell", + "coordinates": { + "row": 1, + "col": 1, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "stretch", + "justify": "start", + "gap": "8px" + }, + "components": [ + { + "id": "input", + "type": "labeled-handle", + "handle_type": "input", + "label": "input", + "dataType": null, + "required": false + } + ] + }, + { + "id": "center-cell", + "coordinates": { + "row": 1, + "col": 2, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "start", + "justify": "start", + "gap": "12px" + }, + "components": [ + { + "id": "value", + "type": "number", + "label": "value", + "value": 50.0, + "min": 0.0, + "max": 100.0 + }, + { + "id": "name", + "type": "text", + "label": "name", + "value": "Processor", + "placeholder": "" + }, + { + "id": "progress", + "type": "progress", + "label": "progress", + "value": 5.0, + "min": 0.0, + "max": 100.0 + }, + { + "id": "button", + "type": "button", + "label": "button", + "action": "asda", + "value": 0, + "variant": "default", + "size": "default", + "disabled": false + } + ] + }, + { + "id": "right-cell", + "coordinates": { + "row": 1, + "col": 3, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "stretch", + "justify": "start", + "gap": "8px" + }, + "components": [ + { + "id": "output", + "type": "labeled-handle", + "handle_type": "output", + "label": "output", + "dataType": null, + "required": false + } + ] + } + ] + }, + "style": null + }, + "defaultValues": { + "value": 50.0, + "name": "Processor", + "progress": 5.0, + "button": 0 + } + } + ], + "node_values": { + "node-1764446071347": { + "value": 0, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446071598": { + "value": 0, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446071733": { + "value": 0, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446071879": { + "value": 0, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446072252": { + "value": 0, + "name": "Processor", + "progress": 0, + "button": 0 + } + } +} \ No newline at end of file diff --git a/examples/marimo_simple_demo.py b/examples/marimo_simple_demo.py index 7901b20..ba8a859 100644 --- a/examples/marimo_simple_demo.py +++ b/examples/marimo_simple_demo.py @@ -12,13 +12,6 @@ import time -@app.cell -def _(): - widget = NodeFlowWidget.from_json("workflow.json") - widget - return (widget,) - - @app.cell def _(widget): widget.node_values @@ -26,11 +19,18 @@ def _(widget): @app.cell -def _(widget): - widget.edges +def _(): return +@app.cell +def _(): + widget = NodeFlowWidget.from_json("workflow.json") + widget = mo.ui.anywidget(widget) + widget + return (widget,) + + @app.cell def _(): slider = mo.ui.slider(start=0,stop=100,step=1) @@ -42,40 +42,25 @@ def _(): def _(slider, widget): for node_id in widget.nodes: widget.values[node_id]["value"] = slider.value - widget.values[node_id]["progress"] = widget.values[node_id]["button"]*10 return -@app.cell -def _(widget): - time.sleep(1) - widget.export_image(filename="workflow.png") - return +@app.function +def some_function(change): + print(f"{change.keys()=}") + print(f"{change["old"]=}") + print(f"some_function") + print(f"{change=}") @app.cell def _(widget): - time.sleep(1) - widget.export_image(filename="workflow.jpeg") + widget.observe(some_function, "node_values") return @app.cell def _(): - import os - return (os,) - - -@app.cell -def _(os): - os.listdir() - return - - -@app.cell -def _(widget): - widget.export("workflow.json") # JSON - widget.export("workflow.yaml") # YAML return diff --git a/examples/workflow.json b/examples/workflow.json new file mode 100644 index 0000000..17595d4 --- /dev/null +++ b/examples/workflow.json @@ -0,0 +1,280 @@ +{ + "nodes": { + "node-1764446071347": { + "id": "node-1764446071347", + "type": "processor", + "position": { + "x": 545, + "y": 0 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446071598": { + "id": "node-1764446071598", + "type": "processor", + "position": { + "x": 545, + "y": 360 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446071733": { + "id": "node-1764446071733", + "type": "processor", + "position": { + "x": 1090, + "y": 540 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446071879": { + "id": "node-1764446071879", + "type": "processor", + "position": { + "x": 545, + "y": 720 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": false, + "dragging": false + }, + "node-1764446072252": { + "id": "node-1764446072252", + "type": "processor", + "position": { + "x": 0, + "y": 360 + }, + "data": {}, + "measured": { + "width": 365, + "height": 240 + }, + "selected": true, + "dragging": false + } + }, + "edges": [ + { + "source": "node-1764446072252", + "sourceHandle": "output", + "target": "node-1764446071879", + "targetHandle": "input", + "id": "xy-edge__node-1764446072252output-node-1764446071879input" + }, + { + "source": "node-1764446072252", + "sourceHandle": "output", + "target": "node-1764446071347", + "targetHandle": "input", + "id": "xy-edge__node-1764446072252output-node-1764446071347input" + }, + { + "source": "node-1764446071598", + "sourceHandle": "output", + "target": "node-1764446071733", + "targetHandle": "input", + "id": "xy-edge__node-1764446071598output-node-1764446071733input" + }, + { + "source": "node-1764446071879", + "sourceHandle": "output", + "target": "node-1764446071733", + "targetHandle": "input", + "id": "xy-edge__node-1764446071879output-node-1764446071733input" + } + ], + "viewport": { + "x": 0, + "y": 0, + "zoom": 1 + }, + "node_templates": [ + { + "type": "processor", + "label": "Processor", + "description": "", + "icon": "\u2699\ufe0f", + "category": "general", + "definition": { + "grid": { + "rows": [ + "1fr" + ], + "columns": [ + "auto", + "1fr", + "auto" + ], + "gap": "8px", + "cells": [ + { + "id": "left-cell", + "coordinates": { + "row": 1, + "col": 1, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "stretch", + "justify": "start", + "gap": "8px" + }, + "components": [ + { + "id": "input", + "type": "labeled-handle", + "handle_type": "input", + "label": "input", + "dataType": null, + "required": false + } + ] + }, + { + "id": "center-cell", + "coordinates": { + "row": 1, + "col": 2, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "start", + "justify": "start", + "gap": "12px" + }, + "components": [ + { + "id": "value", + "type": "number", + "label": "value", + "value": 50.0, + "min": 0.0, + "max": 100.0 + }, + { + "id": "name", + "type": "text", + "label": "name", + "value": "Processor", + "placeholder": "" + }, + { + "id": "progress", + "type": "progress", + "label": "progress", + "value": 5.0, + "min": 0.0, + "max": 100.0 + }, + { + "id": "button", + "type": "button", + "label": "button", + "action": "asda", + "value": 0, + "variant": "default", + "size": "default", + "disabled": false + } + ] + }, + { + "id": "right-cell", + "coordinates": { + "row": 1, + "col": 3, + "row_span": 1, + "col_span": 1 + }, + "layout": { + "type": "flex", + "direction": "column", + "align": "stretch", + "justify": "start", + "gap": "8px" + }, + "components": [ + { + "id": "output", + "type": "labeled-handle", + "handle_type": "output", + "label": "output", + "dataType": null, + "required": false + } + ] + } + ] + }, + "style": null + }, + "defaultValues": { + "value": 50.0, + "name": "Processor", + "progress": 5.0, + "button": 0 + } + } + ], + "node_values": { + "node-1764446071347": { + "value": 38, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446071598": { + "value": 38, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446071733": { + "value": 38, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446071879": { + "value": 38, + "name": "Processor", + "progress": 0, + "button": 0 + }, + "node-1764446072252": { + "value": 38, + "name": "Processor", + "progress": 60, + "button": 6 + } + } +} \ No newline at end of file diff --git a/js/package.json b/js/package.json index 5831dfb..5a91c32 100644 --- a/js/package.json +++ b/js/package.json @@ -5,6 +5,8 @@ "private": true, "scripts": { "build": "vite build --config vite.config.index.ts && vite build --config vite.config.json_schema.ts", + "build:standalone": "vite build --config vite.config.standalone.ts", + "build:all": "bun run build && bun run build:standalone", "dev": "vite --open /dev/app.html", "preview": "vite preview", "test": "vitest run", diff --git a/js/src/standalone/StandaloneViewer.tsx b/js/src/standalone/StandaloneViewer.tsx new file mode 100644 index 0000000..e77e926 --- /dev/null +++ b/js/src/standalone/StandaloneViewer.tsx @@ -0,0 +1,137 @@ +import * as React from "react"; +import { + applyNodeChanges, + applyEdgeChanges, + ReactFlowProvider, +} from "@xyflow/react"; +import type { Node as FlowNode, Edge, NodeChange, EdgeChange } from "@xyflow/react"; +import "@xyflow/react/dist/style.css"; +import "../style.css"; +import { buildNodeTypes } from "../utils/NodeComponentBuilder"; +import type { NodeTemplate, NodesDict, NodeValues } from "../types/schema"; +import { FlowCanvas } from "../components/FlowCanvas"; +import { SetNodesDictContext, SetNodeValuesContext } from "../index"; + +export interface WorkflowData { + nodes: NodesDict; + edges: Edge[]; + node_templates: NodeTemplate[]; + node_values: NodeValues; + viewport?: { x: number; y: number; zoom: number }; +} + +interface StandaloneViewerProps { + workflowData: WorkflowData; + height?: string; + interactive?: boolean; +} + +function StandaloneViewerComponent({ + workflowData, + height = "600px", + interactive = true +}: StandaloneViewerProps) { + const [nodesDict, setNodesDict] = React.useState(workflowData.nodes || {}); + const [edges, setEdges] = React.useState(workflowData.edges || []); + const [nodeValues, setNodeValues] = React.useState(workflowData.node_values || {}); + + const nodeTemplates = workflowData.node_templates || []; + + // Convert nodesDict to array for React Flow + const nodes = React.useMemo(() => { + return Object.values(nodesDict || {}); + }, [nodesDict]); + + // Build template lookup map + const templateMap = React.useMemo(() => { + const map = new Map(); + nodeTemplates.forEach(template => { + map.set(template.type, template); + }); + return map; + }, [nodeTemplates]); + + // Merge template definition + values into nodes for rendering + const nodesWithData = React.useMemo(() => { + if (!nodeValues || Object.keys(nodeValues).length === 0) return nodes; + + return nodes.map((node: FlowNode) => { + const template = templateMap.get(node.type); + const values = nodeValues[node.id] || {}; + + if (!template) { + console.warn(`Template not found for node type: ${node.type}`); + return node; + } + + return { + ...node, + data: { + ...(node.data || {}), + definition: template.definition, + label: template.label, + icon: template.icon, + values: values, + } + } as FlowNode; + }); + }, [nodes, templateMap, nodeValues]); + + // Build node types from templates + const nodeTypes = React.useMemo(() => { + return buildNodeTypes(nodeTemplates); + }, [nodeTemplates]); + + // Handle node changes + const onNodesChange = React.useCallback((changes: NodeChange[]) => { + if (!interactive) return; + + const updatedNodes = applyNodeChanges(changes, nodesWithData) as FlowNode[]; + const updatedDict: NodesDict = {}; + updatedNodes.forEach((node: FlowNode) => { + updatedDict[node.id] = node; + }); + setNodesDict(updatedDict); + }, [nodesWithData, interactive]); + + // Handle edge changes + const onEdgesChange = React.useCallback((changes: EdgeChange[]) => { + if (!interactive) return; + setEdges((eds) => applyEdgeChanges(changes, eds)); + }, [interactive]); + + return ( + + +
+ {}} + onNodeContextMenu={() => {}} + onEdgeContextMenu={() => {}} + onPaneClick={() => {}} + contextMenu={null} + onDelete={() => {}} + onCloseContextMenu={() => {}} + onExport={() => {}} + onLayoutVertical={() => {}} + onLayoutHorizontal={() => {}} + /> +
+
+
+ ); +} + +export function StandaloneViewer(props: StandaloneViewerProps) { + return ( + + + + ); +} diff --git a/js/src/standalone/standalone-entry.tsx b/js/src/standalone/standalone-entry.tsx new file mode 100644 index 0000000..039397a --- /dev/null +++ b/js/src/standalone/standalone-entry.tsx @@ -0,0 +1,68 @@ +import { createRoot } from 'react-dom/client'; +import { StandaloneViewer, type WorkflowData } from './StandaloneViewer'; + +// Expose globally for HTML to use +declare global { + interface Window { + PyNodeWidget: { + render: (elementId: string, workflowData: WorkflowData, options?: { + height?: string; + interactive?: boolean; + }) => void; + renderFromUrl: (elementId: string, jsonUrl: string, options?: { + height?: string; + interactive?: boolean; + }) => Promise; + }; + } +} + +window.PyNodeWidget = { + render: (elementId: string, workflowData: WorkflowData, options = {}) => { + const element = document.getElementById(elementId); + if (!element) { + console.error(`Element with id "${elementId}" not found`); + return; + } + + const root = createRoot(element); + root.render( + + ); + }, + + renderFromUrl: async (elementId: string, jsonUrl: string, options = {}) => { + const element = document.getElementById(elementId); + if (!element) { + console.error(`Element with id "${elementId}" not found`); + return; + } + + try { + element.innerHTML = '
Loading workflow...
'; + + const response = await fetch(jsonUrl); + if (!response.ok) { + throw new Error(`Failed to load workflow: ${response.statusText}`); + } + const workflowData = await response.json(); + + const root = createRoot(element); + root.render( + + ); + } catch (error) { + console.error('Error loading workflow:', error); + element.innerHTML = `
Error loading workflow: ${error.message}
`; + throw error; + } + }, +}; diff --git a/js/vite.config.standalone.ts b/js/vite.config.standalone.ts new file mode 100644 index 0000000..dbce464 --- /dev/null +++ b/js/vite.config.standalone.ts @@ -0,0 +1,36 @@ +import path from "path" +import tailwindcss from "@tailwindcss/vite" +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react(), tailwindcss()], + define: { + 'process.env.NODE_ENV': '"production"', + }, + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, + build: { + outDir: 'dist', + emptyOutDir: false, + lib: { + entry: path.resolve(__dirname, 'src/standalone/standalone-entry.tsx'), + formats: ['iife'], + name: 'PyNodeWidget', + fileName: 'standalone', + }, + rollupOptions: { + output: { + // Inline everything for true standalone operation + inlineDynamicImports: true, + assetFileNames: 'standalone.[ext]', + }, + }, + minify: true, + sourcemap: false, + cssCodeSplit: false, + }, +}) diff --git a/mkdocs.yml b/mkdocs.yml index 5afb35b..fd9b387 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -125,6 +125,7 @@ nav: - Examples: - Overview: examples/index.md + - Workflow Viewer Demo: examples/workflow-viewer-demo.md - Roadmap: ROADMAP.md diff --git a/pyproject.toml b/pyproject.toml index 2b203f4..a0fa21b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,6 +73,14 @@ test-py-cov = "pytest --cov=pynodewidget --cov-report=xml:coverage.xml --cov-rep test-js-cov = "bun --cwd=js run test:coverage" test = "task test-py && task test-js" +playwright-install = "playwright install chromium" + +# Build standalone HTML viewer bundle +build-standalone = "cd js && bun run build:standalone" + +# Generate example workflow HTML +generate-workflow-html = "python scripts/generate_workflow_html.py examples/workflow.json docs/workflows/workflow-example.html" + [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/tests/test_label_inference.py b/tests/test_label_inference.py index c91f73a..f5d3792 100644 --- a/tests/test_label_inference.py +++ b/tests/test_label_inference.py @@ -244,4 +244,4 @@ def test_node_creation_without_labels(self): # Labels should be inferred from IDs assert components[0]["label"] == "max_value" assert components[1]["label"] == "user_name" - assert components[2]["label"] == "is_enabled" \ No newline at end of file + assert components[2]["label"] == "is_enabled"