jch-config-editor 0.1.19 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,30 +1,14 @@
1
- (function(ve,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react/jsx-runtime"),require("react"),require("antd"),require("@ant-design/icons"),require("zustand"),require("immer"),require("nanoid"),require("react-zoom-pan-pinch"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","antd","@ant-design/icons","zustand","immer","nanoid","react-zoom-pan-pinch","react-dom"],a):(ve=typeof globalThis<"u"?globalThis:ve||self,a(ve.ConfigEditor={},ve.jsxRuntime,ve.React,ve.antd,ve.icons,ve.zustand,ve.immer,ve.nanoid,ve.ReactZoomPanPinch))})(this,(function(ve,a,E,m,se,lc,cc,pe,jr){"use strict";var Ur=document.createElement("style");Ur.textContent=`.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))}.ConfigEditor-module__configEditor__dinNG{width:100%;height:100%;display:flex;flex-direction:column}.ConfigEditor-module__configEditor__dinNG .ant-layout{background:#f5f5f5}.ConfigEditor-module__configEditor__dinNG .ant-layout-sider{background:#fff}.ConfigEditor-module__configEditor__dinNG .ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding:8px 0}.ConfigEditor-module__configEditor__dinNG .ant-list-item{padding:8px 12px}.ConfigEditor-module__canvasGrid__yL2Pn{background-image:linear-gradient(#e8e8e8 1px,transparent 1px),linear-gradient(90deg,#e8e8e8 1px,transparent 1px);background-size:20px 20px}.ConfigEditor-module__nodeSelected__CePHY{box-shadow:0 0 0 2px #1890ff,0 0 10px #1890ff4d}.ConfigEditor-module__dragging__w3tvz{cursor:grabbing!important;opacity:.8}.ConfigEditor-module__toolbarBtn__vRYDU{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.ConfigEditor-module__toolbarBtn__vRYDU:hover{background-color:#f3f4f6}.ConfigEditor-module__toolbarBtn__vRYDU.ConfigEditor-module__active__nREu2{background-color:#dbeafe;color:#2563eb}.ConfigEditor-module__propertyForm__f-Egu .ant-form-item{margin-bottom:12px}.ConfigEditor-module__propertyForm__f-Egu .ant-form-item-label{padding-bottom:4px}.ConfigEditor-module__materialItem__rDby0{transition:all .2s}.ConfigEditor-module__materialItem__rDby0:hover{background-color:#f9fafb}.ConfigEditor-module__materialItem__rDby0.ConfigEditor-module__selected__rIJzf{background-color:#eff6ff;box-shadow:0 0 0 2px #60a5fa}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar{width:6px;height:6px}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.\\!mr-0{margin-right:0!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-0\\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[400px\\]{max-height:400px}.w-0\\.5{width:.125rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\\[180px\\]{min-width:180px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.\\!bg-blue-500{--tw-bg-opacity: 1 !important;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))!important}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\\/50{background-color:#eff6ff80}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\\/10{background-color:#3b82f61a}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1)) }.ring-opacity-50{--tw-ring-opacity: .5 }.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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.file\\:mr-4::file-selector-button{margin-right:1rem}.file\\:rounded-full::file-selector-button{border-radius:9999px}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-blue-50::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.file\\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-semibold::file-selector-button{font-weight:600}.file\\:text-blue-700::file-selector-button{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\\:file\\:bg-blue-100::file-selector-button:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1)) }
2
- /*$vite$:1*/`,document.head.appendChild(Ur);function Gr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var tn={},zo={exports:{}},Kr;function Fo(){return Kr||(Kr=1,(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(zo)),zo.exports}var nn={},Zr;function dc(){if(Zr)return nn;Zr=1,Object.defineProperty(nn,"__esModule",{value:!0}),nn.default=void 0;const e={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};return nn.default=e,nn}var on={},rn={},sn={},an={},Jr;function uc(){return Jr||(Jr=1,Object.defineProperty(an,"__esModule",{value:!0}),an.commonLocale=void 0,an.commonLocale={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0}),an}var Qr;function fc(){if(Qr)return sn;Qr=1,Object.defineProperty(sn,"__esModule",{value:!0}),sn.default=void 0;var e=uc();function t(d){"@babel/helpers - typeof";return t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(c){return typeof c}:function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},t(d)}function n(d,c){var u=Object.keys(d);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(d);c&&(f=f.filter(function(h){return Object.getOwnPropertyDescriptor(d,h).enumerable})),u.push.apply(u,f)}return u}function o(d){for(var c=1;c<arguments.length;c++){var u=arguments[c]!=null?arguments[c]:{};c%2?n(Object(u),!0).forEach(function(f){r(d,f,u[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(u)):n(Object(u)).forEach(function(f){Object.defineProperty(d,f,Object.getOwnPropertyDescriptor(u,f))})}return d}function r(d,c,u){return c=i(c),c in d?Object.defineProperty(d,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):d[c]=u,d}function i(d){var c=s(d,"string");return t(c)=="symbol"?c:String(c)}function s(d,c){if(t(d)!="object"||!d)return d;var u=d[Symbol.toPrimitive];if(u!==void 0){var f=u.call(d,c);if(t(f)!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(c==="string"?String:Number)(d)}var l=o(o({},e.commonLocale),{},{locale:"zh_CN",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",week:"周",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪",yearFormat:"YYYY年",cellDateFormat:"D",monthBeforeYear:!1});return sn.default=l,sn}var ln={},Rr;function ei(){if(Rr)return ln;Rr=1,Object.defineProperty(ln,"__esModule",{value:!0}),ln.default=void 0;const e={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};return ln.default=e,ln}var ti;function ni(){if(ti)return rn;ti=1;var e=Fo().default;Object.defineProperty(rn,"__esModule",{value:!0}),rn.default=void 0;var t=e(fc()),n=e(ei());const o={lang:{placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"],...t.default},timePickerLocale:{...n.default}};return o.lang.ok="确定",rn.default=o,rn}var oi;function hc(){if(oi)return on;oi=1;var e=Fo().default;Object.defineProperty(on,"__esModule",{value:!0}),on.default=void 0;var t=e(ni());return on.default=t.default,on}var ri;function pc(){if(ri)return tn;ri=1;var e=Fo().default;Object.defineProperty(tn,"__esModule",{value:!0}),tn.default=void 0;var t=e(dc()),n=e(hc()),o=e(ni()),r=e(ei());const i="${label}不是一个有效的${type}",s={locale:"zh-cn",Pagination:t.default,DatePicker:o.default,TimePicker:r.default,Calendar:n.default,global:{placeholder:"请选择",close:"关闭",sortable:"可排序"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckAll:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:i,method:i,array:i,object:i,number:i,date:i,boolean:i,integer:i,float:i,regexp:i,email:i,url:i,hex:i},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无",transparent:"无色",singleColor:"单色",gradientColor:"渐变色"}};return tn.default=s,tn}var Bo,ii;function gc(){return ii||(ii=1,Bo=pc()),Bo}var mc=gc();const yc=Gr(mc),vc=e=>(t,n,o)=>(o.setState=(r,i,...s)=>{const l=typeof r=="function"?cc.produce(r):r;return t(l,i,...s)},e(o.setState,n,o));function si(e){const t=[];for(const n of Object.keys(e)){t.push(n);const o=e[n];if(o!==null&&typeof o=="object"&&!Array.isArray(o))for(const r of Object.keys(o))t.push(`${n}.${r}`)}return t}function ai(e,t){const n=e.sample&&typeof e.sample=="object"&&!Array.isArray(e.sample)?{...e.sample}:{};if(t&&typeof t=="object"&&!Array.isArray(t))return{...n,...t};if(Array.isArray(t)){const o={...n};for(const r of t){if(!r||typeof r!="object")continue;const i=r;i.paramsCode!=null&&(o[String(i.paramsCode)]=i.value)}return o}return n}const bc={id:"_",name:"_",sample:{}};function Ho(e,t,n){const o=e.boundDatasetId!=null?String(e.boundDatasetId).trim():"",i=(o?n.find(s=>s.id===o):void 0)??bc;try{const s=ai(i,t);return new Function("data",e.expression)(s)===!0}catch(s){return console.warn(`状态表达式执行失败 [${e.name}]:`,s),!1}}function li(e,t,n){for(const o of e)if(Ho(o,t,n))return o}function ci(e,t){for(const n of e){for(const o of n.contentInfo.statusList)o.boundDatasetId===t&&(o.boundDatasetId=null);n.type==="group"&&n.children?.length&&ci(n.children,t)}}function di(e){for(const t of e){for(const n of t.contentInfo.statusList)delete n.bindCodes;t.type==="group"&&t.children?.length&&di(t.children)}}const Yo=(e,t)=>({id:e||pe.nanoid(),name:t||"画布 1",nodes:[],canvasConfig:{width:1920,height:1080,background:"#00193C",showGrid:!0},viewport:{scale:1,positionX:0,positionY:0},selectedNodeId:null,selectedNodeIds:[],selectedStatusId:null,history:{past:[],future:[]}}),ui=(()=>{const e=Yo();return{id:pe.nanoid(),name:"默认项目",canvases:[e],currentCanvasId:e.id}})(),yt=ui.canvases[0],wc={root:ui,materials:[],mode:"select",lineDrawing:{isDrawing:!1,material:null,startPoint:null,endPoint:null},eventFlow:{eventBlocks:[],eventRoots:[],editingEventRootId:null,isEditingEventFlow:!1},dataPool:[],externalHandlerCatalog:[],nodes:yt.nodes,canvas:yt.canvasConfig,viewport:yt.viewport,selectedNodeId:yt.selectedNodeId,selectedNodeIds:yt.selectedNodeIds,selectedStatusId:yt.selectedStatusId,history:yt.history},it=(e,t,n)=>({id:pe.nanoid(),type:e,targetId:t,payload:n,timestamp:Date.now()}),De=lc.create()(vc((e,t)=>({...wc,addCanvas:n=>{const o=Yo(pe.nanoid(),n||`画布 ${t().root.canvases.length+1}`);return e(r=>{r.root.canvases.push(o),r.root.currentCanvasId=o.id;const i=o;r.nodes=i.nodes,r.canvas=i.canvasConfig,r.viewport=i.viewport,r.selectedNodeId=i.selectedNodeId,r.selectedNodeIds=i.selectedNodeIds,r.selectedStatusId=i.selectedStatusId,r.history=i.history}),o.id},removeCanvas:n=>{e(o=>{const r=o.root.canvases.findIndex(i=>i.id===n);if(r!==-1&&!(o.root.canvases.length<=1)&&(o.root.canvases.splice(r,1),o.root.currentCanvasId===n)){const i=o.root.canvases[0];o.root.currentCanvasId=i.id,o.nodes=i.nodes,o.canvas=i.canvasConfig,o.viewport=i.viewport,o.selectedNodeId=i.selectedNodeId,o.selectedNodeIds=i.selectedNodeIds,o.selectedStatusId=i.selectedStatusId,o.history=i.history}})},switchCanvas:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===n);r&&(o.root.currentCanvasId=n,o.nodes=r.nodes,o.canvas=r.canvasConfig,o.viewport=r.viewport,o.selectedNodeId=r.selectedNodeId,o.selectedNodeIds=r.selectedNodeIds,o.selectedStatusId=r.selectedStatusId,o.history=r.history)})},updateCanvasName:(n,o)=>{e(r=>{const i=r.root.canvases.find(s=>s.id===n);i&&(i.name=o)})},getCurrentCanvas:()=>{const n=t();return n.root.canvases.find(o=>o.id===n.root.currentCanvasId)},setSelectedNodeIds:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(r.selectedNodeIds=n,o.selectedNodeIds=n)})},addSelectedNodeId:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&!r.selectedNodeIds.includes(n)&&(r.selectedNodeIds.push(n),o.selectedNodeIds=r.selectedNodeIds)})},removeSelectedNodeId:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(r.selectedNodeIds=r.selectedNodeIds.filter(i=>i!==n),o.selectedNodeIds=r.selectedNodeIds)})},clearSelectedNodeIds:()=>{e(n=>{const o=n.root.canvases.find(r=>r.id===n.root.currentCanvasId);o&&(o.selectedNodeIds=[],n.selectedNodeIds=[])})},addNode:(n,o=!0)=>{e(r=>{const i=r.root.canvases.find(l=>l.id===r.root.currentCanvasId);if(!i)return;const s={...n,id:n.id||pe.nanoid()};i.nodes.push(s),r.nodes=i.nodes,o&&(i.selectedNodeId=s.id,r.selectedNodeId=s.id,i.history.past.push(it("NODE_SELECT",s.id)),r.history=i.history)})},updateNode:(n,o)=>{e(r=>{const i=r.root.canvases.find(l=>l.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(l=>l.id===n);s&&(o.normalStyle&&Object.assign(s.normalStyle,o.normalStyle),o.contentInfo&&(s.contentInfo={...s.contentInfo,...o.contentInfo}),o.name&&(s.name=o.name),o.controlInfo&&Object.assign(s.controlInfo,o.controlInfo),i.history.past.push(it("PROPERTY_CHANGE",n,o)),r.history=i.history,r.nodes=i.nodes)})},updateNodeStyle:(n,o)=>{e(r=>{const i=r.root.canvases.find(l=>l.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(l=>l.id===n);s&&(Object.assign(s.normalStyle,o),i.history.past.push(it("PROPERTY_CHANGE",n,{normalStyle:o})),r.history=i.history)})},updateNodeContent:(n,o)=>{e(r=>{const i=r.root.canvases.find(l=>l.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(l=>l.id===n);s&&(s.contentInfo={...s.contentInfo,...o},i.history.past.push(it("PROPERTY_CHANGE",n,{contentInfo:o})),r.history=i.history,r.nodes=i.nodes)})},updateNodeControl:(n,o)=>{e(r=>{const i=r.root.canvases.find(l=>l.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(l=>l.id===n);s&&(Object.assign(s.controlInfo,o),i.history.past.push(it("PROPERTY_CHANGE",n,{controlInfo:o})),r.history=i.history)})},removeNode:n=>{e(o=>{const r=o.root.canvases.find(s=>s.id===o.root.currentCanvasId);if(!r)return;const i=r.nodes.findIndex(s=>s.id===n);i!==-1&&(r.nodes.splice(i,1),o.nodes=r.nodes,r.selectedNodeId===n&&(r.selectedNodeId=null,o.selectedNodeId=null,r.selectedStatusId=null,o.selectedStatusId=null),r.selectedNodeIds=r.selectedNodeIds.filter(s=>s!==n),o.selectedNodeIds=r.selectedNodeIds,r.history.past.push(it("NODE_DELETE",n)),o.history=r.history)})},selectNode:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(r.selectedNodeId=n,o.selectedNodeId=n,r.selectedStatusId=null,o.selectedStatusId=null,n&&(r.history.past.push(it("NODE_SELECT",n)),o.history=r.history))})},addStatus:(n,o)=>{e(r=>{const i=r.root.canvases.find(d=>d.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(d=>d.id===n);if(!s)return;const l={...o,id:pe.nanoid()};s.contentInfo.statusList.push(l),i.history.past.push(it("MATERIAL_STATUS_CHANGE",n,{statusId:l.id})),r.history=i.history})},removeStatus:(n,o)=>{e(r=>{const i=r.root.canvases.find(d=>d.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(d=>d.id===n);if(!s)return;const l=s.contentInfo.statusList.findIndex(d=>d.id===o);l!==-1&&(s.contentInfo.statusList.splice(l,1),s.contentInfo.currentStatusId===o&&(s.contentInfo.currentStatusId=void 0),i.selectedStatusId===o&&(i.selectedStatusId=null,r.selectedStatusId=null))})},updateStatus:(n,o,r)=>{e(i=>{const s=i.root.canvases.find(c=>c.id===i.root.currentCanvasId);if(!s)return;const l=s.nodes.find(c=>c.id===n);if(!l)return;const d=l.contentInfo.statusList.find(c=>c.id===o);d&&Object.assign(d,r)})},selectStatus:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(r.selectedStatusId=n,o.selectedStatusId=n)})},evaluateCurrentStatus:(n,o)=>{const r=t(),i=r.root.canvases.find(d=>d.id===r.root.currentCanvasId);if(!i)return;const s=i.nodes.find(d=>d.id===n);if(!s)return;const{dataPool:l}=t();for(const d of s.contentInfo.statusList)if(Ho(d,o,l))return d.id},addDataPoolItem:n=>{const o=pe.nanoid();return e(r=>{r.dataPool.push({...n,id:o,sample:n.sample&&typeof n.sample=="object"&&!Array.isArray(n.sample)?n.sample:{}})}),o},updateDataPoolItem:(n,o)=>{e(r=>{const i=r.dataPool.find(s=>s.id===n);i&&(o.name!==void 0&&(i.name=o.name),o.sample!==void 0&&(i.sample=o.sample&&typeof o.sample=="object"&&!Array.isArray(o.sample)?o.sample:{}))})},removeDataPoolItem:n=>{e(o=>{const r=o.dataPool.findIndex(i=>i.id===n);if(r!==-1){o.dataPool.splice(r,1);for(const i of o.root.canvases)ci(i.nodes,n)}})},setDataPool:n=>{e(o=>{o.dataPool=n.map(r=>({...r,sample:r.sample&&typeof r.sample=="object"&&!Array.isArray(r.sample)?r.sample:{}}))})},setEventFlow:n=>{e(o=>{o.eventFlow={eventBlocks:n.eventBlocks??[],eventRoots:n.eventRoots??[],editingEventRootId:n.editingEventRootId??null,isEditingEventFlow:n.isEditingEventFlow??!1}})},setExternalHandlerCatalog:n=>{e(o=>{const r=new Set;o.externalHandlerCatalog=[];for(const i of n){const s=String(i.key??"").trim();!s||r.has(s)||(r.add(s),o.externalHandlerCatalog.push({key:s,label:String(i.label??"").trim()||s,description:i.description}))}})},addMaterial:n=>{e(o=>{const r={...n,id:pe.nanoid()};o.materials.push(r)})},updateMaterial:(n,o)=>{e(r=>{const i=r.materials.find(s=>s.id===n);i&&Object.assign(i,o)})},removeMaterial:n=>{e(o=>{const r=o.materials.findIndex(i=>i.id===n);r!==-1&&o.materials.splice(r,1)})},setViewport:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(Object.assign(r.viewport,n),o.viewport=r.viewport)})},setCanvasConfig:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(r.canvasConfig={...r.canvasConfig,...n},o.canvas=r.canvasConfig)})},setMode:n=>{e(o=>{o.mode=n})},startLineDrawing:n=>{e(o=>{o.mode="line-draw",o.lineDrawing={isDrawing:!0,material:n,startPoint:null,endPoint:null}})},updateLineDrawing:n=>{e(o=>{o.lineDrawing.isDrawing&&(o.lineDrawing.endPoint=n)})},endLineDrawing:()=>{e(n=>{n.mode="select",n.lineDrawing={isDrawing:!1,material:null,startPoint:null,endPoint:null}})},cancelLineDrawing:()=>{e(n=>{n.mode="select",n.lineDrawing={isDrawing:!1,material:null,startPoint:null,endPoint:null}})},undo:()=>{e(n=>{const o=n.root.canvases.find(i=>i.id===n.root.currentCanvasId);if(!o)return;const r=o.history.past.pop();r&&(o.history.future.push(r),n.history=o.history)})},redo:()=>{e(n=>{const o=n.root.canvases.find(i=>i.id===n.root.currentCanvasId);if(!o)return;const r=o.history.future.pop();r&&(o.history.past.push(r),n.history=o.history)})},recordEvent:n=>{e(o=>{const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId);r&&(r.history.past.push(n),r.history.future=[],o.history=r.history)})},exportScheme:()=>{const n=t();return{version:"2.0.0",root:n.root,materials:n.materials,dataPool:n.dataPool,eventFlow:n.eventFlow,metadata:{name:n.root.name,description:"",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}}},importScheme:n=>{e(o=>{if(n.root){o.root=n.root,o.materials=n.materials||[],o.dataPool=n.dataPool??[],n.eventFlow&&(o.eventFlow={eventBlocks:n.eventFlow.eventBlocks??[],eventRoots:n.eventFlow.eventRoots??[],editingEventRootId:n.eventFlow.editingEventRootId??null,isEditingEventFlow:n.eventFlow.isEditingEventFlow??!1});const r=o.root.canvases.find(i=>i.id===o.root.currentCanvasId)||o.root.canvases[0];r&&(o.root.currentCanvasId=r.id,o.nodes=r.nodes,o.canvas=r.canvasConfig,o.viewport=r.viewport,o.selectedNodeId=r.selectedNodeId,o.selectedNodeIds=r.selectedNodeIds,o.selectedStatusId=r.selectedStatusId,o.history=r.history)}else{const r=Yo();r.nodes=n.nodes||[],o.root.canvases=[r],o.root.currentCanvasId=r.id,o.materials=n.materials||[],o.dataPool=n.dataPool??[],n.eventFlow&&(o.eventFlow={eventBlocks:n.eventFlow.eventBlocks??[],eventRoots:n.eventFlow.eventRoots??[],editingEventRootId:n.eventFlow.editingEventRootId??null,isEditingEventFlow:n.eventFlow.isEditingEventFlow??!1}),o.nodes=r.nodes,o.canvas=r.canvasConfig,o.viewport=n.viewport||r.viewport,o.selectedNodeId=null,o.selectedStatusId=null,o.history={past:[],future:[]}}for(const r of o.root.canvases)di(r.nodes)})},addEventBlock:n=>{const o=pe.nanoid();return e(r=>{r.eventFlow.eventBlocks.push({...n,id:o})}),o},upsertEventBlock:n=>{e(o=>{const r=o.eventFlow.eventBlocks.findIndex(i=>i.id===n.id);r!==-1?o.eventFlow.eventBlocks[r]={...n}:o.eventFlow.eventBlocks.push({...n})})},updateEventBlock:(n,o)=>{e(r=>{const i=r.eventFlow.eventBlocks.find(s=>s.id===n);i&&Object.assign(i,o)})},removeEventBlock:n=>{e(o=>{const r=o.eventFlow.eventBlocks.findIndex(i=>i.id===n);r!==-1&&o.eventFlow.eventBlocks.splice(r,1)})},addEventRoot:n=>{const o=pe.nanoid();return e(r=>{r.eventFlow.eventRoots.push({...n,id:o})}),o},updateEventRoot:(n,o)=>{e(r=>{const i=r.eventFlow.eventRoots.find(s=>s.id===n);i&&Object.assign(i,o)})},removeEventRoot:n=>{e(o=>{const r=o.eventFlow.eventRoots.findIndex(i=>i.id===n);r!==-1&&o.eventFlow.eventRoots.splice(r,1)})},setEditingEventRoot:n=>{e(o=>{o.eventFlow.editingEventRootId=n})},setIsEditingEventFlow:n=>{e(o=>{o.eventFlow.isEditingEventFlow=n})},bindNodeEvent:(n,o,r)=>{const i=pe.nanoid();return e(s=>{s.eventFlow.eventRoots.push({id:i,bindNodeId:n,eventType:o,flowData:r,enabled:!0})}),i},unbindNodeEvent:(n,o,r)=>{e(i=>{const s=i.eventFlow.eventRoots.findIndex(l=>l.bindNodeId!==n||l.eventType!==o?!1:o==="external"?(l.externalEventKey||"").trim()===(r||"").trim():!0);s!==-1&&i.eventFlow.eventRoots.splice(s,1)})},getNodeEventRoots:n=>t().eventFlow.eventRoots.filter(o=>o.bindNodeId===n)}))),fi=[{id:pe.nanoid(),name:"矩形",type:"IMAGE",src:`data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="60"><rect width="100" height="60" fill="#1890ff" rx="4"/></svg>')}`},{id:pe.nanoid(),name:"圆形",type:"IMAGE",src:`data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80"><circle cx="40" cy="40" r="38" fill="#52c41a"/></svg>')}`},{id:pe.nanoid(),name:"圆角矩形",type:"IMAGE",src:`data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="60"><rect width="100" height="60" fill="#faad14" rx="20"/></svg>')}`},{id:pe.nanoid(),name:"阀门",type:"IMAGE",src:`data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><path d="M10 20 L30 10 L50 20 L50 40 L30 50 L10 40 Z" fill="#bfbfbf" stroke="#595959" stroke-width="2"/><circle cx="30" cy="30" r="8" fill="#1890ff"/></svg>')}`},{id:pe.nanoid(),name:"泵",type:"IMAGE",src:`data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><circle cx="30" cy="35" r="20" fill="#bfbfbf" stroke="#595959" stroke-width="2"/><rect x="25" y="5" width="10" height="15" fill="#595959"/><path d="M30 20 L30 35 M20 30 Q30 45 40 30" stroke="#595959" stroke-width="2" fill="none"/></svg>')}`},{id:pe.nanoid(),name:"罐体",type:"IMAGE",src:`data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="60" height="80"><ellipse cx="30" cy="10" rx="25" ry="10" fill="#d9d9d9" stroke="#595959" stroke-width="2"/><rect x="5" y="10" width="50" height="60" fill="#f0f0f0" stroke="#595959" stroke-width="2"/><ellipse cx="30" cy="70" rx="25" ry="10" fill="#d9d9d9" stroke="#595959" stroke-width="2"/></svg>')}`},{id:pe.nanoid(),name:"文本标签",type:"TEXT",content:{label:"标签",value:"值",labelStyle:{fontSize:14,fontWeight:"bold",color:"#262626",textAlign:"left"},valueStyle:{fontSize:14,fontWeight:"normal",color:"#1890ff",textAlign:"left"}}},{id:pe.nanoid(),name:"线条",type:"LINE",config:{thickness:2,lineWeight:2,color:"#262626",lineType:"solid"}}],Xo=e=>({id:pe.nanoid(),name:"默认状态",expression:"return true;",material:{...e,id:pe.nanoid()},boundDatasetId:null}),hi=(e,t,n)=>{if(n?.type==="CUSTOM"&&n.config?.nodes){const o=n.config.nodes.map(c=>({...c,id:pe.nanoid()}));let r=1/0,i=1/0,s=-1/0,l=-1/0;o.forEach(c=>{const u=c.normalStyle.x||0,f=c.normalStyle.y||0,h=c.normalStyle.width||0,g=c.normalStyle.height||0;r=Math.min(r,u),i=Math.min(i,f),s=Math.max(s,u+h),l=Math.max(l,f+g)});const d=o.map(c=>({...c,normalStyle:{...c.normalStyle,x:(c.normalStyle.x||0)-r,y:(c.normalStyle.y||0)-i,scale:void 0}}));return{id:pe.nanoid(),name:n.name||"群组节点",type:"group",normalStyle:{width:s-r,height:l-i,x:e,y:t},contentInfo:{statusList:[],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0},children:d}}return{id:pe.nanoid(),name:"新节点",type:"normal",normalStyle:{width:120,height:100,x:e,y:t,background:"transparent",padding:8},contentInfo:{statusList:n?[Xo(n)]:[],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0}}},{Panel:Lt}=m.Collapse,{Text:An}=m.Typography,pi=()=>{const{materials:e,addMaterial:t,removeMaterial:n,selectedStatusId:o,selectStatus:r,mode:i,lineDrawing:s,startLineDrawing:l,cancelLineDrawing:d}=De(),[c,u]=E.useState(["basic","device","text","line"]),f=b=>{const w=new FileReader;return w.onload=_=>{const v=_.target?.result;t({name:b.name.replace(".svg",""),type:"IMAGE",src:v})},w.readAsDataURL(b),!1},h={basic:e.filter(b=>["矩形","圆形","圆角矩形"].includes(b.name)),device:e.filter(b=>["阀门","泵","罐体"].includes(b.name)||b.type==="IMAGE"&&!["矩形","圆形","圆角矩形"].includes(b.name)&&b.name!=="自定义"),text:e.filter(b=>b.type==="TEXT"),line:e.filter(b=>b.type==="LINE"),group:e.filter(b=>b.type==="CUSTOM"&&b.config?.nodes),custom:e.filter(b=>b.type==="CUSTOM"&&!b.config?.nodes||b.type==="IMAGE"&&!["矩形","圆形","圆角矩形","阀门","泵","罐体"].includes(b.name))},g=(b,w)=>{b.dataTransfer.effectAllowed="copy",b.dataTransfer.setData("application/json",JSON.stringify(w));const _=b.currentTarget.querySelector(".material-preview");_&&b.dataTransfer.setDragImage(_,20,20)},p=b=>{b.type==="LINE"&&l(b)},y=(b,w=!1)=>{const _=w===!0,v=i==="line-draw"&&_&&s.material?.id===b.id;return a.jsx(m.List.Item,{draggable:!_,onDragStart:x=>g(x,b),onClick:()=>_&&p(b),className:`
3
- rounded-lg transition-all duration-200 select-none
4
- ${_?"cursor-pointer":"cursor-move"}
5
- hover:bg-gray-100
6
- ${v?"bg-blue-50 ring-2 ring-blue-400":""}
7
- `,actions:[_?a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.EditOutlined,{}),onClick:x=>{x.stopPropagation(),p(b)},children:"绘制"},"draw"):null,a.jsx(m.Button,{type:"text",size:"small",danger:!0,icon:a.jsx(se.DeleteOutlined,{}),onClick:x=>{x.stopPropagation(),n(b.id)}},"delete")].filter(Boolean),children:a.jsxs("div",{className:`flex items-center gap-3 w-full py-2 ${_?"":"pointer-events-none"}`,children:[a.jsx("div",{className:"material-preview w-12 h-12 flex items-center justify-center bg-white rounded border border-gray-200",children:b.type==="IMAGE"&&b.src?a.jsx(m.Image,{src:b.src,alt:b.name,width:40,height:40,preview:!1}):b.type==="TEXT"?a.jsx("span",{className:"text-xs text-gray-500",children:"T"}):b.type==="LINE"?a.jsx("div",{className:"w-8 h-0.5 bg-gray-400"}):b.type==="CUSTOM"&&b.config?.nodes?a.jsx("span",{className:"text-xs text-blue-500 font-bold",children:"G"}):a.jsx("span",{className:"text-xs text-gray-500",children:"?"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx(An,{strong:!0,className:"block truncate",children:b.name}),a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(An,{type:"secondary",className:"text-xs",children:b.type}),v&&a.jsx(m.Tag,{color:"blue",className:"text-xs",children:"绘制中"})]})]})]})},b.id)};return a.jsxs("div",{className:"h-full flex flex-col bg-white border-r border-gray-200",children:[a.jsxs("div",{className:"p-4 border-b border-gray-200",children:[a.jsx("h3",{className:"text-lg font-semibold text-gray-800",children:"物料库"}),a.jsx(An,{type:"secondary",className:"text-sm",children:"拖拽物料到画布创建节点"})]}),a.jsx("div",{className:"p-3 border-b border-gray-200",children:a.jsx(m.Upload,{accept:".svg",beforeUpload:f,showUploadList:!1,children:a.jsx(m.Button,{icon:a.jsx(se.UploadOutlined,{}),block:!0,type:"dashed",children:"上传 SVG"})})}),a.jsx("div",{className:"flex-1 overflow-y-auto p-2",children:a.jsxs(m.Collapse,{activeKey:c,onChange:b=>u(b),ghost:!0,expandIconPosition:"end",children:[a.jsx(Lt,{header:"基础形状",children:a.jsx(m.List,{dataSource:h.basic,renderItem:b=>y(b,!1),locale:{emptyText:a.jsx(m.Empty,{description:"暂无物料",image:m.Empty.PRESENTED_IMAGE_SIMPLE})}})},"basic"),a.jsx(Lt,{header:"设备图标",children:a.jsx(m.List,{dataSource:h.device,renderItem:b=>y(b,!1),locale:{emptyText:a.jsx(m.Empty,{description:"暂无物料",image:m.Empty.PRESENTED_IMAGE_SIMPLE})}})},"device"),a.jsx(Lt,{header:"文本",children:a.jsx(m.List,{dataSource:h.text,renderItem:b=>y(b,!1),locale:{emptyText:a.jsx(m.Empty,{description:"暂无物料",image:m.Empty.PRESENTED_IMAGE_SIMPLE})}})},"text"),a.jsxs(Lt,{header:a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("span",{children:"线条"}),i==="line-draw"&&a.jsx(m.Tag,{color:"blue",className:"text-xs",children:"绘制模式"})]}),children:[a.jsx(m.List,{dataSource:h.line,renderItem:b=>y(b,!0),locale:{emptyText:a.jsx(m.Empty,{description:"暂无物料",image:m.Empty.PRESENTED_IMAGE_SIMPLE})}}),i==="line-draw"&&a.jsxs("div",{className:"mt-2 p-2 bg-blue-50 rounded text-xs text-blue-600",children:[a.jsx("div",{children:"点击线条物料开始绘制"}),a.jsx("div",{children:"点击画布确定起点和终点"})]})]},"line"),h.group.length>0&&a.jsx(Lt,{header:"群组",children:a.jsx(m.List,{dataSource:h.group,renderItem:b=>y(b,!1),locale:{emptyText:a.jsx(m.Empty,{description:"暂无物料",image:m.Empty.PRESENTED_IMAGE_SIMPLE})}})},"group"),h.custom.length>0&&a.jsx(Lt,{header:"自定义",children:a.jsx(m.List,{dataSource:h.custom,renderItem:b=>y(b,!1),locale:{emptyText:a.jsx(m.Empty,{description:"暂无物料",image:m.Empty.PRESENTED_IMAGE_SIMPLE})}})},"custom")]})}),a.jsx("div",{className:"p-3 border-t border-gray-200 bg-gray-50",children:a.jsx(An,{type:"secondary",className:"text-xs",children:i==="line-draw"?a.jsx(a.Fragment,{children:"💡 提示:点击绘制线段,可连续绘制多段线,双击结束绘制,ESC 取消"}):a.jsx(a.Fragment,{children:"💡 提示:拖拽物料到画布创建节点,点击线条物料进入绘制模式"})})})]})};var Vo=function(e,t){return Vo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r])},Vo(e,t)};function st(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Vo(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function xc(e,t,n,o){function r(i){return i instanceof n?i:new n(function(s){s(i)})}return new(n||(n=Promise))(function(i,s){function l(u){try{c(o.next(u))}catch(f){s(f)}}function d(u){try{c(o.throw(u))}catch(f){s(f)}}function c(u){u.done?i(u.value):r(u.value).then(l,d)}c((o=o.apply(e,t||[])).next())})}function gi(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,r,i,s=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return s.next=l(0),s.throw=l(1),s.return=l(2),typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function l(c){return function(u){return d([c,u])}}function d(c){if(o)throw new TypeError("Generator is already executing.");for(;s&&(s=0,c[0]&&(n=0)),n;)try{if(o=1,r&&(i=c[0]&2?r.return:c[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;switch(r=0,i&&(c=[c[0]&2,i.value]),c[0]){case 0:case 1:i=c;break;case 4:return n.label++,{value:c[1],done:!1};case 5:n.label++,r=c[1],c=[0];continue;case 7:c=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){n.label=c[1];break}if(c[0]===6&&n.label<i[1]){n.label=i[1],i=c;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(c);break}i[2]&&n.ops.pop(),n.trys.pop();continue}c=t.call(e,n)}catch(u){c=[6,u],r=0}finally{o=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}function zt(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function $n(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var o=n.call(e),r,i=[],s;try{for(;(t===void 0||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(l){s={error:l}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return i}function Ln(e,t,n){if(n||arguments.length===2)for(var o=0,r=t.length,i;o<r;o++)(i||!(o in t))&&(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}function Ft(e){return this instanceof Ft?(this.v=e,this):new Ft(e)}function Sc(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=n.apply(e,t||[]),r,i=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(g){return function(p){return Promise.resolve(p).then(g,f)}}function l(g,p){o[g]&&(r[g]=function(y){return new Promise(function(b,w){i.push([g,y,b,w])>1||d(g,y)})},p&&(r[g]=p(r[g])))}function d(g,p){try{c(o[g](p))}catch(y){h(i[0][3],y)}}function c(g){g.value instanceof Ft?Promise.resolve(g.value.v).then(u,f):h(i[0][2],g)}function u(g){d("next",g)}function f(g){d("throw",g)}function h(g,p){g(p),i.shift(),i.length&&d(i[0][0],i[0][1])}}function _c(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof zt=="function"?zt(e):e[Symbol.iterator](),n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n);function o(i){n[i]=e[i]&&function(s){return new Promise(function(l,d){s=e[i](s),r(l,d,s.done,s.value)})}}function r(i,s,l,d){Promise.resolve(d).then(function(c){i({value:c,done:l})},s)}}typeof SuppressedError=="function"&&SuppressedError;function _e(e){return typeof e=="function"}function Wo(e){var t=function(o){Error.call(o),o.stack=new Error().stack},n=e(t);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var qo=Wo(function(e){return function(n){e(this),this.message=n?n.length+` errors occurred during unsubscription:
8
- `+n.map(function(o,r){return r+1+") "+o.toString()}).join(`
9
- `):"",this.name="UnsubscriptionError",this.errors=n}});function zn(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var cn=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,n,o,r,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var l=zt(s),d=l.next();!d.done;d=l.next()){var c=d.value;c.remove(this)}}catch(y){t={error:y}}finally{try{d&&!d.done&&(n=l.return)&&n.call(l)}finally{if(t)throw t.error}}else s.remove(this);var u=this.initialTeardown;if(_e(u))try{u()}catch(y){i=y instanceof qo?y.errors:[y]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var h=zt(f),g=h.next();!g.done;g=h.next()){var p=g.value;try{vi(p)}catch(y){i=i??[],y instanceof qo?i=Ln(Ln([],$n(i)),$n(y.errors)):i.push(y)}}}catch(y){o={error:y}}finally{try{g&&!g.done&&(r=h.return)&&r.call(h)}finally{if(o)throw o.error}}}if(i)throw new qo(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)vi(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(t)}},e.prototype._hasParent=function(t){var n=this._parentage;return n===t||Array.isArray(n)&&n.includes(t)},e.prototype._addParent=function(t){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t},e.prototype._removeParent=function(t){var n=this._parentage;n===t?this._parentage=null:Array.isArray(n)&&zn(n,t)},e.prototype.remove=function(t){var n=this._finalizers;n&&zn(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),mi=cn.EMPTY;function yi(e){return e instanceof cn||e&&"closed"in e&&_e(e.remove)&&_e(e.add)&&_e(e.unsubscribe)}function vi(e){_e(e)?e():e.unsubscribe()}var Ec={Promise:void 0},Cc={setTimeout:function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return setTimeout.apply(void 0,Ln([e,t],$n(n)))},clearTimeout:function(e){return clearTimeout(e)},delegate:void 0};function bi(e){Cc.setTimeout(function(){throw e})}function wi(){}function Fn(e){e()}var jo=(function(e){st(t,e);function t(n){var o=e.call(this)||this;return o.isStopped=!1,n?(o.destination=n,yi(n)&&n.add(o)):o.destination=Ic,o}return t.create=function(n,o,r){return new Uo(n,o,r)},t.prototype.next=function(n){this.isStopped||this._next(n)},t.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(n){this.destination.next(n)},t.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(cn),kc=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var n=this.partialObserver;if(n.next)try{n.next(t)}catch(o){Bn(o)}},e.prototype.error=function(t){var n=this.partialObserver;if(n.error)try{n.error(t)}catch(o){Bn(o)}else Bn(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(n){Bn(n)}},e})(),Uo=(function(e){st(t,e);function t(n,o,r){var i=e.call(this)||this,s;return _e(n)||!n?s={next:n??void 0,error:o??void 0,complete:r??void 0}:s=n,i.destination=new kc(s),i}return t})(jo);function Bn(e){bi(e)}function Nc(e){throw e}var Ic={closed:!0,next:wi,error:Nc,complete:wi},Go=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})();function xi(e){return e}function Mc(e){return e.length===0?xi:e.length===1?e[0]:function(n){return e.reduce(function(o,r){return r(o)},n)}}var Be=(function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(t,n,o){var r=this,i=Dc(t)?t:new Uo(t,n,o);return Fn(function(){var s=r,l=s.operator,d=s.source;i.add(l?l.call(i,d):d?r._subscribe(i):r._trySubscribe(i))}),i},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(n){t.error(n)}},e.prototype.forEach=function(t,n){var o=this;return n=Si(n),new n(function(r,i){var s=new Uo({next:function(l){try{t(l)}catch(d){i(d),s.unsubscribe()}},error:i,complete:r});o.subscribe(s)})},e.prototype._subscribe=function(t){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(t)},e.prototype[Go]=function(){return this},e.prototype.pipe=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return Mc(t)(this)},e.prototype.toPromise=function(t){var n=this;return t=Si(t),new t(function(o,r){var i;n.subscribe(function(s){return i=s},function(s){return r(s)},function(){return o(i)})})},e.create=function(t){return new e(t)},e})();function Si(e){var t;return(t=e??Ec.Promise)!==null&&t!==void 0?t:Promise}function Pc(e){return e&&_e(e.next)&&_e(e.error)&&_e(e.complete)}function Dc(e){return e&&e instanceof jo||Pc(e)&&yi(e)}function Tc(e){return _e(e?.lift)}function vt(e){return function(t){if(Tc(t))return t.lift(function(n){try{return e(n,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function bt(e,t,n,o,r){return new Oc(e,t,n,o,r)}var Oc=(function(e){st(t,e);function t(n,o,r,i,s,l){var d=e.call(this,n)||this;return d.onFinalize=s,d.shouldUnsubscribe=l,d._next=o?function(c){try{o(c)}catch(u){n.error(u)}}:e.prototype._next,d._error=i?function(c){try{i(c)}catch(u){n.error(u)}finally{this.unsubscribe()}}:e.prototype._error,d._complete=r?function(){try{r()}catch(c){n.error(c)}finally{this.unsubscribe()}}:e.prototype._complete,d}return t.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;e.prototype.unsubscribe.call(this),!o&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},t})(jo),Ac=Wo(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),_i=(function(e){st(t,e);function t(){var n=e.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return t.prototype.lift=function(n){var o=new Ei(this,this);return o.operator=n,o},t.prototype._throwIfClosed=function(){if(this.closed)throw new Ac},t.prototype.next=function(n){var o=this;Fn(function(){var r,i;if(o._throwIfClosed(),!o.isStopped){o.currentObservers||(o.currentObservers=Array.from(o.observers));try{for(var s=zt(o.currentObservers),l=s.next();!l.done;l=s.next()){var d=l.value;d.next(n)}}catch(c){r={error:c}}finally{try{l&&!l.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}}})},t.prototype.error=function(n){var o=this;Fn(function(){if(o._throwIfClosed(),!o.isStopped){o.hasError=o.isStopped=!0,o.thrownError=n;for(var r=o.observers;r.length;)r.shift().error(n)}})},t.prototype.complete=function(){var n=this;Fn(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var o=n.observers;o.length;)o.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(n){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,n)},t.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},t.prototype._innerSubscribe=function(n){var o=this,r=this,i=r.hasError,s=r.isStopped,l=r.observers;return i||s?mi:(this.currentObservers=null,l.push(n),new cn(function(){o.currentObservers=null,zn(l,n)}))},t.prototype._checkFinalizedStatuses=function(n){var o=this,r=o.hasError,i=o.thrownError,s=o.isStopped;r?n.error(i):s&&n.complete()},t.prototype.asObservable=function(){var n=new Be;return n.source=this,n},t.create=function(n,o){return new Ei(n,o)},t})(Be),Ei=(function(e){st(t,e);function t(n,o){var r=e.call(this)||this;return r.destination=n,r.source=o,r}return t.prototype.next=function(n){var o,r;(r=(o=this.destination)===null||o===void 0?void 0:o.next)===null||r===void 0||r.call(o,n)},t.prototype.error=function(n){var o,r;(r=(o=this.destination)===null||o===void 0?void 0:o.error)===null||r===void 0||r.call(o,n)},t.prototype.complete=function(){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||o===void 0||o.call(n)},t.prototype._subscribe=function(n){var o,r;return(r=(o=this.source)===null||o===void 0?void 0:o.subscribe(n))!==null&&r!==void 0?r:mi},t})(_i),$c={now:function(){return Date.now()}},Lc=(function(e){st(t,e);function t(n,o){return e.call(this)||this}return t.prototype.schedule=function(n,o){return this},t})(cn),Ci={setInterval:function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];return setInterval.apply(void 0,Ln([e,t],$n(n)))},clearInterval:function(e){return clearInterval(e)},delegate:void 0},zc=(function(e){st(t,e);function t(n,o){var r=e.call(this,n,o)||this;return r.scheduler=n,r.work=o,r.pending=!1,r}return t.prototype.schedule=function(n,o){var r;if(o===void 0&&(o=0),this.closed)return this;this.state=n;var i=this.id,s=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(s,i,o)),this.pending=!0,this.delay=o,this.id=(r=this.id)!==null&&r!==void 0?r:this.requestAsyncId(s,this.id,o),this},t.prototype.requestAsyncId=function(n,o,r){return r===void 0&&(r=0),Ci.setInterval(n.flush.bind(n,this),r)},t.prototype.recycleAsyncId=function(n,o,r){if(r===void 0&&(r=0),r!=null&&this.delay===r&&this.pending===!1)return o;o!=null&&Ci.clearInterval(o)},t.prototype.execute=function(n,o){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(n,o);if(r)return r;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(n,o){var r=!1,i;try{this.work(n)}catch(s){r=!0,i=s||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),i},t.prototype.unsubscribe=function(){if(!this.closed){var n=this,o=n.id,r=n.scheduler,i=r.actions;this.work=this.state=this.scheduler=null,this.pending=!1,zn(i,this),o!=null&&(this.id=this.recycleAsyncId(r,o,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t})(Lc),ki=(function(){function e(t,n){n===void 0&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(t,n,o){return n===void 0&&(n=0),new this.schedulerActionCtor(this,t).schedule(o,n)},e.now=$c.now,e})(),Fc=(function(e){st(t,e);function t(n,o){o===void 0&&(o=ki.now);var r=e.call(this,n,o)||this;return r.actions=[],r._active=!1,r}return t.prototype.flush=function(n){var o=this.actions;if(this._active){o.push(n);return}var r;this._active=!0;do if(r=n.execute(n.state,n.delay))break;while(n=o.shift());if(this._active=!1,r){for(;n=o.shift();)n.unsubscribe();throw r}},t})(ki),Bc=new Fc(zc);function Hc(e){return e&&_e(e.schedule)}function Yc(e){return e[e.length-1]}function Xc(e){return Hc(Yc(e))?e.pop():void 0}var Ni=(function(e){return e&&typeof e.length=="number"&&typeof e!="function"});function Ii(e){return _e(e?.then)}function Mi(e){return _e(e[Go])}function Pi(e){return Symbol.asyncIterator&&_e(e?.[Symbol.asyncIterator])}function Di(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Vc(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Ti=Vc();function Oi(e){return _e(e?.[Ti])}function Ai(e){return Sc(this,arguments,function(){var n,o,r,i;return gi(this,function(s){switch(s.label){case 0:n=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,Ft(n.read())];case 3:return o=s.sent(),r=o.value,i=o.done,i?[4,Ft(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,Ft(r)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function $i(e){return _e(e?.getReader)}function wt(e){if(e instanceof Be)return e;if(e!=null){if(Mi(e))return Wc(e);if(Ni(e))return qc(e);if(Ii(e))return jc(e);if(Pi(e))return Li(e);if(Oi(e))return Uc(e);if($i(e))return Gc(e)}throw Di(e)}function Wc(e){return new Be(function(t){var n=e[Go]();if(_e(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function qc(e){return new Be(function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()})}function jc(e){return new Be(function(t){e.then(function(n){t.closed||(t.next(n),t.complete())},function(n){return t.error(n)}).then(null,bi)})}function Uc(e){return new Be(function(t){var n,o;try{for(var r=zt(e),i=r.next();!i.done;i=r.next()){var s=i.value;if(t.next(s),t.closed)return}}catch(l){n={error:l}}finally{try{i&&!i.done&&(o=r.return)&&o.call(r)}finally{if(n)throw n.error}}t.complete()})}function Li(e){return new Be(function(t){Kc(e,t).catch(function(n){return t.error(n)})})}function Gc(e){return Li(Ai(e))}function Kc(e,t){var n,o,r,i;return xc(this,void 0,void 0,function(){var s,l;return gi(this,function(d){switch(d.label){case 0:d.trys.push([0,5,6,11]),n=_c(e),d.label=1;case 1:return[4,n.next()];case 2:if(o=d.sent(),!!o.done)return[3,4];if(s=o.value,t.next(s),t.closed)return[2];d.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return l=d.sent(),r={error:l},[3,11];case 6:return d.trys.push([6,,9,10]),o&&!o.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:d.sent(),d.label=8;case 8:return[3,10];case 9:if(r)throw r.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function at(e,t,n,o,r){o===void 0&&(o=0),r===void 0&&(r=!1);var i=t.schedule(function(){n(),r?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(i),!r)return i}function zi(e,t){return t===void 0&&(t=0),vt(function(n,o){n.subscribe(bt(o,function(r){return at(o,e,function(){return o.next(r)},t)},function(){return at(o,e,function(){return o.complete()},t)},function(r){return at(o,e,function(){return o.error(r)},t)}))})}function Fi(e,t){return t===void 0&&(t=0),vt(function(n,o){o.add(e.schedule(function(){return n.subscribe(o)},t))})}function Zc(e,t){return wt(e).pipe(Fi(t),zi(t))}function Jc(e,t){return wt(e).pipe(Fi(t),zi(t))}function Qc(e,t){return new Be(function(n){var o=0;return t.schedule(function(){o===e.length?n.complete():(n.next(e[o++]),n.closed||this.schedule())})})}function Rc(e,t){return new Be(function(n){var o;return at(n,t,function(){o=e[Ti](),at(n,t,function(){var r,i,s;try{r=o.next(),i=r.value,s=r.done}catch(l){n.error(l);return}s?n.complete():n.next(i)},0,!0)}),function(){return _e(o?.return)&&o.return()}})}function Bi(e,t){if(!e)throw new Error("Iterable cannot be null");return new Be(function(n){at(n,t,function(){var o=e[Symbol.asyncIterator]();at(n,t,function(){o.next().then(function(r){r.done?n.complete():n.next(r.value)})},0,!0)})})}function ed(e,t){return Bi(Ai(e),t)}function td(e,t){if(e!=null){if(Mi(e))return Zc(e,t);if(Ni(e))return Qc(e,t);if(Ii(e))return Jc(e,t);if(Pi(e))return Bi(e,t);if(Oi(e))return Rc(e,t);if($i(e))return ed(e,t)}throw Di(e)}function Hn(e,t){return t?td(e,t):wt(e)}function Ge(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Xc(e);return Hn(e,n)}function Me(e,t){var n=_e(e)?e:function(){return e},o=function(r){return r.error(n())};return new Be(o)}function nd(e){return e instanceof Date&&!isNaN(e)}var od=Wo(function(e){return function(n){n===void 0&&(n=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=n}});function rd(e,t){var n=nd(e)?{first:e}:{each:e},o=n.first,r=n.each,i=n.with,s=i===void 0?id:i,l=n.scheduler,d=l===void 0?Bc:l,c=n.meta,u=c===void 0?null:c;if(o==null&&r==null)throw new TypeError("No timeout provided.");return vt(function(f,h){var g,p,y=null,b=0,w=function(_){p=at(h,d,function(){try{g.unsubscribe(),wt(s({meta:u,lastValue:y,seen:b})).subscribe(h)}catch(v){h.error(v)}},_)};g=f.subscribe(bt(h,function(_){p?.unsubscribe(),b++,h.next(y=_),r>0&&w(r)},void 0,void 0,function(){p?.closed||p?.unsubscribe(),y=null})),!b&&w(o!=null?typeof o=="number"?o:+o-d.now():r)})}function id(e){throw new od(e)}function Yn(e,t){return vt(function(n,o){var r=0;n.subscribe(bt(o,function(i){o.next(e.call(t,i,r++))}))})}function sd(e,t,n,o,r,i,s,l){var d=[],c=0,u=0,f=!1,h=function(){f&&!d.length&&!c&&t.complete()},g=function(y){return c<o?p(y):d.push(y)},p=function(y){c++;var b=!1;wt(n(y,u++)).subscribe(bt(t,function(w){t.next(w)},function(){b=!0},void 0,function(){if(b)try{c--;for(var w=function(){var _=d.shift();s||p(_)};d.length&&c<o;)w();h()}catch(_){t.error(_)}}))};return e.subscribe(bt(t,g,function(){f=!0,h()})),function(){}}function Ko(e,t,n){return n===void 0&&(n=1/0),_e(t)?Ko(function(o,r){return Yn(function(i,s){return t(o,i,r,s)})(wt(e(o,r)))},n):(typeof t=="number"&&(n=t),vt(function(o,r){return sd(o,r,e,n)}))}function Xn(e){return vt(function(t,n){var o=null,r=!1,i;o=t.subscribe(bt(n,void 0,void 0,function(s){i=wt(e(s,Xn(e)(t))),o?(o.unsubscribe(),o=null,i.subscribe(n)):r=!0})),r&&(o.unsubscribe(),o=null,i.subscribe(n))})}function ad(e,t,n){var o=_e(e)||t||n?{next:e,error:t,complete:n}:e;return o?vt(function(r,i){var s;(s=o.subscribe)===null||s===void 0||s.call(o);var l=!0;r.subscribe(bt(i,function(d){var c;(c=o.next)===null||c===void 0||c.call(o,d),i.next(d)},function(){var d;l=!1,(d=o.complete)===null||d===void 0||d.call(o),i.complete()},function(d){var c;l=!1,(c=o.error)===null||c===void 0||c.call(o,d),i.error(d)},function(){var d,c;l&&((d=o.unsubscribe)===null||d===void 0||d.call(o)),(c=o.finalize)===null||c===void 0||c.call(o)}))}):xi}function Zo(e){return encodeURIComponent((e||"").trim()||"__default__")}function ld(e){return e.eventType==="external"?`${e.bindNodeId}::ext::${Zo(e.externalEventKey??"")}`:`${e.bindNodeId}::${e.eventType}`}function Hi(e,t){return`${e}:${t}`}class Bt{static instance;eventSubjects=new Map;subscriptions=new Map;eventBlocks=new Map;nodeEventBindings=new Map;defaultRuntimeHandlers;constructor(){}static getInstance(){return Bt.instance||(Bt.instance=new Bt),Bt.instance}registerEventBlock(t){this.eventBlocks.set(t.id,t)}unregisterEventBlock(t){this.eventBlocks.delete(t)}getEventBlock(t){return this.eventBlocks.get(t)}setDefaultRuntimeHandlers(t){this.defaultRuntimeHandlers=t}mergeDefaultRuntimeHandlers(t){if(!t)return;const n=this.defaultRuntimeHandlers;this.defaultRuntimeHandlers={dataRequest:{...n?.dataRequest,...t.dataRequest},external:{...n?.external,...t.external}}}mergeRuntimeHandlers(t){const n=this.defaultRuntimeHandlers;if(!(!n&&!t))return{dataRequest:{...n?.dataRequest,...t?.dataRequest},external:{...n?.external,...t?.external}}}disposeEventRootPipeline(t){const n=this.subscriptions.get(t.id);n&&(n.unsubscribe(),this.subscriptions.delete(t.id)),this.eventSubjects.delete(t.id)}bindNodeEvent(t){const n=ld(t),o=this.nodeEventBindings.get(n);o&&o.id!==t.id&&this.disposeEventRootPipeline(o),this.nodeEventBindings.set(n,t),this.eventSubjects.has(t.id)||this.createEventFlowPipeline(t)}unbindNodeEvent(t,n,o){if(n==="external"){const l=`${t}::ext::${Zo(o??"")}`,d=this.nodeEventBindings.get(l);d&&(this.disposeEventRootPipeline(d),this.nodeEventBindings.delete(l));return}const r=`${t}::${n}`,i=Hi(t,n),s=this.nodeEventBindings.get(r)??this.nodeEventBindings.get(i);s&&(this.disposeEventRootPipeline(s),this.nodeEventBindings.delete(r),this.nodeEventBindings.delete(i))}unbindAllForNode(t){const n=[];this.nodeEventBindings.forEach((o,r)=>{o.bindNodeId===t&&n.push({key:r,root:o})}),n.forEach(({key:o,root:r})=>{this.disposeEventRootPipeline(r),this.nodeEventBindings.delete(o)})}getNodeEventBindings(t){const n=[];return this.nodeEventBindings.forEach(o=>{o.bindNodeId===t&&n.push(o)}),n}emit(t,n,o){const r=`${t}::${n}`,i=this.nodeEventBindings.get(r)??this.nodeEventBindings.get(Hi(t,n));if(!i||!i.enabled)return Ge({success:!0,result:null,path:[],duration:0});if(!this.eventSubjects.get(i.id))return Me(()=>new Error(`Event flow not initialized for ${r}`));const l=Date.now(),d={...o,executionPath:o.executionPath||[],runtimeHandlers:this.mergeRuntimeHandlers(o.runtimeHandlers)};return this.executeEventFlow(i,d).pipe(Yn(c=>({success:!0,result:c,path:d.executionPath,duration:Date.now()-l})),Xn(c=>Ge({success:!1,error:c.message||"Event flow execution failed",path:d.executionPath,duration:Date.now()-l})))}emitExternal(t,n,o){const r=`${t}::ext::${Zo(n)}`,i=this.nodeEventBindings.get(r);if(!i||!i.enabled)return Ge({success:!0,result:null,path:[],duration:0});if(!this.eventSubjects.get(i.id))return Me(()=>new Error(`Event flow not initialized for ${r}`));const l=Date.now(),d={...o,executionPath:o.executionPath||[],runtimeHandlers:this.mergeRuntimeHandlers(o.runtimeHandlers)};return this.executeEventFlow(i,d).pipe(Yn(c=>({success:!0,result:c,path:d.executionPath,duration:Date.now()-l})),Xn(c=>Ge({success:!1,error:c.message||"Event flow execution failed",path:d.executionPath,duration:Date.now()-l})))}createEventFlowPipeline(t){const n=new _i;this.eventSubjects.set(t.id,n)}executeEventFlow(t,n){const{nodes:o,edges:r}=t.flowData;if(o.length===0)return Ge(null);const i=o.filter(s=>s.inputs.length===0);return i.length===0?Me(()=>new Error("No start node found in event flow")):this.executeFlowNodes(i,o,r,n,{})}executeFlowNodes(t,n,o,r,i){if(t.length===0)return Ge(i);const s=t.map(l=>this.executeSingleFlowNode(l,r,i).pipe(ad(d=>{i[l.id]=d,r.executionPath.push(l.id)})));return Hn(s).pipe(Ko(l=>l,1),Yn(()=>{const l=new Set;return t.forEach(c=>{c.outputs.forEach(u=>{const f=n.find(h=>h.id===u);f&&f.inputs.every(g=>i[g]!==void 0)&&l.add(u)})}),n.filter(c=>l.has(c.id))}),Ko(l=>l.length>0?this.executeFlowNodes(l,n,o,r,i):Ge(i)),rd(3e4),Xn(l=>(console.error("Event flow execution error:",l),Me(()=>l))))}resolveFlowEventBlock(t){return this.eventBlocks.get(t.eventBlockId)??t.data.eventBlock}interpolateBuiltinString(t,n,o){return t.replace(/\{\{\s*([^}]+?)\s*\}\}/g,(r,i)=>{const s=String(i).trim();if(s.startsWith("$")){const d=this.getValueFromPath(o,s.slice(1));return d==null?"":String(d)}const l=n[s];return l==null?"":String(l)})}executeBuiltin(t,n,o){const r=t.builtinId;if(!r)return Me(()=>new Error("内置动作未选择类型"));if(r==="antdMessage"){const i=t.builtinConfig??{},s=String(i.content??""),l=i.level??"info",d=i.duration,c=this.interpolateBuiltinString(s,o,n);if(!c.trim())return Me(()=>new Error("Message 提示内容为空"));try{const u={type:l,content:c};if(d!=null&&d!==""){const f=Number(d);Number.isNaN(f)||(u.duration=f)}return m.message.open(u),Ge({ok:!0,builtinId:r,content:c,level:l})}catch(u){return Me(()=>u)}}return Me(()=>new Error(`未知内置动作: ${String(r)}`))}invokeRuntimeHandler(t,n,o){try{const r=t(n,o);return r instanceof Promise?Hn(r):Ge(r)}catch(r){return Me(()=>r)}}executeSingleFlowNode(t,n,o){const r=this.resolveFlowEventBlock(t);if(!r)return Me(()=>new Error(`Event block not found: ${t.eventBlockId}`));const i=this.prepareEventArgs(t,n,o),s=r.executorType??"inlineScript";if(s==="dataRequest"){const l=(r.dataRequestKey||"").trim();if(!l)return Me(()=>new Error("事件块未配置 dataRequestKey"));const d=n.runtimeHandlers?.dataRequest?.[l];return d?this.invokeRuntimeHandler(d,n,i):Me(()=>new Error(`未注册 dataRequest 处理器: ${l}`))}if(s==="external"){const l=(r.externalHandlerKey||"").trim();if(!l)return Me(()=>new Error("事件块未配置 externalHandlerKey"));const d=n.runtimeHandlers?.external?.[l];return d?this.invokeRuntimeHandler(d,n,i):Me(()=>new Error(`未注册 external 处理器: ${l}`))}if(s==="builtin")return this.executeBuiltin(r,n,i);try{const d=new Function("node","context","args",r.callback)(n.triggerNode,n,i);return d instanceof Promise?Hn(d):Ge(d)}catch(l){return Me(()=>l)}}prepareEventArgs(t,n,o){const r={$event:n.originalEvent,$data:n.data,$node:n.triggerNode},{inputMapping:i}=t.data;return i&&Object.entries(i).forEach(([s,l])=>{if(l.startsWith("$prev.")){const d=l.replace("$prev.","");r[s]=o[d]}else if(l.startsWith("$")){const d=l.slice(1);r[s]=this.getValueFromPath(n,d)}else r[s]=l}),r}getValueFromPath(t,n){return n.split(".").reduce((o,r)=>{if(o!==null&&typeof o=="object"&&r in o)return o[r]},t)}clearAll(){this.subscriptions.forEach(t=>t.unsubscribe()),this.subscriptions.clear(),this.eventSubjects.clear(),this.nodeEventBindings.clear()}}const Ht=Bt.getInstance(),Yi=({node:e,children:t,runtimeHandlers:n,flowContextData:o})=>{const{eventFlow:r}=De(),i=E.useRef(null),s=E.useCallback(()=>r.eventRoots.filter(d=>d.bindNodeId===e.id&&d.enabled),[r.eventRoots,e.id]),l=E.useCallback(d=>c=>{const u=s().filter(h=>h.eventType===d);if(u.length===0)return;d!=="mouseOver"&&d!=="mouseLeave"&&c.preventDefault(),c.stopPropagation();const f=o&&typeof o=="object"?{...o}:{};u.forEach(h=>{Ht.emit(e.id,d,{triggerNode:e,originalEvent:c,data:f,runtimeHandlers:n}).subscribe({next:g=>{g.success||console.error("Event flow execution failed:",g.error)},error:g=>{console.error("Event flow error:",g)}})})},[s,e,n,o]);return E.useEffect(()=>(s().forEach(c=>{Ht.bindNodeEvent(c)}),()=>{Ht.unbindAllForNode(e.id)}),[s,e.id]),E.useEffect(()=>{const d=i.current;if(!d)return;const c={click:l("click"),mousedown:l("mouseDown"),mouseup:l("mouseUp"),dblclick:l("doubleClick"),mouseover:l("mouseOver"),mouseleave:l("mouseLeave"),mouseenter:l("mouseEnter"),contextmenu:l("contextMenu")};return Object.entries(c).forEach(([u,f])=>{d.addEventListener(u,f,!0)}),()=>{Object.entries(c).forEach(([u,f])=>{d.removeEventListener(u,f,!0)})}},[l]),E.cloneElement(t,{ref:d=>{i.current=d;const c=t.ref;typeof c=="function"?c(d):c&&"current"in c&&(c.current=d)}})},{Text:Xi}=m.Typography,cd=(e,t)=>{if(!t||!e)return{value:void 0};if(Array.isArray(e)){const n=e.find(o=>o.paramsCode===t);if(n)return{value:n.value,unit:n.unit}}else if(typeof e=="object"&&t in e)return{value:e[t],unit:e.unit};return{value:void 0}},dd=(e,t)=>{if(e==null||e==="")return"";if(t===-1)return String(e);const n=Number(e);return isNaN(n)?String(e):n.toFixed(t??2)},ud=(e,t,n,o)=>{switch(e.type){case"IMAGE":const r=e,i=r.backgroundColor,s=r.fillColor;let l=r.src;return s&&l&&l.includes("data:image/svg+xml")&&(e.name==="矩形"?l=`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="100" height="60"><rect width="100" height="60" fill="${s}" rx="4"/></svg>`)}`:e.name==="圆形"?l=`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80"><circle cx="40" cy="40" r="38" fill="${s}"/></svg>`)}`:e.name==="圆角矩形"&&(l=`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="100" height="60"><rect width="100" height="60" fill="${s}" rx="20"/></svg>`)}`)),a.jsx("div",{className:"w-full h-full flex items-center justify-center overflow-hidden",style:{backgroundColor:i},children:l?a.jsx("img",{src:l,alt:e.name,style:{width:"100%",height:"100%",objectFit:"contain"}}):a.jsx("div",{className:"w-full h-full flex items-center justify-center",children:a.jsx("span",{className:"text-gray-400 text-xs",children:"无图片"})})});case"TEXT":const d=e,{label:c,value:u,valueSourceCode:f,unit:h,decimals:g,labelStyle:p,valueStyle:y,customStyle:b}=d.content||{},{value:w,unit:_}=f?cd(t,f):{value:void 0,unit:void 0},x=dd(w!==void 0?w:u,g),T=h||_||"";return a.jsxs("div",{className:"w-full h-full flex flex-col justify-center gap-1",style:{...b},children:[c&&a.jsx(Xi,{style:{fontSize:14,fontWeight:"bold",color:"#262626",textAlign:"left",...p},children:c}),x&&a.jsxs(Xi,{style:{fontSize:14,color:"#1890ff",textAlign:"left",...y},children:[x,T?` ${T}`:""]})]});case"LINE":const I=e,{thickness:O=2,color:D="#d9d9d9",dashed:L=!1,lineType:q=L?"dashed":"solid",lineWeight:$=O,startX:H=0,startY:V=0,endX:C=100,endY:S=0}=I.config||{},N=(Y=>{const z=Math.max($,1);switch(Y){case"solid":return"";case"dashed":return`${z*8},${z*4}`;case"center":return`${z*12},${z*3},${z*2},${z*3}`;case"phantom":return`${z*12},${z*3},${z*2},${z*3},${z*2},${z*3}`;case"dot":return`${z},${z*3}`;case"dash-dot":return`${z*8},${z*3},${z},${z*3}`;default:return""}})(q),M=n?"#1890ff":D;return a.jsx("div",{className:"w-full h-full relative",style:{overflow:"visible"},children:a.jsxs("svg",{className:"absolute top-0 left-0",width:"100%",height:"100%",style:{overflow:"visible",pointerEvents:"none"},children:[a.jsx("line",{x1:H,y1:V,x2:C,y2:S,stroke:"transparent",strokeWidth:Math.max($,10),strokeLinecap:"round",strokeLinejoin:"round",style:{pointerEvents:"stroke",cursor:"pointer"}}),a.jsx("line",{x1:H,y1:V,x2:C,y2:S,stroke:M,strokeWidth:$,strokeDasharray:N,strokeLinecap:"round",strokeLinejoin:"round",style:{pointerEvents:"none"}})]})});case"CUSTOM":const A=e;return A.render?A.render({}):a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-gray-100",children:a.jsx("span",{className:"text-gray-400 text-xs",children:"自定义组件"})});default:return a.jsx("div",{className:"w-full h-full flex items-center justify-center bg-gray-100",children:a.jsx("span",{className:"text-gray-400 text-xs",children:"未知类型"})})}},fd=({node:e,isSelected:t=!1,onClick:n,onMouseDown:o,data:r,onUpdateNode:i,scale:s=1,enableEventFlow:l=!1,eventFlowData:d})=>{const{normalStyle:c,controlInfo:u}=e,{isClickable:f,isDraggable:h,isResizable:g}=u,p=e.contentInfo,y=De(P=>P.dataPool),b=E.useRef(n);E.useEffect(()=>{b.current=n},[n]);const[w,_]=E.useState(null),v=E.useRef(null),x=E.useRef(null),T=E.useRef(null),I=E.useRef(null),O=E.useRef(null),[D,L]=E.useState(null),[q,$]=E.useState(null),H=E.useRef(null),V=E.useMemo(()=>{const P=e.contentInfo.statusList;if(P.length===0)return;const W=li(P,r,y);return W||P[0]},[e.contentInfo.statusList,r,y]),C=V?.material,S=C?.type==="LINE",k=S?C.config:null,N=c.scale??1,M=(c.width||100)*N,A=(c.height||100)*N,Y=E.useCallback(()=>{const P=O.current?.closest('[data-canvas="true"]');if(!P)return s;const W=P.getBoundingClientRect(),X=parseFloat(P.style.width);return X?W.width/X:s},[s]),z=E.useCallback((P,W)=>{P.stopPropagation(),P.preventDefault();const X=k?.startX||0,U=k?.startY||0,K=k?.endX||0,le=k?.endY||0,te=c.x||0,re=c.y||0,fe=Math.max((k?.lineWeight||k?.thickness||2)*2,4),de=Math.min(X,K),he=Math.min(U,le),Ie=Math.max(X,K),Se=Math.max(U,le),Pe=Math.max(Ie-de,fe),Ne=Math.max(Se-he,fe);v.current={mouseX:P.clientX,mouseY:P.clientY,startX:X,startY:U,endX:K,endY:le,nodeX:te,nodeY:re};const Oe=Math.min(X,K),He=Math.min(U,le);T.current={nodeX:te+Oe,nodeY:re+He,width:Pe,height:Ne,startX:X-Oe,startY:U-He,endX:K-Oe,endY:le-He},x.current=V||null,_(W)},[k,c.x,c.y,V]);E.useEffect(()=>{if(!w||!S||!k||!i)return;const P=X=>{const U=v.current;if(!U||!O.current)return;const K=Y(),le=(X.clientX-U.mouseX)/K,te=(X.clientY-U.mouseY)/K;let re=U.startX,fe=U.startY,de=U.endX,he=U.endY,Ie=U.nodeX,Se=U.nodeY;w==="start"?(re=U.startX+le,fe=U.startY+te,re<0&&(Ie=U.nodeX+re,de=U.endX-re,re=0),fe<0&&(Se=U.nodeY+fe,he=U.endY-fe,fe=0)):(de=U.endX+le,he=U.endY+te,de<0&&(Ie=U.nodeX+de,re=U.startX-de,de=0),he<0&&(Se=U.nodeY+he,fe=U.startY-he,he=0));const Pe=Math.max((k.lineWeight||2)*2,4),Ne=Math.min(re,de),Oe=Math.min(fe,he),He=Math.max(re,de),Qe=Math.max(fe,he),Re=Ie+Ne,Mt=Se+Oe,Pt=re-Ne,rt=fe-Oe,Dt=de-Ne,ht=he-Oe,Tt=Math.max(He-Ne,Pe),Ot=Math.max(Qe-Oe,Pe);T.current={nodeX:Re,nodeY:Mt,width:Tt,height:Ot,startX:Pt,startY:rt,endX:Dt,endY:ht};const ze=O.current;ze.style.left=`${Re}px`,ze.style.top=`${Mt}px`,ze.style.width=`${Tt}px`,ze.style.height=`${Ot}px`,ze.querySelectorAll("svg line").forEach(gt=>{gt.setAttribute("x1",String(Pt)),gt.setAttribute("y1",String(rt)),gt.setAttribute("x2",String(Dt)),gt.setAttribute("y2",String(ht))});const je=ze.querySelector('[data-handle="start"]'),At=ze.querySelector('[data-handle="end"]');je&&(je.style.left=`${Pt-6}px`,je.style.top=`${rt-6}px`),At&&(At.style.left=`${Dt-6}px`,At.style.top=`${ht-6}px`)},W=()=>{const X=T.current;if(!X||!i){_(null),v.current=null,T.current=null,x.current=null;return}const U=De.getState().nodes.find(de=>de.id===e.id),K=U?.contentInfo.statusList??e.contentInfo.statusList,te=x.current?.id??K.find(de=>de.material.type==="LINE")?.id,re=K.map(de=>{if(de.material.type!=="LINE"||de.id!==te)return de;const he=de.material;return{...de,material:{...he,config:{...he.config,startX:X.startX,startY:X.startY,endX:X.endX,endY:X.endY}}}}),fe=U?.contentInfo??p;i(e.id,{normalStyle:{x:X.nodeX,y:X.nodeY,width:X.width,height:X.height},contentInfo:{...fe,statusList:re}}),_(null),v.current=null,T.current=null,x.current=null};return window.addEventListener("mousemove",P),window.addEventListener("mouseup",W),()=>{window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",W)}},[w,S,k,e.id,c,p,e.contentInfo.statusList,i,Y]),E.useEffect(()=>{if(!D||!i)return;const P=X=>{if(!O.current)return;const U=Y(),K=(X.clientX-D.startX)/U,le=(X.clientY-D.startY)/U;let te=D.startWidth,re=D.startHeight,fe=D.startNodeX,de=D.startNodeY;switch(D.corner){case"se":te=Math.max(20,D.startWidth+K),re=Math.max(20,D.startHeight+le);break;case"sw":te=Math.max(20,D.startWidth-K),re=Math.max(20,D.startHeight+le),fe=D.startNodeX+(D.startWidth-te);break;case"ne":te=Math.max(20,D.startWidth+K),re=Math.max(20,D.startHeight-le),de=D.startNodeY+(D.startHeight-re);break;case"nw":te=Math.max(20,D.startWidth-K),re=Math.max(20,D.startHeight-le),fe=D.startNodeX+(D.startWidth-te),de=D.startNodeY+(D.startHeight-re);break}I.current={x:fe,y:de,width:te,height:re};const he=O.current;he.style.left=`${fe}px`,he.style.top=`${de}px`,he.style.width=`${te}px`,he.style.height=`${re}px`},W=()=>{const X=I.current;X&&i(e.id,{normalStyle:{...c,x:X.x,y:X.y,width:X.width,height:X.height}}),L(null),I.current=null};return window.addEventListener("mousemove",P),window.addEventListener("mouseup",W),()=>{window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",W)}},[D,i,e.id,c,Y]);const B=E.useCallback((P,W)=>{P.stopPropagation(),P.preventDefault(),L({corner:W,startX:P.clientX,startY:P.clientY,startWidth:c.width||100,startHeight:c.height||100,startNodeX:c.x||0,startNodeY:c.y||0})},[c.width,c.height,c.x,c.y]),j=E.useCallback(P=>{P.stopPropagation(),P.preventDefault();const W=O.current?.getBoundingClientRect();W&&$({startX:P.clientX,startY:P.clientY,startAngle:c.rotate||0,centerX:W.left+W.width/2,centerY:W.top+W.height/2})},[c.rotate]);E.useEffect(()=>{if(!q)return;const P=X=>{const U=X.clientX-q.centerX,K=X.clientY-q.centerY;let te=(Math.atan2(K,U)*(180/Math.PI)+90)%360;if(te<0&&(te+=360),H.current=te,O.current){const re=c.transform||"";O.current.style.transform=`rotate(${te}deg) ${re}`.trim()}},W=()=>{const X=H.current??q.startAngle;H.current=null,i&&i(e.id,{normalStyle:{...c,rotate:Math.round(X)}}),$(null)};return window.addEventListener("mousemove",P),window.addEventListener("mouseup",W),()=>{window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",W)}},[q,i,e.id,c]);const Z=e.type==="group",G={position:"absolute",left:c.x||0,top:c.y||0,width:M,height:A,background:Z?"transparent":c.background||"transparent",backgroundImage:Z?void 0:c.backgroundImage?`url(${c.backgroundImage})`:void 0,backgroundSize:"cover",backgroundPosition:"center",padding:Array.isArray(c.padding)?c.padding.join("px ")+"px":c.padding,margin:Array.isArray(c.margin)?c.margin.join("px ")+"px":c.margin,borderRadius:Z?void 0:c.borderRadius,border:t&&!S?"2px solid #1890ff":S||Z?"none":c.border||"1px dashed transparent",pointerEvents:"auto",opacity:c.opacity??1,transform:`rotate(${H.current??(c.rotate||0)}deg) ${c.transform||""}`.trim(),transformOrigin:"center center",zIndex:t?1e3:c.zIndex??1,cursor:h&&!w?"move":f?"pointer":"default",boxSizing:"border-box",overflow:t||S||Z?"visible":"hidden"},ee=k?{x:k.startX||0,y:k.startY||0}:{x:0,y:0},oe=k?{x:k.endX||0,y:k.endY||0}:{x:0,y:0},J=a.jsxs("div",{ref:O,"data-node-id":e.id,style:G,onClick:P=>{console.log("NodeRenderer onClick",e.id,"isClickable:",f);const W=b.current;f&&W&&!w&&!D&&!q&&(P.stopPropagation(),W(P))},onMouseDown:P=>{h&&o&&!w&&o(P)},children:[t&&!S&&!Z&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute top-0 left-0 w-3 h-3 bg-blue-500 border-2 border-white rounded-full",style:{zIndex:9999,pointerEvents:"auto",cursor:"nw-resize",marginTop:"-6px",marginLeft:"-6px"},onMouseDown:P=>B(P,"nw"),title:"拖拽调整大小"}),a.jsx("div",{className:"absolute top-0 right-0 w-3 h-3 bg-blue-500 border-2 border-white rounded-full",style:{zIndex:9999,pointerEvents:"auto",cursor:"ne-resize",marginTop:"-6px",marginRight:"-6px"},onMouseDown:P=>B(P,"ne"),title:"拖拽调整大小"}),a.jsx("div",{className:"absolute bottom-0 left-0 w-3 h-3 bg-blue-500 border-2 border-white rounded-full",style:{zIndex:9999,pointerEvents:"auto",cursor:"sw-resize",marginBottom:"-6px",marginLeft:"-6px"},onMouseDown:P=>B(P,"sw"),title:"拖拽调整大小"}),a.jsx("div",{className:"absolute bottom-0 right-0 w-3 h-3 bg-blue-500 border-2 border-white rounded-full",style:{zIndex:9999,pointerEvents:"auto",cursor:"se-resize",marginBottom:"-6px",marginRight:"-6px"},onMouseDown:P=>B(P,"se"),title:"拖拽调整大小"}),a.jsx("div",{className:"absolute top-0 left-1/2 w-4 h-4 bg-green-500 border-2 border-white rounded-full",style:{zIndex:9999,pointerEvents:"auto",cursor:"grab",marginTop:"-20px",transform:"translateX(-50%)",boxShadow:"0 0 4px rgba(0,0,0,0.3)"},onMouseDown:P=>j(P),title:"拖拽旋转"}),a.jsx("div",{className:"absolute top-0 left-1/2 w-0.5 h-3 bg-green-500",style:{zIndex:9998,pointerEvents:"none",marginTop:"-14px",transform:"translateX(-50%)"}}),a.jsxs("div",{className:"absolute -top-6 left-0 bg-blue-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap",children:[e.name," ",V?`(${V.name})`:""]})]}),t&&S&&k&&i&&a.jsxs(a.Fragment,{children:[a.jsx("div",{"data-handle":"start",className:"absolute w-3 h-3 bg-blue-500 border-2 border-white rounded-full cursor-move z-50",style:{left:ee.x-6,top:ee.y-6,boxShadow:"0 0 4px rgba(0,0,0,0.3)"},onMouseDown:P=>z(P,"start"),title:"拖拽调整起点"}),a.jsx("div",{"data-handle":"end",className:"absolute w-3 h-3 bg-blue-500 border-2 border-white rounded-full cursor-move z-50",style:{left:oe.x-6,top:oe.y-6,boxShadow:"0 0 4px rgba(0,0,0,0.3)"},onMouseDown:P=>z(P,"end"),title:"拖拽调整终点"}),a.jsx("div",{className:"absolute -top-6 left-0 bg-blue-500 text-white text-xs px-2 py-0.5 rounded whitespace-nowrap",children:e.name})]}),a.jsx("div",{className:"w-full h-full relative",children:C?a.jsx("div",{className:"w-full h-full",children:ud(C,r,t)}):Z?null:a.jsx("div",{className:"w-full h-full flex items-center justify-center text-gray-300 text-xs",children:"无状态"})}),e.type==="group"&&e.children&&a.jsx("div",{className:"absolute inset-0 pointer-events-none",children:e.children.map(P=>a.jsx("div",{className:"pointer-events-auto",children:a.jsx(Jo,{node:P,isSelected:!1,data:r,onUpdateNode:i,scale:s,enableEventFlow:l,eventFlowData:d})},P.id))})]});return l?a.jsx(Yi,{node:e,flowContextData:d,children:J}):J},Jo=E.memo(fd,(e,t)=>{const n=e.node,o=t.node,r=n.id===o.id&&n.normalStyle.x===o.normalStyle.x&&n.normalStyle.y===o.normalStyle.y&&n.normalStyle.width===o.normalStyle.width&&n.normalStyle.height===o.normalStyle.height,i=n.contentInfo===o.contentInfo,s=JSON.stringify(e.eventFlowData??null)===JSON.stringify(t.eventFlowData??null),l=e.isSelected===t.isSelected&&e.scale===t.scale&&e.enableEventFlow===t.enableEventFlow&&s,d=h=>{const g=[];return h.contentInfo?.statusList?.forEach(p=>{if(p.material?.type==="LINE"){const y=p.material.config;g.push({statusId:p.id,startX:y?.startX??0,startY:y?.startY??0,endX:y?.endX??100,endY:y?.endY??0})}}),g},c=d(n),u=d(o);let f=!0;if(c.length!==u.length)f=!1;else for(let h=0;h<c.length;h++){const g=c[h],p=u.find(y=>y.statusId===g.statusId);if(!p||g.startX!==p.startX||g.startY!==p.startY||g.endX!==p.endX||g.endY!==p.endY){f=!1;break}}return r&&i&&l&&f}),hd=["#1890ff","#52c41a","#faad14","#f5222d","#722ed1","#eb2f96","#13c2c2","#fa8c16","#595959","#262626","#8c8c8c","#d9d9d9","#ffffff","#000000","#ff4d4f","#73d13d"],Yt=({value:e="#1890ff",onChange:t,onChangeComplete:n})=>{const[o,r]=E.useState(!1),[i,s]=E.useState(e),l=E.useRef(null);E.useEffect(()=>{s(e)},[e]),E.useEffect(()=>{const c=u=>{l.current&&!l.current.contains(u.target)&&(r(!1),n?.({toHexString:()=>i}))};return o&&document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o,n,i]);const d=c=>{s(c),t?.({toHexString:()=>c})};return a.jsxs("div",{ref:l,style:{position:"relative",display:"inline-block"},children:[a.jsx("div",{onClick:()=>r(!o),style:{width:28,height:28,backgroundColor:i,border:"1px solid #d9d9d9",borderRadius:4,cursor:"pointer"}}),o&&a.jsxs("div",{style:{position:"absolute",top:32,left:0,zIndex:1e3,background:"#fff",padding:8,borderRadius:4,boxShadow:"0 2px 8px rgba(0,0,0,0.15)",border:"1px solid #f0f0f0"},children:[a.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(8, 1fr)",gap:4},children:hd.map(c=>a.jsx("div",{onClick:()=>{d(c),r(!1),n?.({toHexString:()=>c})},style:{width:20,height:20,backgroundColor:c,border:i===c?"2px solid #1890ff":"1px solid #d9d9d9",borderRadius:2,cursor:"pointer"}},c))}),a.jsx("input",{type:"color",value:i,onChange:c=>d(c.target.value),onBlur:()=>n?.({toHexString:()=>i}),style:{width:"100%",marginTop:8,height:28,border:"1px solid #d9d9d9",borderRadius:4}})]})]})},{TextArea:pd}=m.Input;function Vi(e){if(!e||!(e instanceof HTMLElement))return!1;const t=e.tagName;return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="OPTION"||e.isContentEditable||e.closest('[contenteditable="true"]')||e.closest('[role="combobox"]')||e.closest('[role="listbox"]'))}const Wi=({defaultTestData:e})=>{const t=E.useRef(null),n=E.useRef(null),o=E.useRef(null),{nodes:r,selectedNodeId:i,selectedNodeIds:s,mode:l,lineDrawing:d,viewport:c,canvas:u,root:f,setViewport:h,setCanvasConfig:g,addNode:p,selectNode:y,updateNode:b,removeNode:w,undo:_,redo:v,setMode:x,startLineDrawing:T,endLineDrawing:I,cancelLineDrawing:O,addCanvas:D,removeCanvas:L,switchCanvas:q,updateCanvasName:$,setSelectedNodeIds:H}=De(),[V,C]=E.useState(!1),[,S]=E.useState({}),k=E.useRef(l);E.useEffect(()=>{k.current=l},[l]);const N=E.useRef(!1),M=E.useRef({x:0,y:0}),A=E.useRef({x:0,y:0,newX:0,newY:0}),Y=E.useRef(null),[z,B]=E.useState({start:null,end:null,isDrawing:!1}),[j,Z]=E.useState({start:null,end:null}),G=s,ee=H;E.useRef(!1);const[oe,J]=E.useState(!1),[P,W]=E.useState(!1),[X,U]=E.useState(()=>JSON.stringify(e??null,null,2)),K=E.useMemo(()=>{if(!P)return e;try{return JSON.parse(X)}catch{return e}},[X,e,P]),le=E.useMemo(()=>{const F=K;if(F!==null&&typeof F=="object")return F;if(F!==void 0)return{_payload:F}},[K]),te=E.useMemo(()=>{const F=K;return F!==null&&typeof F=="object"&&!Array.isArray(F)?F:Array.isArray(F)?{_telemetryRows:F}:F==null?{}:{_payload:F}},[K]),re=E.useCallback(()=>{let F=e;if(P)try{F=JSON.parse(X)}catch{F=e}U(JSON.stringify(F??null,null,2)),J(!0)},[X,e,P]),[fe,de]=E.useState(!1),[he,Ie]=E.useState(!1),Se=E.useCallback((F,Q)=>{if(!n.current)return{x:0,y:0};const ie=n.current.getBoundingClientRect(),ne=F-ie.left,R=Q-ie.top,ce=ie.width/u.width,ye=ie.height/u.height,ue=ne/ce,be=R/ye;return{x:Math.round(ue),y:Math.round(be)}},[u.width,u.height]),Pe=E.useCallback((F,Q)=>Se(F,Q),[Se]),Ne=E.useCallback((F,Q,ie=!0)=>{if(!d.material)return;const ne=d.material,R=ne.config||{},ce=R.lineWeight||R.thickness||2,ye=Math.min(F.x,Q.x),ue=Math.min(F.y,Q.y),be=Math.round(F.x-ye),me=Math.round(F.y-ue),Ee=Math.round(Q.x-ye),ke=Math.round(Q.y-ue),Fe=Math.max(ce*2,4),mt=Math.max(Math.abs(F.x-Q.x),Fe),Ue=Math.max(Math.abs(F.y-Q.y),Fe),$t={...ne,id:pe.nanoid(),config:{color:R.color,lineWeight:ce,thickness:ce,lineType:R.lineType,startX:be,startY:me,endX:Ee,endY:ke}},$o={id:pe.nanoid(),name:`${ne.name}_${Date.now()}`,type:"normal",normalStyle:{width:mt,height:Ue,x:ye,y:ue,background:"transparent"},contentInfo:{statusList:[Xo($t)],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0}};if(p($o,!1),ie){const Lo={x:Q.x,y:Q.y};B({start:Lo,end:{...Lo},isDrawing:!0})}else B({start:null,end:null,isDrawing:!1}),I()},[d.material,p,I]),Oe=E.useCallback(()=>{const F=t.current?.state;F&&h({scale:F.scale,positionX:F.positionX,positionY:F.positionY})},[h]),He=E.useCallback(F=>{N.current||l!=="box-select"&&(F.target===n.current||F.target.dataset?.canvas==="true")&&(y(null),ee([]))},[y,l]),Qe=E.useCallback(F=>{if(F.button===0){if(l==="line-draw"&&d.material){F.stopPropagation();const Q=Se(F.clientX,F.clientY);z.isDrawing?z.start&&Ne(z.start,Q,!0):B({start:Q,end:Q,isDrawing:!0});return}if(l==="box-select"&&!he){const Q=Pe(F.clientX,F.clientY);Z({start:Q,end:Q}),ee([]),F.preventDefault(),F.stopPropagation()}}},[l,d.material,z.isDrawing,z.start,he,Ne,Se,Pe]),Re=E.useCallback(F=>{if(!(l!=="line-draw"||!d.material)&&z.isDrawing&&z.start){const Q=Se(F.clientX,F.clientY);Ne(z.start,Q,!1)}},[l,d.material,z.isDrawing,z.start,Ne,Se]),Mt=E.useCallback(F=>{F.preventDefault(),F.dataTransfer.dropEffect="copy",C(!0)},[]),Pt=E.useCallback(F=>{F.preventDefault(),C(!1)},[]),rt=E.useCallback(F=>{if(F.preventDefault(),C(!1),!(!n.current||l!=="select"))try{const Q=F.dataTransfer.getData("application/json");if(!Q)return;const ie=JSON.parse(Q),ne=Se(F.clientX,F.clientY),R=ne.x-50,ce=ne.y-50,ye=hi(R,ce,ie);p(ye),ee([ye.id])}catch(Q){console.error("Failed to parse dropped material:",Q)}},[l,p,Se]),Dt=E.useCallback((F,Q)=>{l!=="select"&&l!=="box-select"||!Q.controlInfo.isDraggable||(F.stopPropagation(),y(Q.id),N.current=!0,M.current={x:F.clientX,y:F.clientY},A.current={x:Q.normalStyle.x||0,y:Q.normalStyle.y||0,newX:Q.normalStyle.x||0,newY:Q.normalStyle.y||0},Y.current=Q,F.preventDefault())},[l,y]);E.useEffect(()=>{const F=R=>{if(N.current&&i&&Y.current){if(!n.current)return;const ce=n.current.getBoundingClientRect(),ye=ce.width/u.width,ue=ce.height/u.height,be=R.clientX-M.current.x,me=R.clientY-M.current.y,Ee=be/ye,ke=me/ue,Fe=A.current.x+Ee,mt=A.current.y+ke,Ue=document.querySelector(`[data-node-id="${i}"]`);Ue&&(Ue.style.left=`${Fe}px`,Ue.style.top=`${mt}px`),A.current.newX=Fe,A.current.newY=mt}if(l==="box-select"&&j.start){const ce=Pe(R.clientX,R.clientY);Z(ye=>({...ye,end:ce}))}if(l==="line-draw"&&z.isDrawing){const ce=Se(R.clientX,R.clientY);B(ye=>({...ye,end:ce}))}},Q=()=>{if(N.current&&i&&Y.current){const R=De.getState(),ce=A.current.newX??A.current.x,ye=A.current.newY??A.current.y;R.updateNode(i,{normalStyle:{...Y.current.normalStyle,x:ce,y:ye}})}if(N.current=!1,Y.current=null,S({}),l==="box-select"&&j.start&&j.end){const R=Math.min(j.start.x,j.end.x),ce=Math.max(j.start.x,j.end.x),ye=Math.min(j.start.y,j.end.y),ue=Math.max(j.start.y,j.end.y),be=r.filter(me=>{const Ee=me.normalStyle.x||0,ke=me.normalStyle.y||0,Fe=me.normalStyle.width||0,mt=me.normalStyle.height||0,Ue=Ee+Fe/2,$t=ke+mt/2;return Ue>=R&&Ue<=ce&&$t>=ye&&$t<=ue}).map(me=>me.id);ee(be),Z({start:null,end:null})}},ie=R=>{Vi(R.target)||(R.key==="Escape"&&l==="line-draw"&&(B({start:null,end:null,isDrawing:!1}),O()),R.key==="Delete"&&(i?w(i):G.length>0&&(G.forEach(ce=>w(ce)),ee([]))),R.ctrlKey&&R.key==="z"&&(R.preventDefault(),_()),R.ctrlKey&&R.key==="y"&&(R.preventDefault(),v()),R.key===" "&&!he&&(R.preventDefault(),Ie(!0)))},ne=R=>{R.key===" "&&he&&Ie(!1)};return window.addEventListener("mousemove",F),window.addEventListener("mouseup",Q),window.addEventListener("keydown",ie),window.addEventListener("keyup",ne),()=>{window.removeEventListener("mousemove",F),window.removeEventListener("mouseup",Q),window.removeEventListener("keydown",ie),window.removeEventListener("keyup",ne)}},[i,j,l,z.isDrawing,G,r,u.width,u.height,w,_,he,v,O,Se,Pe,ee]);const ht=E.useCallback(()=>{const F=G.length>0?G.map(ie=>r.find(ne=>ne.id===ie)).filter(Boolean):i?[r.find(ie=>ie.id===i)].filter(Boolean):[];if(F.length===0)return;const Q=[];F.forEach(ie=>{const ne={...ie,id:pe.nanoid(),name:`${ie.name}_副本`,normalStyle:{...ie.normalStyle,x:(ie.normalStyle.x||0)+20,y:(ie.normalStyle.y||0)+20}};p(ne),Q.push(ne.id)}),Q.length===1?y(Q[0]):ee(Q)},[i,G,r,p,y,ee]),Tt=E.useCallback(()=>{if(G.length<2)return;const F=[];for(let ue=0;ue<G.length;ue++){const be=G[ue],me=r.find(Ee=>Ee.id===be);if(me){if(me?.type==="group"){me.children.forEach(ke=>F.push({...ke,normalStyle:{...ke.normalStyle,x:(me.normalStyle.x||0)+(ke.normalStyle.x||0),y:(me.normalStyle.y||0)+(ke.normalStyle.y||0)}})),w(be);continue}F.push(me)}}if(F.length<2)return;let Q=1/0,ie=1/0,ne=-1/0,R=-1/0;F.forEach(ue=>{const be=ue.normalStyle.x||0,me=ue.normalStyle.y||0,Ee=ue.normalStyle.width||0,ke=ue.normalStyle.height||0;Q=Math.min(Q,be),ie=Math.min(ie,me),ne=Math.max(ne,be+Ee),R=Math.max(R,me+ke)});const ce=F.map(ue=>({...ue,normalStyle:{...ue.normalStyle,x:(ue.normalStyle.x||0)-Q,y:(ue.normalStyle.y||0)-ie}})),ye={id:pe.nanoid(),name:`群组_${Date.now()}`,type:"group",normalStyle:{x:Q,y:ie,width:ne-Q,height:R-ie,background:"transparent"},contentInfo:{statusList:[],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0},children:ce};G.forEach(ue=>w(ue)),p(ye),ee([]),y(ye.id)},[G,r,w,p,y]),Ot=E.useCallback(()=>{const F=G.length>0?G.map(Q=>r.find(ie=>ie.id===Q)).filter(Q=>!!Q&&Q.type==="group"):i?[r.find(Q=>Q.id===i)].filter(Q=>!!Q&&Q.type==="group"):[];F.length!==0&&(F.forEach(Q=>{if(!Q.children||Q.children.length===0)return;const ie=Q.children.map(ne=>({...ne,normalStyle:{...ne.normalStyle,x:(Q.normalStyle.x||0)+(ne.normalStyle.x||0),y:(Q.normalStyle.y||0)+(ne.normalStyle.y||0)}}));w(Q.id),ie.forEach(ne=>p(ne))}),ee([]),y(null))},[i,G,r,w,p,y,ee]),ze=E.useCallback(F=>{if(G.length<2)return;const Q=G.map(be=>r.find(me=>me.id===be)).filter(be=>!!be&&be.type!=="group");if(Q.length<2)return;let ie=1/0,ne=-1/0,R=1/0,ce=-1/0;Q.forEach(be=>{const me=be.normalStyle.x||0,Ee=be.normalStyle.y||0;ie=Math.min(ie,me),ne=Math.max(ne,me),R=Math.min(R,Ee),ce=Math.max(ce,Ee)});const ye=[...Q].sort((be,me)=>F==="horizontal"?(be.normalStyle.x||0)-(me.normalStyle.x||0):(be.normalStyle.y||0)-(me.normalStyle.y||0)),ue=ye.length;if(F==="horizontal"){const me=(ne-ie)/(ue-1);ye.forEach((Ee,ke)=>{const Fe=ie+me*ke;b(Ee.id,{normalStyle:{...Ee.normalStyle,x:Fe}})})}else{const me=(ce-R)/(ue-1);ye.forEach((Ee,ke)=>{const Fe=R+me*ke;b(Ee.id,{normalStyle:{...Ee.normalStyle,y:Fe}})})}},[G,r,b]),pt=F=>{const Q=F.contentInfo.statusList.find(ie=>ie.material.type==="LINE");return Q?Q.material.config:null},je=E.useCallback(F=>{if(G.length<2)return;const Q=De.getState(),ie=G.map(R=>r.find(ce=>ce.id===R)).filter(R=>!!R);if(ie.length<2)return;let ne=0;switch(F){case"left":ne=Math.min(...ie.map(R=>{const ce=pt(R);return ce?(R.normalStyle.x||0)+(ce.startX||0):R.normalStyle.x||0}));break;case"right":ne=Math.max(...ie.map(R=>{const ce=pt(R);return ce?(R.normalStyle.x||0)+(ce.endX||0):(R.normalStyle.x||0)+(R.normalStyle.width||0)}));break;case"top":ne=Math.min(...ie.map(R=>{const ce=pt(R);return ce?(R.normalStyle.y||0)+(ce.startY||0):R.normalStyle.y||0}));break;case"bottom":ne=Math.max(...ie.map(R=>{const ce=pt(R);return ce?(R.normalStyle.y||0)+(ce.endY||0):(R.normalStyle.y||0)+(R.normalStyle.height||0)}));break}ie.forEach(R=>{let ce=R.normalStyle.x||0,ye=R.normalStyle.y||0;const ue=pt(R);switch(F){case"left":ue?ce=ne-(ue.startX||0):ce=ne;break;case"right":ue?ce=ne-(ue.endX||0):ce=ne-(R.normalStyle.width||0);break;case"top":ue?ye=ne-(ue.startY||0):ye=ne;break;case"bottom":ue?ye=ne-(ue.endY||0):ye=ne-(R.normalStyle.height||0);break}Q.updateNode(R.id,{normalStyle:{...R.normalStyle,x:ce,y:ye}})})},[G,r]),At=[{icon:a.jsx(se.SelectOutlined,{}),title:"选择模式",active:l==="select",onClick:()=>{x("select")}},{icon:a.jsx(se.GroupOutlined,{}),title:"框选模式",active:l==="box-select",onClick:()=>{x("box-select"),ee([])}},{icon:a.jsx(se.DragOutlined,{}),title:"拖拽模式",active:l==="drag",onClick:()=>{x("drag")}},{icon:a.jsx(se.EditOutlined,{}),title:"线条绘制",active:l==="line-draw",onClick:()=>{x("line-draw")}},{icon:a.jsx(se.EyeOutlined,{}),title:"预览模式",active:l==="preview",onClick:()=>{x("preview")}}],gt=E.useMemo(()=>[{icon:a.jsx(se.UndoOutlined,{}),title:"撤销 (Ctrl+Z)",onClick:_},{icon:a.jsx(se.RedoOutlined,{}),title:"重做 (Ctrl+Y)",onClick:v},{icon:a.jsx(se.CopyOutlined,{}),title:"复制节点",disabled:!i&&G.length===0,onClick:ht},{icon:a.jsx(se.GroupOutlined,{}),title:"组合选中节点",disabled:G.length<2,onClick:Tt},{icon:a.jsx(se.UngroupOutlined,{}),title:"解除组合",disabled:!i&&G.length===0,onClick:Ot},{icon:a.jsx(se.AlignLeftOutlined,{}),title:"左对齐",disabled:G.length<2,onClick:()=>je("left")},{icon:a.jsx(se.AlignRightOutlined,{}),title:"右对齐",disabled:G.length<2,onClick:()=>je("right")},{icon:a.jsx(se.VerticalAlignTopOutlined,{}),title:"上对齐",disabled:G.length<2,onClick:()=>je("top")},{icon:a.jsx(se.VerticalAlignBottomOutlined,{}),title:"下对齐",disabled:G.length<2,onClick:()=>je("bottom")},{icon:a.jsx(se.ColumnWidthOutlined,{}),title:"水平分布",disabled:G.length<2,onClick:()=>ze("horizontal")},{icon:a.jsx(se.ColumnHeightOutlined,{}),title:"垂直分布",disabled:G.length<2,onClick:()=>ze("vertical")},{icon:a.jsx(se.SettingOutlined,{}),title:"画布配置",onClick:()=>de(!0)},{icon:a.jsx(se.ExperimentOutlined,{}),title:"数据模拟",type:"primary",onClick:re},{icon:a.jsx(se.DeleteOutlined,{}),title:"删除选中 (Delete)",disabled:!i&&G.length===0,onClick:()=>{i?w(i):G.length>0&&(G.forEach(F=>w(F)),ee([]))}}],[_,v,l,x,ee,G,Tt,Ot,ht,je,ze,de,J,re,i,w,f.currentCanvasId]),Dn=E.useCallback(F=>{if(Vi(F.target)||F.key!=="ArrowLeft"&&F.key!=="ArrowRight"&&F.key!=="ArrowUp"&&F.key!=="ArrowDown"||G.length===0)return;F.preventDefault(),G.map(ie=>r.find(ne=>ne.id===ie)).forEach(ie=>{ie&&b(ie.id,{normalStyle:{...ie.normalStyle,x:(ie.normalStyle.x||0)-2*(F.key==="ArrowLeft"?1:F.key==="ArrowRight"?-1:0),y:(ie.normalStyle.y||0)-2*(F.key==="ArrowUp"?1:F.key==="ArrowDown"?-1:0)}})})},[G,r,b]);E.useEffect(()=>{if(l==="box-select")return document.addEventListener("keydown",Dn),()=>{document.removeEventListener("keydown",Dn)}},[l,Dn]);const[Wr,To]=E.useState(!1),[Oo,Tn]=E.useState(""),[Ao,On]=E.useState(null);return a.jsxs("div",{className:"flex-1 flex flex-col h-full bg-gray-100",children:[a.jsxs("div",{className:"h-12 bg-white border-b border-gray-200 flex items-center justify-between px-4",children:[a.jsxs(m.Space,{children:[At.map(F=>a.jsx(m.Tooltip,{title:F.title,children:a.jsx(m.Button,{type:F.active?"primary":"default",icon:F.icon,onClick:F.onClick})},F.title)),a.jsx("div",{className:"w-px h-6 bg-gray-300 mx-2"}),a.jsx(m.Select,{value:f.currentCanvasId,onChange:q,style:{width:140},dropdownRender:F=>a.jsxs(a.Fragment,{children:[F,a.jsx("div",{className:"border-t border-gray-200 mt-1 pt-1",children:a.jsx(m.Button,{type:"link",size:"small",block:!0,onClick:()=>To(!0),children:"管理画布..."})})]}),children:f.canvases.map(F=>a.jsx(m.Select.Option,{value:F.id,children:F.name},F.id))}),a.jsx(m.Button,{icon:a.jsx(se.PlusOutlined,{}),size:"small",onClick:()=>D(),title:"新建画布"})]}),a.jsx(m.Space,{children:gt.map(F=>a.jsx(m.Tooltip,{title:F.title,children:a.jsx(m.Button,{type:F.active?"primary":F.type||"default",icon:F.icon,onClick:F.onClick,disabled:F.disabled})},F.title))})]}),a.jsx("div",{ref:o,className:"flex-1 relative",children:a.jsx(jr.TransformWrapper,{ref:t,initialScale:1,initialPositionX:0,initialPositionY:0,minScale:.5,maxScale:5,onTransformed:Oe,limitToBounds:!1,centerZoomedOut:!1,panning:{disabled:!he&&(l==="select"||l==="line-draw"||l==="box-select"),velocityDisabled:!0},wheel:{disabled:!1,step:.1},pinch:{disabled:!1},doubleClick:{disabled:!0},children:({zoomIn:F,zoomOut:Q,resetTransform:ie})=>a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"absolute bottom-4 right-4 z-10 bg-white rounded-lg shadow-lg p-2",children:a.jsxs(m.Space,{direction:"vertical",children:[a.jsx(m.Tooltip,{title:"放大",children:a.jsx(m.Button,{icon:a.jsx(se.ZoomInOutlined,{}),onClick:()=>F()})}),a.jsx(m.Tooltip,{title:"缩小",children:a.jsx(m.Button,{icon:a.jsx(se.ZoomOutOutlined,{}),onClick:()=>Q()})}),a.jsx(m.Tooltip,{title:"重置视图",children:a.jsx(m.Button,{onClick:()=>ie(),children:"100%"})}),a.jsxs("div",{className:"text-center text-xs text-gray-500",children:[Math.round(c.scale*100),"%"]})]})}),a.jsx(jr.TransformComponent,{wrapperStyle:{width:"100%",height:"100%",position:"relative"},contentStyle:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center"},children:a.jsxs("div",{ref:n,"data-canvas":"true",className:`relative ${V?"ring-4 ring-blue-400 ring-opacity-50":""} ${l==="line-draw"?"cursor-crosshair":""} ${he?"cursor-grab":""}`,style:{width:u.width,height:u.height,flexShrink:0,backgroundColor:u.background,backgroundImage:u.backgroundImage?`url(${u.backgroundImage})`:void 0,backgroundSize:"cover",backgroundPosition:"center"},onClick:He,onMouseDown:Qe,onDoubleClick:Re,onDragOver:Mt,onDragLeave:Pt,onDrop:rt,children:[u.showGrid!==!1&&a.jsxs("svg",{className:"absolute top-0 left-0 pointer-events-none",width:u.width,height:u.height,children:[a.jsx("defs",{children:a.jsx("pattern",{id:"grid",width:"20",height:"20",patternUnits:"userSpaceOnUse",children:a.jsx("path",{d:"M 20 0 L 0 0 0 20",fill:"none",stroke:"#f0f0f0",strokeWidth:"1"})})}),a.jsx("rect",{width:"100%",height:"100%",fill:"url(#grid)"})]}),r.map(ne=>a.jsx(Jo,{node:ne,isSelected:l==="preview"?!1:i===ne.id||G.includes(ne.id),data:le,onClick:l==="preview"?void 0:R=>{console.log("Node onClick:",ne.id,"mode:",k.current),k.current!=="line-draw"&&(R.shiftKey?(y(ne.id),ee([...G,ne.id])):(y(ne.id),ee([ne.id])))},onMouseDown:l==="preview"?void 0:R=>Dt(R,ne),onUpdateNode:l==="preview"?void 0:(R,ce)=>b(R,ce),scale:c.scale,enableEventFlow:l==="preview",eventFlowData:te},`${ne.id}`)),l==="line-draw"&&z.isDrawing&&z.start&&z.end&&a.jsx("svg",{className:"absolute top-0 left-0 pointer-events-none",width:u.width,height:u.height,children:a.jsx("line",{x1:z.start.x,y1:z.start.y,x2:z.end.x,y2:z.end.y,stroke:"#1890ff",strokeWidth:"2",strokeDasharray:"5,5",strokeLinecap:"round",strokeLinejoin:"round"})}),l==="box-select"&&j.start&&j.end&&a.jsx("div",{className:"absolute border-2 border-blue-500 bg-blue-500/10 pointer-events-none",style:{left:Math.min(j.start.x,j.end.x),top:Math.min(j.start.y,j.end.y),width:Math.abs(j.end.x-j.start.x),height:Math.abs(j.end.y-j.start.y),zIndex:9999}})]})})]})})}),a.jsx(m.Modal,{title:"数据模拟",open:oe,onCancel:()=>J(!1),footer:null,children:a.jsx(m.Form,{layout:"vertical",children:a.jsx(m.Form.Item,{label:"测试数据 (JSON)",children:a.jsx(pd,{value:X,onChange:F=>{W(!0),U(F.target.value)},rows:10,placeholder:"输入 JSON 格式的测试数据;未编辑前画布跟随外部 defaultTestData(如监控推送)"})})})}),a.jsx(m.Modal,{title:"画布配置",open:fe,onCancel:()=>de(!1),footer:null,children:a.jsxs(m.Form,{layout:"vertical",children:[a.jsx(m.Form.Item,{label:"宽度",children:a.jsx(m.InputNumber,{value:u.width,onChange:F=>g({width:F||1920}),min:100,max:5e3,style:{width:"100%"}})}),a.jsx(m.Form.Item,{label:"高度",children:a.jsx(m.InputNumber,{value:u.height,onChange:F=>g({height:F||1080}),min:100,max:5e3,style:{width:"100%"}})}),a.jsx(m.Form.Item,{label:"显示网格",children:a.jsx(m.Switch,{checked:u.showGrid!==!1,onChange:F=>g({showGrid:F})})}),a.jsx(m.Form.Item,{label:"背景色",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Yt,{value:u.background||"#00193C",onChange:F=>g({background:F.toHexString()})}),a.jsx(m.Input,{value:u.background,onChange:F=>g({background:F.target.value}),placeholder:"#ffffff"})]})}),a.jsxs(m.Form.Item,{label:"背景图片",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(m.Upload,{accept:"image/*",showUploadList:!1,beforeUpload:F=>{if(!F.type.startsWith("image/"))return m.message.error("只能上传图片文件!"),!1;const ie=new FileReader;return ie.onload=ne=>{const R=ne.target?.result;g({backgroundImage:R}),m.message.success("背景图片上传成功")},ie.readAsDataURL(F),!1},children:a.jsx(m.Button,{icon:a.jsx(se.UploadOutlined,{}),children:"上传图片"})}),a.jsx(m.Input,{value:u.backgroundImage,onChange:F=>g({backgroundImage:F.target.value}),placeholder:"输入图片 URL 或上传图片",style:{flex:1}}),u.backgroundImage&&a.jsx(m.Button,{icon:a.jsx(se.CloseOutlined,{}),onClick:()=>g({backgroundImage:void 0}),danger:!0,size:"small"})]}),u.backgroundImage&&a.jsx("div",{className:"mt-2 p-2 border rounded",style:{maxWidth:"100%"},children:a.jsx("img",{src:u.backgroundImage,alt:"背景预览",style:{maxWidth:"100%",maxHeight:120,objectFit:"contain"}})})]})]})}),a.jsxs(m.Modal,{title:"画布管理",open:Wr,onCancel:()=>{To(!1),On(null),Tn("")},footer:null,children:[a.jsx(m.List,{dataSource:f.canvases,renderItem:F=>a.jsx(m.List.Item,{actions:[Ao===F.id?a.jsx(m.Button,{type:"primary",size:"small",onClick:()=>{$(F.id,Oo),On(null)},children:"保存"}):a.jsx(m.Button,{type:"text",icon:a.jsx(se.EditOutlined,{}),size:"small",onClick:()=>{On(F.id),Tn(F.name)}}),f.canvases.length>1&&a.jsx(m.Button,{type:"text",danger:!0,icon:a.jsx(se.DeleteOutlined,{}),size:"small",onClick:()=>L(F.id)})].filter(Boolean),children:Ao===F.id?a.jsx(m.Input,{value:Oo,onChange:Q=>Tn(Q.target.value),size:"small",style:{width:200}}):a.jsxs("span",{style:{fontWeight:f.currentCanvasId===F.id?"bold":"normal"},children:[F.name," ",f.currentCanvasId===F.id&&"(当前)"]})})}),a.jsx("div",{className:"mt-4 flex justify-end",children:a.jsx(m.Button,{type:"primary",icon:a.jsx(se.PlusOutlined,{}),onClick:()=>D(),children:"新建画布"})})]})]})},{Option:Vn}=m.Select,gd=({material:e,onSave:t,dataOptions:n=[]})=>{const r=e.content||{},[i,s]=E.useState({label:r.label||"",value:r.value||"",valueSourceCode:r.valueSourceCode||"",unit:r.unit||"",decimals:r.decimals??2,labelFontSize:r.labelStyle?.fontSize||14,labelFontWeight:r.labelStyle?.fontWeight||"bold",labelColor:r.labelStyle?.color||"#262626",valueFontSize:r.valueStyle?.fontSize||14,valueFontWeight:r.valueStyle?.fontWeight||"normal",valueColor:r.valueStyle?.color||"#1890ff"});E.useEffect(()=>{s({label:r.label||"",value:r.value||"",valueSourceCode:r.valueSourceCode||"",unit:r.unit||"",decimals:r.decimals??2,labelFontSize:r.labelStyle?.fontSize||14,labelFontWeight:r.labelStyle?.fontWeight||"bold",labelColor:r.labelStyle?.color||"#262626",valueFontSize:r.valueStyle?.fontSize||14,valueFontWeight:r.valueStyle?.fontWeight||"normal",valueColor:r.valueStyle?.color||"#1890ff"})},[e.id]);const l=(u,f)=>{s(h=>({...h,[u]:f}))},d=u=>{const f=n.find(g=>g.paramsCode===u),h=f?.unit||"";s(g=>({...g,valueSourceCode:u,unit:h,value:String(f?.value||"")})),setTimeout(()=>{t({content:{...r,valueSourceCode:u,value:String(f?.value||""),unit:h}})},0)},c=()=>{t({content:{...r,label:i.label,value:i.value,valueSourceCode:i.valueSourceCode,unit:i.unit,decimals:i.decimals,labelStyle:{fontSize:i.labelFontSize,fontWeight:i.labelFontWeight,color:i.labelColor},valueStyle:{fontSize:i.valueFontSize,fontWeight:i.valueFontWeight,color:i.valueColor}}})};return a.jsxs("div",{className:"space-y-4",children:[a.jsx(m.Divider,{style:{marginTop:0},children:"文本内容"}),a.jsxs(m.Form,{layout:"vertical",children:[a.jsx(m.Form.Item,{label:"标签文本 (label)",children:a.jsx(m.Input,{value:i.label,onChange:u=>l("label",u.target.value),onBlur:c,placeholder:"输入标签文本"})}),a.jsx(m.Form.Item,{label:"值来源",help:"从绑定的数据中选择字段,优先级高于手动输入的值",children:a.jsx(m.Select,{value:i.valueSourceCode||void 0,onChange:d,placeholder:"选择数据字段(可选)",allowClear:!0,style:{width:"100%"},fieldNames:{value:"paramsCode",label:"paramsName"},options:n})}),a.jsx(m.Form.Item,{label:i.valueSourceCode?"默认值(备用)":"值文本",help:i.valueSourceCode?"已绑定数据源,实际值将来自数据字段,此处仅设置无数据时的备用显示":"手动输入显示的值",children:a.jsx(m.Input,{value:i.value,onChange:u=>l("value",u.target.value),onBlur:c,placeholder:i.valueSourceCode?"数据字段无值时显示此备用值":"输入值文本",disabled:!!i.valueSourceCode,variant:i.valueSourceCode?"filled":void 0})}),a.jsx(m.Form.Item,{label:"单位",help:"优先从绑定数据自动获取,也可手动输入",children:a.jsx(m.Input,{value:i.unit,onChange:u=>l("unit",u.target.value),onBlur:c,placeholder:"单位(如°C、%、MPa等)",suffix:i.valueSourceCode&&n.length>0?a.jsx(m.Tag,{color:"blue",style:{marginRight:-8},children:"自动"}):null})}),a.jsx(m.Form.Item,{label:"保留小数位",help:"数值格式化时保留的小数位数,-1表示不格式化",children:a.jsx(m.InputNumber,{value:i.decimals,onChange:u=>l("decimals",u??2),onBlur:c,min:-1,max:10,style:{width:"100%"}})})]}),a.jsx(m.Divider,{children:"标签样式"}),a.jsxs(m.Form,{layout:"vertical",children:[a.jsxs(m.Space,{children:[a.jsx(m.Form.Item,{label:"字体大小",children:a.jsx(m.InputNumber,{value:i.labelFontSize,onChange:u=>l("labelFontSize",u||14),onBlur:c,min:8,max:72})}),a.jsx(m.Form.Item,{label:"字体粗细",children:a.jsxs(m.Select,{value:i.labelFontWeight,onChange:u=>{l("labelFontWeight",u),setTimeout(c,0)},style:{width:100},children:[a.jsx(Vn,{value:"normal",children:"正常"}),a.jsx(Vn,{value:"bold",children:"粗体"})]})})]}),a.jsx(m.Form.Item,{label:"文字颜色",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Yt,{value:i.labelColor||"#262626",onChange:u=>{l("labelColor",u.toHexString())},onChangeComplete:u=>{t({content:{...r,label:i.label,value:i.value,valueSourceCode:i.valueSourceCode,unit:i.unit,decimals:i.decimals,labelStyle:{fontSize:i.labelFontSize,fontWeight:i.labelFontWeight,color:u.toHexString()},valueStyle:{fontSize:i.valueFontSize,fontWeight:i.valueFontWeight,color:i.valueColor}}})}}),a.jsx(m.Input,{value:i.labelColor,onChange:u=>l("labelColor",u.target.value),onBlur:c,placeholder:"#262626",style:{width:100}})]})})]}),a.jsx(m.Divider,{children:"值样式"}),a.jsxs(m.Form,{layout:"vertical",children:[a.jsxs(m.Space,{children:[a.jsx(m.Form.Item,{label:"字体大小",children:a.jsx(m.InputNumber,{value:i.valueFontSize,onChange:u=>l("valueFontSize",u||14),onBlur:c,min:8,max:72})}),a.jsx(m.Form.Item,{label:"字体粗细",children:a.jsxs(m.Select,{value:i.valueFontWeight,onChange:u=>{l("valueFontWeight",u),setTimeout(c,0)},style:{width:100},children:[a.jsx(Vn,{value:"normal",children:"正常"}),a.jsx(Vn,{value:"bold",children:"粗体"})]})})]}),a.jsx(m.Form.Item,{label:"文字颜色",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Yt,{value:i.valueColor||"#1890ff",onChange:u=>{l("valueColor",u.toHexString())},onChangeComplete:u=>{t({content:{...r,label:i.label,value:i.value,valueSourceCode:i.valueSourceCode,unit:i.unit,decimals:i.decimals,labelStyle:{fontSize:i.labelFontSize,fontWeight:i.labelFontWeight,color:i.labelColor},valueStyle:{fontSize:i.valueFontSize,fontWeight:i.valueFontWeight,color:u.toHexString()}}})}}),a.jsx(m.Input,{value:i.valueColor,onChange:u=>l("valueColor",u.target.value),onBlur:c,placeholder:"#1890ff",style:{width:100}})]})})]})]})},md=({material:e,onSave:t})=>{const n=e,[o,r]=E.useState({name:e.name,src:n.src||"",backgroundColor:n.backgroundColor||"",fillColor:n.fillColor||""});E.useEffect(()=>{r({name:e.name,src:n.src||"",backgroundColor:n.backgroundColor||"",fillColor:n.fillColor||""})},[e.id]);const i=(l,d)=>{r(c=>({...c,[l]:d}))},s=()=>{t({name:o.name,src:o.src,backgroundColor:o.backgroundColor})};return a.jsxs("div",{className:"space-y-4",children:[a.jsx(m.Divider,{style:{marginTop:0},children:"图片属性"}),a.jsxs(m.Form,{layout:"vertical",children:[a.jsx(m.Form.Item,{label:"图片名称",children:a.jsx(m.Input,{value:o.name,onChange:l=>i("name",l.target.value),onBlur:s})}),a.jsx(m.Form.Item,{label:"图片地址 (src)",children:a.jsx(m.Input.TextArea,{value:o.src,onChange:l=>i("src",l.target.value),onBlur:s,rows:4,placeholder:"输入图片 URL 或 Data URI"})}),a.jsx(m.Form.Item,{label:"填充颜色(基本形状)",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Yt,{value:o.fillColor||"#1890ff",onChange:l=>{const d=l.toHexString();i("fillColor",d),t({name:o.name,src:o.src,backgroundColor:o.backgroundColor,fillColor:d})}}),a.jsx(m.Input,{value:o.fillColor,onChange:l=>i("fillColor",l.target.value),onBlur:s,placeholder:"#1890ff"})]})}),a.jsx(m.Form.Item,{label:"背景颜色",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Yt,{value:o.backgroundColor||"#1890ff",onChange:l=>{const d=l.toHexString();i("backgroundColor",d),t({name:o.name,src:o.src,backgroundColor:d,fillColor:o.fillColor})}}),a.jsx(m.Input,{value:o.backgroundColor,onChange:l=>i("backgroundColor",l.target.value),onBlur:s,placeholder:"#1890ff"})]})})]})]})},{Option:yd}=m.Select,vd=({material:e,onSave:t})=>{const n=e.config||{},[o,r]=E.useState({lineWeight:n.lineWeight||n.thickness||2,color:n.color||"#262626",lineType:n.lineType||"solid",startX:n.startX??0,startY:n.startY??0,endX:n.endX??100,endY:n.endY??0}),i=JSON.stringify({sw:n.lineWeight??n.thickness,c:n.color,t:n.lineType,sx:n.startX,sy:n.startY,ex:n.endX,ey:n.endY});E.useEffect(()=>{r({lineWeight:n.lineWeight||n.thickness||2,color:n.color||"#262626",lineType:n.lineType||"solid",startX:n.startX??0,startY:n.startY??0,endX:n.endX??100,endY:n.endY??0})},[e.id,i]);const s=d=>{const c={...o,...d};r(c),t({config:{...n,thickness:c.lineWeight,lineWeight:c.lineWeight,color:c.color,lineType:c.lineType,startX:c.startX,startY:c.startY,endX:c.endX,endY:c.endY}})},l=[{value:"solid",label:"实线",desc:"连续实线"},{value:"dashed",label:"虚线",desc:"长划间隔"},{value:"center",label:"点画线(中心线)",desc:"长点-短点交替"},{value:"phantom",label:"假想线",desc:"长划-双点交替"},{value:"dot",label:"点线",desc:"密集点状"},{value:"dash-dot",label:"画点线",desc:"长划-点交替"}];return a.jsxs("div",{className:"space-y-4",children:[a.jsx(m.Divider,{style:{marginTop:0},children:"起止位置(相对节点)"}),a.jsxs(m.Form,{layout:"vertical",children:[a.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[a.jsx(m.Form.Item,{label:"起点 X",className:"mb-2",children:a.jsx(m.InputNumber,{value:o.startX,onChange:d=>s({startX:d??0}),style:{width:"100%"}})}),a.jsx(m.Form.Item,{label:"起点 Y",className:"mb-2",children:a.jsx(m.InputNumber,{value:o.startY,onChange:d=>s({startY:d??0}),style:{width:"100%"}})}),a.jsx(m.Form.Item,{label:"终点 X",className:"mb-2",children:a.jsx(m.InputNumber,{value:o.endX,onChange:d=>s({endX:d??100}),style:{width:"100%"}})}),a.jsx(m.Form.Item,{label:"终点 Y",className:"mb-2",children:a.jsx(m.InputNumber,{value:o.endY,onChange:d=>s({endY:d??0}),style:{width:"100%"}})})]}),a.jsx(m.Form.Item,{label:"快速对齐",className:"mt-4",children:a.jsxs(m.Space,{children:[a.jsx(m.Button,{size:"small",onClick:()=>{const d=n.startY??o.startY;s({endY:d})},title:"将线条变为水平线",children:"水平"}),a.jsx(m.Button,{size:"small",onClick:()=>{const d=n.startX??o.startX;s({endX:d})},title:"将线条变为垂直线",children:"垂直"}),a.jsx(m.Button,{size:"small",onClick:()=>{const d=n.startX??o.startX,c=n.startY??o.startY,u=n.endX??o.endX,f=n.endY??o.endY;s({startX:u,startY:f,endX:d,endY:c})},title:"交换起点和终点",children:"反向"})]})})]}),a.jsx(m.Divider,{children:"线条属性"}),a.jsxs(m.Form,{layout:"vertical",children:[a.jsx(m.Form.Item,{label:"线型",help:"选择线条样式",children:a.jsx(m.Select,{value:o.lineType,onChange:d=>s({lineType:d}),children:l.map(d=>a.jsx(yd,{value:d.value,children:a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{children:d.label}),a.jsx("span",{className:"text-xs text-gray-400",children:d.desc})]})},d.value))})}),a.jsx(m.Form.Item,{label:"线宽(像素)",children:a.jsx(m.InputNumber,{value:o.lineWeight,onChange:d=>s({lineWeight:d||2}),min:1,max:20,style:{width:120}})}),a.jsx(m.Form.Item,{label:"颜色",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Yt,{value:o.color||"#d9d9d9",onChange:d=>s({color:d.toHexString()})}),a.jsx(m.Input,{value:o.color,onChange:d=>s({color:d.target.value}),placeholder:"#d9d9d9",style:{width:100}})]})})]})]})},qi=({status:e,onUpdate:t,onAppendToExpression:n})=>{const o=De(l=>l.dataPool),r=o.find(l=>l.id===e.boundDatasetId),i=r?si(r.sample||{}):[],s=l=>{const d=`data.${l}`;n?n(d):t({expression:`${e.expression||""}${d}`})};return a.jsxs(a.Fragment,{children:[a.jsx(m.Form.Item,{label:"绑定数据集",extra:o.length===0?"请先在顶部工具栏点击「数据池」添加至少一个数据集(JSON 对象模板);宿主项目也可通过 initialScheme.dataPool 或 useEditorStore.getState().setDataPool() 注入。":"可选:绑定后表达式中的 data 会先合并该数据集的 sample,再合并画布传入的运行时数据。不绑定时 data 仅来自运行时。",children:a.jsx(m.Select,{allowClear:!0,placeholder:o.length===0?"暂无数据集,请打开「数据池」添加":"选择数据池中的数据集",value:e.boundDatasetId??void 0,options:o.map(l=>({label:l.name,value:l.id})),onChange:l=>t({boundDatasetId:l??null})})}),i.length>0&&a.jsx(m.Form.Item,{label:"字段路径(点击插入表达式)",children:a.jsx(m.Space,{size:[4,4],wrap:!0,children:i.map(l=>a.jsx(m.Tag,{className:"cursor-pointer mb-0",onClick:()=>s(l),children:`data.${l}`},l))})})]})},ji=({material:e,onSave:t,dataOptions:n})=>{switch(e.type){case"TEXT":return a.jsx(gd,{material:e,onSave:t,dataOptions:n});case"IMAGE":return a.jsx(md,{material:e,onSave:t});case"LINE":return a.jsx(vd,{material:e,onSave:t});default:return a.jsx("div",{className:"text-center text-gray-400 py-8",children:"暂不支持编辑此类型的物料"})}},{Panel:Ui}=m.Collapse,{TextArea:bd}=m.Input,wd=({node:e,updateNode:t,materials:n})=>{const o=n.filter(u=>u.type!=="CUSTOM"||!u.config?.nodes),r=(u,f)=>{const h=e.children?.map(g=>g.id===u?{...g,contentInfo:{...g.contentInfo,statusList:f}}:g);t(e.id,{children:h})},i=u=>{const f=e.children?.find(g=>g.id===u);if(!f)return;const h={id:pe.nanoid(),name:`状态${f.contentInfo.statusList.length+1}`,expression:f.contentInfo.statusList.length===0?"return true;":"return false;",material:{...o[0],id:pe.nanoid()},boundDatasetId:null};r(u,[...f.contentInfo.statusList,h])},s=(u,f)=>{const h=e.children?.find(p=>p.id===u);if(!h)return;const g=h.contentInfo.statusList.filter(p=>p.id!==f);r(u,g)},l=(u,f,h)=>{const g=e.children?.find(y=>y.id===u);if(!g)return;const p=g.contentInfo.statusList.map(y=>y.id===f?{...y,...h}:y);r(u,p)},d=(u,f,h)=>{const g=e.children?.find(b=>b.id===u);if(!g)return;const p=g.contentInfo.statusList.findIndex(b=>b.id===f);if(p===-1)return;const y=[...g.contentInfo.statusList];h==="up"&&p>0?[y[p],y[p-1]]=[y[p-1],y[p]]:h==="down"&&p<y.length-1&&([y[p],y[p+1]]=[y[p+1],y[p]]),r(u,y)},c=(u,f,h)=>{const g=n.find(p=>p.id===h);g&&l(u,f,{material:{...g,id:pe.nanoid()}})};return a.jsxs("div",{className:"space-y-4",children:[a.jsx("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded-lg mb-4",children:a.jsxs("div",{className:"text-sm text-blue-700",children:[a.jsx("strong",{children:"群组节点"}),":为每个子节点配置多个状态和绑定"]})}),a.jsx(m.Collapse,{ghost:!0,children:e.children?.map((u,f)=>a.jsx(Ui,{header:a.jsxs("div",{className:"flex items-center justify-between w-full pr-4",children:[a.jsxs("span",{className:"font-medium text-sm",children:["子节点 ",f+1]}),a.jsxs(m.Tag,{color:"blue",style:{fontSize:"12px",padding:"0 4px"},children:[u.contentInfo.statusList.length," 个状态"]})]}),children:a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"flex justify-between items-center mb-3",children:[a.jsx("span",{className:"text-sm text-gray-600",children:"状态列表"}),a.jsx(m.Button,{type:"primary",size:"small",icon:a.jsx(se.PlusOutlined,{}),onClick:()=>i(u.id),children:"添加状态"})]}),u.contentInfo.statusList.length===0?a.jsx("div",{className:"text-center text-gray-400 py-4 bg-gray-50 rounded-lg",children:"暂无状态,点击上方按钮添加"}):a.jsx(m.Collapse,{ghost:!0,children:u.contentInfo.statusList.map((h,g)=>a.jsx(Ui,{header:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-xs text-gray-400 w-5",children:g+1}),a.jsx("span",{className:"font-medium",children:h.name}),a.jsx(m.Tag,{color:"default",className:"text-xs",children:h.material.type})]}),extra:a.jsxs(m.Space,{size:"small",onClick:p=>p.stopPropagation(),children:[a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.ArrowUpOutlined,{}),disabled:g===0,onClick:p=>{p.stopPropagation(),d(u.id,h.id,"up")}}),a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.ArrowDownOutlined,{}),disabled:g===u.contentInfo.statusList.length-1,onClick:p=>{p.stopPropagation(),d(u.id,h.id,"down")}}),a.jsx(m.Button,{type:"text",size:"small",danger:!0,icon:a.jsx(se.DeleteOutlined,{}),onClick:p=>{p.stopPropagation(),s(u.id,h.id)}})]}),children:a.jsxs(m.Form,{layout:"vertical",children:[a.jsx(m.Form.Item,{label:"状态名称",children:a.jsx(m.Input,{value:h.name,onChange:p=>l(u.id,h.id,{name:p.target.value}),placeholder:"输入状态名称"})}),a.jsx(qi,{status:h,onUpdate:p=>l(u.id,h.id,p)}),a.jsx(m.Form.Item,{label:"执行表达式",help:"单参数 data(对象),须 return true/false;测点数组按 paramsCode 合并进 data。",children:a.jsx(bd,{value:h.expression,onChange:p=>l(u.id,h.id,{expression:p.target.value}),rows:3,placeholder:"return true;"})}),a.jsx(m.Form.Item,{label:"更换物料",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(m.Tag,{color:"blue",children:h.material.name}),a.jsx(m.Tag,{color:"default",children:h.material.type}),a.jsx(m.Select,{placeholder:"选择新物料",style:{width:150},value:void 0,onChange:p=>p&&c(u.id,h.id,p),options:o.map(p=>({value:p.id,label:`${p.name} (${p.type})`}))})]})}),a.jsx(m.Divider,{style:{margin:"12px 0"}}),a.jsxs("div",{className:"bg-gray-50 rounded-lg p-3 border border-gray-200",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-sm font-medium",children:"物料属性"}),a.jsx(m.Tag,{children:h.material.name})]}),a.jsx(ji,{material:h.material,onSave:p=>{const y={...h.material,...p};l(u.id,h.id,{material:y})}})]})]})},h.id))})]})},u.id))})]})};function Ce(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,o;n<e.length;n++)(o=Ce(e[n]))!==""&&(t+=(t&&" ")+o);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var xd={value:()=>{}};function Wn(){for(var e=0,t=arguments.length,n={},o;e<t;++e){if(!(o=arguments[e]+"")||o in n||/[\s.]/.test(o))throw new Error("illegal type: "+o);n[o]=[]}return new qn(n)}function qn(e){this._=e}function Sd(e,t){return e.trim().split(/^|\s+/).map(function(n){var o="",r=n.indexOf(".");if(r>=0&&(o=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:o}})}qn.prototype=Wn.prototype={constructor:qn,on:function(e,t){var n=this._,o=Sd(e+"",n),r,i=-1,s=o.length;if(arguments.length<2){for(;++i<s;)if((r=(e=o[i]).type)&&(r=_d(n[r],e.name)))return r;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<s;)if(r=(e=o[i]).type)n[r]=Gi(n[r],e.name,t);else if(t==null)for(r in n)n[r]=Gi(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new qn(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var n=new Array(r),o=0,r,i;o<r;++o)n[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(i=this._[e],o=0,r=i.length;o<r;++o)i[o].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)}};function _d(e,t){for(var n=0,o=e.length,r;n<o;++n)if((r=e[n]).name===t)return r.value}function Gi(e,t,n){for(var o=0,r=e.length;o<r;++o)if(e[o].name===t){e[o]=xd,e=e.slice(0,o).concat(e.slice(o+1));break}return n!=null&&e.push({name:t,value:n}),e}var Qo="http://www.w3.org/1999/xhtml";const Ki={svg:"http://www.w3.org/2000/svg",xhtml:Qo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function jn(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Ki.hasOwnProperty(t)?{space:Ki[t],local:e}:e}function Ed(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Qo&&t.documentElement.namespaceURI===Qo?t.createElement(e):t.createElementNS(n,e)}}function Cd(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Zi(e){var t=jn(e);return(t.local?Cd:Ed)(t)}function kd(){}function Ro(e){return e==null?kd:function(){return this.querySelector(e)}}function Nd(e){typeof e!="function"&&(e=Ro(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,l=o[r]=new Array(s),d,c,u=0;u<s;++u)(d=i[u])&&(c=e.call(d,d.__data__,u,i))&&("__data__"in d&&(c.__data__=d.__data__),l[u]=c);return new Ae(o,this._parents)}function Id(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Md(){return[]}function Ji(e){return e==null?Md:function(){return this.querySelectorAll(e)}}function Pd(e){return function(){return Id(e.apply(this,arguments))}}function Dd(e){typeof e=="function"?e=Pd(e):e=Ji(e);for(var t=this._groups,n=t.length,o=[],r=[],i=0;i<n;++i)for(var s=t[i],l=s.length,d,c=0;c<l;++c)(d=s[c])&&(o.push(e.call(d,d.__data__,c,s)),r.push(d));return new Ae(o,r)}function Qi(e){return function(){return this.matches(e)}}function Ri(e){return function(t){return t.matches(e)}}var Td=Array.prototype.find;function Od(e){return function(){return Td.call(this.children,e)}}function Ad(){return this.firstElementChild}function $d(e){return this.select(e==null?Ad:Od(typeof e=="function"?e:Ri(e)))}var Ld=Array.prototype.filter;function zd(){return Array.from(this.children)}function Fd(e){return function(){return Ld.call(this.children,e)}}function Bd(e){return this.selectAll(e==null?zd:Fd(typeof e=="function"?e:Ri(e)))}function Hd(e){typeof e!="function"&&(e=Qi(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,l=o[r]=[],d,c=0;c<s;++c)(d=i[c])&&e.call(d,d.__data__,c,i)&&l.push(d);return new Ae(o,this._parents)}function es(e){return new Array(e.length)}function Yd(){return new Ae(this._enter||this._groups.map(es),this._parents)}function Un(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Un.prototype={constructor:Un,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Xd(e){return function(){return e}}function Vd(e,t,n,o,r,i){for(var s=0,l,d=t.length,c=i.length;s<c;++s)(l=t[s])?(l.__data__=i[s],o[s]=l):n[s]=new Un(e,i[s]);for(;s<d;++s)(l=t[s])&&(r[s]=l)}function Wd(e,t,n,o,r,i,s){var l,d,c=new Map,u=t.length,f=i.length,h=new Array(u),g;for(l=0;l<u;++l)(d=t[l])&&(h[l]=g=s.call(d,d.__data__,l,t)+"",c.has(g)?r[l]=d:c.set(g,d));for(l=0;l<f;++l)g=s.call(e,i[l],l,i)+"",(d=c.get(g))?(o[l]=d,d.__data__=i[l],c.delete(g)):n[l]=new Un(e,i[l]);for(l=0;l<u;++l)(d=t[l])&&c.get(h[l])===d&&(r[l]=d)}function qd(e){return e.__data__}function jd(e,t){if(!arguments.length)return Array.from(this,qd);var n=t?Wd:Vd,o=this._parents,r=this._groups;typeof e!="function"&&(e=Xd(e));for(var i=r.length,s=new Array(i),l=new Array(i),d=new Array(i),c=0;c<i;++c){var u=o[c],f=r[c],h=f.length,g=Ud(e.call(u,u&&u.__data__,c,o)),p=g.length,y=l[c]=new Array(p),b=s[c]=new Array(p),w=d[c]=new Array(h);n(u,f,y,b,w,g,t);for(var _=0,v=0,x,T;_<p;++_)if(x=y[_]){for(_>=v&&(v=_+1);!(T=b[v])&&++v<p;);x._next=T||null}}return s=new Ae(s,o),s._enter=l,s._exit=d,s}function Ud(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Gd(){return new Ae(this._exit||this._groups.map(es),this._parents)}function Kd(e,t,n){var o=this.enter(),r=this,i=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),t!=null&&(r=t(r),r&&(r=r.selection())),n==null?i.remove():n(i),o&&r?o.merge(r).order():r}function Zd(e){for(var t=e.selection?e.selection():e,n=this._groups,o=t._groups,r=n.length,i=o.length,s=Math.min(r,i),l=new Array(r),d=0;d<s;++d)for(var c=n[d],u=o[d],f=c.length,h=l[d]=new Array(f),g,p=0;p<f;++p)(g=c[p]||u[p])&&(h[p]=g);for(;d<r;++d)l[d]=n[d];return new Ae(l,this._parents)}function Jd(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var o=e[t],r=o.length-1,i=o[r],s;--r>=0;)(s=o[r])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function Qd(e){e||(e=Rd);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,o=n.length,r=new Array(o),i=0;i<o;++i){for(var s=n[i],l=s.length,d=r[i]=new Array(l),c,u=0;u<l;++u)(c=s[u])&&(d[u]=c);d.sort(t)}return new Ae(r,this._parents).order()}function Rd(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function eu(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function tu(){return Array.from(this)}function nu(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length;r<i;++r){var s=o[r];if(s)return s}return null}function ou(){let e=0;for(const t of this)++e;return e}function ru(){return!this.node()}function iu(e){for(var t=this._groups,n=0,o=t.length;n<o;++n)for(var r=t[n],i=0,s=r.length,l;i<s;++i)(l=r[i])&&e.call(l,l.__data__,i,r);return this}function su(e){return function(){this.removeAttribute(e)}}function au(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lu(e,t){return function(){this.setAttribute(e,t)}}function cu(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function du(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function uu(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function fu(e,t){var n=jn(e);if(arguments.length<2){var o=this.node();return n.local?o.getAttributeNS(n.space,n.local):o.getAttribute(n)}return this.each((t==null?n.local?au:su:typeof t=="function"?n.local?uu:du:n.local?cu:lu)(n,t))}function ts(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function hu(e){return function(){this.style.removeProperty(e)}}function pu(e,t,n){return function(){this.style.setProperty(e,t,n)}}function gu(e,t,n){return function(){var o=t.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,n)}}function mu(e,t,n){return arguments.length>1?this.each((t==null?hu:typeof t=="function"?gu:pu)(e,t,n??"")):Xt(this.node(),e)}function Xt(e,t){return e.style.getPropertyValue(t)||ts(e).getComputedStyle(e,null).getPropertyValue(t)}function yu(e){return function(){delete this[e]}}function vu(e,t){return function(){this[e]=t}}function bu(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function wu(e,t){return arguments.length>1?this.each((t==null?yu:typeof t=="function"?bu:vu)(e,t)):this.node()[e]}function ns(e){return e.trim().split(/^|\s+/)}function er(e){return e.classList||new os(e)}function os(e){this._node=e,this._names=ns(e.getAttribute("class")||"")}os.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 rs(e,t){for(var n=er(e),o=-1,r=t.length;++o<r;)n.add(t[o])}function is(e,t){for(var n=er(e),o=-1,r=t.length;++o<r;)n.remove(t[o])}function xu(e){return function(){rs(this,e)}}function Su(e){return function(){is(this,e)}}function _u(e,t){return function(){(t.apply(this,arguments)?rs:is)(this,e)}}function Eu(e,t){var n=ns(e+"");if(arguments.length<2){for(var o=er(this.node()),r=-1,i=n.length;++r<i;)if(!o.contains(n[r]))return!1;return!0}return this.each((typeof t=="function"?_u:t?xu:Su)(n,t))}function Cu(){this.textContent=""}function ku(e){return function(){this.textContent=e}}function Nu(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Iu(e){return arguments.length?this.each(e==null?Cu:(typeof e=="function"?Nu:ku)(e)):this.node().textContent}function Mu(){this.innerHTML=""}function Pu(e){return function(){this.innerHTML=e}}function Du(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Tu(e){return arguments.length?this.each(e==null?Mu:(typeof e=="function"?Du:Pu)(e)):this.node().innerHTML}function Ou(){this.nextSibling&&this.parentNode.appendChild(this)}function Au(){return this.each(Ou)}function $u(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Lu(){return this.each($u)}function zu(e){var t=typeof e=="function"?e:Zi(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Fu(){return null}function Bu(e,t){var n=typeof e=="function"?e:Zi(e),o=t==null?Fu:typeof t=="function"?t:Ro(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),o.apply(this,arguments)||null)})}function Hu(){var e=this.parentNode;e&&e.removeChild(this)}function Yu(){return this.each(Hu)}function Xu(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Vu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Wu(e){return this.select(e?Vu:Xu)}function qu(e){return arguments.length?this.property("__data__",e):this.node().__data__}function ju(e){return function(t){e.call(this,t,this.__data__)}}function Uu(e){return e.trim().split(/^|\s+/).map(function(t){var n="",o=t.indexOf(".");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{type:t,name:n}})}function Gu(e){return function(){var t=this.__on;if(t){for(var n=0,o=-1,r=t.length,i;n<r;++n)i=t[n],(!e.type||i.type===e.type)&&i.name===e.name?this.removeEventListener(i.type,i.listener,i.options):t[++o]=i;++o?t.length=o:delete this.__on}}}function Ku(e,t,n){return function(){var o=this.__on,r,i=ju(t);if(o){for(var s=0,l=o.length;s<l;++s)if((r=o[s]).type===e.type&&r.name===e.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=i,r.options=n),r.value=t;return}}this.addEventListener(e.type,i,n),r={type:e.type,name:e.name,value:t,listener:i,options:n},o?o.push(r):this.__on=[r]}}function Zu(e,t,n){var o=Uu(e+""),r,i=o.length,s;if(arguments.length<2){var l=this.node().__on;if(l){for(var d=0,c=l.length,u;d<c;++d)for(r=0,u=l[d];r<i;++r)if((s=o[r]).type===u.type&&s.name===u.name)return u.value}return}for(l=t?Ku:Gu,r=0;r<i;++r)this.each(l(o[r],t,n));return this}function ss(e,t,n){var o=ts(e),r=o.CustomEvent;typeof r=="function"?r=new r(t,n):(r=o.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function Ju(e,t){return function(){return ss(this,e,t)}}function Qu(e,t){return function(){return ss(this,e,t.apply(this,arguments))}}function Ru(e,t){return this.each((typeof t=="function"?Qu:Ju)(e,t))}function*ef(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var o=e[t],r=0,i=o.length,s;r<i;++r)(s=o[r])&&(yield s)}var as=[null];function Ae(e,t){this._groups=e,this._parents=t}function dn(){return new Ae([[document.documentElement]],as)}function tf(){return this}Ae.prototype=dn.prototype={constructor:Ae,select:Nd,selectAll:Dd,selectChild:$d,selectChildren:Bd,filter:Hd,data:jd,enter:Yd,exit:Gd,join:Kd,merge:Zd,selection:tf,order:Jd,sort:Qd,call:eu,nodes:tu,node:nu,size:ou,empty:ru,each:iu,attr:fu,style:mu,property:wu,classed:Eu,text:Iu,html:Tu,raise:Au,lower:Lu,append:zu,insert:Bu,remove:Yu,clone:Wu,datum:qu,on:Zu,dispatch:Ru,[Symbol.iterator]:ef};function $e(e){return typeof e=="string"?new Ae([[document.querySelector(e)]],[document.documentElement]):new Ae([[e]],as)}function nf(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Ye(e,t){if(e=nf(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var o=n.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(t.getScreenCTM().inverse()),[o.x,o.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}const of={passive:!1},un={capture:!0,passive:!1};function tr(e){e.stopImmediatePropagation()}function Vt(e){e.preventDefault(),e.stopImmediatePropagation()}function ls(e){var t=e.document.documentElement,n=$e(e).on("dragstart.drag",Vt,un);"onselectstart"in t?n.on("selectstart.drag",Vt,un):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function cs(e,t){var n=e.document.documentElement,o=$e(e).on("dragstart.drag",null);t&&(o.on("click.drag",Vt,un),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in n?o.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const Gn=e=>()=>e;function nr(e,{sourceEvent:t,subject:n,target:o,identifier:r,active:i,x:s,y:l,dx:d,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}nr.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function rf(e){return!e.ctrlKey&&!e.button}function sf(){return this.parentNode}function af(e,t){return t??{x:e.x,y:e.y}}function lf(){return navigator.maxTouchPoints||"ontouchstart"in this}function ds(){var e=rf,t=sf,n=af,o=lf,r={},i=Wn("start","drag","end"),s=0,l,d,c,u,f=0;function h(x){x.on("mousedown.drag",g).filter(o).on("touchstart.drag",b).on("touchmove.drag",w,of).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(x,T){if(!(u||!e.call(this,x,T))){var I=v(this,t.call(this,x,T),x,T,"mouse");I&&($e(x.view).on("mousemove.drag",p,un).on("mouseup.drag",y,un),ls(x.view),tr(x),c=!1,l=x.clientX,d=x.clientY,I("start",x))}}function p(x){if(Vt(x),!c){var T=x.clientX-l,I=x.clientY-d;c=T*T+I*I>f}r.mouse("drag",x)}function y(x){$e(x.view).on("mousemove.drag mouseup.drag",null),cs(x.view,c),Vt(x),r.mouse("end",x)}function b(x,T){if(e.call(this,x,T)){var I=x.changedTouches,O=t.call(this,x,T),D=I.length,L,q;for(L=0;L<D;++L)(q=v(this,O,x,T,I[L].identifier,I[L]))&&(tr(x),q("start",x,I[L]))}}function w(x){var T=x.changedTouches,I=T.length,O,D;for(O=0;O<I;++O)(D=r[T[O].identifier])&&(Vt(x),D("drag",x,T[O]))}function _(x){var T=x.changedTouches,I=T.length,O,D;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),O=0;O<I;++O)(D=r[T[O].identifier])&&(tr(x),D("end",x,T[O]))}function v(x,T,I,O,D,L){var q=i.copy(),$=Ye(L||I,T),H,V,C;if((C=n.call(x,new nr("beforestart",{sourceEvent:I,target:h,identifier:D,active:s,x:$[0],y:$[1],dx:0,dy:0,dispatch:q}),O))!=null)return H=C.x-$[0]||0,V=C.y-$[1]||0,function S(k,N,M){var A=$,Y;switch(k){case"start":r[D]=S,Y=s++;break;case"end":delete r[D],--s;case"drag":$=Ye(M||N,T),Y=s;break}q.call(k,x,new nr(k,{sourceEvent:N,subject:C,target:h,identifier:D,active:Y,x:$[0]+H,y:$[1]+V,dx:$[0]-A[0],dy:$[1]-A[1],dispatch:q}),O)}}return h.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Gn(!!x),h):e},h.container=function(x){return arguments.length?(t=typeof x=="function"?x:Gn(x),h):t},h.subject=function(x){return arguments.length?(n=typeof x=="function"?x:Gn(x),h):n},h.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:Gn(!!x),h):o},h.on=function(){var x=i.on.apply(i,arguments);return x===i?h:x},h.clickDistance=function(x){return arguments.length?(f=(x=+x)*x,h):Math.sqrt(f)},h}function or(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function us(e,t){var n=Object.create(e.prototype);for(var o in t)n[o]=t[o];return n}function fn(){}var hn=.7,Kn=1/hn,Wt="\\s*([+-]?\\d+)\\s*",pn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ke="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",cf=/^#([0-9a-f]{3,8})$/,df=new RegExp(`^rgb\\(${Wt},${Wt},${Wt}\\)$`),uf=new RegExp(`^rgb\\(${Ke},${Ke},${Ke}\\)$`),ff=new RegExp(`^rgba\\(${Wt},${Wt},${Wt},${pn}\\)$`),hf=new RegExp(`^rgba\\(${Ke},${Ke},${Ke},${pn}\\)$`),pf=new RegExp(`^hsl\\(${pn},${Ke},${Ke}\\)$`),gf=new RegExp(`^hsla\\(${pn},${Ke},${Ke},${pn}\\)$`),fs={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};or(fn,xt,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:hs,formatHex:hs,formatHex8:mf,formatHsl:yf,formatRgb:ps,toString:ps});function hs(){return this.rgb().formatHex()}function mf(){return this.rgb().formatHex8()}function yf(){return bs(this).formatHsl()}function ps(){return this.rgb().formatRgb()}function xt(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=cf.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?gs(t):n===3?new Te(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Zn(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Zn(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=df.exec(e))?new Te(t[1],t[2],t[3],1):(t=uf.exec(e))?new Te(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=ff.exec(e))?Zn(t[1],t[2],t[3],t[4]):(t=hf.exec(e))?Zn(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=pf.exec(e))?vs(t[1],t[2]/100,t[3]/100,1):(t=gf.exec(e))?vs(t[1],t[2]/100,t[3]/100,t[4]):fs.hasOwnProperty(e)?gs(fs[e]):e==="transparent"?new Te(NaN,NaN,NaN,0):null}function gs(e){return new Te(e>>16&255,e>>8&255,e&255,1)}function Zn(e,t,n,o){return o<=0&&(e=t=n=NaN),new Te(e,t,n,o)}function vf(e){return e instanceof fn||(e=xt(e)),e?(e=e.rgb(),new Te(e.r,e.g,e.b,e.opacity)):new Te}function rr(e,t,n,o){return arguments.length===1?vf(e):new Te(e,t,n,o??1)}function Te(e,t,n,o){this.r=+e,this.g=+t,this.b=+n,this.opacity=+o}or(Te,rr,us(fn,{brighter(e){return e=e==null?Kn:Math.pow(Kn,e),new Te(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?hn:Math.pow(hn,e),new Te(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Te(St(this.r),St(this.g),St(this.b),Jn(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:ms,formatHex:ms,formatHex8:bf,formatRgb:ys,toString:ys}));function ms(){return`#${_t(this.r)}${_t(this.g)}${_t(this.b)}`}function bf(){return`#${_t(this.r)}${_t(this.g)}${_t(this.b)}${_t((isNaN(this.opacity)?1:this.opacity)*255)}`}function ys(){const e=Jn(this.opacity);return`${e===1?"rgb(":"rgba("}${St(this.r)}, ${St(this.g)}, ${St(this.b)}${e===1?")":`, ${e})`}`}function Jn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function St(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function _t(e){return e=St(e),(e<16?"0":"")+e.toString(16)}function vs(e,t,n,o){return o<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Xe(e,t,n,o)}function bs(e){if(e instanceof Xe)return new Xe(e.h,e.s,e.l,e.opacity);if(e instanceof fn||(e=xt(e)),!e)return new Xe;if(e instanceof Xe)return e;e=e.rgb();var t=e.r/255,n=e.g/255,o=e.b/255,r=Math.min(t,n,o),i=Math.max(t,n,o),s=NaN,l=i-r,d=(i+r)/2;return l?(t===i?s=(n-o)/l+(n<o)*6:n===i?s=(o-t)/l+2:s=(t-n)/l+4,l/=d<.5?i+r:2-i-r,s*=60):l=d>0&&d<1?0:s,new Xe(s,l,d,e.opacity)}function wf(e,t,n,o){return arguments.length===1?bs(e):new Xe(e,t,n,o??1)}function Xe(e,t,n,o){this.h=+e,this.s=+t,this.l=+n,this.opacity=+o}or(Xe,wf,us(fn,{brighter(e){return e=e==null?Kn:Math.pow(Kn,e),new Xe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?hn:Math.pow(hn,e),new Xe(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,n=this.l,o=n+(n<.5?n:1-n)*t,r=2*n-o;return new Te(ir(e>=240?e-240:e+120,r,o),ir(e,r,o),ir(e<120?e+240:e-120,r,o),this.opacity)},clamp(){return new Xe(ws(this.h),Qn(this.s),Qn(this.l),Jn(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=Jn(this.opacity);return`${e===1?"hsl(":"hsla("}${ws(this.h)}, ${Qn(this.s)*100}%, ${Qn(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ws(e){return e=(e||0)%360,e<0?e+360:e}function Qn(e){return Math.max(0,Math.min(1,e||0))}function ir(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const sr=e=>()=>e;function xf(e,t){return function(n){return e+n*t}}function Sf(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math.pow(e+o*t,n)}}function _f(e){return(e=+e)==1?xs:function(t,n){return n-t?Sf(t,n,e):sr(isNaN(t)?n:t)}}function xs(e,t){var n=t-e;return n?xf(e,n):sr(isNaN(e)?t:e)}const Rn=(function e(t){var n=_f(t);function o(r,i){var s=n((r=rr(r)).r,(i=rr(i)).r),l=n(r.g,i.g),d=n(r.b,i.b),c=xs(r.opacity,i.opacity);return function(u){return r.r=s(u),r.g=l(u),r.b=d(u),r.opacity=c(u),r+""}}return o.gamma=e,o})(1);function Ef(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,o=t.slice(),r;return function(i){for(r=0;r<n;++r)o[r]=e[r]*(1-i)+t[r]*i;return o}}function Cf(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function kf(e,t){var n=t?t.length:0,o=e?Math.min(n,e.length):0,r=new Array(o),i=new Array(n),s;for(s=0;s<o;++s)r[s]=gn(e[s],t[s]);for(;s<n;++s)i[s]=t[s];return function(l){for(s=0;s<o;++s)i[s]=r[s](l);return i}}function Nf(e,t){var n=new Date;return e=+e,t=+t,function(o){return n.setTime(e*(1-o)+t*o),n}}function Ze(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function If(e,t){var n={},o={},r;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(r in t)r in e?n[r]=gn(e[r],t[r]):o[r]=t[r];return function(i){for(r in n)o[r]=n[r](i);return o}}var ar=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lr=new RegExp(ar.source,"g");function Mf(e){return function(){return e}}function Pf(e){return function(t){return e(t)+""}}function Ss(e,t){var n=ar.lastIndex=lr.lastIndex=0,o,r,i,s=-1,l=[],d=[];for(e=e+"",t=t+"";(o=ar.exec(e))&&(r=lr.exec(t));)(i=r.index)>n&&(i=t.slice(n,i),l[s]?l[s]+=i:l[++s]=i),(o=o[0])===(r=r[0])?l[s]?l[s]+=r:l[++s]=r:(l[++s]=null,d.push({i:s,x:Ze(o,r)})),n=lr.lastIndex;return n<t.length&&(i=t.slice(n),l[s]?l[s]+=i:l[++s]=i),l.length<2?d[0]?Pf(d[0].x):Mf(t):(t=d.length,function(c){for(var u=0,f;u<t;++u)l[(f=d[u]).i]=f.x(c);return l.join("")})}function gn(e,t){var n=typeof t,o;return t==null||n==="boolean"?sr(t):(n==="number"?Ze:n==="string"?(o=xt(t))?(t=o,Rn):Ss:t instanceof xt?Rn:t instanceof Date?Nf:Cf(t)?Ef:Array.isArray(t)?kf:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?If:Ze)(e,t)}var _s=180/Math.PI,cr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Es(e,t,n,o,r,i){var s,l,d;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(d=e*n+t*o)&&(n-=e*d,o-=t*d),(l=Math.sqrt(n*n+o*o))&&(n/=l,o/=l,d/=l),e*o<t*n&&(e=-e,t=-t,d=-d,s=-s),{translateX:r,translateY:i,rotate:Math.atan2(t,e)*_s,skewX:Math.atan(d)*_s,scaleX:s,scaleY:l}}var eo;function Df(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?cr:Es(t.a,t.b,t.c,t.d,t.e,t.f)}function Tf(e){return e==null||(eo||(eo=document.createElementNS("http://www.w3.org/2000/svg","g")),eo.setAttribute("transform",e),!(e=eo.transform.baseVal.consolidate()))?cr:(e=e.matrix,Es(e.a,e.b,e.c,e.d,e.e,e.f))}function Cs(e,t,n,o){function r(c){return c.length?c.pop()+" ":""}function i(c,u,f,h,g,p){if(c!==f||u!==h){var y=g.push("translate(",null,t,null,n);p.push({i:y-4,x:Ze(c,f)},{i:y-2,x:Ze(u,h)})}else(f||h)&&g.push("translate("+f+t+h+n)}function s(c,u,f,h){c!==u?(c-u>180?u+=360:u-c>180&&(c+=360),h.push({i:f.push(r(f)+"rotate(",null,o)-2,x:Ze(c,u)})):u&&f.push(r(f)+"rotate("+u+o)}function l(c,u,f,h){c!==u?h.push({i:f.push(r(f)+"skewX(",null,o)-2,x:Ze(c,u)}):u&&f.push(r(f)+"skewX("+u+o)}function d(c,u,f,h,g,p){if(c!==f||u!==h){var y=g.push(r(g)+"scale(",null,",",null,")");p.push({i:y-4,x:Ze(c,f)},{i:y-2,x:Ze(u,h)})}else(f!==1||h!==1)&&g.push(r(g)+"scale("+f+","+h+")")}return function(c,u){var f=[],h=[];return c=e(c),u=e(u),i(c.translateX,c.translateY,u.translateX,u.translateY,f,h),s(c.rotate,u.rotate,f,h),l(c.skewX,u.skewX,f,h),d(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,h),c=u=null,function(g){for(var p=-1,y=h.length,b;++p<y;)f[(b=h[p]).i]=b.x(g);return f.join("")}}}var Of=Cs(Df,"px, ","px)","deg)"),Af=Cs(Tf,", ",")",")"),$f=1e-12;function ks(e){return((e=Math.exp(e))+1/e)/2}function Lf(e){return((e=Math.exp(e))-1/e)/2}function zf(e){return((e=Math.exp(2*e))-1)/(e+1)}const to=(function e(t,n,o){function r(i,s){var l=i[0],d=i[1],c=i[2],u=s[0],f=s[1],h=s[2],g=u-l,p=f-d,y=g*g+p*p,b,w;if(y<$f)w=Math.log(h/c)/t,b=function(O){return[l+O*g,d+O*p,c*Math.exp(t*O*w)]};else{var _=Math.sqrt(y),v=(h*h-c*c+o*y)/(2*c*n*_),x=(h*h-c*c-o*y)/(2*h*n*_),T=Math.log(Math.sqrt(v*v+1)-v),I=Math.log(Math.sqrt(x*x+1)-x);w=(I-T)/t,b=function(O){var D=O*w,L=ks(T),q=c/(n*_)*(L*zf(t*D+T)-Lf(T));return[l+q*g,d+q*p,c*L/ks(t*D+T)]}}return b.duration=w*1e3*t/Math.SQRT2,b}return r.rho=function(i){var s=Math.max(.001,+i),l=s*s,d=l*l;return e(s,l,d)},r})(Math.SQRT2,2,4);var qt=0,mn=0,yn=0,Ns=1e3,no,vn,oo=0,Et=0,ro=0,bn=typeof performance=="object"&&performance.now?performance:Date,Is=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function dr(){return Et||(Is(Ff),Et=bn.now()+ro)}function Ff(){Et=0}function io(){this._call=this._time=this._next=null}io.prototype=Ms.prototype={constructor:io,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?dr():+n)+(t==null?0:+t),!this._next&&vn!==this&&(vn?vn._next=this:no=this,vn=this),this._call=e,this._time=n,ur()},stop:function(){this._call&&(this._call=null,this._time=1/0,ur())}};function Ms(e,t,n){var o=new io;return o.restart(e,t,n),o}function Bf(){dr(),++qt;for(var e=no,t;e;)(t=Et-e._time)>=0&&e._call.call(void 0,t),e=e._next;--qt}function Ps(){Et=(oo=bn.now())+ro,qt=mn=0;try{Bf()}finally{qt=0,Yf(),Et=0}}function Hf(){var e=bn.now(),t=e-oo;t>Ns&&(ro-=t,oo=e)}function Yf(){for(var e,t=no,n,o=1/0;t;)t._call?(o>t._time&&(o=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:no=n);vn=e,ur(o)}function ur(e){if(!qt){mn&&(mn=clearTimeout(mn));var t=e-Et;t>24?(e<1/0&&(mn=setTimeout(Ps,e-bn.now()-ro)),yn&&(yn=clearInterval(yn))):(yn||(oo=bn.now(),yn=setInterval(Hf,Ns)),qt=1,Is(Ps))}}function Ds(e,t,n){var o=new io;return t=t==null?0:+t,o.restart(r=>{o.stop(),e(r+t)},t,n),o}var Xf=Wn("start","end","cancel","interrupt"),Vf=[],Ts=0,Os=1,fr=2,so=3,As=4,hr=5,ao=6;function lo(e,t,n,o,r,i){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;Wf(e,n,{name:t,index:o,group:r,on:Xf,tween:Vf,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:Ts})}function pr(e,t){var n=Ve(e,t);if(n.state>Ts)throw new Error("too late; already scheduled");return n}function Je(e,t){var n=Ve(e,t);if(n.state>so)throw new Error("too late; already running");return n}function Ve(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function Wf(e,t,n){var o=e.__transition,r;o[t]=n,n.timer=Ms(i,0,n.time);function i(c){n.state=Os,n.timer.restart(s,n.delay,n.time),n.delay<=c&&s(c-n.delay)}function s(c){var u,f,h,g;if(n.state!==Os)return d();for(u in o)if(g=o[u],g.name===n.name){if(g.state===so)return Ds(s);g.state===As?(g.state=ao,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete o[u]):+u<t&&(g.state=ao,g.timer.stop(),g.on.call("cancel",e,e.__data__,g.index,g.group),delete o[u])}if(Ds(function(){n.state===so&&(n.state=As,n.timer.restart(l,n.delay,n.time),l(c))}),n.state=fr,n.on.call("start",e,e.__data__,n.index,n.group),n.state===fr){for(n.state=so,r=new Array(h=n.tween.length),u=0,f=-1;u<h;++u)(g=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=g);r.length=f+1}}function l(c){for(var u=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(d),n.state=hr,1),f=-1,h=r.length;++f<h;)r[f].call(e,u);n.state===hr&&(n.on.call("end",e,e.__data__,n.index,n.group),d())}function d(){n.state=ao,n.timer.stop(),delete o[t];for(var c in o)return;delete e.__transition}}function co(e,t){var n=e.__transition,o,r,i=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((o=n[s]).name!==t){i=!1;continue}r=o.state>fr&&o.state<hr,o.state=ao,o.timer.stop(),o.on.call(r?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete n[s]}i&&delete e.__transition}}function qf(e){return this.each(function(){co(this,e)})}function jf(e,t){var n,o;return function(){var r=Je(this,e),i=r.tween;if(i!==n){o=n=i;for(var s=0,l=o.length;s<l;++s)if(o[s].name===t){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function Uf(e,t,n){var o,r;if(typeof n!="function")throw new Error;return function(){var i=Je(this,e),s=i.tween;if(s!==o){r=(o=s).slice();for(var l={name:t,value:n},d=0,c=r.length;d<c;++d)if(r[d].name===t){r[d]=l;break}d===c&&r.push(l)}i.tween=r}}function Gf(e,t){var n=this._id;if(e+="",arguments.length<2){for(var o=Ve(this.node(),n).tween,r=0,i=o.length,s;r<i;++r)if((s=o[r]).name===e)return s.value;return null}return this.each((t==null?jf:Uf)(n,e,t))}function gr(e,t,n){var o=e._id;return e.each(function(){var r=Je(this,o);(r.value||(r.value={}))[t]=n.apply(this,arguments)}),function(r){return Ve(r,o).value[t]}}function $s(e,t){var n;return(typeof t=="number"?Ze:t instanceof xt?Rn:(n=xt(t))?(t=n,Rn):Ss)(e,t)}function Kf(e){return function(){this.removeAttribute(e)}}function Zf(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Jf(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttribute(e);return s===r?null:s===o?i:i=t(o=s,n)}}function Qf(e,t,n){var o,r=n+"",i;return function(){var s=this.getAttributeNS(e.space,e.local);return s===r?null:s===o?i:i=t(o=s,n)}}function Rf(e,t,n){var o,r,i;return function(){var s,l=n(this),d;return l==null?void this.removeAttribute(e):(s=this.getAttribute(e),d=l+"",s===d?null:s===o&&d===r?i:(r=d,i=t(o=s,l)))}}function eh(e,t,n){var o,r,i;return function(){var s,l=n(this),d;return l==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),d=l+"",s===d?null:s===o&&d===r?i:(r=d,i=t(o=s,l)))}}function th(e,t){var n=jn(e),o=n==="transform"?Af:$s;return this.attrTween(e,typeof t=="function"?(n.local?eh:Rf)(n,o,gr(this,"attr."+e,t)):t==null?(n.local?Zf:Kf)(n):(n.local?Qf:Jf)(n,o,t))}function nh(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function oh(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function rh(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&oh(e,i)),n}return r._value=t,r}function ih(e,t){var n,o;function r(){var i=t.apply(this,arguments);return i!==o&&(n=(o=i)&&nh(e,i)),n}return r._value=t,r}function sh(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var o=jn(e);return this.tween(n,(o.local?rh:ih)(o,t))}function ah(e,t){return function(){pr(this,e).delay=+t.apply(this,arguments)}}function lh(e,t){return t=+t,function(){pr(this,e).delay=t}}function ch(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?ah:lh)(t,e)):Ve(this.node(),t).delay}function dh(e,t){return function(){Je(this,e).duration=+t.apply(this,arguments)}}function uh(e,t){return t=+t,function(){Je(this,e).duration=t}}function fh(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?dh:uh)(t,e)):Ve(this.node(),t).duration}function hh(e,t){if(typeof t!="function")throw new Error;return function(){Je(this,e).ease=t}}function ph(e){var t=this._id;return arguments.length?this.each(hh(t,e)):Ve(this.node(),t).ease}function gh(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Je(this,e).ease=n}}function mh(e){if(typeof e!="function")throw new Error;return this.each(gh(this._id,e))}function yh(e){typeof e!="function"&&(e=Qi(e));for(var t=this._groups,n=t.length,o=new Array(n),r=0;r<n;++r)for(var i=t[r],s=i.length,l=o[r]=[],d,c=0;c<s;++c)(d=i[c])&&e.call(d,d.__data__,c,i)&&l.push(d);return new et(o,this._parents,this._name,this._id)}function vh(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,o=t.length,r=n.length,i=Math.min(o,r),s=new Array(o),l=0;l<i;++l)for(var d=t[l],c=n[l],u=d.length,f=s[l]=new Array(u),h,g=0;g<u;++g)(h=d[g]||c[g])&&(f[g]=h);for(;l<o;++l)s[l]=t[l];return new et(s,this._parents,this._name,this._id)}function bh(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function wh(e,t,n){var o,r,i=bh(t)?pr:Je;return function(){var s=i(this,e),l=s.on;l!==o&&(r=(o=l).copy()).on(t,n),s.on=r}}function xh(e,t){var n=this._id;return arguments.length<2?Ve(this.node(),n).on.on(e):this.each(wh(n,e,t))}function Sh(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function _h(){return this.on("end.remove",Sh(this._id))}function Eh(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ro(e));for(var o=this._groups,r=o.length,i=new Array(r),s=0;s<r;++s)for(var l=o[s],d=l.length,c=i[s]=new Array(d),u,f,h=0;h<d;++h)(u=l[h])&&(f=e.call(u,u.__data__,h,l))&&("__data__"in u&&(f.__data__=u.__data__),c[h]=f,lo(c[h],t,n,h,c,Ve(u,n)));return new et(i,this._parents,t,n)}function Ch(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Ji(e));for(var o=this._groups,r=o.length,i=[],s=[],l=0;l<r;++l)for(var d=o[l],c=d.length,u,f=0;f<c;++f)if(u=d[f]){for(var h=e.call(u,u.__data__,f,d),g,p=Ve(u,n),y=0,b=h.length;y<b;++y)(g=h[y])&&lo(g,t,n,y,h,p);i.push(h),s.push(u)}return new et(i,s,t,n)}var kh=dn.prototype.constructor;function Nh(){return new kh(this._groups,this._parents)}function Ih(e,t){var n,o,r;return function(){var i=Xt(this,e),s=(this.style.removeProperty(e),Xt(this,e));return i===s?null:i===n&&s===o?r:r=t(n=i,o=s)}}function Ls(e){return function(){this.style.removeProperty(e)}}function Mh(e,t,n){var o,r=n+"",i;return function(){var s=Xt(this,e);return s===r?null:s===o?i:i=t(o=s,n)}}function Ph(e,t,n){var o,r,i;return function(){var s=Xt(this,e),l=n(this),d=l+"";return l==null&&(d=l=(this.style.removeProperty(e),Xt(this,e))),s===d?null:s===o&&d===r?i:(r=d,i=t(o=s,l))}}function Dh(e,t){var n,o,r,i="style."+t,s="end."+i,l;return function(){var d=Je(this,e),c=d.on,u=d.value[i]==null?l||(l=Ls(t)):void 0;(c!==n||r!==u)&&(o=(n=c).copy()).on(s,r=u),d.on=o}}function Th(e,t,n){var o=(e+="")=="transform"?Of:$s;return t==null?this.styleTween(e,Ih(e,o)).on("end.style."+e,Ls(e)):typeof t=="function"?this.styleTween(e,Ph(e,o,gr(this,"style."+e,t))).each(Dh(this._id,e)):this.styleTween(e,Mh(e,o,t),n).on("end.style."+e,null)}function Oh(e,t,n){return function(o){this.style.setProperty(e,t.call(this,o),n)}}function Ah(e,t,n){var o,r;function i(){var s=t.apply(this,arguments);return s!==r&&(o=(r=s)&&Oh(e,s,n)),o}return i._value=t,i}function $h(e,t,n){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(t==null)return this.tween(o,null);if(typeof t!="function")throw new Error;return this.tween(o,Ah(e,t,n??""))}function Lh(e){return function(){this.textContent=e}}function zh(e){return function(){var t=e(this);this.textContent=t??""}}function Fh(e){return this.tween("text",typeof e=="function"?zh(gr(this,"text",e)):Lh(e==null?"":e+""))}function Bh(e){return function(t){this.textContent=e.call(this,t)}}function Hh(e){var t,n;function o(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Bh(r)),t}return o._value=e,o}function Yh(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Hh(e))}function Xh(){for(var e=this._name,t=this._id,n=zs(),o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],l=s.length,d,c=0;c<l;++c)if(d=s[c]){var u=Ve(d,t);lo(d,e,n,c,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new et(o,this._parents,e,n)}function Vh(){var e,t,n=this,o=n._id,r=n.size();return new Promise(function(i,s){var l={value:s},d={value:function(){--r===0&&i()}};n.each(function(){var c=Je(this,o),u=c.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(d)),c.on=t}),r===0&&i()})}var Wh=0;function et(e,t,n,o){this._groups=e,this._parents=t,this._name=n,this._id=o}function zs(){return++Wh}var tt=dn.prototype;et.prototype={constructor:et,select:Eh,selectAll:Ch,selectChild:tt.selectChild,selectChildren:tt.selectChildren,filter:yh,merge:vh,selection:Nh,transition:Xh,call:tt.call,nodes:tt.nodes,node:tt.node,size:tt.size,empty:tt.empty,each:tt.each,on:xh,attr:th,attrTween:sh,style:Th,styleTween:$h,text:Fh,textTween:Yh,remove:_h,tween:Gf,delay:ch,duration:fh,ease:ph,easeVarying:mh,end:Vh,[Symbol.iterator]:tt[Symbol.iterator]};function qh(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var jh={time:null,delay:0,duration:250,ease:qh};function Uh(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Gh(e){var t,n;e instanceof et?(t=e._id,e=e._name):(t=zs(),(n=jh).time=dr(),e=e==null?null:e+"");for(var o=this._groups,r=o.length,i=0;i<r;++i)for(var s=o[i],l=s.length,d,c=0;c<l;++c)(d=s[c])&&lo(d,e,t,c,s,n||Uh(d,t));return new et(o,this._parents,e,t)}dn.prototype.interrupt=qf,dn.prototype.transition=Gh;const uo=e=>()=>e;function Kh(e,{sourceEvent:t,target:n,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function nt(e,t,n){this.k=e,this.x=t,this.y=n}nt.prototype={constructor:nt,scale:function(e){return e===1?this:new nt(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new nt(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 fo=new nt(1,0,0);Fs.prototype=nt.prototype;function Fs(e){for(;!e.__zoom;)if(!(e=e.parentNode))return fo;return e.__zoom}function mr(e){e.stopImmediatePropagation()}function wn(e){e.preventDefault(),e.stopImmediatePropagation()}function Zh(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Jh(){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 Bs(){return this.__zoom||fo}function Qh(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Rh(){return navigator.maxTouchPoints||"ontouchstart"in this}function ep(e,t,n){var o=e.invertX(t[0][0])-n[0][0],r=e.invertX(t[1][0])-n[1][0],i=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function Hs(){var e=Zh,t=Jh,n=ep,o=Qh,r=Rh,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],l=250,d=to,c=Wn("start","zoom","end"),u,f,h,g=500,p=150,y=0,b=10;function w(C){C.property("__zoom",Bs).on("wheel.zoom",D,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",q).filter(r).on("touchstart.zoom",$).on("touchmove.zoom",H).on("touchend.zoom touchcancel.zoom",V).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}w.transform=function(C,S,k,N){var M=C.selection?C.selection():C;M.property("__zoom",Bs),C!==M?T(C,S,k,N):M.interrupt().each(function(){I(this,arguments).event(N).start().zoom(null,typeof S=="function"?S.apply(this,arguments):S).end()})},w.scaleBy=function(C,S,k,N){w.scaleTo(C,function(){var M=this.__zoom.k,A=typeof S=="function"?S.apply(this,arguments):S;return M*A},k,N)},w.scaleTo=function(C,S,k,N){w.transform(C,function(){var M=t.apply(this,arguments),A=this.__zoom,Y=k==null?x(M):typeof k=="function"?k.apply(this,arguments):k,z=A.invert(Y),B=typeof S=="function"?S.apply(this,arguments):S;return n(v(_(A,B),Y,z),M,s)},k,N)},w.translateBy=function(C,S,k,N){w.transform(C,function(){return n(this.__zoom.translate(typeof S=="function"?S.apply(this,arguments):S,typeof k=="function"?k.apply(this,arguments):k),t.apply(this,arguments),s)},null,N)},w.translateTo=function(C,S,k,N,M){w.transform(C,function(){var A=t.apply(this,arguments),Y=this.__zoom,z=N==null?x(A):typeof N=="function"?N.apply(this,arguments):N;return n(fo.translate(z[0],z[1]).scale(Y.k).translate(typeof S=="function"?-S.apply(this,arguments):-S,typeof k=="function"?-k.apply(this,arguments):-k),A,s)},N,M)};function _(C,S){return S=Math.max(i[0],Math.min(i[1],S)),S===C.k?C:new nt(S,C.x,C.y)}function v(C,S,k){var N=S[0]-k[0]*C.k,M=S[1]-k[1]*C.k;return N===C.x&&M===C.y?C:new nt(C.k,N,M)}function x(C){return[(+C[0][0]+ +C[1][0])/2,(+C[0][1]+ +C[1][1])/2]}function T(C,S,k,N){C.on("start.zoom",function(){I(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){I(this,arguments).event(N).end()}).tween("zoom",function(){var M=this,A=arguments,Y=I(M,A).event(N),z=t.apply(M,A),B=k==null?x(z):typeof k=="function"?k.apply(M,A):k,j=Math.max(z[1][0]-z[0][0],z[1][1]-z[0][1]),Z=M.__zoom,G=typeof S=="function"?S.apply(M,A):S,ee=d(Z.invert(B).concat(j/Z.k),G.invert(B).concat(j/G.k));return function(oe){if(oe===1)oe=G;else{var J=ee(oe),P=j/J[2];oe=new nt(P,B[0]-J[0]*P,B[1]-J[1]*P)}Y.zoom(null,oe)}})}function I(C,S,k){return!k&&C.__zooming||new O(C,S)}function O(C,S){this.that=C,this.args=S,this.active=0,this.sourceEvent=null,this.extent=t.apply(C,S),this.taps=0}O.prototype={event:function(C){return C&&(this.sourceEvent=C),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(C,S){return this.mouse&&C!=="mouse"&&(this.mouse[1]=S.invert(this.mouse[0])),this.touch0&&C!=="touch"&&(this.touch0[1]=S.invert(this.touch0[0])),this.touch1&&C!=="touch"&&(this.touch1[1]=S.invert(this.touch1[0])),this.that.__zoom=S,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(C){var S=$e(this.that).datum();c.call(C,this.that,new Kh(C,{sourceEvent:this.sourceEvent,target:w,transform:this.that.__zoom,dispatch:c}),S)}};function D(C,...S){if(!e.apply(this,arguments))return;var k=I(this,S).event(C),N=this.__zoom,M=Math.max(i[0],Math.min(i[1],N.k*Math.pow(2,o.apply(this,arguments)))),A=Ye(C);if(k.wheel)(k.mouse[0][0]!==A[0]||k.mouse[0][1]!==A[1])&&(k.mouse[1]=N.invert(k.mouse[0]=A)),clearTimeout(k.wheel);else{if(N.k===M)return;k.mouse=[A,N.invert(A)],co(this),k.start()}wn(C),k.wheel=setTimeout(Y,p),k.zoom("mouse",n(v(_(N,M),k.mouse[0],k.mouse[1]),k.extent,s));function Y(){k.wheel=null,k.end()}}function L(C,...S){if(h||!e.apply(this,arguments))return;var k=C.currentTarget,N=I(this,S,!0).event(C),M=$e(C.view).on("mousemove.zoom",B,!0).on("mouseup.zoom",j,!0),A=Ye(C,k),Y=C.clientX,z=C.clientY;ls(C.view),mr(C),N.mouse=[A,this.__zoom.invert(A)],co(this),N.start();function B(Z){if(wn(Z),!N.moved){var G=Z.clientX-Y,ee=Z.clientY-z;N.moved=G*G+ee*ee>y}N.event(Z).zoom("mouse",n(v(N.that.__zoom,N.mouse[0]=Ye(Z,k),N.mouse[1]),N.extent,s))}function j(Z){M.on("mousemove.zoom mouseup.zoom",null),cs(Z.view,N.moved),wn(Z),N.event(Z).end()}}function q(C,...S){if(e.apply(this,arguments)){var k=this.__zoom,N=Ye(C.changedTouches?C.changedTouches[0]:C,this),M=k.invert(N),A=k.k*(C.shiftKey?.5:2),Y=n(v(_(k,A),N,M),t.apply(this,S),s);wn(C),l>0?$e(this).transition().duration(l).call(T,Y,N,C):$e(this).call(w.transform,Y,N,C)}}function $(C,...S){if(e.apply(this,arguments)){var k=C.touches,N=k.length,M=I(this,S,C.changedTouches.length===N).event(C),A,Y,z,B;for(mr(C),Y=0;Y<N;++Y)z=k[Y],B=Ye(z,this),B=[B,this.__zoom.invert(B),z.identifier],M.touch0?!M.touch1&&M.touch0[2]!==B[2]&&(M.touch1=B,M.taps=0):(M.touch0=B,A=!0,M.taps=1+!!u);u&&(u=clearTimeout(u)),A&&(M.taps<2&&(f=B[0],u=setTimeout(function(){u=null},g)),co(this),M.start())}}function H(C,...S){if(this.__zooming){var k=I(this,S).event(C),N=C.changedTouches,M=N.length,A,Y,z,B;for(wn(C),A=0;A<M;++A)Y=N[A],z=Ye(Y,this),k.touch0&&k.touch0[2]===Y.identifier?k.touch0[0]=z:k.touch1&&k.touch1[2]===Y.identifier&&(k.touch1[0]=z);if(Y=k.that.__zoom,k.touch1){var j=k.touch0[0],Z=k.touch0[1],G=k.touch1[0],ee=k.touch1[1],oe=(oe=G[0]-j[0])*oe+(oe=G[1]-j[1])*oe,J=(J=ee[0]-Z[0])*J+(J=ee[1]-Z[1])*J;Y=_(Y,Math.sqrt(oe/J)),z=[(j[0]+G[0])/2,(j[1]+G[1])/2],B=[(Z[0]+ee[0])/2,(Z[1]+ee[1])/2]}else if(k.touch0)z=k.touch0[0],B=k.touch0[1];else return;k.zoom("touch",n(v(Y,z,B),k.extent,s))}}function V(C,...S){if(this.__zooming){var k=I(this,S).event(C),N=C.changedTouches,M=N.length,A,Y;for(mr(C),h&&clearTimeout(h),h=setTimeout(function(){h=null},g),A=0;A<M;++A)Y=N[A],k.touch0&&k.touch0[2]===Y.identifier?delete k.touch0:k.touch1&&k.touch1[2]===Y.identifier&&delete k.touch1;if(k.touch1&&!k.touch0&&(k.touch0=k.touch1,delete k.touch1),k.touch0)k.touch0[1]=this.__zoom.invert(k.touch0[0]);else if(k.end(),k.taps===2&&(Y=Ye(Y,this),Math.hypot(f[0]-Y[0],f[1]-Y[1])<b)){var z=$e(this).on("dblclick.zoom");z&&z.apply(this,arguments)}}}return w.wheelDelta=function(C){return arguments.length?(o=typeof C=="function"?C:uo(+C),w):o},w.filter=function(C){return arguments.length?(e=typeof C=="function"?C:uo(!!C),w):e},w.touchable=function(C){return arguments.length?(r=typeof C=="function"?C:uo(!!C),w):r},w.extent=function(C){return arguments.length?(t=typeof C=="function"?C:uo([[+C[0][0],+C[0][1]],[+C[1][0],+C[1][1]]]),w):t},w.scaleExtent=function(C){return arguments.length?(i[0]=+C[0],i[1]=+C[1],w):[i[0],i[1]]},w.translateExtent=function(C){return arguments.length?(s[0][0]=+C[0][0],s[1][0]=+C[1][0],s[0][1]=+C[0][1],s[1][1]=+C[1][1],w):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},w.constrain=function(C){return arguments.length?(n=C,w):n},w.duration=function(C){return arguments.length?(l=+C,w):l},w.interpolate=function(C){return arguments.length?(d=C,w):d},w.on=function(){var C=c.on.apply(c,arguments);return C===c?w:C},w.clickDistance=function(C){return arguments.length?(y=(C=+C)*C,w):Math.sqrt(y)},w.tapDistance=function(C){return arguments.length?(b=+C,w):b},w}const Le={error001:()=>"[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:n,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n: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."},xn=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ys=["Enter"," ","Escape"],Xs={"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:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"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 jt;(function(e){e.Strict="strict",e.Loose="loose"})(jt||(jt={}));var Ct;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Ct||(Ct={}));var Sn;(function(e){e.Partial="partial",e.Full="full"})(Sn||(Sn={}));const Vs={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var lt;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(lt||(lt={}));var ho;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(ho||(ho={}));var ae;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ae||(ae={}));const Ws={[ae.Left]:ae.Right,[ae.Right]:ae.Left,[ae.Top]:ae.Bottom,[ae.Bottom]:ae.Top};function qs(e){return e===null?null:e?"valid":"invalid"}const js=e=>"id"in e&&"source"in e&&"target"in e,tp=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),yr=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),_n=(e,t=[0,0])=>{const{width:n,height:o}=ot(e),r=e.origin??t,i=n*r[0],s=o*r[1];return{x:e.position.x-i,y:e.position.y-s}},np=(e,t={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!t.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((o,r)=>{const i=typeof r=="string";let s=!t.nodeLookup&&!i?r:void 0;t.nodeLookup&&(s=i?t.nodeLookup.get(r):yr(r)?r:t.nodeLookup.get(r.id));const l=s?mo(s,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return po(o,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return go(n)},En=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(r=>{(t.filter===void 0||t.filter(r))&&(n=po(n,mo(r)),o=!0)}),o?go(n):{x:0,y:0,width:0,height:0}},vr=(e,t,[n,o,r]=[0,0,1],i=!1,s=!1)=>{const l={...Nn(t,[n,o,r]),width:t.width/r,height:t.height/r},d=[];for(const c of e.values()){const{measured:u,selectable:f=!0,hidden:h=!1}=c;if(s&&!f||h)continue;const g=u.width??c.width??c.initialWidth??null,p=u.height??c.height??c.initialHeight??null,y=Cn(l,Gt(c)),b=(g??0)*(p??0),w=i&&y>0;(!c.internals.handleBounds||w||y>=b||c.dragging)&&d.push(c)}return d},op=(e,t)=>{const n=new Set;return e.forEach(o=>{n.add(o.id)}),t.filter(o=>n.has(o.source)||n.has(o.target))};function rp(e,t){const n=new Map,o=t?.nodes?new Set(t.nodes.map(r=>r.id)):null;return e.forEach(r=>{r.measured.width&&r.measured.height&&(t?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&n.set(r.id,r)}),n}async function ip({nodes:e,width:t,height:n,panZoom:o,minZoom:r,maxZoom:i},s){if(e.size===0)return Promise.resolve(!0);const l=rp(e,s),d=En(l),c=wr(d,t,n,s?.minZoom??r,s?.maxZoom??i,s?.padding??.1);return await o.setViewport(c,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),Promise.resolve(!0)}function Us({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:o=[0,0],nodeExtent:r,onError:i}){const s=n.get(e),l=s.parentId?n.get(s.parentId):void 0,{x:d,y:c}=l?l.internals.positionAbsolute:{x:0,y:0},u=s.origin??o;let f=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!l)i?.("005",Le.error005());else{const g=l.measured.width,p=l.measured.height;g&&p&&(f=[[d,c],[d+g,c+p]])}else l&&Zt(s.extent)&&(f=[[s.extent[0][0]+d,s.extent[0][1]+c],[s.extent[1][0]+d,s.extent[1][1]+c]]);const h=Zt(f)?kt(t,f,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&i?.("015",Le.error015()),{position:{x:h.x-d+(s.measured.width??0)*u[0],y:h.y-c+(s.measured.height??0)*u[1]},positionAbsolute:h}}async function sp({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){const i=new Set(e.map(h=>h.id)),s=[];for(const h of n){if(h.deletable===!1)continue;const g=i.has(h.id),p=!g&&h.parentId&&s.find(y=>y.id===h.parentId);(g||p)&&s.push(h)}const l=new Set(t.map(h=>h.id)),d=o.filter(h=>h.deletable!==!1),u=op(s,d);for(const h of d)l.has(h.id)&&!u.find(p=>p.id===h.id)&&u.push(h);if(!r)return{edges:u,nodes:s};const f=await r({nodes:s,edges:u});return typeof f=="boolean"?f?{edges:u,nodes:s}:{edges:[],nodes:[]}:f}const Ut=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),kt=(e={x:0,y:0},t,n)=>({x:Ut(e.x,t[0][0],t[1][0]-(n?.width??0)),y:Ut(e.y,t[0][1],t[1][1]-(n?.height??0))});function Gs(e,t,n){const{width:o,height:r}=ot(n),{x:i,y:s}=n.internals.positionAbsolute;return kt(e,[[i,s],[i+o,s+r]],t)}const Ks=(e,t,n)=>e<t?Ut(Math.abs(e-t),1,t)/t:e>n?-Ut(Math.abs(e-n),1,t)/t:0,Zs=(e,t,n=15,o=40)=>{const r=Ks(e.x,o,t.width-o)*n,i=Ks(e.y,o,t.height-o)*n;return[r,i]},po=(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)}),br=({x:e,y:t,width:n,height:o})=>({x:e,y:t,x2:e+n,y2:t+o}),go=({x:e,y:t,x2:n,y2:o})=>({x:e,y:t,width:n-e,height:o-t}),Gt=(e,t=[0,0])=>{const{x:n,y:o}=yr(e)?e.internals.positionAbsolute:_n(e,t);return{x:n,y:o,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},mo=(e,t=[0,0])=>{const{x:n,y:o}=yr(e)?e.internals.positionAbsolute:_n(e,t);return{x:n,y:o,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:o+(e.measured?.height??e.height??e.initialHeight??0)}},Js=(e,t)=>go(po(br(e),br(t))),Cn=(e,t)=>{const n=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(n*o)},Qs=e=>We(e.width)&&We(e.height)&&We(e.x)&&We(e.y),We=e=>!isNaN(e)&&isFinite(e),Rs=(e,t)=>{process.env.NODE_ENV==="development"&&console.warn(`[React Flow]: ${t} Help: https://reactflow.dev/error#${e}`)},kn=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Nn=({x:e,y:t},[n,o,r],i=!1,s=[1,1])=>{const l={x:(e-n)/r,y:(t-o)/r};return i?kn(l,s):l},yo=({x:e,y:t},[n,o,r])=>({x:e*r+n,y:t*r+o});function Kt(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.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 ap(e,t,n){if(typeof e=="string"||typeof e=="number"){const o=Kt(e,n),r=Kt(e,t);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof e=="object"){const o=Kt(e.top??e.y??0,n),r=Kt(e.bottom??e.y??0,n),i=Kt(e.left??e.x??0,t),s=Kt(e.right??e.x??0,t);return{top:o,right:s,bottom:r,left:i,x:i+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function lp(e,t,n,o,r,i){const{x:s,y:l}=yo(e,[t,n,o]),{x:d,y:c}=yo({x:e.x+e.width,y:e.y+e.height},[t,n,o]),u=r-d,f=i-c;return{left:Math.floor(s),top:Math.floor(l),right:Math.floor(u),bottom:Math.floor(f)}}const wr=(e,t,n,o,r,i)=>{const s=ap(i,t,n),l=(t-s.x)/e.width,d=(n-s.y)/e.height,c=Math.min(l,d),u=Ut(c,o,r),f=e.x+e.width/2,h=e.y+e.height/2,g=t/2-f*u,p=n/2-h*u,y=lp(e,g,p,u,t,n),b={left:Math.min(y.left-s.left,0),top:Math.min(y.top-s.top,0),right:Math.min(y.right-s.right,0),bottom:Math.min(y.bottom-s.bottom,0)};return{x:g-b.left+b.right,y:p-b.top+b.bottom,zoom:u}},In=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Zt(e){return e!=null&&e!=="parent"}function ot(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function ea(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function ta(e,t={width:0,height:0},n,o,r){const i={...e},s=o.get(n);if(s){const l=s.origin||r;i.x+=s.internals.positionAbsolute.x-(t.width??0)*l[0],i.y+=s.internals.positionAbsolute.y-(t.height??0)*l[1]}return i}function na(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function cp(){let e,t;return{promise:new Promise((o,r)=>{e=o,t=r}),resolve:e,reject:t}}function dp(e){return{...Xs,...e||{}}}function Mn(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:o,containerBounds:r}){const{x:i,y:s}=qe(e),l=Nn({x:i-(r?.left??0),y:s-(r?.top??0)},o),{x:d,y:c}=n?kn(l,t):l;return{xSnapped:d,ySnapped:c,...l}}const xr=e=>({width:e.offsetWidth,height:e.offsetHeight}),oa=e=>e?.getRootNode?.()||window?.document,up=["INPUT","SELECT","TEXTAREA"];function ra(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:up.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const ia=e=>"clientX"in e,qe=(e,t)=>{const n=ia(e),o=n?e.clientX:e.touches?.[0].clientX,r=n?e.clientY:e.touches?.[0].clientY;return{x:o-(t?.left??0),y:r-(t?.top??0)}},sa=(e,t,n,o,r)=>{const i=t.querySelectorAll(`.${e}`);return!i||!i.length?null:Array.from(i).map(s=>{const l=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:e,nodeId:r,position:s.getAttribute("data-handlepos"),x:(l.left-n.left)/o,y:(l.top-n.top)/o,...xr(s)}})};function aa({sourceX:e,sourceY:t,targetX:n,targetY:o,sourceControlX:r,sourceControlY:i,targetControlX:s,targetControlY:l}){const d=e*.125+r*.375+s*.375+n*.125,c=t*.125+i*.375+l*.375+o*.125,u=Math.abs(d-e),f=Math.abs(c-t);return[d,c,u,f]}function vo(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function la({pos:e,x1:t,y1:n,x2:o,y2:r,c:i}){switch(e){case ae.Left:return[t-vo(t-o,i),n];case ae.Right:return[t+vo(o-t,i),n];case ae.Top:return[t,n-vo(n-r,i)];case ae.Bottom:return[t,n+vo(r-n,i)]}}function ca({sourceX:e,sourceY:t,sourcePosition:n=ae.Bottom,targetX:o,targetY:r,targetPosition:i=ae.Top,curvature:s=.25}){const[l,d]=la({pos:n,x1:e,y1:t,x2:o,y2:r,c:s}),[c,u]=la({pos:i,x1:o,y1:r,x2:e,y2:t,c:s}),[f,h,g,p]=aa({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:l,sourceControlY:d,targetControlX:c,targetControlY:u});return[`M${e},${t} C${l},${d} ${c},${u} ${o},${r}`,f,h,g,p]}function da({sourceX:e,sourceY:t,targetX:n,targetY:o}){const r=Math.abs(n-e)/2,i=n<e?n+r:n-r,s=Math.abs(o-t)/2,l=o<t?o+s:o-s;return[i,l,r,s]}function fp({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:i="basic"}){if(i==="manual")return o;const s=r&&n?o+1e3:o,l=Math.max(e.parentId||r&&e.selected?e.internals.z:0,t.parentId||r&&t.selected?t.internals.z:0);return s+l}function hp({sourceNode:e,targetNode:t,width:n,height:o,transform:r}){const i=po(mo(e),mo(t));i.x===i.x2&&(i.x2+=1),i.y===i.y2&&(i.y2+=1);const s={x:-r[0]/r[2],y:-r[1]/r[2],width:n/r[2],height:o/r[2]};return Cn(s,go(i))>0}const pp=({source:e,sourceHandle:t,target:n,targetHandle:o})=>`xy-edge__${e}${t||""}-${n}${o||""}`,gp=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),ua=(e,t,n={})=>{if(!e.source||!e.target)return Rs("006",Le.error006()),t;const o=n.getEdgeId||pp;let r;return js(e)?r={...e}:r={...e,id:o(e)},gp(r,t)?t:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,t.concat(r))};function fa({sourceX:e,sourceY:t,targetX:n,targetY:o}){const[r,i,s,l]=da({sourceX:e,sourceY:t,targetX:n,targetY:o});return[`M ${e},${t}L ${n},${o}`,r,i,s,l]}const ha={[ae.Left]:{x:-1,y:0},[ae.Right]:{x:1,y:0},[ae.Top]:{x:0,y:-1},[ae.Bottom]:{x:0,y:1}},mp=({source:e,sourcePosition:t=ae.Bottom,target:n})=>t===ae.Left||t===ae.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},pa=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function yp({source:e,sourcePosition:t=ae.Bottom,target:n,targetPosition:o=ae.Top,center:r,offset:i,stepPosition:s}){const l=ha[t],d=ha[o],c={x:e.x+l.x*i,y:e.y+l.y*i},u={x:n.x+d.x*i,y:n.y+d.y*i},f=mp({source:c,sourcePosition:t,target:u}),h=f.x!==0?"x":"y",g=f[h];let p=[],y,b;const w={x:0,y:0},_={x:0,y:0},[,,v,x]=da({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[h]*d[h]===-1){h==="x"?(y=r.x??c.x+(u.x-c.x)*s,b=r.y??(c.y+u.y)/2):(y=r.x??(c.x+u.x)/2,b=r.y??c.y+(u.y-c.y)*s);const D=[{x:y,y:c.y},{x:y,y:u.y}],L=[{x:c.x,y:b},{x:u.x,y:b}];l[h]===g?p=h==="x"?D:L:p=h==="x"?L:D}else{const D=[{x:c.x,y:u.y}],L=[{x:u.x,y:c.y}];if(h==="x"?p=l.x===g?L:D:p=l.y===g?D:L,t===o){const C=Math.abs(e[h]-n[h]);if(C<=i){const S=Math.min(i-1,i-C);l[h]===g?w[h]=(c[h]>e[h]?-1:1)*S:_[h]=(u[h]>n[h]?-1:1)*S}}if(t!==o){const C=h==="x"?"y":"x",S=l[h]===d[C],k=c[C]>u[C],N=c[C]<u[C];(l[h]===1&&(!S&&k||S&&N)||l[h]!==1&&(!S&&N||S&&k))&&(p=h==="x"?D:L)}const q={x:c.x+w.x,y:c.y+w.y},$={x:u.x+_.x,y:u.y+_.y},H=Math.max(Math.abs(q.x-p[0].x),Math.abs($.x-p[0].x)),V=Math.max(Math.abs(q.y-p[0].y),Math.abs($.y-p[0].y));H>=V?(y=(q.x+$.x)/2,b=p[0].y):(y=p[0].x,b=(q.y+$.y)/2)}const T={x:c.x+w.x,y:c.y+w.y},I={x:u.x+_.x,y:u.y+_.y};return[[e,...T.x!==p[0].x||T.y!==p[0].y?[T]:[],...p,...I.x!==p[p.length-1].x||I.y!==p[p.length-1].y?[I]:[],n],y,b,v,x]}function vp(e,t,n,o){const r=Math.min(pa(e,t)/2,pa(t,n)/2,o),{x:i,y:s}=t;if(e.x===i&&i===n.x||e.y===s&&s===n.y)return`L${i} ${s}`;if(e.y===s){const c=e.x<n.x?-1:1,u=e.y<n.y?1:-1;return`L ${i+r*c},${s}Q ${i},${s} ${i},${s+r*u}`}const l=e.x<n.x?1:-1,d=e.y<n.y?-1:1;return`L ${i},${s+r*d}Q ${i},${s} ${i+r*l},${s}`}function Sr({sourceX:e,sourceY:t,sourcePosition:n=ae.Bottom,targetX:o,targetY:r,targetPosition:i=ae.Top,borderRadius:s=5,centerX:l,centerY:d,offset:c=20,stepPosition:u=.5}){const[f,h,g,p,y]=yp({source:{x:e,y:t},sourcePosition:n,target:{x:o,y:r},targetPosition:i,center:{x:l,y:d},offset:c,stepPosition:u});let b=`M${f[0].x} ${f[0].y}`;for(let w=1;w<f.length-1;w++)b+=vp(f[w-1],f[w],f[w+1],s);return b+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[b,h,g,p,y]}function ga(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function bp(e){const{sourceNode:t,targetNode:n}=e;if(!ga(t)||!ga(n))return null;const o=t.internals.handleBounds||ma(t.handles),r=n.internals.handleBounds||ma(n.handles),i=ya(o?.source??[],e.sourceHandle),s=ya(e.connectionMode===jt.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),e.targetHandle);if(!i||!s)return e.onError?.("008",Le.error008(i?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=i?.position||ae.Bottom,d=s?.position||ae.Top,c=Nt(t,i,l),u=Nt(n,s,d);return{sourceX:c.x,sourceY:c.y,targetX:u.x,targetY:u.y,sourcePosition:l,targetPosition:d}}function ma(e){if(!e)return null;const t=[],n=[];for(const o of e)o.width=o.width??1,o.height=o.height??1,o.type==="source"?t.push(o):o.type==="target"&&n.push(o);return{source:t,target:n}}function Nt(e,t,n=ae.Left,o=!1){const r=(t?.x??0)+e.internals.positionAbsolute.x,i=(t?.y??0)+e.internals.positionAbsolute.y,{width:s,height:l}=t??ot(e);if(o)return{x:r+s/2,y:i+l/2};switch(t?.position??n){case ae.Top:return{x:r+s/2,y:i};case ae.Right:return{x:r+s,y:i+l/2};case ae.Bottom:return{x:r+s/2,y:i+l};case ae.Left:return{x:r,y:i+l/2}}}function ya(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function _r(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function wp(e,{id:t,defaultColor:n,defaultMarkerStart:o,defaultMarkerEnd:r}){const i=new Set;return e.reduce((s,l)=>([l.markerStart||o,l.markerEnd||r].forEach(d=>{if(d&&typeof d=="object"){const c=_r(d,t);i.has(c)||(s.push({id:c,color:d.color||n,...d}),i.add(c))}}),s),[]).sort((s,l)=>s.id.localeCompare(l.id))}const va=1e3,xp=10,Er={nodeOrigin:[0,0],nodeExtent:xn,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Sp={...Er,checkEquality:!0};function Cr(e,t){const n={...e};for(const o in t)t[o]!==void 0&&(n[o]=t[o]);return n}function _p(e,t,n){const o=Cr(Er,n);for(const r of e.values())if(r.parentId)Ir(r,e,t,o);else{const i=_n(r,o.nodeOrigin),s=Zt(r.extent)?r.extent:o.nodeExtent,l=kt(i,s,ot(r));r.internals.positionAbsolute=l}}function Ep(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],o=[];for(const r of e.handles){const i={id:r.id,width:r.width??1,height:r.height??1,nodeId:e.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?n.push(i):r.type==="target"&&o.push(i)}return{source:n,target:o}}function kr(e){return e==="manual"}function Nr(e,t,n,o={}){const r=Cr(Sp,o),i={i:0},s=new Map(t),l=r?.elevateNodesOnSelect&&!kr(r.zIndexMode)?va:0;let d=e.length>0,c=!1;t.clear(),n.clear();for(const u of e){let f=s.get(u.id);if(r.checkEquality&&u===f?.internals.userNode)t.set(u.id,f);else{const h=_n(u,r.nodeOrigin),g=Zt(u.extent)?u.extent:r.nodeExtent,p=kt(h,g,ot(u));f={...r.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:p,handleBounds:Ep(u,f),z:ba(u,l,r.zIndexMode),userNode:u}},t.set(u.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(d=!1),u.parentId&&Ir(f,t,n,o,i),c||=u.selected??!1}return{nodesInitialized:d,hasSelectedNodes:c}}function Cp(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Ir(e,t,n,o,r){const{elevateNodesOnSelect:i,nodeOrigin:s,nodeExtent:l,zIndexMode:d}=Cr(Er,o),c=e.parentId,u=t.get(c);if(!u){console.warn(`Parent node ${c} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Cp(e,n),r&&!u.parentId&&u.internals.rootParentIndex===void 0&&d==="auto"&&(u.internals.rootParentIndex=++r.i,u.internals.z=u.internals.z+r.i*xp),r&&u.internals.rootParentIndex!==void 0&&(r.i=u.internals.rootParentIndex);const f=i&&!kr(d)?va:0,{x:h,y:g,z:p}=kp(e,u,s,l,f,d),{positionAbsolute:y}=e.internals,b=h!==y.x||g!==y.y;(b||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:b?{x:h,y:g}:y,z:p}})}function ba(e,t,n){const o=We(e.zIndex)?e.zIndex:0;return kr(n)?o:o+(e.selected?t:0)}function kp(e,t,n,o,r,i){const{x:s,y:l}=t.internals.positionAbsolute,d=ot(e),c=_n(e,n),u=Zt(e.extent)?kt(c,e.extent,d):c;let f=kt({x:s+u.x,y:l+u.y},o,d);e.extent==="parent"&&(f=Gs(f,d,t));const h=ba(e,r,i),g=t.internals.z??0;return{x:f.x,y:f.y,z:g>=h?g+1:h}}function Mr(e,t,n,o=[0,0]){const r=[],i=new Map;for(const s of e){const l=t.get(s.parentId);if(!l)continue;const d=i.get(s.parentId)?.expandedRect??Gt(l),c=Js(d,s.rect);i.set(s.parentId,{expandedRect:c,parent:l})}return i.size>0&&i.forEach(({expandedRect:s,parent:l},d)=>{const c=l.internals.positionAbsolute,u=ot(l),f=l.origin??o,h=s.x<c.x?Math.round(Math.abs(c.x-s.x)):0,g=s.y<c.y?Math.round(Math.abs(c.y-s.y)):0,p=Math.max(u.width,Math.round(s.width)),y=Math.max(u.height,Math.round(s.height)),b=(p-u.width)*f[0],w=(y-u.height)*f[1];(h>0||g>0||b||w)&&(r.push({id:d,type:"position",position:{x:l.position.x-h+b,y:l.position.y-g+w}}),n.get(d)?.forEach(_=>{e.some(v=>v.id===_.id)||r.push({id:_.id,type:"position",position:{x:_.position.x+h,y:_.position.y+g}})})),(u.width<s.width||u.height<s.height||h||g)&&r.push({id:d,type:"dimensions",setAttributes:!0,dimensions:{width:p+(h?f[0]*h-b:0),height:y+(g?f[1]*g-w:0)}})}),r}function Np(e,t,n,o,r,i,s){const l=o?.querySelector(".xyflow__viewport");let d=!1;if(!l)return{changes:[],updatedInternals:d};const c=[],u=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(u.transform),h=[];for(const g of e.values()){const p=t.get(g.id);if(!p)continue;if(p.hidden){t.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),d=!0;continue}const y=xr(g.nodeElement),b=p.measured.width!==y.width||p.measured.height!==y.height;if(!!(y.width&&y.height&&(b||!p.internals.handleBounds||g.force))){const _=g.nodeElement.getBoundingClientRect(),v=Zt(p.extent)?p.extent:i;let{positionAbsolute:x}=p.internals;p.parentId&&p.extent==="parent"?x=Gs(x,y,t.get(p.parentId)):v&&(x=kt(x,v,y));const T={...p,measured:y,internals:{...p.internals,positionAbsolute:x,handleBounds:{source:sa("source",g.nodeElement,_,f,p.id),target:sa("target",g.nodeElement,_,f,p.id)}}};t.set(p.id,T),p.parentId&&Ir(T,t,n,{nodeOrigin:r,zIndexMode:s}),d=!0,b&&(c.push({id:p.id,type:"dimensions",dimensions:y}),p.expandParent&&p.parentId&&h.push({id:p.id,parentId:p.parentId,rect:Gt(T,r)}))}}if(h.length>0){const g=Mr(h,t,n,r);c.push(...g)}return{changes:c,updatedInternals:d}}async function Ip({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o),l=!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2]);return Promise.resolve(l)}function wa(e,t,n,o,r,i){let s=r;const l=o.get(s)||new Map;o.set(s,l.set(n,t)),s=`${r}-${e}`;const d=o.get(s)||new Map;if(o.set(s,d.set(n,t)),i){s=`${r}-${e}-${i}`;const c=o.get(s)||new Map;o.set(s,c.set(n,t))}}function xa(e,t,n){e.clear(),t.clear();for(const o of n){const{source:r,target:i,sourceHandle:s=null,targetHandle:l=null}=o,d={edgeId:o.id,source:r,target:i,sourceHandle:s,targetHandle:l},c=`${r}-${s}--${i}-${l}`,u=`${i}-${l}--${r}-${s}`;wa("source",d,u,e,r,s),wa("target",d,c,e,i,l),t.set(o.id,o)}}function Sa(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:Sa(n,t):!1}function _a(e,t,n){let o=e;do{if(o?.matches?.(t))return!0;if(o===n)return!1;o=o?.parentElement}while(o);return!1}function Mp(e,t,n,o){const r=new Map;for(const[i,s]of e)if((s.selected||s.id===o)&&(!s.parentId||!Sa(s,e))&&(s.draggable||t&&typeof s.draggable>"u")){const l=e.get(i);l&&r.set(i,{id:i,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return r}function Pr({nodeId:e,dragItems:t,nodeLookup:n,dragging:o=!0}){const r=[];for(const[s,l]of t){const d=n.get(s)?.internals.userNode;d&&r.push({...d,position:l.position,dragging:o})}if(!e)return[r[0],r];const i=n.get(e)?.internals.userNode;return[i?{...i,position:t.get(e)?.position||i.position,dragging:o}:r[0],r]}function Pp({dragItems:e,snapGrid:t,x:n,y:o}){const r=e.values().next().value;if(!r)return null;const i={x:n-r.distance.x,y:o-r.distance.y},s=kn(i,t);return{x:s.x-i.x,y:s.y-i.y}}function Dp({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:o,onDragStop:r}){let i={x:null,y:null},s=0,l=new Map,d=!1,c={x:0,y:0},u=null,f=!1,h=null,g=!1,p=!1,y=null;function b({noDragClassName:_,handleSelector:v,domNode:x,isSelectable:T,nodeId:I,nodeClickDistance:O=0}){h=$e(x);function D({x:H,y:V}){const{nodeLookup:C,nodeExtent:S,snapGrid:k,snapToGrid:N,nodeOrigin:M,onNodeDrag:A,onSelectionDrag:Y,onError:z,updateNodePositions:B}=t();i={x:H,y:V};let j=!1;const Z=l.size>1,G=Z&&S?br(En(l)):null,ee=Z&&N?Pp({dragItems:l,snapGrid:k,x:H,y:V}):null;for(const[oe,J]of l){if(!C.has(oe))continue;let P={x:H-J.distance.x,y:V-J.distance.y};N&&(P=ee?{x:Math.round(P.x+ee.x),y:Math.round(P.y+ee.y)}:kn(P,k));let W=null;if(Z&&S&&!J.extent&&G){const{positionAbsolute:K}=J.internals,le=K.x-G.x+S[0][0],te=K.x+J.measured.width-G.x2+S[1][0],re=K.y-G.y+S[0][1],fe=K.y+J.measured.height-G.y2+S[1][1];W=[[le,re],[te,fe]]}const{position:X,positionAbsolute:U}=Us({nodeId:oe,nextPosition:P,nodeLookup:C,nodeExtent:W||S,nodeOrigin:M,onError:z});j=j||J.position.x!==X.x||J.position.y!==X.y,J.position=X,J.internals.positionAbsolute=U}if(p=p||j,!!j&&(B(l,!0),y&&(o||A||!I&&Y))){const[oe,J]=Pr({nodeId:I,dragItems:l,nodeLookup:C});o?.(y,l,oe,J),A?.(y,oe,J),I||Y?.(y,J)}}async function L(){if(!u)return;const{transform:H,panBy:V,autoPanSpeed:C,autoPanOnNodeDrag:S}=t();if(!S){d=!1,cancelAnimationFrame(s);return}const[k,N]=Zs(c,u,C);(k!==0||N!==0)&&(i.x=(i.x??0)-k/H[2],i.y=(i.y??0)-N/H[2],await V({x:k,y:N})&&D(i)),s=requestAnimationFrame(L)}function q(H){const{nodeLookup:V,multiSelectionActive:C,nodesDraggable:S,transform:k,snapGrid:N,snapToGrid:M,selectNodesOnDrag:A,onNodeDragStart:Y,onSelectionDragStart:z,unselectNodesAndEdges:B}=t();f=!0,(!A||!T)&&!C&&I&&(V.get(I)?.selected||B()),T&&A&&I&&e?.(I);const j=Mn(H.sourceEvent,{transform:k,snapGrid:N,snapToGrid:M,containerBounds:u});if(i=j,l=Mp(V,S,j,I),l.size>0&&(n||Y||!I&&z)){const[Z,G]=Pr({nodeId:I,dragItems:l,nodeLookup:V});n?.(H.sourceEvent,l,Z,G),Y?.(H.sourceEvent,Z,G),I||z?.(H.sourceEvent,G)}}const $=ds().clickDistance(O).on("start",H=>{const{domNode:V,nodeDragThreshold:C,transform:S,snapGrid:k,snapToGrid:N}=t();u=V?.getBoundingClientRect()||null,g=!1,p=!1,y=H.sourceEvent,C===0&&q(H),i=Mn(H.sourceEvent,{transform:S,snapGrid:k,snapToGrid:N,containerBounds:u}),c=qe(H.sourceEvent,u)}).on("drag",H=>{const{autoPanOnNodeDrag:V,transform:C,snapGrid:S,snapToGrid:k,nodeDragThreshold:N,nodeLookup:M}=t(),A=Mn(H.sourceEvent,{transform:C,snapGrid:S,snapToGrid:k,containerBounds:u});if(y=H.sourceEvent,(H.sourceEvent.type==="touchmove"&&H.sourceEvent.touches.length>1||I&&!M.has(I))&&(g=!0),!g){if(!d&&V&&f&&(d=!0,L()),!f){const Y=qe(H.sourceEvent,u),z=Y.x-c.x,B=Y.y-c.y;Math.sqrt(z*z+B*B)>N&&q(H)}(i.x!==A.xSnapped||i.y!==A.ySnapped)&&l&&f&&(c=qe(H.sourceEvent,u),D(A))}}).on("end",H=>{if(!(!f||g)&&(d=!1,f=!1,cancelAnimationFrame(s),l.size>0)){const{nodeLookup:V,updateNodePositions:C,onNodeDragStop:S,onSelectionDragStop:k}=t();if(p&&(C(l,!1),p=!1),r||S||!I&&k){const[N,M]=Pr({nodeId:I,dragItems:l,nodeLookup:V,dragging:!1});r?.(H.sourceEvent,l,N,M),S?.(H.sourceEvent,N,M),I||k?.(H.sourceEvent,M)}}}).filter(H=>{const V=H.target;return!H.button&&(!_||!_a(V,`.${_}`,x))&&(!v||_a(V,v,x))});h.call($)}function w(){h?.on(".drag",null)}return{update:b,destroy:w}}function Tp(e,t,n){const o=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())Cn(r,Gt(i))>0&&o.push(i);return o}const Op=250;function Ap(e,t,n,o){let r=[],i=1/0;const s=Tp(e,n,t+Op);for(const l of s){const d=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const c of d){if(o.nodeId===c.nodeId&&o.type===c.type&&o.id===c.id)continue;const{x:u,y:f}=Nt(l,c,c.position,!0),h=Math.sqrt(Math.pow(u-e.x,2)+Math.pow(f-e.y,2));h>t||(h<i?(r=[{...c,x:u,y:f}],i=h):h===i&&r.push({...c,x:u,y:f}))}}if(!r.length)return null;if(r.length>1){const l=o.type==="source"?"target":"source";return r.find(d=>d.type===l)??r[0]}return r[0]}function Ea(e,t,n,o,r,i=!1){const s=o.get(e);if(!s)return null;const l=r==="strict"?s.internals.handleBounds?.[t]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],d=(n?l?.find(c=>c.id===n):l?.[0])??null;return d&&i?{...d,...Nt(s,d,d.position,!0)}:d}function Ca(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function $p(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const ka=()=>!0;function Lp(e,{connectionMode:t,connectionRadius:n,handleId:o,nodeId:r,edgeUpdaterType:i,isTarget:s,domNode:l,nodeLookup:d,lib:c,autoPanOnConnect:u,flowId:f,panBy:h,cancelConnection:g,onConnectStart:p,onConnect:y,onConnectEnd:b,isValidConnection:w=ka,onReconnectEnd:_,updateConnection:v,getTransform:x,getFromHandle:T,autoPanSpeed:I,dragThreshold:O=1,handleDomNode:D}){const L=oa(e.target);let q=0,$;const{x:H,y:V}=qe(e),C=Ca(i,D),S=l?.getBoundingClientRect();let k=!1;if(!S||!C)return;const N=Ea(r,C,o,d,t);if(!N)return;let M=qe(e,S),A=!1,Y=null,z=!1,B=null;function j(){if(!u||!S)return;const[X,U]=Zs(M,S,I);h({x:X,y:U}),q=requestAnimationFrame(j)}const Z={...N,nodeId:r,type:C,position:N.position},G=d.get(r);let oe={inProgress:!0,isValid:null,from:Nt(G,Z,ae.Left,!0),fromHandle:Z,fromPosition:Z.position,fromNode:G,to:M,toHandle:null,toPosition:Ws[Z.position],toNode:null,pointer:M};function J(){k=!0,v(oe),p?.(e,{nodeId:r,handleId:o,handleType:C})}O===0&&J();function P(X){if(!k){const{x:fe,y:de}=qe(X),he=fe-H,Ie=de-V;if(!(he*he+Ie*Ie>O*O))return;J()}if(!T()||!Z){W(X);return}const U=x();M=qe(X,S),$=Ap(Nn(M,U,!1,[1,1]),n,d,Z),A||(j(),A=!0);const K=Na(X,{handle:$,connectionMode:t,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:w,doc:L,lib:c,flowId:f,nodeLookup:d});B=K.handleDomNode,Y=K.connection,z=$p(!!$,K.isValid);const le=d.get(r),te=le?Nt(le,Z,ae.Left,!0):oe.from,re={...oe,from:te,isValid:z,to:K.toHandle&&z?yo({x:K.toHandle.x,y:K.toHandle.y},U):M,toHandle:K.toHandle,toPosition:z&&K.toHandle?K.toHandle.position:Ws[Z.position],toNode:K.toHandle?d.get(K.toHandle.nodeId):null,pointer:M};v(re),oe=re}function W(X){if(!("touches"in X&&X.touches.length>0)){if(k){($||B)&&Y&&z&&y?.(Y);const{inProgress:U,...K}=oe,le={...K,toPosition:oe.toHandle?oe.toPosition:null};b?.(X,le),i&&_?.(X,le)}g(),cancelAnimationFrame(q),A=!1,z=!1,Y=null,B=null,L.removeEventListener("mousemove",P),L.removeEventListener("mouseup",W),L.removeEventListener("touchmove",P),L.removeEventListener("touchend",W)}}L.addEventListener("mousemove",P),L.addEventListener("mouseup",W),L.addEventListener("touchmove",P),L.addEventListener("touchend",W)}function Na(e,{handle:t,connectionMode:n,fromNodeId:o,fromHandleId:r,fromType:i,doc:s,lib:l,flowId:d,isValidConnection:c=ka,nodeLookup:u}){const f=i==="target",h=t?s.querySelector(`.${l}-flow__handle[data-id="${d}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:g,y:p}=qe(e),y=s.elementFromPoint(g,p),b=y?.classList.contains(`${l}-flow__handle`)?y:h,w={handleDomNode:b,isValid:!1,connection:null,toHandle:null};if(b){const _=Ca(void 0,b),v=b.getAttribute("data-nodeid"),x=b.getAttribute("data-handleid"),T=b.classList.contains("connectable"),I=b.classList.contains("connectableend");if(!v||!_)return w;const O={source:f?v:o,sourceHandle:f?x:r,target:f?o:v,targetHandle:f?r:x};w.connection=O;const L=T&&I&&(n===jt.Strict?f&&_==="source"||!f&&_==="target":v!==o||x!==r);w.isValid=L&&c(O),w.toHandle=Ea(v,_,x,u,n,!0)}return w}const Dr={onPointerDown:Lp,isValid:Na};function zp({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=$e(e);function i({translateExtent:l,width:d,height:c,zoomStep:u=1,pannable:f=!0,zoomable:h=!0,inversePan:g=!1}){const p=v=>{if(v.sourceEvent.type!=="wheel"||!t)return;const x=n(),T=v.sourceEvent.ctrlKey&&In()?10:1,I=-v.sourceEvent.deltaY*(v.sourceEvent.deltaMode===1?.05:v.sourceEvent.deltaMode?1:.002)*u,O=x[2]*Math.pow(2,I*T);t.scaleTo(O)};let y=[0,0];const b=v=>{(v.sourceEvent.type==="mousedown"||v.sourceEvent.type==="touchstart")&&(y=[v.sourceEvent.clientX??v.sourceEvent.touches[0].clientX,v.sourceEvent.clientY??v.sourceEvent.touches[0].clientY])},w=v=>{const x=n();if(v.sourceEvent.type!=="mousemove"&&v.sourceEvent.type!=="touchmove"||!t)return;const T=[v.sourceEvent.clientX??v.sourceEvent.touches[0].clientX,v.sourceEvent.clientY??v.sourceEvent.touches[0].clientY],I=[T[0]-y[0],T[1]-y[1]];y=T;const O=o()*Math.max(x[2],Math.log(x[2]))*(g?-1:1),D={x:x[0]-I[0]*O,y:x[1]-I[1]*O},L=[[0,0],[d,c]];t.setViewportConstrained({x:D.x,y:D.y,zoom:x[2]},L,l)},_=Hs().on("start",b).on("zoom",f?w:null).on("zoom.wheel",h?p:null);r.call(_,{})}function s(){r.on("zoom",null)}return{update:i,destroy:s,pointer:Ye}}const bo=e=>({x:e.x,y:e.y,zoom:e.k}),Tr=({x:e,y:t,zoom:n})=>fo.translate(e,t).scale(n),Jt=(e,t)=>e.target.closest(`.${t}`),Ia=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),Fp=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Or=(e,t=0,n=Fp,o=()=>{})=>{const r=typeof t=="number"&&t>0;return r||o(),r?e.transition().duration(t).ease(n).on("end",o):e},Ma=e=>{const t=e.ctrlKey&&In()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function Bp({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:i,zoomOnPinch:s,onPanZoomStart:l,onPanZoom:d,onPanZoomEnd:c}){return u=>{if(Jt(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(u.ctrlKey&&s){const b=Ye(u),w=Ma(u),_=f*Math.pow(2,w);o.scaleTo(n,_,b,u);return}const h=u.deltaMode===1?20:1;let g=r===Ct.Vertical?0:u.deltaX*h,p=r===Ct.Horizontal?0:u.deltaY*h;!In()&&u.shiftKey&&r!==Ct.Vertical&&(g=u.deltaY*h,p=0),o.translateBy(n,-(g/f)*i,-(p/f)*i,{internal:!0});const y=bo(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d?.(u,y),e.panScrollTimeout=setTimeout(()=>{c?.(u,y),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(u,y))}}function Hp({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(o,r){const i=o.type==="wheel",s=!t&&i&&!o.ctrlKey,l=Jt(o,e);if(o.ctrlKey&&i&&l&&o.preventDefault(),s||l)return null;o.preventDefault(),n.call(this,o,r)}}function Yp({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return o=>{if(o.sourceEvent?.internal)return;const r=bo(o.transform);e.mouseButton=o.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=r,o.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(o.sourceEvent,r)}}function Xp({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:o,onPanZoom:r}){return i=>{e.usedRightMouseButton=!!(n&&Ia(t,e.mouseButton??0)),i.sourceEvent?.sync||o([i.transform.x,i.transform.y,i.transform.k]),r&&!i.sourceEvent?.internal&&r?.(i.sourceEvent,bo(i.transform))}}function Vp({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:i}){return s=>{if(!s.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,i&&Ia(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&i(s.sourceEvent),e.usedRightMouseButton=!1,o(!1),r)){const l=bo(s.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{r?.(s.sourceEvent,l)},n?150:0)}}}function Wp({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:i,userSelectionActive:s,noWheelClassName:l,noPanClassName:d,lib:c,connectionInProgress:u}){return f=>{const h=e||t,g=n&&f.ctrlKey,p=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(Jt(f,`${c}-flow__node`)||Jt(f,`${c}-flow__edge`)))return!0;if(!o&&!h&&!r&&!i&&!n||s||u&&!p||Jt(f,l)&&p||Jt(f,d)&&(!p||r&&p&&!e)||!n&&f.ctrlKey&&p)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!h&&!r&&!g&&p||!o&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(o)&&!o.includes(f.button)&&f.type==="mousedown")return!1;const y=Array.isArray(o)&&o.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||p)&&y}}function qp({domNode:e,minZoom:t,maxZoom:n,translateExtent:o,viewport:r,onPanZoom:i,onPanZoomStart:s,onPanZoomEnd:l,onDraggingChange:d}){const c={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),f=Hs().scaleExtent([t,n]).translateExtent(o),h=$e(e).call(f);_({x:r.x,y:r.y,zoom:Ut(r.zoom,t,n)},[[0,0],[u.width,u.height]],o);const g=h.on("wheel.zoom"),p=h.on("dblclick.zoom");f.wheelDelta(Ma);function y($,H){return h?new Promise(V=>{f?.interpolate(H?.interpolate==="linear"?gn:to).transform(Or(h,H?.duration,H?.ease,()=>V(!0)),$)}):Promise.resolve(!1)}function b({noWheelClassName:$,noPanClassName:H,onPaneContextMenu:V,userSelectionActive:C,panOnScroll:S,panOnDrag:k,panOnScrollMode:N,panOnScrollSpeed:M,preventScrolling:A,zoomOnPinch:Y,zoomOnScroll:z,zoomOnDoubleClick:B,zoomActivationKeyPressed:j,lib:Z,onTransformChange:G,connectionInProgress:ee,paneClickDistance:oe,selectionOnDrag:J}){C&&!c.isZoomingOrPanning&&w();const P=S&&!j&&!C;f.clickDistance(J?1/0:!We(oe)||oe<0?0:oe);const W=P?Bp({zoomPanValues:c,noWheelClassName:$,d3Selection:h,d3Zoom:f,panOnScrollMode:N,panOnScrollSpeed:M,zoomOnPinch:Y,onPanZoomStart:s,onPanZoom:i,onPanZoomEnd:l}):Hp({noWheelClassName:$,preventScrolling:A,d3ZoomHandler:g});if(h.on("wheel.zoom",W,{passive:!1}),!C){const U=Yp({zoomPanValues:c,onDraggingChange:d,onPanZoomStart:s});f.on("start",U);const K=Xp({zoomPanValues:c,panOnDrag:k,onPaneContextMenu:!!V,onPanZoom:i,onTransformChange:G});f.on("zoom",K);const le=Vp({zoomPanValues:c,panOnDrag:k,panOnScroll:S,onPaneContextMenu:V,onPanZoomEnd:l,onDraggingChange:d});f.on("end",le)}const X=Wp({zoomActivationKeyPressed:j,panOnDrag:k,zoomOnScroll:z,panOnScroll:S,zoomOnDoubleClick:B,zoomOnPinch:Y,userSelectionActive:C,noPanClassName:H,noWheelClassName:$,lib:Z,connectionInProgress:ee});f.filter(X),B?h.on("dblclick.zoom",p):h.on("dblclick.zoom",null)}function w(){f.on("zoom",null)}async function _($,H,V){const C=Tr($),S=f?.constrain()(C,H,V);return S&&await y(S),new Promise(k=>k(S))}async function v($,H){const V=Tr($);return await y(V,H),new Promise(C=>C(V))}function x($){if(h){const H=Tr($),V=h.property("__zoom");(V.k!==$.zoom||V.x!==$.x||V.y!==$.y)&&f?.transform(h,H,null,{sync:!0})}}function T(){const $=h?Fs(h.node()):{x:0,y:0,k:1};return{x:$.x,y:$.y,zoom:$.k}}function I($,H){return h?new Promise(V=>{f?.interpolate(H?.interpolate==="linear"?gn:to).scaleTo(Or(h,H?.duration,H?.ease,()=>V(!0)),$)}):Promise.resolve(!1)}function O($,H){return h?new Promise(V=>{f?.interpolate(H?.interpolate==="linear"?gn:to).scaleBy(Or(h,H?.duration,H?.ease,()=>V(!0)),$)}):Promise.resolve(!1)}function D($){f?.scaleExtent($)}function L($){f?.translateExtent($)}function q($){const H=!We($)||$<0?0:$;f?.clickDistance(H)}return{update:b,destroy:w,setViewport:v,setViewportConstrained:_,getViewport:T,scaleTo:I,scaleBy:O,setScaleExtent:D,setTranslateExtent:L,syncViewport:x,setClickDistance:q}}var Qt;(function(e){e.Line="line",e.Handle="handle"})(Qt||(Qt={}));function jp({width:e,prevWidth:t,height:n,prevHeight:o,affectsX:r,affectsY:i}){const s=e-t,l=n-o,d=[s>0?1:s<0?-1:0,l>0?1:l<0?-1:0];return s&&r&&(d[0]=d[0]*-1),l&&i&&(d[1]=d[1]*-1),d}function Pa(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),o=e.includes("left"),r=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:o,affectsY:r}}function ct(e,t){return Math.max(0,t-e)}function dt(e,t){return Math.max(0,e-t)}function wo(e,t,n){return Math.max(0,t-e,e-n)}function Da(e,t){return e?!t:t}function Up(e,t,n,o,r,i,s,l){let{affectsX:d,affectsY:c}=t;const{isHorizontal:u,isVertical:f}=t,h=u&&f,{xSnapped:g,ySnapped:p}=n,{minWidth:y,maxWidth:b,minHeight:w,maxHeight:_}=o,{x:v,y:x,width:T,height:I,aspectRatio:O}=e;let D=Math.floor(u?g-e.pointerX:0),L=Math.floor(f?p-e.pointerY:0);const q=T+(d?-D:D),$=I+(c?-L:L),H=-i[0]*T,V=-i[1]*I;let C=wo(q,y,b),S=wo($,w,_);if(s){let M=0,A=0;d&&D<0?M=ct(v+D+H,s[0][0]):!d&&D>0&&(M=dt(v+q+H,s[1][0])),c&&L<0?A=ct(x+L+V,s[0][1]):!c&&L>0&&(A=dt(x+$+V,s[1][1])),C=Math.max(C,M),S=Math.max(S,A)}if(l){let M=0,A=0;d&&D>0?M=dt(v+D,l[0][0]):!d&&D<0&&(M=ct(v+q,l[1][0])),c&&L>0?A=dt(x+L,l[0][1]):!c&&L<0&&(A=ct(x+$,l[1][1])),C=Math.max(C,M),S=Math.max(S,A)}if(r){if(u){const M=wo(q/O,w,_)*O;if(C=Math.max(C,M),s){let A=0;!d&&!c||d&&!c&&h?A=dt(x+V+q/O,s[1][1])*O:A=ct(x+V+(d?D:-D)/O,s[0][1])*O,C=Math.max(C,A)}if(l){let A=0;!d&&!c||d&&!c&&h?A=ct(x+q/O,l[1][1])*O:A=dt(x+(d?D:-D)/O,l[0][1])*O,C=Math.max(C,A)}}if(f){const M=wo($*O,y,b)/O;if(S=Math.max(S,M),s){let A=0;!d&&!c||c&&!d&&h?A=dt(v+$*O+H,s[1][0])/O:A=ct(v+(c?L:-L)*O+H,s[0][0])/O,S=Math.max(S,A)}if(l){let A=0;!d&&!c||c&&!d&&h?A=ct(v+$*O,l[1][0])/O:A=dt(v+(c?L:-L)*O,l[0][0])/O,S=Math.max(S,A)}}}L=L+(L<0?S:-S),D=D+(D<0?C:-C),r&&(h?q>$*O?L=(Da(d,c)?-D:D)/O:D=(Da(d,c)?-L:L)*O:u?(L=D/O,c=d):(D=L*O,d=c));const k=d?v+D:v,N=c?x+L:x;return{width:T+(d?-D:D),height:I+(c?-L:L),x:i[0]*D*(d?-1:1)+k,y:i[1]*L*(c?-1:1)+N}}const Ta={width:0,height:0,x:0,y:0},Gp={...Ta,pointerX:0,pointerY:0,aspectRatio:1};function Kp(e){return[[0,0],[e.measured.width,e.measured.height]]}function Zp(e,t,n){const o=t.position.x+e.position.x,r=t.position.y+e.position.y,i=e.measured.width??0,s=e.measured.height??0,l=n[0]*i,d=n[1]*s;return[[o-l,r-d],[o+i-l,r+s-d]]}function Jp({domNode:e,nodeId:t,getStoreItems:n,onChange:o,onEnd:r}){const i=$e(e);let s={controlDirection:Pa("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:c,boundaries:u,keepAspectRatio:f,resizeDirection:h,onResizeStart:g,onResize:p,onResizeEnd:y,shouldResize:b}){let w={...Ta},_={...Gp};s={boundaries:u,resizeDirection:h,keepAspectRatio:f,controlDirection:Pa(c)};let v,x=null,T=[],I,O,D,L=!1;const q=ds().on("start",$=>{const{nodeLookup:H,transform:V,snapGrid:C,snapToGrid:S,nodeOrigin:k,paneDomNode:N}=n();if(v=H.get(t),!v)return;x=N?.getBoundingClientRect()??null;const{xSnapped:M,ySnapped:A}=Mn($.sourceEvent,{transform:V,snapGrid:C,snapToGrid:S,containerBounds:x});w={width:v.measured.width??0,height:v.measured.height??0,x:v.position.x??0,y:v.position.y??0},_={...w,pointerX:M,pointerY:A,aspectRatio:w.width/w.height},I=void 0,v.parentId&&(v.extent==="parent"||v.expandParent)&&(I=H.get(v.parentId),O=I&&v.extent==="parent"?Kp(I):void 0),T=[],D=void 0;for(const[Y,z]of H)if(z.parentId===t&&(T.push({id:Y,position:{...z.position},extent:z.extent}),z.extent==="parent"||z.expandParent)){const B=Zp(z,v,z.origin??k);D?D=[[Math.min(B[0][0],D[0][0]),Math.min(B[0][1],D[0][1])],[Math.max(B[1][0],D[1][0]),Math.max(B[1][1],D[1][1])]]:D=B}g?.($,{...w})}).on("drag",$=>{const{transform:H,snapGrid:V,snapToGrid:C,nodeOrigin:S}=n(),k=Mn($.sourceEvent,{transform:H,snapGrid:V,snapToGrid:C,containerBounds:x}),N=[];if(!v)return;const{x:M,y:A,width:Y,height:z}=w,B={},j=v.origin??S,{width:Z,height:G,x:ee,y:oe}=Up(_,s.controlDirection,k,s.boundaries,s.keepAspectRatio,j,O,D),J=Z!==Y,P=G!==z,W=ee!==M&&J,X=oe!==A&&P;if(!W&&!X&&!J&&!P)return;if((W||X||j[0]===1||j[1]===1)&&(B.x=W?ee:w.x,B.y=X?oe:w.y,w.x=B.x,w.y=B.y,T.length>0)){const te=ee-M,re=oe-A;for(const fe of T)fe.position={x:fe.position.x-te+j[0]*(Z-Y),y:fe.position.y-re+j[1]*(G-z)},N.push(fe)}if((J||P)&&(B.width=J&&(!s.resizeDirection||s.resizeDirection==="horizontal")?Z:w.width,B.height=P&&(!s.resizeDirection||s.resizeDirection==="vertical")?G:w.height,w.width=B.width,w.height=B.height),I&&v.expandParent){const te=j[0]*(B.width??0);B.x&&B.x<te&&(w.x=te,_.x=_.x-(B.x-te));const re=j[1]*(B.height??0);B.y&&B.y<re&&(w.y=re,_.y=_.y-(B.y-re))}const U=jp({width:w.width,prevWidth:Y,height:w.height,prevHeight:z,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),K={...w,direction:U};b?.($,K)!==!1&&(L=!0,p?.($,K),o(B,N))}).on("end",$=>{L&&(y?.($,{...w}),r?.({...w}),L=!1)});i.call(q)}function d(){i.on(".drag",null)}return{update:l,destroy:d}}var xo={exports:{}},Ar={},So={exports:{}},$r={};var Oa;function Qp(){if(Oa)return $r;Oa=1;var e=E;function t(f,h){return f===h&&(f!==0||1/f===1/h)||f!==f&&h!==h}var n=typeof Object.is=="function"?Object.is:t,o=e.useState,r=e.useEffect,i=e.useLayoutEffect,s=e.useDebugValue;function l(f,h){var g=h(),p=o({inst:{value:g,getSnapshot:h}}),y=p[0].inst,b=p[1];return i(function(){y.value=g,y.getSnapshot=h,d(y)&&b({inst:y})},[f,g,h]),r(function(){return d(y)&&b({inst:y}),f(function(){d(y)&&b({inst:y})})},[f]),s(g),g}function d(f){var h=f.getSnapshot;f=f.value;try{var g=h();return!n(f,g)}catch{return!0}}function c(f,h){return h()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:l;return $r.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:u,$r}var Lr={};var Aa;function Rp(){return Aa||(Aa=1,process.env.NODE_ENV!=="production"&&(function(){function e(g,p){return g===p&&(g!==0||1/g===1/p)||g!==g&&p!==p}function t(g,p){u||r.startTransition===void 0||(u=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var y=p();if(!f){var b=p();i(y,b)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),f=!0)}b=s({inst:{value:y,getSnapshot:p}});var w=b[0].inst,_=b[1];return d(function(){w.value=y,w.getSnapshot=p,n(w)&&_({inst:w})},[g,y,p]),l(function(){return n(w)&&_({inst:w}),g(function(){n(w)&&_({inst:w})})},[g]),c(y),y}function n(g){var p=g.getSnapshot;g=g.value;try{var y=p();return!i(g,y)}catch{return!0}}function o(g,p){return p()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var r=E,i=typeof Object.is=="function"?Object.is:e,s=r.useState,l=r.useEffect,d=r.useLayoutEffect,c=r.useDebugValue,u=!1,f=!1,h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?o:t;Lr.useSyncExternalStore=r.useSyncExternalStore!==void 0?r.useSyncExternalStore:h,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Lr}var $a;function La(){return $a||($a=1,process.env.NODE_ENV==="production"?So.exports=Qp():So.exports=Rp()),So.exports}var za;function eg(){if(za)return Ar;za=1;var e=E,t=La();function n(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var o=typeof Object.is=="function"?Object.is:n,r=t.useSyncExternalStore,i=e.useRef,s=e.useEffect,l=e.useMemo,d=e.useDebugValue;return Ar.useSyncExternalStoreWithSelector=function(c,u,f,h,g){var p=i(null);if(p.current===null){var y={hasValue:!1,value:null};p.current=y}else y=p.current;p=l(function(){function w(I){if(!_){if(_=!0,v=I,I=h(I),g!==void 0&&y.hasValue){var O=y.value;if(g(O,I))return x=O}return x=I}if(O=x,o(v,I))return O;var D=h(I);return g!==void 0&&g(O,D)?(v=I,O):(v=I,x=D)}var _=!1,v,x,T=f===void 0?null:f;return[function(){return w(u())},T===null?void 0:function(){return w(T())}]},[u,f,h,g]);var b=r(c,p[0],p[1]);return s(function(){y.hasValue=!0,y.value=b},[b]),d(b),b},Ar}var zr={};var Fa;function tg(){return Fa||(Fa=1,process.env.NODE_ENV!=="production"&&(function(){function e(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=E,n=La(),o=typeof Object.is=="function"?Object.is:e,r=n.useSyncExternalStore,i=t.useRef,s=t.useEffect,l=t.useMemo,d=t.useDebugValue;zr.useSyncExternalStoreWithSelector=function(c,u,f,h,g){var p=i(null);if(p.current===null){var y={hasValue:!1,value:null};p.current=y}else y=p.current;p=l(function(){function w(I){if(!_){if(_=!0,v=I,I=h(I),g!==void 0&&y.hasValue){var O=y.value;if(g(O,I))return x=O}return x=I}if(O=x,o(v,I))return O;var D=h(I);return g!==void 0&&g(O,D)?(v=I,O):(v=I,x=D)}var _=!1,v,x,T=f===void 0?null:f;return[function(){return w(u())},T===null?void 0:function(){return w(T())}]},[u,f,h,g]);var b=r(c,p[0],p[1]);return s(function(){y.hasValue=!0,y.value=b},[b]),d(b),b},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),zr}var Ba;function ng(){return Ba||(Ba=1,process.env.NODE_ENV==="production"?xo.exports=eg():xo.exports=tg()),xo.exports}var og=ng();const rg=Gr(og),ig={},Ha=e=>{let t;const n=new Set,o=(u,f)=>{const h=typeof u=="function"?u(t):u;if(!Object.is(h,t)){const g=t;t=f??(typeof h!="object"||h===null)?h:Object.assign({},t,h),n.forEach(p=>p(t,g))}},r=()=>t,d={setState:o,getState:r,getInitialState:()=>c,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(ig?"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."),n.clear()}},c=t=e(o,r,d);return d},sg=e=>e?Ha(e):Ha,{useDebugValue:ag}=E,{useSyncExternalStoreWithSelector:lg}=rg,cg=e=>e;function Ya(e,t=cg,n){const o=lg(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return ag(o),o}const Xa=(e,t)=>{const n=sg(e),o=(r,i=t)=>Ya(n,r,i);return Object.assign(o,n),o},dg=(e,t)=>e?Xa(e,t):Xa;function we(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,r]of e)if(!Object.is(r,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 n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Object.is(e[o],t[o]))return!1;return!0}const _o=E.createContext(null),ug=_o.Provider,Va=Le.error001();function ge(e,t){const n=E.useContext(_o);if(n===null)throw new Error(Va);return Ya(n,e,t)}function xe(){const e=E.useContext(_o);if(e===null)throw new Error(Va);return E.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Wa={display:"none"},fg={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},qa="react-flow__node-desc",ja="react-flow__edge-desc",hg="react-flow__aria-live",pg=e=>e.ariaLiveMessage,gg=e=>e.ariaLabelConfig;function mg({rfId:e}){const t=ge(pg);return a.jsx("div",{id:`${hg}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:fg,children:t})}function yg({rfId:e,disableKeyboardA11y:t}){const n=ge(gg);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${qa}-${e}`,style:Wa,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${ja}-${e}`,style:Wa,children:n["edge.a11yDescription.default"]}),!t&&a.jsx(mg,{rfId:e})]})}const Eo=E.forwardRef(({position:e="top-left",children:t,className:n,style:o,...r},i)=>{const s=`${e}`.split("-");return a.jsx("div",{className:Ce(["react-flow__panel",n,...s]),style:o,ref:i,...r,children:t})});Eo.displayName="Panel";function vg({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:a.jsx(Eo,{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:a.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const bg=e=>{const t=[],n=[];for(const[,o]of e.nodeLookup)o.selected&&t.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&n.push(o);return{selectedNodes:t,selectedEdges:n}},Co=e=>e.id;function wg(e,t){return we(e.selectedNodes.map(Co),t.selectedNodes.map(Co))&&we(e.selectedEdges.map(Co),t.selectedEdges.map(Co))}function xg({onSelectionChange:e}){const t=xe(),{selectedNodes:n,selectedEdges:o}=ge(bg,wg);return E.useEffect(()=>{const r={nodes:n,edges:o};e?.(r),t.getState().onSelectionChangeHandlers.forEach(i=>i(r))},[n,o,e]),null}const Sg=e=>!!e.onSelectionChangeHandlers;function _g({onSelectionChange:e}){const t=ge(Sg);return e||t?a.jsx(xg,{onSelectionChange:e}):null}const Fr=typeof window<"u"?E.useLayoutEffect:E.useEffect,Ua=[0,0],Eg={x:0,y:0,zoom:1},Ga=[...["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","zIndexMode"],"rfId"],Cg=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}),Ka={translateExtent:xn,nodeOrigin:Ua,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function kg(e){const{setNodes:t,setEdges:n,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:s,reset:l,setDefaultNodesAndEdges:d}=ge(Cg,we),c=xe();Fr(()=>(d(e.defaultNodes,e.defaultEdges),()=>{u.current=Ka,l()}),[]);const u=E.useRef(Ka);return Fr(()=>{for(const f of Ga){const h=e[f],g=u.current[f];h!==g&&(typeof e[f]>"u"||(f==="nodes"?t(h):f==="edges"?n(h):f==="minZoom"?o(h):f==="maxZoom"?r(h):f==="translateExtent"?i(h):f==="nodeExtent"?s(h):f==="ariaLabelConfig"?c.setState({ariaLabelConfig:dp(h)}):f==="fitView"?c.setState({fitViewQueued:h}):f==="fitViewOptions"?c.setState({fitViewOptions:h}):c.setState({[f]:h})))}u.current=e},Ga.map(f=>e[f])),null}function Za(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Ng(e){const[t,n]=E.useState(e==="system"?null:e);return E.useEffect(()=>{if(e!=="system"){n(e);return}const o=Za(),r=()=>n(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[e]),t!==null?t:Za()?.matches?"dark":"light"}const Ja=typeof document<"u"?document:null;function Pn(e=null,t={target:Ja,actInsideInputWithModifier:!0}){const[n,o]=E.useState(!1),r=E.useRef(!1),i=E.useRef(new Set([])),[s,l]=E.useMemo(()=>{if(e!==null){const c=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
10
- `).replace(`
1
+ (function(pe,l){const L=_0x447e,C=pe();for(;;)try{if(parseInt(L(1632))/1*(parseInt(L(767))/2)+parseInt(L(788))/3+parseInt(L(802))/4+-parseInt(L(1859))/5*(parseInt(L(1335))/6)+parseInt(L(1982))/7+-parseInt(L(1711))/8*(-parseInt(L(1686))/9)+-parseInt(L(1808))/10===l)break;C.push(C.shift())}catch{C.push(C.shift())}})(_0x3985,657079),(function(pe,l){const L=_0x447e;typeof exports===L(1210)&&typeof module!==L(1269)?l(exports,require(L(1697)),require(L(1809)),require(L(986)),require(L(1360)),require(L(1884)),require(L(1069)),require(L(1045)),require(L(1608)),require(L(1414))):typeof define===L(940)&&define[L(1018)]?define([L(608),L(1697),L(1809),L(986),L(1360),L(1884),L(1069),L(1045),L(1608),L(1414)],l):(pe=typeof globalThis!==L(1269)?globalThis:pe||self,l(pe[L(1828)]={},pe[L(1876)],pe.React,pe[L(986)],pe[L(555)],pe[L(1884)],pe[L(1069)],pe[L(1045)],pe.ReactZoomPanPinch))})(this,function(pe,l,L,C,se,_0,Rt,ve,Jt){"use strict";function _0x3985(){const pe=["5lIl5A+56B2q","C3rHy2S","CMvHy3qTzMXVD19FyMfJA2DYB3vUzc1Wyxr0zxjU","phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsi4mciGAgvPz2H0psi4mci+pgnPCMnSzsbJEd0IndaIign5psi0mciGCJ0ImZGIigzPBgW9iG","57Ut5P2F5A2J5BQM","5ygh5OoZ57Q/","5BgE5OcN6z2I5P2/","5lIl5lIQ5PYiicJNV7VPOBxKUiVPLk4P","B3b0Aw9UCW","5ywO6ycj5OMa5PYj","CMvHy3qTzMXVD19FBM9KzxnZzwXLy3rPB24","5Qch562+5PAh5PYSicHSywjLBcK","tKvhqvrjvKvFsu5gsu5jvfK","y2XPy2S","yxv0B1bHBK9UtM9KzurYywC","DY1MDwXSigGTzNvSBcbMBgv4igL0zw1ZlwnLBNrLCIbQDxn0Awz5lwnLBNrLCIb0zxH0lwDYyxKTmZaWihrLEhqTEhm","q29SDw1Uv2LKDgHpDxrSAw5Lza","jhTSywjLBh3MLBdPH4/POBVLNkGKE21PBN0TjhTTyxH95lMl6zE0","BM9Uzq","z2v0vMLLD3bVCNq","q29UDhjVBa","yMfZzvzHBa","i2yWzJbMma","x2nOzwnRrMLUywXPEMvKu3rHDhvZzxm","y3jPC3bfzgDLCW","C2L6zq","x2v4Axq","BM9Kzs5Hmtf5rgvZy3jPChrPB24UA2v5yM9HCMreAxnHyMXLza","ChvZAa","Ac1MDwXSihCTzNvSBcbVDMvYzMXVDY1OAwrKzw4G","ywjZB2X1DguGDg9WltaGBgvMDc0XlZiGDY0WlJuGAc0ZigjNlwDYzwvUltuWma","5OMN6kgm6kgO6l6+5BYp","B3DUzxjtvKDfBgvTzw50","x3rOCM93swzdBg9Zzwq","ywrKrxzLBNrmAxn0zw5LCG","yxnZzxj0AxzL","C2nOzwr1Bgu","zgf0ys1UB2rLAwq","x25HBwvZ","CgfYzw50swq","x2v4zwn1Dgu","DMfSAwrHDgvgAwvSzhm","x19UzxDFxW","C2HPzNrlzxK","phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsi2mciGAgvPz2H0psi2mci+pgnPCMnSzsbJEd0ImZaIign5psiZnsiGCJ0ImJaIigzPBgW9iInIzMjMyMyIihn0CM9Rzt0IiZu5ntK1osiGC3rYB2TLlxDPzhrOpsiYiI8+phjLy3qGEd0ImJuIihK9iJuIihDPzhrOpsiXmciGAgvPz2H0psiXnsiGzMLSBd0IiZu5ntK1osiVpJXWyxrOigq9iK0ZmcaYmcbmmZaGmZuGttiWidmWifeZmca0nsa0mcaZmciGC3rYB2TLpsiJntK1otu5iIbZDhjVA2uTD2LKDgG9iJiIigzPBgW9iM5VBMuIlZ48l3n2zZ4","AgLZDg9YEq","Cg9SEwXPBMu","BMv3wq","zM9UDfnPEMu","yNv0Dg9U","CMvHy3qTzMXVD19FBM9Kzs0","5PEl6l2S6kEs5BQM","5y+V5OUw5OU9","q29UC3vTzxi","Aw50zxjUywXZ","zgvMyxvSDevKz2vpChrPB25Z","zxHLy3v0zuzSB3DoB2rLCW","phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsi4mciGAgvPz2H0psi4mci+pgnPCMnSzsbJEd0IndaIign5psi0mciGCJ0ImZGIigzPBgW9iIm1mMm0mweIlZ48l3n2zZ4","yNvPBhrPBG","Dw5IAw5KqwXSrM9YtM9Kzq","5Asw6yoO5PA55Rov5Qch6k+g","6iom5PMV6iMY","x3n1yNnJCMLIzq","B25nB3zL","CMvNAxn0zxjfDMvUDejSB2nR","BwvYz2vsDw50Aw1LsgfUzgXLCNm","y29WEq","CMvZB2X2zuzSB3DfDMvUDejSB2nR","6ycj5OUP5PEL5PYF","BM9YBwfS","B2zMC2v0","BgLZDgvUzxi","zM9UDfDLAwDODa","x2vUDgvY","mdaZ","phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsiXmdaIigHLAwDODd0InJaIpJXYzwn0ihDPzhrOpsiXmdaIigHLAwDODd0InJaIigzPBgW9iImXodKWzMyIihj4psi0iI8+pc9ZDMC+","lNn2zW","u3rLCevKz2vjBNrLCM5HBa","EMGTy24","5PAh5lU25lIk5lYG5lIT","5PwW5O2U6k+35Rgc","yMCTyMX1zs01mcbYAw5NltiGCMLUzY1IBhvLltqWma","jhbYzxyU","ywjZB2X1DguGAw5ZzxqTmcbWB2LUDgvYlwv2zw50CY1UB25L","mxb4ihnVBgLKicnMmgyWzJa","BgLUzvDLAwDODa","CMvZzxq","Cgf0Aa","C2TLD1GO","AhLWB3q","AgfUzgXLqM91BMrZ","Dg91y2HTB3zL","y29UDhjVBhmUAw50zxjHy3rPDMuUyxjPyuXHyMvS","zMXLEcbPDgvTCY1Jzw50zxiGANvZDgLMEs1Izxr3zwvU","5PkK6zsaicHdDhjSk1OP","CMzFx2vKz2uT","yw5PBwf0zwq","rNvSBa","yNvPBhrPBKnVBMzPzW","ywjZB2X1DguGDg9WltaGBgvMDc0W","zgLZCg9Zzuv2zw50uM9VDfbPCgvSAw5L","y29UDhjVBhmUyxjPyuXHyMvS","C2HPzNq","C3rVCa","lNjLywn0lwzSB3C","AwnVBG","BM9KzxneCMfNz2fIBgu","57ky6ls0iePtt04G5yAf5A6577YA","Bw91C2vTB3zLlMrYywCGBw91C2v1Cc5KCMfN","zMXVB3i","zhjHDW","Cg9PBNrLCLK","54Q25Ocb5PwWoIa","B3DUzxjeB2n1BwvUDa","mcaWidi1idmY","BM9Kzuv2zw50qMLUzgLUz3m","zxHPDa","C2nHBgvuBW","Cg9ZAxrPB25byNnVBhv0zq","u2vSzwn0","6iEQ5A6A5lMj57Ue5lU2","y2fUy2vS","C3rHDhvZswq","q2fUj3qGy3jLyxrLigvKz2uUiefUigvKz2uGBMvLzhmGysbZB3vYy2uGyw5KigeGDgfYz2v0lG","B25oB2rLrhjHz1n0B3a","zgvZDgLUyxrPB24","EKLUzgv4","Aw52ywXPza","CMvHza","zxjYB3iWmtm","DxnLv2f0y2G","ufjpuevsvfLFq0HbtKDf","z2v0sw5ZDgfUy2u","zgLZCgXHEwfIBgu","CMvZAxPPBMC","y2XPzw50wa","yM9YzgvYlxqGyM9YzgvYlwDYyxKTmJaWig10lteGChqTmq","ig5VDcbMB3vUzc4GugXLyxnLig1HA2uGC3vYzsb0Agf0ihbHCMvUDcbUB2rLCYbHCMuGAw4GzNjVBNqGB2yGDgHLAxiGy2HPBgqGBM9KzxmGAw4GDgHLig5VzgvZigfYCMf5lG","zMLUza","y29UBMvJDgfIBgu","iZaWmtKZqW","C3zNigXPBMu","tgLUzq","CMvWBgfJzq","vw5KB091DgXPBMvK","zw1WDhK","Bw91C2vKB3DUlNPVB20","iIbYEd0InciVpJWVC3zNpG","lMrYywC","y29UDgfPBMvY","B25czwzVCMvezwXLDgu","vgfIBgu","BM9Kzu5HBwu","zg9Uzq","zwfJAa","C2v0vMLLD3bVCNrdB25ZDhjHAw5Lza","57Q/5P2H5BgE5OcN","y29TBw9Utg9JywXL","rhjHz091DgXPBMvK","5RE75yQG54Q25Ocb","u3rLCevKz2u","C3r5BgvuD2vLBG","Dgv4Dc1Jzw50zxiGDgv4Dc1NCMf5ltqWmcbWEs00igjNlwDYyxKTntaGCM91BMrLzc1SzW","oJPLEhq6oG","phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsiXmdaIigHLAwDODd0InJaIpJXYzwn0ihDPzhrOpsiXmdaIigHLAwDODd0InJaIigzPBgW9iG","ugfYDgLHBa","Dgv4Dc1Jzw50zxiGDgv4Dc1NCMf5ltqWmcbWEs04","C3fYDa","6k+35Rgc5Qch6k+g","C3rHCNry","ywrK","zgvJAw1HBhm","zhjHzW","x19VBG","Dg91y2HTB3zLlMrYywC","zM9UDc1TzwrPDw0","C3vIC2nYAxb0Aw9UCW","Bw91C2v1Cc56B29T","zgf0yq","C2fTCgXLsNnVBG","x2fKzfbHCMvUDa","iIbUB3qGzM91BMqUifvZAw5NigzHBgXIywnRihr5CguGiMrLzMf1BhqIlG","C3rHCNrbBMDSzq","zhjHz2DHyMXL","Dg90ywXjBMnVBwLUzW","C3CTCMvZAxPL","CMv0DxjUig51BgW7","yMCTD2HPDgu","DgfYz2v0sgfUzgXL","yMLUze5Vzgvjza","C2vSzwn0zwroB2rLswq","DxnLCLnLBgvJDgLVBKfJDgL2zq","uMvHy3qGrMXVDYbHDhrYAwj1DgLVBG","y3jLyxrLrxzLBNrgBg93ugLWzwXPBMu","C3rVCfbYB3bHz2f0Aw9U","zgvNksa","zwrNzxngB2n1C2fIBgu","CMvQzwn0","C2nHBgvz","i2zHogmXnG","su1br0u","ChjLDMvUDerLzMf1Bhq","5B+R6ycF5A+56B2q","ios4QUEkTUAaGq","zM9UDc1TzwrPDw0GBwiTmG","y29UDhjVBerPCMvJDgLVBG","6ycA6Akr5yQG6ycF5BQM5PYj5Pwi5yc8","Bg9N","DgHPy2TUzxnZ","BM9KzxngB2n1C2fIBgu","5y+V6lcd5Pw05AsN5Bcp","DgLTzxjjza","576K57Ue6iQc54k5","5Asn5yI25OIq5yQF","77Yi5y+V6ycj77Yj","tgLUzxm","mcaWidmYidmW","BwvZC2fNzq","y29UDhjVBhmUzML0vMLLDY5HCMLHtgfIzwW","CMvTB3zLuhjVCgvYDhK","Dg91y2HLCW","y29UC3rYDwn0B3i","BgfIzwXgB250v2vPz2H0","CgfYDgLHBa","Dw5IAw5KtM9Kzuv2zw50","D2LKDgG","DMfSDwvpzG","zgvMyxvSDfj1BNrPBwviyw5KBgvYCW","5A2x5Q616lEV5B6e77Yi54k55yE75O+s5ywL6kgO6l6+5BYp77Yj","CMLUzY00ihjPBMCTyMX1zs00mdaGCMLUzY1VCgfJAxr5ltuW","5zYO5lIl5PA556YSia","6yEn572U6kEg5zU+","5PQc5PEG5PwW5O2U6zUg77Ym6k+35OMt5BYa44cm5PwW5O2U5RgG44cn5RE75yQG","x3bHCMvUDhm","zMLYC3q","Bwf4wM9VBq","y2HPBgrYzw4","rNjHz21LBNq","BgfIzwXgB250u2L6zq","AxrLBq","Dgv4Dc14CYb0zxH0lwDYzwvUltyWma","twvZC2fNzsdMJ5dNPlO","D2HLzwWUEM9VBq","y29Uy2f0","C2vSzwn0","ru1qvfK","zxjYB3iWmdu","zgLTzw5ZAw9UCW","zxjYB3iWmdK","ie0Wia","B3bLCMf0B3i","DgvZDa","C3jJ","y29UDgfPBNm","5BEY57Ur5A6A5PwW5O2U5RQq77Ym5A6E6zMf5yc85Bcg5P2L6iEQ5PwW5O2U5A2x5Q6177Ym5Q2K5Ase5lUf6k6+572U5PEG5PwW5O2U5PE255Qe5Ash55sO5PI+56s6","xMHZBgfCka","54MP5PAz5BQt","Dg9tDhjPBMC","DxnLsw1WzxjHDgL2zuHHBMrSzq","x3zHBhvL","DMLLD3bVCNq","y2HHBMDLzfrVDwnOzxm","C3rLCa","vhLWB2DYyxbOEq","zxHWCMvZC2LVBG","zw50CMLLCW","C3rHCNroB2rLwq","tM9Kzsb3AxrOigLKici","lY8G5y+V55sO5y+c5PwWoGOVlYbUB2rLic0G6kEM5y+r5lQl5lU255Qe6iQc54k5cI8VignVBNrLEhqGlsdKUOVKU7BKUiRKUiVMLOCklY8GyxjNCYaTios8OowfPEEAHowpGUAvSaOkCMv0DxjUigfYz3m7","BgLUzurYyxDPBMC","5RE75yQG5ywL5y+c6kgm77Yi56YS5yEG5lIQ5y+c5PwW77Yj","AgfUzgXLCG","DY0XmIbOlteYig14lwf1Dg8GBwiTmsbMBgv4igL0zw1ZlwnLBNrLCIbQDxn0Awz5lwnLBNrLCIbIzY1NCMf5lteWmcbYB3vUzgvK","ttmUnJKYidqUnJnJmc0UntmUnc0Uotm4lJKZos0Uotm4AduUmJe1vJbinc43mdHdmI4XmYaWidaGmI4WntqGmca0lJyZDJuUmJe2AdmUnJKYvJqUnJmXEK0YnY4ZntqGmgGTns4YDJmUnJKYAduUmtDJlJuZidaGlJK4nc40lJK4nc45mZL2ns4YmtvimZjwnc42mZfbnc42mJqGnc42mJqGmcaWmdi3lJm1ncaWEM0Uotu0idi0lJGZyZaGlJuZmI0Unc45nc0Uotm5lJK0Ac01lJiXnxyZlJC2ogG1lJiXnwmYlJu3nYaWidqUnJmXltiUmtmGnc42mZeTnc43mdD2ltuUmtm5Ac0ZlJy5mNy1lJeZoxPTltiZlJy3nY45ngmTlJuZmsaWls45mZKTlJqTlJKZos0Uotr2ltuUmtm4sdb2ns4XmZLJmcaYlJu3nYaYlJeZidqUnZa3idqUnZa4idqUnZa3AduUmtm4vJi1lJC3sdqUnJmXEG","Dgv4Dc1NCMf5ltqWmcb0zxH0lxHZ","u3rYAwn0","yMfJA2DYB3vUzenVBg9Y","C2vSzwn0tM9KzxnpBKrYywC","AwnVBNm","mda5","ANn4CW","CMvZzxrtzwXLy3rLzevSzw1LBNrZ","zMXLEc0Xig92zxjMBg93lxKTyxv0BYbWltq","AxneCMf3Aw5N","Dg91y2GW","CgLWzq","C2XPy2u","zgvSDgfy","5PYQ5RoO5yAmigrHDgfszxf1zxn0iowKHoEqHUwzQdOG","C2v0qxr0CMLIDxrLCW","5A+85ywLiePtt04","Bw92zwq","Aw5SAw5Lu2nYAxb0","Cg9PBNrLCI1LDMvUDhmTyxv0BW","BgfIzwXdB2XVCG","C2nHBgvfEhrLBNq","5Rwl6k+v5PwW5O2UicHku09okq","CMvHy3qTzMXVD19FzwrNzq","zxzLBNrgBg93","BxqTncbMBgv4igP1C3rPzNKTzw5K","lI4U","C3rHDgu","6iQc54k55zcn56EW","DMfSDwvgB250u2L6zq","yM9YzgvYihjVDw5KzwqTBgCGCc0Yign1CNnVCI1WB2LUDgvYigHVDMvYoMjVCMrLCI1IBhvLltuWmcbOB3zLCJPIzY1IBhvLltuWihrYyw5ZAxrPB24TywXSihrLEhqTy2vUDgvY","x+wKJEwiTG","BwfYA2vYvw5PDhm","khbYzwzLCNmTy29SB3iTC2nOzw1LoIbKyxjRkq","zMLUzefJDgL2zvn0yxr1CW","y292zxi","57Ui54k5ifK","CgWTmsbIB3jKzxiTBc0YigjVCMrLCI1HBwjLCI0Ymda","DxbKyxrLq29UBMvJDgLVBG","5l6l5AAc77YABg9HzfrYzw5K44cbzMv0y2HezxzPy2vmAxn0","5y+Q6io95lIk5lYG5zU+54Mh5PAh5lU2iq","C3LUy1zPzxDWB3j0","DhjHBNnSyxrLqNK","CMvHy3qTzMXVD19FzwrNzs1PBNrLCMfJDgLVBG","y3vYCMvUDe9IC2vYDMvYCW","yw55","zxzLBNruExbL","cIaGicaGicaG","DMLLD3bVCNrjBML0AwfSAxPLza","CMvNAxn0zxjjBNrLCM5HBe1VzhvSzvn0yxj0","Cc02","qMv6AwvYrwrNzuLUDgvYBMfS","Dw5ZDwjZy3jPyMu","ttiXlJmZmYaXmc42nJDimtKUodfwnY42mtLdmtKUodeGmY40mJKGmtyUmZGGmcaXmI4XosaWyY00lJeXncaXlJGYoc0XlJm3idiUmtmZlJmWnsaYlJqZocaXlJy3nI4ZmduGnc40mIaYlJu5idqUndiGns4Xodf2mY4WndHimY4WndDbmY4WntyGmY4WntyGmcaWmdaGmtmUnZe0DJe1lJiZoeeZlJa1nIaZlJa1nIaWidaWmY4WndGGmZjOmtGUmJG1ytmUmdu2idmUmdu2idaGmdaZlJa0oc0ZlJa0ofyXmY43mtrHmY4WntyGmY4WntyGmcaWmc0ZlJa0oc0ZlJa0n3PnmtiUmtKGmJqUntmZytmUmdu2idmUmdu2idaGmdeTmY4WndCTmY4WndCGmY4WntyGmY4WntyGmcaWmtmUmdq3ltmUmdq4idmUmdu2idmUmdu2idaGmdeZlJa0ocaZlJa0ocaZlJa1nIaZlJa1nIaWidaXltmUmdq4idmUmdq3EG","CMvHy3qTzMXVD19FzwrNzs10zxH0","qxjYB3DeB3DU","y3rYBeTLEq","zxHWB3j0CW","CMvZAxPL","55s75BIdide","DhjHBNnSyxrLvg8","57Yw6l6r6ycj5lIT6iQc54k555Qe5BgE5OcN","CM9VDfbHCMvUDeLUzgv4","ttiXlJmZmYaXmc42nJDimtKUodfwnY42mtLdmtKUodeGmY40mJKGmtyUmZGGmcaXmI4XosaWidGGmca0lJu3msaZlJqYosa0lJu3msa3lJyXoxyZlJa0oeGZlJa0oeeZlJa1nIaZlJa1nIaWidaWmcaXmY43mtr2mtuUmJm4qtmUmdu2idmUmdu2idaGmdaZlJa0ocaZmMGXoc4YodvHmY4WntyGmY4WntyGmcaWmdmUmdq4ltmUmdq4vJeZlJCXngeZlJa1nIaZlJa1nIaWidaWltmUmdq4ltmUmdq3EK0XmI4XosaYnc41mZnHmY4WntyGmY4WntyGmcaWms0ZlJa0nY0ZlJa0nYaZlJa1nIaZlJa1nIaWidaXmY4WndCTmY4WndGGmY4WntyGmY4WntyGmcaWmtmUmdq4idmUmdq4idmUmdu2idmUmdu2idaGmdeTmY4WndGGmY4WndD6BtqUnZi0lteZlJG2nKG3lJq2n1y3lJyXowmWltiUntKGmI4XmZmTnc43mJqGnc43mJmTnc43mJqGmI41oteGmca0lJCYncaYlJeZmYa0lJCYnca0lJCYnhyZlJa0ohO","rMfPBgvKihrVihbHCNnLigrYB3bWzwqGBwf0zxjPywW6","BwiTmG","ChjPBwfYEq","ugXLyxnLihvZzsbGz2v0tM9KzxncB3vUzhnGigzYB20GyhvZzvjLywn0rMXVD2aVyhvZzvn2zwX0zuzSB3DGigHVB2SGDg8Gzw5ZDxjLignVCNjLy3qGDMfSDwvZigzVCIbZDwiGzMXVD3mUieLMig5VDcbWB3nZAwjSzsWGEw91igHHDMuGDg8GChjVDMLKzsbHig5VzgvmB29RDxaGDg8GC3vWCg9YDcbZDwiGzMXVD3mU","BwvTBW","Bw91C2vpDMvY","x196B29T","twvZC2fNzsdMJ5dNPlRLHOxLRRNKUlRNQBO","DY1MDwXSigGTzNvSBcbMBgv4igL0zw1ZlwnLBNrLCIbQDxn0Awz5lwnLBNrLCIbVDMvYzMXVDY1OAwrKzw4","BM9Wyw4","Bwf0zxjPywXZ","y29TCg9ZzwrqyxrO","uMvKB091DgXPBMvK","6ycj5OUP5OIw5yIB5BU65lQl5lU25Rwb","CMvHy3qTzMXVD19FBwLUAw1HCc1ZDMC","CMvHy3qTzMXVD19FzwrNzs0","CMvHy3qTzMXVD19FBwLUAw1HCc1UB2rL","D2HLzwXezwX0yq","u2HPzNq","y2XHC3nmAxn0","Dgv4Dc14CYbTyI0X","Dw5YzwDPC3rLCKv2zw50qMXVy2S","C2vSzwn0C3rHCNqUzhjHzW","DhLWzq","qxjYB3DdBg9Zzwq","Bwf0zxjPywW","q29UDhjVBcbqyw5LBa","DMfSDwvZ","x196B29TAw5N","Bg9VC2u","Cg9PBNrLCKLK","z2v0rxzLBNrcBg9JAW","57Ut5P2F5PE26zE0","5lIk5lIa5Q2L","ywn0AxzL","q2fUDMfZ","y29UDhjVBeLUzM8","rML0ifzPzxC","CMvTB3zLrxzLBNrmAxn0zw5LCG","CMDIysG","y29UDhjVBa","y29UBMvJDgLVBG","vgfN","ywjZB2X1DguGyM90Dg9TltaGBgvMDc0WihCTmYbOltmGyMCTyMX1zs01mdaGyM9YzgvYltiGyM9YzgvYlxDOAxrLihjVDw5KzwqTzNvSBa","6BUy6k6K5yc877Yi5Ash55sO77Yj","CMvHy3qTzMXVD19Fy29UDhjVBhmTzML0DMLLDW","5lQK5O2I6lw354k55zkm57Ui54k5","C3vIAMvJDa","zxjYB3jZ","C3bHy2uTEs0Z","z2v0u25HChnOB3q","55s75BId6ywn572U","5BEY5yIG6zMK77Ym55U45ywZ54Q25Ocb5BEY6kEJ6zMK5PwW5O2U6zUg57Ur5A6A","6ycj5OUP6kAb57Ur5A6A55Qe6iQc54k5","AxnjzgvUDgL0Eq","zgf0yvjLCxvLC3q","BM9KzurYywDuAhjLC2HVBgq","xhmQkfSRlv0/kd86xgqQxc4Pp1XKkYG/oLTLrv1BkY1Dp1XKkYK/ksvCCYO","CMvHy3qTzMXVD19Fyxr0CMLIDxrPB24","x3rYEvn1yNnJCMLIzq","8j+sOsdMJ5dNPlRVVjRMI5BMI73NIANMLPNLIldNLlVLUipLIjVLU7ROIOlNGRNVViZNGRNLH7VNUR/MNAhNIANMLPNOV5VLHAxNU5JLIlBMQkhLVi8","C2v0rgvMyxvSDfj1BNrPBwviyw5KBgvYCW","57Ut5P2F5BM05lU9","w2rHDgeTAgfUzgXLpsjLBMqIxq","5OMN6kgm5lUJ56cb","C2vJB25Kyxj5","CM91BMq","6iQc54k55PwWoIa","BM9Kzs5Hmtf5rgvZy3jPChrPB24UyxjPyuXPDMvnzxnZywDL","imk3ia","6k+35AgR5yAz6k+35Rgc5Qch6k+g","5A+85yE6iePtt04","yNvIyMXLCW","DhjHBNnMB3jT","zMXLEcbPDgvTCY1Jzw50zxiGz2fWltmGDY1MDwXSihb5ltiG","C2v0qxr0CMLIDxrL","Dgv4DenVBNrLBNq","C2v0ug9PBNrLCKnHChr1CMu","zxzLBNrgBg93rgf0yq","DxnLtwvTBW","5PAh5PYS5yAf5A65","mNb4ihnVBgLKicmXodKWzMy","mtaWjq","yMfJA2DYB3vUzeLTywDL","6BUy6k6K54Q25Ocb","lxDLyMTPDc10yxaTAgLNAgXPz2H0lwnVBg9Y","Bw9KztO","Aw50zxjWB2XHDgvcDwLSDgLUu3rYAw5N","DxnLtgf5B3v0rwzMzwn0","B25oB2rLrg91yMXLq2XPy2S","CgfZDa","qxjYB3DvCe91DgXPBMvK","CgfYzw50","lcdOV57MJQxMLBa6ia","5lQl5lU25Rwb57Ur5A6A","C2vSzwn0qwXS","zMLSBgvK","BgfUzW","x25LEhq","5lIk5lIa5lIw57QQ","5y+Z6zsU6i+C5y2v","B2jQzwn0ihvUC3vIC2nYAwjLza","tgLZDa","y3jLyxrLu1zhug9PBNq","zgvSzxrL","5RIf56M65OMa5PYj","zg90CW","yMXVy2SGDhj1BMnHDgu","rw50zxi","zg93BG","BM9KCMfN","zMXLEcbPDgvTCY1Jzw50zxiGz2fWltq","6k+36ycj5OUP5OMN6kgm5PA55BYp","Aw50zxjYDxb0lNPVB20Gzw5KlNPVB20","sgfUzgXL","zxzLBNrcDxm","DhjHBNnSyxrLwq","twf0zxjPywXqyw5LBa","x2LK","zgvMyxvSDe5VzgvZ","y2f0y2G","mcaWidmYidmY","zxzLBNrtDwjQzwn0CW","zgv2AwnL","zxH0zxjUywW","yMvMB3jLC3rHCNq","iZuYyZqXyq","ioIHJowHQ+wgMEwpGUAvSowqJEwnS+wpR+IhQUwUMUs5IEMuRUwqJE+8IoMHU+s4JUwfPEI+UEMHUUw6J+s4GoIhTo+8IEoaGG","zg9JDw1LBNq","DgLTzxi","qMfJA3nWywnL","BgLUzvr5Cgu","zgf0ys1Oyw5KBgvWB3m","zhjHz3n0yxj0lMrYywC","5PAh5PYS5Qch562+","rxzLBNqGyMXVy2SGBM90igzVDw5KoIa","w2rHDgeTBM9Kzs1Pzd0I","iI8+pc9ZDMC+","6lw354k5ifG","iZe4otbMzG","6l6t5ywL5yc85PAh5PYS","y2XPy2SUzhjHzW","qwXPz25mzwz0t3v0BgLUzwq","vgHLifjLywn0iezSB3CGCgfYzw50ignVBNrHAw5LCIbUzwvKCYbHihDPzhrOigfUzcbHigHLAwDODcb0BYbYzw5KzxiGDgHLigDYyxbOlG","lM1HDgvYAwfSlxbYzxzPzxC","zMLYC3rfBgvTzw50q2HPBgq","zw5KC1DPDgG","6BYG5Qch5OYj5lIl","y3jLyxrLrwXLBwvUDe5t","54k55yE755s75BId56gU5A6A6lw354k55zkm57Ui54k5","y29SB3i","jhTSywjLBh3LV4xPOBVNRyNKUO4KE2XLBN0","mJjtvMTOCMO","zxjYB3iWmde","C2v0vgLTzq","Bg9HzgLUzW","zw51BwvYywjSzq","y2fUDMfZ","w2rHDgeTy2fUDMfZpsj0CNvLiL0","5zcr5zcoiduG6Ag1","i2iXyJfInW","DMvYDgLJywW","D2fYBG","6k+35AgR5yAz5Asw6yoO5lQl5lU25Qch6k+g","ltuSltqGmcWWic01ldqGltuSltq","x2DYB3vWCW","ywjZ","DgfYz2v0ug9ZAxrPB24","CMvHy3qTzMXVD19Fy29UBMvJDgLVBG","yMXVy2SGDY1MDwXSihrLEhqTC20GDgv4Dc1NCMf5ltuWmaOGicaGicaGicaGicaGicaGicbMAwXLoM1YltqGzMLSztPWEs0YigzPBgu6ChGTnaOGicaGicaGicaGicaGicaGicbMAwXLoNjVDw5KzwqTzNvSBcbMAwXLoMjVCMrLCI0WcIaGicaGicaGicaGicaGicaGigzPBgu6Dgv4Dc1ZBsbMAwXLoMzVBNqTC2vTAwjVBgqkicaGicaGicaGicaGicaGicaGzMLSztPIzY1IBhvLltuWigzPBgu6Dgv4Dc1IBhvLltCWmaOGicaGicaGicaGicaGicaGicbOB3zLCJPMAwXLoMjNlwjSDwuTmtaW","5Qch6k+g5lIn6io95lI656M6","AxnwAwv3","y3vYCMvUDa","mZKYnJyXAMH4wKHg","cIaGicaGicaGicbYB3vUzgvKlwXNihrYyw5ZAxrPB24TywXSigr1CMf0Aw9UltiWmcbZzwXLy3qTBM9UzqOGicaGicaGicaG","y29UBMvJDgLVBK1Vzgu","zwrNzuXVB2T1Ca","rgvSzxrLt3v0BgLUzwq","zxjYB3iWmte","yxrHBJi","C291CMnLtgfIzwW","q1vtve9n","5Bgv5BYa6kgm","5PAW5BU65lQl5lU25Rwb","x19UB3nLBgvJDa","yMfZzwXPBMu","y3LHBG","mJG3otmZnNzeA1fTwG","C3r5Bgu","Dgv4Dc1NCMf5ltyWmcbTDc0WlJu","zM9JDxnHyMXL","vevyvefsrue","B2zMC2v0v2LKDgG","mcaYChGGohb4ihjNyMeOmcWWldaSmc4XnsK","C3LTyM9S","6l6t5ywL5Qch562+5PAh5PYS","y3vZDg9T","zNv0DxjL","mcaWidrWEcbYz2jHkdaSmcWWldaUmYK","6ycj5OUP5PwW5O2U5A2x5Q6177Yi5y+V6ycj77Yj","qxjYB3Dmzwz0","6ycj5OUP5BM05lU9","yxjPyuXPDMvnzxnZywDL","C2vSzwn0zwrfzgDLCW","DgfYz2v0","yxjNCY4","5RE75yQG5lQl5lU25Rwb","5OUw5OU96lcd5Pw057Ui54k5","zxHWyw5KugfYzw50","Dg91y2HZDgfYDa","mdeY","5Pw05z2x6l+u5zUE5yc8","vxbSB2fK","BM9KzuXVB2T1Ca","5zYg6kEs55+P5B2I","Bw91C2vTB3zLlNPVB20","Aw5PDgLHBeHLAwDODa","C3rHCNroB2rLwa","DxnLu3LUy0v4DgvYBMfSu3rVCMu","zM9UDc1TzwrPDw0GDgv4Dc1ZBq","CMzFx2jHy2TNCM91BMq","BwfYA2vYu3rHCNq","y29UBMvJDgLVBKXVB2T1Ca","u21VB3rOu3rLCa","5PAW5BU655s75BId","w3jVBgu9iMXPC3rIB3GIxq","zM9YBwf0sgv4","y2HLy2TfCxvHBgL0Eq","vevyva","5PQc5PEG5PwW5O2U6zUg77Ym6k+354k55yE744cm5PAW5BU644cn","zhjHz2DPBMC","y29UBMvJDgLVBLjHzgL1CW","5BEY56Ab55sO","BxqTna","DMLZAwjSzq","y3vYCMvUDfrHCMDLDa","yxv0B1bHBK9UtM9KzuzVy3vZ","C2LTCgXLyMv6AwvY","CgfUwM9VBq","B3jPz2LUywXfDMvUDa","55s75BIdia","zg9JDw1LBNrfBgvTzw50","wM9VBsbjBG","y29UDgvUDeLUzM8","CMvHy3qTzMXVD19FCMvZAxPLlwnVBNrYB2W","ywjZB2X1DguGlxrVCc02igXLzNqTmcbIzY1IBhvLltuWmcb0zxH0lxDOAxrLihrLEhqTEhmGChGTmIbWEs0WlJuGCM91BMrLzcb3AgL0zxnWywnLlw5VD3jHCa","C2nOzwr1BgvY","57Q/5P2H57Uy5yI2","yMfJA2DYB3vUza","5PwW5O2U5RgG77Yi6iQc54k554Q25Ocb55sO77Yj","sxrLBq","qebVyNnLCNzHyMXL","yMfZAwm","l2rPC3qVC3r5BguUy3nZjYbVCIbIyxnLlMnZCYb0BYbTywTLihn1CMuGzxzLCNL0AgLUzYbPCYb3B3jRAw5NihbYB3bLCMX5lG","CMvHy3qTzMXVD19Fy29UDhjVBhmTEM9VBw91Da","u2LTCgXLqMv6AwvY","zgLZCgXHEu5HBwu","iw1Ylta","B25oB2rLq2XPy2S","qxjYB3C","5zU+54Mh5zYW5z2aicHZCMmP","y2HLy2TLza","5A2x5Q616AQm6k+b6zsz6k+VjhTSywjLBh0","yxbWBhK","6BYG5Qch6l+B5ywL","CMvHy3qTzMXVD19Fy29UDhjVBhmTEM9VBwLU","zw5Kwq","q3vZDg9TrxzLBNq","CMvHy3qTzMXVD19FCgfUzwW","Aw52zxj0","ihDOzxjLigeGC3rYzwfTihDHCYbLEhbLy3rLzc4Gww91ignHBIbWCM92AwrLigfUie9IC2vYDMfIBguSifbYB21PC2uSifjLywrHyMXLu3rYzwfTlcbbCNjHEsWGqxn5BMnjDgvYywjSzsWGB3iGsxrLCMfIBguU","ywXS","DhDLzw4","zwXLDMf0zuvKz2vZt25tzwXLy3q","Dg91y2HLBMqUEM9VBsb0B3vJAgnHBMnLBc56B29T","5A+85ywL57Ue5Ocb5PA55Qgi","54Q25Ocb6kgO6l6+5BYp5OMN6kgm5AsX6lsLifS","Bw91C2vvCa","5yAf6l656lED","yM9VBgvHBG","i2zMzMzMzG","CNvUDgLTzuHHBMrSzxjZ","ios4QUIkGUEcUq","Dhj1zq","zxHLy3v0B3juExbL","56YSideG6kgm5A+55BQu56YSideG5P2H5OYh5zcr5PYS5z2x55Qe6l+E57Q/77Ym56YSidiG6kgm5A+55BQu56YSidiG5P2H4OcM4OcM77Yi6Ag65BQp5lIo55s75BId6l+E57Q/5RE75yQG6Ag65BQp5lIa6iE077Ym5ywi6l+E5zYO5yMn77Yj44cc5lIn5RE75yQG6kgm5PE277YA5y2v5ywL6l6555sO","yMX1zq","y29UBMvJDe9Uq2XPy2S","zMX1C2G","z2v0vMfSDwvgCM9Tugf0Aa","zgvSyxK","5z+656ga5B2I54Q2","ywjZB2X1DguGDg9WltaGBgvMDc0WihbVAw50zxiTzxzLBNrZlw5VBMu","yM90Dg9TlwXLzNq","ChjLDG","C2nHBgvcEq","zgf0yxnLDa","y3jLyxrLrxzLBNq","Dw5VyNnLCNzL","zw1PDev4DgvYBMfS","teLorq","y29UBMvJDgfIBgvLBMq","Bw92zq","Cgf0DgvYBG","6k+35AgR5yAz5zcn56EW","B25oB2rLC0nOyw5Nzq","zM9UDc1TzwrPDw0GDgv4Dc1HBwjLCI05ntaGBwiTmG","BgfIzwXcz0jVCMrLCLjHzgL1CW","zgf0ys1Pza","xhmQkfSRlv0/xgqRkvXZkG","Bw91C2veB3DU","y29UDgfPBG","Aw52zxjZzq","z2v0qxr0CMLIDxrL","5y+V6ycj77YA57Ur5A6A5zco6kgO6l6+5BYp5lIT55QeigrHDgeG5lYA5ywi5zci5BM26k+L5PwW5O2U6zUg55QeihnHBxbSzE+8JowgJEwqIow5TUEuU+w4G+s8OowfPEEAHoI/KoIHJoAxTUAvSoAnRUoaGUs4JEE7KEwUMUAxTIbKyxrHios7HEADPEIhQUI/KoIHJoAxTUoaGG","5BEY5l+D5A2y","EM9VBq","q2XVC2vpDxrSAw5Lza","Aw5Zzxj0qMvMB3jL","yxr0CI4","yM9YzgvYq29SB3i","x190CMfUC2L0Aw9U","5z6c55U05yIg5BId","ChjVCgvYDhK","DxnLq29UDgv4Da","zNvUy3rPB24","zMLUzeLUzgv4","twfJ","DxbKyxrL","5PYQ5RoO5yAmigv4DgvYBMfSiowKHoEqHUwzQdOG","CMvJEwnSzufZEw5Jswq","y2vUDgvYwq","CMvSyxrPDMuG","Aw50zxjWB2XHDgu","zgLZCgf0y2HfDMvUDa","5l6l5AAc77YABMf2AwDHDgvuB+oaGw9Wzw5eAwfSB2C","Cc00igjVCMrLCI1IigjVCMrLCI1NCMf5ltiWma","y3vYCMvUDfn0yxr1C0LK","C25HCeDYAwq","DxnLtM9KzunVBM5Ly3rPB25ZoIboBYbUB2rLieLeigzVDw5KlIbdywXSihvZzu5VzgvdB25Uzwn0Aw9UCYbPBNnPzguGysbJDxn0B20GtM9KzsbVCIbWCM92AwrLigeGBM9Kzsbjrc4","y3jLyxrLrgvMyxvSDfn0yxr1CW","Ag9YAxPVBNrHBa","yxjNCY5WCMv2mq","DMLLD0jVEa","ufjfu0vovevex0LnquDfx1njtvbmrq","tgf5B3v0","u2vSzwn0t3v0BgLUzwq","BgLZDa","ugfYzw50ig5VzguG","CMvHy3qTzMXVD19FBM9Kzxm","AhnSysG","5lQm57U056cb6l+h5PYF","BgfIzwW","6l6t5ywL5zU+54MhifvstcdMIjyGrgf0ysbvuKK","BM9KzunSAwnRrgLZDgfUy2u","6ycj5OUP5BEY5RoO5yAm55Qe5Asw6yoO5PA55Rov","q29SBgfWC2u","5lIk5RI46l+E57Q/iokgKIdMNkZLNzCGyxjNCYdPLk7LKi0","DMLLDW","vg9Nz2XLieLUDgvYywn0AxzPDhK","Bw9Kzq","ChjVzhvJDgLVBG","qMv6AwvY","57Ue5Ocb57Yw6l6r5zMO","ChGPihnJywXLka","5PQc5PEG5PwW5O2U","5PAW5BU65PwW5O2U6zUg","iZHJogm4yW","C3rLCfbVC2L0Aw9U","5Bcg57Q/5P2H5y+y5lI65z6c55U057Q/","AxnjBNrLCM5HBa","yw50za","57Yw6l6r5lQl5lU25z2x","B25dBgLJAW","57Uy5yI25lIT","zgvZy3jPChrPB24","i2vImMy5nG","lwzSB3DFx25Vzgu","Dg9tDhjPBMDuywC","y29UDhjVBhmUEM9VBu91Dc5HCMLHtgfIzwW","CMvWzwf0kdGSidfMCIK","CMzFx3DYyxbWzxi","y3vYCMvUDenHBNzHC0LK","vg9W","DY1MDwXSigP1C3rPzNKTzw5K","CMvZDwX0","BwfW","5B2t5yMn54Q25OcboG","y3jLyxrLq29UDgv4Da","C3LUyW","uMvHy3qGrMXVDZOGDhjPz2DLCIbUB2rLignOyw5Nzxm","y3vYC29Ylw1VDMu","C2v0","zxjYB3iWmta","CgfYyw1Zq29Kzq","zw50zxi","yMCTD2HPDguGChGTmsbYB3vUzgvK","5lIk5A+56B2q","5O+q56s65yAf5A65","BM9KzvK","BMv4DfnPyMXPBMC","C2vSzwn0zwrtDgf0Dxnjza","uMLNAhq","yw1K","55s75BId566H55cg","DxnLq2fSBgjHy2S","DxjSka","zg93BMXVywq","BwiTma","CMvHy3qTzMXVD19FBM9Kzq","zwfZzq","rwrPDe91DgXPBMvK","DxnLrwzMzwn0","BgvUz3rO","C3rHDhvZtgLZDa","B25qB2LUDgvYrg93BG","5AgR5ywf6AkC6iMY77Yi5z+65PYS5B2I54Q277Yj","z2v0t3DUuhjVCgvYDhLtEw1IB2XZ","BwvYz2u","rM9YBq","C3rHDhvZ","y2fSBa","5PAW5lQl5lU25z2x","CgWTmIbIB3jKzxiTBc0YigjVCMrLCI1HBwjLCI0Zmda","y2XPzw50v2LKDgG","BgLUzwfY","DxnLCKfNzw50","rxzLBNrgBg93qMLUzgLUzW","sxqGBg9VA3mGBgLRzsb5B3uNDMuGy3jLyxrLzcbHig5LDYbUB2rLvhLWzxmGB3iGzwrNzvr5CgvZig9IAMvJDc4GswyGDgHPCYb3yxnUj3qGB24GChvYCg9ZzsbWBgvHC2uGzgvMAw5LihrOzsbUB2rLvhLWzxmVzwrNzvr5CgvZig91DhnPzguGB2yGDgHLignVBxbVBMvUDcbVCIbTzw1VAxPLihrOzw0U","DxnLrM9YBq","BMfUB2LK","y2fSBgjHy2SGAxmGBM90igeGzNvUy3rPB24","u2nOzwr1BgvKigfJDgLVBIb0AhjLDYbMywXZEsbLCNjVCG","A2v5zg93BG","BgfIzwXtDhLSzq","6ycA6Akr6ycF5BQM5PYj5Pwi5yc8","lMPZB24","ywn0Aw9UCW","BM9Kzxm","C2vUDa","yxnZAwDU","yxv0B1bHBK9Uq29UBMvJDa","x19LC01VzhvSzq","y29SBgvJDerHDgfZzxrgAwvSzfbHDgHZ","DgL0Bgu","CgvUzgLUzW","5y+c5PwW5zcn77Ym5AAciee","zgjSy2XPy2SUEM9VBq","mdaY","B25oB2rLrhjHzW","BgLMDa","q3jVC3m","CMvSyxrPDMu","zM9YrwfJAa","Aw1Tzxi","Bwf4lwGTwZqWmhb4xsbVDMvYzMXVDY15lwf1Dg8","y2HLy2TwAxnPyMLSAxr5","yMLUza","B3bLBG","C3rHCNrxAwr0Aa","Bw91C2vKB3DU","zMLSDgvY","r3jVDxbpDxrSAw5Lza","DgfWCW","qNv0Dg9U","C2HVD0DYAwq","twvZC2fNzsdLHAJLSydMJ5dNPlOGkgfUDgqP","5y+Z5A+56B2q","zgvMyxvSDhm","DMfSDwvtDhLSzq","DhjPz2DLCK5VzgvdAgfUz2vZ","tM9Kzsb0ExbLici","DgHYB3DUrxjYB3i","5Asn5yI26iQc54k5","CM90yxrLka","5Asw6yoO5lQl5lU2","ugX1C091DgXPBMvK","AxntzwXLy3rLza","6k+35AgR5yAz5Asw6yoO5PA55Rov5Qch6k+g","562j5Q+u57YP5Ps+6iQc54k555Qe5A696AUy","z3jPzcbNCMLKlwnVBhmTmIbNyxaTmG","Ahr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMC","BMv3wa","AxnbCNjHEq","mtjWEa","CMvHy3qTzMXVD19FAgfUzgXL","A2v5","z2fTBwe","y29UDgv4De1LBNu","rNjLzq","Aw52zxj0wq","5lIk5lIa5BM05lUJ","z2v0q29TChv0zwrtDhLSzq","iwjNlwjSDwuTntaW","ywzMzwn0C1G","CMvJDa","Dg9iyw5KBgu","5PYa5BcrjhTTAw595lIQjhTSywjLBh0","6l+u5zUE5lUk5AsP","BwiTna","5PwW5O2U6zUg","zM9UDc1TzwrPDw0GDgv4Dc1NCMf5ltGWmcbTyI0Y","zhjHz0HHBMrSzq","5lIl5lIa5Q2L","6k+36ycj5OUP5PYi5lU9","AxnwywXPzenVBM5Ly3rPB24","BM9Kzuv4DgvUDa","Dgv4Dc1SzYbMB250lwjVBgqGDgv4Dc1NCMf5ltuWma","zgf0yvjLCxvLC3rlzxK","zgfZAc1KB3q","tufurvjjquXFu1rbvfvtx0niqu5hrq","57Ui54k5ifG","Dgv4Dc1Jzw50zxiGDgv4Dc1NCMf5ltqWma","CMv0DxjUihrYDwu7","CgfYyw1ZtMfTzq","rxHWzxjPBwvUDe91DgXPBMvK","C291CMnLsgfUzgXL","y2XVC2vZDa","B25fCNjVCG","qMv6AwvYrwrNzq","phn2zYb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihDPzhrOpsiXmdaIigHLAwDODd0InJaIpJXYzwn0ihDPzhrOpsiXmdaIigHLAwDODd0InJaIigzPBgW9iInMywfKmtqIihj4psiYmciVpJWVC3zNpG","zg9TtM9Kzq","wvLzwq","zgvMyxvSDa","5Asw6yoO5PA55Rov","Dg91y2HLBMq","zgv0ywLS","Aw52zxj0wa","re9ntwf0CML4uMvHze9UBhK","qxjYB3DsAwDODa","5lIk5lIQ5PYiicJNV7VPOBxKUiRPLk4P","y2XVC2vK","5yc85Qc35BYp","5zU+54Mh5BgE5OcN","zgfZAgvK","y3vYC29YlwnYB3nZAgfPCG","DY04igGTmc41igjNlwDYyxKTndaW","C2v0vhjHBNnSyxrLrxH0zw50","AxntDg9WCgvK","zxH0zxjUywXiyw5KBgvYs2v5","zw5HyMXLza","yxjPyvjVBgu","DxnLCLnLBgvJDgLVBLjLy3q","6ycj5OUP5PYi5lU9","C3rHCNq","x2nVBxbSzxrL","CMvZDgfYDa","y3vYC29YlxbVAw50zxiGBwiTma","w2rHDgeTAgfUzgXLpsjZDgfYDcjD","jsWG","Bwf4vg91y2HqB2LUDhm","t3b0Aw9U","zwrNzvf1zxvL","zw5Kwa","CgfUzurYywDNAw5N","sg9YAxPVBNrHBa","B250B3vJAhn0yxj0","CMvHzefZvgv4Da","ChjLDMLLDW","AgfZrxjYB3i","Dgv4Dc1ZBsb0zxH0lwDYyxKTnJaW","yMLUzenVzgvZ","AhnSka","zgvSDgfnB2rL","D29YAW","44cn77YA5lIk5RI4","ltiWChG","CMvHy3qTzMXVD19FCgfUzq","C2fTCgXL","q29SDw1UsgvPz2H0t3v0BgLUzwq","5lIl5lIa5BM0icHdB250CM9S6zsU5yQG5y+Z5PA55zcr6zsUkq","yxnpyNnLCNzHyMXL","C2v0rgvMyxvSDe5VzgvZqw5KrwrNzxm","zgLZy29UBMvJDa","zxzHBhvHDgvtDgf0DxnfEhbYzxnZAw9U","mda0","zgv2zwXVCg1LBNq","y2fUDMfZq29UzMLN","uhjLC3mGzw50zxiGB3iGC3bHy2uGDg8GC2vSzwn0igeGBM9Kzs4Gww91ignHBIb0AgvUihvZzsb0AguGyxjYB3CGA2v5CYb0BYbTB3zLihrOzsbUB2rLigfYB3vUzc4GuhjLC3mGzgvSzxrLihrVihjLBw92zsbPDcbHBMqGzxnJyxbLihrVignHBMnLBc4","q291BgrUj3qGy3jLyxrLigvKz2uGzM9Yia","C3bHy2uTEs00","57Ut5P2F5PYi5lU9","DMfSDwvgB250v2vPz2H0","57Uy5yI25QIH5BYp","zgvMyxvSDfzPzxC","vgv4DefYzwe","AgvPz2H0","C291CMnLswq","y29UDhjVBhmUEM9VBuLUlMfYAwfmywjLBa","5lIk5lIa5BM0icHdB250CM9S6zsU5yQG5BEM5PA55zcr6zsUkq","xcKK","w3jVBgu9iMnVBwjVyM94iL0","yw4GAw52ywXPzcbVyMPLy3q","lNjLywn0lwzSB3DFx3bHBMu","zML0vMLLD09WDgLVBNm","B2jQzwn0","Dgv4Dc14CYb0zxH0lwDYyxKTndaW","lteWic0XmcaYmcaYma","ue9tsvrjvKvFsu5gsu5jvfK","CMvTB3zLqxr0CMLIDxrLtLm","Cc0ZigjVCMrLCI10igjVCMrLCI1NCMf5ltiWmcbIzY1NCMf5ltuW","Bwf0y2HnzwrPyq","6l6t5ywL54Q25Ocb5zcn56EW","zwXLDMf0zu5VzgvZt25tzwXLy3q","Bw91C2vmzwf2zq","zMXLEcbQDxn0Awz5lwjLDhDLzw4GAxrLBxmTy2vUDgvYig1Iltq","zMXLEcbPDgvTCY1Jzw50zxiGz2fWlte","zg90","B25gAw5HBgL6zq","mxb4ihnVBgLKicnKowq5zdK","5yIG6zMK5B2t6Ag1","z2v0uMvHzgvY","DxjSkcm","Bwf0CML4vhjHBNnMB3jT","EfnUyxbWzwq","zg91yMXLq2XPy2S","AgLKzgvU","6Ag65PE26zki5PEl6l2S6kEs5BQM77Yi5BQM77Yj","yM90Dg9TlxjPz2H0","C3bHy2u","Cg9ZAxrPB25z","5lQl5lU25z2x5PYQ6ywn572UigrHDgfszxf1zxn0s2v5","xNjNyLWO","C3rHCNruCMfUC2L0Aw9U","y29TCgXLDgu","57Ut5P2F5zgO","y29UDgv4Da","54Q25Ocb5yIx6kgO","yxv0BY1ZDgfYDc1YzxzLCNnL","zMLYC3rdAgLSza","Cgf0Ae9WDgLVBNm","Dgv4Dc14BcbMB250lwjVBgqGDgv4Dc1IBhvLltyWma","5PQc5PEG54MP5PAz","AM9PBG","i2q5zdLKoq","Aw52B2TLuNvUDgLTzuHHBMrSzxi","EGOGicaGicaGie0","B3jPz2LU","C3rYB25N","zxHLy3v0Aw9Uugf0Aa","CMvXDwvZDefZEw5Jswq","6lw354k5ifK","5lYy5ywi5lUo57Ur5A6A5PwW5O2U6iEQ5yQO6i635y+w77Ym5lMF5y+V5OMl5yQO6l6t5ywL","6zw/5yIslEwpJoEcUEs6PoABVW","55wz56M65l2/55sOigfUDgqG6BUy6k6K77YB5AgRidaG6kgO56s65lIn6iEQ5yQO5ywZ6zET","ksb0CMfUC2XHDguO","Aw5KzxG","zgvZDhjVEq","zwrNzxnszwnVBM5Ly3rHyMXL","sxqGC2vLBxmGDgHHDcb5B3uGyxjLihrYEwLUzYb0BYbKCMfNigeGBM9Kzsb0Agf0igLZig5VDcbPBML0AwfSAxPLzc4GugXLyxnLihvZzsbVBK5VzgvZq2HHBMDLigfZigv4CgXHAw5LzcbPBIb0AguGzg9JCY4","5PwW5yc85Qc85BYp5yYw5PE25l+D55wz55Qe5Bcp5PwW5l2n5PwW77YmlthOOAJNPlRKUi3MOlZLVi/LJjy","5l+D55wz5Bcp5PwW5l2n","yMCTz3jHEs01mcbYB3vUzgvKlwXNihaTmYbIB3jKzxiGyM9YzgvYlwDYyxKTmJaW","BwiTmcbTDc00","Dw5KzwzPBMvK","54k55yE757Q/5P2H54MP5PAz5BYa5AEl57Uy5yI2","B25nB3zLu3rHCNq","Dw5PDa","zM9Yy2u","uMvHy3qGrMXVDZOGDhjPz2DLCIbLzgDLignOyw5Nzxm","5OMN6kgm5PA55BYp","z2v0qxr0CMLIDxrLtLm","Bwf0CML4","zMXLEcbMBgv4lwnVBa","CMvHy3qTzMXVD19FBwLUAw1HCc1TyxnR","Dgv4Dc1SzYbMB250lxnLBwLIB2XKihrLEhqTz3jHEs04mda","zxzLCNK","rwrNzsbMCM9Tia","z3jVDxa","BgLI","y29TCgfYzurVy3vTzw50ug9ZAxrPB24","5yIG6zMK5zco5PEG5Rov5OgI5Asn77Ym5PIV5zcM57UN57UT77YF","5zcr5zcoidmG6Ag1","y29UzMLNrwrPDg9Y","CMvHy3qTzMXVD19FCMvUzgvYzxi","ChjLCgfYzuv2zw50qxjNCW","yM9Sza","DMfSDwvtB3vYy2vdB2rL","Cg9W","54k55yE75y2h5BQp","AgfUzgXL","5OMa5PYj57Ur5A6A5Q2K5PwW5O2U6zUg55Qe54Q25Ocb5Bcg6iEQ5yQO6kEJ6zMK57Ur5A6A44cc","Dg9mB3DLCKnHC2u","Dg9WlwXLzNq","u3LTyM9SlML0zxjHDg9YigLZig5VDcbKzwzPBMvKlG","BwfYA2vYrw5K","DY1MDwXSigGTndGGCc0ZigjVCMrLCIbIB3jKzxiTz3jHEs0ZmdaGCM91BMrLzc1SzYbMB250lw1VBM8GDgv4Dc1ZBsbYzxnPEMuTBM9UzsbMB2n1CZPVDxrSAw5Llw5VBMuGzM9JDxm6CMLUzY0YigzVy3vZoNjPBMCTyMX1zs01mda","5PwW5O2U5QIH5OUF","DxnLu3rHDgu","B25oB2rLq29UDgv4De1LBNu","iZaWmdaWma","DMfSDwvdB2XVCG","5y2v5y+c5PwWigrHDghVViJLR7NOSAhVViNVViZPOBSGCMv0DxjUihrYDwuVzMfSC2xVVjVMTyVNGRNMLBdNU4tMJiKGCgfYyw1Zq29KzsdLKiJLUBBOV5SGzgf0yEoaGG","C3rHCNrizwLNAhq","zgvZyW","6ycj5OUP5PwW5O2U5RgG5lIT55Qe5PwW5O2U6zUg","BM9VCgvUzxiGBM9YzwzLCNjLCG","CMvHy3qTzMXVD19Fy29UDgfPBMvY","5PYa5AsAjhTTyxH95lIQjhTSywjLBh0","q29UzMLNuhjVDMLKzxi","rxzLBNqGzMXVDYbUB3qGAw5PDgLHBgL6zwqGzM9Yia","B25fzgDLC0nOyw5Nzq","z2v0uhjVDg90ExbLt2y","Ahr0CdOVl3D3DY53mY5VCMCVmJaWmc94BwXUCY8","Dgv4Dc14CYb0zxH0lwDYyxKTntaW","BgLNAhq","DxnLCLnWywnLt25vC2u","y2fSBgjHy2S","zw5K","y2vUDgvY","zxzLBNq","C2v0uhjVDg90ExbLt2y","lNH5zMXVD19FDMLLD3bVCNq","5lQl5lU25z2x5BEY5PU05PAW","5PYQ55+L57g75z6l","C2vSzwn0q2HPBgq","zgL2","qxjYB3DvCa","mdeX","zgf0yvbVB2W","nJKZmZCXnfr1sgHdAa","5y+V6ycj5lIT","AgfZt3DUuhjVCgvYDhK","tM9KzvjLBMrLCMvY","su5qvvq","yM91BMreyxrHC2v0swq","y29UC29SAwrHDgu","mtjWEcaW","AxneCMfNz2fIBgu","zxjYB3iWmdG","rw1WDhK","ug9Wy29UzMLYBq","ChjVDg90ExbL","ywzMzwn0C1K","C2nHBguO","z2v0sw5PDgLHBfn0yxrL","C3rVCeLTBwvKAwf0zvbYB3bHz2f0Aw9U","C2nOzwr1BgvYqwn0Aw9Uq3rVCG","Aw1N","mde1","DhjHBNnPDgLVBG","AxnfzgL0Aw5NrxzLBNrgBg93","CMvJDcGWChGSidbWEcWGmhb4lcaWChGP","zMXLEcbPDgvTCY1Jzw50zxiGz2fWlti","lwzSB3DFx2HHBMrSzvTKyxrHlwLKpsi","qgfUDc1KzxnPz24VAwnVBNm","u3LTyM9SlMfZEw5JsxrLCMf0B3iGAxmGBM90igrLzMLUzwqU","CMv0DxjU","6ycj5OUP5PE26zE0","AxnszxnPEMfIBgu","zMXLEc0XigzSzxGGzMXLEc1JB2WGAc1MDwXSigjNlwDYyxKTmtaW","BMv4Da","AxndBgLJA2fIBgu","y29Kzq","C2v0sw50zxj2ywW","y2XLyxi","5BYa5AEl5A2J5BQM","6k+36ycj5OUP5A2J5BQM","C3rYB2TL","C3vWChjLC3nLza","5l6l5AAc77YACMvMCMvZAcdMIjyGCgfYzw50oNjLBg9Hza","CMvZzxrgAwvSzhm","CMDIka","CMzFx21PBMLTyxa","Aw5KzxHpzG","y3jLyxrL","qM90Dg9T","BM9KzuLK","BM9Kzu9YAwDPBG","vg9VBhrPCa","B25fzgDLC0rLBgv0zq","ywjZB2X1Dgu","CMvHy3qTzMXVD19FyxjYB3DOzwfK","zgvMAw5LuhjVCgvYDhK","C2v0rhjHz0LTywDL","zMXLEcbPDgvTCY1Jzw50zxiGANvZDgLMEs1Izxr3zwvUihCTzNvSBcbWCI00","y2XHC3noyw1L","rxzLBNqGzMXVDYbLEgvJDxrPB24GzxjYB3i6","Cg9PBNrLCLG","ywjZB2X1DguGDg9WltaGCMLNAhqTmcb3ltmGAc0ZigjNlwjSDwuTntaWigjVCMrLCI0YigjVCMrLCI13AgL0zsbYB3vUzgvKlwz1BgW","y2HYB21L","5BYa5AEl5PYi5lU9","zwrNzuLUzgv4","zw5KlNn0EwXLlG","zgvSzxrHyMXL","Cg9ZAxrPB24","B25dB25Uzwn0","rxzLBNq","zM9YD2fYzfjLzG","yxjYB3DJBg9Zzwq","55+L6ygt5lQg","u2f2zu91DgXPBMvK","Dg91y2HTB3zLlNPVB20","Dgv4Dc14CYb0zxH0lwjSDwuTntaWigzVBNqTyM9Sza","Bwf0y2HLCW","BgLUzxm","Dg9W","ywjZB2X1DguGDg9WltaGBgvMDc0XlZiGDY00igGTncbIzY1NCMvLBI01mdaGyM9YzgvYltiGyM9YzgvYlxDOAxrLihjVDw5KzwqTzNvSBa","DhjHBNnSyxrL","CMvHy3qTzg9T","BMfTzxnWywnLvvjj","C2nHBgu","A2vLCefZCgvJDfjHDgLV","CgfYzw50rwXLBwvUDa","Bwf4","B25SB2fK","CMDI","5A+g6zUg54k554Q2","u2LTCgXLqMv6AwvYrwrNzq","5Bcg57Q/5P2H5y+y5lI65Rc05BMZ57Q/","BgfZDeLUzgv4","B25dB25Uzwn0u3rHCNq","CgfUu2nYB2XSvgLTzw91Da","Dgv4Dc1ZBsb0zxH0lwDYyxKTntaWig1Iltm","DMfSDwu","BwiTmW","tw96vxnLCLnLBgvJDa","AgfZ","xMHZBfWO","sw5WDxq","Dg91y2HHyMXL","C21HBgW","w1jLywn0iezSB3DDoIbtzwvTCYbSAwTLihLVDsbOyxzLig5VDcb1C2vKihP1C3rHBMqGChjVDMLKzxiGyxmGyw4Gyw5Jzxn0B3iUieHLBha6igH0DhbZoI8VCMvHy3rMBg93lMrLDI9LCNjVCImWmde","AgLKzuf0DhjPyNv0Aw9U","qwXPz25sAwDODe91DgXPBMvK","5lQl5lU25Rwb57Yw6l6r5zMO","5PU05O2I54MP5PAz","DxbKyxrLtM9KzuLUDgvYBMfSCW","Aw1Hz2uVkG","zMfJDg9Y","ywjZB2X1DguGyM90Dg9TltqGCMLNAhqTncb6lteWigjNlxDOAxrLihjVDw5KzwqTBgCGC2HHzg93lwXNihaTmG","z2v0","5lQl5lU25Rwb","C29Tzq","C2v0vMLLD3bVCNq","AgfUzgXLrg9TtM9Kzq","tM9KzsbVBKnSAwnRoG","uMvHy3qGrMXVDW","5OUw5OU954MP5PAz5yIW55s75BId5yIB5BU66iQc54k5","zw5KlG","5lIk5lYGifnwrW","xhmQkfSRlv0/kd86xgqQxc4Pp1XKkYG/oLTLrv1BkY1Dp1XKkYK/kvXZkG","A2v5Dxa","zxzLBM9Kza","BwiTncbWltmGyMCTyMX1zs01mcbIB3jKzxiGyM9YzgvYlwjSDwuTmJaWihjVDw5KzwqTBgC","ChGS","Bw91C2vy","ywjZB2X1DguGDY0ZigGTmYbIzY1IBhvLltuWmcbIB3jKzxiTmIbIB3jKzxiTD2HPDguGCM91BMrLzc1MDwXSign1CNnVCI1TB3zLihOTnta","zxHLy3v0zuv2zw50rMXVDW","Axnoyu4","ChjLDLzPzxDWB3j0","BM9Kzvr5CgvZ","yxjYB3C","rg90CW","nsW1","idaGvG","BgfIzwXtAg93qMC","C3vIBwL0","Aw5Uzxjive1m","mda1","77Ym6Ake6kEi5PE25lUL5QIH5P2/5lI65BQv5zci5BM255s75BId44cm5QIH5OUF5PwW5O2U44cn44cc","5yIG6zMK5ywO6yoO","yxbWBgLJyxrPB24VANnVBG","C3rYB2TLv2LKDgG","BgLUzujVEa","BwWTmG","Dg9qB3nPDgLVBG","y3jVC3m","CxvLCNLtzwXLy3rVCKfSBa","y2XPzw50wq","x19KyxrHx18","zNjVBq","zgvMCW","zMXLEc0Xig92zxjMBg93lxKTyxv0BYbWlti","5A2q6iQc54k5ia","BM9YBwfSu3r5Bgu","C29SAwq","Bg9JywXLq29TCgfYzq","C3bHBG","rgL2AwrLCG","B3bHy2L0Eq","jhTSywjLBh3POBVLNkGKE21PBN0TjhTTyxH95A2x56YM5lMl6zE0","y2XHC3m","uhjVDMLKzxi","5PEG54Q25Ocb","zwrPDgLUz0v2zw50uM9VDeLK","6BUy6k6K6Ag555UU","5lQl5lU25z2x5PYQ6ywn572Uigv4DgvYBMfSsgfUzgXLCKTLEq","DgHHDa","CMvHy3qTzMXVD19FDMLLD3bVCNqGEhLMBg93x192Awv3Cg9YDcbYzwfJDc1MBg93x19JB250ywLUzxi","qLvuve9o","zgvMAw5LuhjVCgvYDgLLCW","Ac0XmIbIB3jKzxiTyIbIB3jKzxiTz3jHEs0YmdaGzMXLEcbPDgvTCY1Jzw50zxiGANvZDgLMEs1Izxr3zwvUihb4ltqGyMCTz3jHEs01ma","AhjLzG","BgLUzs1KCMf3","ig5VDcbMB3vUza","yxbWBgLJyxrPB24","BwvYz2vezwzHDwX0uNvUDgLTzuHHBMrSzxjZ","C291CMnL","5RIq5y+y6iMY","57Ur5A6A5PwW5O2U6zUg","Dgv4Dc1SzYbMB250lw1LzgL1Bq","rxnJyxbL","C2vSzwn0zwq","CxvLCNLtzwXLy3rVCG","5y2G5l2n56YM77YAE3TWCMv2Fx3JGif7E+wfPEwpGUwqJx19iow8LEEuQos4IUA4UoI/NUE6V+wfPEwpGU+8M3T7jgrHDgeUEhH4Fx0G5y+w5lQl5lU25lIk5lIl5PAhigrHDge","Bw91C2vcDxr0B24","AxnAB29TAw5Nt3jqyw5UAw5N","C3rHCNrZv2L0Aa","6k+36ycj5OUP5BM05lU9","zxHLyW","y2fUy2vSywjSzq","Dgv4Da","z2v0rwrNzuLK","CMDIysGWldaSmcWWkq","zg9Tqxr0CMLIDxrLCW","iZi2mJyYnG","DY0XmIbOlteYig14lwf1Dg8GBwiTmsbMBgv4igL0zw1ZlwnLBNrLCIbQDxn0Awz5lwnLBNrLCG","x2HHC1bHCMvUDa","54k555s757Q/77Yi5lIT5B+d57Q/77Yj","DxnLrgvIDwDwywX1zq","sxqGC2vLBxmGDgHHDcb5B3uGAgf2zw4NDcbSB2fKzwqGDgHLihn0EwXLCY4GugXLyxnLigLTCg9YDcaNqhH5zMXVDY8","BgfIzwXcz1n0EwXL","y29UC3rYywLU","BNvTyMvY","BgLZDc1UB25LihnWywnLlxKTmIbTltaGCc0W","B2jZzxj2zq","57Q/5A6977Yi5yop57sG77Yj","u1fsvdi","CMvHy3qTzMXVD19FBM9KzxnZzwXLy3rPB24TCMvJDa","C2vSzwn0ywjSzq","CMvHy3qTzMXVD19FzwrNzs10zxH0D3jHChbLCG","Ac1MDwXSigzSzxGGAxrLBxmTy2vUDgvYigP1C3rPzNKTy2vUDgvYigjNlxDOAxrLigjVCMrLCI1SigjVCMrLCI1NCMf5ltiWma","DgHLBG","5y+w5RAi5ywO6ycj","ieHLBha6igH0DhbZoI8VCMvHy3rMBg93lMrLDI9LCNjVCIm","ChGSia","B2jZzxj2zwq","zxjYB3iWmtu","CMv0DxjUigzHBhnLoW","5y2v5y+c5PwWigrHDghVViJLR7NOSAhVViNVVjRNLlhMLBdMJA7MSAaGC2fTCgXL77Yi6iUL5BEY57Ur5A6A77Yj5lIo55s75BId6l+q6kgm5PE25PwW5O2U5zci5BM277YB5Rwl54k55PwW57Ue5lYA5OYjihbHCMfTC0nVzguG5yAz5ywLigrHDghJGilPOBSGCMv0DxjUihrYDwuVzMfSC2xJGii","z2v0u3rHDgu","6k+35AgR5yAz5OMN6kgm5lUJ56cb","rgf0ywjHC2vpDxrSAw5Lza","Ac0XmIbIzY13AgL0zsbIB3jKzxiTyIbIB3jKzxiTz3jHEs0YmdaGzMXLEcbPDgvTCY1Jzw50zxiGANvZDgLMEs1Izxr3zwvUihb4ltq","yxn5BMnjDgvYyxrVCG","B25tzwXLy3rPB25dAgfUz2viyw5KBgvYCW","55sX6kgO6l6+5BYp6iEQ5yQO6k6H566x","yw50ze1LC3nHz2u","Dg91y2GX","Axnqyw5ty3jVBgXPBMC","AgfZqxr0CMLIDxrL","AwXSzwDHBcb0ExbLoIa","vxbSB2fKt3v0BgLUzwq","Cg9PBNrLCI1LDMvUDhmTBM9Uzq","tg9VC2u","Bgv2zwW","DxnLCK5Vzgu","C2v0tM9Kzxm","Dgv4Dc14CYb0zxH0lwDYyxKTntaWig1Iltm","Aw5PDgLHBfrLyxjKB3DU","y2LYy2XL","zxH0zxjUywXfDMvUDeTLEq","x3jLBw92zvbHCMvUDa","C2fTCgXLiow/HEMHU+AyRYbku09oiowVUEIXOq","tgvMDa","CgfYzw50tg9VA3vW","zw5Kug9PBNq","6iom5PMV5zU+54Mh5lIk5lYG5OIq5yQF","CMHV","DhjHBNnWyxjLBNq","54MP5PAz5BgE5OcN","z3jHyG","qeb0B1bYAw1PDgL2zsbTDxn0ihjLDhvYBIbHihbYAw1PDgL2zsb2ywX1zs4","zwrNzq","Aw5MBW","w0rfufjfq0fururDifrOzsbGzgvZDhjVEwaGBwv0Ag9KihDPBgWGyMuGDw5ZDxbWB3j0zwqGAw4GysbMDxr1CMuGDMvYC2LVBI4Gsw5ZDgvHzcb1C2uGDw5ZDwjZy3jPyMuGzNvUy3rPB24GCMv0DxjUzwqGyNKGC3vIC2nYAwjLlIbfDMvYExrOAw5NihDPBgWGyMuGz2fYyMfNzs1JB2XSzwn0zwqGAwyGC3rVCMuGAxmGz2fYyMfNzs1JB2XSzwn0zwqU","56s65l6l5PwW5O2U77YisLnptIdLR7NOSAhVViK","CMvZAxPLrgLYzwn0Aw9U","6BYG5Qch56E75yE6","DhjHBNnSyxrLka","zgvMyxvSDevKz2vZ","Aw5JBhvKzuHPzgrLBK5VzgvZ","B2jZzxj2zxjZ","C2vSzwn0zwroB2rLswrZ","iIbKB2vZig5VDcbLEgLZDcWGAxqGBwf5igHHDMuGyMvLBIbYzw1VDMvKlIbuAgLZignHBIbOyxbWzw4GD2HLBIbHig5VzguGAxmGzgvSzxrLzcbIzwzVCMuGDgHLicjVBK5VzgvdBgLJAYiGAgfUzgXLCIbPCYbJywXSzwqU","zxjYB3iWmdm","yxbWzw5K","zgLZDgfUy2u","CMLNAhq","6iom5PMV6AkC6iMY","ww91igfYzsb1C2LUzYbHBIbVDxrKyxrLzcWGChjLlxjLBgvHC2uGywXWAgeGB2yGuMvHy3qGmtGGDgHHDcbKB2vZig5VDcbZDxbWB3j0ihvZzvn5BMnfEhrLCM5HBfn0B3jLlIbuAguGDxnLlxn5BMmTzxH0zxjUywWTC3rVCMuGC2HPBsb3AwXSig5VDcb3B3jRignVCNjLy3rSEs4GvxbNCMfKzsb0BYbHig5LD2vYihbYzs1YzwXLyxnLlG","zxzLBNrsB290CW","CMvHy3qTEM9VBs1Wyw4TCgLUy2G","y29YBMvY","y2XPzw50tgvMDa","5A2x5l2t5AsN5Bcp","sw5WDxroDw1Izxi","C3rYAw5NAwz5","6iEQ5A6A5lMj","y2fUy2vSq29UBMvJDgLVBG","CgfNzvK","6ycj5OUP6kEM5y+r5PA55BYp77Yire9nic8G5PwW5O2U6k+35Rgcic8G5Asw6yoO77Yj","BMuTCMvZAxPL","DhjPBq","B25SEvjLBMrLCLzPC2LIBgvfBgvTzw50CW","y29UDgvUDa","BM9KzvG","Dw5RBM93BIb0ExbLoIa","5Qgg6ycj5QIH5BYp","C29YDa","5PEG5zU+54Mh","CMvXDwvZDefUAw1HDgLVBKzYyw1L","twLUDxndAxjJBgvpDxrSAw5Lza","DhjHBNnSyxrLwa","6k+36ycj5OUP6kEM5y+r5PA55BYp","Aw5ZDa","mteXmdiYvwPouu1U","6k+36l6t5ywLjhTSywjLBh0","5PQc5PEG5lQl5lU25Rwb57Ur5A6A","y2XPy2TeAxn0yw5Jzq","BMf0AxzLrxzLBNq","zgf0ys1Oyw5KBgvPza","Dgv4Dc1NCMf5ltGWma","zgfYAW","77Ym5AsA5ywL6l6555sOia","wM9VBu91De91DgXPBMvK","566H55cg55s75BIdlI4U","tsaYmcaWieWGmcaWidaGmJa","6ycj5OUP5yw35l2t5yAf572U6io95yQB","q29WEu91DgXPBMvK","Ahr0CdOVl3D3DY53mY5VCMCVmtK5os94BgLUAW","yxv0BW","A2v5CW","BwLUwM9VBq","Aw5PDe1HDgvYAwfSCW","5yAf6igu6isA5PYS","5Qch562+5Qc35BYp","Eg1SBNm","5lIn5zcm5PA55BYp5A+55BQu5lIl5PA55lIn5zcm6ywn572U6Ag5","yM9YzgvY","BM9Kzq","Dg91y2HZDgfYDc5KCMfN","C3bSAwnL","BM9KzxndB25Uzwn0ywjSzq","5lUo57Ur5A6A55Qe5PwW5O2U5lIT6ycj5OUP5A2x5Q6177Ym5lYy5ywi57QN6AUy5lQo5OMl5yQO6l6t5ywL55Qe5yc8","5ywO6ycj5B2t6Ag1","C25HCfrVr3jPza","CMvHy3qTzMXVD19FzwrNzs10zxH0yMC","zM9UDc1TB25VihrLEhqTC20","Bs9ZWRi","57Ut5P2F5A+86kEi","Ag92zxi6yMCTz3jHEs0Xmda","vgHLihjLC3vSDcbVzIbNzxrtBMfWC2HVDcbZAg91BgqGyMuGy2fJAgvKihrVigf2B2LKigfUigLUzMLUAxrLigXVB3a","y2XVBMvfBgvTzw50","zM9JDxm","zxH0zw50","Bw91C2u","Aw50zxjHy3rPB25xAwr0Aa","mdeZ","54k55yE76zMn5BQp","BM93","C3vIC2nYAwjL","C3vJy2vZCW","B3bZ","BMv3","iZCYmMvKmq","B25dB25Uzwn0rw5K","AgvHza","B25fzgL0","57YP5Ps+5Q+u5l6l","mta3mJCWmvL5AKztDG","C2v0rMLLBgrZvMfSDwu","w1jLywn0iezSB3DDifrOzsbWywrKAw5NihzHBhvLici","iokaLca","zxHW","zgf0Dw0","C3LZDgvT","Dgv4Dc1ZBsbMB250lw1LzgL1Bq","5A2x5Q615PwW","yM90Dg9T","ttmYide4lJeZm0GXoc4XmZnwmZjOltqUmJy2vJe4lJeZm0GWDI00lJi2nMGXmY44nJDwmgG0lJi2nNyXmY44nJDimZj6","CMvHy3qVANn4lxj1BNrPBwu","D2HLzwW","zw1PDa","5Pon5l2C5OIq5yQF","6ycj5OUP5PAW54MP5PAz","Dgv4Dc14CW","jhTSywjLBh3MNidLSjeKE21PBN3KUkRLRzFNRky","DxjSkcCJ","lwzSB3DFx2HHBMrSzq","CM90yxrL","CMfUz2u","x2nHBgW","z3jPza","DhjPz2DLCK5Vzgu","mtzJBeHpDNe","q2XHC3mGzxH0zw5KCYb2ywX1zsa","DxnLuMvM","z2v0tM9Kzuv2zw50qMLUzgLUz3m","CMvNAxn0zxjjBNrLCM5HBe1VzhvSzvn0B3a","ltzWEa","AgfZvMfSDwu","DY0XmcbOlteWig9IAMvJDc1JB250ywLU","jhTSywjLBh3ML6xMNj/MOlZLVi/ML6dMLyG","DhjHBNnPDgLVBIbUB3qGzM91BMq","Aw5WDxq","zxzLBNrcBg9JAW","6k+36ycj5OUP5zgO","Cg9ZAxrPB25y","ywX0s2v5","z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9YCW","C2v0tM9Kzuv4DgvUDa","ChGP","Dg91y2G","6BYG5Qch6yEk5Ps+","vMvYDgLJywW","5zYO562B6ycj6Ag55lIT5PcC57sI","BM9Kzvr5Cgu","CMvZB2X2zq","Aw5WDxrZ","t25SEsbJAgLSzcbUB2rLCYbJyw4GDxnLigeGCgfYzw50igv4DgvUDc4","y2XLyxjbBgW","zxjYB3i","6zw/54k5lEEFREEcUEs6PoABVW","ywjZB2X1DguGyM90Dg9TltaGCMLNAhqTmcb3ltmGAc0ZigjNlwjSDwuTntaWigjVCMrLCI0YigjVCMrLCI13AgL0zsbYB3vUzgvKlwz1BgW","CMvTB3zL","C2v0q2vUDgvY","AxndB250zw50rwrPDgfIBgu","Bw91C2v1Ca","CM9VDa","x2zPBMfSAxPLCNm","5PEG562B6ycj6Ag5","x25HBwu","igrVzxmGBM90igv4Axn0lG","Aw50zxjUywW","Bw91C2vfBNrLCG","x25Vzgu","CgfYC2u","CgfKzgLUzW","lIbozxCGCg9ZAxrPB24SihG6ia","CMvHy3qTzMXVDW","rgf0yvbVB2XnB2rHBa","zxzLBNrcBg9JA3m","yNvPBgrnzxjNzwreyxrHuMvJB3jK","6k+35Rgc5PwW5O2U","z2v0qM91BMrPBMDdBgLLBNrszwn0","5Asw6yoO5lQl5lU25Qch6k+g","DxnLzfjPz2H0tw91C2vcDxr0B24","ltuSltqGmcWWic01ldq","zxHLy3v0zuj1AwX0Aw4","B3jKzxi","q29UBMvJDgLVBKXPBMu","yxr0CLr3zwvU","iIWGzwrNzsbPzdOG","wM9VBuLUt3v0BgLUzwq","zgf0yvrYyw5ZzMvY","ChjVBwLZzq","C3bSAxq","x3bHCMvUDgfNzq","ksbZy2fSzsG","y29UBMvJDgLVBKrYywDuAhjLC2HVBgq","6l+E57UT5A6E57Q/","DY1WEcbOltyGyMCTz3jHEs0ZmdaGBxGTmG","zgvSDgfz","uhjVDMLKzwqGB2jQzwn0igrVzxmGBM90ignVCNjLy3rSEsbPBxbSzw1LBNqGu3LTyM9SlM9IC2vYDMfIBgu","z2v0u2nYzwvUq1rn","twv0yq","AgfUzgXLCW","yM91BMrHCMLLCW","re9nic8G5PwW5O2U6k+35Rgcic8G5Asw6yoO","yxjNCY5WCMv2ma","DY1MDwXSigGTzNvSBcbMBgv4igL0zw1ZlwnLBNrLCIbQDxn0Awz5lwnLBNrLCIbIzY1NCMf5lteWma","5OYb57UT5PE26zE077Yi56Es77Yj","DgLTzq","zwrPDa","vgLTzw91DevYCM9Y","Dg9VigXHDgu7igfSCMvHzhKGC2nOzwr1BgvK","vgfICW","BM9eCMfNq2XHC3noyw1L","zw5KlNjLBw92zq","iIbYEd0ImJaIlZ48l3n2zZ4","AxrLCMf0B3i","Bw91C2vTB3zL","BgLUAW","yNvPBhrPBKLK","C3r5BguU","6kEM5y+roIa","C2v0vgLTzw91Da","Dhj5CW","CMvSzwfZzvbVAw50zxjdyxb0DxjL","6Ag75lI6jhTSzw595lIQjhTSywjLBh0","ugXLyxnLig9UBhKGAgLKzsb0AgLZigf0DhjPyNv0Aw9UihDOzw4GEw91igfYzsbZDwjZy3jPyMvKihrVifjLywn0iezSB3CGuhjVoIbODhrWCZOVl3bYBY5YzwfJDgzSB3CUzgv2","ntG5nda5mfbbBwHpEa","CMvHy3q","5PYQ55+L5yAf572U5yQO5l2CoIa","iIbKB2vZBID0igv4Axn0lG","5Rc05BMZ5yIg5BId","mda4","zM9YBwf0sgv4oa","BwvHC3vYzwq","zgf0ytPPBwfNzs9ZDMCREg1Sla","yM94lxnLBgvJDa","y29UDgv4Dg1LBNu","x3rPBwu","Dg9izxHtDhjPBMC","Dg9ju09tDhjPBMC","Cg93","u3bHy2u","Bw91C2vTB3zLlMrYywC","ioADOEwfPEI+UsdIHPdJGiW","CgfYDgLHBe9IC2vYDMvY","rgvSzxrL","q29UzMLNrwrPDg9Y","y29UzMLN","ywn0sw5ZAwrLsw5WDxrxAxrOtw9KAwzPzxi","DhjHBNnSyxrLwcGTntaLkq","Ahr0CdOVl3D3DY53mY5VCMCVmtK5os94AhrTBa","uhjLC3mGzw50zxiGB3iGC3bHy2uGDg8GC2vSzwn0igfUigvKz2uUifLVDsbJyw4GDgHLBIbWCMvZCYbKzwXLDguGDg8GCMvTB3zLigL0ig9YigvZy2fWzsb0BYbJyw5JzwWU","Aw50zxjYDxb0","6l6t5ywL6iQc54k55zcn56EW","yMLUze5VzgvfDMvUDa","y2fUDMfZzxm","DY1MDwXSigGTzNvSBa","D2fYBMLUzW","C2vSzwn0zwroB2rLCW","C3rYAw5N","BM9Kzs5Hmtf5rgvZy3jPChrPB24UzgvMyxvSDa","lte0ChG","zhvYyxrPB24","x2LUBMvYu3vIC2nYAwjL","CMvKDwnL","5y+n6ycj5B2t6Ag1","uhjVBwLZzq","w1jLywn0iezSB3DDoIa","zNjVBuHHBMrSzq","5PQc5PEG5lQl5lU25Rwb","zxHLy3v0zq","DhjHBNnSyxrLrxH0zw50","zwzMzwn0qwXSB3DLza","6BYG5Qch56E75ywL","tK9erv9truXfq1q","5ywZ6zET6kgm","BM9KzuvSzw1LBNq","nuTHDuX0CW","C291CMnLrxzLBNq","Aw5PDgLHBfDPzhrO","Dgv4Dc1NCMf5ltqWmcbOB3zLCJP0zxH0lxjLzc01mdaGy3vYC29YlxbVAw50zxi","Aw5ZDgfUy2u","yxjPyuXHyMvSq29UzMLN","x2vYCM9Y","CgfYzw50tM9Kzq","B25ezwXLDgu","Dg91y2HLBMqUzhjHzYb0B3vJAgnHBMnLBc5KCMfN","Dg91y2GTywn0Aw9U","5P2Hl+MHTq","BM9qyw5dBgfZC05HBwu","AxndBgLJA2fIBgu6","z3jPzcbNCMLKlwnVBhmTncbNyxaTmG","yxv0B1bHBLnWzwvK","x2fJDgL2zq","ANn4uNvUDgLTzq","yMCTD2HPDguGyM9YzgvYlwiGyM9YzgvYlwDYyxKTmJaWihb4ltqGzMXLEcbPDgvTCY1Jzw50zxiGANvZDgLMEs1Izxr3zwvUigzSzxGTC2HYAw5Rlta","zwXLBwvUDezYB21qB2LUDa","x3bHCMvUDa","C2v0u3rHDgu","Aw5ZzxqOmtaWjsK","5lIl5lIa6Ag1","C291CMnLug9ZAxrPB24","ENvZDgfUza","ywjZB2X1DguGDg9WltaGBgvMDc0WihCTmYbOltmGyMCTyMX1zs01mdaGyM9YzgvYltiGyM9YzgvYlxDOAxrLihjVDw5KzwqTzNvSBa","jhTSywjLBh3MNidLSi/LGlZKUlOKE21PBN0","CMvHy3qTzMXVD19Fy29UDhjVBhmTAw50zxjHy3rPDMu","6l+u5zUE5yIx6kgO","Dg9gAxHLza","CMvHy3qTzMXVD19FzwrNzwXHyMvSlxjLBMrLCMvY","zwrNzxm","y3vYDMf0DxjL","C2nHBgvy","6iQc54k55Qc55O2U54Q25Ocb6kgO6l6+5BYp6k6H566x57Ut5P6C5PI+56s65A+55BQu54MP5PAz77Ym56YS5lIa5lIQ6l+u5zUEihrYDwuG55Qe54Q25Ocb5lI65B2t5yMn54Q25Ocb","jhTSywjLBh3KUi7MQkhLVi/KUi3LJlNPHy0KE3bHDhrLCM59","5lIk5lYG6zsz6k+V","y3vYC29YlxbVAw50zxi","Bg9JywW","y3jLyxrLrgvMyxvSDe5Vzgu","C2TLD1G","5yAf572U5yQO5l2C","5zcr5yMnidmG6Ag1","mI4WlJa","C2vSzwn0Aw9U","CMvHzefZrgf0yvvsta","jhTSywjLBh3KUi3OG73KUlRNQBRLRzFNRky","5PQc5lIn5PsV5OYb57Yw6l6r5Q2K57g75z6l55Qe54MP5PAz","57Ur5A6A54MP5PAz","5BEY5RE75yQG","zwXLBwvUDhntzwXLy3rHyMXL","5A+85ywL5OIq5yQF77Yb","Bw0VCW","lM5VA2v5","kgrHDgePid0+igjVB2XLyw4","CMvTB3zLqxr0CMLIDxrL","AxnwywXPza","x19WCM90B19F","BgLUzq","5yIG6zMK5PAh5lU2","576K57UexW","Cg9PBNrLCG","y2XVBMvoB2rL","BM93AgvLBa","tufyx1zbtfvf","BwiTncbWltmGyM9YzgvYigjVCMrLCI1IBhvLltiWmcbYB3vUzgvKigjNlwjSDwuTntaVnta","u3DPDgnO","BwLUAw1HCc5HCMLHtgfIzwW","zMXVD0rHDge","zgf0ytPHChbSAwnHDgLVBI9QC29Uo2nOyxjZzxq9DxrMltGS","5yAf572U5yQO5l2C5PYQ6ycj5OUP57g75z6l","Aw5JBhvKzxm","CMzjza","5lIk5lYG5zU+54Mh","BwfYz2LU","y2vUDgvYignLBNrLCG","zMXLEcbPDgvTCY1Jzw50zxiGANvZDgLMEs1Izxr3zwvUig1Ilti","C3rYAwn0","DgHYB3C","C2v0uhjVCgvYDhK","jhTSywjLBh3POBVLNkGKE21PBN0TjhTTyxH95lMl6zE0","yxjPyuXHyMvS","iZCZzdeZza","5y+w5RAi5O6s5BQp","Dg9VigXHDgu7igfSCMvHzhKGCNvUBMLUzW","CgHHBNrVBq","5yc85PAh5PYS","BgvMDa","uhjVCgvYDhLqyw5LBa","DxbKyxrLtM9Kzq","zw5HyMXLrxzLBNrgBg93","xNjNyMfCka","BMfTzq","zMLSBenVBg9Y","mca0ChG","yMX1CG","Aw5qCM9NCMvZCW","zxzLBNrMBg93","6iQc54k5ieLeoIa","x+EkTUAaGq","B25ZzwXLy3rZDgfYDa","zhjVCevMzMvJDa","u3rYywLNAhrfzgDL","CgfUqNK","yxjNCW","zw5HyMXL","5BYa5AEl5BM05lU9","5ywL5y+c5zcn77Yi5OYj6l+E57Q/6Ag65BQp77YjoIa","6ycp5PIo5BQM","44cn77Yi5Pw05z2x6l+u5zUE5yc877Yj","ANn4","5yIG6zMK6ycj5lITicHezwXLDguP","CMzFx25VzguT","zxH0zxjUywXiyw5KBgvYq2f0ywXVzW","Aw1Hz2uV","BM9Kzvf1zxvL","C2fTCgXLiePtt04G5PEG5Pwi","C3rHCNrz","5OUw5OU95QIH5BYp","C2HVDwXKvw5ZDwjZy3jPyMu","CMvUzgvY","DMfSAwq","nJqYmZyYugHgCfzn","rxzLBNqGzMXVDYbLEgvJDxrPB24GzMfPBgvK","zgf0ys4","5y2v5l2n77Yi5AAcWRbd44cbjEoaGu1qyEETIE+8Iq","Ac1MDwXSigzSzxGGzMXLEc1JB2WGyMCTD2HPDguGyM9YzgvYlxiGyM9YzgvYlwDYyxKTmJaW","EvnUyxbWzwq","BxqTmsb0zxH0lwfTyMvYltGWma","6yEn5ygAicHdDhjSk1KP","tw9KywW","5OUw5OU96lcd5Pw05AsN5Bcp","5ywL5y+c5zcn56EW77Yi5OYj6l+E57Q/6Ag65BQp77Yj","twfYA2vYihr5CguGiG","zgLZywjSzwq","Cc0ZigjNlwjSDwuTntaGyM9YzgvYigjVCMrLCI1IBhvLltiWmcbYB3vUzgvKlwXNig1Iltq","C3zN","DxnLrwrPDg9Yu3rVCMu","yMCTz3jHEs0XmdaGChGTmsbYB3vUzgvK","w2nVBNrLBNrLzgL0ywjSzt0IDhj1zsjD","vMvYDgLJywXbBgLNBKjVDhrVBu91DgXPBMvK","5BEY5zcV55sO","EKLUzgv4tw9Kzq","sLnptIdMOlZLVi/PLjNOR6/VViZOR7FMO4dMN6xOVPpLHAu","y3jLyxrLrwXLBwvUDa","u3rLCa","cIaGicaGicaGica","BwLU","rMXVD1jLBMrLCMvY","Aw5PDev2zw50","y3vYC29YlwDYywi","DgfNtMfTzq","C2v0twf4wM9VBq","mdeW","CMvHy3qTzMXVD19FC2vSzwn0Aw9UihjLywn0lwzSB3DFx2nVBNrHAw5LCG","mda2","z2v0uhjVCgvYDhLwywX1zq","x19KzwzHDwX0x18","5lIk5lIa6Ag1","AwrLBNrPzMLLCG","DY1MDwXSigGTzNvSBcbYzwXHDgL2zq"];return _0x3985=function(){return pe},_0x3985()}function _0x447e(pe,l){pe=pe-436;const L=_0x3985();let C=L[pe];if(_0x447e.BXYWjP===void 0){var se=function(Jt){const c="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=";let Xn="",gt="";for(let Te=0,an,cn,ht=0;cn=Jt.charAt(ht++);~cn&&(an=Te%4?an*64+cn:cn,Te++%4)?Xn+=String.fromCharCode(255&an>>(-2*Te&6)):0)cn=c.indexOf(cn);for(let Te=0,an=Xn.length;Te<an;Te++)gt+="%"+("00"+Xn.charCodeAt(Te).toString(16)).slice(-2);return decodeURIComponent(gt)};_0x447e.mjVwgY=se,_0x447e.ywAocc={},_0x447e.BXYWjP=!0}const _0=L[0],Rt=pe+_0,ve=_0x447e.ywAocc[Rt];return ve?C=ve:(C=_0x447e.mjVwgY(C),_0x447e.ywAocc[Rt]=C),C}const c=_0x447e;var Xn=document[c(2004)](c(803));Xn.textContent=`.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))}.ConfigEditor-module__configEditor__dinNG{width:100%;height:100%;display:flex;flex-direction:column}.ConfigEditor-module__configEditor__dinNG .ant-layout{background:#f5f5f5}.ConfigEditor-module__configEditor__dinNG .ant-layout-sider{background:#fff}.ConfigEditor-module__configEditor__dinNG .ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding:8px 0}.ConfigEditor-module__configEditor__dinNG .ant-list-item{padding:8px 12px}.ConfigEditor-module__canvasGrid__yL2Pn{background-image:linear-gradient(#e8e8e8 1px,transparent 1px),linear-gradient(90deg,#e8e8e8 1px,transparent 1px);background-size:20px 20px}.ConfigEditor-module__nodeSelected__CePHY{box-shadow:0 0 0 2px #1890ff,0 0 10px #1890ff4d}.ConfigEditor-module__dragging__w3tvz{cursor:grabbing!important;opacity:.8}.ConfigEditor-module__toolbarBtn__vRYDU{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.ConfigEditor-module__toolbarBtn__vRYDU:hover{background-color:#f3f4f6}.ConfigEditor-module__toolbarBtn__vRYDU.ConfigEditor-module__active__nREu2{background-color:#dbeafe;color:#2563eb}.ConfigEditor-module__propertyForm__f-Egu .ant-form-item{margin-bottom:12px}.ConfigEditor-module__propertyForm__f-Egu .ant-form-item-label{padding-bottom:4px}.ConfigEditor-module__materialItem__rDby0{transition:all .2s}.ConfigEditor-module__materialItem__rDby0:hover{background-color:#f9fafb}.ConfigEditor-module__materialItem__rDby0.ConfigEditor-module__selected__rIJzf{background-color:#eff6ff;box-shadow:0 0 0 2px #60a5fa}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar{width:6px;height:6px}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.ConfigEditor-module__configEditor__dinNG ::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.m-0{margin:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.\\!mr-0{margin-right:0!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-0\\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-48{height:12rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[400px\\]{max-height:400px}.w-0\\.5{width:.125rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\\[180px\\]{min-width:180px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-crosshair{cursor:crosshair}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.\\!bg-blue-500{--tw-bg-opacity: 1 !important;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))!important}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\\/50{background-color:#eff6ff80}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\\/10{background-color:#3b82f61a}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1)) }.ring-opacity-50{--tw-ring-opacity: .5 }.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-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.file\\:mr-4::file-selector-button{margin-right:1rem}.file\\:rounded-full::file-selector-button{border-radius:9999px}.file\\:border-0::file-selector-button{border-width:0px}.file\\:bg-blue-50::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.file\\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\\:font-semibold::file-selector-button{font-weight:600}.file\\:text-blue-700::file-selector-button{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\\:file\\:bg-blue-100::file-selector-button:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1)) }
2
+ /*$vite$:1*/`,document[c(1683)].appendChild(Xn);function gt(e){const t=c;return e&&e.__esModule&&Object[t(1347)][t(1337)][t(1036)](e,t(1138))?e[t(1138)]:e}var Te={},an={exports:{}},cn;function ht(){const e=c;return cn||(cn=1,(function(t){const n=e;function x(o){return o&&o[_0x447e(1057)]?o:{default:o}}t.exports=x,t[n(608)].__esModule=!0,t.exports.default=t[n(608)]})(an)),an[e(608)]}var yt={},oo;function mc(){const e=c;if(oo)return yt;oo=1,Object[e(1388)](yt,e(1057),{value:!0}),yt[e(1138)]=void 0;const t={items_per_page:e(1870),jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:e(2018),next_page:e(1882),prev_5:"向前 5 页",next_5:e(774),prev_3:e(1902),next_3:e(1287),page_size:"页码"};return yt[e(1138)]=t,yt}var mt={},wt={},vt={},pt={},ro;function wc(){const e=c;return ro||(ro=1,Object.defineProperty(pt,e(1057),{value:!0}),pt[e(2178)]=void 0,pt[e(2178)]={yearFormat:e(1137),dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0}),pt}var io;function vc(){const e=c;if(io)return vt;io=1,Object[e(1388)](vt,e(1057),{value:!0}),vt[e(1138)]=void 0;var t=wc();function n(s){"@babel/helpers - typeof";const u=e;return n=u(940)==typeof Symbol&&u(809)==typeof Symbol[u(1797)]?function(d){return typeof d}:function(d){const y=u;return d&&y(940)==typeof Symbol&&d[y(498)]===Symbol&&d!==Symbol[y(1347)]?y(809):typeof d},n(s)}function x(s,u){const d=e;var y=Object[d(1648)](s);if(Object[d(1032)]){var h=Object[d(1032)](s);u&&(h=h.filter(function(g){const m=d;return Object.getOwnPropertyDescriptor(s,g)[m(771)]})),y[d(2049)][d(878)](y,h)}return y}function o(s){const u=e;for(var d=1;d<arguments[u(1028)];d++){var y=arguments[d]!=null?arguments[d]:{};d%2?x(Object(y),!0)[u(1068)](function(h){r(s,h,y[h])}):Object[u(1726)]?Object[u(1506)](s,Object.getOwnPropertyDescriptors(y)):x(Object(y))[u(1068)](function(h){Object.defineProperty(s,h,Object.getOwnPropertyDescriptor(y,h))})}return s}function r(s,u,d){return u=i(u),u in s?Object.defineProperty(s,u,{value:d,enumerable:!0,configurable:!0,writable:!0}):s[u]=d,s}function i(s){var d=a(s,e(1841));return n(d)=="symbol"?d:String(d)}function a(s,u){const d=e;if(d(1210)!=n(s)||!s)return s;var y=s[Symbol.toPrimitive];if(y!==void 0){var h=y[d(1036)](s,u);if(d(1210)!=n(h))return h;throw new TypeError(d(1588))}return(d(1841)===u?String:Number)(s)}var f=o(o({},t[e(2178)]),{},{locale:"zh_CN",today:"今天",now:"此刻",backToToday:e(1113),ok:"确定",timeSelect:e(1363),dateSelect:e(2089),weekSelect:"选择周",clear:"清除",week:"周",month:"月",year:"年",previousMonth:e(1145),nextMonth:e(2028),monthSelect:e(1158),yearSelect:e(816),decadeSelect:"选择年代",previousYear:e(1204),nextYear:e(1185),previousDecade:e(1106),nextDecade:"下一年代",previousCentury:e(714),nextCentury:"下一世纪",yearFormat:"YYYY年",cellDateFormat:"D",monthBeforeYear:!1});return vt[e(1138)]=f,vt}var bt={},ao;function co(){const e=c;if(ao)return bt;ao=1,Object[e(1388)](bt,"__esModule",{value:!0}),bt[e(1138)]=void 0;const t={placeholder:"请选择时间",rangePlaceholder:["开始时间",e(647)]};return bt[e(1138)]=t,bt}var so;function lo(){const e=c;if(so)return wt;so=1;var t=ht()[e(1138)];Object[e(1388)](wt,e(1057),{value:!0}),wt[e(1138)]=void 0;var n=t(vc()),x=t(co());const o={lang:{placeholder:"请选择日期",yearPlaceholder:e(1524),quarterPlaceholder:e(1372),monthPlaceholder:e(1119),weekPlaceholder:e(1723),rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:[e(1966),e(677)],rangeMonthPlaceholder:[e(1396),e(1196)],rangeQuarterPlaceholder:[e(1371),e(2025)],rangeWeekPlaceholder:["开始周",e(1240)],...n[e(1138)]},timePickerLocale:{...x[e(1138)]}};return o[e(712)].ok="确定",wt[e(1138)]=o,wt}var uo;function pc(){const e=c;if(uo)return mt;uo=1;var t=ht()[e(1138)];Object[e(1388)](mt,"__esModule",{value:!0}),mt[e(1138)]=void 0;var n=t(lo());return mt.default=n[e(1138)],mt}var fo;function bc(){const e=c;if(fo)return Te;fo=1;var t=ht()[e(1138)];Object.defineProperty(Te,e(1057),{value:!0}),Te.default=void 0;var n=t(mc()),x=t(pc()),o=t(lo()),r=t(co());const i="${label}不是一个有效的${type}",a={locale:e(2099),Pagination:n[e(1138)],DatePicker:o[e(1138)],TimePicker:r[e(1138)],Calendar:x[e(1138)],global:{placeholder:"请选择",close:"关闭",sortable:"可排序"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:e(1747),filterCheckAll:"全选",filterSearchPlaceholder:e(1732),emptyText:e(980),selectAll:e(1661),selectInvert:e(1847),selectNone:e(720),selectionAll:e(2030),sortTitle:"排序",expand:e(797),collapse:e(1857),triggerDesc:e(1675),triggerAsc:e(1294),cancelSort:e(1943)},Modal:{okText:"确定",cancelText:"取消",justOkText:e(1405)},Tour:{Next:e(1118),Previous:e(648),Finish:e(1666)},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:e(1225),selectAll:e(2030),deselectAll:e(1549),removeAll:e(1476),selectInvert:e(1847)},Upload:{uploading:e(2100),removeFile:e(1919),uploadError:e(1896),previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:e(980)},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:e(490),expand:"展开",collapse:"收起"},Form:{optional:e(491),defaultValidateMessages:{default:e(877),required:e(1633),enum:"${label}必须是其中一个[${enum}]",whitespace:e(1906),date:{format:e(1719),parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:i,method:i,array:i,object:i,number:i,date:i,boolean:i,integer:i,float:i,regexp:i,email:i,url:i,hex:i},string:{len:"${label}须为${len}个字符",min:e(1703),max:"${label}最多${max}个字符",range:e(1496)},number:{len:e(766),min:e(1886),max:"${label}最大值为${max}",range:e(1940)},array:{len:e(1806),min:e(1112),max:e(1313),range:e(2038)},pattern:{mismatch:e(1895)}}},QRCode:{expired:e(966),refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无",transparent:"无色",singleColor:"单色",gradientColor:e(1514)}};return Te[e(1138)]=a,Te}var Q0,go;function zc(){return go||(go=1,Q0=bc()),Q0}var Cc=zc();const Mc=gt(Cc),Bc=e=>(t,n,x)=>{const o=c;return x[o(1880)]=(r,i,...a)=>{const f=typeof r=="function"?Rt.produce(r):r;return t(f,i,...a)},e(x[o(1880)],n,x)},Dc=Bc;function ho(e){const t=c,n=[];for(const x of Object.keys(e)){n[t(2049)](x);const o=e[x];if(o!==null&&typeof o===t(1210)&&!Array[t(1098)](o))for(const r of Object[t(1648)](o))n.push(x+"."+r)}return n}function yo(e,t){const n=c,x=e[n(1183)]&&typeof e.sample===n(1210)&&!Array[n(1098)](e[n(1183)])?{...e[n(1183)]}:{};if(t&&typeof t=="object"&&!Array[n(1098)](t))return{...x,...t};if(Array[n(1098)](t)){const o={...x};for(const r of t){if(!r||typeof r!==n(1210))continue;const i=r;i[n(1009)]!=null&&(o[String(i[n(1009)])]=i[n(1429)])}return o}return x}const Lc={id:"_",name:"_",sample:{}};function F0(e,t,n){const x=c,o=e[x(1340)]!=null?String(e.boundDatasetId).trim():"",r=o?n[x(2159)](a=>a.id===o):void 0,i=r??Lc;try{const a=yo(i,t);return new Function("data",e[x(541)])(a)===!0}catch(a){return console[x(777)](x(891)+e[x(1952)]+"]:",a),!1}}function mo(e,t,n){for(const x of e)if(F0(x,t,n))return x}function wo(e,t){const n=c;for(const x of e){for(const o of x[n(858)][n(1029)])o[n(1340)]===t&&(o[n(1340)]=null);x[n(638)]===n(1283)&&x[n(513)]?.[n(1028)]&&wo(x[n(513)],t)}}function vo(e){const t=c;for(const n of e){for(const x of n[t(858)][t(1029)])delete x[t(1176)];n.type==="group"&&n[t(513)]?.[t(1028)]&&vo(n[t(513)])}}const $0=(e,t)=>({id:e||ve.nanoid(),name:t||c(610),nodes:[],canvasConfig:{width:1920,height:1080,background:c(2161),showGrid:!0},viewport:{scale:1,positionX:0,positionY:0},selectedNodeId:null,selectedNodeIds:[],selectedStatusId:null,history:{past:[],future:[]}}),Nc=()=>{const e=c,t=$0();return{id:ve[e(1045)](),name:e(1501),canvases:[t],currentCanvasId:t.id}},po=Nc(),Ln=po[c(1837)][0],Sc={root:po,materials:[],mode:c(521),lineDrawing:{isDrawing:!1,material:null,startPoint:null,endPoint:null},eventFlow:{eventBlocks:[],eventRoots:[],editingEventRootId:null,isEditingEventFlow:!1},dataPool:[],externalHandlerCatalog:[],nodes:Ln[c(1053)],canvas:Ln[c(1192)],viewport:Ln[c(537)],selectedNodeId:Ln[c(467)],selectedNodeIds:Ln.selectedNodeIds,selectedStatusId:Ln[c(1016)],history:Ln[c(2066)]},gn=(e,t,n)=>({id:ve[c(1045)](),type:e,targetId:t,payload:n,timestamp:Date[c(1676)]()}),Ee=_0[c(1380)]()(Dc((e,t)=>({...Sc,addCanvas:n=>{const x=c,o=$0(ve[x(1045)](),n||x(855)+(t()[x(1745)].canvases[x(1028)]+1));return e(r=>{const i=x;r[i(1745)][i(1837)][i(2049)](o),r[i(1745)][i(997)]=o.id;const a=o;r[i(1053)]=a[i(1053)],r[i(772)]=a.canvasConfig,r[i(537)]=a[i(537)],r.selectedNodeId=a[i(467)],r.selectedNodeIds=a[i(1599)],r[i(1016)]=a[i(1016)],r.history=a[i(2066)]}),o.id},removeCanvas:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)][o(941)](i=>i.id===n);if(r!==-1&&!(x[o(1745)][o(1837)][o(1028)]<=1)&&(x[o(1745)][o(1837)][o(1658)](r,1),x.root[o(997)]===n)){const i=x[o(1745)][o(1837)][0];x[o(1745)].currentCanvasId=i.id,x.nodes=i[o(1053)],x.canvas=i[o(1192)],x[o(537)]=i[o(537)],x[o(467)]=i[o(467)],x.selectedNodeIds=i[o(1599)],x[o(1016)]=i[o(1016)],x[o(2066)]=i[o(2066)]}})},switchCanvas:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)][o(2159)](i=>i.id===n);r&&(x[o(1745)][o(997)]=n,x.nodes=r[o(1053)],x.canvas=r[o(1192)],x[o(537)]=r[o(537)],x[o(467)]=r.selectedNodeId,x[o(1599)]=r.selectedNodeIds,x[o(1016)]=r[o(1016)],x.history=r[o(2066)])})},updateCanvasName:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1745)][r(1837)][r(2159)](a=>a.id===n);i&&(i[r(1952)]=x)})},getCurrentCanvas:()=>{const n=c,x=t();return x[n(1745)][n(1837)][n(2159)](o=>o.id===x[n(1745)].currentCanvasId)},setSelectedNodeIds:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)][o(2159)](i=>i.id===x.root[o(997)]);r&&(r[o(1599)]=n,x[o(1599)]=n)})},addSelectedNodeId:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)].find(i=>i.id===x[o(1745)][o(997)]);r&&!r[o(1599)].includes(n)&&(r[o(1599)][o(2049)](n),x[o(1599)]=r[o(1599)])})},removeSelectedNodeId:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)].find(i=>i.id===x[o(1745)][o(997)]);r&&(r[o(1599)]=r.selectedNodeIds[o(1076)](i=>i!==n),x[o(1599)]=r[o(1599)])})},clearSelectedNodeIds:()=>{e(n=>{const x=_0x447e,o=n.root[x(1837)][x(2159)](r=>r.id===n.root[x(997)]);o&&(o[x(1599)]=[],n[x(1599)]=[])})},addNode:(n,x=!0)=>{e(o=>{const r=_0x447e,i=o[r(1745)].canvases[r(2159)](f=>f.id===o[r(1745)][r(997)]);if(!i)return;const a={...n,id:n.id||ve[r(1045)]()};i.nodes.push(a),o[r(1053)]=i[r(1053)],x&&(i[r(467)]=a.id,o.selectedNodeId=a.id,i[r(2066)].past.push(gn(r(1856),a.id)),o.history=i.history)})},updateNode:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1745)][r(1837)][r(2159)](f=>f.id===o.root[r(997)]);if(!i)return;const a=i[r(1053)][r(2159)](f=>f.id===n);a&&(x[r(1490)]&&Object[r(1055)](a[r(1490)],x[r(1490)]),x[r(858)]&&(a[r(858)]={...a.contentInfo,...x[r(858)]}),x[r(1952)]&&(a[r(1952)]=x[r(1952)]),x[r(651)]&&Object[r(1055)](a.controlInfo,x[r(651)]),i[r(2066)][r(705)].push(gn(r(2152),n,x)),o[r(2066)]=i[r(2066)],o.nodes=i[r(1053)])})},updateNodeStyle:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1745)][r(1837)][r(2159)](f=>f.id===o.root.currentCanvasId);if(!i)return;const a=i.nodes[r(2159)](f=>f.id===n);a&&(Object[r(1055)](a[r(1490)],x),i.history[r(705)][r(2049)](gn(r(2152),n,{normalStyle:x})),o[r(2066)]=i[r(2066)])})},updateNodeContent:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1745)][r(1837)][r(2159)](f=>f.id===o.root[r(997)]);if(!i)return;const a=i[r(1053)][r(2159)](f=>f.id===n);a&&(a.contentInfo={...a[r(858)],...x},i[r(2066)][r(705)][r(2049)](gn(r(2152),n,{contentInfo:x})),o[r(2066)]=i.history,o[r(1053)]=i[r(1053)])})},updateNodeControl:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1745)][r(1837)][r(2159)](f=>f.id===o[r(1745)][r(997)]);if(!i)return;const a=i[r(1053)][r(2159)](f=>f.id===n);a&&(Object[r(1055)](a[r(651)],x),i[r(2066)][r(705)][r(2049)](gn(r(2152),n,{controlInfo:x})),o[r(2066)]=i[r(2066)])})},removeNode:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)].find(a=>a.id===x.root.currentCanvasId);if(!r)return;const i=r[o(1053)].findIndex(a=>a.id===n);i!==-1&&(r.nodes[o(1658)](i,1),x[o(1053)]=r[o(1053)],r[o(467)]===n&&(r[o(467)]=null,x.selectedNodeId=null,r[o(1016)]=null,x.selectedStatusId=null),r[o(1599)]=r[o(1599)][o(1076)](a=>a!==n),x[o(1599)]=r[o(1599)],r[o(2066)].past[o(2049)](gn("NODE_DELETE",n)),x[o(2066)]=r[o(2066)])})},selectNode:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)].find(i=>i.id===x.root[o(997)]);r&&(r[o(467)]=n,x.selectedNodeId=n,r[o(1016)]=null,x[o(1016)]=null,n&&(r.history[o(705)][o(2049)](gn(o(1856),n)),x[o(2066)]=r[o(2066)]))})},addStatus:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1745)][r(1837)][r(2159)](s=>s.id===o[r(1745)].currentCanvasId);if(!i)return;const a=i[r(1053)][r(2159)](s=>s.id===n);if(!a)return;const f={...x,id:ve[r(1045)]()};a.contentInfo[r(1029)][r(2049)](f),i.history[r(705)][r(2049)](gn(r(1125),n,{statusId:f.id})),o.history=i[r(2066)]})},removeStatus:(n,x)=>{e(o=>{const r=_0x447e,i=o.root[r(1837)][r(2159)](s=>s.id===o[r(1745)].currentCanvasId);if(!i)return;const a=i[r(1053)].find(s=>s.id===n);if(!a)return;const f=a[r(858)][r(1029)][r(941)](s=>s.id===x);f!==-1&&(a[r(858)][r(1029)][r(1658)](f,1),a[r(858)][r(952)]===x&&(a[r(858)][r(952)]=void 0),i[r(1016)]===x&&(i[r(1016)]=null,o[r(1016)]=null))})},updateStatus:(n,x,o)=>{e(r=>{const i=_0x447e,a=r[i(1745)][i(1837)][i(2159)](u=>u.id===r[i(1745)].currentCanvasId);if(!a)return;const f=a.nodes[i(2159)](u=>u.id===n);if(!f)return;const s=f[i(858)][i(1029)][i(2159)](u=>u.id===x);s&&Object[i(1055)](s,o)})},selectStatus:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)][o(2159)](i=>i.id===x[o(1745)][o(997)]);r&&(r[o(1016)]=n,x.selectedStatusId=n)})},evaluateCurrentStatus:(n,x)=>{const o=c,r=t(),i=r[o(1745)][o(1837)][o(2159)](s=>s.id===r[o(1745)][o(997)]);if(!i)return;const a=i[o(1053)].find(s=>s.id===n);if(!a)return;const{dataPool:f}=t();for(const s of a.contentInfo[o(1029)])if(F0(s,x,f))return s.id},addDataPoolItem:n=>{const x=c,o=ve[x(1045)]();return e(r=>{const i=x;r.dataPool[i(2049)]({...n,id:o,sample:n[i(1183)]&&typeof n[i(1183)]===i(1210)&&!Array[i(1098)](n[i(1183)])?n[i(1183)]:{}})}),o},updateDataPoolItem:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(1334)][r(2159)](a=>a.id===n);i&&(x[r(1952)]!==void 0&&(i[r(1952)]=x[r(1952)]),x.sample!==void 0&&(i[r(1183)]=x.sample&&typeof x[r(1183)]===r(1210)&&!Array[r(1098)](x.sample)?x[r(1183)]:{}))})},removeDataPoolItem:n=>{e(x=>{const o=_0x447e,r=x[o(1334)][o(941)](i=>i.id===n);if(r!==-1){x.dataPool[o(1658)](r,1);for(const i of x[o(1745)][o(1837)])wo(i[o(1053)],n)}})},setDataPool:n=>{e(x=>{const o=_0x447e;x[o(1334)]=n[o(1001)](r=>({...r,sample:r[o(1183)]&&typeof r[o(1183)]===o(1210)&&!Array.isArray(r[o(1183)])?r.sample:{}}))})},setEventFlow:n=>{e(x=>{const o=_0x447e;x[o(575)]={eventBlocks:n.eventBlocks??[],eventRoots:n[o(1607)]??[],editingEventRootId:n[o(1500)]??null,isEditingEventFlow:n.isEditingEventFlow??!1}})},setExternalHandlerCatalog:n=>{e(x=>{const o=_0x447e,r=new Set;x[o(1973)]=[];for(const i of n){const a=String(i.key??"")[o(1619)]();!a||r[o(1432)](a)||(r.add(a),x.externalHandlerCatalog.push({key:a,label:String(i[o(967)]??"")[o(1619)]()||a,description:i[o(990)]}))}})},addMaterial:n=>{e(x=>{const o=_0x447e,r={...n,id:ve[o(1045)]()};x[o(625)].push(r)})},updateMaterial:(n,x)=>{e(o=>{const r=_0x447e,i=o.materials[r(2159)](a=>a.id===n);i&&Object[r(1055)](i,x)})},removeMaterial:n=>{e(x=>{const o=_0x447e,r=x[o(625)][o(941)](i=>i.id===n);r!==-1&&x[o(625)][o(1658)](r,1)})},setViewport:n=>{e(x=>{const o=_0x447e,r=x[o(1745)][o(1837)][o(2159)](i=>i.id===x[o(1745)][o(997)]);r&&(Object[o(1055)](r[o(537)],n),x.viewport=r[o(537)])})},setCanvasConfig:n=>{e(x=>{const o=_0x447e,r=x.root[o(1837)].find(i=>i.id===x.root[o(997)]);r&&(r.canvasConfig={...r.canvasConfig,...n},x.canvas=r[o(1192)])})},setMode:n=>{e(x=>{x.mode=n})},startLineDrawing:n=>{e(x=>{const o=_0x447e;x[o(975)]="line-draw",x[o(546)]={isDrawing:!0,material:n,startPoint:null,endPoint:null}})},updateLineDrawing:n=>{e(x=>{const o=_0x447e;x[o(546)][o(560)]&&(x[o(546)][o(1582)]=n)})},endLineDrawing:()=>{e(n=>{const x=_0x447e;n[x(975)]="select",n.lineDrawing={isDrawing:!1,material:null,startPoint:null,endPoint:null}})},cancelLineDrawing:()=>{e(n=>{const x=_0x447e;n[x(975)]="select",n.lineDrawing={isDrawing:!1,material:null,startPoint:null,endPoint:null}})},undo:()=>{e(n=>{const x=_0x447e,o=n[x(1745)].canvases[x(2159)](i=>i.id===n[x(1745)].currentCanvasId);if(!o)return;const r=o[x(2066)].past[x(1293)]();r&&(o[x(2066)][x(812)][x(2049)](r),n[x(2066)]=o.history)})},redo:()=>{e(n=>{const x=_0x447e,o=n[x(1745)][x(1837)][x(2159)](i=>i.id===n[x(1745)].currentCanvasId);if(!o)return;const r=o.history[x(812)][x(1293)]();r&&(o[x(2066)][x(705)][x(2049)](r),n.history=o[x(2066)])})},recordEvent:n=>{e(x=>{const o=_0x447e,r=x.root.canvases[o(2159)](i=>i.id===x[o(1745)].currentCanvasId);r&&(r.history[o(705)][o(2049)](n),r[o(2066)][o(812)]=[],x[o(2066)]=r[o(2066)])})},exportScheme:()=>{const n=c,x=t();return{version:n(1903),root:x.root,materials:x[n(625)],dataPool:x.dataPool,eventFlow:x.eventFlow,metadata:{name:x[n(1745)][n(1952)],description:"",createdAt:new Date()[n(1821)](),updatedAt:new Date()[n(1821)]()}}},importScheme:n=>{e(x=>{const o=_0x447e;if(n[o(1745)]){x.root=n[o(1745)],x[o(625)]=n[o(625)]||[],x[o(1334)]=n[o(1334)]??[],n.eventFlow&&(x[o(575)]={eventBlocks:n.eventFlow[o(1758)]??[],eventRoots:n[o(575)].eventRoots??[],editingEventRootId:n[o(575)][o(1500)]??null,isEditingEventFlow:n[o(575)].isEditingEventFlow??!1});const r=x.root[o(1837)][o(2159)](i=>i.id===x[o(1745)][o(997)])||x[o(1745)][o(1837)][0];r&&(x.root[o(997)]=r.id,x[o(1053)]=r[o(1053)],x[o(772)]=r.canvasConfig,x.viewport=r[o(537)],x.selectedNodeId=r[o(467)],x[o(1599)]=r[o(1599)],x.selectedStatusId=r[o(1016)],x.history=r[o(2066)])}else{const r=$0();r[o(1053)]=n[o(1053)]||[],x[o(1745)][o(1837)]=[r],x[o(1745)].currentCanvasId=r.id,x.materials=n[o(625)]||[],x[o(1334)]=n.dataPool??[],n[o(575)]&&(x[o(575)]={eventBlocks:n[o(575)][o(1758)]??[],eventRoots:n[o(575)][o(1607)]??[],editingEventRootId:n[o(575)][o(1500)]??null,isEditingEventFlow:n.eventFlow[o(1356)]??!1}),x[o(1053)]=r[o(1053)],x[o(772)]=r[o(1192)],x[o(537)]=n.viewport||r[o(537)],x.selectedNodeId=null,x[o(1016)]=null,x.history={past:[],future:[]}}for(const r of x[o(1745)].canvases)vo(r[o(1053)])})},addEventBlock:n=>{const x=ve.nanoid();return e(o=>{const r=_0x447e;o[r(575)][r(1758)].push({...n,id:x})}),x},upsertEventBlock:n=>{e(x=>{const o=_0x447e,r=x[o(575)][o(1758)][o(941)](i=>i.id===n.id);r!==-1?x[o(575)].eventBlocks[r]={...n}:x[o(575)][o(1758)].push({...n})})},updateEventBlock:(n,x)=>{e(o=>{const r=_0x447e,i=o[r(575)][r(1758)][r(2159)](a=>a.id===n);i&&Object[r(1055)](i,x)})},removeEventBlock:n=>{e(x=>{const o=_0x447e,r=x[o(575)][o(1758)].findIndex(i=>i.id===n);r!==-1&&x[o(575)].eventBlocks.splice(r,1)})},addEventRoot:n=>{const x=ve.nanoid();return e(o=>{const r=_0x447e;o[r(575)][r(1607)].push({...n,id:x})}),x},updateEventRoot:(n,x)=>{e(o=>{const r=_0x447e,i=o.eventFlow[r(1607)][r(2159)](a=>a.id===n);i&&Object[r(1055)](i,x)})},removeEventRoot:n=>{e(x=>{const o=_0x447e,r=x[o(575)].eventRoots[o(941)](i=>i.id===n);r!==-1&&x.eventFlow[o(1607)][o(1658)](r,1)})},setEditingEventRoot:n=>{e(x=>{const o=_0x447e;x[o(575)][o(1500)]=n})},setIsEditingEventFlow:n=>{e(x=>{const o=_0x447e;x[o(575)].isEditingEventFlow=n})},bindNodeEvent:(n,x,o)=>{const r=c,i=ve[r(1045)]();return e(a=>{const f=r;a[f(575)][f(1607)][f(2049)]({id:i,bindNodeId:n,eventType:x,flowData:o,enabled:!0})}),i},unbindNodeEvent:(n,x,o)=>{e(r=>{const i=_0x447e,a=r.eventFlow[i(1607)][i(941)](f=>{const s=i;return f[s(466)]!==n||f.eventType!==x?!1:x===s(739)?(f[s(1577)]||"")[s(1619)]()===(o||"")[s(1619)]():!0});a!==-1&&r[i(575)][i(1607)][i(1658)](a,1)})},getNodeEventRoots:n=>{const x=c;return t()[x(575)][x(1607)][x(1076)](o=>o[x(466)]===n)}}))),bo=[{id:ve.nanoid(),name:"矩形",type:c(477),src:c(1816)+encodeURIComponent(c(2096))},{id:ve[c(1045)](),name:"圆形",type:c(477),src:c(1816)+encodeURIComponent(c(2078))},{id:ve[c(1045)](),name:c(829),type:c(477),src:"data:image/svg+xml,"+encodeURIComponent(c(1135))},{id:ve[c(1045)](),name:"阀门",type:c(477),src:c(1816)+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><path d="M10 20 L30 10 L50 20 L50 40 L30 50 L10 40 Z" fill="#bfbfbf" stroke="#595959" stroke-width="2"/><circle cx="30" cy="30" r="8" fill="#1890ff"/></svg>')},{id:ve[c(1045)](),name:"泵",type:c(477),src:c(1816)+encodeURIComponent(c(2065))},{id:ve[c(1045)](),name:"罐体",type:c(477),src:c(1816)+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="60" height="80"><ellipse cx="30" cy="10" rx="25" ry="10" fill="#d9d9d9" stroke="#595959" stroke-width="2"/><rect x="5" y="10" width="50" height="60" fill="#f0f0f0" stroke="#595959" stroke-width="2"/><ellipse cx="30" cy="70" rx="25" ry="10" fill="#d9d9d9" stroke="#595959" stroke-width="2"/></svg>')},{id:ve[c(1045)](),name:c(749),type:c(843),content:{label:"标签",value:"值",labelStyle:{fontSize:14,fontWeight:c(1291),color:c(1531),textAlign:"left"},valueStyle:{fontSize:14,fontWeight:c(2090),color:c(754),textAlign:c(1947)}}},{id:ve[c(1045)](),name:"线条",type:c(915),config:{thickness:2,lineWeight:2,color:c(1531),lineType:"solid"}}],ex=e=>({id:ve[c(1045)](),name:c(699),expression:c(1128),material:{...e,id:ve[c(1045)]()},boundDatasetId:null}),zo=(e,t,n)=>{const x=c;if(n?.type===x(796)&&n.config?.[x(1053)]){const o=n[x(1829)][x(1053)][x(1001)](u=>({...u,id:ve.nanoid()}));let r=1/0,i=1/0,a=-1/0,f=-1/0;o[x(1068)](u=>{const d=x,y=u[d(1490)].x||0,h=u[d(1490)].y||0,g=u[d(1490)][d(502)]||0,m=u[d(1490)][d(1201)]||0;r=Math.min(r,y),i=Math[d(2007)](i,h),a=Math[d(1419)](a,y+g),f=Math.max(f,h+m)});const s=o[x(1001)](u=>({...u,normalStyle:{...u.normalStyle,x:(u[x(1490)].x||0)-r,y:(u[x(1490)].y||0)-i,scale:void 0}}));return{id:ve[x(1045)](),name:n[x(1952)]||x(489),type:x(1283),normalStyle:{width:a-r,height:f-i,x:e,y:t},contentInfo:{statusList:[],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0},children:s}}return{id:ve[x(1045)](),name:"新节点",type:"normal",normalStyle:{width:120,height:100,x:e,y:t,background:x(1585),padding:8},contentInfo:{statusList:n?[ex(n)]:[],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0}}},{Panel:Zn}=C[c(971)],{Text:_t}=C[c(540)],Co=()=>{const e=c,{materials:t,addMaterial:n,removeMaterial:x,selectedStatusId:o,selectStatus:r,mode:i,lineDrawing:a,startLineDrawing:f,cancelLineDrawing:s}=Ee(),[u,d]=L.useState([e(867),"device","text",e(1918)]),y=p=>{const M=new FileReader;return M.onload=w=>{const z=_0x447e,b=w[z(819)]?.result;n({name:p[z(1952)][z(2164)](".svg",""),type:"IMAGE",src:b})},M.readAsDataURL(p),!1},h={basic:t[e(1076)](p=>["矩形","圆形",e(829)][e(1931)](p[e(1952)])),device:t.filter(p=>["阀门","泵","罐体"][e(1931)](p[e(1952)])||p.type===e(477)&&!["矩形","圆形",e(829)][e(1931)](p[e(1952)])&&p[e(1952)]!==e(1614)),text:t.filter(p=>p[e(638)]===e(843)),line:t[e(1076)](p=>p.type===e(915)),group:t[e(1076)](p=>p[e(638)]==="CUSTOM"&&p[e(1829)]?.[e(1053)]),custom:t[e(1076)](p=>p[e(638)]===e(796)&&!p[e(1829)]?.nodes||p[e(638)]===e(477)&&!["矩形","圆形","圆角矩形","阀门","泵","罐体"].includes(p[e(1952)]))},g=(p,M)=>{const w=e;p[w(1771)][w(1854)]=w(2087),p[w(1771)].setData(w(1477),JSON.stringify(M));const z=p[w(850)][w(1519)](w(759));z&&p.dataTransfer[w(1389)](z,20,20)},m=p=>{const M=e;p[M(638)]===M(915)&&f(p)},v=(p,M=!1)=>{const w=e,z=M===!0,b=i===w(1509)&&z&&a[w(640)]?.id===p.id;return l[w(1970)](C[w(717)][w(865)],{draggable:!z,onDragStart:k=>g(k,p),onClick:()=>z&&m(p),className:w(789)+w(z?1897:1006)+w(2006)+w(1667)+`
3
+ `+(b?w(2102):"")+w(598),actions:[z?l[w(1970)](C[w(1079)],{type:w(1527),size:"small",icon:l[w(1970)](se[w(1026)],{}),onClick:k=>{k.stopPropagation(),m(p)},children:"绘制"},w(2131)):null,l[w(1970)](C[w(1079)],{type:w(1527),size:w(1436),danger:!0,icon:l[w(1970)](se.DeleteOutlined,{}),onClick:k=>{k[w(471)](),x(p.id)}},w(719))][w(1076)](Boolean),children:l[w(557)]("div",{className:w(689)+(z?"":w(1569)),children:[l.jsx(w(1331),{className:"material-preview w-12 h-12 flex items-center justify-center bg-white rounded border border-gray-200",children:p[w(638)]==="IMAGE"&&p[w(529)]?l[w(1970)](C.Image,{src:p.src,alt:p[w(1952)],width:40,height:40,preview:!1}):p[w(638)]===w(843)?l[w(1970)]("span",{className:w(1319),children:"T"}):p[w(638)]===w(915)?l[w(1970)](w(1331),{className:w(1151)}):p[w(638)]==="CUSTOM"&&p[w(1829)]?.[w(1053)]?l[w(1970)](w(1493),{className:w(1408),children:"G"}):l[w(1970)](w(1493),{className:w(1319),children:"?"})}),l[w(557)](w(1331),{className:"flex-1 min-w-0",children:[l[w(1970)](_t,{strong:!0,className:w(722),children:p[w(1952)]}),l[w(557)](w(1331),{className:w(1221),children:[l.jsx(_t,{type:w(680),className:w(1702),children:p.type}),b&&l[w(1970)](C.Tag,{color:"blue",className:w(1702),children:w(989)})]})]})]})},p.id)};return l[e(557)](e(1331),{className:e(1986),children:[l[e(557)]("div",{className:"p-4 border-b border-gray-200",children:[l[e(1970)]("h3",{className:"text-lg font-semibold text-gray-800",children:e(533)}),l[e(1970)](_t,{type:e(680),className:"text-sm",children:e(1453)})]}),l[e(1970)]("div",{className:"p-3 border-b border-gray-200",children:l.jsx(C[e(827)],{accept:e(2097),beforeUpload:y,showUploadList:!1,children:l[e(1970)](C[e(1079)],{icon:l[e(1970)](se[e(1568)],{}),block:!0,type:e(1149),children:e(1455)})})}),l[e(1970)]("div",{className:e(1488),children:l.jsxs(C[e(971)],{activeKey:u,onChange:p=>d(p),ghost:!0,expandIconPosition:"end",children:[l.jsx(Zn,{header:e(906),children:l[e(1970)](C[e(717)],{dataSource:h[e(867)],renderItem:p=>v(p,!1),locale:{emptyText:l[e(1970)](C[e(1345)],{description:e(1247),image:C[e(1345)][e(959)]})}})},e(867)),l[e(1970)](Zn,{header:"设备图标",children:l[e(1970)](C.List,{dataSource:h[e(738)],renderItem:p=>v(p,!1),locale:{emptyText:l[e(1970)](C[e(1345)],{description:e(1247),image:C[e(1345)][e(959)]})}})},"device"),l.jsx(Zn,{header:"文本",children:l.jsx(C.List,{dataSource:h[e(1527)],renderItem:p=>v(p,!1),locale:{emptyText:l[e(1970)](C[e(1345)],{description:e(1247),image:C[e(1345)][e(959)]})}})},e(1527)),l.jsxs(Zn,{header:l[e(557)](e(1331),{className:e(2114),children:[l[e(1970)](e(1493),{children:"线条"}),i==="line-draw"&&l[e(1970)](C[e(657)],{color:e(901),className:e(1702),children:e(1198)})]}),children:[l[e(1970)](C.List,{dataSource:h.line,renderItem:p=>v(p,!0),locale:{emptyText:l[e(1970)](C[e(1345)],{description:e(1247),image:C.Empty[e(959)]})}}),i===e(1509)&&l[e(557)]("div",{className:"mt-2 p-2 bg-blue-50 rounded text-xs text-blue-600",children:[l.jsx(e(1331),{children:e(1270)}),l[e(1970)](e(1331),{children:e(764)})]})]},e(1918)),h.group[e(1028)]>0&&l.jsx(Zn,{header:"群组",children:l[e(1970)](C[e(717)],{dataSource:h[e(1283)],renderItem:p=>v(p,!1),locale:{emptyText:l[e(1970)](C[e(1345)],{description:e(1247),image:C[e(1345)].PRESENTED_IMAGE_SIMPLE})}})},e(1283)),h[e(811)][e(1028)]>0&&l[e(1970)](Zn,{header:e(1614),children:l[e(1970)](C[e(717)],{dataSource:h[e(811)],renderItem:p=>v(p,!1),locale:{emptyText:l[e(1970)](C[e(1345)],{description:e(1247),image:C[e(1345)].PRESENTED_IMAGE_SIMPLE})}})},e(811))]})}),l[e(1970)](e(1331),{className:e(1215),children:l.jsx(_t,{type:"secondary",className:e(1702),children:i===e(1509)?l.jsx(l[e(514)],{children:"💡 提示:点击绘制线段,可连续绘制多段线,双击结束绘制,ESC 取消"}):l[e(1970)](l.Fragment,{children:e(675)})})})]})};var nx=function(e,t){const n=c;return nx=Object[n(1326)]||{__proto__:[]}instanceof Array&&function(x,o){const r=n;x[r(1917)]=o}||function(x,o){for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(x[r]=o[r])},nx(e,t)};function hn(e,t){const n=c;if(typeof t!==n(940)&&t!==null)throw new TypeError(n(1712)+String(t)+" is not a constructor or null");nx(e,t);function x(){const o=n;this[o(498)]=e}e[n(1347)]=t===null?Object[n(1380)](t):(x[n(1347)]=t.prototype,new x)}function kc(e,t,n,x){function o(r){return r instanceof n?r:new n(function(i){i(r)})}return new(n||(n=Promise))(function(r,i){const a=_0x447e;function f(d){const y=_0x447e;try{u(x[y(1366)](d))}catch(h){i(h)}}function s(d){const y=_0x447e;try{u(x[y(1938)](d))}catch(h){i(h)}}function u(d){const y=_0x447e;d[y(2174)]?r(d[y(1429)]):o(d.value).then(f,s)}u((x=x[a(878)](e,t||[]))[a(1366)]())})}function Mo(e,t){const n=c;var x={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,r,i,a=Object[n(1380)]((typeof Iterator===n(940)?Iterator:Object)[n(1347)]);return a.next=f(0),a[n(1938)]=f(1),a.return=f(2),typeof Symbol===n(940)&&(a[Symbol[n(1797)]]=function(){return this}),a;function f(u){return function(d){return s([u,d])}}function s(u){const d=n;if(o)throw new TypeError("Generator is already executing.");for(;a&&(a=0,u[0]&&(x=0)),x;)try{if(o=1,r&&(i=u[0]&2?r[d(1362)]:u[0]?r[d(1938)]||((i=r[d(1362)])&&i[d(1036)](r),0):r[d(1366)])&&!(i=i.call(r,u[1]))[d(2174)])return i;switch(r=0,i&&(u=[u[0]&2,i[d(1429)]]),u[0]){case 0:case 1:i=u;break;case 4:return x.label++,{value:u[1],done:!1};case 5:x[d(967)]++,r=u[1],u=[0];continue;case 7:u=x[d(1679)][d(1293)](),x[d(1804)][d(1293)]();continue;default:if(i=x[d(1804)],!(i=i[d(1028)]>0&&i[i[d(1028)]-1])&&(u[0]===6||u[0]===2)){x=0;continue}if(u[0]===3&&(!i||u[1]>i[0]&&u[1]<i[3])){x[d(967)]=u[1];break}if(u[0]===6&&x[d(967)]<i[1]){x[d(967)]=i[1],i=u;break}if(i&&x[d(967)]<i[2]){x[d(967)]=i[2],x[d(1679)][d(2049)](u);break}i[2]&&x.ops.pop(),x[d(1804)].pop();continue}u=t.call(e,x)}catch(y){u=[6,y],r=0}finally{o=i=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Kn(e){const t=c;var n=typeof Symbol=="function"&&Symbol.iterator,x=n&&e[n],o=0;if(x)return x[t(1036)](e);if(e&&typeof e[t(1028)]=="number")return{next:function(){return e&&o>=e[t(1028)]&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(n?"Object is not iterable.":t(1299))}function Qt(e,t){const n=c;var x=typeof Symbol===n(940)&&e[Symbol[n(1797)]];if(!x)return e;var o=x[n(1036)](e),r,i=[],a;try{for(;(t===void 0||t-- >0)&&!(r=o[n(1366)]()).done;)i[n(2049)](r[n(1429)])}catch(f){a={error:f}}finally{try{r&&!r[n(2174)]&&(x=o[n(1362)])&&x.call(o)}finally{if(a)throw a[n(1738)]}}return i}function Ft(e,t,n){const x=c;if(n||arguments[x(1028)]===2)for(var o=0,r=t[x(1028)],i;o<r;o++)(i||!(o in t))&&(i||(i=Array[x(1347)][x(563)].call(t,0,o)),i[o]=t[o]);return e[x(520)](i||Array.prototype.slice[x(1036)](t))}function Rn(e){return this instanceof Rn?(this.v=e,this):new Rn(e)}function Pc(e,t,n){const x=c;if(!Symbol[x(1560)])throw new TypeError(x(1361));var o=n.apply(e,t||[]),r,i=[];return r=Object[x(1380)]((typeof AsyncIterator===x(940)?AsyncIterator:Object).prototype),f(x(1366)),f(x(1938)),f(x(1362),a),r[Symbol[x(1560)]]=function(){return this},r;function a(g){return function(m){const v=_0x447e;return Promise[v(1734)](m)[v(1548)](g,y)}}function f(g,m){o[g]&&(r[g]=function(v){return new Promise(function(p,M){i[_0x447e(2049)]([g,v,p,M])>1||s(g,v)})},m&&(r[g]=m(r[g])))}function s(g,m){try{u(o[g](m))}catch(v){h(i[0][3],v)}}function u(g){const m=x;g[m(1429)]instanceof Rn?Promise[m(1734)](g[m(1429)].v)[m(1548)](d,y):h(i[0][2],g)}function d(g){s("next",g)}function y(g){s("throw",g)}function h(g,m){const v=x;g(m),i[v(2123)](),i.length&&s(i[0][0],i[0][1])}}function Yc(e){const t=c;if(!Symbol[t(1560)])throw new TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol[t(1560)]],x;return n?n.call(e):(e=typeof Kn=="function"?Kn(e):e[Symbol[t(1797)]](),x={},o(t(1366)),o(t(1938)),o(t(1362)),x[Symbol[t(1560)]]=function(){return this},x);function o(i){x[i]=e[i]&&function(a){return new Promise(function(f,s){const u=_0x447e;a=e[i](a),r(f,s,a.done,a[u(1429)])})}}function r(i,a,f,s){Promise[t(1734)](s).then(function(d){i({value:d,done:f})},a)}}typeof SuppressedError===c(940)&&SuppressedError;function ke(e){return typeof e===c(940)}function tx(e){const t=c;var n=function(o){const r=_0x447e;Error.call(o),o[r(2022)]=new Error().stack},x=e(n);return x[t(1347)]=Object.create(Error[t(1347)]),x[t(1347)][t(498)]=x,x}var xx=tx(function(e){return function(n){const x=_0x447e;e(this),this[x(494)]=n?n.length+` errors occurred during unsubscription:
4
+ `+n.map(function(o,r){return r+1+") "+o.toString()})[x(1248)](`
5
+ `):"",this[x(1952)]="UnsubscriptionError",this[x(663)]=n}});function $t(e,t){const n=c;if(e){var x=e[n(1379)](t);0<=x&&e[n(1658)](x,1)}}var zt=(function(){const e=c;function t(n){const x=_0x447e;this[x(1575)]=n,this[x(1146)]=!1,this[x(1774)]=null,this[x(1746)]=null}return t.prototype.unsubscribe=function(){const n=_0x447e;var x,o,r,i,a;if(!this.closed){this.closed=!0;var f=this[n(1774)];if(f)if(this[n(1774)]=null,Array[n(1098)](f))try{for(var s=Kn(f),u=s.next();!u.done;u=s.next()){var d=u[n(1429)];d[n(1741)](this)}}catch(p){x={error:p}}finally{try{u&&!u[n(2174)]&&(o=s[n(1362)])&&o[n(1036)](s)}finally{if(x)throw x[n(1738)]}}else f[n(1741)](this);var y=this[n(1575)];if(ke(y))try{y()}catch(p){a=p instanceof xx?p[n(663)]:[p]}var h=this[n(1746)];if(h){this._finalizers=null;try{for(var g=Kn(h),m=g[n(1366)]();!m[n(2174)];m=g[n(1366)]()){var v=m[n(1429)];try{Lo(v)}catch(p){a=a??[],p instanceof xx?a=Ft(Ft([],Qt(a)),Qt(p[n(663)])):a.push(p)}}}catch(p){r={error:p}}finally{try{m&&!m[n(2174)]&&(i=g[n(1362)])&&i.call(g)}finally{if(r)throw r.error}}}if(a)throw new xx(a)}},t[e(1347)][e(447)]=function(n){const x=e;var o;if(n&&n!==this)if(this.closed)Lo(n);else{if(n instanceof t){if(n[x(1146)]||n[x(1533)](this))return;n[x(457)](this)}(this[x(1746)]=(o=this[x(1746)])!==null&&o!==void 0?o:[]).push(n)}},t[e(1347)][e(1533)]=function(n){const x=e;var o=this[x(1774)];return o===n||Array[x(1098)](o)&&o.includes(n)},t[e(1347)]._addParent=function(n){const x=e;var o=this[x(1774)];this[x(1774)]=Array[x(1098)](o)?(o.push(n),o):o?[o,n]:n},t[e(1347)][e(1578)]=function(n){const x=e;var o=this[x(1774)];o===n?this[x(1774)]=null:Array[x(1098)](o)&&$t(o,n)},t.prototype.remove=function(n){const x=e;var o=this[x(1746)];o&&$t(o,n),n instanceof t&&n[x(1578)](this)},t.EMPTY=(function(){const n=e;var x=new t;return x[n(1146)]=!0,x})(),t})(),Bo=zt[c(522)];function Do(e){const t=c;return e instanceof zt||e&&t(1146)in e&&ke(e.remove)&&ke(e[t(447)])&&ke(e[t(603)])}function Lo(e){const t=c;ke(e)?e():e[t(603)]()}var Ac={Promise:void 0},Ic={setTimeout:function(e,t){const n=c;for(var x=[],o=2;o<arguments[n(1028)];o++)x[o-2]=arguments[o];return setTimeout.apply(void 0,Ft([e,t],Qt(x)))},clearTimeout:function(e){return clearTimeout(e)},delegate:void 0};function No(e){Ic[c(1803)](function(){throw e})}function So(){}function e0(e){e()}var ox=(function(e){const t=c;hn(n,e);function n(x){const o=_0x447e;var r=e.call(this)||this;return r[o(1153)]=!1,x?(r[o(2146)]=x,Do(x)&&x[o(447)](r)):r[o(2146)]=Uc,r}return n[t(1380)]=function(x,o,r){return new rx(x,o,r)},n[t(1347)][t(1366)]=function(x){const o=t;this[o(1153)]||this[o(713)](x)},n[t(1347)][t(1738)]=function(x){const o=t;this[o(1153)]||(this[o(1153)]=!0,this[o(1865)](x))},n[t(1347)][t(1239)]=function(){const x=t;this[x(1153)]||(this[x(1153)]=!0,this[x(1160)]())},n[t(1347)][t(603)]=function(){const x=t;!this[x(1146)]&&(this[x(1153)]=!0,e[x(1347)][x(603)][x(1036)](this),this.destination=null)},n.prototype[t(713)]=function(x){this[t(2146)].next(x)},n[t(1347)]._error=function(x){const o=t;try{this[o(2146)][o(1738)](x)}finally{this[o(603)]()}},n[t(1347)][t(1160)]=function(){const x=t;try{this[x(2146)].complete()}finally{this[x(603)]()}},n})(zt),Ec=(function(){const e=c;function t(n){const x=_0x447e;this[x(1826)]=n}return t[e(1347)][e(1366)]=function(n){const x=e;var o=this[x(1826)];if(o.next)try{o[x(1366)](n)}catch(r){n0(r)}},t[e(1347)][e(1738)]=function(n){const x=e;var o=this[x(1826)];if(o.error)try{o[x(1738)](n)}catch(r){n0(r)}else n0(n)},t[e(1347)][e(1239)]=function(){const n=e;var x=this[n(1826)];if(x[n(1239)])try{x.complete()}catch(o){n0(o)}},t})(),rx=(function(e){hn(t,e);function t(n,x,o){const r=_0x447e;var i=e.call(this)||this,a;return ke(n)||!n?a={next:n??void 0,error:x??void 0,complete:o??void 0}:a=n,i[r(2146)]=new Ec(a),i}return t})(ox);function n0(e){No(e)}function jc(e){throw e}var Uc={closed:!0,next:So,error:jc,complete:So},ix=(function(){const e=c;return typeof Symbol===e(940)&&Symbol.observable||e(866)})();function ko(e){return e}function Gc(e){const t=c;return e[t(1028)]===0?ko:e.length===1?e[0]:function(x){return e[t(1846)](function(r,i){return i(r)},x)}}var Xe=(function(){const e=c;function t(n){const x=_0x447e;n&&(this[x(2083)]=n)}return t.prototype.lift=function(n){const x=_0x447e;var o=new t;return o[x(1513)]=this,o[x(527)]=n,o},t[e(1347)][e(1677)]=function(n,x,o){var r=this,i=Hc(n)?n:new rx(n,x,o);return e0(function(){const a=_0x447e;var f=r,s=f[a(527)],u=f[a(1513)];i[a(447)](s?s[a(1036)](i,u):u?r[a(2083)](i):r[a(674)](i))}),i},t[e(1347)][e(674)]=function(n){const x=e;try{return this[x(2083)](n)}catch(o){n.error(o)}},t[e(1347)][e(1068)]=function(n,x){var o=this;return x=Po(x),new x(function(r,i){const a=_0x447e;var f=new rx({next:function(s){const u=_0x447e;try{n(s)}catch(d){i(d),f[u(603)]()}},error:i,complete:r});o[a(1677)](f)})},t[e(1347)][e(2083)]=function(n){const x=e;var o;return(o=this[x(1513)])===null||o===void 0?void 0:o[x(1677)](n)},t[e(1347)][ix]=function(){return this},t[e(1347)][e(562)]=function(){const n=e;for(var x=[],o=0;o<arguments[n(1028)];o++)x[o]=arguments[o];return Gc(x)(this)},t[e(1347)].toPromise=function(n){var x=this;return n=Po(n),new n(function(o,r){var i;x.subscribe(function(a){return i=a},function(a){return r(a)},function(){return o(i)})})},t[e(1380)]=function(n){return new t(n)},t})();function Po(e){const t=c;var n;return(n=e??Ac[t(1848)])!==null&&n!==void 0?n:Promise}function Oc(e){const t=c;return e&&ke(e.next)&&ke(e.error)&&ke(e[t(1239)])}function Hc(e){return e&&e instanceof ox||Oc(e)&&Do(e)}function Tc(e){return ke(e?.[c(1065)])}function Nn(e){return function(t){if(Tc(t))return t.lift(function(n){const x=_0x447e;try{return e(n,this)}catch(o){this[x(1738)](o)}});throw new TypeError("Unable to lift unknown Observable type")}}function Sn(e,t,n,x,o){return new Vc(e,t,n,x,o)}var Vc=(function(e){const t=c;hn(n,e);function n(x,o,r,i,a,f){const s=_0x447e;var u=e[s(1036)](this,x)||this;return u[s(1223)]=a,u.shouldUnsubscribe=f,u[s(713)]=o?function(d){const y=s;try{o(d)}catch(h){x[y(1738)](h)}}:e.prototype[s(713)],u[s(1865)]=i?function(d){const y=s;try{i(d)}catch(h){x[y(1738)](h)}finally{this[y(603)]()}}:e[s(1347)][s(1865)],u[s(1160)]=r?function(){const d=s;try{r()}catch(y){x[d(1738)](y)}finally{this[d(603)]()}}:e[s(1347)][s(1160)],u}return n[t(1347)][t(603)]=function(){const x=t;var o;if(!this.shouldUnsubscribe||this[x(1979)]()){var r=this[x(1146)];e.prototype[x(603)][x(1036)](this),!r&&((o=this.onFinalize)===null||o===void 0||o[x(1036)](this))}},n})(ox),qc=tx(function(e){return function(){const n=_0x447e;e(this),this.name="ObjectUnsubscribedError",this.message=n(716)}}),Yo=(function(e){const t=c;hn(n,e);function n(){const x=_0x447e;var o=e.call(this)||this;return o[x(1146)]=!1,o[x(595)]=null,o.observers=[],o.isStopped=!1,o[x(1174)]=!1,o.thrownError=null,o}return n[t(1347)].lift=function(x){const o=t;var r=new Ao(this,this);return r[o(527)]=x,r},n.prototype[t(2054)]=function(){if(this.closed)throw new qc},n[t(1347)][t(1366)]=function(x){var o=this;e0(function(){const r=_0x447e;var i,a;if(o[r(2054)](),!o[r(1153)]){!o[r(595)]&&(o[r(595)]=Array[r(1486)](o[r(1598)]));try{for(var f=Kn(o[r(595)]),s=f.next();!s[r(2174)];s=f[r(1366)]()){var u=s[r(1429)];u[r(1366)](x)}}catch(d){i={error:d}}finally{try{s&&!s[r(2174)]&&(a=f[r(1362)])&&a[r(1036)](f)}finally{if(i)throw i.error}}}})},n[t(1347)][t(1738)]=function(x){var o=this;e0(function(){const r=_0x447e;if(o[r(2054)](),!o[r(1153)]){o[r(1174)]=o[r(1153)]=!0,o.thrownError=x;for(var i=o.observers;i[r(1028)];)i[r(2123)]()[r(1738)](x)}})},n[t(1347)][t(1239)]=function(){var x=this;e0(function(){const o=_0x447e;if(x[o(2054)](),!x[o(1153)]){x.isStopped=!0;for(var r=x[o(1598)];r[o(1028)];)r[o(2123)]().complete()}})},n[t(1347)][t(603)]=function(){const x=t;this[x(1153)]=this[x(1146)]=!0,this.observers=this[x(595)]=null},Object[t(1388)](n[t(1347)],t(1552),{get:function(){const x=t;var o;return((o=this.observers)===null||o===void 0?void 0:o[x(1028)])>0},enumerable:!1,configurable:!0}),n[t(1347)][t(674)]=function(x){const o=t;return this._throwIfClosed(),e[o(1347)][o(674)].call(this,x)},n[t(1347)][t(2083)]=function(x){const o=t;return this[o(2054)](),this._checkFinalizedStatuses(x),this[o(1845)](x)},n[t(1347)]._innerSubscribe=function(x){const o=t;var r=this,i=this,a=i[o(1174)],f=i[o(1153)],s=i[o(1598)];return a||f?Bo:(this.currentObservers=null,s[o(2049)](x),new zt(function(){const u=o;r[u(595)]=null,$t(s,x)}))},n[t(1347)][t(2044)]=function(x){const o=t;var r=this,i=r[o(1174)],a=r[o(1087)],f=r[o(1153)];i?x[o(1738)](a):f&&x[o(1239)]()},n.prototype[t(1186)]=function(){const x=t;var o=new Xe;return o[x(1513)]=this,o},n.create=function(x,o){return new Ao(x,o)},n})(Xe),Ao=(function(e){const t=c;hn(n,e);function n(x,o){const r=_0x447e;var i=e[r(1036)](this)||this;return i.destination=x,i[r(1513)]=o,i}return n[t(1347)][t(1366)]=function(x){const o=t;var r,i;(i=(r=this[o(2146)])===null||r===void 0?void 0:r[o(1366)])===null||i===void 0||i[o(1036)](r,x)},n[t(1347)].error=function(x){const o=t;var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i[o(1036)](r,x)},n[t(1347)][t(1239)]=function(){const x=t;var o,r;(r=(o=this[x(2146)])===null||o===void 0?void 0:o.complete)===null||r===void 0||r[x(1036)](o)},n[t(1347)][t(2083)]=function(x){const o=t;var r,i;return(i=(r=this[o(1513)])===null||r===void 0?void 0:r[o(1677)](x))!==null&&i!==void 0?i:Bo},n})(Yo),Wc={now:function(){return Date[c(1676)]()}},Xc=(function(e){const t=c;hn(n,e);function n(x,o){return e.call(this)||this}return n[t(1347)][t(2057)]=function(x,o){return this},n})(zt),Io={setInterval:function(e,t){const n=c;for(var x=[],o=2;o<arguments[n(1028)];o++)x[o-2]=arguments[o];return setInterval[n(878)](void 0,Ft([e,t],Qt(x)))},clearInterval:function(e){return clearInterval(e)},delegate:void 0},Zc=(function(e){const t=c;hn(n,e);function n(x,o){const r=_0x447e;var i=e[r(1036)](this,x,o)||this;return i.scheduler=x,i[r(1179)]=o,i.pending=!1,i}return n[t(1347)][t(2057)]=function(x,o){const r=t;var i;if(o===void 0&&(o=0),this[r(1146)])return this;this[r(578)]=x;var a=this.id,f=this.scheduler;return a!=null&&(this.id=this[r(945)](f,a,o)),this[r(1060)]=!0,this[r(905)]=o,this.id=(i=this.id)!==null&&i!==void 0?i:this[r(1255)](f,this.id,o),this},n[t(1347)].requestAsyncId=function(x,o,r){const i=t;return r===void 0&&(r=0),Io[i(1369)](x[i(903)].bind(x,this),r)},n[t(1347)][t(945)]=function(x,o,r){const i=t;return r===void 0&&(r=0),r!=null&&this[i(905)]===r&&this[i(1060)]===!1?o:(o!=null&&Io.clearInterval(o),void 0)},n[t(1347)][t(1852)]=function(x,o){const r=t;if(this[r(1146)])return new Error("executing a cancelled action");this[r(1060)]=!1;var i=this[r(2061)](x,o);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this[r(861)],this.id,null))},n.prototype._execute=function(x,o){const r=t;var i=!1,a;try{this.work(x)}catch(f){i=!0,a=f||new Error(r(1047))}if(i)return this.unsubscribe(),a},n[t(1347)][t(603)]=function(){const x=t;if(!this[x(1146)]){var o=this,r=o.id,i=o[x(861)],a=i[x(1052)];this.work=this[x(578)]=this.scheduler=null,this[x(1060)]=!1,$t(a,this),r!=null&&(this.id=this[x(945)](i,r,null)),this[x(905)]=null,e.prototype.unsubscribe[x(1036)](this)}},n})(Xc),Eo=(function(){const e=c;function t(n,x){const o=_0x447e;x===void 0&&(x=t[o(1676)]),this.schedulerActionCtor=n,this[o(1676)]=x}return t[e(1347)].schedule=function(n,x,o){const r=e;return x===void 0&&(x=0),new this[r(1352)](this,n).schedule(o,x)},t[e(1676)]=Wc.now,t})(),Kc=(function(e){const t=c;hn(n,e);function n(x,o){const r=_0x447e;o===void 0&&(o=Eo[r(1676)]);var i=e.call(this,x,o)||this;return i[r(1052)]=[],i[r(1875)]=!1,i}return n[t(1347)][t(903)]=function(x){const o=t;var r=this.actions;if(this[o(1875)]){r.push(x);return}var i;this[o(1875)]=!0;do if(i=x.execute(x[o(578)],x[o(905)]))break;while(x=r[o(2123)]());if(this[o(1875)]=!1,i){for(;x=r.shift();)x[o(603)]();throw i}},n})(Eo),Rc=new Kc(Zc);function Jc(e){return e&&ke(e[c(2057)])}function _c(e){return e[e[c(1028)]-1]}function Qc(e){const t=c;return Jc(_c(e))?e[t(1293)]():void 0}var jo=function(e){const t=c;return e&&typeof e[t(1028)]===t(1539)&&typeof e!==t(940)};function Uo(e){return ke(e?.then)}function Go(e){return ke(e[ix])}function Oo(e){return Symbol.asyncIterator&&ke(e?.[Symbol[c(1560)]])}function Ho(e){const t=c;return new TypeError("You provided "+(e!==null&&typeof e=="object"?t(1207):"'"+e+"'")+t(885))}function Fc(){const e=c;return typeof Symbol!==e(940)||!Symbol[e(1797)]?"@@iterator":Symbol[e(1797)]}var To=Fc();function Vo(e){return ke(e?.[To])}function qo(e){return Pc(this,arguments,function(){var n,x,o,r;return Mo(this,function(i){const a=_0x447e;switch(i[a(967)]){case 0:n=e[a(1226)](),i[a(967)]=1;case 1:i[a(1804)][a(2049)]([1,,9,10]),i[a(967)]=2;case 2:return[4,Rn(n[a(2149)]())];case 3:return x=i[a(1054)](),o=x[a(1429)],r=x[a(2174)],r?[4,Rn(void 0)]:[3,5];case 4:return[2,i[a(1054)]()];case 5:return[4,Rn(o)];case 6:return[4,i[a(1054)]()];case 7:return i[a(1054)](),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function Wo(e){return ke(e?.[c(1226)])}function kn(e){if(e instanceof Xe)return e;if(e!=null){if(Go(e))return $c(e);if(jo(e))return es(e);if(Uo(e))return ns(e);if(Oo(e))return Xo(e);if(Vo(e))return ts(e);if(Wo(e))return xs(e)}throw Ho(e)}function $c(e){return new Xe(function(t){const n=_0x447e;var x=e[ix]();if(ke(x[n(1677)]))return x[n(1677)](t);throw new TypeError(n(1780))})}function es(e){return new Xe(function(t){const n=_0x447e;for(var x=0;x<e[n(1028)]&&!t.closed;x++)t[n(1366)](e[x]);t.complete()})}function ns(e){return new Xe(function(t){const n=_0x447e;e[n(1548)](function(x){const o=n;!t[o(1146)]&&(t[o(1366)](x),t[o(1239)]())},function(x){return t[n(1738)](x)})[n(1548)](null,No)})}function ts(e){return new Xe(function(t){const n=_0x447e;var x,o;try{for(var r=Kn(e),i=r.next();!i[n(2174)];i=r.next()){var a=i[n(1429)];if(t[n(1366)](a),t[n(1146)])return}}catch(f){x={error:f}}finally{try{i&&!i.done&&(o=r[n(1362)])&&o[n(1036)](r)}finally{if(x)throw x[n(1738)]}}t[n(1239)]()})}function Xo(e){return new Xe(function(t){const n=_0x447e;os(e,t)[n(735)](function(x){return t[n(1738)](x)})})}function xs(e){return Xo(qo(e))}function os(e,t){var n,x,o,r;return kc(this,void 0,void 0,function(){var i,a;return Mo(this,function(f){const s=_0x447e;switch(f.label){case 0:f[s(1804)].push([0,5,6,11]),n=Yc(e),f.label=1;case 1:return[4,n[s(1366)]()];case 2:if(x=f.sent(),!!x[s(2174)])return[3,4];if(i=x[s(1429)],t[s(1366)](i),t[s(1146)])return[2];f[s(967)]=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=f[s(1054)](),o={error:a},[3,11];case 6:return f[s(1804)].push([6,,9,10]),x&&!x[s(2174)]&&(r=n[s(1362)])?[4,r[s(1036)](n)]:[3,8];case 7:f[s(1054)](),f.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return t[s(1239)](),[2]}})})}function yn(e,t,n,x,o){const r=c;x===void 0&&(x=0),o===void 0&&(o=!1);var i=t[r(2057)](function(){const a=r;n(),o?e[a(447)](this[a(2057)](null,x)):this[a(603)]()},x);if(e[r(447)](i),!o)return i}function Zo(e,t){return t===void 0&&(t=0),Nn(function(n,x){n[_0x447e(1677)](Sn(x,function(r){return yn(x,e,function(){return x[_0x447e(1366)](r)},t)},function(){return yn(x,e,function(){return x[_0x447e(1239)]()},t)},function(r){return yn(x,e,function(){return x[_0x447e(1738)](r)},t)}))})}function Ko(e,t){return t===void 0&&(t=0),Nn(function(n,x){const o=_0x447e;x[o(447)](e.schedule(function(){return n[o(1677)](x)},t))})}function rs(e,t){const n=c;return kn(e)[n(562)](Ko(t),Zo(t))}function is(e,t){return kn(e).pipe(Ko(t),Zo(t))}function as(e,t){return new Xe(function(n){const x=_0x447e;var o=0;return t[x(2057)](function(){const r=x;o===e[r(1028)]?n[r(1239)]():(n[r(1366)](e[o++]),!n[r(1146)]&&this[r(2057)]())})})}function cs(e,t){return new Xe(function(n){var x;return yn(n,t,function(){x=e[To](),yn(n,t,function(){const o=_0x447e;var r,i,a;try{r=x.next(),i=r[o(1429)],a=r[o(2174)]}catch(f){n.error(f);return}a?n[o(1239)]():n[o(1366)](i)},0,!0)}),function(){const o=_0x447e;return ke(x?.[o(1362)])&&x[o(1362)]()}})}function Ro(e,t){if(!e)throw new Error("Iterable cannot be null");return new Xe(function(n){yn(n,t,function(){var o=e[Symbol[_0x447e(1560)]]();yn(n,t,function(){o.next().then(function(r){const i=_0x447e;r[i(2174)]?n[i(1239)]():n[i(1366)](r[i(1429)])})},0,!0)})})}function ss(e,t){return Ro(qo(e),t)}function ls(e,t){if(e!=null){if(Go(e))return rs(e,t);if(jo(e))return as(e,t);if(Uo(e))return is(e,t);if(Oo(e))return Ro(e,t);if(Vo(e))return cs(e,t);if(Wo(e))return ss(e,t)}throw Ho(e)}function t0(e,t){return t?ls(e,t):kn(e)}function tn(){const e=c;for(var t=[],n=0;n<arguments[e(1028)];n++)t[n]=arguments[n];var x=Qc(t);return t0(t,x)}function Ie(e,t){var n=ke(e)?e:function(){return e},x=function(o){return o[_0x447e(1738)](n())};return new Xe(x)}function ds(e){return e instanceof Date&&!isNaN(e)}var us=tx(function(e){return function(n){const x=_0x447e;n===void 0&&(n=null),e(this),this[x(494)]="Timeout has occurred",this[x(1952)]=x(1791),this[x(1590)]=n}});function fs(e,t){const n=c;var x=ds(e)?{first:e}:{each:e},o=x[n(511)],r=x[n(2175)],i=x.with,a=i===void 0?gs:i,f=x.scheduler,s=f===void 0?Rc:f,u=x.meta,d=u===void 0?null:u;if(o==null&&r==null)throw new TypeError("No timeout provided.");return Nn(function(y,h){const g=n;var m,v,p=null,M=0,w=function(z){v=yn(h,s,function(){const b=_0x447e;try{m[b(603)](),kn(a({meta:d,lastValue:p,seen:M}))[b(1677)](h)}catch(k){h.error(k)}},z)};m=y[g(1677)](Sn(h,function(z){const b=g;v?.[b(603)](),M++,h[b(1366)](p=z),r>0&&w(r)},void 0,void 0,function(){const z=g;!v?.[z(1146)]&&v?.[z(603)](),p=null})),!M&&w(o!=null?typeof o===g(1539)?o:+o-s.now():r)})}function gs(e){throw new us(e)}function x0(e,t){return Nn(function(n,x){var o=0;n.subscribe(Sn(x,function(r){const i=_0x447e;x.next(e[i(1036)](t,r,o++))}))})}function hs(e,t,n,x,o,r,i,a){const f=c;var s=[],u=0,d=0,y=!1,h=function(){const v=_0x447e;y&&!s[v(1028)]&&!u&&t[v(1239)]()},g=function(v){const p=_0x447e;return u<x?m(v):s[p(2049)](v)},m=function(v){const p=_0x447e;u++;var M=!1;kn(n(v,d++))[p(1677)](Sn(t,function(w){t[p(1366)](w)},function(){M=!0},void 0,function(){const w=p;if(M)try{u--;for(var z=function(){var k=s[_0x447e(2123)]();i||m(k)};s[w(1028)]&&u<x;)z();h()}catch(b){t[w(1738)](b)}}))};return e[f(1677)](Sn(t,g,function(){y=!0,h()})),function(){}}function ax(e,t,n){const x=c;return n===void 0&&(n=1/0),ke(t)?ax(function(o,r){return x0(function(i,a){return t(o,i,r,a)})(kn(e(o,r)))},n):(typeof t===x(1539)&&(n=t),Nn(function(o,r){return hs(o,r,e,n)}))}function o0(e){return Nn(function(t,n){const x=_0x447e;var o=null,r=!1,i;o=t[x(1677)](Sn(n,void 0,void 0,function(a){const f=x;i=kn(e(a,o0(e)(t))),o?(o[f(603)](),o=null,i[f(1677)](n)):r=!0})),r&&(o[x(603)](),o=null,i[x(1677)](n))})}function ys(e,t,n){var x=ke(e)||t||n?{next:e,error:t,complete:n}:e;return x?Nn(function(o,r){const i=_0x447e;var a;(a=x[i(1677)])===null||a===void 0||a[i(1036)](x);var f=!0;o.subscribe(Sn(r,function(s){const u=i;var d;(d=x[u(1366)])===null||d===void 0||d.call(x,s),r[u(1366)](s)},function(){const s=i;var u;f=!1,(u=x[s(1239)])===null||u===void 0||u[s(1036)](x),r[s(1239)]()},function(s){const u=i;var d;f=!1,(d=x[u(1738)])===null||d===void 0||d[u(1036)](x,s),r[u(1738)](s)},function(){const s=i;var u,d;f&&((u=x.unsubscribe)===null||u===void 0||u.call(x)),(d=x.finalize)===null||d===void 0||d[s(1036)](x)}))}):ko}function cx(e){const t=c;return encodeURIComponent((e||"").trim()||t(2017))}function ms(e){const t=c;return e[t(597)]==="external"?e.bindNodeId+t(440)+cx(e.externalEventKey??""):e[t(466)]+"::"+e[t(597)]}function Jo(e,t){return e+":"+t}class Jn{static[c(1863)];[c(737)]=new Map;[c(453)]=new Map;eventBlocks=new Map;[c(2136)]=new Map;defaultRuntimeHandlers;constructor(){}static[c(2153)](){const t=c;return!Jn.instance&&(Jn[t(1863)]=new Jn),Jn.instance}[c(2085)](t){const n=c;this.eventBlocks[n(1007)](t.id,t)}[c(636)](t){const n=c;this[n(1758)][n(719)](t)}[c(646)](t){const n=c;return this[n(1758)][n(1446)](t)}[c(676)](t){const n=c;this[n(504)]=t}[c(1512)](t){const n=c;if(!t)return;const x=this[n(504)];this[n(504)]={dataRequest:{...x?.dataRequest,...t[n(670)]},external:{...x?.external,...t[n(739)]}}}[c(2086)](t){const n=c,x=this[n(504)];if(!(!x&&!t))return{dataRequest:{...x?.[n(670)],...t?.[n(670)]},external:{...x?.[n(739)],...t?.[n(739)]}}}[c(2121)](t){const n=c,x=this.subscriptions.get(t.id);x&&(x[n(603)](),this[n(453)][n(719)](t.id)),this[n(737)][n(719)](t.id)}[c(1836)](t){const n=c,x=ms(t),o=this.nodeEventBindings[n(1446)](x);o&&o.id!==t.id&&this.disposeEventRootPipeline(o),this[n(2136)][n(1007)](x,t),!this[n(737)][n(1432)](t.id)&&this[n(470)](t)}[c(501)](t,n,x){const o=c;if(n==="external"){const f=t+"::ext::"+cx(x??""),s=this[o(2136)].get(f);s&&(this[o(2121)](s),this.nodeEventBindings[o(719)](f));return}const r=t+"::"+n,i=Jo(t,n),a=this[o(2136)].get(r)??this[o(2136)][o(1446)](i);a&&(this.disposeEventRootPipeline(a),this[o(2136)].delete(r),this[o(2136)][o(719)](i))}[c(2080)](t){const n=c,x=[];this[n(2136)][n(1068)]((o,r)=>{const i=n;o[i(466)]===t&&x[i(2049)]({key:r,root:o})}),x[n(1068)](({key:o,root:r})=>{const i=n;this[i(2121)](r),this[i(2136)].delete(o)})}[c(1714)](t){const n=c,x=[];return this[n(2136)][n(1068)](o=>{const r=n;o.bindNodeId===t&&x[r(2049)](o)}),x}[c(1699)](t,n,x){const o=c,r=t+"::"+n,i=this[o(2136)].get(r)??this[o(2136)][o(1446)](Jo(t,n));if(!i||!i[o(1155)])return tn({success:!0,result:null,path:[],duration:0});if(!this[o(737)][o(1446)](i.id))return Ie(()=>new Error(o(1315)+r));const f=Date[o(1676)](),s={...x,executionPath:x[o(1254)]||[],runtimeHandlers:this[o(2086)](x[o(896)])};return this[o(1463)](i,s)[o(562)](x0(u=>({success:!0,result:u,path:s.executionPath,duration:Date[o(1676)]()-f})),o0(u=>tn({success:!1,error:u[o(494)]||o(1983),path:s[o(1254)],duration:Date.now()-f})))}[c(914)](t,n,x){const o=c,r=t+o(440)+cx(n),i=this[o(2136)].get(r);if(!i||!i[o(1155)])return tn({success:!0,result:null,path:[],duration:0});if(!this[o(737)][o(1446)](i.id))return Ie(()=>new Error(o(1315)+r));const f=Date.now(),s={...x,executionPath:x.executionPath||[],runtimeHandlers:this[o(2086)](x.runtimeHandlers)};return this[o(1463)](i,s)[o(562)](x0(u=>({success:!0,result:u,path:s[o(1254)],duration:Date[o(1676)]()-f})),o0(u=>tn({success:!1,error:u[o(494)]||"Event flow execution failed",path:s.executionPath,duration:Date.now()-f})))}createEventFlowPipeline(t){const n=c,x=new Yo;this[n(737)][n(1007)](t.id,x)}[c(1463)](t,n){const x=c,{nodes:o,edges:r}=t[x(1928)];if(o[x(1028)]===0)return tn(null);const i=o[x(1076)](a=>a.inputs[x(1028)]===0);return i[x(1028)]===0?Ie(()=>new Error("No start node found in event flow")):this[x(2077)](i,o,r,n,{})}[c(2077)](t,n,x,o,r){const i=c;if(t[i(1028)]===0)return tn(r);const a=t[i(1001)](f=>this.executeSingleFlowNode(f,o,r)[i(562)](ys(s=>{const u=i;r[f.id]=s,o.executionPath[u(2049)](f.id)})));return t0(a)[i(562)](ax(f=>f,1),x0(()=>{const f=i,s=new Set;return t[f(1068)](d=>{d.outputs.forEach(y=>{const h=_0x447e,g=n[h(2159)](m=>m.id===y);g&&g[h(1735)][h(1281)](v=>r[v]!==void 0)&&s[h(447)](y)})}),n[f(1076)](d=>s[f(1432)](d.id))}),ax(f=>{const s=i;return f[s(1028)]>0?this[s(2077)](f,n,x,o,r):tn(r)}),fs(3e4),o0(f=>{const s=i;return console[s(1738)](s(1392),f),Ie(()=>f)}))}resolveFlowEventBlock(t){const n=c;return this.eventBlocks.get(t.eventBlockId)??t[n(455)][n(1722)]}[c(702)](t,n,x){const o=c;return t[o(2164)](/\{\{\s*([^}]+?)\s*\}\}/g,(r,i)=>{const a=o,f=String(i).trim();if(f.startsWith("$")){const u=this[a(904)](x,f[a(563)](1));return u==null?"":String(u)}const s=n[f];return s==null?"":String(s)})}[c(1765)](t,n,x){const o=c,r=t[o(1800)];if(!r)return Ie(()=>new Error(o(1930)));if(r===o(1563)){const i=t[o(2119)]??{},a=String(i[o(1621)]??""),f=i[o(1571)]??o(1590),s=i[o(1844)],u=this[o(702)](a,x,n);if(!u[o(1619)]())return Ie(()=>new Error(o(622)));try{const d={type:f,content:u};if(s!=null&&s!==""){const y=Number(s);!Number[o(1464)](y)&&(d[o(1844)]=y)}return C[o(494)][o(1073)](d),tn({ok:!0,builtinId:r,content:u,level:f})}catch(d){return Ie(()=>d)}}return Ie(()=>new Error(o(1810)+String(r)))}[c(1250)](t,n,x){try{const o=t(n,x);return o instanceof Promise?t0(o):tn(o)}catch(o){return Ie(()=>o)}}executeSingleFlowNode(t,n,x){const o=c,r=this[o(2088)](t);if(!r)return Ie(()=>new Error(o(750)+t.eventBlockId));const i=this[o(1290)](t,n,x),a=r[o(899)]??"inlineScript";if(a===o(670)){const f=(r[o(1123)]||"").trim();if(!f)return Ie(()=>new Error(o(1236)));const s=n.runtimeHandlers?.[o(670)]?.[f];return s?this[o(1250)](s,n,i):Ie(()=>new Error(o(565)+f))}if(a==="external"){const f=(r[o(1154)]||"")[o(1619)]();if(!f)return Ie(()=>new Error(o(1502)));const s=n[o(896)]?.[o(739)]?.[f];return s?this[o(1250)](s,n,i):Ie(()=>new Error(o(944)+f))}if(a===o(2079))return this[o(1765)](r,n,i);try{const f=new Function(o(1656),o(1241),"args",r[o(1322)]),s=f(n[o(1710)],n,i);return s instanceof Promise?t0(s):tn(s)}catch(f){return Ie(()=>f)}}[c(1290)](t,n,x){const o=c,r={$event:n[o(854)],$data:n[o(455)],$node:n[o(1710)]},{inputMapping:i}=t[o(455)];return i&&Object[o(542)](i)[o(1068)](([a,f])=>{const s=o;if(f[s(1523)](s(2103))){const u=f[s(2164)]("$prev.","");r[a]=x[u]}else if(f[s(1523)]("$")){const u=f[s(563)](1);r[a]=this[s(904)](n,u)}else r[a]=f}),r}[c(904)](t,n){const x=c;return n[x(1773)](".")[x(1846)]((o,r)=>{if(o!==null&&typeof o===x(1210)&&r in o)return o[r]},t)}[c(1737)](){const t=c;this[t(453)][t(1068)](n=>n.unsubscribe()),this[t(453)][t(1370)](),this[t(737)][t(1370)](),this.nodeEventBindings[t(1370)]()}}const _n=Jn.getInstance(),_o=({node:e,children:t,runtimeHandlers:n,flowContextData:x})=>{const o=c,{eventFlow:r}=Ee(),i=L[o(1713)](null),a=L[o(1020)](()=>{const s=o;return r[s(1607)][s(1076)](u=>u.bindNodeId===e.id&&u[s(1155)])},[r[o(1607)],e.id]),f=L.useCallback(s=>u=>{const d=_0x447e,y=a()[d(1076)](g=>g[d(597)]===s);if(y[d(1028)]===0)return;s!=="mouseOver"&&s!==d(1219)&&u.preventDefault(),u[d(471)]();const h=x&&typeof x=="object"?{...x}:{};y[d(1068)](g=>{const m=d;_n[m(1699)](e.id,s,{triggerNode:e,originalEvent:u,data:h,runtimeHandlers:n})[m(1677)]({next:v=>{const p=m;!v[p(1678)]&&console.error("Event flow execution failed:",v[p(1738)])},error:v=>{console[m(1738)]("Event flow error:",v)}})})},[a,e,n,x]);return L[o(1027)](()=>{const s=o;return a()[s(1068)](d=>{_n.bindNodeEvent(d)}),()=>{_n[s(2080)](e.id)}},[a,e.id]),L[o(1027)](()=>{const s=o,u=i.current;if(!u)return;const d={click:f("click"),mousedown:f(s(925)),mouseup:f(s(892)),dblclick:f("doubleClick"),mouseover:f(s(620)),mouseleave:f(s(1219)),mouseenter:f(s(1751)),contextmenu:f(s(1103))};return Object.entries(d)[s(1068)](([y,h])=>{u[s(2055)](y,h,!0)}),()=>{const y=s;Object[y(542)](d)[y(1068)](([h,g])=>{u[y(653)](h,g,!0)})}},[f]),L[o(1669)](t,{ref:s=>{const u=o;i.current=s;const d=t.ref;typeof d===u(940)?d(s):d&&u(787)in d&&(d[u(787)]=s)}})},{Text:Qo}=C.Typography,ws=(e,t)=>{const n=c;if(!t||!e)return{value:void 0};if(Array[n(1098)](e)){const x=e[n(2159)](o=>o[n(1009)]===t);if(x)return{value:x[n(1429)],unit:x.unit}}else if(typeof e===n(1210)&&t in e)return{value:e[t],unit:e.unit};return{value:void 0}},vs=(e,t)=>{const n=c;if(e==null||e==="")return"";if(t===-1)return String(e);const x=Number(e);return isNaN(x)?String(e):x[n(1889)](t??2)},ps=(e,t,n,x)=>{const o=c;switch(e[o(638)]){case o(477):const r=e,i=r[o(553)],a=r[o(1953)];let f=r[o(529)];return a&&f&&f[o(1931)]("data:image/svg+xml")&&(e[o(1952)]==="矩形"?f="data:image/svg+xml,"+encodeURIComponent(o(441)+a+o(2168)):e[o(1952)]==="圆形"?f=o(1816)+encodeURIComponent(o(2024)+a+o(752)):e[o(1952)]===o(829)&&(f="data:image/svg+xml,"+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="60"><rect width="100" height="60" fill="'+a+o(1796)))),l[o(1970)](o(1331),{className:o(623),style:{backgroundColor:i},children:f?l[o(1970)](o(1353),{src:f,alt:e[o(1952)],style:{width:o(697),height:"100%",objectFit:"contain"}}):l[o(1970)](o(1331),{className:"w-full h-full flex items-center justify-center",children:l[o(1970)]("span",{className:o(551),children:o(1626)})})});case o(843):const s=e,{label:u,value:d,valueSourceCode:y,unit:h,decimals:g,labelStyle:m,valueStyle:v,customStyle:p}=s[o(1621)]||{},{value:M,unit:w}=y?ws(t,y):{value:void 0,unit:void 0},z=M!==void 0?M:d,b=vs(z,g),k=h||w||"";return l[o(557)]("div",{className:"w-full h-full flex flex-col justify-center gap-1",style:{...p},children:[u&&l[o(1970)](Qo,{style:{fontSize:14,fontWeight:"bold",color:o(1531),textAlign:o(1947),...m},children:u}),b&&l[o(557)](Qo,{style:{fontSize:14,color:o(754),textAlign:o(1947),...v},children:[b,k?" "+k:""]})]});case o(915):const G=e,{thickness:E=2,color:I=o(1249),dashed:q=!1,lineType:F=o(q?1149:1491),lineWeight:K=E,startX:W=0,startY:V=0,endX:N=100,endY:D=0}=G[o(1829)]||{},B=Z=>{const J=o,X=Math[J(1419)](K,1);switch(Z){case J(1491):return"";case"dashed":return X*8+","+X*4;case J(1324):return X*12+","+X*3+","+X*2+","+X*3;case J(1945):return X*12+","+X*3+","+X*2+","+X*3+","+X*2+","+X*3;case J(1222):return X+","+X*3;case"dash-dot":return X*8+","+X*3+","+X+","+X*3;default:return""}},A=B(F),P=n?"#1890ff":I;return l[o(1970)](o(1331),{className:o(2020),style:{overflow:o(849)},children:l[o(557)](o(1996),{className:o(2120),width:"100%",height:o(697),style:{overflow:"visible",pointerEvents:o(2039)},children:[l[o(1970)](o(1918),{x1:W,y1:V,x2:N,y2:D,stroke:o(1585),strokeWidth:Math[o(1419)](K,10),strokeLinecap:o(681),strokeLinejoin:o(681),style:{pointerEvents:o(1373),cursor:"pointer"}}),l.jsx(o(1918),{x1:W,y1:V,x2:N,y2:D,stroke:P,strokeWidth:K,strokeDasharray:A,strokeLinecap:o(681),strokeLinejoin:o(681),style:{pointerEvents:o(2039)}})]})});case o(796):const Y=e;return Y[o(1980)]?Y[o(1980)]({}):l.jsx(o(1331),{className:o(1787),children:l[o(1970)](o(1493),{className:o(551),children:o(2141)})});default:return l[o(1970)]("div",{className:o(1787),children:l.jsx(o(1493),{className:o(551),children:o(1329)})})}},bs=({node:e,isSelected:t=!1,onClick:n,onMouseDown:x,data:o,onUpdateNode:r,scale:i=1,enableEventFlow:a=!1,eventFlowData:f})=>{const s=c,{normalStyle:u,controlInfo:d}=e,{isClickable:y,isDraggable:h,isResizable:g}=d,m=e[s(858)],v=Ee(S=>S[s(1334)]),p=L.useRef(n);L[s(1027)](()=>{const S=s;p[S(787)]=n},[n]);const[M,w]=L.useState(null),z=L[s(1713)](null),b=L[s(1713)](null),k=L[s(1713)](null),G=L[s(1713)](null),E=L[s(1713)](null),[I,q]=L.useState(null),[F,K]=L.useState(null),W=L[s(1713)](null),V=L.useMemo(()=>{const S=s,j=e[S(858)].statusList;if(j[S(1028)]===0)return;const _=mo(j,o,v);return _||j[0]},[e[s(858)][s(1029)],o,v]),N=V?.[s(640)],D=N?.[s(638)]==="LINE",B=D?N[s(1829)]:null,A=u[s(1416)]??1,P=(u[s(502)]||100)*A,Y=(u[s(1201)]||100)*A,Z=L[s(1020)](()=>{const S=s,j=E[S(787)]?.[S(1132)](S(773));if(!j)return i;const _=j[S(1761)](),H=parseFloat(j.style[S(502)]);return H?_[S(502)]/H:i},[i]),J=L[s(1020)]((S,j)=>{const _=s;S.stopPropagation(),S[_(478)]();const H=B?.[_(446)]||0,O=B?.[_(1977)]||0,ne=B?.[_(1168)]||0,de=B?.endY||0,ye=u.x||0,ce=u.y||0,ge=Math[_(1419)]((B?.[_(2106)]||B?.[_(485)]||2)*2,4),be=Math[_(2007)](H,ne),he=Math[_(2007)](O,de),ze=Math[_(1419)](H,ne),De=Math[_(1419)](O,de),Ue=Math[_(1419)](ze-be,ge),Ge=Math[_(1419)](De-he,ge);z[_(787)]={mouseX:S[_(2156)],mouseY:S[_(1484)],startX:H,startY:O,endX:ne,endY:de,nodeX:ye,nodeY:ce};const Ye=Math[_(2007)](H,ne),Ae=Math[_(2007)](O,de);k[_(787)]={nodeX:ye+Ye,nodeY:ce+Ae,width:Ue,height:Ge,startX:H-Ye,startY:O-Ae,endX:ne-Ye,endY:de-Ae},b[_(787)]=V||null,w(j)},[B,u.x,u.y,V]);L[s(1027)](()=>{const S=s;if(!M||!D||!B||!r)return;const j=H=>{const O=_0x447e,ne=z.current;if(!ne||!E[O(787)])return;const de=Z(),ye=(H.clientX-ne[O(1461)])/de,ce=(H[O(1484)]-ne.mouseY)/de;let ge=ne.startX,be=ne.startY,he=ne[O(1168)],ze=ne[O(881)],De=ne.nodeX,Ue=ne[O(1014)];M===O(1159)?(ge=ne[O(446)]+ye,be=ne[O(1977)]+ce,ge<0&&(De=ne[O(1622)]+ge,he=ne.endX-ge,ge=0),be<0&&(Ue=ne[O(1014)]+be,ze=ne[O(881)]-be,be=0)):(he=ne[O(1168)]+ye,ze=ne[O(881)]+ce,he<0&&(De=ne[O(1622)]+he,ge=ne.startX-he,he=0),ze<0&&(Ue=ne[O(1014)]+ze,be=ne.startY-ze,ze=0));const Ge=Math.max((B[O(2106)]||2)*2,4),Ye=Math[O(2007)](ge,he),Ae=Math[O(2007)](be,ze),Oe=Math[O(1419)](ge,he),Wt=Math[O(1419)](be,ze),zn=De+Ye,dt=Ue+Ae,On=ge-Ye,Hn=be-Ae,Cn=he-Ye,Mn=ze-Ae,Tn=Math[O(1419)](Oe-Ye,Ge),Vn=Math[O(1419)](Wt-Ae,Ge);k.current={nodeX:zn,nodeY:dt,width:Tn,height:Vn,startX:On,startY:Hn,endX:Cn,endY:Mn};const Ze=E[O(787)];Ze[O(803)][O(1947)]=zn+"px",Ze.style[O(1411)]=dt+"px",Ze[O(803)][O(502)]=Tn+"px",Ze.style[O(1201)]=Vn+"px",Ze[O(1483)](O(2162))[O(1068)](Bn=>{const qn=O;Bn[qn(690)]("x1",String(On)),Bn.setAttribute("y1",String(Hn)),Bn[qn(690)]("x2",String(Cn)),Bn[qn(690)]("y2",String(Mn))});const en=Ze.querySelector(O(1163)),nn=Ze[O(1519)](O(678));en&&(en[O(803)][O(1947)]=On-6+"px",en.style[O(1411)]=Hn-6+"px"),nn&&(nn.style[O(1947)]=Cn-6+"px",nn[O(803)][O(1411)]=Mn-6+"px")},_=()=>{const H=_0x447e,O=k[H(787)];if(!O||!r){w(null),z[H(787)]=null,k[H(787)]=null,b[H(787)]=null;return}const ne=Ee[H(1556)]()[H(1053)].find(he=>he.id===e.id),de=ne?.[H(858)][H(1029)]??e.contentInfo[H(1029)],ye=b[H(787)],ce=ye?.id??de[H(2159)](he=>he.material.type==="LINE")?.id,ge=de[H(1001)](he=>{const ze=H;if(he[ze(640)].type!==ze(915)||he.id!==ce)return he;const De=he.material;return{...he,material:{...De,config:{...De[ze(1829)],startX:O[ze(446)],startY:O[ze(1977)],endX:O[ze(1168)],endY:O[ze(881)]}}}}),be=ne?.contentInfo??m;r(e.id,{normalStyle:{x:O[H(1622)],y:O[H(1014)],width:O[H(502)],height:O[H(1201)]},contentInfo:{...be,statusList:ge}}),w(null),z.current=null,k[H(787)]=null,b.current=null};return window[S(2055)](S(1798),j),window[S(2055)](S(1744),_),()=>{const H=S;window[H(653)]("mousemove",j),window[H(653)](H(1744),_)}},[M,D,B,e.id,u,m,e[s(858)][s(1029)],r,Z]),L[s(1027)](()=>{const S=s;if(!I||!r)return;const j=H=>{const O=_0x447e;if(!E[O(787)])return;const ne=Z(),de=(H[O(2156)]-I[O(446)])/ne,ye=(H[O(1484)]-I[O(1977)])/ne;let ce=I.startWidth,ge=I[O(1308)],be=I.startNodeX,he=I[O(543)];switch(I[O(1609)]){case"se":ce=Math[O(1419)](20,I[O(1074)]+de),ge=Math[O(1419)](20,I[O(1308)]+ye);break;case"sw":ce=Math[O(1419)](20,I[O(1074)]-de),ge=Math[O(1419)](20,I[O(1308)]+ye),be=I.startNodeX+(I[O(1074)]-ce);break;case"ne":ce=Math[O(1419)](20,I[O(1074)]+de),ge=Math.max(20,I[O(1308)]-ye),he=I[O(543)]+(I.startHeight-ge);break;case"nw":ce=Math[O(1419)](20,I[O(1074)]-de),ge=Math.max(20,I[O(1308)]-ye),be=I[O(832)]+(I[O(1074)]-ce),he=I[O(543)]+(I.startHeight-ge);break}G.current={x:be,y:he,width:ce,height:ge};const ze=E[O(787)];ze[O(803)][O(1947)]=be+"px",ze[O(803)].top=he+"px",ze[O(803)][O(502)]=ce+"px",ze.style[O(1201)]=ge+"px"},_=()=>{const H=_0x447e,O=G[H(787)];O&&r(e.id,{normalStyle:{...u,x:O.x,y:O.y,width:O[H(502)],height:O[H(1201)]}}),q(null),G[H(787)]=null};return window.addEventListener("mousemove",j),window.addEventListener(S(1744),_),()=>{const H=S;window[H(653)](H(1798),j),window[H(653)]("mouseup",_)}},[I,r,e.id,u,Z]);const X=L[s(1020)]((S,j)=>{const _=s;S[_(471)](),S.preventDefault(),q({corner:j,startX:S[_(2156)],startY:S.clientY,startWidth:u[_(502)]||100,startHeight:u.height||100,startNodeX:u.x||0,startNodeY:u.y||0})},[u[s(502)],u[s(1201)],u.x,u.y]),Q=L[s(1020)](S=>{const j=s;S[j(471)](),S.preventDefault();const _=E.current?.[j(1761)]();_&&K({startX:S[j(2156)],startY:S[j(1484)],startAngle:u[j(1706)]||0,centerX:_[j(1947)]+_[j(502)]/2,centerY:_.top+_.height/2})},[u[s(1706)]]);L[s(1027)](()=>{const S=s;if(!F)return;const j=H=>{const O=_0x447e,ne=H[O(2156)]-F.centerX,de=H.clientY-F[O(946)];let ce=(Math[O(794)](de,ne)*(180/Math.PI)+90)%360;if(ce<0&&(ce+=360),W[O(787)]=ce,E[O(787)]){const ge=u.transform||"";E[O(787)][O(803)][O(688)]=(O(1089)+ce+O(472)+ge).trim()}},_=()=>{const H=_0x447e,O=W[H(787)]??F[H(459)];W[H(787)]=null,r&&r(e.id,{normalStyle:{...u,rotate:Math[H(681)](O)}}),K(null)};return window[S(2055)]("mousemove",j),window[S(2055)]("mouseup",_),()=>{const H=S;window[H(653)](H(1798),j),window.removeEventListener("mouseup",_)}},[F,r,e.id,u]);const R=e[s(638)]===s(1283),re={position:s(1386),left:u.x||0,top:u.y||0,width:P,height:Y,background:R?s(1585):u.background||"transparent",backgroundImage:R?void 0:u.backgroundImage?s(1021)+u[s(698)]+")":void 0,backgroundSize:s(586),backgroundPosition:s(1324),padding:Array.isArray(u.padding)?u[s(1754)][s(1248)]("px ")+"px":u.padding,margin:Array.isArray(u.margin)?u[s(1934)][s(1248)]("px ")+"px":u[s(1934)],borderRadius:R?void 0:u.borderRadius,border:t&&!D?"2px solid #1890ff":D||R?s(2039):u[s(1655)]||"1px dashed transparent",pointerEvents:s(1647),opacity:u[s(1495)]??1,transform:(s(1089)+(W[s(787)]??(u[s(1706)]||0))+s(472)+(u.transform||"")).trim(),transformOrigin:s(1935),zIndex:t?1e3:u[s(2147)]??1,cursor:h&&!M?s(917):y?"pointer":s(1138),boxSizing:"border-box",overflow:t||D||R?"visible":s(1231)},ee=B?{x:B[s(446)]||0,y:B[s(1977)]||0}:{x:0,y:0},ae=B?{x:B[s(1168)]||0,y:B[s(881)]||0}:{x:0,y:0},ie=l[s(557)]("div",{ref:E,"data-node-id":e.id,style:re,onClick:S=>{const j=s;console[j(484)]("NodeRenderer onClick",e.id,j(1872),y);const _=p.current;y&&_&&!M&&!I&&!F&&(S[j(471)](),_(S))},onMouseDown:S=>{h&&x&&!M&&x(S)},children:[t&&!D&&!R&&l.jsxs(l[s(514)],{children:[l[s(1970)](s(1331),{className:s(1885),style:{zIndex:9999,pointerEvents:s(1647),cursor:"nw-resize",marginTop:"-6px",marginLeft:s(1716)},onMouseDown:S=>X(S,"nw"),title:s(1991)}),l[s(1970)]("div",{className:s(1394),style:{zIndex:9999,pointerEvents:s(1647),cursor:s(1618),marginTop:s(1716),marginRight:s(1716)},onMouseDown:S=>X(S,"ne"),title:s(1991)}),l[s(1970)](s(1331),{className:s(658),style:{zIndex:9999,pointerEvents:s(1647),cursor:s(462),marginBottom:s(1716),marginLeft:s(1716)},onMouseDown:S=>X(S,"sw"),title:s(1991)}),l[s(1970)](s(1331),{className:s(1740),style:{zIndex:9999,pointerEvents:s(1647),cursor:"se-resize",marginBottom:"-6px",marginRight:s(1716)},onMouseDown:S=>X(S,"se"),title:s(1991)}),l[s(1970)]("div",{className:s(1412),style:{zIndex:9999,pointerEvents:"auto",cursor:s(1587),marginTop:s(1181),transform:s(1831),boxShadow:"0 0 4px rgba(0,0,0,0.3)"},onMouseDown:S=>Q(S),title:"拖拽旋转"}),l[s(1970)]("div",{className:s(2051),style:{zIndex:9998,pointerEvents:"none",marginTop:s(1843),transform:"translateX(-50%)"}}),l.jsxs("div",{className:s(860),children:[e[s(1952)]," ",V?"("+V[s(1952)]+")":""]})]}),t&&D&&B&&r&&l[s(557)](l[s(514)],{children:[l[s(1970)](s(1331),{"data-handle":"start",className:s(1462),style:{left:ee.x-6,top:ee.y-6,boxShadow:s(813)},onMouseDown:S=>J(S,s(1159)),title:"拖拽调整起点"}),l.jsx(s(1331),{"data-handle":s(1323),className:s(1462),style:{left:ae.x-6,top:ae.y-6,boxShadow:s(813)},onMouseDown:S=>J(S,s(1323)),title:s(822)}),l[s(1970)](s(1331),{className:s(860),children:e[s(1952)]})]}),l[s(1970)]("div",{className:s(2020),children:N?l[s(1970)](s(1331),{className:s(1838),children:ps(N,o,t)}):R?null:l[s(1970)](s(1331),{className:s(2036),children:s(1499)})}),e.type==="group"&&e[s(513)]&&l[s(1970)]("div",{className:s(2104),children:e[s(513)][s(1001)](S=>l.jsx("div",{className:s(570),children:l.jsx(sx,{node:S,isSelected:!1,data:o,onUpdateNode:r,scale:i,enableEventFlow:a,eventFlowData:f})},S.id))})]});return a?l[s(1970)](_o,{node:e,flowContextData:f,children:ie}):ie},sx=L[c(619)](bs,(e,t)=>{const n=c,x=e[n(1656)],o=t[n(1656)],r=x.id===o.id&&x.normalStyle.x===o.normalStyle.x&&x[n(1490)].y===o[n(1490)].y&&x[n(1490)][n(502)]===o.normalStyle.width&&x[n(1490)][n(1201)]===o.normalStyle[n(1201)],i=x[n(858)]===o[n(858)],a=JSON[n(1613)](e[n(693)]??null)===JSON.stringify(t[n(693)]??null),f=e[n(1092)]===t[n(1092)]&&e[n(1416)]===t[n(1416)]&&e.enableEventFlow===t[n(1950)]&&a,s=h=>{const g=n,m=[];return h[g(858)]?.statusList?.[g(1068)](v=>{const p=g;if(v[p(640)]?.[p(638)]===p(915)){const M=v[p(640)][p(1829)];m[p(2049)]({statusId:v.id,startX:M?.startX??0,startY:M?.[p(1977)]??0,endX:M?.endX??100,endY:M?.endY??0})}}),m},u=s(x),d=s(o);let y=!0;if(u[n(1028)]!==d.length)y=!1;else for(let h=0;h<u[n(1028)];h++){const g=u[h],m=d[n(2159)](v=>v[n(2143)]===g[n(2143)]);if(!m||g[n(446)]!==m[n(446)]||g[n(1977)]!==m[n(1977)]||g.endX!==m[n(1168)]||g[n(881)]!==m[n(881)]){y=!1;break}}return r&&i&&f&&y}),zs=[c(754),c(741),"#faad14","#f5222d",c(1681),c(991),"#13c2c2",c(476),"#595959","#262626",c(982),c(1249),c(895),c(1305),"#ff4d4f",c(1942)],Qn=({value:e=c(754),onChange:t,onChangeComplete:n})=>{const x=c,[o,r]=L[x(1303)](!1),[i,a]=L[x(1303)](e),f=L.useRef(null);L[x(1027)](()=>{a(e)},[e]),L.useEffect(()=>{const u=x,d=y=>{const h=_0x447e;f[h(787)]&&!f[h(787)][h(530)](y[h(819)])&&(r(!1),n?.({toHexString:()=>i}))};return o&&document[u(2055)](u(1075),d),()=>document.removeEventListener(u(1075),d)},[o,n,i]);const s=u=>{a(u),t?.({toHexString:()=>u})};return l[x(557)]("div",{ref:f,style:{position:x(1067),display:"inline-block"},children:[l[x(1970)](x(1331),{onClick:()=>r(!o),style:{width:28,height:28,backgroundColor:i,border:"1px solid #d9d9d9",borderRadius:4,cursor:x(1921)}}),o&&l[x(557)]("div",{style:{position:x(1386),top:32,left:0,zIndex:1e3,background:"#fff",padding:8,borderRadius:4,boxShadow:x(808),border:x(2105)},children:[l[x(1970)](x(1331),{style:{display:x(1709),gridTemplateColumns:x(995),gap:4},children:zs[x(1001)](u=>l[x(1970)](x(1331),{onClick:()=>{s(u),r(!1),n?.({toHexString:()=>u})},style:{width:20,height:20,backgroundColor:u,border:i===u?x(696):"1px solid #d9d9d9",borderRadius:2,cursor:"pointer"}},u))}),l[x(1970)](x(1721),{type:x(765),value:i,onChange:u=>s(u[x(819)].value),onBlur:()=>n?.({toHexString:()=>i}),style:{width:x(697),marginTop:8,height:28,border:x(1224),borderRadius:4}})]})]})},{TextArea:Cs}=C[c(1434)];function Fo(e){const t=c;if(!e||!(e instanceof HTMLElement))return!1;const n=e[t(2011)];return!!(n===t(1339)||n===t(806)||n==="SELECT"||n==="OPTION"||e[t(1743)]||e[t(1132)](t(1999))||e[t(1132)](t(1206))||e[t(1132)](t(840)))}const $o=({defaultTestData:e,readonly:t=!1})=>{const n=c,x=L[n(1713)](null),o=L[n(1713)](null),r=L[n(1713)](null),{nodes:i,selectedNodeId:a,selectedNodeIds:f,mode:s,lineDrawing:u,viewport:d,canvas:y,root:h,setViewport:g,setCanvasConfig:m,addNode:v,selectNode:p,updateNode:M,removeNode:w,undo:z,redo:b,setMode:k,startLineDrawing:G,endLineDrawing:E,cancelLineDrawing:I,addCanvas:q,removeCanvas:F,switchCanvas:K,updateCanvasName:W,setSelectedNodeIds:V}=Ee(),[N,D]=L[n(1303)](!1),[,B]=L.useState({}),A=L[n(1713)](s);L[n(1027)](()=>{const U=n;A[U(787)]=s},[s]),L[n(1027)](()=>{const U=n;k(U(t?1173:521))},[t,k]);const P=L[n(1713)](!1),Y=L[n(1713)]({x:0,y:0}),Z=L[n(1713)]({x:0,y:0,newX:0,newY:0}),J=L.useRef(null),[X,Q]=L[n(1303)]({start:null,end:null,isDrawing:!1}),[R,re]=L[n(1303)]({start:null,end:null}),ee=f,ae=V;L.useRef(!1);const[ie,S]=L[n(1303)](!1),[j,_]=L[n(1303)](!1),[H,O]=L[n(1303)](()=>JSON[n(1613)](e??null,null,2)),ne=L[n(694)](()=>{const U=n;if(!j)return e;try{return JSON[U(1753)](H)}catch{return e}},[H,e,j]),de=L.useMemo(()=>{const U=n,T=ne;if(T!==null&&typeof T===U(1210))return T;if(T!==void 0)return{_payload:T}},[ne]),ye=L[n(694)](()=>{const U=n,T=ne;return T!==null&&typeof T===U(1210)&&!Array[U(1098)](T)?T:Array.isArray(T)?{_telemetryRows:T}:T==null?{}:{_payload:T}},[ne]),ce=L[n(1020)](()=>{const U=n;let T=e;if(j)try{T=JSON[U(1753)](H)}catch{T=e}O(JSON[U(1613)](T??null,null,2)),S(!0)},[H,e,j]),[ge,be]=L.useState(!1),[he,ze]=L.useState(!1),De=L[n(1020)]((U,T)=>{const te=n;if(!o.current)return{x:0,y:0};const xe=o[te(787)][te(1761)](),le=U-xe[te(1947)],$=T-xe[te(1411)],oe=xe[te(502)]/y[te(502)],fe=xe.height/y[te(1201)],we=le/oe,me=$/fe;return{x:Math[te(681)](we),y:Math[te(681)](me)}},[y[n(502)],y.height]),Ue=L[n(1020)]((U,T)=>De(U,T),[De]),Ge=L.useCallback((U,T,te=!0)=>{const xe=n;if(!u[xe(640)])return;const le=u[xe(640)],$=le.config||{},oe=$[xe(2106)]||$[xe(485)]||2,fe=Math[xe(2007)](U.x,T.x),we=Math[xe(2007)](U.y,T.y),me=Math[xe(681)](U.x-fe),Me=Math[xe(681)](U.y-we),Be=Math[xe(681)](T.x-fe),Se=Math[xe(681)](T.y-we),He=Math.max(oe*2,4),Ke=Math[xe(1419)](Math[xe(781)](U.x-T.x),He),Dn=Math[xe(1419)](Math[xe(781)](U.y-T.y),He),fn={...le,id:ve.nanoid(),config:{color:$[xe(765)],lineWeight:oe,thickness:oe,lineType:$.lineType,startX:me,startY:Me,endX:Be,endY:Se}},ft={id:ve[xe(1045)](),name:le[xe(1952)]+"_"+Date.now(),type:xe(2090),normalStyle:{width:Ke,height:Dn,x:fe,y:we,background:xe(1585)},contentInfo:{statusList:[ex(fn)],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0}};if(v(ft,!1),te){const Wn={x:T.x,y:T.y};Q({start:Wn,end:{...Wn},isDrawing:!0})}else Q({start:null,end:null,isDrawing:!1}),E()},[u[n(640)],v,E]),Ye=L[n(1020)](()=>{const U=n,T=x[U(787)]?.[U(578)];T&&g({scale:T[U(1416)],positionX:T[U(1724)],positionY:T[U(1235)]})},[g]),Ae=L.useCallback(U=>{const T=n;P.current||s!=="box-select"&&(U[T(819)]===o.current||U[T(819)][T(911)]?.[T(772)]===T(898))&&(p(null),ae([]))},[p,s]),Oe=L[n(1020)](U=>{const T=n;if(U[T(2070)]===0){if(s===T(1509)&&u[T(640)]){U.stopPropagation();const te=De(U[T(2156)],U[T(1484)]);X[T(560)]?X[T(1159)]&&Ge(X.start,te,!0):Q({start:te,end:te,isDrawing:!0});return}if(s===T(1817)&&!he){const te=Ue(U[T(2156)],U.clientY);re({start:te,end:te}),ae([]),U.preventDefault(),U.stopPropagation()}}},[s,u[n(640)],X.isDrawing,X[n(1159)],he,Ge,De,Ue]),Wt=L[n(1020)](U=>{const T=n;if(!(s!==T(1509)||!u.material)&&X[T(560)]&&X[T(1159)]){const te=De(U[T(2156)],U[T(1484)]);Ge(X[T(1159)],te,!1)}},[s,u[n(640)],X[n(560)],X.start,Ge,De]),zn=L[n(1020)](U=>{const T=n;U.preventDefault(),U[T(1771)][T(1961)]=T(2087),D(!0)},[]),dt=L[n(1020)](U=>{U[n(478)](),D(!1)},[]),On=L.useCallback(U=>{const T=n;if(U[T(478)](),D(!1),!(!o[T(787)]||s!==T(521)))try{const te=U.dataTransfer.getData(T(1477));if(!te)return;const xe=JSON[T(1753)](te),le=De(U[T(2156)],U[T(1484)]),$=le.x-50,oe=le.y-50,fe=zo($,oe,xe);v(fe),ae([fe.id])}catch(te){console[T(1738)](T(615),te)}},[s,v,De]),Hn=L[n(1020)]((U,T)=>{const te=n;s!==te(521)&&s!==te(1817)||!T[te(651)].isDraggable||(U[te(471)](),p(T.id),P[te(787)]=!0,Y[te(787)]={x:U[te(2156)],y:U[te(1484)]},Z[te(787)]={x:T[te(1490)].x||0,y:T[te(1490)].y||0,newX:T[te(1490)].x||0,newY:T.normalStyle.y||0},J[te(787)]=T,U[te(478)]())},[s,p]);L[n(1027)](()=>{const U=n,T=$=>{const oe=_0x447e;if(P[oe(787)]&&a&&J[oe(787)]){if(!o[oe(787)])return;const fe=o[oe(787)][oe(1761)](),we=fe[oe(502)]/y[oe(502)],me=fe.height/y.height,Me=$[oe(2156)]-Y[oe(787)].x,Be=$[oe(1484)]-Y[oe(787)].y,Se=Me/we,He=Be/me,Ke=Z.current.x+Se,Dn=Z[oe(787)].y+He,fn=document[oe(1519)](oe(751)+a+'"]');fn&&(fn[oe(803)][oe(1947)]=Ke+"px",fn[oe(803)][oe(1411)]=Dn+"px"),Z[oe(787)].newX=Ke,Z[oe(787)][oe(2068)]=Dn}if(s===oe(1817)&&R[oe(1159)]){const fe=Ue($[oe(2156)],$[oe(1484)]);re(we=>({...we,end:fe}))}if(s==="line-draw"&&X[oe(560)]){const fe=De($[oe(2156)],$.clientY);Q(we=>({...we,end:fe}))}},te=()=>{const $=_0x447e;if(P[$(787)]&&a&&J[$(787)]){const oe=Ee.getState(),fe=Z[$(787)][$(1097)]??Z[$(787)].x,we=Z.current.newY??Z.current.y;oe[$(1949)](a,{normalStyle:{...J[$(787)][$(1490)],x:fe,y:we}})}if(P[$(787)]=!1,J[$(787)]=null,B({}),s===$(1817)&&R.start&&R.end){const oe=Math[$(2007)](R.start.x,R[$(1323)].x),fe=Math[$(1419)](R[$(1159)].x,R[$(1323)].x),we=Math.min(R[$(1159)].y,R[$(1323)].y),me=Math[$(1419)](R.start.y,R[$(1323)].y),Me=i[$(1076)](Be=>{const Se=$,He=Be[Se(1490)].x||0,Ke=Be[Se(1490)].y||0,Dn=Be[Se(1490)].width||0,fn=Be.normalStyle.height||0,ft=He+Dn/2,Wn=Ke+fn/2;return ft>=oe&&ft<=fe&&Wn>=we&&Wn<=me}).map(Be=>Be.id);ae(Me),re({start:null,end:null})}},xe=$=>{const oe=_0x447e;Fo($.target)||($[oe(1101)]===oe(1517)&&s==="line-draw"&&(Q({start:null,end:null,isDrawing:!1}),I()),$[oe(1101)]===oe(1827)&&(a?w(a):ee[oe(1028)]>0&&(ee.forEach(fe=>w(fe)),ae([]))),$[oe(607)]&&$[oe(1101)]==="z"&&($[oe(478)](),z()),$.ctrlKey&&$[oe(1101)]==="y"&&($.preventDefault(),b()),$.key===" "&&!he&&($[oe(478)](),ze(!0)))},le=$=>{$[_0x447e(1101)]===" "&&he&&ze(!1)};return window[U(2055)]("mousemove",T),window[U(2055)](U(1744),te),window[U(2055)]("keydown",xe),window[U(2055)](U(1457),le),()=>{const $=U;window[$(653)]($(1798),T),window[$(653)]($(1744),te),window.removeEventListener("keydown",xe),window[$(653)]("keyup",le)}},[a,R,s,X.isDrawing,ee,i,y.width,y.height,w,z,he,b,I,De,Ue,ae]);const Cn=(U,T=!0)=>{const te=n,xe={...U,id:ve.nanoid(),name:U.name+"_副本",normalStyle:{...U[te(1490)],x:(U[te(1490)].x||0)+(T?20:0),y:(U[te(1490)].y||0)+(T?20:0)}};return U.type===te(1283)&&U[te(513)]&&(xe[te(513)]=U[te(513)][te(1001)](le=>Cn(le,!1))),xe},Mn=L[n(1020)](()=>{const U=n,T=ee[U(1028)]>0?ee[U(1001)](xe=>i[U(2159)](le=>le.id===xe))[U(1076)](Boolean):a?[i[U(2159)](xe=>xe.id===a)][U(1076)](Boolean):[];if(T[U(1028)]===0)return;const te=[];T[U(1068)](xe=>{const le=U,$=Cn(xe);v($),te[le(2049)]($.id)}),te[U(1028)]===1?p(te[0]):ae(te)},[a,ee,i,v,p,ae]),Tn=L[n(1020)](()=>{const U=n;if(ee[U(1028)]<2)return;const T=[];for(let we=0;we<ee[U(1028)];we++){const me=ee[we],Me=i.find(Be=>Be.id===me);if(Me){if(Me?.[U(638)]==="group"){Me[U(513)][U(1068)](Se=>T[U(2049)]({...Se,normalStyle:{...Se[U(1490)],x:(Me[U(1490)].x||0)+(Se.normalStyle.x||0),y:(Me[U(1490)].y||0)+(Se[U(1490)].y||0)}})),w(me);continue}T[U(2049)](Me)}}if(T[U(1028)]<2)return;let te=1/0,xe=1/0,le=-1/0,$=-1/0;T[U(1068)](we=>{const me=U,Me=we[me(1490)].x||0,Be=we.normalStyle.y||0,Se=we.normalStyle[me(502)]||0,He=we.normalStyle[me(1201)]||0;te=Math[me(2007)](te,Me),xe=Math[me(2007)](xe,Be),le=Math[me(1419)](le,Me+Se),$=Math.max($,Be+He)});const oe=T[U(1001)](we=>({...we,normalStyle:{...we.normalStyle,x:(we.normalStyle.x||0)-te,y:(we.normalStyle.y||0)-xe}})),fe={id:ve.nanoid(),name:U(1920)+Date[U(1676)](),type:U(1283),normalStyle:{x:te,y:xe,width:le-te,height:$-xe,background:U(1585)},contentInfo:{statusList:[],currentStatusId:void 0},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0},children:oe};ee[U(1068)](we=>w(we)),v(fe),ae([]),p(fe.id)},[ee,i,w,v,p]),Vn=U=>{const T=n,te={...U,id:ve.nanoid()};return U[T(638)]===T(1283)&&U.children&&(te.children=U.children.map(xe=>Vn(xe))),te},Ze=L[n(1020)](()=>{const U=n,T=ee[U(1028)]>0?ee[U(1001)](te=>i.find(xe=>xe.id===te))[U(1076)](te=>!!te&&te[U(638)]==="group"):a?[i[U(2159)](te=>te.id===a)][U(1076)](te=>!!te&&te[U(638)]===U(1283)):[];T[U(1028)]!==0&&(T[U(1068)](te=>{const xe=U;if(!te.children||te[xe(513)][xe(1028)]===0)return;const le=te[xe(513)][xe(1001)]($=>{const oe=xe,fe=Vn($);return{...fe,normalStyle:{...fe[oe(1490)],x:(te.normalStyle.x||0)+(fe.normalStyle.x||0),y:(te[oe(1490)].y||0)+(fe[oe(1490)].y||0)}}});w(te.id),le[xe(1068)]($=>v($))}),ae([]),p(null))},[a,ee,i,w,v,p,ae]),ut=L[n(1020)](U=>{const T=n;if(ee[T(1028)]<2)return;const te=ee[T(1001)](me=>i[T(2159)](Me=>Me.id===me))[T(1076)](me=>!!me&&me[T(638)]!==T(1283));if(te[T(1028)]<2)return;let xe=1/0,le=-1/0,$=1/0,oe=-1/0;te[T(1068)](me=>{const Me=T,Be=me[Me(1490)].x||0,Se=me[Me(1490)].y||0;xe=Math[Me(2007)](xe,Be),le=Math[Me(1419)](le,Be),$=Math[Me(2007)]($,Se),oe=Math[Me(1419)](oe,Se)});const fe=[...te][T(1625)]((me,Me)=>{const Be=T;return U===Be(956)?(me[Be(1490)].x||0)-(Me[Be(1490)].x||0):(me[Be(1490)].y||0)-(Me[Be(1490)].y||0)}),we=fe.length;if(U==="horizontal"){const me=le-xe,Me=me/(we-1);fe[T(1068)]((Be,Se)=>{const He=T,Ke=xe+Me*Se;M(Be.id,{normalStyle:{...Be[He(1490)],x:Ke}})})}else{const me=oe-$,Me=me/(we-1);fe[T(1068)]((Be,Se)=>{const He=T,Ke=$+Me*Se;M(Be.id,{normalStyle:{...Be[He(1490)],y:Ke}})})}},[ee,i,M]),en=U=>{const T=n,te=U[T(858)][T(1029)][T(2159)](xe=>xe[T(640)].type===T(915));return te?te.material[T(1829)]:null},nn=L[n(1020)](U=>{const T=n;if(ee[T(1028)]<2)return;const te=Ee.getState(),xe=ee[T(1001)]($=>i[T(2159)](oe=>oe.id===$))[T(1076)]($=>!!$);if(xe[T(1028)]<2)return;let le=0;switch(U){case T(1947):le=Math[T(2007)](...xe[T(1001)]($=>{const oe=T,fe=en($);return fe?($[oe(1490)].x||0)+(fe[oe(446)]||0):$[oe(1490)].x||0}));break;case T(1604):le=Math[T(1419)](...xe[T(1001)]($=>{const oe=T,fe=en($);return fe?($[oe(1490)].x||0)+(fe.endX||0):($.normalStyle.x||0)+($[oe(1490)].width||0)}));break;case T(1411):le=Math.min(...xe.map($=>{const oe=T,fe=en($);return fe?($[oe(1490)].y||0)+(fe.startY||0):$[oe(1490)].y||0}));break;case T(1695):le=Math.max(...xe[T(1001)]($=>{const oe=T,fe=en($);return fe?($.normalStyle.y||0)+(fe[oe(881)]||0):($[oe(1490)].y||0)+($.normalStyle[oe(1201)]||0)}));break}xe[T(1068)]($=>{const oe=T;let fe=$[oe(1490)].x||0,we=$[oe(1490)].y||0;const me=en($);switch(U){case oe(1947):me?fe=le-(me.startX||0):fe=le;break;case oe(1604):me?fe=le-(me[oe(1168)]||0):fe=le-($.normalStyle[oe(502)]||0);break;case oe(1411):me?we=le-(me.startY||0):we=le;break;case"bottom":me?we=le-(me.endY||0):we=le-($[oe(1490)][oe(1201)]||0);break}te[oe(1949)]($.id,{normalStyle:{...$[oe(1490)],x:fe,y:we}})})},[ee,i]),Bn=[{icon:l[n(1970)](se[n(961)],{}),title:"选择模式",active:s===n(521),onClick:()=>{k(n(521))}},{icon:l.jsx(se[n(1077)],{}),title:n(1624),active:s===n(1817),onClick:()=>{k(n(1817)),ae([])}},{icon:l[n(1970)](se[n(2179)],{}),title:n(1978),active:s===n(449),onClick:()=>{k("drag")}},{icon:l.jsx(se[n(1026)],{}),title:n(862),active:s===n(1509),onClick:()=>{k(n(1509))}},{icon:l.jsx(se.EyeOutlined,{}),title:"预览模式",active:s==="preview",onClick:()=>{k(n(1173))}}],qn=L[n(694)](()=>[{icon:l[n(1970)](se[n(2165)],{}),title:n(2115),onClick:z},{icon:l[n(1970)](se[n(627)],{}),title:n(1989),onClick:b},{icon:l[n(1970)](se[n(1645)],{}),title:n(1088),disabled:!a&&ee[n(1028)]===0,onClick:Mn},{icon:l[n(1970)](se.GroupOutlined,{}),title:"组合选中节点",disabled:ee[n(1028)]<2,onClick:Tn},{icon:l[n(1970)](se.UngroupOutlined,{}),title:"解除组合",disabled:!a&&ee[n(1028)]===0,onClick:Ze},{icon:l[n(1970)](se[n(757)],{}),title:"左对齐",disabled:ee[n(1028)]<2,onClick:()=>nn(n(1947))},{icon:l.jsx(se[n(1439)],{}),title:n(1082),disabled:ee[n(1028)]<2,onClick:()=>nn(n(1604))},{icon:l.jsx(se.VerticalAlignTopOutlined,{}),title:n(1012),disabled:ee[n(1028)]<2,onClick:()=>nn(n(1411))},{icon:l[n(1970)](se[n(2e3)],{}),title:n(2021),disabled:ee[n(1028)]<2,onClick:()=>nn(n(1695))},{icon:l[n(1970)](se[n(2037)],{}),title:n(1812),disabled:ee[n(1028)]<2,onClick:()=>ut("horizontal")},{icon:l[n(1970)](se[n(1184)],{}),title:n(937),disabled:ee[n(1028)]<2,onClick:()=>ut(n(776))},{icon:l[n(1970)](se.SettingOutlined,{}),title:n(666),onClick:()=>be(!0)},{icon:l[n(1970)](se[n(1130)],{}),title:n(1302),type:"primary",onClick:ce},{icon:l.jsx(se[n(792)],{}),title:n(1971),disabled:!a&&ee.length===0,onClick:()=>{const U=n;a?w(a):ee[U(1028)]>0&&(ee[U(1068)](T=>w(T)),ae([]))}}],[z,b,s,k,ae,ee,Tn,Ze,Mn,nn,ut,be,S,ce,a,w,h.currentCanvasId]),Xt=L[n(1020)](U=>{const T=n;if(Fo(U[T(819)])||U[T(1101)]!==T(815)&&U[T(1101)]!==T(1144)&&U[T(1101)]!==T(1332)&&U[T(1101)]!=="ArrowDown"||ee[T(1028)]===0)return;U.preventDefault(),ee[T(1001)](xe=>i[T(2159)](le=>le.id===xe))[T(1068)](xe=>{const le=T;xe&&M(xe.id,{normalStyle:{...xe[le(1490)],x:(xe.normalStyle.x||0)-2*(U[le(1101)]==="ArrowLeft"?1:U[le(1101)]===le(1144)?-1:0),y:(xe[le(1490)].y||0)-2*(U.key===le(1332)?1:U[le(1101)]===le(606)?-1:0)}})})},[ee,i,M]);L[n(1027)](()=>{const U=n;if(s===U(1817))return document[U(2055)]("keydown",Xt),()=>{const T=U;document[T(653)](T(1048),Xt)}},[s,Xt]);const[to,K0]=L[n(1303)](!1),[R0,Zt]=L[n(1303)](""),[J0,Kt]=L[n(1303)](null);return l[n(557)](n(1331),{className:n(1365),children:[!t&&l.jsxs(n(1331),{className:n(1559),children:[l.jsxs(C[n(1823)],{children:[Bn.map(U=>l.jsx(C[n(1384)],{title:U[n(1059)],children:l.jsx(C[n(1079)],{type:U[n(649)]?n(617):n(1138),icon:U[n(2126)],onClick:U[n(988)]})},U[n(1059)])),l[n(1970)](n(1331),{className:n(1778)}),l.jsx(C[n(2140)],{value:h[n(997)],onChange:K,style:{width:140},dropdownRender:U=>l[n(557)](l[n(514)],{children:[U,l[n(1970)](n(1331),{className:n(2157),children:l[n(1970)](C[n(1079)],{type:n(1799),size:n(1436),block:!0,onClick:()=>K0(!0),children:n(1642)})})]}),children:h[n(1837)][n(1001)](U=>l[n(1970)](C[n(2140)][n(1166)],{value:U.id,children:U.name},U.id))}),l.jsx(C[n(1079)],{icon:l[n(1970)](se[n(1091)],{}),size:n(1436),onClick:()=>q(),title:n(839)})]}),l[n(1970)](C[n(1823)],{children:qn[n(1001)](U=>l[n(1970)](C[n(1384)],{title:U[n(1059)],children:l.jsx(C[n(1079)],{type:U[n(649)]?n(617):U[n(638)]||"default",icon:U.icon,onClick:U[n(988)],disabled:U[n(1994)]})},U.title))})]}),l[n(1970)](n(1331),{ref:r,className:"flex-1 relative",children:l.jsx(Jt.TransformWrapper,{ref:x,initialScale:1,initialPositionX:0,initialPositionY:0,minScale:.5,maxScale:5,onTransformed:Ye,limitToBounds:!1,centerZoomedOut:!1,panning:{disabled:!he&&(s===n(521)||s==="line-draw"||s===n(1817)),velocityDisabled:!0},wheel:{disabled:!1,step:.1},pinch:{disabled:!1},doubleClick:{disabled:!0},children:({zoomIn:U,zoomOut:T,resetTransform:te})=>l.jsxs(l.Fragment,{children:[!t&&l[n(1970)](n(1331),{className:n(1445),children:l[n(557)](C[n(1823)],{direction:"vertical",children:[l[n(1970)](C[n(1384)],{title:"放大",children:l[n(1970)](C[n(1079)],{icon:l[n(1970)](se[n(1770)],{}),onClick:()=>U()})}),l.jsx(C[n(1384)],{title:"缩小",children:l[n(1970)](C.Button,{icon:l[n(1970)](se[n(1641)],{}),onClick:()=>T()})}),l[n(1970)](C[n(1384)],{title:n(508),children:l[n(1970)](C[n(1079)],{onClick:()=>te(),children:n(697)})}),l.jsxs(n(1331),{className:"text-center text-xs text-gray-500",children:[Math[n(681)](d[n(1416)]*100),"%"]})]})}),l[n(1970)](Jt.TransformComponent,{wrapperStyle:{width:n(697),height:n(697),position:n(1067)},contentStyle:{width:n(697),height:n(697),display:"flex",alignItems:"center",justifyContent:n(1324)},children:l[n(557)]("div",{ref:o,"data-canvas":"true",className:n(947)+(N?n(506):"")+" "+(s===n(1509)?n(1150):"")+" "+(he?n(2010):""),style:{width:y[n(502)],height:y.height,flexShrink:0,backgroundColor:y[n(863)],backgroundImage:y.backgroundImage?n(1021)+y[n(698)]+")":void 0,backgroundSize:"cover",backgroundPosition:n(1324)},onClick:Ae,onMouseDown:Oe,onDoubleClick:Wt,onDragOver:zn,onDragLeave:dt,onDrop:On,children:[y[n(1080)]!==!1&&l[n(557)](n(1996),{className:n(907),width:y.width,height:y[n(1201)],children:[l.jsx(n(1487),{children:l.jsx(n(918),{id:"grid",width:"20",height:"20",patternUnits:"userSpaceOnUse",children:l.jsx(n(2108),{d:n(1643),fill:"none",stroke:n(2043),strokeWidth:"1"})})}),l[n(1970)](n(1110),{width:"100%",height:n(697),fill:"url(#grid)"})]}),i.map(xe=>l[n(1970)](sx,{node:xe,isSelected:s==="preview"?!1:a===xe.id||ee[n(1931)](xe.id),data:de,onClick:s===n(1173)?void 0:le=>{const $=n;console[$(484)]($(1451),xe.id,$(701),A[$(787)]),A[$(787)]!==$(1509)&&(le[$(2064)]?(p(xe.id),ae([...ee,xe.id])):(p(xe.id),ae([xe.id])))},onMouseDown:s===n(1173)?void 0:le=>Hn(le,xe),onUpdateNode:s===n(1173)?void 0:(le,$)=>M(le,$),scale:d[n(1416)],enableEventFlow:s===n(1173),eventFlowData:ye},""+xe.id)),s==="line-draw"&&X[n(560)]&&X[n(1159)]&&X[n(1323)]&&l[n(1970)](n(1996),{className:n(907),width:y.width,height:y.height,children:l[n(1970)](n(1918),{x1:X[n(1159)].x,y1:X[n(1159)].y,x2:X.end.x,y2:X.end.y,stroke:n(754),strokeWidth:"2",strokeDasharray:n(1469),strokeLinecap:n(681),strokeLinejoin:n(681)})}),s==="box-select"&&R.start&&R.end&&l[n(1970)](n(1331),{className:"absolute border-2 border-blue-500 bg-blue-500/10 pointer-events-none",style:{left:Math[n(2007)](R[n(1159)].x,R.end.x),top:Math[n(2007)](R[n(1159)].y,R[n(1323)].y),width:Math[n(781)](R.end.x-R.start.x),height:Math.abs(R[n(1323)].y-R[n(1159)].y),zIndex:9999}})]})})]})})}),l.jsx(C[n(1990)],{title:n(1302),open:ie,onCancel:()=>S(!1),footer:null,children:l[n(1970)](C[n(1034)],{layout:"vertical",children:l[n(1970)](C[n(1034)].Item,{label:n(573),children:l[n(1970)](Cs,{value:H,onChange:U=>{const T=n;_(!0),O(U[T(819)][T(1429)])},rows:10,placeholder:"输入 JSON 格式的测试数据;未编辑前画布跟随外部 defaultTestData(如监控推送)"})})})}),l[n(1970)](C[n(1990)],{title:n(666),open:ge,onCancel:()=>be(!1),footer:null,children:l[n(557)](C[n(1034)],{layout:n(776),children:[l.jsx(C.Form.Item,{label:"宽度",children:l[n(1970)](C[n(1612)],{value:y[n(502)],onChange:U=>m({width:U||1920}),min:100,max:5e3,style:{width:n(697)}})}),l.jsx(C[n(1034)][n(865)],{label:"高度",children:l[n(1970)](C[n(1612)],{value:y[n(1201)],onChange:U=>m({height:U||1080}),min:100,max:5e3,style:{width:n(697)}})}),l.jsx(C[n(1034)].Item,{label:"显示网格",children:l.jsx(C[n(1926)],{checked:y[n(1080)]!==!1,onChange:U=>m({showGrid:U})})}),l[n(1970)](C.Form[n(865)],{label:n(2082),children:l[n(557)](n(1331),{className:n(1358),children:[l.jsx(Qn,{value:y[n(863)]||"#00193C",onChange:U=>m({background:U.toHexString()})}),l[n(1970)](C.Input,{value:y[n(863)],onChange:U=>m({background:U[n(819)].value}),placeholder:n(895)})]})}),l.jsxs(C.Form[n(865)],{label:"背景图片",children:[l[n(557)](n(1331),{className:n(1358),children:[l.jsx(C[n(827)],{accept:n(1443),showUploadList:!1,beforeUpload:U=>{const T=n;if(!U[T(638)][T(1523)](T(1974)))return C[T(494)][T(1738)](T(591)),!1;const xe=new FileReader;return xe[T(1420)]=le=>{const $=T,oe=le[$(819)]?.[$(1e3)];m({backgroundImage:oe}),C.message[$(1678)]($(1583))},xe[T(1905)](U),!1},children:l[n(1970)](C[n(1079)],{icon:l[n(1970)](se[n(1568)],{}),children:n(1933)})}),l[n(1970)](C[n(1434)],{value:y[n(698)],onChange:U=>m({backgroundImage:U.target[n(1429)]}),placeholder:"输入图片 URL 或上传图片",style:{flex:1}}),y[n(698)]&&l.jsx(C[n(1079)],{icon:l[n(1970)](se[n(932)],{}),onClick:()=>m({backgroundImage:void 0}),danger:!0,size:n(1436)})]}),y[n(698)]&&l.jsx(n(1331),{className:"mt-2 p-2 border rounded",style:{maxWidth:n(697)},children:l[n(1970)](n(1353),{src:y[n(698)],alt:"背景预览",style:{maxWidth:n(697),maxHeight:120,objectFit:n(926)}})})]})]})}),l[n(557)](C[n(1990)],{title:n(1019),open:to,onCancel:()=>{K0(!1),Kt(null),Zt("")},footer:null,children:[l[n(1970)](C[n(717)],{dataSource:h[n(1837)],renderItem:U=>l[n(1970)](C[n(717)][n(865)],{actions:[J0===U.id?l[n(1970)](C[n(1079)],{type:n(617),size:n(1436),onClick:()=>{W(U.id,R0),Kt(null)},children:"保存"}):l[n(1970)](C[n(1079)],{type:n(1527),icon:l.jsx(se[n(1026)],{}),size:n(1436),onClick:()=>{const T=n;Kt(U.id),Zt(U[T(1952)])}}),h[n(1837)][n(1028)]>1&&l[n(1970)](C[n(1079)],{type:"text",danger:!0,icon:l[n(1970)](se[n(792)],{}),size:"small",onClick:()=>F(U.id)})][n(1076)](Boolean),children:J0===U.id?l[n(1970)](C[n(1434)],{value:R0,onChange:T=>Zt(T.target[n(1429)]),size:"small",style:{width:200}}):l[n(557)](n(1493),{style:{fontWeight:h[n(997)]===U.id?"bold":n(2090)},children:[U.name," ",h[n(997)]===U.id&&"(当前)"]})})}),l[n(1970)](n(1331),{className:n(576),children:l[n(1970)](C[n(1079)],{type:n(617),icon:l[n(1970)](se[n(1091)],{}),onClick:()=>q(),children:n(839)})})]})]})},{Option:r0}=C[c(2140)],Ms=({material:e,onSave:t,dataOptions:n=[]})=>{const x=c,o=e,r=o[x(1621)]||{},[i,a]=L.useState({label:r[x(967)]||"",value:r[x(1429)]||"",valueSourceCode:r[x(1292)]||"",unit:r.unit||"",decimals:r[x(448)]??2,labelFontSize:r[x(1049)]?.[x(2069)]||14,labelFontWeight:r[x(1049)]?.[x(2093)]||x(1291),labelColor:r[x(1049)]?.[x(765)]||x(1531),valueFontSize:r.valueStyle?.[x(2069)]||14,valueFontWeight:r[x(1084)]?.[x(2093)]||x(2090),valueColor:r[x(1084)]?.[x(765)]||"#1890ff"});L[x(1027)](()=>{const d=x;a({label:r[d(967)]||"",value:r[d(1429)]||"",valueSourceCode:r[d(1292)]||"",unit:r[d(1272)]||"",decimals:r.decimals??2,labelFontSize:r[d(1049)]?.[d(2069)]||14,labelFontWeight:r[d(1049)]?.[d(2093)]||d(1291),labelColor:r.labelStyle?.[d(765)]||d(1531),valueFontSize:r[d(1084)]?.[d(2069)]||14,valueFontWeight:r.valueStyle?.[d(2093)]||d(2090),valueColor:r.valueStyle?.color||"#1890ff"})},[e.id]);const f=(d,y)=>{a(h=>({...h,[d]:y}))},s=d=>{const y=x,h=n.find(m=>m[y(1009)]===d),g=h?.unit||"";a(m=>({...m,valueSourceCode:d,unit:g,value:String(h?.[y(1429)]||"")})),setTimeout(()=>{t({content:{...r,valueSourceCode:d,value:String(h?.[y(1429)]||""),unit:g}})},0)},u=()=>{const d=x;t({content:{...r,label:i.label,value:i[d(1429)],valueSourceCode:i.valueSourceCode,unit:i[d(1272)],decimals:i[d(448)],labelStyle:{fontSize:i[d(515)],fontWeight:i.labelFontWeight,color:i[d(571)]},valueStyle:{fontSize:i[d(580)],fontWeight:i[d(1197)],color:i[d(1306)]}}})};return l.jsxs("div",{className:x(1195),children:[l.jsx(C[x(1494)],{style:{marginTop:0},children:x(695)}),l[x(557)](C[x(1034)],{layout:x(776),children:[l.jsx(C[x(1034)][x(865)],{label:x(2032),children:l[x(1970)](C[x(1434)],{value:i[x(967)],onChange:d=>f("label",d[x(819)].value),onBlur:u,placeholder:x(810)})}),l.jsx(C[x(1034)].Item,{label:"值来源",help:x(1660),children:l[x(1970)](C[x(2140)],{value:i[x(1292)]||void 0,onChange:s,placeholder:x(814),allowClear:!0,style:{width:x(697)},fieldNames:{value:x(1009),label:x(1129)},options:n})}),l[x(1970)](C.Form[x(865)],{label:i.valueSourceCode?x(659):x(1946),help:i.valueSourceCode?x(531):"手动输入显示的值",children:l[x(1970)](C[x(1434)],{value:i.value,onChange:d=>f("value",d[x(819)][x(1429)]),onBlur:u,placeholder:i.valueSourceCode?"数据字段无值时显示此备用值":x(755),disabled:!!i.valueSourceCode,variant:i[x(1292)]?x(711):void 0})}),l[x(1970)](C[x(1034)][x(865)],{label:"单位",help:x(1257),children:l[x(1970)](C[x(1434)],{value:i[x(1272)],onChange:d=>f(x(1272),d[x(819)].value),onBlur:u,placeholder:x(1985),suffix:i[x(1292)]&&n[x(1028)]>0?l[x(1970)](C[x(657)],{color:x(901),style:{marginRight:-8},children:"自动"}):null})}),l[x(1970)](C[x(1034)][x(865)],{label:x(1266),help:x(1265),children:l[x(1970)](C[x(1612)],{value:i[x(448)],onChange:d=>f(x(448),d??2),onBlur:u,min:-1,max:10,style:{width:x(697)}})})]}),l[x(1970)](C[x(1494)],{children:x(1652)}),l[x(557)](C.Form,{layout:x(776),children:[l[x(557)](C[x(1823)],{children:[l[x(1970)](C[x(1034)].Item,{label:x(1611),children:l[x(1970)](C[x(1612)],{value:i[x(515)],onChange:d=>f(x(515),d||14),onBlur:u,min:8,max:72})}),l.jsx(C[x(1034)][x(865)],{label:"字体粗细",children:l[x(557)](C[x(2140)],{value:i[x(499)],onChange:d=>{f("labelFontWeight",d),setTimeout(u,0)},style:{width:100},children:[l[x(1970)](r0,{value:x(2090),children:"正常"}),l[x(1970)](r0,{value:x(1291),children:"粗体"})]})})]}),l.jsx(C[x(1034)][x(865)],{label:"文字颜色",children:l[x(557)](x(1331),{className:"flex items-center gap-2",children:[l[x(1970)](Qn,{value:i[x(571)]||x(1531),onChange:d=>{const y=x;f(y(571),d[y(1820)]())},onChangeComplete:d=>{const y=x;t({content:{...r,label:i[y(967)],value:i[y(1429)],valueSourceCode:i[y(1292)],unit:i.unit,decimals:i[y(448)],labelStyle:{fontSize:i[y(515)],fontWeight:i.labelFontWeight,color:d[y(1820)]()},valueStyle:{fontSize:i[y(580)],fontWeight:i[y(1197)],color:i[y(1306)]}}})}}),l[x(1970)](C[x(1434)],{value:i.labelColor,onChange:d=>f(x(571),d[x(819)][x(1429)]),onBlur:u,placeholder:x(1531),style:{width:100}})]})})]}),l.jsx(C[x(1494)],{children:x(1147)}),l.jsxs(C[x(1034)],{layout:"vertical",children:[l.jsxs(C[x(1823)],{children:[l[x(1970)](C[x(1034)][x(865)],{label:x(1611),children:l[x(1970)](C.InputNumber,{value:i[x(580)],onChange:d=>f("valueFontSize",d||14),onBlur:u,min:8,max:72})}),l[x(1970)](C[x(1034)][x(865)],{label:"字体粗细",children:l[x(557)](C[x(2140)],{value:i[x(1197)],onChange:d=>{f(x(1197),d),setTimeout(u,0)},style:{width:100},children:[l[x(1970)](r0,{value:"normal",children:"正常"}),l[x(1970)](r0,{value:"bold",children:"粗体"})]})})]}),l[x(1970)](C[x(1034)][x(865)],{label:"文字颜色",children:l[x(557)](x(1331),{className:x(1358),children:[l[x(1970)](Qn,{value:i.valueColor||x(754),onChange:d=>{f("valueColor",d.toHexString())},onChangeComplete:d=>{const y=x;t({content:{...r,label:i[y(967)],value:i.value,valueSourceCode:i.valueSourceCode,unit:i.unit,decimals:i.decimals,labelStyle:{fontSize:i[y(515)],fontWeight:i.labelFontWeight,color:i[y(571)]},valueStyle:{fontSize:i.valueFontSize,fontWeight:i.valueFontWeight,color:d[y(1820)]()}}})}}),l[x(1970)](C[x(1434)],{value:i[x(1306)],onChange:d=>f(x(1306),d[x(819)][x(1429)]),onBlur:u,placeholder:x(754),style:{width:100}})]})})]})]})},Bs=({material:e,onSave:t})=>{const n=c,x=e,[o,r]=L[n(1303)]({name:e[n(1952)],src:x[n(529)]||"",backgroundColor:x[n(553)]||"",fillColor:x[n(1953)]||""});L[n(1027)](()=>{const f=n;r({name:e[f(1952)],src:x[f(529)]||"",backgroundColor:x.backgroundColor||"",fillColor:x.fillColor||""})},[e.id]);const i=(f,s)=>{r(u=>({...u,[f]:s}))},a=()=>{const f=n;t({name:o[f(1952)],src:o[f(529)],backgroundColor:o[f(553)]})};return l[n(557)](n(1331),{className:n(1195),children:[l[n(1970)](C[n(1494)],{style:{marginTop:0},children:n(1148)}),l[n(557)](C[n(1034)],{layout:n(776),children:[l.jsx(C.Form[n(865)],{label:"图片名称",children:l[n(1970)](C.Input,{value:o.name,onChange:f=>i(n(1952),f[n(819)][n(1429)]),onBlur:a})}),l[n(1970)](C[n(1034)][n(865)],{label:n(875),children:l[n(1970)](C.Input[n(1200)],{value:o.src,onChange:f=>i(n(529),f[n(819)][n(1429)]),onBlur:a,rows:4,placeholder:n(968)})}),l[n(1970)](C[n(1034)][n(865)],{label:n(1031),children:l.jsxs(n(1331),{className:n(1358),children:[l[n(1970)](Qn,{value:o.fillColor||"#1890ff",onChange:f=>{const s=n,u=f[s(1820)]();i("fillColor",u),t({name:o[s(1952)],src:o[s(529)],backgroundColor:o[s(553)],fillColor:u})}}),l[n(1970)](C[n(1434)],{value:o[n(1953)],onChange:f=>i(n(1953),f[n(819)][n(1429)]),onBlur:a,placeholder:"#1890ff"})]})}),l[n(1970)](C.Form[n(865)],{label:n(1605),children:l.jsxs(n(1331),{className:"flex items-center gap-2",children:[l[n(1970)](Qn,{value:o[n(553)]||"#1890ff",onChange:f=>{const s=n,u=f[s(1820)]();i(s(553),u),t({name:o[s(1952)],src:o.src,backgroundColor:u,fillColor:o[s(1953)]})}}),l[n(1970)](C[n(1434)],{value:o.backgroundColor,onChange:f=>i(n(553),f.target[n(1429)]),onBlur:a,placeholder:n(754)})]})})]})]})},{Option:Ds}=C[c(2140)],Ls=({material:e,onSave:t})=>{const n=c,x=e.config||{},[o,r]=L[n(1303)]({lineWeight:x.lineWeight||x[n(485)]||2,color:x.color||"#262626",lineType:x[n(746)]||n(1491),startX:x.startX??0,startY:x[n(1977)]??0,endX:x.endX??100,endY:x.endY??0}),i=JSON.stringify({sw:x[n(2106)]??x[n(485)],c:x[n(765)],t:x[n(746)],sx:x[n(446)],sy:x[n(1977)],ex:x[n(1168)],ey:x[n(881)]});L[n(1027)](()=>{const s=n;r({lineWeight:x.lineWeight||x[s(485)]||2,color:x[s(765)]||s(1531),lineType:x[s(746)]||s(1491),startX:x[s(446)]??0,startY:x[s(1977)]??0,endX:x[s(1168)]??100,endY:x.endY??0})},[e.id,i]);const a=s=>{const u=n,d={...o,...s};r(d),t({config:{...x,thickness:d[u(2106)],lineWeight:d[u(2106)],color:d[u(765)],lineType:d[u(746)],startX:d[u(446)],startY:d.startY,endX:d[u(1168)],endY:d[u(881)]}})},f=[{value:n(1491),label:"实线",desc:n(1777)},{value:n(1149),label:"虚线",desc:"长划间隔"},{value:n(1324),label:n(1534),desc:n(1739)},{value:"phantom",label:n(2026),desc:n(1258)},{value:"dot",label:"点线",desc:n(1422)},{value:n(1124),label:"画点线",desc:"长划-点交替"}];return l.jsxs("div",{className:n(1195),children:[l[n(1970)](C[n(1494)],{style:{marginTop:0},children:"起止位置(相对节点)"}),l.jsxs(C.Form,{layout:"vertical",children:[l[n(557)](n(1331),{className:n(1095),children:[l[n(1970)](C.Form[n(865)],{label:n(753),className:n(616),children:l[n(1970)](C.InputNumber,{value:o[n(446)],onChange:s=>a({startX:s??0}),style:{width:n(697)}})}),l.jsx(C[n(1034)][n(865)],{label:n(1256),className:"mb-2",children:l[n(1970)](C[n(1612)],{value:o[n(1977)],onChange:s=>a({startY:s??0}),style:{width:n(697)}})}),l.jsx(C.Form[n(865)],{label:n(1126),className:n(616),children:l.jsx(C[n(1612)],{value:o[n(1168)],onChange:s=>a({endX:s??100}),style:{width:n(697)}})}),l[n(1970)](C.Form[n(865)],{label:n(587),className:n(616),children:l[n(1970)](C[n(1612)],{value:o.endY,onChange:s=>a({endY:s??0}),style:{width:"100%"}})})]}),l.jsx(C.Form.Item,{label:n(479),className:n(848),children:l[n(557)](C.Space,{children:[l[n(1970)](C[n(1079)],{size:"small",onClick:()=>{const s=x.startY??o.startY;a({endY:s})},title:n(1424),children:"水平"}),l[n(1970)](C[n(1079)],{size:"small",onClick:()=>{const s=n,u=x[s(446)]??o[s(446)];a({endX:u})},title:n(984),children:"垂直"}),l[n(1970)](C.Button,{size:"small",onClick:()=>{const s=n,u=x[s(446)]??o[s(446)],d=x[s(1977)]??o[s(1977)],y=x.endX??o[s(1168)],h=x[s(881)]??o[s(881)];a({startX:y,startY:h,endX:u,endY:d})},title:n(661),children:"反向"})]})})]}),l[n(1970)](C[n(1494)],{children:n(2177)}),l[n(557)](C[n(1034)],{layout:n(776),children:[l.jsx(C[n(1034)][n(865)],{label:"线型",help:"选择线条样式",children:l.jsx(C[n(2140)],{value:o[n(746)],onChange:s=>a({lineType:s}),children:f[n(1001)](s=>l.jsx(Ds,{value:s[n(1429)],children:l.jsxs("div",{className:n(1278),children:[l[n(1970)]("span",{children:s[n(967)]}),l.jsx("span",{className:"text-xs text-gray-400",children:s[n(1309)]})]})},s.value))})}),l[n(1970)](C.Form[n(865)],{label:n(1542),children:l[n(1970)](C.InputNumber,{value:o[n(2106)],onChange:s=>a({lineWeight:s||2}),min:1,max:20,style:{width:120}})}),l[n(1970)](C[n(1034)][n(865)],{label:"颜色",children:l[n(557)]("div",{className:"flex items-center gap-2",children:[l[n(1970)](Qn,{value:o.color||n(1249),onChange:s=>a({color:s[n(1820)]()})}),l[n(1970)](C[n(1434)],{value:o.color,onChange:s=>a({color:s[n(819)][n(1429)]}),placeholder:n(1249),style:{width:100}})]})})]})]})},er=({status:e,onUpdate:t,onAppendToExpression:n})=>{const x=c,o=Ee(f=>f.dataPool),r=o[x(2159)](f=>f.id===e.boundDatasetId),i=r?ho(r[x(1183)]||{}):[],a=f=>{const s=x,u=s(1984)+f;n?n(u):t({expression:""+(e[s(541)]||"")+u})};return l[x(557)](l[x(514)],{children:[l[x(1970)](C[x(1034)][x(865)],{label:x(1515),extra:o[x(1028)]===0?"请先在顶部工具栏点击「数据池」添加至少一个数据集(JSON 对象模板);宿主项目也可通过 initialScheme.dataPool 或 useEditorStore.getState().setDataPool() 注入。":x(929),children:l.jsx(C[x(2140)],{allowClear:!0,placeholder:o[x(1028)]===0?x(509):x(1310),value:e[x(1340)]??void 0,options:o.map(f=>({label:f[x(1952)],value:f.id})),onChange:f=>t({boundDatasetId:f??null})})}),i[x(1028)]>0&&l.jsx(C[x(1034)][x(865)],{label:x(505),children:l.jsx(C[x(1823)],{size:[4,4],wrap:!0,children:i[x(1001)](f=>l.jsx(C.Tag,{className:x(1162),onClick:()=>a(f),children:x(1984)+f},f))})})]})},nr=({material:e,onSave:t,dataOptions:n})=>{const x=c;switch(e[x(638)]){case x(843):return l[x(1970)](Ms,{material:e,onSave:t,dataOptions:n});case x(477):return l[x(1970)](Bs,{material:e,onSave:t});case x(915):return l[x(1970)](Ls,{material:e,onSave:t});default:return l[x(1970)](x(1331),{className:x(443),children:x(1907)})}},{Panel:tr}=C[c(971)],{TextArea:Ns}=C[c(1434)],Ss=({node:e,updateNode:t,materials:n})=>{const x=c,o=n[x(1076)](d=>d[x(638)]!=="CUSTOM"||!d.config?.[x(1053)]),r=(d,y)=>{const h=x,g=e[h(513)]?.map(m=>{const v=h;return m.id===d?{...m,contentInfo:{...m[v(858)],statusList:y}}:m});t(e.id,{children:g})},i=d=>{const y=x,h=e.children?.find(m=>m.id===d);if(!h)return;const g={id:ve[y(1045)](),name:"状态"+(h[y(858)][y(1029)][y(1028)]+1),expression:h.contentInfo[y(1029)][y(1028)]===0?y(1128):y(1554),material:{...o[0],id:ve.nanoid()},boundDatasetId:null};r(d,[...h[y(858)][y(1029)],g])},a=(d,y)=>{const h=x,g=e[h(513)]?.[h(2159)](v=>v.id===d);if(!g)return;const m=g[h(858)][h(1029)][h(1076)](v=>v.id!==y);r(d,m)},f=(d,y,h)=>{const g=x,m=e[g(513)]?.[g(2159)](p=>p.id===d);if(!m)return;const v=m.contentInfo[g(1029)][g(1001)](p=>p.id===y?{...p,...h}:p);r(d,v)},s=(d,y,h)=>{const g=x,m=e[g(513)]?.[g(2159)](M=>M.id===d);if(!m)return;const v=m.contentInfo[g(1029)][g(941)](M=>M.id===y);if(v===-1)return;const p=[...m[g(858)][g(1029)]];h==="up"&&v>0?[p[v],p[v-1]]=[p[v-1],p[v]]:h===g(724)&&v<p[g(1028)]-1&&([p[v],p[v+1]]=[p[v+1],p[v]]),r(d,p)},u=(d,y,h)=>{const g=x,m=n[g(2159)](v=>v.id===h);m&&f(d,y,{material:{...m,id:ve[g(1045)]()}})};return l[x(557)](x(1331),{className:x(1195),children:[l[x(1970)](x(1331),{className:x(1995),children:l[x(557)](x(1331),{className:"text-sm text-blue-700",children:[l.jsx(x(1253),{children:x(489)}),":为每个子节点配置多个状态和绑定"]})}),l[x(1970)](C[x(971)],{ghost:!0,children:e[x(513)]?.[x(1001)]((d,y)=>l[x(1970)](tr,{header:l[x(557)]("div",{className:x(1390),children:[l[x(557)](x(1493),{className:x(834),children:[x(1489),y+1]}),l[x(557)](C[x(657)],{color:"blue",style:{fontSize:x(1099),padding:x(1954)},children:[d[x(858)][x(1029)].length,x(480)]})]}),children:l[x(557)](x(1331),{className:x(664),children:[l.jsxs(x(1331),{className:"flex justify-between items-center mb-3",children:[l[x(1970)]("span",{className:x(1175),children:x(1242)}),l[x(1970)](C[x(1079)],{type:"primary",size:x(1436),icon:l.jsx(se[x(1091)],{}),onClick:()=>i(d.id),children:x(436)})]}),d[x(858)][x(1029)][x(1028)]===0?l.jsx(x(1331),{className:x(439),children:"暂无状态,点击上方按钮添加"}):l[x(1970)](C[x(971)],{ghost:!0,children:d[x(858)].statusList[x(1001)]((h,g)=>l[x(1970)](tr,{header:l.jsxs("div",{className:x(1358),children:[l.jsx("span",{className:"text-xs text-gray-400 w-5",children:g+1}),l.jsx(x(1493),{className:x(452),children:h[x(1952)]}),l[x(1970)](C[x(657)],{color:"default",className:x(1702),children:h[x(640)].type})]}),extra:l[x(557)](C[x(1823)],{size:x(1436),onClick:m=>m[x(471)](),children:[l[x(1970)](C[x(1079)],{type:x(1527),size:x(1436),icon:l[x(1970)](se[x(706)],{}),disabled:g===0,onClick:m=>{m[x(471)](),s(d.id,h.id,"up")}}),l[x(1970)](C.Button,{type:x(1527),size:x(1436),icon:l[x(1970)](se.ArrowDownOutlined,{}),disabled:g===d.contentInfo[x(1029)].length-1,onClick:m=>{const v=x;m[v(471)](),s(d.id,h.id,v(724))}}),l[x(1970)](C[x(1079)],{type:"text",size:"small",danger:!0,icon:l[x(1970)](se[x(792)],{}),onClick:m=>{m[x(471)](),a(d.id,h.id)}})]}),children:l[x(557)](C[x(1034)],{layout:x(776),children:[l.jsx(C[x(1034)].Item,{label:"状态名称",children:l[x(1970)](C[x(1434)],{value:h[x(1952)],onChange:m=>f(d.id,h.id,{name:m.target[x(1429)]}),placeholder:x(1217)})}),l[x(1970)](er,{status:h,onUpdate:m=>f(d.id,h.id,m)}),l[x(1970)](C[x(1034)].Item,{label:x(2052),help:x(1307),children:l[x(1970)](Ns,{value:h[x(541)],onChange:m=>f(d.id,h.id,{expression:m[x(819)][x(1429)]}),rows:3,placeholder:x(1128)})}),l[x(1970)](C[x(1034)][x(865)],{label:x(1441),children:l[x(557)](x(1331),{className:"flex items-center gap-2",children:[l[x(1970)](C[x(657)],{color:x(901),children:h.material[x(1952)]}),l[x(1970)](C[x(657)],{color:x(1138),children:h[x(640)][x(638)]}),l[x(1970)](C[x(2140)],{placeholder:x(1701),style:{width:150},value:void 0,onChange:m=>m&&u(d.id,h.id,m),options:o[x(1001)](m=>({value:m.id,label:m[x(1952)]+" ("+m[x(638)]+")"}))})]})}),l[x(1970)](C[x(1494)],{style:{margin:x(1342)}}),l[x(557)](x(1331),{className:x(1267),children:[l[x(557)](x(1331),{className:x(1936),children:[l.jsx("span",{className:"text-sm font-medium",children:"物料属性"}),l[x(1970)](C[x(657)],{children:h[x(640)][x(1952)]})]}),l[x(1970)](nr,{material:h[x(640)],onSave:m=>{const v=x,p={...h[v(640)],...m};f(d.id,h.id,{material:p})}})]})]})},h.id))})]})},d.id))})]})};function Pe(e){const t=c;if(typeof e===t(1841)||typeof e===t(1539))return""+e;let n="";if(Array.isArray(e))for(let x=0,o;x<e[t(1028)];x++)(o=Pe(e[x]))!==""&&(n+=(n&&" ")+o);else for(let x in e)e[x]&&(n+=(n&&" ")+x);return n}var ks={value:()=>{}};function i0(){const e=c;for(var t=0,n=arguments[e(1028)],x={},o;t<n;++t){if(!(o=arguments[t]+"")||o in x||/[\s.]/[e(528)](o))throw new Error(e(1567)+o);x[o]=[]}return new a0(x)}function a0(e){this._=e}function Ps(e,t){const n=c;return e[n(1619)]()[n(1773)](/^|\s+/)[n(1001)](function(x){const o=n;var r="",i=x.indexOf(".");if(i>=0&&(r=x[o(563)](i+1),x=x[o(563)](0,i)),x&&!t.hasOwnProperty(x))throw new Error("unknown type: "+x);return{type:x,name:r}})}a0.prototype=i0[c(1347)]={constructor:a0,on:function(e,t){const n=c;var x=this._,o=Ps(e+"",x),r,i=-1,a=o[n(1028)];if(arguments.length<2){for(;++i<a;)if((r=(e=o[i])[n(638)])&&(r=Ys(x[r],e[n(1952)])))return r;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++i<a;)if(r=(e=o[i])[n(638)])x[r]=xr(x[r],e.name,t);else if(t==null)for(r in x)x[r]=xr(x[r],e[n(1952)],null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new a0(e)},call:function(e,t){const n=c;if((r=arguments.length-2)>0)for(var x=new Array(r),o=0,r,i;o<r;++o)x[o]=arguments[o+2];if(!this._[n(1337)](e))throw new Error(n(1623)+e);for(i=this._[e],o=0,r=i[n(1028)];o<r;++o)i[o][n(1429)][n(878)](t,x)},apply:function(e,t,n){const x=c;if(!this._[x(1337)](e))throw new Error("unknown type: "+e);for(var o=this._[e],r=0,i=o[x(1028)];r<i;++r)o[r][x(1429)][x(878)](t,n)}};function Ys(e,t){const n=c;for(var x=0,o=e[n(1028)],r;x<o;++x)if((r=e[x]).name===t)return r.value}function xr(e,t,n){const x=c;for(var o=0,r=e[x(1028)];o<r;++o)if(e[o][x(1952)]===t){e[o]=ks,e=e[x(563)](0,o).concat(e.slice(o+1));break}return n!=null&&e[x(2049)]({name:t,value:n}),e}var lx=c(1832);const or={svg:c(1096),xhtml:lx,xlink:c(1646),xml:"http://www.w3.org/XML/1998/namespace",xmlns:c(1318)};function c0(e){const t=c;var n=e+="",x=n[t(1379)](":");return x>=0&&(n=e[t(563)](0,x))!==t(1653)&&(e=e[t(563)](x+1)),or[t(1337)](n)?{space:or[n],local:e}:e}function As(e){return function(){const t=_0x447e;var n=this[t(2134)],x=this.namespaceURI;return x===lx&&n.documentElement[t(1415)]===lx?n.createElement(e):n[t(763)](x,e)}}function Is(e){return function(){const t=_0x447e;return this[t(2134)][t(763)](e.space,e[t(1898)])}}function rr(e){const t=c;var n=c0(e);return(n[t(1898)]?Is:As)(n)}function Es(){}function dx(e){return e==null?Es:function(){return this[_0x447e(1519)](e)}}function js(e){const t=c;typeof e!="function"&&(e=dx(e));for(var n=this[t(780)],x=n[t(1028)],o=new Array(x),r=0;r<x;++r)for(var i=n[r],a=i[t(1028)],f=o[r]=new Array(a),s,u,d=0;d<a;++d)(s=i[d])&&(u=e.call(s,s[t(1485)],d,i))&&("__data__"in s&&(u[t(1485)]=s[t(1485)]),f[d]=u);return new Ve(o,this[t(510)])}function Us(e){const t=c;return e==null?[]:Array.isArray(e)?e:Array[t(1486)](e)}function Gs(){return[]}function ir(e){return e==null?Gs:function(){return this[_0x447e(1483)](e)}}function Os(e){return function(){return Us(e[_0x447e(878)](this,arguments))}}function Hs(e){const t=c;typeof e===t(940)?e=Os(e):e=ir(e);for(var n=this[t(780)],x=n[t(1028)],o=[],r=[],i=0;i<x;++i)for(var a=n[i],f=a[t(1028)],s,u=0;u<f;++u)(s=a[u])&&(o[t(2049)](e[t(1036)](s,s[t(1485)],u,a)),r[t(2049)](s));return new Ve(o,r)}function ar(e){return function(){return this[_0x447e(1409)](e)}}function cr(e){return function(t){return t[_0x447e(1409)](e)}}var Ts=Array.prototype[c(2159)];function Vs(e){return function(){const t=_0x447e;return Ts.call(this[t(513)],e)}}function qs(){return this[c(760)]}function Ws(e){return this[c(521)](e==null?qs:Vs(typeof e=="function"?e:cr(e)))}var Xs=Array.prototype[c(1076)];function Zs(){const e=c;return Array[e(1486)](this[e(513)])}function Ks(e){return function(){const t=_0x447e;return Xs[t(1036)](this[t(513)],e)}}function Rs(e){const t=c;return this[t(710)](e==null?Zs:Ks(typeof e===t(940)?e:cr(e)))}function Js(e){const t=c;typeof e!==t(940)&&(e=ar(e));for(var n=this[t(780)],x=n[t(1028)],o=new Array(x),r=0;r<x;++r)for(var i=n[r],a=i[t(1028)],f=o[r]=[],s,u=0;u<a;++u)(s=i[u])&&e.call(s,s[t(1485)],u,i)&&f[t(2049)](s);return new Ve(o,this._parents)}function sr(e){return new Array(e.length)}function _s(){const e=c;return new Ve(this._enter||this[e(780)][e(1001)](sr),this[e(510)])}function s0(e,t){const n=c;this[n(2134)]=e.ownerDocument,this[n(1415)]=e.namespaceURI,this[n(713)]=null,this[n(1879)]=e,this[n(1485)]=t}s0.prototype={constructor:s0,appendChild:function(e){return this[c(1879)].insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){const t=c;return this[t(1879)][t(1519)](e)},querySelectorAll:function(e){const t=c;return this[t(1879)][t(1483)](e)}};function Qs(e){return function(){return e}}function Fs(e,t,n,x,o,r){const i=c;for(var a=0,f,s=t[i(1028)],u=r[i(1028)];a<u;++a)(f=t[a])?(f[i(1485)]=r[a],x[a]=f):n[a]=new s0(e,r[a]);for(;a<s;++a)(f=t[a])&&(o[a]=f)}function $s(e,t,n,x,o,r,i){const a=c;var f,s,u=new Map,d=t[a(1028)],y=r[a(1028)],h=new Array(d),g;for(f=0;f<d;++f)(s=t[f])&&(h[f]=g=i[a(1036)](s,s[a(1485)],f,t)+"",u[a(1432)](g)?o[f]=s:u[a(1007)](g,s));for(f=0;f<y;++f)g=i.call(e,r[f],f,r)+"",(s=u[a(1446)](g))?(x[f]=s,s[a(1485)]=r[f],u[a(719)](g)):n[f]=new s0(e,r[f]);for(f=0;f<d;++f)(s=t[f])&&u[a(1446)](h[f])===s&&(o[f]=s)}function el(e){return e.__data__}function nl(e,t){const n=c;if(!arguments[n(1028)])return Array[n(1486)](this,el);var x=t?$s:Fs,o=this[n(510)],r=this._groups;typeof e!==n(940)&&(e=Qs(e));for(var i=r[n(1028)],a=new Array(i),f=new Array(i),s=new Array(i),u=0;u<i;++u){var d=o[u],y=r[u],h=y[n(1028)],g=tl(e[n(1036)](d,d&&d[n(1485)],u,o)),m=g[n(1028)],v=f[u]=new Array(m),p=a[u]=new Array(m),M=s[u]=new Array(h);x(d,y,v,p,M,g,t);for(var w=0,z=0,b,k;w<m;++w)if(b=v[w]){for(w>=z&&(z=w+1);!(k=p[z])&&++z<m;);b._next=k||null}}return a=new Ve(a,o),a[n(2094)]=f,a[n(2047)]=s,a}function tl(e){const t=c;return typeof e=="object"&&t(1028)in e?e:Array[t(1486)](e)}function xl(){const e=c;return new Ve(this[e(2047)]||this[e(780)][e(1001)](sr),this[e(510)])}function ol(e,t,n){const x=c;var o=this[x(1010)](),r=this,i=this[x(2137)]();return typeof e===x(940)?(o=e(o),o&&(o=o[x(1904)]())):o=o[x(1602)](e+""),t!=null&&(r=t(r),r&&(r=r[x(1904)]())),n==null?i.remove():n(i),o&&r?o[x(1033)](r)[x(1766)]():r}function rl(e){const t=c;for(var n=e[t(1904)]?e[t(1904)]():e,x=this[t(780)],o=n[t(780)],r=x[t(1028)],i=o.length,a=Math[t(2007)](r,i),f=new Array(r),s=0;s<a;++s)for(var u=x[s],d=o[s],y=u[t(1028)],h=f[s]=new Array(y),g,m=0;m<y;++m)(g=u[m]||d[m])&&(h[m]=g);for(;s<r;++s)f[s]=x[s];return new Ve(f,this[t(510)])}function il(){const e=c;for(var t=this[e(780)],n=-1,x=t[e(1028)];++n<x;)for(var o=t[n],r=o[e(1028)]-1,i=o[r],a;--r>=0;)(a=o[r])&&(i&&a[e(1285)](i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function al(e){const t=c;e||(e=cl);function n(y,h){const g=_0x447e;return y&&h?e(y[g(1485)],h[g(1485)]):!y-!h}for(var x=this[t(780)],o=x[t(1028)],r=new Array(o),i=0;i<o;++i){for(var a=x[i],f=a[t(1028)],s=r[i]=new Array(f),u,d=0;d<f;++d)(u=a[d])&&(s[d]=u);s.sort(n)}return new Ve(r,this._parents)[t(1766)]()}function cl(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function sl(){const e=c;var t=arguments[0];return arguments[0]=this,t[e(878)](null,arguments),this}function ll(){return Array.from(this)}function dl(){const e=c;for(var t=this[e(780)],n=0,x=t.length;n<x;++n)for(var o=t[n],r=0,i=o[e(1028)];r<i;++r){var a=o[r];if(a)return a}return null}function ul(){let e=0;for(const t of this)++e;return e}function fl(){return!this.node()}function gl(e){const t=c;for(var n=this._groups,x=0,o=n.length;x<o;++x)for(var r=n[x],i=0,a=r[t(1028)],f;i<a;++i)(f=r[i])&&e[t(1036)](f,f[t(1485)],i,r);return this}function hl(e){return function(){this[_0x447e(1915)](e)}}function yl(e){return function(){const t=_0x447e;this[t(1214)](e[t(1234)],e[t(1898)])}}function ml(e,t){return function(){this[_0x447e(690)](e,t)}}function wl(e,t){return function(){const n=_0x447e;this.setAttributeNS(e.space,e[n(1898)],t)}}function vl(e,t){return function(){const n=_0x447e;var x=t[n(878)](this,arguments);x==null?this[n(1915)](e):this[n(690)](e,x)}}function pl(e,t){return function(){const n=_0x447e;var x=t[n(878)](this,arguments);x==null?this[n(1214)](e[n(1234)],e.local):this.setAttributeNS(e[n(1234)],e.local,x)}}function bl(e,t){const n=c;var x=c0(e);if(arguments.length<2){var o=this.node();return x.local?o[n(1276)](x[n(1234)],x.local):o.getAttribute(x)}return this.each((t==null?x[n(1898)]?yl:hl:typeof t===n(940)?x[n(1898)]?pl:vl:x[n(1898)]?wl:ml)(x,t))}function lr(e){const t=c;return e[t(2134)]&&e.ownerDocument[t(1199)]||e[t(743)]&&e||e[t(1199)]}function zl(e){return function(){const t=_0x447e;this[t(803)][t(496)](e)}}function Cl(e,t,n){return function(){const x=_0x447e;this[x(803)][x(1939)](e,t,n)}}function Ml(e,t,n){return function(){const x=_0x447e;var o=t.apply(this,arguments);o==null?this[x(803)][x(496)](e):this[x(803)][x(1939)](e,o,n)}}function Bl(e,t,n){const x=c;return arguments[x(1028)]>1?this[x(2175)]((t==null?zl:typeof t=="function"?Ml:Cl)(e,t,n??"")):Fn(this[x(1656)](),e)}function Fn(e,t){const n=c;return e.style[n(2016)](t)||lr(e)[n(1107)](e,null).getPropertyValue(t)}function Dl(e){return function(){delete this[e]}}function Ll(e,t){return function(){this[e]=t}}function Nl(e,t){return function(){var x=t[_0x447e(878)](this,arguments);x==null?delete this[e]:this[e]=x}}function Sl(e,t){const n=c;return arguments[n(1028)]>1?this.each((t==null?Dl:typeof t===n(940)?Nl:Ll)(e,t)):this.node()[e]}function dr(e){const t=c;return e[t(1619)]()[t(1773)](/^|\s+/)}function ux(e){return e.classList||new ur(e)}function ur(e){const t=c;this._node=e,this[t(2059)]=dr(e[t(928)](t(1497))||"")}ur[c(1347)]={add:function(e){const t=c;var n=this[t(2059)].indexOf(e);n<0&&(this[t(2059)][t(2049)](e),this[t(1752)][t(690)](t(1497),this[t(2059)][t(1248)](" ")))},remove:function(e){const t=c;var n=this[t(2059)][t(1379)](e);n>=0&&(this[t(2059)][t(1658)](n,1),this[t(1752)][t(690)]("class",this._names[t(1248)](" ")))},contains:function(e){const t=c;return this[t(2059)][t(1379)](e)>=0}};function fr(e,t){const n=c;for(var x=ux(e),o=-1,r=t[n(1028)];++o<r;)x.add(t[o])}function gr(e,t){const n=c;for(var x=ux(e),o=-1,r=t[n(1028)];++o<r;)x.remove(t[o])}function kl(e){return function(){fr(this,e)}}function Pl(e){return function(){gr(this,e)}}function Yl(e,t){return function(){(t[_0x447e(878)](this,arguments)?fr:gr)(this,e)}}function Al(e,t){const n=c;var x=dr(e+"");if(arguments.length<2){for(var o=ux(this[n(1656)]()),r=-1,i=x[n(1028)];++r<i;)if(!o.contains(x[r]))return!1;return!0}return this[n(2175)]((typeof t=="function"?Yl:t?kl:Pl)(x,t))}function Il(){const e=c;this[e(691)]=""}function El(e){return function(){const t=_0x447e;this[t(691)]=e}}function jl(e){return function(){var n=e[_0x447e(878)](this,arguments);this.textContent=n??""}}function Ul(e){const t=c;return arguments.length?this.each(e==null?Il:(typeof e===t(940)?jl:El)(e)):this[t(1656)]()[t(691)]}function Gl(){const e=c;this[e(1473)]=""}function Ol(e){return function(){const t=_0x447e;this[t(1473)]=e}}function Hl(e){return function(){const t=_0x447e;var n=e[t(878)](this,arguments);this[t(1473)]=n??""}}function Tl(e){const t=c;return arguments[t(1028)]?this[t(2175)](e==null?Gl:(typeof e=="function"?Hl:Ol)(e)):this[t(1656)]()[t(1473)]}function Vl(){const e=c;this[e(1015)]&&this[e(1866)].appendChild(this)}function ql(){return this[c(2175)](Vl)}function Wl(){const e=c;this.previousSibling&&this.parentNode[e(933)](this,this.parentNode[e(1244)])}function Xl(){return this[c(2175)](Wl)}function Zl(e){const t=c;var n=typeof e===t(940)?e:rr(e);return this.select(function(){const x=t;return this.appendChild(n[x(878)](this,arguments))})}function Kl(){return null}function Rl(e,t){const n=c;var x=typeof e===n(940)?e:rr(e),o=t==null?Kl:typeof t===n(940)?t:dx(t);return this.select(function(){const r=n;return this[r(933)](x.apply(this,arguments),o[r(878)](this,arguments)||null)})}function Jl(){var t=this[c(1866)];t&&t.removeChild(this)}function _l(){return this.each(Jl)}function Ql(){const e=c;var t=this.cloneNode(!1),n=this.parentNode;return n?n[e(933)](t,this[e(1015)]):t}function Fl(){const e=c;var t=this[e(1922)](!0),n=this.parentNode;return n?n[e(933)](t,this[e(1015)]):t}function $l(e){return this[c(521)](e?Fl:Ql)}function ed(e){const t=c;return arguments[t(1028)]?this[t(938)](t(1485),e):this[t(1656)]()[t(1485)]}function nd(e){return function(t){const n=_0x447e;e.call(this,t,this[n(1485)])}}function td(e){const t=c;return e.trim()[t(1773)](/^|\s+/)[t(1001)](function(n){const x=t;var o="",r=n.indexOf(".");return r>=0&&(o=n[x(563)](r+1),n=n[x(563)](0,r)),{type:n,name:o}})}function xd(e){return function(){const t=_0x447e;var n=this[t(450)];if(n){for(var x=0,o=-1,r=n[t(1028)],i;x<r;++x)i=n[x],(!e[t(638)]||i[t(638)]===e.type)&&i[t(1952)]===e[t(1952)]?this[t(653)](i[t(638)],i.listener,i[t(2029)]):n[++o]=i;++o?n[t(1028)]=o:delete this[t(450)]}}}function od(e,t,n){return function(){const x=_0x447e;var o=this[x(450)],r,i=nd(t);if(o){for(var a=0,f=o.length;a<f;++a)if((r=o[a])[x(638)]===e[x(638)]&&r[x(1952)]===e.name){this[x(653)](r.type,r[x(2092)],r[x(2029)]),this.addEventListener(r[x(638)],r[x(2092)]=i,r[x(2029)]=n),r.value=t;return}}this[x(2055)](e[x(638)],i,n),r={type:e.type,name:e[x(1952)],value:t,listener:i,options:n},o?o.push(r):this[x(450)]=[r]}}function rd(e,t,n){const x=c;var o=td(e+""),r,i=o.length,a;if(arguments[x(1028)]<2){var f=this.node()[x(450)];if(f){for(var s=0,u=f[x(1028)],d;s<u;++s)for(r=0,d=f[s];r<i;++r)if((a=o[r])[x(638)]===d[x(638)]&&a[x(1952)]===d[x(1952)])return d[x(1429)]}return}for(f=t?od:xd,r=0;r<i;++r)this[x(2175)](f(o[r],t,n));return this}function hr(e,t,n){const x=c;var o=lr(e),r=o[x(882)];typeof r===x(940)?r=new r(t,n):(r=o.document[x(912)](x(1402)),n?(r[x(2009)](t,n[x(687)],n[x(1526)]),r[x(1141)]=n[x(1141)]):r.initEvent(t,!1,!1)),e[x(949)](r)}function id(e,t){return function(){return hr(this,e,t)}}function ad(e,t){return function(){return hr(this,e,t[_0x447e(878)](this,arguments))}}function cd(e,t){return this[c(2175)]((typeof t=="function"?ad:id)(e,t))}function*sd(){const e=c;for(var t=this[e(780)],n=0,x=t[e(1028)];n<x;++n)for(var o=t[n],r=0,i=o[e(1028)],a;r<i;++r)(a=o[r])&&(yield a)}var yr=[null];function Ve(e,t){const n=c;this[n(780)]=e,this[n(510)]=t}function Ct(){const e=c;return new Ve([[document[e(856)]]],yr)}function ld(){return this}Ve.prototype=Ct[c(1347)]={constructor:Ve,select:js,selectAll:Hs,selectChild:Ws,selectChildren:Rs,filter:Js,data:nl,enter:_s,exit:xl,join:ol,merge:rl,selection:ld,order:il,sort:al,call:sl,nodes:ll,node:dl,size:ul,empty:fl,each:gl,attr:bl,style:Bl,property:Sl,classed:Al,text:Ul,html:Tl,raise:ql,lower:Xl,append:Zl,insert:Rl,remove:_l,clone:$l,datum:ed,on:rd,dispatch:cd,[Symbol[c(1797)]]:sd};function qe(e){const t=c;return typeof e===t(1841)?new Ve([[document.querySelector(e)]],[document[t(856)]]):new Ve([[e]],yr)}function dd(e){const t=c;let n;for(;n=e[t(1860)];)e=n;return e}function Je(e,t){const n=c;if(e=dd(e),t===void 0&&(t=e[n(850)]),t){var x=t.ownerSVGElement||t;if(x[n(718)]){var o=x[n(718)]();return o.x=e[n(2156)],o.y=e[n(1484)],o=o[n(1228)](t[n(1781)]()[n(927)]()),[o.x,o.y]}if(t.getBoundingClientRect){var r=t[n(1761)]();return[e.clientX-r.left-t[n(1610)],e[n(1484)]-r[n(1411)]-t.clientTop]}}return[e.pageX,e[n(1616)]]}const ud={passive:!1},Mt={capture:!0,passive:!1};function fx(e){e[c(1351)]()}function $n(e){const t=c;e.preventDefault(),e[t(1351)]()}function mr(e){const t=c;var n=e[t(743)][t(856)],x=qe(e).on(t(748),$n,Mt);t(1960)in n?x.on(t(637),$n,Mt):(n[t(799)]=n.style.MozUserSelect,n[t(803)][t(1431)]=t(2039))}function wr(e,t){const n=c;var x=e[n(743)][n(856)],o=qe(e).on(n(748),null);t&&(o.on(n(756),$n,Mt),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in x?o.on(n(637),null):(x[n(803)][n(1431)]=x[n(799)],delete x.__noselect)}const l0=e=>()=>e;function gx(e,{sourceEvent:t,subject:n,target:x,identifier:o,active:r,x:i,y:a,dx:f,dy:s,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:x,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:r,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:s,enumerable:!0,configurable:!0},_:{value:u}})}gx.prototype.on=function(){const e=c;var t=this._.on[e(878)](this._,arguments);return t===this._?this:t};function fd(e){const t=c;return!e[t(607)]&&!e[t(2070)]}function gd(){return this[c(1866)]}function hd(e,t){return t??{x:e.x,y:e.y}}function yd(){const e=c;return navigator[e(1165)]||e(1171)in this}function vr(){const e=c;var t=fd,n=gd,x=hd,o=yd,r={},i=i0(e(1159),e(449),e(1323)),a=0,f,s,u,d,y=0;function h(b){const k=e;b.on("mousedown.drag",g)[k(1076)](o).on(k(1657),p).on(k(451),M,ud).on(k(1868),w)[k(803)](k(1869),"none")[k(803)]("-webkit-tap-highlight-color",k(1529))}function g(b,k){const G=e;if(!(d||!t.call(this,b,k))){var E=z(this,n.call(this,b,k),b,k,"mouse");E&&(qe(b[G(973)]).on(G(1824),m,Mt).on("mouseup.drag",v,Mt),mr(b.view),fx(b),u=!1,f=b.clientX,s=b[G(1484)],E(G(1159),b))}}function m(b){const k=e;if($n(b),!u){var G=b[k(2156)]-f,E=b[k(1484)]-s;u=G*G+E*E>y}r[k(1672)](k(449),b)}function v(b){const k=e;qe(b.view).on(k(2129),null),wr(b[k(973)],u),$n(b),r.mouse(k(1323),b)}function p(b,k){const G=e;if(t[G(1036)](this,b,k)){var E=b[G(538)],I=n.call(this,b,k),q=E.length,F,K;for(F=0;F<q;++F)(K=z(this,I,b,k,E[F][G(2019)],E[F]))&&(fx(b),K(G(1159),b,E[F]))}}function M(b){const k=e;var G=b[k(538)],E=G[k(1028)],I,q;for(I=0;I<E;++I)(q=r[G[I][k(2019)]])&&($n(b),q(k(449),b,G[I]))}function w(b){const k=e;var G=b[k(538)],E=G[k(1028)],I,q;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),I=0;I<E;++I)(q=r[G[I][k(2019)]])&&(fx(b),q("end",b,G[I]))}function z(b,k,G,E,I,q){const F=e;var K=i.copy(),W=Je(q||G,k),V,N,D;if((D=x[F(1036)](b,new gx(F(740),{sourceEvent:G,target:h,identifier:I,active:a,x:W[0],y:W[1],dx:0,dy:0,dispatch:K}),E))!=null)return V=D.x-W[0]||0,N=D.y-W[1]||0,function B(A,P,Y){const Z=F;var J=W,X;switch(A){case Z(1159):r[I]=B,X=a++;break;case Z(1323):delete r[I],--a;case"drag":W=Je(Y||P,k),X=a;break}K[Z(1036)](A,b,new gx(A,{sourceEvent:P,subject:D,target:h,identifier:I,active:X,x:W[0]+V,y:W[1]+N,dx:W[0]-J[0],dy:W[1]-J[1],dispatch:K}),E)}}return h.filter=function(b){const k=e;return arguments[k(1028)]?(t=typeof b===k(940)?b:l0(!!b),h):t},h[e(2170)]=function(b){return arguments[e(1028)]?(n=typeof b=="function"?b:l0(b),h):n},h[e(662)]=function(b){const k=e;return arguments[k(1028)]?(x=typeof b===k(940)?b:l0(b),h):x},h.touchable=function(b){const k=e;return arguments.length?(o=typeof b===k(940)?b:l0(!!b),h):o},h.on=function(){var b=i.on.apply(i,arguments);return b===i?h:b},h[e(1635)]=function(b){const k=e;return arguments[k(1028)]?(y=(b=+b)*b,h):Math[k(444)](y)},h}function hx(e,t,n){const x=c;e[x(1347)]=t[x(1347)]=n,n[x(498)]=e}function pr(e,t){var n=Object.create(e.prototype);for(var x in t)n[x]=t[x];return n}function Bt(){}var Dt=.7,d0=1/Dt,et=c(924),Lt=c(1456),xn=c(672),md=/^#([0-9a-f]{3,8})$/,wd=new RegExp(c(1237)+et+","+et+","+et+"\\)$"),vd=new RegExp(c(1237)+xn+","+xn+","+xn+c(1205)),pd=new RegExp(c(1951)+et+","+et+","+et+","+Lt+"\\)$"),bd=new RegExp(c(1951)+xn+","+xn+","+xn+","+Lt+c(1205)),zd=new RegExp(c(1433)+Lt+","+xn+","+xn+c(1205)),Cd=new RegExp(c(532)+Lt+","+xn+","+xn+","+Lt+c(1205)),br={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};hx(Bt,Pn,{copy(e){return Object[c(1055)](new this.constructor,this,e)},displayable(){const e=c;return this[e(1421)]()[e(2154)]()},hex:zr,formatHex:zr,formatHex8:Md,formatHsl:Bd,formatRgb:Cr,toString:Cr});function zr(){const e=c;return this[e(1421)]()[e(841)]()}function Md(){const e=c;return this[e(1421)]()[e(1814)]()}function Bd(){return Nr(this).formatHsl()}function Cr(){return this[c(1421)]().formatRgb()}function Pn(e){const t=c;var n,x;return e=(e+"")[t(1619)]()[t(1297)](),(n=md[t(1525)](e))?(x=n[1][t(1028)],n=parseInt(n[1],16),x===6?Mr(n):x===3?new je(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):x===8?u0(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):x===4?u0(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=wd.exec(e))?new je(n[1],n[2],n[3],1):(n=vd[t(1525)](e))?new je(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=pd[t(1525)](e))?u0(n[1],n[2],n[3],n[4]):(n=bd.exec(e))?u0(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=zd.exec(e))?Lr(n[1],n[2]/100,n[3]/100,1):(n=Cd[t(1525)](e))?Lr(n[1],n[2]/100,n[3]/100,n[4]):br[t(1337)](e)?Mr(br[e]):e===t(1585)?new je(NaN,NaN,NaN,0):null}function Mr(e){return new je(e>>16&255,e>>8&255,e&255,1)}function u0(e,t,n,x){return x<=0&&(e=t=n=NaN),new je(e,t,n,x)}function Dd(e){const t=c;return e instanceof Bt||(e=Pn(e)),e?(e=e.rgb(),new je(e.r,e.g,e.b,e[t(1495)])):new je}function yx(e,t,n,x){return arguments.length===1?Dd(e):new je(e,t,n,x??1)}function je(e,t,n,x){const o=c;this.r=+e,this.g=+t,this.b=+n,this[o(1495)]=+x}hx(je,yx,pr(Bt,{brighter(e){const t=c;return e=e==null?d0:Math[t(1822)](d0,e),new je(this.r*e,this.g*e,this.b*e,this[t(1495)])},darker(e){const t=c;return e=e==null?Dt:Math[t(1822)](Dt,e),new je(this.r*e,this.g*e,this.b*e,this[t(1495)])},rgb(){return this},clamp(){return new je(Yn(this.r),Yn(this.g),Yn(this.b),f0(this.opacity))},displayable(){const e=c;return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this[e(1495)]&&this[e(1495)]<=1},hex:Br,formatHex:Br,formatHex8:Ld,formatRgb:Dr,toString:Dr}));function Br(){return"#"+An(this.r)+An(this.g)+An(this.b)}function Ld(){const e=c;return"#"+An(this.r)+An(this.g)+An(this.b)+An((isNaN(this[e(1495)])?1:this[e(1495)])*255)}function Dr(){const e=c,t=f0(this[e(1495)]);return""+e(t===1?1377:654)+Yn(this.r)+", "+Yn(this.g)+", "+Yn(this.b)+(t===1?")":", "+t+")")}function f0(e){const t=c;return isNaN(e)?1:Math[t(1419)](0,Math[t(2007)](1,e))}function Yn(e){const t=c;return Math[t(1419)](0,Math[t(2007)](255,Math.round(e)||0))}function An(e){const t=c;return e=Yn(e),(e<16?"0":"")+e[t(534)](16)}function Lr(e,t,n,x){return x<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new _e(e,t,n,x)}function Nr(e){const t=c;if(e instanceof _e)return new _e(e.h,e.s,e.l,e[t(1495)]);if(e instanceof Bt||(e=Pn(e)),!e)return new _e;if(e instanceof _e)return e;e=e[t(1421)]();var n=e.r/255,x=e.g/255,o=e.b/255,r=Math[t(2007)](n,x,o),i=Math.max(n,x,o),a=NaN,f=i-r,s=(i+r)/2;return f?(n===i?a=(x-o)/f+(x<o)*6:x===i?a=(o-n)/f+2:a=(n-x)/f+4,f/=s<.5?i+r:2-i-r,a*=60):f=s>0&&s<1?0:a,new _e(a,f,s,e[t(1495)])}function Nd(e,t,n,x){return arguments[c(1028)]===1?Nr(e):new _e(e,t,n,x??1)}function _e(e,t,n,x){const o=c;this.h=+e,this.s=+t,this.l=+n,this[o(1495)]=+x}hx(_e,Nd,pr(Bt,{brighter(e){const t=c;return e=e==null?d0:Math[t(1822)](d0,e),new _e(this.h,this.s,this.l*e,this[t(1495)])},darker(e){const t=c;return e=e==null?Dt:Math[t(1822)](Dt,e),new _e(this.h,this.s,this.l*e,this[t(1495)])},rgb(){const e=c;var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,x=this.l,o=x+(x<.5?x:1-x)*n,r=2*x-o;return new je(mx(t>=240?t-240:t+120,r,o),mx(t,r,o),mx(t<120?t+240:t-120,r,o),this[e(1495)])},clamp(){const e=c;return new _e(Sr(this.h),g0(this.s),g0(this.l),f0(this[e(1495)]))},displayable(){const e=c;return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this[e(1495)]<=1},formatHsl(){const e=c,t=f0(this[e(1495)]);return""+e(t===1?1177:965)+Sr(this.h)+", "+g0(this.s)*100+e(1164)+g0(this.l)*100+"%"+(t===1?")":", "+t+")")}}));function Sr(e){return e=(e||0)%360,e<0?e+360:e}function g0(e){const t=c;return Math[t(1419)](0,Math[t(2007)](1,e||0))}function mx(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const wx=e=>()=>e;function Sd(e,t){return function(n){return e+n*t}}function kd(e,t,n){const x=c;return e=Math[x(1822)](e,n),t=Math.pow(t,n)-e,n=1/n,function(o){return Math[x(1822)](e+o*t,n)}}function Pd(e){return(e=+e)==1?kr:function(t,n){return n-t?kd(t,n,e):wx(isNaN(t)?n:t)}}function kr(e,t){var n=t-e;return n?Sd(e,n):wx(isNaN(e)?t:e)}const h0=(function e(t){const n=c;var x=Pd(t);function o(r,i){const a=_0x447e;var f=x((r=yx(r)).r,(i=yx(i)).r),s=x(r.g,i.g),u=x(r.b,i.b),d=kr(r[a(1495)],i[a(1495)]);return function(y){return r.r=f(y),r.g=s(y),r.b=u(y),r.opacity=d(y),r+""}}return o[n(1102)]=e,o})(1);function Yd(e,t){const n=c;t||(t=[]);var x=e?Math[n(2007)](t[n(1028)],e[n(1028)]):0,o=t[n(563)](),r;return function(i){for(r=0;r<x;++r)o[r]=e[r]*(1-i)+t[r]*i;return o}}function Ad(e){return ArrayBuffer[c(786)](e)&&!(e instanceof DataView)}function Id(e,t){const n=c;var x=t?t[n(1028)]:0,o=e?Math[n(2007)](x,e[n(1028)]):0,r=new Array(o),i=new Array(x),a;for(a=0;a<o;++a)r[a]=Nt(e[a],t[a]);for(;a<x;++a)i[a]=t[a];return function(f){for(a=0;a<o;++a)i[a]=r[a](f);return i}}function Ed(e,t){var n=new Date;return e=+e,t=+t,function(x){return n[_0x447e(769)](e*(1-x)+t*x),n}}function on(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function jd(e,t){const n=c;var x={},o={},r;(e===null||typeof e!==n(1210))&&(e={}),(t===null||typeof t!==n(1210))&&(t={});for(r in t)r in e?x[r]=Nt(e[r],t[r]):o[r]=t[r];return function(i){for(r in x)o[r]=x[r](i);return o}}var vx=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,px=new RegExp(vx[c(1513)],"g");function Ud(e){return function(){return e}}function Gd(e){return function(t){return e(t)+""}}function Pr(e,t){const n=c;var x=vx[n(1425)]=px[n(1425)]=0,o,r,i,a=-1,f=[],s=[];for(e=e+"",t=t+"";(o=vx[n(1525)](e))&&(r=px[n(1525)](t));)(i=r[n(1261)])>x&&(i=t[n(563)](x,i),f[a]?f[a]+=i:f[++a]=i),(o=o[0])===(r=r[0])?f[a]?f[a]+=r:f[++a]=r:(f[++a]=null,s[n(2049)]({i:a,x:on(o,r)})),x=px[n(1425)];return x<t[n(1028)]&&(i=t[n(563)](x),f[a]?f[a]+=i:f[++a]=i),f[n(1028)]<2?s[0]?Gd(s[0].x):Ud(t):(t=s.length,function(u){const d=n;for(var y=0,h;y<t;++y)f[(h=s[y]).i]=h.x(u);return f[d(1248)]("")})}function Nt(e,t){const n=c;var x=typeof t,o;return t==null||x===n(894)?wx(t):(x===n(1539)?on:x===n(1841)?(o=Pn(t))?(t=o,h0):Pr:t instanceof Pn?h0:t instanceof Date?Ed:Ad(t)?Yd:Array[n(1098)](t)?Id:typeof t[n(503)]!==n(940)&&typeof t.toString!==n(940)||isNaN(t)?jd:on)(e,t)}var Yr=180/Math.PI,bx={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ar(e,t,n,x,o,r){const i=c;var a,f,s;return(a=Math[i(444)](e*e+t*t))&&(e/=a,t/=a),(s=e*n+t*x)&&(n-=e*s,x-=t*s),(f=Math[i(444)](n*n+x*x))&&(n/=f,x/=f,s/=f),e*x<t*n&&(e=-e,t=-t,s=-s,a=-a),{translateX:o,translateY:r,rotate:Math[i(794)](t,e)*Yr,skewX:Math.atan(s)*Yr,scaleX:a,scaleY:f}}var y0;function Od(e){const t=c,n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n[t(669)]?bx:Ar(n.a,n.b,n.c,n.d,n.e,n.f)}function Hd(e){const t=c;return e==null||(y0||(y0=document[t(763)]("http://www.w3.org/2000/svg","g")),y0.setAttribute(t(688),e),!(e=y0[t(688)][t(2042)][t(1341)]()))?bx:(e=e[t(1277)],Ar(e.a,e.b,e.c,e.d,e.e,e.f))}function Ir(e,t,n,x){function o(s){const u=_0x447e;return s[u(1028)]?s[u(1293)]()+" ":""}function r(s,u,d,y,h,g){const m=_0x447e;if(s!==d||u!==y){var v=h[m(2049)](m(1595),null,t,null,n);g[m(2049)]({i:v-4,x:on(s,d)},{i:v-2,x:on(u,y)})}else(d||y)&&h.push(m(1595)+d+t+y+n)}function i(s,u,d,y){const h=_0x447e;s!==u?(s-u>180?u+=360:u-s>180&&(s+=360),y.push({i:d[h(2049)](o(d)+h(1089),null,x)-2,x:on(s,u)})):u&&d[h(2049)](o(d)+"rotate("+u+x)}function a(s,u,d,y){const h=_0x447e;s!==u?y[h(2049)]({i:d.push(o(d)+h(2109),null,x)-2,x:on(s,u)}):u&&d[h(2049)](o(d)+h(2109)+u+x)}function f(s,u,d,y,h,g){const m=_0x447e;if(s!==d||u!==y){var v=h.push(o(h)+m(1349),null,",",null,")");g[m(2049)]({i:v-4,x:on(s,d)},{i:v-2,x:on(u,y)})}else(d!==1||y!==1)&&h[m(2049)](o(h)+"scale("+d+","+y+")")}return function(s,u){const d=_0x447e;var y=[],h=[];return s=e(s),u=e(u),r(s.translateX,s[d(731)],u[d(1629)],u[d(731)],y,h),i(s[d(1706)],u[d(1706)],y,h),a(s[d(1900)],u[d(1900)],y,h),f(s[d(1893)],s[d(475)],u[d(1893)],u.scaleY,y,h),s=u=null,function(g){const m=d;for(var v=-1,p=h[m(1028)],M;++v<p;)y[(M=h[v]).i]=M.x(g);return y.join("")}}}var Td=Ir(Od,c(1551),"px)","deg)"),Vd=Ir(Hd,", ",")",")"),qd=1e-12;function Er(e){return((e=Math[c(1690)](e))+1/e)/2}function Wd(e){return((e=Math[c(1690)](e))-1/e)/2}function Xd(e){return((e=Math[c(1690)](2*e))-1)/(e+1)}const m0=(function e(t,n,x){const o=c;function r(i,a){const f=_0x447e;var s=i[0],u=i[1],d=i[2],y=a[0],h=a[1],g=a[2],m=y-s,v=h-u,p=m*m+v*v,M,w;if(p<qd)w=Math[f(484)](g/d)/t,M=function(I){const q=f;return[s+I*m,u+I*v,d*Math[q(1690)](t*I*w)]};else{var z=Math[f(444)](p),b=(g*g-d*d+x*p)/(2*d*n*z),k=(g*g-d*d-x*p)/(2*g*n*z),G=Math.log(Math[f(444)](b*b+1)-b),E=Math[f(484)](Math[f(444)](k*k+1)-k);w=(E-G)/t,M=function(I){var q=I*w,F=Er(G),K=d/(n*z)*(F*Xd(t*q+G)-Wd(G));return[s+K*m,u+K*v,d*F/Er(t*q+G)]}}return M[f(1844)]=w*1e3*t/Math[f(1543)],M}return r[o(1584)]=function(i){var f=Math[o(1419)](.001,+i),s=f*f,u=s*s;return e(f,s,u)},r})(Math.SQRT2,2,4);var nt=0,St=0,kt=0,jr=1e3,w0,Pt,v0=0,In=0,p0=0,Yt=typeof performance=="object"&&performance.now?performance:Date,Ur=typeof window===c(1210)&&window[c(1627)]?window[c(1627)][c(1072)](window):function(e){setTimeout(e,17)};function zx(){const e=c;return In||(Ur(Zd),In=Yt[e(1676)]()+p0)}function Zd(){In=0}function b0(){const e=c;this[e(1708)]=this[e(1819)]=this._next=null}b0[c(1347)]=Gr[c(1347)]={constructor:b0,restart:function(e,t,n){const x=c;if(typeof e!==x(940))throw new TypeError(x(1046));n=(n==null?zx():+n)+(t==null?0:+t),!this._next&&Pt!==this&&(Pt?Pt[x(713)]=this:w0=this,Pt=this),this[x(1708)]=e,this[x(1819)]=n,Cx()},stop:function(){const e=c;this[e(1708)]&&(this[e(1708)]=null,this[e(1819)]=1/0,Cx())}};function Gr(e,t,n){const x=c;var o=new b0;return o[x(1161)](e,t,n),o}function Kd(){const e=c;zx(),++nt;for(var t=w0,n;t;)(n=In-t[e(1819)])>=0&&t[e(1708)].call(void 0,n),t=t[e(713)];--nt}function Or(){In=(v0=Yt[c(1676)]())+p0,nt=St=0;try{Kd()}finally{nt=0,Jd(),In=0}}function Rd(){var t=Yt[c(1676)](),n=t-v0;n>jr&&(p0-=n,v0=t)}function Jd(){const e=c;for(var t,n=w0,x,o=1/0;n;)n[e(1708)]?(o>n._time&&(o=n._time),t=n,n=n[e(713)]):(x=n[e(713)],n[e(713)]=null,n=t?t[e(713)]=x:w0=x);Pt=t,Cx(o)}function Cx(e){const t=c;if(!nt){St&&(St=clearTimeout(St));var n=e-In;n>24?(e<1/0&&(St=setTimeout(Or,e-Yt.now()-p0)),kt&&(kt=clearInterval(kt))):(kt||(v0=Yt[t(1676)](),kt=setInterval(Rd,jr)),nt=1,Ur(Or))}}function Hr(e,t,n){const x=c;var o=new b0;return t=t==null?0:+t,o[x(1161)](r=>{o[x(2124)](),e(r+t)},t,n),o}var _d=i0(c(1159),c(1323),c(2142),c(1834)),Qd=[],Tr=0,Vr=1,Mx=2,z0=3,qr=4,Bx=5,C0=6;function M0(e,t,n,x,o,r){const i=c;var a=e[i(936)];if(!a)e.__transition={};else if(n in a)return;Fd(e,n,{name:t,index:x,group:o,on:_d,tween:Qd,time:r[i(1789)],delay:r[i(905)],duration:r[i(1844)],ease:r[i(1025)],timer:null,state:Tr})}function Dx(e,t){const n=c;var x=Qe(e,t);if(x[n(578)]>Tr)throw new Error(n(1792));return x}function rn(e,t){const n=c;var x=Qe(e,t);if(x.state>z0)throw new Error(n(1944));return x}function Qe(e,t){const n=c;var x=e[n(936)];if(!x||!(x=x[t]))throw new Error(n(1720));return x}function Fd(e,t,n){const x=c;var o=e.__transition,r;o[t]=n,n[x(744)]=Gr(i,0,n[x(1789)]);function i(u){const d=x;n.state=Vr,n[d(744)][d(1161)](a,n[d(905)],n[d(1789)]),n[d(905)]<=u&&a(u-n[d(905)])}function a(u){const d=x;var y,h,g,m;if(n[d(578)]!==Vr)return s();for(y in o)if(m=o[y],m.name===n[d(1952)]){if(m.state===z0)return Hr(a);m[d(578)]===qr?(m[d(578)]=C0,m[d(744)][d(2124)](),m.on.call("interrupt",e,e[d(1485)],m[d(1261)],m[d(1283)]),delete o[y]):+y<t&&(m.state=C0,m[d(744)][d(2124)](),m.on.call("cancel",e,e[d(1485)],m.index,m.group),delete o[y])}if(Hr(function(){const v=d;n.state===z0&&(n[v(578)]=qr,n[v(744)][v(1161)](f,n[v(905)],n[v(1789)]),f(u))}),n[d(578)]=Mx,n.on[d(1036)](d(1159),e,e[d(1485)],n[d(1261)],n[d(1283)]),n[d(578)]===Mx){for(n.state=z0,r=new Array(g=n[d(887)][d(1028)]),y=0,h=-1;y<g;++y)(m=n[d(887)][y].value[d(1036)](e,e[d(1485)],n.index,n[d(1283)]))&&(r[++h]=m);r[d(1028)]=h+1}}function f(u){const d=x;for(var y=u<n[d(1844)]?n.ease[d(1036)](null,u/n[d(1844)]):(n[d(744)][d(1161)](s),n[d(578)]=Bx,1),h=-1,g=r[d(1028)];++h<g;)r[h][d(1036)](e,y);n[d(578)]===Bx&&(n.on[d(1036)](d(1323),e,e[d(1485)],n.index,n.group),s())}function s(){const u=x;n[u(578)]=C0,n.timer.stop(),delete o[t];for(var d in o)return;delete e[u(936)]}}function B0(e,t){const n=c;var x=e.__transition,o,r,i=!0,a;if(x){t=t==null?null:t+"";for(a in x){if((o=x[a]).name!==t){i=!1;continue}r=o[n(578)]>Mx&&o[n(578)]<Bx,o[n(578)]=C0,o[n(744)][n(2124)](),o.on[n(1036)](r?"interrupt":"cancel",e,e[n(1485)],o.index,o[n(1283)]),delete x[a]}i&&delete e[n(936)]}}function $d(e){return this[c(2175)](function(){B0(this,e)})}function eu(e,t){var n,x;return function(){const o=_0x447e;var r=rn(this,e),i=r[o(887)];if(i!==n){x=n=i;for(var a=0,f=x[o(1028)];a<f;++a)if(x[a][o(1952)]===t){x=x.slice(),x[o(1658)](a,1);break}}r.tween=x}}function nu(e,t,n){const x=c;var o,r;if(typeof n!==x(940))throw new Error;return function(){const i=x;var a=rn(this,e),f=a[i(887)];if(f!==o){r=(o=f)[i(563)]();for(var s={name:t,value:n},u=0,d=r[i(1028)];u<d;++u)if(r[u][i(1952)]===t){r[u]=s;break}u===d&&r.push(s)}a[i(887)]=r}}function tu(e,t){const n=c;var x=this[n(733)];if(e+="",arguments[n(1028)]<2){for(var o=Qe(this[n(1656)](),x)[n(887)],r=0,i=o[n(1028)],a;r<i;++r)if((a=o[r])[n(1952)]===e)return a[n(1429)];return null}return this.each((t==null?eu:nu)(x,e,t))}function Lx(e,t,n){const x=c;var o=e[x(733)];return e.each(function(){const r=x;var i=rn(this,o);(i.value||(i[r(1429)]={}))[t]=n[r(878)](this,arguments)}),function(r){return Qe(r,o).value[t]}}function Wr(e,t){const n=c;var x;return(typeof t===n(1539)?on:t instanceof Pn?h0:(x=Pn(t))?(t=x,h0):Pr)(e,t)}function xu(e){return function(){this[_0x447e(1915)](e)}}function ou(e){return function(){const t=_0x447e;this[t(1214)](e.space,e[t(1898)])}}function ru(e,t,n){var x,o=n+"",r;return function(){var a=this[_0x447e(928)](e);return a===o?null:a===x?r:r=t(x=a,n)}}function iu(e,t,n){var x,o=n+"",r;return function(){const i=_0x447e;var a=this[i(1276)](e.space,e[i(1898)]);return a===o?null:a===x?r:r=t(x=a,n)}}function au(e,t,n){var x,o,r;return function(){const i=_0x447e;var a,f=n(this),s;return f==null?void this[i(1915)](e):(a=this[i(928)](e),s=f+"",a===s?null:a===x&&s===o?r:(o=s,r=t(x=a,f)))}}function cu(e,t,n){var x,o,r;return function(){const i=_0x447e;var a,f=n(this),s;return f==null?void this.removeAttributeNS(e.space,e[i(1898)]):(a=this.getAttributeNS(e[i(1234)],e[i(1898)]),s=f+"",a===s?null:a===x&&s===o?r:(o=s,r=t(x=a,f)))}}function su(e,t){const n=c;var x=c0(e),o=x===n(688)?Vd:Wr;return this[n(1768)](e,typeof t===n(940)?(x[n(1898)]?cu:au)(x,o,Lx(this,n(934)+e,t)):t==null?(x[n(1898)]?ou:xu)(x):(x.local?iu:ru)(x,o,t))}function lu(e,t){return function(n){const x=_0x447e;this[x(690)](e,t[x(1036)](this,n))}}function du(e,t){return function(n){const x=_0x447e;this.setAttributeNS(e[x(1234)],e[x(1898)],t[x(1036)](this,n))}}function uu(e,t){const n=c;var x,o;function r(){var a=t[_0x447e(878)](this,arguments);return a!==o&&(x=(o=a)&&du(e,a)),x}return r[n(536)]=t,r}function fu(e,t){const n=c;var x,o;function r(){var a=t[_0x447e(878)](this,arguments);return a!==o&&(x=(o=a)&&lu(e,a)),x}return r[n(536)]=t,r}function gu(e,t){const n=c;var x=n(934)+e;if(arguments.length<2)return(x=this[n(887)](x))&&x[n(536)];if(t==null)return this[n(887)](x,null);if(typeof t!==n(940))throw new Error;var o=c0(e);return this[n(887)](x,(o.local?uu:fu)(o,t))}function hu(e,t){return function(){const n=_0x447e;Dx(this,e)[n(905)]=+t.apply(this,arguments)}}function yu(e,t){return t=+t,function(){const n=_0x447e;Dx(this,e)[n(905)]=t}}function mu(e){const t=c;var n=this[t(733)];return arguments[t(1028)]?this[t(2175)]((typeof e=="function"?hu:yu)(n,e)):Qe(this.node(),n)[t(905)]}function wu(e,t){return function(){const n=_0x447e;rn(this,e)[n(1844)]=+t.apply(this,arguments)}}function vu(e,t){return t=+t,function(){const n=_0x447e;rn(this,e)[n(1844)]=t}}function pu(e){const t=c;var n=this[t(733)];return arguments[t(1028)]?this.each((typeof e===t(940)?wu:vu)(n,e)):Qe(this[t(1656)](),n)[t(1844)]}function bu(e,t){if(typeof t!="function")throw new Error;return function(){rn(this,e).ease=t}}function zu(e){const t=c;var n=this._id;return arguments[t(1028)]?this[t(2175)](bu(n,e)):Qe(this[t(1656)](),n)[t(1025)]}function Cu(e,t){return function(){const n=_0x447e;var x=t[n(878)](this,arguments);if(typeof x!==n(940))throw new Error;rn(this,e)[n(1025)]=x}}function Mu(e){const t=c;if(typeof e!==t(940))throw new Error;return this[t(2175)](Cu(this[t(733)],e))}function Bu(e){const t=c;typeof e!==t(940)&&(e=ar(e));for(var n=this[t(780)],x=n[t(1028)],o=new Array(x),r=0;r<x;++r)for(var i=n[r],a=i.length,f=o[r]=[],s,u=0;u<a;++u)(s=i[u])&&e[t(1036)](s,s[t(1485)],u,i)&&f[t(2049)](s);return new sn(o,this._parents,this[t(1748)],this._id)}function Du(e){const t=c;if(e._id!==this[t(733)])throw new Error;for(var n=this[t(780)],x=e[t(780)],o=n[t(1028)],r=x[t(1028)],i=Math[t(2007)](o,r),a=new Array(o),f=0;f<i;++f)for(var s=n[f],u=x[f],d=s.length,y=a[f]=new Array(d),h,g=0;g<d;++g)(h=s[g]||u[g])&&(y[g]=h);for(;f<o;++f)a[f]=n[f];return new sn(a,this[t(510)],this[t(1748)],this[t(733)])}function Lu(e){const t=c;return(e+"").trim().split(/^|\s+/)[t(1281)](function(n){const x=t;var o=n[x(1379)](".");return o>=0&&(n=n[x(563)](0,o)),!n||n===x(1159)})}function Nu(e,t,n){var x,o,r=Lu(t)?Dx:rn;return function(){const i=_0x447e;var a=r(this,e),f=a.on;f!==x&&(o=(x=f)[i(2087)]()).on(t,n),a.on=o}}function Su(e,t){const n=c;var x=this._id;return arguments[n(1028)]<2?Qe(this[n(1656)](),x).on.on(e):this[n(2175)](Nu(x,e,t))}function ku(e){return function(){var n=this[_0x447e(1866)];for(var x in this.__transition)if(+x!==e)return;n&&n.removeChild(this)}}function Pu(){const e=c;return this.on(e(1795),ku(this[e(733)]))}function Yu(e){const t=c;var n=this._name,x=this[t(733)];typeof e!==t(940)&&(e=dx(e));for(var o=this[t(780)],r=o.length,i=new Array(r),a=0;a<r;++a)for(var f=o[a],s=f[t(1028)],u=i[a]=new Array(s),d,y,h=0;h<s;++h)(d=f[h])&&(y=e[t(1036)](d,d[t(1485)],h,f))&&(t(1485)in d&&(y.__data__=d[t(1485)]),u[h]=y,M0(u[h],n,x,h,u,Qe(d,x)));return new sn(i,this[t(510)],n,x)}function Au(e){const t=c;var n=this[t(1748)],x=this[t(733)];typeof e!==t(940)&&(e=ir(e));for(var o=this[t(780)],r=o[t(1028)],i=[],a=[],f=0;f<r;++f)for(var s=o[f],u=s[t(1028)],d,y=0;y<u;++y)if(d=s[y]){for(var h=e.call(d,d.__data__,y,s),g,m=Qe(d,x),v=0,p=h[t(1028)];v<p;++v)(g=h[v])&&M0(g,n,x,v,h,m);i[t(2049)](h),a.push(d)}return new sn(i,a,n,x)}var Iu=Ct[c(1347)][c(498)];function Eu(){const e=c;return new Iu(this[e(780)],this[e(510)])}function ju(e,t){var n,x,o;return function(){const r=_0x447e;var i=Fn(this,e),a=(this[r(803)][r(496)](e),Fn(this,e));return i===a?null:i===n&&a===x?o:o=t(n=i,x=a)}}function Xr(e){return function(){this[_0x447e(803)].removeProperty(e)}}function Uu(e,t,n){var x,o=n+"",r;return function(){var i=Fn(this,e);return i===o?null:i===x?r:r=t(x=i,n)}}function Gu(e,t,n){var x,o,r;return function(){const i=_0x447e;var a=Fn(this,e),f=n(this),s=f+"";return f==null&&(s=f=(this.style[i(496)](e),Fn(this,e))),a===s?null:a===x&&s===o?r:(o=s,r=t(x=a,f))}}function Ou(e,t){const n=c;var x,o,r,i="style."+t,a=n(1454)+i,f;return function(){const s=n;var u=rn(this,e),d=u.on,y=u[s(1429)][i]==null?f||(f=Xr(t)):void 0;(d!==x||r!==y)&&(o=(x=d)[s(2087)]()).on(a,r=y),u.on=o}}function Hu(e,t,n){const x=c;var o=(e+="")===x(688)?Td:Wr;return t==null?this[x(438)](e,ju(e,o)).on("end.style."+e,Xr(e)):typeof t=="function"?this[x(438)](e,Gu(e,o,Lx(this,"style."+e,t)))[x(2175)](Ou(this[x(733)],e)):this[x(438)](e,Uu(e,o,t),n).on(x(1398)+e,null)}function Tu(e,t,n){return function(x){const o=_0x447e;this[o(803)][o(1939)](e,t[o(1036)](this,x),n)}}function Vu(e,t,n){const x=c;var o,r;function i(){var f=t[_0x447e(878)](this,arguments);return f!==r&&(o=(r=f)&&Tu(e,f,n)),o}return i[x(536)]=t,i}function qu(e,t,n){const x=c;var o=x(1801)+(e+="");if(arguments.length<2)return(o=this[x(887)](o))&&o[x(536)];if(t==null)return this[x(887)](o,null);if(typeof t!==x(940))throw new Error;return this.tween(o,Vu(e,t,n??""))}function Wu(e){return function(){const t=_0x447e;this[t(691)]=e}}function Xu(e){return function(){const t=_0x447e;var n=e(this);this[t(691)]=n??""}}function Zu(e){const t=c;return this[t(887)](t(1527),typeof e===t(940)?Xu(Lx(this,t(1527),e)):Wu(e==null?"":e+""))}function Ku(e){return function(t){const n=_0x447e;this[n(691)]=e[n(1036)](this,t)}}function Ru(e){const t=c;var n,x;function o(){var i=e[_0x447e(878)](this,arguments);return i!==x&&(n=(x=i)&&Ku(i)),n}return o[t(536)]=e,o}function Ju(e){const t=c;var n=t(1527);if(arguments[t(1028)]<1)return(n=this[t(887)](n))&&n[t(536)];if(e==null)return this[t(887)](n,null);if(typeof e!==t(940))throw new Error;return this[t(887)](n,Ru(e))}function _u(){const e=c;for(var t=this[e(1748)],n=this[e(733)],x=Zr(),o=this[e(780)],r=o[e(1028)],i=0;i<r;++i)for(var a=o[i],f=a.length,s,u=0;u<f;++u)if(s=a[u]){var d=Qe(s,n);M0(s,t,x,u,a,{time:d.time+d.delay+d.duration,delay:0,duration:d[e(1844)],ease:d[e(1025)]})}return new sn(o,this[e(510)],t,x)}function Qu(){const e=c;var t,n,x=this,o=x[e(733)],r=x.size();return new Promise(function(i,a){const f=e;var s={value:a},u={value:function(){--r===0&&i()}};x[f(2175)](function(){const d=f;var y=rn(this,o),h=y.on;h!==t&&(n=(t=h).copy(),n._[d(2142)].push(s),n._[d(1834)].push(s),n._[d(1323)][d(2049)](u)),y.on=n}),r===0&&i()})}var Fu=0;function sn(e,t,n,x){const o=c;this[o(780)]=e,this[o(510)]=t,this[o(1748)]=n,this[o(733)]=x}function Zr(){return++Fu}var ln=Ct[c(1347)];sn[c(1347)]={constructor:sn,select:Yu,selectAll:Au,selectChild:ln[c(1330)],selectChildren:ln.selectChildren,filter:Bu,merge:Du,selection:Eu,transition:_u,call:ln[c(1036)],nodes:ln[c(1053)],node:ln.node,size:ln[c(2046)],empty:ln[c(2166)],each:ln[c(2175)],on:Su,attr:su,attrTween:gu,style:Hu,styleTween:qu,text:Zu,textTween:Ju,remove:Pu,tween:tu,delay:mu,duration:pu,ease:zu,easeVarying:Mu,end:Qu,[Symbol[c(1797)]]:ln[Symbol[c(1797)]]};function $u(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var ef={time:null,delay:0,duration:250,ease:$u};function nf(e,t){const n=c;for(var x;!(x=e[n(936)])||!(x=x[t]);)if(!(e=e.parentNode))throw new Error("transition "+t+n(1510));return x}function tf(e){const t=c;var n,x;e instanceof sn?(n=e[t(733)],e=e[t(1748)]):(n=Zr(),(x=ef)[t(1789)]=zx(),e=e==null?null:e+"");for(var o=this[t(780)],r=o[t(1028)],i=0;i<r;++i)for(var a=o[i],f=a[t(1028)],s,u=0;u<f;++u)(s=a[u])&&M0(s,e,n,u,a,x||nf(s,n));return new sn(o,this[t(510)],e,n)}Ct[c(1347)].interrupt=$d,Ct.prototype[c(1355)]=tf;const D0=e=>()=>e;function xf(e,{sourceEvent:t,target:n,transform:x,dispatch:o}){Object[c(1506)](this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:x,enumerable:!0,configurable:!0},_:{value:o}})}function dn(e,t,n){this.k=e,this.x=t,this.y=n}dn[c(1347)]={constructor:dn,scale:function(e){return e===1?this:new dn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new dn(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){const t=c;return e[t(2087)]().domain(e[t(1707)]().map(this[t(1142)],this).map(e[t(884)],e))},rescaleY:function(e){const t=c;return e[t(2087)]().domain(e[t(1707)]()[t(1001)](this.invertY,this)[t(1001)](e.invert,e))},toString:function(){const e=c;return"translate("+this.x+","+this.y+e(1775)+this.k+")"}};var L0=new dn(1,0,0);Kr.prototype=dn[c(1347)];function Kr(e){const t=c;for(;!e[t(621)];)if(!(e=e.parentNode))return L0;return e[t(621)]}function Nx(e){e[c(1351)]()}function At(e){const t=c;e[t(478)](),e[t(1351)]()}function of(e){const t=c;return(!e[t(607)]||e[t(638)]===t(1698))&&!e[t(2070)]}function rf(){const e=c;var t=this;return t instanceof SVGElement?(t=t[e(2053)]||t,t.hasAttribute(e(958))?(t=t[e(958)][e(2042)],[[t.x,t.y],[t.x+t[e(502)],t.y+t[e(1201)]]]):[[0,0],[t.width.baseVal[e(1429)],t[e(1201)][e(2042)][e(1429)]]]):[[0,0],[t[e(1039)],t.clientHeight]]}function Rr(){return this[c(621)]||L0}function af(e){const t=c;return-e.deltaY*(e[t(1178)]===1?.05:e.deltaMode?1:.002)*(e[t(607)]?10:1)}function cf(){const e=c;return navigator[e(1165)]||e(1171)in this}function sf(e,t,n){const x=c;var o=e[x(1142)](t[0][0])-n[0][0],r=e[x(1142)](t[1][0])-n[1][0],i=e[x(1105)](t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e[x(1413)](r>o?(o+r)/2:Math[x(2007)](0,o)||Math.max(0,r),a>i?(i+a)/2:Math[x(2007)](0,i)||Math[x(1419)](0,a))}function Jr(){const e=c;var t=of,n=rf,x=sf,o=af,r=cf,i=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],f=250,s=m0,u=i0(e(1159),e(931),"end"),d,y,h,g=500,m=150,v=0,p=10;function M(N){const D=e;N[D(938)](D(621),Rr).on(D(519),I,{passive:!1}).on(D(2167),q).on(D(1062),F)[D(1076)](r).on("touchstart.zoom",K).on(D(1407),W).on(D(889),V).style(D(700),D(1529))}M[e(688)]=function(N,D,B,A){const P=e;var Y=N[P(1904)]?N[P(1904)]():N;Y[P(938)](P(621),Rr),N!==Y?k(N,D,B,A):Y[P(1834)]()[P(2175)](function(){const Z=P;G(this,arguments).event(A)[Z(1159)]().zoom(null,typeof D===Z(940)?D.apply(this,arguments):D)[Z(1323)]()})},M.scaleBy=function(N,D,B,A){const P=e;M[P(2138)](N,function(){const Y=P;var Z=this[Y(621)].k,J=typeof D=="function"?D[Y(878)](this,arguments):D;return Z*J},B,A)},M[e(2138)]=function(N,D,B,A){M.transform(N,function(){const P=_0x447e;var Y=n[P(878)](this,arguments),Z=this[P(621)],J=B==null?b(Y):typeof B===P(940)?B[P(878)](this,arguments):B,X=Z[P(884)](J),Q=typeof D===P(940)?D[P(878)](this,arguments):D;return x(z(w(Z,Q),J,X),Y,a)},B,A)},M[e(593)]=function(N,D,B,A){M.transform(N,function(){const P=_0x447e;return x(this[P(621)].translate(typeof D=="function"?D[P(878)](this,arguments):D,typeof B===P(940)?B[P(878)](this,arguments):B),n[P(878)](this,arguments),a)},null,A)},M[e(611)]=function(N,D,B,A,P){const Y=e;M[Y(688)](N,function(){const Z=Y;var J=n.apply(this,arguments),X=this[Z(621)],Q=A==null?b(J):typeof A===Z(940)?A.apply(this,arguments):A;return x(L0[Z(1413)](Q[0],Q[1])[Z(1416)](X.k)[Z(1413)](typeof D===Z(940)?-D[Z(878)](this,arguments):-D,typeof B===Z(940)?-B[Z(878)](this,arguments):-B),J,a)},A,P)};function w(N,D){const B=e;return D=Math[B(1419)](i[0],Math[B(2007)](i[1],D)),D===N.k?N:new dn(D,N.x,N.y)}function z(N,D,B){var A=D[0]-B[0]*N.k,P=D[1]-B[1]*N.k;return A===N.x&&P===N.y?N:new dn(N.k,A,P)}function b(N){return[(+N[0][0]+ +N[1][0])/2,(+N[0][1]+ +N[1][1])/2]}function k(N,D,B,A){const P=e;N.on("start.zoom",function(){const Y=_0x447e;G(this,arguments)[Y(1325)](A)[Y(1159)]()}).on(P(728),function(){const Y=P;G(this,arguments).event(A)[Y(1323)]()})[P(887)](P(931),function(){const Y=P;var Z=this,J=arguments,X=G(Z,J)[Y(1325)](A),Q=n[Y(878)](Z,J),R=B==null?b(Q):typeof B===Y(940)?B.apply(Z,J):B,re=Math[Y(1419)](Q[1][0]-Q[0][0],Q[1][1]-Q[0][1]),ee=Z[Y(621)],ae=typeof D=="function"?D.apply(Z,J):D,ie=s(ee[Y(884)](R).concat(re/ee.k),ae[Y(884)](R)[Y(520)](re/ae.k));return function(S){const j=Y;if(S===1)S=ae;else{var _=ie(S),H=re/_[2];S=new dn(H,R[0]-_[0]*H,R[1]-_[1]*H)}X[j(931)](null,S)}})}function G(N,D,B){return!B&&N.__zooming||new E(N,D)}function E(N,D){const B=e;this.that=N,this[B(1964)]=D,this[B(649)]=0,this[B(1860)]=null,this[B(1671)]=n[B(878)](N,D),this.taps=0}E[e(1347)]={event:function(N){const D=e;return N&&(this[D(1860)]=N),this},start:function(){const N=e;return++this.active===1&&(this[N(1503)][N(643)]=this,this[N(1699)]("start")),this},zoom:function(N,D){const B=e;return this[B(1672)]&&N!==B(1672)&&(this[B(1672)][1]=D[B(884)](this[B(1672)][0])),this[B(561)]&&N!=="touch"&&(this[B(561)][1]=D[B(884)](this.touch0[0])),this.touch1&&N!==B(1729)&&(this[B(1564)][1]=D.invert(this[B(1564)][0])),this.that[B(621)]=D,this.emit(B(931)),this},end:function(){const N=e;return--this[N(649)]===0&&(delete this.that.__zooming,this[N(1699)](N(1323))),this},emit:function(N){const D=e;var B=qe(this[D(1503)])[D(1691)]();u.call(N,this.that,new xf(N,{sourceEvent:this.sourceEvent,target:M,transform:this[D(1503)][D(621)],dispatch:u}),B)}};function I(N,...D){const B=e;if(!t[B(878)](this,arguments))return;var A=G(this,D).event(N),P=this[B(621)],Y=Math.max(i[0],Math[B(2007)](i[1],P.k*Math[B(1822)](2,o.apply(this,arguments)))),Z=Je(N);if(A[B(1698)])(A[B(1672)][0][0]!==Z[0]||A[B(1672)][0][1]!==Z[1])&&(A[B(1672)][1]=P[B(884)](A.mouse[0]=Z)),clearTimeout(A[B(1698)]);else{if(P.k===Y)return;A[B(1672)]=[Z,P[B(884)](Z)],B0(this),A[B(1159)]()}At(N),A[B(1698)]=setTimeout(J,m),A.zoom(B(1672),x(z(w(P,Y),A[B(1672)][0],A[B(1672)][1]),A[B(1671)],a));function J(){const X=B;A[X(1698)]=null,A[X(1323)]()}}function q(N,...D){const B=e;if(h||!t[B(878)](this,arguments))return;var A=N[B(850)],P=G(this,D,!0)[B(1325)](N),Y=qe(N[B(973)]).on(B(830),Q,!0).on(B(454),R,!0),Z=Je(N,A),J=N[B(2156)],X=N[B(1484)];mr(N.view),Nx(N),P.mouse=[Z,this[B(621)][B(884)](Z)],B0(this),P[B(1159)]();function Q(re){const ee=B;if(At(re),!P[ee(568)]){var ae=re[ee(2156)]-J,ie=re[ee(1484)]-X;P[ee(568)]=ae*ae+ie*ie>v}P.event(re)[ee(931)](ee(1672),x(z(P[ee(1503)][ee(621)],P[ee(1672)][0]=Je(re,A),P[ee(1672)][1]),P.extent,a))}function R(re){const ee=B;Y.on("mousemove.zoom mouseup.zoom",null),wr(re.view,P[ee(568)]),At(re),P[ee(1325)](re)[ee(1323)]()}}function F(N,...D){const B=e;if(t.apply(this,arguments)){var A=this[B(621)],P=Je(N.changedTouches?N[B(538)][0]:N,this),Y=A[B(884)](P),Z=A.k*(N[B(2064)]?.5:2),J=x(z(w(A,Z),P,Y),n.apply(this,D),a);At(N),f>0?qe(this).transition().duration(f)[B(1036)](k,J,P,N):qe(this)[B(1036)](M[B(688)],J,P,N)}}function K(N,...D){const B=e;if(t[B(878)](this,arguments)){var A=N[B(497)],P=A[B(1028)],Y=G(this,D,N[B(538)].length===P)[B(1325)](N),Z,J,X,Q;for(Nx(N),J=0;J<P;++J)X=A[J],Q=Je(X,this),Q=[Q,this[B(621)][B(884)](Q),X[B(2019)]],Y[B(561)]?!Y[B(1564)]&&Y[B(561)][2]!==Q[2]&&(Y[B(1564)]=Q,Y.taps=0):(Y[B(561)]=Q,Z=!0,Y[B(1078)]=1+!!d);d&&(d=clearTimeout(d)),Z&&(Y[B(1078)]<2&&(y=Q[0],d=setTimeout(function(){d=null},g)),B0(this),Y[B(1159)]())}}function W(N,...D){const B=e;if(this[B(643)]){var A=G(this,D)[B(1325)](N),P=N[B(538)],Y=P[B(1028)],Z,J,X,Q;for(At(N),Z=0;Z<Y;++Z)J=P[Z],X=Je(J,this),A.touch0&&A[B(561)][2]===J[B(2019)]?A[B(561)][0]=X:A[B(1564)]&&A.touch1[2]===J.identifier&&(A[B(1564)][0]=X);if(J=A.that.__zoom,A.touch1){var R=A[B(561)][0],re=A[B(561)][1],ee=A[B(1564)][0],ae=A[B(1564)][1],ie=(ie=ee[0]-R[0])*ie+(ie=ee[1]-R[1])*ie,S=(S=ae[0]-re[0])*S+(S=ae[1]-re[1])*S;J=w(J,Math[B(444)](ie/S)),X=[(R[0]+ee[0])/2,(R[1]+ee[1])/2],Q=[(re[0]+ae[0])/2,(re[1]+ae[1])/2]}else if(A.touch0)X=A.touch0[0],Q=A[B(561)][1];else return;A[B(931)]("touch",x(z(J,X,Q),A[B(1671)],a))}}function V(N,...D){const B=e;if(this.__zooming){var A=G(this,D).event(N),P=N[B(538)],Y=P[B(1028)],Z,J;for(Nx(N),h&&clearTimeout(h),h=setTimeout(function(){h=null},g),Z=0;Z<Y;++Z)J=P[Z],A[B(561)]&&A[B(561)][2]===J[B(2019)]?delete A[B(561)]:A.touch1&&A[B(1564)][2]===J[B(2019)]&&delete A[B(1564)];if(A[B(1564)]&&!A[B(561)]&&(A.touch0=A[B(1564)],delete A[B(1564)]),A.touch0)A[B(561)][1]=this[B(621)].invert(A[B(561)][0]);else if(A.end(),A[B(1078)]===2&&(J=Je(J,this),Math.hypot(y[0]-J[0],y[1]-J[1])<p)){var X=qe(this).on("dblclick.zoom");X&&X.apply(this,arguments)}}}return M[e(632)]=function(N){const D=e;return arguments[D(1028)]?(o=typeof N===D(940)?N:D0(+N),M):o},M[e(1076)]=function(N){return arguments[e(1028)]?(t=typeof N=="function"?N:D0(!!N),M):t},M[e(1435)]=function(N){const D=e;return arguments[D(1028)]?(r=typeof N===D(940)?N:D0(!!N),M):r},M.extent=function(N){return arguments[e(1028)]?(n=typeof N=="function"?N:D0([[+N[0][0],+N[0][1]],[+N[1][0],+N[1][1]]]),M):n},M[e(572)]=function(N){return arguments[e(1028)]?(i[0]=+N[0],i[1]=+N[1],M):[i[0],i[1]]},M[e(1853)]=function(N){return arguments[e(1028)]?(a[0][0]=+N[0][0],a[1][0]=+N[1][0],a[0][1]=+N[0][1],a[1][1]=+N[1][1],M):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},M[e(1538)]=function(N){return arguments[e(1028)]?(x=N,M):x},M[e(1844)]=function(N){return arguments[e(1028)]?(f=+N,M):f},M.interpolate=function(N){return arguments[e(1028)]?(s=N,M):s},M.on=function(){const N=e;var D=u.on[N(878)](u,arguments);return D===u?M:D},M[e(1635)]=function(N){const D=e;return arguments[D(1028)]?(v=(N=+N)*N,M):Math[D(444)](v)},M.tapDistance=function(N){return arguments[e(1028)]?(p=+N,M):p},M}const We={error001:()=>c(1437),error002:()=>c(1043),error003:e=>c(1086)+e+c(458),error004:()=>c(758),error005:()=>c(1736),error006:()=>c(2144),error007:e=>"The old edge with id="+e+c(1749),error009:e=>c(1993)+e+c(1811),error008:(e,{id:t,sourceHandle:n,targetHandle:x})=>c(1194)+e+' handle id: "'+(e==="source"?n:x)+c(1769)+t+".",error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>'Edge type "'+e+c(458),error012:e=>c(544)+e+c(1600),error013:(e="react")=>c(1536)+e+c(868),error014:()=>c(954),error015:()=>c(1264)},It=[[Number.NEGATIVE_INFINITY,Number[c(2033)]],[Number[c(1213)],Number[c(1213)]]],_r=[c(723)," ",c(1517)],Qr={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":c(1193),"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>"Moved selected node "+e+c(1755)+t+", y: "+n,"edge.a11yDescription.default":c(1833),"controls.ariaLabel":c(641),"controls.zoomIn.ariaLabel":c(857),"controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":c(652),"controls.interactive.ariaLabel":c(974),"minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var tt;(function(e){const t=c;e[t(552)]=t(1937),e[t(1570)]=t(644)})(tt||(tt={}));var En;(function(e){const t=c;e.Free="free",e[t(1731)]="vertical",e[t(1170)]=t(956)})(En||(En={}));var Et;(function(e){const t=c;e.Partial=t(500),e.Full="full"})(Et||(Et={}));const Fr={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var mn;(function(e){const t=c;e.Bezier=t(1138),e.Straight="straight",e[t(2005)]=t(539),e[t(838)]="smoothstep",e[t(870)]=t(852)})(mn||(mn={}));var N0;(function(e){const t=c;e[t(874)]="arrow",e[t(639)]=t(1404)})(N0||(N0={}));var ue;(function(e){const t=c;e[t(1580)]=t(1947),e[t(998)]=t(1411),e.Right=t(1604),e[t(1381)]="bottom"})(ue||(ue={}));const $r={[ue[c(1580)]]:ue[c(1017)],[ue[c(1017)]]:ue[c(1580)],[ue[c(998)]]:ue[c(1381)],[ue.Bottom]:ue.Top};function ei(e){const t=c;return e===null?null:t(e?1981:2148)}const ni=e=>"id"in e&&"source"in e&&c(819)in e,lf=e=>"id"in e&&c(1400)in e&&!("source"in e)&&!("target"in e),Sx=e=>"id"in e&&c(2075)in e&&!("source"in e)&&!(c(819)in e),jt=(e,t=[0,0])=>{const n=c,{width:x,height:o}=un(e),r=e.origin??t,i=x*r[0],a=o*r[1];return{x:e[n(1400)].x-i,y:e[n(1400)].y-a}},df=(e,t={nodeOrigin:[0,0]})=>{const n=c;if(process.env.NODE_ENV===n(1191)&&!t[n(828)]&&console.warn(n(618)),e.length===0)return{x:0,y:0,width:0,height:0};const x=e[n(1846)]((o,r)=>{const i=n,a=typeof r===i(1841);let f=!t[i(828)]&&!a?r:void 0;t[i(828)]&&(f=a?t[i(828)][i(1446)](r):Sx(r)?r:t[i(828)][i(1446)](r.id));const s=f?P0(f,t[i(1383)]):{x:0,y:0,x2:0,y2:0};return S0(o,s)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return k0(x)},Ut=(e,t={})=>{const n=c;let x={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e[n(1068)](r=>{const i=n;(t.filter===void 0||t[i(1076)](r))&&(x=S0(x,P0(r)),o=!0)}),o?k0(x):{x:0,y:0,width:0,height:0}},kx=(e,t,[n,x,o]=[0,0,1],r=!1,i=!1)=>{const a=c,f={...Ht(t,[n,x,o]),width:t[a(502)]/o,height:t[a(1201)]/o},s=[];for(const u of e[a(642)]()){const{measured:d,selectable:y=!0,hidden:h=!1}=u;if(i&&!y||h)continue;const g=d[a(502)]??u[a(502)]??u[a(1861)]??null,m=d.height??u[a(1201)]??u.initialHeight??null,v=Gt(f,ot(u)),p=(g??0)*(m??0),M=r&&v>0;(!u.internals.handleBounds||M||v>=p||u.dragging)&&s[a(2049)](u)}return s},uf=(e,t)=>{const n=c,x=new Set;return e[n(1068)](o=>{x[n(447)](o.id)}),t[n(1076)](o=>x[n(1432)](o[n(1513)])||x[n(1432)](o.target))};function ff(e,t){const n=c,x=new Map,o=t?.[n(1053)]?new Set(t[n(1053)].map(r=>r.id)):null;return e[n(1068)](r=>{const i=n;r[i(1815)][i(502)]&&r.measured[i(1201)]&&(t?.[i(1597)]||!r[i(1231)])&&(!o||o[i(1432)](r.id))&&x.set(r.id,r)}),x}async function gf({nodes:e,width:t,height:n,panZoom:x,minZoom:o,maxZoom:r},i){const a=c;if(e[a(2046)]===0)return Promise[a(1734)](!0);const f=ff(e,i),s=Ut(f),u=Yx(s,t,n,i?.[a(1649)]??o,i?.[a(512)]??r,i?.[a(1754)]??.1);return await x[a(1449)](u,{duration:i?.[a(1844)],ease:i?.ease,interpolate:i?.[a(948)]}),Promise.resolve(!0)}function ti({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:x=[0,0],nodeExtent:o,onError:r}){const i=c,a=n[i(1446)](e),f=a[i(2060)]?n[i(1446)](a[i(2060)]):void 0,{x:s,y:u}=f?f[i(2075)].positionAbsolute:{x:0,y:0},d=a[i(1252)]??x;let y=a[i(1671)]||o;if(a[i(1671)]===i(707)&&!a[i(823)])if(!f)r?.(i(1474),We[i(523)]());else{const g=f.measured[i(502)],m=f[i(1815)][i(1201)];g&&m&&(y=[[s,u],[s+g,u+m]])}else f&&it(a.extent)&&(y=[[a[i(1671)][0][0]+s,a[i(1671)][0][1]+u],[a[i(1671)][1][0]+s,a[i(1671)][1][1]+u]]);const h=it(y)?jn(t,y,a.measured):t;return(a[i(1815)][i(502)]===void 0||a[i(1815)][i(1201)]===void 0)&&r?.(i(1354),We[i(1553)]()),{position:{x:h.x-s+(a.measured.width??0)*d[0],y:h.y-u+(a[i(1815)].height??0)*d[1]},positionAbsolute:h}}async function hf({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:x,onBeforeDelete:o}){const r=c,i=new Set(e[r(1001)](h=>h.id)),a=[];for(const h of n){if(h[r(1399)]===!1)continue;const g=i.has(h.id),m=!g&&h[r(2060)]&&a[r(2159)](v=>v.id===h[r(2060)]);(g||m)&&a[r(2049)](h)}const f=new Set(t[r(1001)](h=>h.id)),s=x[r(1076)](h=>h[r(1399)]!==!1),u=uf(a,s),d=u;for(const h of s)f[r(1432)](h.id)&&!d[r(2159)](m=>m.id===h.id)&&d[r(2049)](h);if(!o)return{edges:d,nodes:a};const y=await o({nodes:a,edges:d});return typeof y===r(894)?y?{edges:d,nodes:a}:{edges:[],nodes:[]}:y}const xt=(e,t=0,n=1)=>Math[c(2007)](Math.max(e,t),n),jn=(e={x:0,y:0},t,n)=>({x:xt(e.x,t[0][0],t[1][0]-(n?.width??0)),y:xt(e.y,t[0][1],t[1][1]-(n?.height??0))});function xi(e,t,n){const x=c,{width:o,height:r}=un(n),{x:i,y:a}=n.internals[x(2139)];return jn(e,[[i,a],[i+o,a+r]],t)}const oi=(e,t,n)=>{const x=c;return e<t?xt(Math.abs(e-t),1,t)/t:e>n?-xt(Math[x(781)](e-n),1,t)/t:0},ri=(e,t,n=15,x=40)=>{const o=c,r=oi(e.x,x,t[o(502)]-x)*n,i=oi(e.y,x,t[o(1201)]-x)*n;return[r,i]},S0=(e,t)=>({x:Math[c(2007)](e.x,t.x),y:Math[c(2007)](e.y,t.y),x2:Math[c(1419)](e.x2,t.x2),y2:Math[c(1419)](e.y2,t.y2)}),Px=({x:e,y:t,width:n,height:x})=>({x:e,y:t,x2:e+n,y2:t+x}),k0=({x:e,y:t,x2:n,y2:x})=>({x:e,y:t,width:n-e,height:x-t}),ot=(e,t=[0,0])=>{const n=c,{x,y:o}=Sx(e)?e[n(2075)][n(2139)]:jt(e,t);return{x,y:o,width:e[n(1815)]?.[n(502)]??e[n(502)]??e[n(1861)]??0,height:e.measured?.height??e.height??e[n(831)]??0}},P0=(e,t=[0,0])=>{const n=c,{x,y:o}=Sx(e)?e[n(2075)][n(2139)]:jt(e,t);return{x,y:o,x2:x+(e[n(1815)]?.[n(502)]??e[n(502)]??e[n(1861)]??0),y2:o+(e[n(1815)]?.[n(1201)]??e[n(1201)]??e[n(831)]??0)}},ii=(e,t)=>k0(S0(Px(e),Px(t))),Gt=(e,t)=>{const n=c,x=Math.max(0,Math.min(e.x+e[n(502)],t.x+t.width)-Math[n(1419)](e.x,t.x)),o=Math[n(1419)](0,Math[n(2007)](e.y+e[n(1201)],t.y+t[n(1201)])-Math[n(1419)](e.y,t.y));return Math.ceil(x*o)},ai=e=>Fe(e[c(502)])&&Fe(e[c(1201)])&&Fe(e.x)&&Fe(e.y),Fe=e=>!isNaN(e)&&isFinite(e),ci=(e,t)=>{const n=c;process.env.NODE_ENV==="development"&&console[n(777)](n(1849)+t+n(1550)+e)},Ot=(e,t=[1,1])=>{const n=c;return{x:t[0]*Math[n(681)](e.x/t[0]),y:t[1]*Math[n(681)](e.y/t[1])}},Ht=({x:e,y:t},[n,x,o],r=!1,i=[1,1])=>{const a={x:(e-n)/o,y:(t-x)/o};return r?Ot(a,i):a},Y0=({x:e,y:t},[n,x,o])=>({x:e*o+n,y:t*o+x});function rt(e,t){const n=c;if(typeof e===n(1539))return Math[n(2130)]((t-t/(1+e))*.5);if(typeof e===n(1841)&&e[n(761)]("px")){const x=parseFloat(e);if(!Number[n(1464)](x))return Math.floor(x)}if(typeof e=="string"&&e.endsWith("%")){const x=parseFloat(e);if(!Number[n(1464)](x))return Math[n(2130)](t*x*.01)}return console[n(1738)](n(1688)+e+'" is invalid. Please provide a number or a string with a valid unit (px or %).'),0}function yf(e,t,n){const x=c;if(typeof e===x(1841)||typeof e=="number"){const o=rt(e,n),r=rt(e,t);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof e=="object"){const o=rt(e[x(1411)]??e.y??0,n),r=rt(e.bottom??e.y??0,n),i=rt(e[x(1947)]??e.x??0,t),a=rt(e.right??e.x??0,t);return{top:o,right:a,bottom:r,left:i,x:i+a,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function mf(e,t,n,x,o,r){const i=c,{x:a,y:f}=Y0(e,[t,n,x]),{x:s,y:u}=Y0({x:e.x+e[i(502)],y:e.y+e[i(1201)]},[t,n,x]),d=o-s,y=r-u;return{left:Math.floor(a),top:Math[i(2130)](f),right:Math[i(2130)](d),bottom:Math[i(2130)](y)}}const Yx=(e,t,n,x,o,r)=>{const i=c,a=yf(r,t,n),f=(t-a.x)/e[i(502)],s=(n-a.y)/e[i(1201)],u=Math[i(2007)](f,s),d=xt(u,x,o),y=e.x+e[i(502)]/2,h=e.y+e.height/2,g=t/2-y*d,m=n/2-h*d,v=mf(e,g,m,d,t,n),p={left:Math[i(2007)](v[i(1947)]-a[i(1947)],0),top:Math[i(2007)](v[i(1411)]-a[i(1411)],0),right:Math.min(v[i(1604)]-a[i(1604)],0),bottom:Math[i(2007)](v[i(1695)]-a[i(1695)],0)};return{x:g-p[i(1947)]+p.right,y:m-p[i(1411)]+p[i(1695)],zoom:d}},Tt=()=>typeof navigator!==c(1269)&&navigator?.[c(1041)]?.[c(1379)](c(942))>=0;function it(e){return e!=null&&e!=="parent"}function un(e){const t=c;return{width:e[t(1815)]?.[t(502)]??e[t(502)]??e[t(1861)]??0,height:e[t(1815)]?.[t(1201)]??e.height??e[t(831)]??0}}function si(e){const t=c;return(e[t(1815)]?.[t(502)]??e[t(502)]??e[t(1861)])!==void 0&&(e[t(1815)]?.height??e[t(1201)]??e[t(831)])!==void 0}function li(e,t={width:0,height:0},n,x,o){const r=c,i={...e},a=x[r(1446)](n);if(a){const f=a[r(1252)]||o;i.x+=a[r(2075)][r(2139)].x-(t[r(502)]??0)*f[0],i.y+=a.internals[r(2139)].y-(t[r(1201)]??0)*f[1]}return i}function di(e,t){const n=c;if(e[n(2046)]!==t[n(2046)])return!1;for(const x of e)if(!t.has(x))return!1;return!0}function wf(){let e,t;return{promise:new Promise((x,o)=>{e=x,t=o}),resolve:e,reject:t}}function vf(e){return{...Qr,...e||{}}}function Vt(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:x,containerBounds:o}){const r=c,{x:i,y:a}=$e(e),f=Ht({x:i-(o?.[r(1947)]??0),y:a-(o?.[r(1411)]??0)},x),{x:s,y:u}=n?Ot(f,t):f;return{xSnapped:s,ySnapped:u,...f}}const Ax=e=>({width:e[c(807)],height:e.offsetHeight}),ui=e=>e?.getRootNode?.()||window?.[c(743)],pf=[c(1339),"SELECT",c(806)];function fi(e){const t=c,n=e[t(626)]?.()?.[0]||e[t(819)];return n?.[t(1733)]!==1?!1:pf.includes(n.nodeName)||n[t(1566)]("contenteditable")||!!n[t(1132)](t(1913))}const gi=e=>c(2156)in e,$e=(e,t)=>{const n=c,x=gi(e),o=x?e.clientX:e.touches?.[0][n(2156)],r=x?e[n(1484)]:e[n(497)]?.[0][n(1484)];return{x:o-(t?.[n(1947)]??0),y:r-(t?.[n(1411)]??0)}},hi=(e,t,n,x,o)=>{const r=c,i=t[r(1483)]("."+e);return!i||!i.length?null:Array[r(1486)](i)[r(1001)](a=>{const f=r,s=a.getBoundingClientRect();return{id:a.getAttribute(f(1637)),type:e,nodeId:o,position:a.getAttribute(f(747)),x:(s[f(1947)]-n[f(1947)])/x,y:(s[f(1411)]-n.top)/x,...Ax(a)}})};function yi({sourceX:e,sourceY:t,targetX:n,targetY:x,sourceControlX:o,sourceControlY:r,targetControlX:i,targetControlY:a}){const f=c,s=e*.125+o*.375+i*.375+n*.125,u=t*.125+r*.375+a*.375+x*.125,d=Math[f(781)](s-e),y=Math[f(781)](u-t);return[s,u,d,y]}function A0(e,t){const n=c;return e>=0?.5*e:t*25*Math[n(444)](-e)}function mi({pos:e,x1:t,y1:n,x2:x,y2:o,c:r}){const i=c;switch(e){case ue[i(1580)]:return[t-A0(t-x,r),n];case ue[i(1017)]:return[t+A0(x-t,r),n];case ue[i(998)]:return[t,n-A0(n-o,r)];case ue.Bottom:return[t,n+A0(o-n,r)]}}function wi({sourceX:e,sourceY:t,sourcePosition:n=ue[c(1381)],targetX:x,targetY:o,targetPosition:r=ue[c(998)],curvature:i=.25}){const[a,f]=mi({pos:n,x1:e,y1:t,x2:x,y2:o,c:i}),[s,u]=mi({pos:r,x1:x,y1:o,x2:e,y2:t,c:i}),[d,y,h,g]=yi({sourceX:e,sourceY:t,targetX:x,targetY:o,sourceControlX:a,sourceControlY:f,targetControlX:s,targetControlY:u});return["M"+e+","+t+" C"+a+","+f+" "+s+","+u+" "+x+","+o,d,y,h,g]}function vi({sourceX:e,sourceY:t,targetX:n,targetY:x}){const o=c,r=Math[o(781)](n-e)/2,i=n<e?n+r:n-r,a=Math[o(781)](x-t)/2,f=x<t?x+a:x-a;return[i,f,r,a]}function bf({sourceNode:e,targetNode:t,selected:n=!1,zIndex:x=0,elevateOnSelect:o=!1,zIndexMode:r="basic"}){const i=c;if(r==="manual")return x;const a=o&&n?x+1e3:x,f=Math[i(1419)](e[i(2060)]||o&&e[i(1518)]?e[i(2075)].z:0,t.parentId||o&&t.selected?t.internals.z:0);return a+f}function zf({sourceNode:e,targetNode:t,width:n,height:x,transform:o}){const r=S0(P0(e),P0(t));r.x===r.x2&&(r.x2+=1),r.y===r.y2&&(r.y2+=1);const i={x:-o[0]/o[2],y:-o[1]/o[2],width:n/o[2],height:x/o[2]};return Gt(i,k0(r))>0}const Cf=({source:e,sourceHandle:t,target:n,targetHandle:x})=>"xy-edge__"+e+(t||"")+"-"+n+(x||""),Mf=(e,t)=>{const n=c;return t[n(1448)](x=>x.source===e[n(1513)]&&x[n(819)]===e.target&&(x.sourceHandle===e[n(1131)]||!x.sourceHandle&&!e[n(1131)])&&(x[n(465)]===e.targetHandle||!x[n(465)]&&!e[n(465)]))},pi=(e,t,n={})=>{const x=c;if(!e[x(1513)]||!e[x(819)])return ci(x(2015),We.error006()),t;const o=n[x(1528)]||Cf;let r;return ni(e)?r={...e}:r={...e,id:o(e)},Mf(r,t)?t:(r[x(1131)]===null&&delete r[x(1131)],r[x(465)]===null&&delete r[x(465)],t[x(520)](r))};function bi({sourceX:e,sourceY:t,targetX:n,targetY:x}){const[o,r,i,a]=vi({sourceX:e,sourceY:t,targetX:n,targetY:x});return["M "+e+","+t+"L "+n+","+x,o,r,i,a]}const zi={[ue[c(1580)]]:{x:-1,y:0},[ue[c(1017)]]:{x:1,y:0},[ue[c(998)]]:{x:0,y:-1},[ue.Bottom]:{x:0,y:1}},Bf=({source:e,sourcePosition:t=ue[c(1381)],target:n})=>{const x=c;return t===ue[x(1580)]||t===ue[x(1017)]?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1}},Ci=(e,t)=>Math[c(444)](Math[c(1822)](t.x-e.x,2)+Math[c(1822)](t.y-e.y,2));function Df({source:e,sourcePosition:t=ue.Bottom,target:n,targetPosition:x=ue[c(998)],center:o,offset:r,stepPosition:i}){const a=c,f=zi[t],s=zi[x],u={x:e.x+f.x*r,y:e.y+f.y*r},d={x:n.x+s.x*r,y:n.y+s.y*r},y=Bf({source:u,sourcePosition:t,target:d}),h=y.x!==0?"x":"y",g=y[h];let m=[],v,p;const M={x:0,y:0},w={x:0,y:0},[,,z,b]=vi({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(f[h]*s[h]===-1){h==="x"?(v=o.x??u.x+(d.x-u.x)*i,p=o.y??(u.y+d.y)/2):(v=o.x??(u.x+d.x)/2,p=o.y??u.y+(d.y-u.y)*i);const I=[{x:v,y:u.y},{x:v,y:d.y}],q=[{x:u.x,y:p},{x:d.x,y:p}];f[h]===g?m=h==="x"?I:q:m=h==="x"?q:I}else{const I=[{x:u.x,y:d.y}],q=[{x:d.x,y:u.y}];if(h==="x"?m=f.x===g?q:I:m=f.y===g?I:q,t===x){const N=Math[a(781)](e[h]-n[h]);if(N<=r){const D=Math[a(2007)](r-1,r-N);f[h]===g?M[h]=(u[h]>e[h]?-1:1)*D:w[h]=(d[h]>n[h]?-1:1)*D}}if(t!==x){const N=h==="x"?"y":"x",D=f[h]===s[N],B=u[N]>d[N],A=u[N]<d[N];(f[h]===1&&(!D&&B||D&&A)||f[h]!==1&&(!D&&A||D&&B))&&(m=h==="x"?I:q)}const F={x:u.x+M.x,y:u.y+M.y},K={x:d.x+w.x,y:d.y+w.y},W=Math[a(1419)](Math.abs(F.x-m[0].x),Math[a(781)](K.x-m[0].x)),V=Math[a(1419)](Math.abs(F.y-m[0].y),Math[a(781)](K.y-m[0].y));W>=V?(v=(F.x+K.x)/2,p=m[0].y):(v=m[0].x,p=(F.y+K.y)/2)}const k={x:u.x+M.x,y:u.y+M.y},G={x:d.x+w.x,y:d.y+w.y};return[[e,...k.x!==m[0].x||k.y!==m[0].y?[k]:[],...m,...G.x!==m[m[a(1028)]-1].x||G.y!==m[m.length-1].y?[G]:[],n],v,p,z,b]}function Lf(e,t,n,x){const o=c,r=Math[o(2007)](Ci(e,t)/2,Ci(t,n)/2,x),{x:i,y:a}=t;if(e.x===i&&i===n.x||e.y===a&&a===n.y)return"L"+i+" "+a;if(e.y===a){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return"L "+(i+r*u)+","+a+"Q "+i+","+a+" "+i+","+(a+r*d)}const f=e.x<n.x?1:-1,s=e.y<n.y?-1:1;return"L "+i+","+(a+r*s)+"Q "+i+","+a+" "+(i+r*f)+","+a}function Ix({sourceX:e,sourceY:t,sourcePosition:n=ue[c(1381)],targetX:x,targetY:o,targetPosition:r=ue[c(998)],borderRadius:i=5,centerX:a,centerY:f,offset:s=20,stepPosition:u=.5}){const d=c,[y,h,g,m,v]=Df({source:{x:e,y:t},sourcePosition:n,target:{x,y:o},targetPosition:r,center:{x:a,y:f},offset:s,stepPosition:u});let p="M"+y[0].x+" "+y[0].y;for(let M=1;M<y[d(1028)]-1;M++)p+=Lf(y[M-1],y[M],y[M+1],i);return p+="L"+y[y[d(1028)]-1].x+" "+y[y[d(1028)]-1].y,[p,h,g,m,v]}function Mi(e){const t=c;return e&&!!(e[t(2075)][t(2111)]||e[t(1783)]?.[t(1028)])&&!!(e[t(1815)][t(502)]||e[t(502)]||e[t(1861)])}function Nf(e){const t=c,{sourceNode:n,targetNode:x}=e;if(!Mi(n)||!Mi(x))return null;const o=n[t(2075)][t(2111)]||Bi(n[t(1783)]),r=x.internals[t(2111)]||Bi(x[t(1783)]),i=Di(o?.source??[],e.sourceHandle),a=Di(e.connectionMode===tt.Strict?r?.[t(819)]??[]:(r?.[t(819)]??[]).concat(r?.[t(1513)]??[]),e[t(465)]);if(!i||!a)return e[t(1133)]?.(t(1813),We[t(1344)](t(i?819:1513),{id:e.id,sourceHandle:e[t(1131)],targetHandle:e[t(465)]})),null;const f=i?.[t(1400)]||ue[t(1381)],s=a?.[t(1400)]||ue.Top,u=Un(n,i,f),d=Un(x,a,s);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:f,targetPosition:s}}function Bi(e){const t=c;if(!e)return null;const n=[],x=[];for(const o of e)o[t(502)]=o[t(502)]??1,o[t(1201)]=o[t(1201)]??1,o[t(638)]==="source"?n[t(2049)](o):o[t(638)]==="target"&&x[t(2049)](o);return{source:n,target:x}}function Un(e,t,n=ue[c(1580)],x=!1){const o=c,r=(t?.x??0)+e[o(2075)][o(2139)].x,i=(t?.y??0)+e[o(2075)][o(2139)].y,{width:a,height:f}=t??un(e);if(x)return{x:r+a/2,y:i+f/2};switch(t?.[o(1400)]??n){case ue[o(998)]:return{x:r+a/2,y:i};case ue.Right:return{x:r+a,y:i+f/2};case ue[o(1381)]:return{x:r+a/2,y:i+f};case ue.Left:return{x:r,y:i+f/2}}}function Di(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Ex(e,t){const n=c;return e?typeof e=="string"?e:""+(t?t+"__":"")+Object[n(1648)](e)[n(1625)]()[n(1001)](o=>o+"="+e[o]).join("&"):""}function Sf(e,{id:t,defaultColor:n,defaultMarkerStart:x,defaultMarkerEnd:o}){const r=c,i=new Set;return e.reduce((a,f)=>{const s=_0x447e;return[f[s(836)]||x,f[s(1300)]||o].forEach(u=>{const d=s;if(u&&typeof u=="object"){const y=Ex(u,t);!i[d(1432)](y)&&(a[d(2049)]({id:y,color:u[d(765)]||n,...u}),i.add(y))}}),a},[])[r(1625)]((a,f)=>a.id[r(1492)](f.id))}const Li=1e3,kf=10,jx={nodeOrigin:[0,0],nodeExtent:It,elevateNodesOnSelect:!0,zIndexMode:c(867),defaults:{}},Pf={...jx,checkEquality:!0};function Ux(e,t){const n={...e};for(const x in t)t[x]!==void 0&&(n[x]=t[x]);return n}function Yf(e,t,n){const x=c,o=Ux(jx,n);for(const r of e[x(642)]())if(r[x(2060)])Hx(r,e,t,o);else{const i=jt(r,o[x(1383)]),a=it(r[x(1671)])?r[x(1671)]:o[x(1121)],f=jn(i,a,un(r));r[x(2075)][x(2139)]=f}}function Af(e,t){const n=c;if(!e.handles)return e[n(1815)]?t?.[n(2075)][n(2111)]:void 0;const x=[],o=[];for(const r of e.handles){const i={id:r.id,width:r[n(502)]??1,height:r[n(1201)]??1,nodeId:e.id,x:r.x,y:r.y,position:r[n(1400)],type:r.type};r.type===n(1513)?x.push(i):r[n(638)]===n(819)&&o.push(i)}return{source:x,target:o}}function Gx(e){return e==="manual"}function Ox(e,t,n,x={}){const o=c,r=Ux(Pf,x),i={i:0},a=new Map(t),f=r?.[o(1218)]&&!Gx(r[o(2002)])?Li:0;let s=e[o(1028)]>0,u=!1;t[o(1370)](),n[o(1370)]();for(const d of e){let y=a.get(d.id);if(r[o(842)]&&d===y?.[o(2075)][o(1572)])t[o(1007)](d.id,y);else{const h=jt(d,r[o(1383)]),g=it(d[o(1671)])?d[o(1671)]:r[o(1121)],m=jn(h,g,un(d));y={...r[o(1083)],...d,measured:{width:d[o(1815)]?.[o(502)],height:d[o(1815)]?.[o(1201)]},internals:{positionAbsolute:m,handleBounds:Af(d,y),z:Ni(d,f,r[o(2002)]),userNode:d}},t.set(d.id,y)}(y[o(1815)]===void 0||y[o(1815)][o(502)]===void 0||y[o(1815)][o(1201)]===void 0)&&!y[o(1231)]&&(s=!1),d[o(2060)]&&Hx(y,t,n,x,i),u||=d[o(1518)]??!1}return{nodesInitialized:s,hasSelectedNodes:u}}function If(e,t){const n=c;if(!e[n(2060)])return;const x=t.get(e[n(2060)]);x?x.set(e.id,e):t.set(e[n(2060)],new Map([[e.id,e]]))}function Hx(e,t,n,x,o){const r=c,{elevateNodesOnSelect:i,nodeOrigin:a,nodeExtent:f,zIndexMode:s}=Ux(jx,x),u=e.parentId,d=t[r(1446)](u);if(!d){console[r(777)](r(963)+u+r(2158));return}If(e,n),o&&!d.parentId&&d[r(2075)].rootParentIndex===void 0&&s===r(1647)&&(d[r(2075)].rootParentIndex=++o.i,d[r(2075)].z=d[r(2075)].z+o.i*kf),o&&d[r(2075)][r(613)]!==void 0&&(o.i=d[r(2075)][r(613)]);const y=i&&!Gx(s)?Li:0,{x:h,y:g,z:m}=Ef(e,d,a,f,y,s),{positionAbsolute:v}=e[r(2075)],p=h!==v.x||g!==v.y;(p||m!==e[r(2075)].z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:p?{x:h,y:g}:v,z:m}})}function Ni(e,t,n){const x=c,o=Fe(e[x(2147)])?e[x(2147)]:0;return Gx(n)?o:o+(e.selected?t:0)}function Ef(e,t,n,x,o,r){const i=c,{x:a,y:f}=t[i(2075)][i(2139)],s=un(e),u=jt(e,n),d=it(e[i(1671)])?jn(u,e.extent,s):u;let y=jn({x:a+d.x,y:f+d.y},x,s);e[i(1671)]===i(707)&&(y=xi(y,s,t));const h=Ni(e,o,r),g=t[i(2075)].z??0;return{x:y.x,y:y.y,z:g>=h?g+1:h}}function Tx(e,t,n,x=[0,0]){const o=c,r=[],i=new Map;for(const a of e){const f=t.get(a[o(2060)]);if(!f)continue;const s=i[o(1446)](a[o(2060)])?.expandedRect??ot(f),u=ii(s,a[o(1110)]);i[o(1007)](a[o(2060)],{expandedRect:u,parent:f})}return i[o(2046)]>0&&i[o(1068)](({expandedRect:a,parent:f},s)=>{const u=o,d=f[u(2075)][u(2139)],y=un(f),h=f.origin??x,g=a.x<d.x?Math.round(Math.abs(d.x-a.x)):0,m=a.y<d.y?Math[u(681)](Math[u(781)](d.y-a.y)):0,v=Math[u(1419)](y[u(502)],Math[u(681)](a.width)),p=Math[u(1419)](y.height,Math.round(a[u(1201)])),M=(v-y[u(502)])*h[0],w=(p-y[u(1201)])*h[1];(g>0||m>0||M||w)&&(r[u(2049)]({id:s,type:u(1400),position:{x:f.position.x-g+M,y:f.position.y-m+w}}),n.get(s)?.forEach(z=>{const b=u;!e[b(1448)](k=>k.id===z.id)&&r[b(2049)]({id:z.id,type:b(1400),position:{x:z[b(1400)].x+g,y:z[b(1400)].y+m}})})),(y[u(502)]<a[u(502)]||y[u(1201)]<a[u(1201)]||g||m)&&r.push({id:s,type:u(524),setAttributes:!0,dimensions:{width:v+(g?h[0]*g-M:0),height:p+(m?h[1]*m-w:0)}})}),r}function jf(e,t,n,x,o,r,i){const a=c,f=x?.[a(1519)](a(1327));let s=!1;if(!f)return{changes:[],updatedInternals:s};const u=[],d=window[a(1107)](f),{m22:y}=new window[a(1143)](d[a(688)]),h=[];for(const g of e[a(642)]()){const m=t.get(g.id);if(!m)continue;if(m[a(1231)]){t[a(1007)](m.id,{...m,internals:{...m[a(2075)],handleBounds:void 0}}),s=!0;continue}const v=Ax(g[a(1858)]),p=m[a(1815)].width!==v[a(502)]||m[a(1815)][a(1201)]!==v[a(1201)];if(!!(v[a(502)]&&v[a(1201)]&&(p||!m[a(2075)][a(2111)]||g[a(1273)]))){const w=g[a(1858)].getBoundingClientRect(),z=it(m[a(1671)])?m[a(1671)]:r;let{positionAbsolute:b}=m[a(2075)];m[a(2060)]&&m[a(1671)]===a(707)?b=xi(b,v,t[a(1446)](m[a(2060)])):z&&(b=jn(b,z,v));const k={...m,measured:v,internals:{...m.internals,positionAbsolute:b,handleBounds:{source:hi(a(1513),g[a(1858)],w,y,m.id),target:hi(a(819),g[a(1858)],w,y,m.id)}}};t[a(1007)](m.id,k),m[a(2060)]&&Hx(k,t,n,{nodeOrigin:o,zIndexMode:i}),s=!0,p&&(u[a(2049)]({id:m.id,type:a(524),dimensions:v}),m.expandParent&&m[a(2060)]&&h.push({id:m.id,parentId:m[a(2060)],rect:ot(k,o)}))}}if(h[a(1028)]>0){const g=Tx(h,t,n,o);u[a(2049)](...g)}return{changes:u,updatedInternals:s}}async function Uf({delta:e,panZoom:t,transform:n,translateExtent:x,width:o,height:r}){const i=c;if(!t||!e.x&&!e.y)return Promise.resolve(!1);const a=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[o,r]],x),f=!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2]);return Promise[i(1734)](f)}function Si(e,t,n,x,o,r){const i=c;let a=o;const f=x.get(a)||new Map;x[i(1007)](a,f[i(1007)](n,t)),a=o+"-"+e;const s=x[i(1446)](a)||new Map;if(x.set(a,s[i(1007)](n,t)),r){a=o+"-"+e+"-"+r;const u=x[i(1446)](a)||new Map;x[i(1007)](a,u[i(1007)](n,t))}}function ki(e,t,n){const x=c;e[x(1370)](),t[x(1370)]();for(const o of n){const{source:r,target:i,sourceHandle:a=null,targetHandle:f=null}=o,s={edgeId:o.id,source:r,target:i,sourceHandle:a,targetHandle:f},u=r+"-"+a+"--"+i+"-"+f,d=i+"-"+f+"--"+r+"-"+a;Si(x(1513),s,d,e,r,a),Si(x(819),s,u,e,i,f),t[x(1007)](o.id,o)}}function Pi(e,t){const n=c;if(!e[n(2060)])return!1;const x=t[n(1446)](e.parentId);return x?x[n(1518)]?!0:Pi(x,t):!1}function Yi(e,t,n){const x=c;let o=e;do{if(o?.[x(1409)]?.(t))return!0;if(o===n)return!1;o=o?.[x(1418)]}while(o);return!1}function Gf(e,t,n,x){const o=c,r=new Map;for(const[i,a]of e)if((a.selected||a.id===x)&&(!a[o(2060)]||!Pi(a,e))&&(a.draggable||t&&typeof a[o(460)]>"u")){const f=e.get(i);f&&r[o(1007)](i,{id:i,position:f.position||{x:0,y:0},distance:{x:n.x-f[o(2075)][o(2139)].x,y:n.y-f.internals[o(2139)].y},extent:f[o(1671)],parentId:f[o(2060)],origin:f[o(1252)],expandParent:f.expandParent,internals:{positionAbsolute:f.internals[o(2139)]||{x:0,y:0}},measured:{width:f.measured.width??0,height:f[o(1815)][o(1201)]??0}})}return r}function Vx({nodeId:e,dragItems:t,nodeLookup:n,dragging:x=!0}){const o=c,r=[];for(const[a,f]of t){const s=n[o(1446)](a)?.[o(2075)][o(1572)];s&&r[o(2049)]({...s,position:f[o(1400)],dragging:x})}if(!e)return[r[0],r];const i=n[o(1446)](e)?.[o(2075)][o(1572)];return[i?{...i,position:t[o(1446)](e)?.position||i[o(1400)],dragging:x}:r[0],r]}function Of({dragItems:e,snapGrid:t,x:n,y:x}){const o=c,r=e[o(642)]().next()[o(1429)];if(!r)return null;const i={x:n-r[o(1603)].x,y:x-r.distance.y},a=Ot(i,t);return{x:a.x-i.x,y:a.y-i.y}}function Hf({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:x,onDragStop:o}){let r={x:null,y:null},i=0,a=new Map,f=!1,s={x:0,y:0},u=null,d=!1,y=null,h=!1,g=!1,m=null;function v({noDragClassName:M,handleSelector:w,domNode:z,isSelectable:b,nodeId:k,nodeClickDistance:G=0}){const E=_0x447e;y=qe(z);function I({x:W,y:V}){const N=_0x447e,{nodeLookup:D,nodeExtent:B,snapGrid:A,snapToGrid:P,nodeOrigin:Y,onNodeDrag:Z,onSelectionDrag:J,onError:X,updateNodePositions:Q}=t();r={x:W,y:V};let R=!1;const re=a[N(2046)]>1,ee=re&&B?Px(Ut(a)):null,ae=re&&P?Of({dragItems:a,snapGrid:A,x:W,y:V}):null;for(const[ie,S]of a){if(!D[N(1432)](ie))continue;let j={x:W-S.distance.x,y:V-S.distance.y};P&&(j=ae?{x:Math[N(681)](j.x+ae.x),y:Math.round(j.y+ae.y)}:Ot(j,A));let _=null;if(re&&B&&!S[N(1671)]&&ee){const{positionAbsolute:ne}=S[N(2075)],de=ne.x-ee.x+B[0][0],ye=ne.x+S[N(1815)][N(502)]-ee.x2+B[1][0],ce=ne.y-ee.y+B[0][1],ge=ne.y+S[N(1815)][N(1201)]-ee.y2+B[1][1];_=[[de,ce],[ye,ge]]}const{position:H,positionAbsolute:O}=ti({nodeId:ie,nextPosition:j,nodeLookup:D,nodeExtent:_||B,nodeOrigin:Y,onError:X});R=R||S[N(1400)].x!==H.x||S[N(1400)].y!==H.y,S[N(1400)]=H,S[N(2075)][N(2139)]=O}if(g=g||R,!!R&&(Q(a,!0),m&&(x||Z||!k&&J))){const[ie,S]=Vx({nodeId:k,dragItems:a,nodeLookup:D});x?.(m,a,ie,S),Z?.(m,ie,S),!k&&J?.(m,S)}}async function q(){if(!u)return;const{transform:W,panBy:V,autoPanSpeed:N,autoPanOnNodeDrag:D}=t();if(!D){f=!1,cancelAnimationFrame(i);return}const[B,A]=ri(s,u,N);(B!==0||A!==0)&&(r.x=(r.x??0)-B/W[2],r.y=(r.y??0)-A/W[2],await V({x:B,y:A})&&I(r)),i=requestAnimationFrame(q)}function F(W){const V=_0x447e,{nodeLookup:N,multiSelectionActive:D,nodesDraggable:B,transform:A,snapGrid:P,snapToGrid:Y,selectNodesOnDrag:Z,onNodeDragStart:J,onSelectionDragStart:X,unselectNodesAndEdges:Q}=t();d=!0,(!Z||!b)&&!D&&k&&!N[V(1446)](k)?.selected&&Q(),b&&Z&&k&&e?.(k);const R=Vt(W.sourceEvent,{transform:A,snapGrid:P,snapToGrid:Y,containerBounds:u});if(r=R,a=Gf(N,B,R,k),a[V(2046)]>0&&(n||J||!k&&X)){const[re,ee]=Vx({nodeId:k,dragItems:a,nodeLookup:N});n?.(W[V(1860)],a,re,ee),J?.(W[V(1860)],re,ee),!k&&X?.(W[V(1860)],ee)}}const K=vr()[E(1635)](G).on(E(1159),W=>{const V=E,{domNode:N,nodeDragThreshold:D,transform:B,snapGrid:A,snapToGrid:P}=t();u=N?.[V(1761)]()||null,h=!1,g=!1,m=W[V(1860)],D===0&&F(W),r=Vt(W.sourceEvent,{transform:B,snapGrid:A,snapToGrid:P,containerBounds:u}),s=$e(W[V(1860)],u)}).on(E(449),W=>{const V=E,{autoPanOnNodeDrag:N,transform:D,snapGrid:B,snapToGrid:A,nodeDragThreshold:P,nodeLookup:Y}=t(),Z=Vt(W[V(1860)],{transform:D,snapGrid:B,snapToGrid:A,containerBounds:u});if(m=W.sourceEvent,(W[V(1860)][V(638)]===V(2112)&&W[V(1860)][V(497)][V(1028)]>1||k&&!Y.has(k))&&(h=!0),!h){if(!f&&N&&d&&(f=!0,q()),!d){const J=$e(W[V(1860)],u),X=J.x-s.x,Q=J.y-s.y;Math.sqrt(X*X+Q*Q)>P&&F(W)}(r.x!==Z[V(1229)]||r.y!==Z[V(1987)])&&a&&d&&(s=$e(W.sourceEvent,u),I(Z))}}).on("end",W=>{const V=E;if(!(!d||h)&&(f=!1,d=!1,cancelAnimationFrame(i),a[V(2046)]>0)){const{nodeLookup:N,updateNodePositions:D,onNodeDragStop:B,onSelectionDragStop:A}=t();if(g&&(D(a,!1),g=!1),o||B||!k&&A){const[P,Y]=Vx({nodeId:k,dragItems:a,nodeLookup:N,dragging:!1});o?.(W[V(1860)],a,P,Y),B?.(W.sourceEvent,P,Y),!k&&A?.(W[V(1860)],Y)}}})[E(1076)](W=>{const V=E,N=W[V(819)];return!W.button&&(!M||!Yi(N,"."+M,z))&&(!w||Yi(N,w,z))});y[E(1036)](K)}function p(){const M=_0x447e;y?.on(M(2169),null)}return{update:v,destroy:p}}function Tf(e,t,n){const x=c,o=[],r={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const i of t.values())Gt(r,ot(i))>0&&o[x(2049)](i);return o}const Vf=250;function qf(e,t,n,x){const o=c;let r=[],i=1/0;const a=Tf(e,n,t+Vf);for(const f of a){const s=[...f.internals[o(2111)]?.[o(1513)]??[],...f[o(2075)].handleBounds?.target??[]];for(const u of s){if(x[o(1382)]===u[o(1382)]&&x[o(638)]===u[o(638)]&&x.id===u.id)continue;const{x:d,y}=Un(f,u,u[o(1400)],!0),h=Math[o(444)](Math.pow(d-e.x,2)+Math.pow(y-e.y,2));h>t||(h<i?(r=[{...u,x:d,y}],i=h):h===i&&r[o(2049)]({...u,x:d,y}))}}if(!r.length)return null;if(r[o(1028)]>1){const f=x[o(638)]===o(1513)?o(819):o(1513);return r.find(s=>s[o(638)]===f)??r[0]}return r[0]}function Ai(e,t,n,x,o,r=!1){const i=c,a=x[i(1446)](e);if(!a)return null;const f=o===i(1937)?a.internals.handleBounds?.[t]:[...a[i(2075)].handleBounds?.[i(1513)]??[],...a.internals[i(2111)]?.[i(819)]??[]],s=(n?f?.find(u=>u.id===n):f?.[0])??null;return s&&r?{...s,...Un(a,s,s[i(1400)],!0)}:s}function Ii(e,t){const n=c;return e||(t?.[n(634)][n(530)](n(819))?"target":t?.[n(634)][n(530)](n(1513))?"source":null)}function Wf(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Ei=()=>!0;function Xf(e,{connectionMode:t,connectionRadius:n,handleId:x,nodeId:o,edgeUpdaterType:r,isTarget:i,domNode:a,nodeLookup:f,lib:s,autoPanOnConnect:u,flowId:d,panBy:y,cancelConnection:h,onConnectStart:g,onConnect:m,onConnectEnd:v,isValidConnection:p=Ei,onReconnectEnd:M,updateConnection:w,getTransform:z,getFromHandle:b,autoPanSpeed:k,dragThreshold:G=1,handleDomNode:E}){const I=c,q=ui(e[I(819)]);let F=0,K;const{x:W,y:V}=$e(e),N=Ii(r,E),D=a?.getBoundingClientRect();let B=!1;if(!D||!N)return;const A=Ai(o,N,x,f,t);if(!A)return;let P=$e(e,D),Y=!1,Z=null,J=!1,X=null;function Q(){if(!u||!D)return;const[_,H]=ri(P,D,k);y({x:_,y:H}),F=requestAnimationFrame(Q)}const R={...A,nodeId:o,type:N,position:A[I(1400)]},re=f[I(1446)](o);let ae={inProgress:!0,isValid:null,from:Un(re,R,ue[I(1580)],!0),fromHandle:R,fromPosition:R[I(1400)],fromNode:re,to:P,toHandle:null,toPosition:$r[R[I(1400)]],toNode:null,pointer:P};function ie(){B=!0,w(ae),g?.(e,{nodeId:o,handleId:x,handleType:N})}G===0&&ie();function S(_){const H=I;if(!B){const{x:ge,y:be}=$e(_),he=ge-W,ze=be-V;if(!(he*he+ze*ze>G*G))return;ie()}if(!b()||!R){j(_);return}const O=z();P=$e(_,D),K=qf(Ht(P,O,!1,[1,1]),n,f,R),!Y&&(Q(),Y=!0);const ne=ji(_,{handle:K,connectionMode:t,fromNodeId:o,fromHandleId:x,fromType:i?"target":H(1513),isValidConnection:p,doc:q,lib:s,flowId:d,nodeLookup:f});X=ne[H(1450)],Z=ne[H(656)],J=Wf(!!K,ne.isValid);const de=f[H(1446)](o),ye=de?Un(de,R,ue[H(1580)],!0):ae[H(1486)],ce={...ae,from:ye,isValid:J,to:ne.toHandle&&J?Y0({x:ne[H(1111)].x,y:ne[H(1111)].y},O):P,toHandle:ne[H(1111)],toPosition:J&&ne[H(1111)]?ne[H(1111)][H(1400)]:$r[R[H(1400)]],toNode:ne[H(1111)]?f[H(1446)](ne[H(1111)][H(1382)]):null,pointer:P};w(ce),ae=ce}function j(_){const H=I;if(!(H(497)in _&&_[H(497)][H(1028)]>0)){if(B){(K||X)&&Z&&J&&m?.(Z);const{inProgress:O,...ne}=ae,de={...ne,toPosition:ae.toHandle?ae.toPosition:null};v?.(_,de),r&&M?.(_,de)}h(),cancelAnimationFrame(F),Y=!1,J=!1,Z=null,X=null,q.removeEventListener(H(1798),S),q[H(653)]("mouseup",j),q[H(653)](H(2112),S),q[H(653)](H(1140),j)}}q[I(2055)](I(1798),S),q[I(2055)](I(1744),j),q[I(2055)](I(2112),S),q[I(2055)]("touchend",j)}function ji(e,{handle:t,connectionMode:n,fromNodeId:x,fromHandleId:o,fromType:r,doc:i,lib:a,flowId:f,isValidConnection:s=Ei,nodeLookup:u}){const d=c,y=r===d(819),h=t?i[d(1519)]("."+a+d(1359)+f+"-"+t?.[d(1382)]+"-"+t?.id+"-"+t?.[d(638)]+'"]'):null,{x:g,y:m}=$e(e),v=i[d(1878)](g,m),p=v?.classList[d(530)](a+d(1705))?v:h,M={handleDomNode:p,isValid:!1,connection:null,toHandle:null};if(p){const w=Ii(void 0,p),z=p[d(928)](d(2058)),b=p[d(928)]("data-handleid"),k=p[d(634)][d(530)]("connectable"),G=p[d(634)][d(530)](d(916));if(!z||!w)return M;const E={source:y?z:x,sourceHandle:y?b:o,target:y?x:z,targetHandle:y?o:b};M[d(656)]=E;const I=k&&G,q=I&&(n===tt[d(552)]?y&&w===d(1513)||!y&&w===d(819):z!==x||b!==o);M[d(1916)]=q&&s(E),M[d(1111)]=Ai(z,w,b,u,n,!0)}return M}const qx={onPointerDown:Xf,isValid:ji};function Zf({domNode:e,panZoom:t,getTransform:n,getViewScale:x}){const o=qe(e);function r({translateExtent:a,width:f,height:s,zoomStep:u=1,pannable:d=!0,zoomable:y=!0,inversePan:h=!1}){const g=_0x447e,m=z=>{const b=_0x447e;if(z[b(1860)][b(638)]!==b(1698)||!t)return;const k=n(),G=z[b(1860)][b(607)]&&Tt()?10:1,E=-z[b(1860)][b(1779)]*(z[b(1860)][b(1178)]===1?.05:z[b(1860)][b(1178)]?1:.002)*u,I=k[2]*Math.pow(2,E*G);t[b(2138)](I)};let v=[0,0];const p=z=>{const b=_0x447e;(z[b(1860)][b(638)]===b(1075)||z.sourceEvent[b(638)]===b(824))&&(v=[z.sourceEvent.clientX??z.sourceEvent[b(497)][0][b(2156)],z[b(1860)][b(1484)]??z.sourceEvent[b(497)][0].clientY])},M=z=>{const b=_0x447e,k=n();if(z[b(1860)][b(638)]!==b(1798)&&z[b(1860)].type!==b(2112)||!t)return;const G=[z[b(1860)].clientX??z[b(1860)][b(497)][0][b(2156)],z[b(1860)][b(1484)]??z.sourceEvent[b(497)][0].clientY],E=[G[0]-v[0],G[1]-v[1]];v=G;const I=x()*Math[b(1419)](k[2],Math[b(484)](k[2]))*(h?-1:1),q={x:k[0]-E[0]*I,y:k[1]-E[1]*I},F=[[0,0],[f,s]];t[b(2176)]({x:q.x,y:q.y,zoom:k[2]},F,a)},w=Jr().on(g(1159),p).on(g(931),d?M:null).on("zoom.wheel",y?m:null);o[g(1036)](w,{})}function i(){o.on("zoom",null)}return{update:r,destroy:i,pointer:Je}}const I0=e=>({x:e.x,y:e.y,zoom:e.k}),Wx=({x:e,y:t,zoom:n})=>L0.translate(e,t).scale(n),at=(e,t)=>e[c(819)][c(1132)]("."+t),Ui=(e,t)=>t===2&&Array[c(1098)](e)&&e[c(1931)](2),Kf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,Xx=(e,t=0,n=Kf,x=()=>{})=>{const o=c,r=typeof t===o(1539)&&t>0;return!r&&x(),r?e[o(1355)]().duration(t)[o(1025)](n).on(o(1323),x):e},Gi=e=>{const t=c,n=e[t(607)]&&Tt()?10:1;return-e.deltaY*(e[t(1178)]===1?.05:e.deltaMode?1:.002)*n};function Rf({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:x,panOnScrollMode:o,panOnScrollSpeed:r,zoomOnPinch:i,onPanZoomStart:a,onPanZoom:f,onPanZoomEnd:s}){return u=>{const d=_0x447e;if(at(u,t))return u[d(607)]&&u[d(478)](),!1;u[d(478)](),u.stopImmediatePropagation();const y=n.property(d(621)).k||1;if(u[d(607)]&&i){const p=Je(u),M=Gi(u),w=y*Math[d(1822)](2,M);x[d(2138)](n,w,p,u);return}const h=u[d(1178)]===1?20:1;let g=o===En[d(1731)]?0:u[d(564)]*h,m=o===En[d(1170)]?0:u[d(1779)]*h;!Tt()&&u[d(2064)]&&o!==En[d(1731)]&&(g=u[d(1779)]*h,m=0),x[d(593)](n,-(g/y)*r,-(m/y)*r,{internal:!0});const v=I0(n.property(d(621)));clearTimeout(e[d(1427)]),e[d(1565)]?(f?.(u,v),e[d(1427)]=setTimeout(()=>{const p=d;s?.(u,v),e[p(1565)]=!1},150)):(e[d(1565)]=!0,a?.(u,v))}}function Jf({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(x,o){const r=_0x447e,i=x[r(638)]===r(1698),a=!t&&i&&!x[r(607)],f=at(x,e);if(x.ctrlKey&&i&&f&&x[r(478)](),a||f)return null;x[r(478)](),n.call(this,x,o)}}function _f({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return x=>{const o=_0x447e;if(x[o(1860)]?.[o(1750)])return;const r=I0(x[o(688)]);e.mouseButton=x[o(1860)]?.[o(2070)]||0,e[o(1522)]=!0,e[o(1465)]=r,x.sourceEvent?.[o(638)]===o(1075)&&t(!0),n&&n?.(x[o(1860)],r)}}function Qf({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:x,onPanZoom:o}){return r=>{const i=_0x447e;e[i(1763)]=!!(n&&Ui(t,e[i(1521)]??0)),!r[i(1860)]?.[i(1004)]&&x([r[i(688)].x,r[i(688)].y,r[i(688)].k]),o&&!r.sourceEvent?.[i(1750)]&&o?.(r[i(1860)],I0(r.transform))}}function Ff({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:x,onPanZoomEnd:o,onPaneContextMenu:r}){return i=>{const a=_0x447e;if(!i.sourceEvent?.[a(1750)]&&(e.isZoomingOrPanning=!1,r&&Ui(t,e[a(1521)]??0)&&!e[a(1763)]&&i[a(1860)]&&r(i[a(1860)]),e[a(1763)]=!1,x(!1),o)){const f=I0(i[a(688)]);e[a(1465)]=f,clearTimeout(e[a(488)]),e[a(488)]=setTimeout(()=>{o?.(i[a(1860)],f)},n?150:0)}}}function $f({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:x,panOnScroll:o,zoomOnDoubleClick:r,userSelectionActive:i,noWheelClassName:a,noPanClassName:f,lib:s,connectionInProgress:u}){return d=>{const y=_0x447e,h=e||t,g=n&&d[y(607)],m=d[y(638)]===y(1698);if(d[y(2070)]===1&&d[y(638)]===y(1075)&&(at(d,s+y(992))||at(d,s+"-flow__edge")))return!0;if(!x&&!h&&!o&&!r&&!n||i||u&&!m||at(d,a)&&m||at(d,f)&&(!m||o&&m&&!e)||!n&&d[y(607)]&&m)return!1;if(!n&&d.type===y(824)&&d[y(497)]?.[y(1028)]>1)return d.preventDefault(),!1;if(!h&&!o&&!g&&m||!x&&(d[y(638)]===y(1075)||d[y(638)]===y(824))||Array.isArray(x)&&!x[y(1931)](d[y(2070)])&&d[y(638)]===y(1075))return!1;const v=Array.isArray(x)&&x[y(1931)](d.button)||!d[y(2070)]||d[y(2070)]<=1;return(!d[y(607)]||m)&&v}}function e2({domNode:e,minZoom:t,maxZoom:n,translateExtent:x,viewport:o,onPanZoom:r,onPanZoomStart:i,onPanZoomEnd:a,onDraggingChange:f}){const s=c,u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),y=Jr().scaleExtent([t,n])[s(1853)](x),h=qe(e)[s(1036)](y);w({x:o.x,y:o.y,zoom:xt(o[s(931)],t,n)},[[0,0],[d[s(502)],d[s(1201)]]],x);const g=h.on("wheel.zoom"),m=h.on(s(1062));y[s(632)](Gi);function v(K,W){const V=s;return h?new Promise(N=>{const D=_0x447e;y?.[D(948)](W?.[D(948)]===D(1040)?Nt:m0).transform(Xx(h,W?.[D(1844)],W?.[D(1025)],()=>N(!0)),K)}):Promise[V(1734)](!1)}function p({noWheelClassName:K,noPanClassName:W,onPaneContextMenu:V,userSelectionActive:N,panOnScroll:D,panOnDrag:B,panOnScrollMode:A,panOnScrollSpeed:P,preventScrolling:Y,zoomOnPinch:Z,zoomOnScroll:J,zoomOnDoubleClick:X,zoomActivationKeyPressed:Q,lib:R,onTransformChange:re,connectionInProgress:ee,paneClickDistance:ae,selectionOnDrag:ie}){const S=s;N&&!u[S(1522)]&&M();const j=D&&!Q&&!N;y[S(1635)](ie?1/0:!Fe(ae)||ae<0?0:ae);const _=j?Rf({zoomPanValues:u,noWheelClassName:K,d3Selection:h,d3Zoom:y,panOnScrollMode:A,panOnScrollSpeed:P,zoomOnPinch:Z,onPanZoomStart:i,onPanZoom:r,onPanZoomEnd:a}):Jf({noWheelClassName:K,preventScrolling:Y,d3ZoomHandler:g});if(h.on(S(519),_,{passive:!1}),!N){const O=_f({zoomPanValues:u,onDraggingChange:f,onPanZoomStart:i});y.on(S(1159),O);const ne=Qf({zoomPanValues:u,panOnDrag:B,onPaneContextMenu:!!V,onPanZoom:r,onTransformChange:re});y.on(S(931),ne);const de=Ff({zoomPanValues:u,panOnDrag:B,panOnScroll:D,onPaneContextMenu:V,onPanZoomEnd:a,onDraggingChange:f});y.on("end",de)}const H=$f({zoomActivationKeyPressed:Q,panOnDrag:B,zoomOnScroll:J,panOnScroll:D,zoomOnDoubleClick:X,zoomOnPinch:Z,userSelectionActive:N,noPanClassName:W,noWheelClassName:K,lib:R,connectionInProgress:ee});y[S(1076)](H),X?h.on(S(1062),m):h.on(S(1062),null)}function M(){y.on("zoom",null)}async function w(K,W,V){const N=s,D=Wx(K),B=y?.[N(1538)]()(D,W,V);return B&&await v(B),new Promise(A=>A(B))}async function z(K,W){const V=Wx(K);return await v(V,W),new Promise(N=>N(V))}function b(K){const W=s;if(h){const V=Wx(K),N=h[W(938)](W(621));(N.k!==K[W(931)]||N.x!==K.x||N.y!==K.y)&&y?.[W(688)](h,V,null,{sync:!0})}}function k(){const K=s,W=h?Kr(h[K(1656)]()):{x:0,y:0,k:1};return{x:W.x,y:W.y,zoom:W.k}}function G(K,W){return h?new Promise(V=>{const N=_0x447e;y?.[N(948)](W?.[N(948)]===N(1040)?Nt:m0)[N(2138)](Xx(h,W?.duration,W?.[N(1025)],()=>V(!0)),K)}):Promise.resolve(!1)}function E(K,W){const V=s;return h?new Promise(N=>{const D=_0x447e;y?.interpolate(W?.[D(948)]===D(1040)?Nt:m0)[D(910)](Xx(h,W?.[D(1844)],W?.[D(1025)],()=>N(!0)),K)}):Promise[V(1734)](!1)}function I(K){y?.[s(572)](K)}function q(K){y?.[s(1853)](K)}function F(K){const W=s,V=!Fe(K)||K<0?0:K;y?.[W(1635)](V)}return{update:p,destroy:M,setViewport:z,setViewportConstrained:w,getViewport:k,scaleTo:G,scaleBy:E,setScaleExtent:I,setTranslateExtent:q,syncViewport:b,setClickDistance:F}}var ct;(function(e){const t=c;e[t(2163)]="line",e.Handle=t(1295)})(ct||(ct={}));function n2({width:e,prevWidth:t,height:n,prevHeight:x,affectsX:o,affectsY:r}){const i=e-t,a=n-x,f=[i>0?1:i<0?-1:0,a>0?1:a<0?-1:0];return i&&o&&(f[0]=f[0]*-1),a&&r&&(f[1]=f[1]*-1),f}function Oi(e){const t=c,n=e[t(1931)](t(1604))||e[t(1931)](t(1947)),x=e.includes(t(1695))||e[t(1931)](t(1411)),o=e[t(1931)](t(1947)),r=e.includes(t(1411));return{isHorizontal:n,isVertical:x,affectsX:o,affectsY:r}}function wn(e,t){return Math.max(0,t-e)}function vn(e,t){return Math[c(1419)](0,e-t)}function E0(e,t,n){return Math[c(1419)](0,t-e,e-n)}function Hi(e,t){return e?!t:t}function t2(e,t,n,x,o,r,i,a){const f=c;let{affectsX:s,affectsY:u}=t;const{isHorizontal:d,isVertical:y}=t,h=d&&y,{xSnapped:g,ySnapped:m}=n,{minWidth:v,maxWidth:p,minHeight:M,maxHeight:w}=x,{x:z,y:b,width:k,height:G,aspectRatio:E}=e;let I=Math[f(2130)](d?g-e[f(1393)]:0),q=Math[f(2130)](y?m-e[f(2132)]:0);const F=k+(s?-I:I),K=G+(u?-q:q),W=-r[0]*k,V=-r[1]*G;let N=E0(F,v,p),D=E0(K,M,w);if(i){let P=0,Y=0;s&&I<0?P=wn(z+I+W,i[0][0]):!s&&I>0&&(P=vn(z+F+W,i[1][0])),u&&q<0?Y=wn(b+q+V,i[0][1]):!u&&q>0&&(Y=vn(b+K+V,i[1][1])),N=Math[f(1419)](N,P),D=Math[f(1419)](D,Y)}if(a){let P=0,Y=0;s&&I>0?P=vn(z+I,a[0][0]):!s&&I<0&&(P=wn(z+F,a[1][0])),u&&q>0?Y=vn(b+q,a[0][1]):!u&&q<0&&(Y=wn(b+K,a[1][1])),N=Math[f(1419)](N,P),D=Math[f(1419)](D,Y)}if(o){if(d){const P=E0(F/E,M,w)*E;if(N=Math[f(1419)](N,P),i){let Y=0;!s&&!u||s&&!u&&h?Y=vn(b+V+F/E,i[1][1])*E:Y=wn(b+V+(s?I:-I)/E,i[0][1])*E,N=Math[f(1419)](N,Y)}if(a){let Y=0;!s&&!u||s&&!u&&h?Y=wn(b+F/E,a[1][1])*E:Y=vn(b+(s?I:-I)/E,a[0][1])*E,N=Math[f(1419)](N,Y)}}if(y){const P=E0(K*E,v,p)/E;if(D=Math[f(1419)](D,P),i){let Y=0;!s&&!u||u&&!s&&h?Y=vn(z+K*E+W,i[1][0])/E:Y=wn(z+(u?q:-q)*E+W,i[0][0])/E,D=Math[f(1419)](D,Y)}if(a){let Y=0;!s&&!u||u&&!s&&h?Y=wn(z+K*E,a[1][0])/E:Y=vn(z+(u?q:-q)*E,a[0][0])/E,D=Math[f(1419)](D,Y)}}}q=q+(q<0?D:-D),I=I+(I<0?N:-N),o&&(h?F>K*E?q=(Hi(s,u)?-I:I)/E:I=(Hi(s,u)?-q:q)*E:d?(q=I/E,u=s):(I=q*E,s=u));const B=s?z+I:z,A=u?b+q:b;return{width:k+(s?-I:I),height:G+(u?-q:q),x:r[0]*I*(s?-1:1)+B,y:r[1]*q*(u?-1:1)+A}}const Ti={width:0,height:0,x:0,y:0},x2={...Ti,pointerX:0,pointerY:0,aspectRatio:1};function o2(e){const t=c;return[[0,0],[e[t(1815)].width,e[t(1815)].height]]}function r2(e,t,n){const x=c,o=t[x(1400)].x+e.position.x,r=t.position.y+e[x(1400)].y,i=e[x(1815)].width??0,a=e[x(1815)].height??0,f=n[0]*i,s=n[1]*a;return[[o-f,r-s],[o+i-f,r+a-s]]}function i2({domNode:e,nodeId:t,getStoreItems:n,onChange:x,onEnd:o}){const r=c,i=qe(e);let a={controlDirection:Oi(r(1233)),boundaries:{minWidth:0,minHeight:0,maxWidth:Number[r(1924)],maxHeight:Number[r(1924)]},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:u,boundaries:d,keepAspectRatio:y,resizeDirection:h,onResizeStart:g,onResize:m,onResizeEnd:v,shouldResize:p}){const M=r;let w={...Ti},z={...x2};a={boundaries:d,resizeDirection:h,keepAspectRatio:y,controlDirection:Oi(u)};let b,k=null,G=[],E,I,q,F=!1;const K=vr().on(M(1159),W=>{const V=M,{nodeLookup:N,transform:D,snapGrid:B,snapToGrid:A,nodeOrigin:P,paneDomNode:Y}=n();if(b=N[V(1446)](t),!b)return;k=Y?.[V(1761)]()??null;const{xSnapped:Z,ySnapped:J}=Vt(W[V(1860)],{transform:D,snapGrid:B,snapToGrid:A,containerBounds:k});w={width:b[V(1815)][V(502)]??0,height:b[V(1815)][V(1201)]??0,x:b[V(1400)].x??0,y:b.position.y??0},z={...w,pointerX:Z,pointerY:J,aspectRatio:w.width/w[V(1201)]},E=void 0,b[V(2060)]&&(b[V(1671)]===V(707)||b.expandParent)&&(E=N.get(b[V(2060)]),I=E&&b.extent==="parent"?o2(E):void 0),G=[],q=void 0;for(const[X,Q]of N)if(Q[V(2060)]===t&&(G[V(2049)]({id:X,position:{...Q[V(1400)]},extent:Q[V(1671)]}),Q[V(1671)]===V(707)||Q[V(823)])){const R=r2(Q,b,Q[V(1252)]??P);q?q=[[Math[V(2007)](R[0][0],q[0][0]),Math.min(R[0][1],q[0][1])],[Math.max(R[1][0],q[1][0]),Math.max(R[1][1],q[1][1])]]:q=R}g?.(W,{...w})}).on("drag",W=>{const V=M,{transform:N,snapGrid:D,snapToGrid:B,nodeOrigin:A}=n(),P=Vt(W.sourceEvent,{transform:N,snapGrid:D,snapToGrid:B,containerBounds:k}),Y=[];if(!b)return;const{x:Z,y:J,width:X,height:Q}=w,R={},re=b[V(1252)]??A,{width:ee,height:ae,x:ie,y:S}=t2(z,a.controlDirection,P,a[V(1784)],a[V(1417)],re,I,q),j=ee!==X,_=ae!==Q,H=ie!==Z&&j,O=S!==J&&_;if(!H&&!O&&!j&&!_)return;if((H||O||re[0]===1||re[1]===1)&&(R.x=H?ie:w.x,R.y=O?S:w.y,w.x=R.x,w.y=R.y,G[V(1028)]>0)){const ce=ie-Z,ge=S-J;for(const be of G)be.position={x:be[V(1400)].x-ce+re[0]*(ee-X),y:be[V(1400)].y-ge+re[1]*(ae-Q)},Y.push(be)}if((j||_)&&(R[V(502)]=j&&(!a.resizeDirection||a[V(1593)]===V(956))?ee:w[V(502)],R[V(1201)]=_&&(!a.resizeDirection||a[V(1593)]==="vertical")?ae:w[V(1201)],w.width=R[V(502)],w[V(1201)]=R[V(1201)]),E&&b[V(823)]){const ce=re[0]*(R[V(502)]??0);R.x&&R.x<ce&&(w.x=ce,z.x=z.x-(R.x-ce));const ge=re[1]*(R[V(1201)]??0);R.y&&R.y<ge&&(w.y=ge,z.y=z.y-(R.y-ge))}const ne=n2({width:w.width,prevWidth:X,height:w[V(1201)],prevHeight:Q,affectsX:a[V(482)][V(1109)],affectsY:a[V(482)][V(1348)]}),de={...w,direction:ne};p?.(W,de)!==!1&&(F=!0,m?.(W,de),x(R,Y))}).on(M(1323),W=>{F&&(v?.(W,{...w}),o?.({...w}),F=!1)});i.call(K)}function s(){const u=r;i.on(u(2169),null)}return{update:f,destroy:s}}var j0={exports:{}},Zx={},U0={exports:{}},Kx={},Vi;function a2(){const e=c;if(Vi)return Kx;Vi=1;var t=L;function n(y,h){return y===h&&(y!==0||1/y===1/h)||y!==y&&h!==h}var x=typeof Object.is=="function"?Object.is:n,o=t[e(1303)],r=t[e(1027)],i=t[e(703)],a=t[e(1535)];function f(y,h){const g=e;var m=h(),v=o({inst:{value:m,getSnapshot:h}}),p=v[0][g(1631)],M=v[1];return i(function(){const w=g;p[w(1429)]=m,p[w(665)]=h,s(p)&&M({inst:p})},[y,m,h]),r(function(){return s(p)&&M({inst:p}),y(function(){s(p)&&M({inst:p})})},[y]),a(m),m}function s(y){const h=e;var g=y[h(665)];y=y[h(1429)];try{var m=g();return!x(y,m)}catch{return!0}}function u(y,h){return h()}var d=e(1269)===typeof window||e(1269)===typeof window[e(743)]||e(1269)===typeof window[e(743)][e(2004)]?u:f;return Kx[e(833)]=t[e(833)]!==void 0?t[e(833)]:d,Kx}var Rx={},qi;function c2(){return qi||(qi=1,process.env.NODE_ENV!=="production"&&(function(){const e=_0x447e;function t(g,m){return g===m&&(g!==0||1/g===1/m)||g!==g&&m!==m}function n(g,m){const v=_0x447e;d||r[v(1238)]===void 0||(d=!0,console.error(v(1606)));var p=m();if(!y){var M=m();i(p,M)||(console[v(1738)](v(1668)),y=!0)}M=a({inst:{value:p,getSnapshot:m}});var w=M[0][v(1631)],z=M[1];return s(function(){const b=v;w[b(1429)]=p,w[b(665)]=m,x(w)&&z({inst:w})},[g,p,m]),f(function(){return x(w)&&z({inst:w}),g(function(){x(w)&&z({inst:w})})},[g]),u(p),p}function x(g){const m=_0x447e;var v=g[m(665)];g=g[m(1429)];try{var p=v();return!i(g,p)}catch{return!0}}function o(g,m){return m()}e(1269)!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&e(940)===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__[e(600)](Error());var r=L,i=typeof Object.is=="function"?Object.is:t,a=r[e(1303)],f=r.useEffect,s=r[e(703)],u=r[e(1535)],d=!1,y=!1,h=e(1269)===typeof window||e(1269)===typeof window[e(743)]||e(1269)===typeof window[e(743)][e(2004)]?o:n;Rx[e(833)]=r[e(833)]!==void 0?r[e(833)]:h,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__[e(1715)]=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__[e(1715)](Error())})()),Rx}var Wi;function Xi(){const e=c;return Wi?U0.exports:(Wi=1,process.env.NODE_ENV===e(976)?U0.exports=a2():U0[e(608)]=c2(),U0[e(608)])}var Zi;function s2(){const e=c;if(Zi)return Zx;Zi=1;var t=L,n=Xi();function x(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}var o=e(940)===typeof Object.is?Object.is:x,r=n[e(833)],i=t.useRef,a=t[e(1027)],f=t[e(694)],s=t[e(1535)];return Zx.useSyncExternalStoreWithSelector=function(u,d,y,h,g){const m=e;var v=i(null);if(v[m(787)]===null){var p={hasValue:!1,value:null};v[m(787)]=p}else p=v.current;v=f(function(){function w(E){const I=_0x447e;if(!z){if(z=!0,b=E,E=h(E),g!==void 0&&p[I(1717)]){var q=p[I(1429)];if(g(q,E))return k=q}return k=E}if(q=k,o(b,E))return q;var F=h(E);return g!==void 0&&g(q,F)?(b=E,q):(b=E,k=F)}var z=!1,b,k,G=y===void 0?null:y;return[function(){return w(d())},G===null?void 0:function(){return w(G())}]},[d,y,h,g]);var M=r(u,v[0],v[1]);return a(function(){const w=m;p[w(1717)]=!0,p[w(1429)]=M},[M]),s(M),M},Zx}var Jx={},Ki;function l2(){return Ki||(Ki=1,process.env.NODE_ENV!=="production"&&(function(){const e=_0x447e;function t(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}e(1269)!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&e(940)===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__[e(600)]&&__REACT_DEVTOOLS_GLOBAL_HOOK__[e(600)](Error());var n=L,x=Xi(),o=e(940)===typeof Object.is?Object.is:t,r=x[e(833)],i=n[e(1713)],a=n.useEffect,f=n[e(694)],s=n.useDebugValue;Jx.useSyncExternalStoreWithSelector=function(u,d,y,h,g){const m=e;var v=i(null);if(v.current===null){var p={hasValue:!1,value:null};v[m(787)]=p}else p=v[m(787)];v=f(function(){function w(E){const I=_0x447e;if(!z){if(z=!0,b=E,E=h(E),g!==void 0&&p[I(1717)]){var q=p[I(1429)];if(g(q,E))return k=q}return k=E}if(q=k,o(b,E))return q;var F=h(E);return g!==void 0&&g(q,F)?(b=E,q):(b=E,k=F)}var z=!1,b,k,G=y===void 0?null:y;return[function(){return w(d())},G===null?void 0:function(){return w(G())}]},[d,y,h,g]);var M=r(u,v[0],v[1]);return a(function(){const w=m;p[w(1717)]=!0,p[w(1429)]=M},[M]),s(M),M},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&e(940)===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Jx}var Ri;function d2(){const e=c;return Ri?j0[e(608)]:(Ri=1,process.env.NODE_ENV===e(976)?j0[e(608)]=s2():j0.exports=l2(),j0.exports)}var u2=d2();const f2=gt(u2),g2={},Ji=e=>{let t;const n=new Set,x=(u,d)=>{const y=_0x447e,h=typeof u=="function"?u(t):u;if(!Object.is(h,t)){const g=t;t=d??(typeof h!==y(1210)||h===null)?h:Object[y(1055)]({},t,h),n.forEach(m=>m(t,g))}},o=()=>t,r=()=>s,i=u=>{const d=_0x447e;return n[d(447)](u),()=>n[d(719)](u)},a=()=>{const u=_0x447e;(g2?u(976):void 0)!==u(976)&&console[u(777)](u(1591)),n[u(1370)]()},f={setState:x,getState:o,getInitialState:r,subscribe:i,destroy:a},s=t=e(x,o,f);return f},h2=e=>e?Ji(e):Ji,{useDebugValue:y2}=L,{useSyncExternalStoreWithSelector:m2}=f2,w2=e=>e;function _i(e,t=w2,n){const x=c,o=m2(e[x(1677)],e[x(1556)],e.getServerState||e[x(1350)],t,n);return y2(o),o}const Qi=(e,t)=>{const n=c,x=h2(e),o=(r,i=t)=>_i(x,r,i);return Object[n(1055)](o,x),o},v2=(e,t)=>e?Qi(e,t):Qi;function Le(e,t){const n=c;if(Object.is(e,t))return!0;if(typeof e!==n(1210)||e===null||typeof t!==n(1210)||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t[n(2046)])return!1;for(const[o,r]of e)if(!Object.is(r,t.get(o)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e[n(2046)]!==t.size)return!1;for(const o of e)if(!t[n(1432)](o))return!1;return!0}const x=Object[n(1648)](e);if(x[n(1028)]!==Object.keys(t)[n(1028)])return!1;for(const o of x)if(!Object[n(1347)][n(1337)][n(1036)](t,o)||!Object.is(e[o],t[o]))return!1;return!0}const G0=L[c(1003)](null),p2=G0[c(1498)],Fi=We[c(768)]();function Ce(e,t){const n=L.useContext(G0);if(n===null)throw new Error(Fi);return _i(n,e,t)}function Ne(){const e=c,t=L[e(939)](G0);if(t===null)throw new Error(Fi);return L[e(694)](()=>({getState:t[e(1556)],setState:t[e(1880)],subscribe:t[e(1677)]}),[t])}const $i={display:c(2039)},b2={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:c(1357),clipPath:c(1881)},ea="react-flow__node-desc",na="react-flow__edge-desc",z2="react-flow__aria-live",C2=e=>e[c(817)],M2=e=>e[c(1864)];function B2({rfId:e}){const t=c,n=Ce(C2);return l[t(1970)]("div",{id:z2+"-"+e,"aria-live":t(2056),"aria-atomic":t(898),style:b2,children:n})}function D2({rfId:e,disableKeyboardA11y:t}){const n=c,x=Ce(M2);return l[n(557)](l[n(514)],{children:[l[n(1970)](n(1331),{id:ea+"-"+e,style:$i,children:t?x[n(1842)]:x[n(2048)]}),l[n(1970)](n(1331),{id:na+"-"+e,style:$i,children:x["edge.a11yDescription.default"]}),!t&&l.jsx(B2,{rfId:e})]})}const O0=L.forwardRef(({position:e=c(1298),children:t,className:n,style:x,...o},r)=>{const i=c,a=(""+e).split("-");return l[i(1970)](i(1331),{className:Pe([i(883),n,...a]),style:x,ref:r,...o,children:t})});O0.displayName="Panel";function L2({proOptions:e,position:t=c(1233)}){const n=c;return e?.[n(1438)]?null:l[n(1970)](O0,{position:t,className:n(673),"data-message":n(1807),children:l[n(1970)]("a",{href:"https://reactflow.dev",target:"_blank",rel:n(1311),"aria-label":n(469),children:n(1452)})})}const N2=e=>{const t=c,n=[],x=[];for(const[,o]of e[t(828)])o[t(1518)]&&n.push(o.internals[t(1572)]);for(const[,o]of e[t(791)])o[t(1518)]&&x[t(2049)](o);return{selectedNodes:n,selectedEdges:x}},H0=e=>e.id;function S2(e,t){const n=c;return Le(e[n(1840)].map(H0),t.selectedNodes[n(1001)](H0))&&Le(e[n(818)].map(H0),t[n(818)][n(1001)](H0))}function k2({onSelectionChange:e}){const t=c,n=Ne(),{selectedNodes:x,selectedEdges:o}=Ce(N2,S2);return L[t(1027)](()=>{const r=t,i={nodes:x,edges:o};e?.(i),n[r(1556)]()[r(1561)][r(1068)](a=>a(i))},[x,o,e]),null}const P2=e=>!!e[c(1561)];function Y2({onSelectionChange:e}){const t=c,n=Ce(P2);return e||n?l[t(1970)](k2,{onSelectionChange:e}):null}const _x=typeof window!==c(1269)?L.useLayoutEffect:L[c(1027)],ta=[0,0],A2={x:0,y:0,zoom:1},I2=[c(1053),c(1891),c(734),"defaultEdges",c(1401),c(1426),"onConnectEnd","onClickConnectStart","onClickConnectEnd",c(2127),c(851),c(1659),c(486),c(473),c(1263),"elevateNodesOnSelect",c(888),"minZoom",c(512),"nodeExtent",c(920),c(1316),c(1910),"connectionMode",c(953),c(1662),c(1853),c(902),"defaultEdgeOptions","fitView",c(1209),"onNodesDelete",c(1385),"onDelete",c(1064),"onNodeDragStart",c(2145),"onSelectionDrag","onSelectionDragStart","onSelectionDragStop",c(1271),c(2084),"onMoveEnd","noPanClassName","nodeOrigin",c(1056),c(2035),c(1133),c(846),"isValidConnection",c(554),c(671),c(1776),c(2171),"debug",c(1874),"ariaLabelConfig",c(2002)],xa=[...I2,c(1932)],E2=e=>({setNodes:e[c(1573)],setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e[c(2012)],setTranslateExtent:e[c(1152)],setNodeExtent:e[c(1727)],reset:e[c(2107)],setDefaultNodesAndEdges:e[c(1187)]}),oa={translateExtent:It,nodeOrigin:ta,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:c(624),rfId:"1"};function j2(e){const t=c,{setNodes:n,setEdges:x,setMinZoom:o,setMaxZoom:r,setTranslateExtent:i,setNodeExtent:a,reset:f,setDefaultNodesAndEdges:s}=Ce(E2,Le),u=Ne();_x(()=>{const y=_0x447e;return s(e[y(734)],e[y(1596)]),()=>{const h=y;d[h(787)]=oa,f()}},[]);const d=L.useRef(oa);return _x(()=>{const y=_0x447e;for(const h of xa){const g=e[h],m=d.current[h];g!==m&&typeof e[h]!==y(1269)&&(h==="nodes"?n(g):h===y(1891)?x(g):h==="minZoom"?o(g):h===y(512)?r(g):h==="translateExtent"?i(g):h===y(1121)?a(g):h===y(1864)?u[y(1880)]({ariaLabelConfig:vf(g)}):h==="fitView"?u.setState({fitViewQueued:g}):h==="fitViewOptions"?u[y(1880)]({fitViewOptions:g}):u[y(1880)]({[h]:g}))}d[y(787)]=e},xa[t(1001)](y=>e[y])),null}function ra(){const e=c;return typeof window===e(1269)||!window[e(1216)]?null:window[e(1216)](e(584))}function U2(e){const t=c,[n,x]=L[t(1303)](e===t(1692)?null:e);return L[t(1027)](()=>{const o=t;if(e!==o(1692)){x(e);return}const r=ra(),i=()=>x(r?.[o(1409)]?o(1639):o(1320));return i(),r?.[o(2055)]("change",i),()=>{r?.[o(653)]("change",i)}},[e]),n!==null?n:ra()?.[t(1409)]?t(1639):t(1320)}const ia=typeof document!==c(1269)?document:null;function qt(e=null,t={target:ia,actInsideInputWithModifier:!0}){const n=c,[x,o]=L[n(1303)](!1),r=L[n(1713)](!1),i=L[n(1713)](new Set([])),[a,f]=L[n(694)](()=>{const s=n;if(e!==null){const u=Array.isArray(e)?e:[e],d=u[s(1076)](h=>typeof h===s(1841))[s(1001)](h=>h[s(2164)]("+",`
6
+ `)[s(2164)](`
11
7
 
12
8
  `,`
13
- +`).split(`
14
- `)),u=c.reduce((f,h)=>f.concat(...h),[]);return[c,u]}return[[],[]]},[e]);return E.useEffect(()=>{const d=t?.target??Ja,c=t?.actInsideInputWithModifier??!0;if(e!==null){const u=g=>{if(r.current=g.ctrlKey||g.metaKey||g.shiftKey||g.altKey,(!r.current||r.current&&!c)&&ra(g))return!1;const y=Ra(g.code,l);if(i.current.add(g[y]),Qa(s,i.current,!1)){const b=g.composedPath?.()?.[0]||g.target,w=b?.nodeName==="BUTTON"||b?.nodeName==="A";t.preventDefault!==!1&&(r.current||!w)&&g.preventDefault(),o(!0)}},f=g=>{const p=Ra(g.code,l);Qa(s,i.current,!0)?(o(!1),i.current.clear()):i.current.delete(g[p]),g.key==="Meta"&&i.current.clear(),r.current=!1},h=()=>{i.current.clear(),o(!1)};return d?.addEventListener("keydown",u),d?.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{d?.removeEventListener("keydown",u),d?.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,o]),n}function Qa(e,t,n){return e.filter(o=>n||o.length===t.size).some(o=>o.every(r=>t.has(r)))}function Ra(e,t){return t.includes(e)?"code":"key"}const Ig=()=>{const e=xe();return E.useMemo(()=>({zoomIn:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{const{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{const{transform:[o,r,i],panZoom:s}=e.getState();return s?(await s.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},setCenter:async(t,n,o)=>e.getState().setCenter(t,n,o),fitBounds:async(t,n)=>{const{width:o,height:r,minZoom:i,maxZoom:s,panZoom:l}=e.getState(),d=wr(t,o,r,i,s,n?.padding??.1);return l?(await l.setViewport(d,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{const{transform:o,snapGrid:r,snapToGrid:i,domNode:s}=e.getState();if(!s)return t;const{x:l,y:d}=s.getBoundingClientRect(),c={x:t.x-l,y:t.y-d},u=n.snapGrid??r,f=n.snapToGrid??i;return Nn(c,o,f,u)},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:r,y:i}=o.getBoundingClientRect(),s=yo(t,n);return{x:s.x+r,y:s.y+i}}}),[])};function el(e,t){const n=[],o=new Map,r=[];for(const i of e)if(i.type==="add"){r.push(i);continue}else if(i.type==="remove"||i.type==="replace")o.set(i.id,[i]);else{const s=o.get(i.id);s?s.push(i):o.set(i.id,[i])}for(const i of t){const s=o.get(i.id);if(!s){n.push(i);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){n.push({...s[0].item});continue}const l={...i};for(const d of s)Mg(d,l);n.push(l)}return r.length&&r.forEach(i=>{i.index!==void 0?n.splice(i.index,0,{...i.item}):n.push({...i.item})}),n}function Mg(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={...e.dimensions},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 tl(e,t){return el(e,t)}function nl(e,t){return el(e,t)}function It(e,t){return{id:e,type:"select",selected:t}}function Rt(e,t=new Set,n=!1){const o=[];for(const[r,i]of e){const s=t.has(r);!(i.selected===void 0&&!s)&&i.selected!==s&&(n&&(i.selected=s),o.push(It(i.id,s)))}return o}function ol({items:e=[],lookup:t}){const n=[],o=new Map(e.map(r=>[r.id,r]));for(const[r,i]of e.entries()){const s=t.get(i.id),l=s?.internals?.userNode??s;l!==void 0&&l!==i&&n.push({id:i.id,item:i,type:"replace"}),l===void 0&&n.push({item:i,type:"add",index:r})}for(const[r]of t)o.get(r)===void 0&&n.push({id:r,type:"remove"});return n}function rl(e){return{id:e.id,type:"remove"}}const il=e=>tp(e),Pg=e=>js(e);function sl(e){return E.forwardRef(e)}function al(e){const[t,n]=E.useState(BigInt(0)),[o]=E.useState(()=>Dg(()=>n(r=>r+BigInt(1))));return Fr(()=>{const r=o.get();r.length&&(e(r),o.reset())},[t]),o}function Dg(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const ll=E.createContext(null);function Tg({children:e}){const t=xe(),n=E.useCallback(l=>{const{nodes:d=[],setNodes:c,hasDefaultNodes:u,onNodesChange:f,nodeLookup:h,fitViewQueued:g,onNodesChangeMiddlewareMap:p}=t.getState();let y=d;for(const w of l)y=typeof w=="function"?w(y):w;let b=ol({items:y,lookup:h});for(const w of p.values())b=w(b);u&&c(y),b.length>0?f?.(b):g&&window.requestAnimationFrame(()=>{const{fitViewQueued:w,nodes:_,setNodes:v}=t.getState();w&&v(_)})},[]),o=al(n),r=E.useCallback(l=>{const{edges:d=[],setEdges:c,hasDefaultEdges:u,onEdgesChange:f,edgeLookup:h}=t.getState();let g=d;for(const p of l)g=typeof p=="function"?p(g):p;u?c(g):f&&f(ol({items:g,lookup:h}))},[]),i=al(r),s=E.useMemo(()=>({nodeQueue:o,edgeQueue:i}),[]);return a.jsx(ll.Provider,{value:s,children:e})}function Og(){const e=E.useContext(ll);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Ag=e=>!!e.panZoom;function Br(){const e=Ig(),t=xe(),n=Og(),o=ge(Ag),r=E.useMemo(()=>{const i=f=>t.getState().nodeLookup.get(f),s=f=>{n.nodeQueue.push(f)},l=f=>{n.edgeQueue.push(f)},d=f=>{const{nodeLookup:h,nodeOrigin:g}=t.getState(),p=il(f)?f:h.get(f.id),y=p.parentId?ta(p.position,p.measured,p.parentId,h,g):p.position,b={...p,position:y,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return Gt(b)},c=(f,h,g={replace:!1})=>{s(p=>p.map(y=>{if(y.id===f){const b=typeof h=="function"?h(y):h;return g.replace&&il(b)?b:{...y,...b}}return y}))},u=(f,h,g={replace:!1})=>{l(p=>p.map(y=>{if(y.id===f){const b=typeof h=="function"?h(y):h;return g.replace&&Pg(b)?b:{...y,...b}}return y}))};return{getNodes:()=>t.getState().nodes.map(f=>({...f})),getNode:f=>i(f)?.internals.userNode,getInternalNode:i,getEdges:()=>{const{edges:f=[]}=t.getState();return f.map(h=>({...h}))},getEdge:f=>t.getState().edgeLookup.get(f),setNodes:s,setEdges:l,addNodes:f=>{const h=Array.isArray(f)?f:[f];n.nodeQueue.push(g=>[...g,...h])},addEdges:f=>{const h=Array.isArray(f)?f:[f];n.edgeQueue.push(g=>[...g,...h])},toObject:()=>{const{nodes:f=[],edges:h=[],transform:g}=t.getState(),[p,y,b]=g;return{nodes:f.map(w=>({...w})),edges:h.map(w=>({...w})),viewport:{x:p,y,zoom:b}}},deleteElements:async({nodes:f=[],edges:h=[]})=>{const{nodes:g,edges:p,onNodesDelete:y,onEdgesDelete:b,triggerNodeChanges:w,triggerEdgeChanges:_,onDelete:v,onBeforeDelete:x}=t.getState(),{nodes:T,edges:I}=await sp({nodesToRemove:f,edgesToRemove:h,nodes:g,edges:p,onBeforeDelete:x}),O=I.length>0,D=T.length>0;if(O){const L=I.map(rl);b?.(I),_(L)}if(D){const L=T.map(rl);y?.(T),w(L)}return(D||O)&&v?.({nodes:T,edges:I}),{deletedNodes:T,deletedEdges:I}},getIntersectingNodes:(f,h=!0,g)=>{const p=Qs(f),y=p?f:d(f),b=g!==void 0;return y?(g||t.getState().nodes).filter(w=>{const _=t.getState().nodeLookup.get(w.id);if(_&&!p&&(w.id===f.id||!_.internals.positionAbsolute))return!1;const v=Gt(b?w:_),x=Cn(v,y);return h&&x>0||x>=v.width*v.height||x>=y.width*y.height}):[]},isNodeIntersecting:(f,h,g=!0)=>{const y=Qs(f)?f:d(f);if(!y)return!1;const b=Cn(y,h);return g&&b>0||b>=h.width*h.height||b>=y.width*y.height},updateNode:c,updateNodeData:(f,h,g={replace:!1})=>{c(f,p=>{const y=typeof h=="function"?h(p):h;return g.replace?{...p,data:y}:{...p,data:{...p.data,...y}}},g)},updateEdge:u,updateEdgeData:(f,h,g={replace:!1})=>{u(f,p=>{const y=typeof h=="function"?h(p):h;return g.replace?{...p,data:y}:{...p,data:{...p.data,...y}}},g)},getNodesBounds:f=>{const{nodeLookup:h,nodeOrigin:g}=t.getState();return np(f,{nodeLookup:h,nodeOrigin:g})},getHandleConnections:({type:f,id:h,nodeId:g})=>Array.from(t.getState().connectionLookup.get(`${g}-${f}${h?`-${h}`:""}`)?.values()??[]),getNodeConnections:({type:f,handleId:h,nodeId:g})=>Array.from(t.getState().connectionLookup.get(`${g}${f?h?`-${f}-${h}`:`-${f}`:""}`)?.values()??[]),fitView:async f=>{const h=t.getState().fitViewResolver??cp();return t.setState({fitViewQueued:!0,fitViewOptions:f,fitViewResolver:h}),n.nodeQueue.push(g=>[...g]),h.promise}}},[]);return E.useMemo(()=>({...r,...e,viewportInitialized:o}),[o])}const cl=e=>e.selected,$g=typeof window<"u"?window:void 0;function Lg({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=xe(),{deleteElements:o}=Br(),r=Pn(e,{actInsideInputWithModifier:!1}),i=Pn(t,{target:$g});E.useEffect(()=>{if(r){const{edges:s,nodes:l}=n.getState();o({nodes:l.filter(cl),edges:s.filter(cl)}),n.setState({nodesSelectionActive:!1})}},[r]),E.useEffect(()=>{n.setState({multiSelectionActive:i})},[i])}function zg(e){const t=xe();E.useEffect(()=>{const n=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const o=xr(e.current);(o.height===0||o.width===0)&&t.getState().onError?.("004",Le.error004()),t.setState({width:o.width||500,height:o.height||500})};if(e.current){n(),window.addEventListener("resize",n);const o=new ResizeObserver(()=>n());return o.observe(e.current),()=>{window.removeEventListener("resize",n),o&&e.current&&o.unobserve(e.current)}}},[])}const ko={position:"absolute",width:"100%",height:"100%",top:0,left:0},Fg=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Bg({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:i=Ct.Free,zoomOnDoubleClick:s=!0,panOnDrag:l=!0,defaultViewport:d,translateExtent:c,minZoom:u,maxZoom:f,zoomActivationKeyCode:h,preventScrolling:g=!0,children:p,noWheelClassName:y,noPanClassName:b,onViewportChange:w,isControlledViewport:_,paneClickDistance:v,selectionOnDrag:x}){const T=xe(),I=E.useRef(null),{userSelectionActive:O,lib:D,connectionInProgress:L}=ge(Fg,we),q=Pn(h),$=E.useRef();zg(I);const H=E.useCallback(V=>{w?.({x:V[0],y:V[1],zoom:V[2]}),_||T.setState({transform:V})},[w,_]);return E.useEffect(()=>{if(I.current){$.current=qp({domNode:I.current,minZoom:u,maxZoom:f,translateExtent:c,viewport:d,onDraggingChange:k=>T.setState(N=>N.paneDragging===k?N:{paneDragging:k}),onPanZoomStart:(k,N)=>{const{onViewportChangeStart:M,onMoveStart:A}=T.getState();A?.(k,N),M?.(N)},onPanZoom:(k,N)=>{const{onViewportChange:M,onMove:A}=T.getState();A?.(k,N),M?.(N)},onPanZoomEnd:(k,N)=>{const{onViewportChangeEnd:M,onMoveEnd:A}=T.getState();A?.(k,N),M?.(N)}});const{x:V,y:C,zoom:S}=$.current.getViewport();return T.setState({panZoom:$.current,transform:[V,C,S],domNode:I.current.closest(".react-flow")}),()=>{$.current?.destroy()}}},[]),E.useEffect(()=>{$.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:i,zoomOnDoubleClick:s,panOnDrag:l,zoomActivationKeyPressed:q,preventScrolling:g,noPanClassName:b,userSelectionActive:O,noWheelClassName:y,lib:D,onTransformChange:H,connectionInProgress:L,selectionOnDrag:x,paneClickDistance:v})},[e,t,n,o,r,i,s,l,q,g,b,O,y,D,H,L,x,v]),a.jsx("div",{className:"react-flow__renderer",ref:I,style:ko,children:p})}const Hg=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Yg(){const{userSelectionActive:e,userSelectionRect:t}=ge(Hg,we);return e&&t?a.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 Hr=(e,t)=>n=>{n.target===t.current&&e?.(n)},Xg=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function Vg({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Sn.Full,panOnDrag:o,paneClickDistance:r,selectionOnDrag:i,onSelectionStart:s,onSelectionEnd:l,onPaneClick:d,onPaneContextMenu:c,onPaneScroll:u,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:g,children:p}){const y=xe(),{userSelectionActive:b,elementsSelectable:w,dragging:_,connectionInProgress:v}=ge(Xg,we),x=w&&(e||b),T=E.useRef(null),I=E.useRef(),O=E.useRef(new Set),D=E.useRef(new Set),L=E.useRef(!1),q=M=>{if(L.current||v){L.current=!1;return}d?.(M),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},$=M=>{if(Array.isArray(o)&&o?.includes(2)){M.preventDefault();return}c?.(M)},H=u?M=>u(M):void 0,V=M=>{L.current&&(M.stopPropagation(),L.current=!1)},C=M=>{const{domNode:A}=y.getState();if(I.current=A?.getBoundingClientRect(),!I.current)return;const Y=M.target===T.current;if(!Y&&!!M.target.closest(".nokey")||!e||!(i&&Y||t)||M.button!==0||!M.isPrimary)return;M.target?.setPointerCapture?.(M.pointerId),L.current=!1;const{x:j,y:Z}=qe(M.nativeEvent,I.current);y.setState({userSelectionRect:{width:0,height:0,startX:j,startY:Z,x:j,y:Z}}),Y||(M.stopPropagation(),M.preventDefault())},S=M=>{const{userSelectionRect:A,transform:Y,nodeLookup:z,edgeLookup:B,connectionLookup:j,triggerNodeChanges:Z,triggerEdgeChanges:G,defaultEdgeOptions:ee,resetSelectedElements:oe}=y.getState();if(!I.current||!A)return;const{x:J,y:P}=qe(M.nativeEvent,I.current),{startX:W,startY:X}=A;if(!L.current){const re=t?0:r;if(Math.hypot(J-W,P-X)<=re)return;oe(),s?.(M)}L.current=!0;const U={startX:W,startY:X,x:J<W?J:W,y:P<X?P:X,width:Math.abs(J-W),height:Math.abs(P-X)},K=O.current,le=D.current;O.current=new Set(vr(z,U,Y,n===Sn.Partial,!0).map(re=>re.id)),D.current=new Set;const te=ee?.selectable??!0;for(const re of O.current){const fe=j.get(re);if(fe)for(const{edgeId:de}of fe.values()){const he=B.get(de);he&&(he.selectable??te)&&D.current.add(de)}}if(!na(K,O.current)){const re=Rt(z,O.current,!0);Z(re)}if(!na(le,D.current)){const re=Rt(B,D.current);G(re)}y.setState({userSelectionRect:U,userSelectionActive:!0,nodesSelectionActive:!1})},k=M=>{M.button===0&&(M.target?.releasePointerCapture?.(M.pointerId),!b&&M.target===T.current&&y.getState().userSelectionRect&&q?.(M),y.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(l?.(M),y.setState({nodesSelectionActive:O.current.size>0})))},N=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Ce(["react-flow__pane",{draggable:N,dragging:_,selection:e}]),onClick:x?void 0:Hr(q,T),onContextMenu:Hr($,T),onWheel:Hr(H,T),onPointerEnter:x?void 0:f,onPointerMove:x?S:h,onPointerUp:x?k:void 0,onPointerDownCapture:x?C:void 0,onClickCapture:x?V:void 0,onPointerLeave:g,ref:T,style:ko,children:[p,a.jsx(Yg,{})]})}function Yr({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:s,nodeLookup:l,onError:d}=t.getState(),c=l.get(e);if(!c){d?.("012",Le.error012(e));return}t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&s)&&(i({nodes:[c],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([e])}function dl({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:o,nodeId:r,isSelectable:i,nodeClickDistance:s}){const l=xe(),[d,c]=E.useState(!1),u=E.useRef();return E.useEffect(()=>{u.current=Dp({getStoreItems:()=>l.getState(),onNodeMouseDown:f=>{Yr({id:f,store:l,nodeRef:e})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}})},[]),E.useEffect(()=>{if(!(t||!e.current||!u.current))return u.current.update({noDragClassName:n,handleSelector:o,domNode:e.current,isSelectable:i,nodeId:r,nodeClickDistance:s}),()=>{u.current?.destroy()}},[n,o,t,i,e,r,s]),d}const Wg=e=>t=>t.selected&&(t.draggable||e&&typeof t.draggable>"u");function ul(){const e=xe();return E.useCallback(n=>{const{nodeExtent:o,snapToGrid:r,snapGrid:i,nodesDraggable:s,onError:l,updateNodePositions:d,nodeLookup:c,nodeOrigin:u}=e.getState(),f=new Map,h=Wg(s),g=r?i[0]:5,p=r?i[1]:5,y=n.direction.x*g*n.factor,b=n.direction.y*p*n.factor;for(const[,w]of c){if(!h(w))continue;let _={x:w.internals.positionAbsolute.x+y,y:w.internals.positionAbsolute.y+b};r&&(_=kn(_,i));const{position:v,positionAbsolute:x}=Us({nodeId:w.id,nextPosition:_,nodeLookup:c,nodeExtent:o,nodeOrigin:u,onError:l});w.position=v,w.internals.positionAbsolute=x,f.set(w.id,w)}d(f)},[])}const Xr=E.createContext(null),qg=Xr.Provider;Xr.Consumer;const fl=()=>E.useContext(Xr),jg=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Ug=(e,t,n)=>o=>{const{connectionClickStartHandle:r,connectionMode:i,connection:s}=o,{fromHandle:l,toHandle:d,isValid:c}=s,u=d?.nodeId===e&&d?.id===t&&d?.type===n;return{connectingFrom:l?.nodeId===e&&l?.id===t&&l?.type===n,connectingTo:u,clickConnecting:r?.nodeId===e&&r?.id===t&&r?.type===n,isPossibleEndHandle:i===jt.Strict?l?.type!==n:e!==l?.nodeId||t!==l?.id,connectionInProcess:!!l,clickConnectionInProcess:!!r,valid:u&&c}};function Gg({type:e="source",position:t=ae.Top,isValidConnection:n,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:i=!0,id:s,onConnect:l,children:d,className:c,onMouseDown:u,onTouchStart:f,...h},g){const p=s||null,y=e==="target",b=xe(),w=fl(),{connectOnClick:_,noPanClassName:v,rfId:x}=ge(jg,we),{connectingFrom:T,connectingTo:I,clickConnecting:O,isPossibleEndHandle:D,connectionInProcess:L,clickConnectionInProcess:q,valid:$}=ge(Ug(w,p,e),we);w||b.getState().onError?.("010",Le.error010());const H=S=>{const{defaultEdgeOptions:k,onConnect:N,hasDefaultEdges:M}=b.getState(),A={...k,...S};if(M){const{edges:Y,setEdges:z}=b.getState();z(ua(A,Y))}N?.(A),l?.(A)},V=S=>{if(!w)return;const k=ia(S.nativeEvent);if(r&&(k&&S.button===0||!k)){const N=b.getState();Dr.onPointerDown(S.nativeEvent,{handleDomNode:S.currentTarget,autoPanOnConnect:N.autoPanOnConnect,connectionMode:N.connectionMode,connectionRadius:N.connectionRadius,domNode:N.domNode,nodeLookup:N.nodeLookup,lib:N.lib,isTarget:y,handleId:p,nodeId:w,flowId:N.rfId,panBy:N.panBy,cancelConnection:N.cancelConnection,onConnectStart:N.onConnectStart,onConnectEnd:(...M)=>b.getState().onConnectEnd?.(...M),updateConnection:N.updateConnection,onConnect:H,isValidConnection:n||((...M)=>b.getState().isValidConnection?.(...M)??!0),getTransform:()=>b.getState().transform,getFromHandle:()=>b.getState().connection.fromHandle,autoPanSpeed:N.autoPanSpeed,dragThreshold:N.connectionDragThreshold})}k?u?.(S):f?.(S)},C=S=>{const{onClickConnectStart:k,onClickConnectEnd:N,connectionClickStartHandle:M,connectionMode:A,isValidConnection:Y,lib:z,rfId:B,nodeLookup:j,connection:Z}=b.getState();if(!w||!M&&!r)return;if(!M){k?.(S.nativeEvent,{nodeId:w,handleId:p,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:w,type:e,id:p}});return}const G=oa(S.target),ee=n||Y,{connection:oe,isValid:J}=Dr.isValid(S.nativeEvent,{handle:{nodeId:w,id:p,type:e},connectionMode:A,fromNodeId:M.nodeId,fromHandleId:M.id||null,fromType:M.type,isValidConnection:ee,flowId:B,doc:G,lib:z,nodeLookup:j});J&&oe&&H(oe);const P=structuredClone(Z);delete P.inProgress,P.toPosition=P.toHandle?P.toHandle.position:null,N?.(S,P),b.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":p,"data-nodeid":w,"data-handlepos":t,"data-id":`${x}-${w}-${p}-${e}`,className:Ce(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",v,c,{source:!y,target:y,connectable:o,connectablestart:r,connectableend:i,clickconnecting:O,connectingfrom:T,connectingto:I,valid:$,connectionindicator:o&&(!L||D)&&(L||q?i:r)}]),onMouseDown:V,onTouchStart:V,onClick:_?C:void 0,ref:g,...h,children:d})}const en=E.memo(sl(Gg));function Kg({data:e,isConnectable:t,sourcePosition:n=ae.Bottom}){return a.jsxs(a.Fragment,{children:[e?.label,a.jsx(en,{type:"source",position:n,isConnectable:t})]})}function Zg({data:e,isConnectable:t,targetPosition:n=ae.Top,sourcePosition:o=ae.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(en,{type:"target",position:n,isConnectable:t}),e?.label,a.jsx(en,{type:"source",position:o,isConnectable:t})]})}function Jg(){return null}function Qg({data:e,isConnectable:t,targetPosition:n=ae.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(en,{type:"target",position:n,isConnectable:t}),e?.label]})}const No={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},hl={input:Kg,default:Zg,output:Qg,group:Jg};function Rg(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const e0=e=>{const{width:t,height:n,x:o,y:r}=En(e.nodeLookup,{filter:i=>!!i.selected});return{width:We(t)?t:null,height:We(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${r}px)`}};function t0({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const o=xe(),{width:r,height:i,transformString:s,userSelectionActive:l}=ge(e0,we),d=ul(),c=E.useRef(null);E.useEffect(()=>{n||c.current?.focus({preventScroll:!0})},[n]);const u=!l&&r!==null&&i!==null;if(dl({nodeRef:c,disabled:!u}),!u)return null;const f=e?g=>{const p=o.getState().nodes.filter(y=>y.selected);e(g,p)}:void 0,h=g=>{Object.prototype.hasOwnProperty.call(No,g.key)&&(g.preventDefault(),d({direction:No[g.key],factor:g.shiftKey?4:1}))};return a.jsx("div",{className:Ce(["react-flow__nodesselection","react-flow__container",t]),style:{transform:s},children:a.jsx("div",{ref:c,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:r,height:i}})})}const pl=typeof window<"u"?window:void 0,n0=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function gl({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,paneClickDistance:l,deleteKeyCode:d,selectionKeyCode:c,selectionOnDrag:u,selectionMode:f,onSelectionStart:h,onSelectionEnd:g,multiSelectionKeyCode:p,panActivationKeyCode:y,zoomActivationKeyCode:b,elementsSelectable:w,zoomOnScroll:_,zoomOnPinch:v,panOnScroll:x,panOnScrollSpeed:T,panOnScrollMode:I,zoomOnDoubleClick:O,panOnDrag:D,defaultViewport:L,translateExtent:q,minZoom:$,maxZoom:H,preventScrolling:V,onSelectionContextMenu:C,noWheelClassName:S,noPanClassName:k,disableKeyboardA11y:N,onViewportChange:M,isControlledViewport:A}){const{nodesSelectionActive:Y,userSelectionActive:z}=ge(n0,we),B=Pn(c,{target:pl}),j=Pn(y,{target:pl}),Z=j||D,G=j||x,ee=u&&Z!==!0,oe=B||z||ee;return Lg({deleteKeyCode:d,multiSelectionKeyCode:p}),a.jsx(Bg,{onPaneContextMenu:i,elementsSelectable:w,zoomOnScroll:_,zoomOnPinch:v,panOnScroll:G,panOnScrollSpeed:T,panOnScrollMode:I,zoomOnDoubleClick:O,panOnDrag:!B&&Z,defaultViewport:L,translateExtent:q,minZoom:$,maxZoom:H,zoomActivationKeyCode:b,preventScrolling:V,noWheelClassName:S,noPanClassName:k,onViewportChange:M,isControlledViewport:A,paneClickDistance:l,selectionOnDrag:ee,children:a.jsxs(Vg,{onSelectionStart:h,onSelectionEnd:g,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:i,onPaneScroll:s,panOnDrag:Z,isSelecting:!!oe,selectionMode:f,selectionKeyPressed:B,paneClickDistance:l,selectionOnDrag:ee,children:[e,Y&&a.jsx(t0,{onSelectionContextMenu:C,noPanClassName:k,disableKeyboardA11y:N})]})})}gl.displayName="FlowRenderer";const o0=E.memo(gl),r0=e=>t=>e?vr(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(n=>n.id):Array.from(t.nodeLookup.keys());function i0(e){return ge(E.useCallback(r0(e),[e]),we)}const s0=e=>e.updateNodeInternals;function a0(){const e=ge(s0),[t]=E.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(n=>{const o=new Map;n.forEach(r=>{const i=r.target.getAttribute("data-id");o.set(i,{id:i,nodeElement:r.target,force:!0})}),e(o)}));return E.useEffect(()=>()=>{t?.disconnect()},[t]),t}function l0({node:e,nodeType:t,hasDimensions:n,resizeObserver:o}){const r=xe(),i=E.useRef(null),s=E.useRef(null),l=E.useRef(e.sourcePosition),d=E.useRef(e.targetPosition),c=E.useRef(t),u=n&&!!e.internals.handleBounds;return E.useEffect(()=>{i.current&&!e.hidden&&(!u||s.current!==i.current)&&(s.current&&o?.unobserve(s.current),o?.observe(i.current),s.current=i.current)},[u,e.hidden]),E.useEffect(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),E.useEffect(()=>{if(i.current){const f=c.current!==t,h=l.current!==e.sourcePosition,g=d.current!==e.targetPosition;(f||h||g)&&(c.current=t,l.current=e.sourcePosition,d.current=e.targetPosition,r.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:i.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),i}function c0({id:e,onClick:t,onMouseEnter:n,onMouseMove:o,onMouseLeave:r,onContextMenu:i,onDoubleClick:s,nodesDraggable:l,elementsSelectable:d,nodesConnectable:c,nodesFocusable:u,resizeObserver:f,noDragClassName:h,noPanClassName:g,disableKeyboardA11y:p,rfId:y,nodeTypes:b,nodeClickDistance:w,onError:_}){const{node:v,internals:x,isParent:T}=ge(J=>{const P=J.nodeLookup.get(e),W=J.parentLookup.has(e);return{node:P,internals:P.internals,isParent:W}},we);let I=v.type||"default",O=b?.[I]||hl[I];O===void 0&&(_?.("003",Le.error003(I)),I="default",O=b?.default||hl.default);const D=!!(v.draggable||l&&typeof v.draggable>"u"),L=!!(v.selectable||d&&typeof v.selectable>"u"),q=!!(v.connectable||c&&typeof v.connectable>"u"),$=!!(v.focusable||u&&typeof v.focusable>"u"),H=xe(),V=ea(v),C=l0({node:v,nodeType:I,hasDimensions:V,resizeObserver:f}),S=dl({nodeRef:C,disabled:v.hidden||!D,noDragClassName:h,handleSelector:v.dragHandle,nodeId:e,isSelectable:L,nodeClickDistance:w}),k=ul();if(v.hidden)return null;const N=ot(v),M=Rg(v),A=L||D||t||n||o||r,Y=n?J=>n(J,{...x.userNode}):void 0,z=o?J=>o(J,{...x.userNode}):void 0,B=r?J=>r(J,{...x.userNode}):void 0,j=i?J=>i(J,{...x.userNode}):void 0,Z=s?J=>s(J,{...x.userNode}):void 0,G=J=>{const{selectNodesOnDrag:P,nodeDragThreshold:W}=H.getState();L&&(!P||!D||W>0)&&Yr({id:e,store:H,nodeRef:C}),t&&t(J,{...x.userNode})},ee=J=>{if(!(ra(J.nativeEvent)||p)){if(Ys.includes(J.key)&&L){const P=J.key==="Escape";Yr({id:e,store:H,unselect:P,nodeRef:C})}else if(D&&v.selected&&Object.prototype.hasOwnProperty.call(No,J.key)){J.preventDefault();const{ariaLabelConfig:P}=H.getState();H.setState({ariaLiveMessage:P["node.a11yDescription.ariaLiveMessage"]({direction:J.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),k({direction:No[J.key],factor:J.shiftKey?4:1})}}},oe=()=>{if(p||!C.current?.matches(":focus-visible"))return;const{transform:J,width:P,height:W,autoPanOnNodeFocus:X,setCenter:U}=H.getState();if(!X)return;vr(new Map([[e,v]]),{x:0,y:0,width:P,height:W},J,!0).length>0||U(v.position.x+N.width/2,v.position.y+N.height/2,{zoom:J[2]})};return a.jsx("div",{className:Ce(["react-flow__node",`react-flow__node-${I}`,{[g]:D},v.className,{selected:v.selected,selectable:L,parent:T,draggable:D,dragging:S}]),ref:C,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:A?"all":"none",visibility:V?"visible":"hidden",...v.style,...M},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Y,onMouseMove:z,onMouseLeave:B,onContextMenu:j,onClick:G,onDoubleClick:Z,onKeyDown:$?ee:void 0,tabIndex:$?0:void 0,onFocus:$?oe:void 0,role:v.ariaRole??($?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${qa}-${y}`,"aria-label":v.ariaLabel,...v.domAttributes,children:a.jsx(qg,{value:e,children:a.jsx(O,{id:e,data:v.data,type:I,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:v.selected??!1,selectable:L,draggable:D,deletable:v.deletable??!0,isConnectable:q,sourcePosition:v.sourcePosition,targetPosition:v.targetPosition,dragging:S,dragHandle:v.dragHandle,zIndex:x.z,parentId:v.parentId,...N})})})}var d0=E.memo(c0);const u0=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function ml(e){const{nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,onError:i}=ge(u0,we),s=i0(e.onlyRenderVisibleElements),l=a0();return a.jsx("div",{className:"react-flow__nodes",style:ko,children:s.map(d=>a.jsx(d0,{id:d,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:l,nodesDraggable:t,nodesConnectable:n,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:e.nodeClickDistance,onError:i},d))})}ml.displayName="NodeRenderer";const f0=E.memo(ml);function h0(e){return ge(E.useCallback(n=>{if(!e)return n.edges.map(r=>r.id);const o=[];if(n.width&&n.height)for(const r of n.edges){const i=n.nodeLookup.get(r.source),s=n.nodeLookup.get(r.target);i&&s&&hp({sourceNode:i,targetNode:s,width:n.width,height:n.height,transform:n.transform})&&o.push(r.id)}return o},[e]),we)}const p0=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:n,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},g0=({color:e="none",strokeWidth:t=1})=>{const n={strokeWidth:t,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:n,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},yl={[ho.Arrow]:p0,[ho.ArrowClosed]:g0};function m0(e){const t=xe();return E.useMemo(()=>Object.prototype.hasOwnProperty.call(yl,e)?yl[e]:(t.getState().onError?.("009",Le.error009(e)),null),[e])}const y0=({id:e,type:t,color:n,width:o=12.5,height:r=12.5,markerUnits:i="strokeWidth",strokeWidth:s,orient:l="auto-start-reverse"})=>{const d=m0(t);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:i,orient:l,refX:"0",refY:"0",children:a.jsx(d,{color:n,strokeWidth:s})}):null},vl=({defaultColor:e,rfId:t})=>{const n=ge(i=>i.edges),o=ge(i=>i.defaultEdgeOptions),r=E.useMemo(()=>wp(n,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[n,o,t,e]);return r.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:r.map(i=>a.jsx(y0,{id:i.id,type:i.type,color:i.color,width:i.width,height:i.height,markerUnits:i.markerUnits,strokeWidth:i.strokeWidth,orient:i.orient},i.id))})}):null};vl.displayName="MarkerDefinitions";var v0=E.memo(vl);function bl({x:e,y:t,label:n,labelStyle:o,labelShowBg:r=!0,labelBgStyle:i,labelBgPadding:s=[2,4],labelBgBorderRadius:l=2,children:d,className:c,...u}){const[f,h]=E.useState({x:1,y:0,width:0,height:0}),g=Ce(["react-flow__edge-textwrapper",c]),p=E.useRef(null);return E.useEffect(()=>{if(p.current){const y=p.current.getBBox();h({x:y.x,y:y.y,width:y.width,height:y.height})}},[n]),n?a.jsxs("g",{transform:`translate(${e-f.width/2} ${t-f.height/2})`,className:g,visibility:f.width?"visible":"hidden",...u,children:[r&&a.jsx("rect",{width:f.width+2*s[0],x:-s[0],y:-s[1],height:f.height+2*s[1],className:"react-flow__edge-textbg",style:i,rx:l,ry:l}),a.jsx("text",{className:"react-flow__edge-text",y:f.height/2,dy:"0.3em",ref:p,style:o,children:n}),d]}):null}bl.displayName="EdgeText";const b0=E.memo(bl);function Io({path:e,labelX:t,labelY:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:d,interactionWidth:c=20,...u}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...u,d:e,fill:"none",className:Ce(["react-flow__edge-path",u.className])}),c?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:c,className:"react-flow__edge-interaction"}):null,o&&We(t)&&We(n)?a.jsx(b0,{x:t,y:n,label:o,labelStyle:r,labelShowBg:i,labelBgStyle:s,labelBgPadding:l,labelBgBorderRadius:d}):null]})}function wl({pos:e,x1:t,y1:n,x2:o,y2:r}){return e===ae.Left||e===ae.Right?[.5*(t+o),n]:[t,.5*(n+r)]}function xl({sourceX:e,sourceY:t,sourcePosition:n=ae.Bottom,targetX:o,targetY:r,targetPosition:i=ae.Top}){const[s,l]=wl({pos:n,x1:e,y1:t,x2:o,y2:r}),[d,c]=wl({pos:i,x1:o,y1:r,x2:e,y2:t}),[u,f,h,g]=aa({sourceX:e,sourceY:t,targetX:o,targetY:r,sourceControlX:s,sourceControlY:l,targetControlX:d,targetControlY:c});return[`M${e},${t} C${s},${l} ${d},${c} ${o},${r}`,u,f,h,g]}function Sl(e){return E.memo(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:s,targetPosition:l,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:g,style:p,markerEnd:y,markerStart:b,interactionWidth:w})=>{const[_,v,x]=xl({sourceX:n,sourceY:o,sourcePosition:s,targetX:r,targetY:i,targetPosition:l}),T=e.isInternal?void 0:t;return a.jsx(Io,{id:T,path:_,labelX:v,labelY:x,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:g,style:p,markerEnd:y,markerStart:b,interactionWidth:w})})}const w0=Sl({isInternal:!1}),_l=Sl({isInternal:!0});w0.displayName="SimpleBezierEdge",_l.displayName="SimpleBezierEdgeInternal";function El(e){return E.memo(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:s,labelStyle:l,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,sourcePosition:g=ae.Bottom,targetPosition:p=ae.Top,markerEnd:y,markerStart:b,pathOptions:w,interactionWidth:_})=>{const[v,x,T]=Sr({sourceX:n,sourceY:o,sourcePosition:g,targetX:r,targetY:i,targetPosition:p,borderRadius:w?.borderRadius,offset:w?.offset,stepPosition:w?.stepPosition}),I=e.isInternal?void 0:t;return a.jsx(Io,{id:I,path:v,labelX:x,labelY:T,label:s,labelStyle:l,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:y,markerStart:b,interactionWidth:_})})}const Cl=El({isInternal:!1}),kl=El({isInternal:!0});Cl.displayName="SmoothStepEdge",kl.displayName="SmoothStepEdgeInternal";function Nl(e){return E.memo(({id:t,...n})=>{const o=e.isInternal?void 0:t;return a.jsx(Cl,{...n,id:o,pathOptions:E.useMemo(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}const x0=Nl({isInternal:!1}),Il=Nl({isInternal:!0});x0.displayName="StepEdge",Il.displayName="StepEdgeInternal";function Ml(e){return E.memo(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,label:s,labelStyle:l,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:p,interactionWidth:y})=>{const[b,w,_]=fa({sourceX:n,sourceY:o,targetX:r,targetY:i}),v=e.isInternal?void 0:t;return a.jsx(Io,{id:v,path:b,labelX:w,labelY:_,label:s,labelStyle:l,labelShowBg:d,labelBgStyle:c,labelBgPadding:u,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:p,interactionWidth:y})})}const S0=Ml({isInternal:!1}),Pl=Ml({isInternal:!0});S0.displayName="StraightEdge",Pl.displayName="StraightEdgeInternal";function Dl(e){return E.memo(({id:t,sourceX:n,sourceY:o,targetX:r,targetY:i,sourcePosition:s=ae.Bottom,targetPosition:l=ae.Top,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:g,style:p,markerEnd:y,markerStart:b,pathOptions:w,interactionWidth:_})=>{const[v,x,T]=ca({sourceX:n,sourceY:o,sourcePosition:s,targetX:r,targetY:i,targetPosition:l,curvature:w?.curvature}),I=e.isInternal?void 0:t;return a.jsx(Io,{id:I,path:v,labelX:x,labelY:T,label:d,labelStyle:c,labelShowBg:u,labelBgStyle:f,labelBgPadding:h,labelBgBorderRadius:g,style:p,markerEnd:y,markerStart:b,interactionWidth:_})})}const _0=Dl({isInternal:!1}),Tl=Dl({isInternal:!0});_0.displayName="BezierEdge",Tl.displayName="BezierEdgeInternal";const Ol={default:Tl,straight:Pl,step:Il,smoothstep:kl,simplebezier:_l},Al={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},E0=(e,t,n)=>n===ae.Left?e-t:n===ae.Right?e+t:e,C0=(e,t,n)=>n===ae.Top?e-t:n===ae.Bottom?e+t:e,$l="react-flow__edgeupdater";function Ll({position:e,centerX:t,centerY:n,radius:o=10,onMouseDown:r,onMouseEnter:i,onMouseOut:s,type:l}){return a.jsx("circle",{onMouseDown:r,onMouseEnter:i,onMouseOut:s,className:Ce([$l,`${$l}-${l}`]),cx:E0(t,o,e),cy:C0(n,o,e),r:o,stroke:"transparent",fill:"transparent"})}function k0({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:o,sourceY:r,targetX:i,targetY:s,sourcePosition:l,targetPosition:d,onReconnect:c,onReconnectStart:u,onReconnectEnd:f,setReconnecting:h,setUpdateHover:g}){const p=xe(),y=(x,T)=>{if(x.button!==0)return;const{autoPanOnConnect:I,domNode:O,connectionMode:D,connectionRadius:L,lib:q,onConnectStart:$,cancelConnection:H,nodeLookup:V,rfId:C,panBy:S,updateConnection:k}=p.getState(),N=T.type==="target",M=(z,B)=>{h(!1),f?.(z,n,T.type,B)},A=z=>c?.(n,z),Y=(z,B)=>{h(!0),u?.(x,n,T.type),$?.(z,B)};Dr.onPointerDown(x.nativeEvent,{autoPanOnConnect:I,connectionMode:D,connectionRadius:L,domNode:O,handleId:T.id,nodeId:T.nodeId,nodeLookup:V,isTarget:N,edgeUpdaterType:T.type,lib:q,flowId:C,cancelConnection:H,panBy:S,isValidConnection:(...z)=>p.getState().isValidConnection?.(...z)??!0,onConnect:A,onConnectStart:Y,onConnectEnd:(...z)=>p.getState().onConnectEnd?.(...z),onReconnectEnd:M,updateConnection:k,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},b=x=>y(x,{nodeId:n.target,id:n.targetHandle??null,type:"target"}),w=x=>y(x,{nodeId:n.source,id:n.sourceHandle??null,type:"source"}),_=()=>g(!0),v=()=>g(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(Ll,{position:l,centerX:o,centerY:r,radius:t,onMouseDown:b,onMouseEnter:_,onMouseOut:v,type:"source"}),(e===!0||e==="target")&&a.jsx(Ll,{position:d,centerX:i,centerY:s,radius:t,onMouseDown:w,onMouseEnter:_,onMouseOut:v,type:"target"})]})}function N0({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:o,onClick:r,onDoubleClick:i,onContextMenu:s,onMouseEnter:l,onMouseMove:d,onMouseLeave:c,reconnectRadius:u,onReconnect:f,onReconnectStart:h,onReconnectEnd:g,rfId:p,edgeTypes:y,noPanClassName:b,onError:w,disableKeyboardA11y:_}){let v=ge(U=>U.edgeLookup.get(e));const x=ge(U=>U.defaultEdgeOptions);v=x?{...x,...v}:v;let T=v.type||"default",I=y?.[T]||Ol[T];I===void 0&&(w?.("011",Le.error011(T)),T="default",I=y?.default||Ol.default);const O=!!(v.focusable||t&&typeof v.focusable>"u"),D=typeof f<"u"&&(v.reconnectable||n&&typeof v.reconnectable>"u"),L=!!(v.selectable||o&&typeof v.selectable>"u"),q=E.useRef(null),[$,H]=E.useState(!1),[V,C]=E.useState(!1),S=xe(),{zIndex:k,sourceX:N,sourceY:M,targetX:A,targetY:Y,sourcePosition:z,targetPosition:B}=ge(E.useCallback(U=>{const K=U.nodeLookup.get(v.source),le=U.nodeLookup.get(v.target);if(!K||!le)return{zIndex:v.zIndex,...Al};const te=bp({id:e,sourceNode:K,targetNode:le,sourceHandle:v.sourceHandle||null,targetHandle:v.targetHandle||null,connectionMode:U.connectionMode,onError:w});return{zIndex:fp({selected:v.selected,zIndex:v.zIndex,sourceNode:K,targetNode:le,elevateOnSelect:U.elevateEdgesOnSelect,zIndexMode:U.zIndexMode}),...te||Al}},[v.source,v.target,v.sourceHandle,v.targetHandle,v.selected,v.zIndex]),we),j=E.useMemo(()=>v.markerStart?`url('#${_r(v.markerStart,p)}')`:void 0,[v.markerStart,p]),Z=E.useMemo(()=>v.markerEnd?`url('#${_r(v.markerEnd,p)}')`:void 0,[v.markerEnd,p]);if(v.hidden||N===null||M===null||A===null||Y===null)return null;const G=U=>{const{addSelectedEdges:K,unselectNodesAndEdges:le,multiSelectionActive:te}=S.getState();L&&(S.setState({nodesSelectionActive:!1}),v.selected&&te?(le({nodes:[],edges:[v]}),q.current?.blur()):K([e])),r&&r(U,v)},ee=i?U=>{i(U,{...v})}:void 0,oe=s?U=>{s(U,{...v})}:void 0,J=l?U=>{l(U,{...v})}:void 0,P=d?U=>{d(U,{...v})}:void 0,W=c?U=>{c(U,{...v})}:void 0,X=U=>{if(!_&&Ys.includes(U.key)&&L){const{unselectNodesAndEdges:K,addSelectedEdges:le}=S.getState();U.key==="Escape"?(q.current?.blur(),K({edges:[v]})):le([e])}};return a.jsx("svg",{style:{zIndex:k},children:a.jsxs("g",{className:Ce(["react-flow__edge",`react-flow__edge-${T}`,v.className,b,{selected:v.selected,animated:v.animated,inactive:!L&&!r,updating:$,selectable:L}]),onClick:G,onDoubleClick:ee,onContextMenu:oe,onMouseEnter:J,onMouseMove:P,onMouseLeave:W,onKeyDown:O?X:void 0,tabIndex:O?0:void 0,role:v.ariaRole??(O?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":v.ariaLabel===null?void 0:v.ariaLabel||`Edge from ${v.source} to ${v.target}`,"aria-describedby":O?`${ja}-${p}`:void 0,ref:q,...v.domAttributes,children:[!V&&a.jsx(I,{id:e,source:v.source,target:v.target,type:v.type,selected:v.selected,animated:v.animated,selectable:L,deletable:v.deletable??!0,label:v.label,labelStyle:v.labelStyle,labelShowBg:v.labelShowBg,labelBgStyle:v.labelBgStyle,labelBgPadding:v.labelBgPadding,labelBgBorderRadius:v.labelBgBorderRadius,sourceX:N,sourceY:M,targetX:A,targetY:Y,sourcePosition:z,targetPosition:B,data:v.data,style:v.style,sourceHandleId:v.sourceHandle,targetHandleId:v.targetHandle,markerStart:j,markerEnd:Z,pathOptions:"pathOptions"in v?v.pathOptions:void 0,interactionWidth:v.interactionWidth}),D&&a.jsx(k0,{edge:v,isReconnectable:D,reconnectRadius:u,onReconnect:f,onReconnectStart:h,onReconnectEnd:g,sourceX:N,sourceY:M,targetX:A,targetY:Y,sourcePosition:z,targetPosition:B,setUpdateHover:H,setReconnecting:C})]})})}var I0=E.memo(N0);const M0=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function zl({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:o,noPanClassName:r,onReconnect:i,onEdgeContextMenu:s,onEdgeMouseEnter:l,onEdgeMouseMove:d,onEdgeMouseLeave:c,onEdgeClick:u,reconnectRadius:f,onEdgeDoubleClick:h,onReconnectStart:g,onReconnectEnd:p,disableKeyboardA11y:y}){const{edgesFocusable:b,edgesReconnectable:w,elementsSelectable:_,onError:v}=ge(M0,we),x=h0(t);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(v0,{defaultColor:e,rfId:n}),x.map(T=>a.jsx(I0,{id:T,edgesFocusable:b,edgesReconnectable:w,elementsSelectable:_,noPanClassName:r,onReconnect:i,onContextMenu:s,onMouseEnter:l,onMouseMove:d,onMouseLeave:c,onClick:u,reconnectRadius:f,onDoubleClick:h,onReconnectStart:g,onReconnectEnd:p,rfId:n,onError:v,edgeTypes:o,disableKeyboardA11y:y},T))]})}zl.displayName="EdgeRenderer";const P0=E.memo(zl),D0=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function T0({children:e}){const t=ge(D0);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:t},children:e})}function O0(e){const t=Br(),n=E.useRef(!1);E.useEffect(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const A0=e=>e.panZoom?.syncViewport;function $0(e){const t=ge(A0),n=xe();return E.useEffect(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function L0(e){return e.connection.inProgress?{...e.connection,to:Nn(e.connection.to,e.transform)}:{...e.connection}}function z0(e){return L0}function F0(e){const t=z0();return ge(t,we)}const B0=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function H0({containerStyle:e,style:t,type:n,component:o}){const{nodesConnectable:r,width:i,height:s,isValid:l,inProgress:d}=ge(B0,we);return!(i&&r&&d)?null:a.jsx("svg",{style:e,width:i,height:s,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Ce(["react-flow__connection",qs(l)]),children:a.jsx(Fl,{style:t,type:n,CustomComponent:o,isValid:l})})})}const Fl=({style:e,type:t=lt.Bezier,CustomComponent:n,isValid:o})=>{const{inProgress:r,from:i,fromNode:s,fromHandle:l,fromPosition:d,to:c,toNode:u,toHandle:f,toPosition:h,pointer:g}=F0();if(!r)return;if(n)return a.jsx(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:l,fromX:i.x,fromY:i.y,toX:c.x,toY:c.y,fromPosition:d,toPosition:h,connectionStatus:qs(o),toNode:u,toHandle:f,pointer:g});let p="";const y={sourceX:i.x,sourceY:i.y,sourcePosition:d,targetX:c.x,targetY:c.y,targetPosition:h};switch(t){case lt.Bezier:[p]=ca(y);break;case lt.SimpleBezier:[p]=xl(y);break;case lt.Step:[p]=Sr({...y,borderRadius:0});break;case lt.SmoothStep:[p]=Sr(y);break;default:[p]=fa(y)}return a.jsx("path",{d:p,fill:"none",className:"react-flow__connection-path",style:e})};Fl.displayName="ConnectionLine";const Y0={};function Bl(e=Y0){const t=E.useRef(e),n=xe();E.useEffect(()=>{if(process.env.NODE_ENV==="development"){const o=new Set([...Object.keys(t.current),...Object.keys(e)]);for(const r of o)if(t.current[r]!==e[r]){n.getState().onError?.("002",Le.error002());break}t.current=e}},[e])}function X0(){const e=xe(),t=E.useRef(!1);E.useEffect(()=>{if(process.env.NODE_ENV==="development"&&!t.current){const n=document.querySelector(".react-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.getState().onError?.("013",Le.error013("react")),t.current=!0}},[])}function Hl({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:i,onEdgeDoubleClick:s,onNodeMouseEnter:l,onNodeMouseMove:d,onNodeMouseLeave:c,onNodeContextMenu:u,onSelectionContextMenu:f,onSelectionStart:h,onSelectionEnd:g,connectionLineType:p,connectionLineStyle:y,connectionLineComponent:b,connectionLineContainerStyle:w,selectionKeyCode:_,selectionOnDrag:v,selectionMode:x,multiSelectionKeyCode:T,panActivationKeyCode:I,zoomActivationKeyCode:O,deleteKeyCode:D,onlyRenderVisibleElements:L,elementsSelectable:q,defaultViewport:$,translateExtent:H,minZoom:V,maxZoom:C,preventScrolling:S,defaultMarkerColor:k,zoomOnScroll:N,zoomOnPinch:M,panOnScroll:A,panOnScrollSpeed:Y,panOnScrollMode:z,zoomOnDoubleClick:B,panOnDrag:j,onPaneClick:Z,onPaneMouseEnter:G,onPaneMouseMove:ee,onPaneMouseLeave:oe,onPaneScroll:J,onPaneContextMenu:P,paneClickDistance:W,nodeClickDistance:X,onEdgeContextMenu:U,onEdgeMouseEnter:K,onEdgeMouseMove:le,onEdgeMouseLeave:te,reconnectRadius:re,onReconnect:fe,onReconnectStart:de,onReconnectEnd:he,noDragClassName:Ie,noWheelClassName:Se,noPanClassName:Pe,disableKeyboardA11y:Ne,nodeExtent:Oe,rfId:He,viewport:Qe,onViewportChange:Re}){return Bl(e),Bl(t),X0(),O0(n),$0(Qe),a.jsx(o0,{onPaneClick:Z,onPaneMouseEnter:G,onPaneMouseMove:ee,onPaneMouseLeave:oe,onPaneContextMenu:P,onPaneScroll:J,paneClickDistance:W,deleteKeyCode:D,selectionKeyCode:_,selectionOnDrag:v,selectionMode:x,onSelectionStart:h,onSelectionEnd:g,multiSelectionKeyCode:T,panActivationKeyCode:I,zoomActivationKeyCode:O,elementsSelectable:q,zoomOnScroll:N,zoomOnPinch:M,zoomOnDoubleClick:B,panOnScroll:A,panOnScrollSpeed:Y,panOnScrollMode:z,panOnDrag:j,defaultViewport:$,translateExtent:H,minZoom:V,maxZoom:C,onSelectionContextMenu:f,preventScrolling:S,noDragClassName:Ie,noWheelClassName:Se,noPanClassName:Pe,disableKeyboardA11y:Ne,onViewportChange:Re,isControlledViewport:!!Qe,children:a.jsxs(T0,{children:[a.jsx(P0,{edgeTypes:t,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:fe,onReconnectStart:de,onReconnectEnd:he,onlyRenderVisibleElements:L,onEdgeContextMenu:U,onEdgeMouseEnter:K,onEdgeMouseMove:le,onEdgeMouseLeave:te,reconnectRadius:re,defaultMarkerColor:k,noPanClassName:Pe,disableKeyboardA11y:Ne,rfId:He}),a.jsx(H0,{style:y,type:p,component:b,containerStyle:w}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(f0,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:i,onNodeMouseEnter:l,onNodeMouseMove:d,onNodeMouseLeave:c,onNodeContextMenu:u,nodeClickDistance:X,onlyRenderVisibleElements:L,noPanClassName:Pe,noDragClassName:Ie,disableKeyboardA11y:Ne,nodeExtent:Oe,rfId:He}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}Hl.displayName="GraphView";const V0=E.memo(Hl),Yl=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:s,fitViewOptions:l,minZoom:d=.5,maxZoom:c=2,nodeOrigin:u,nodeExtent:f,zIndexMode:h="basic"}={})=>{const g=new Map,p=new Map,y=new Map,b=new Map,w=o??t??[],_=n??e??[],v=u??[0,0],x=f??xn;xa(y,b,w);const{nodesInitialized:T}=Nr(_,g,p,{nodeOrigin:v,nodeExtent:x,zIndexMode:h});let I=[0,0,1];if(s&&r&&i){const O=En(g,{filter:$=>!!(($.width||$.initialWidth)&&($.height||$.initialHeight))}),{x:D,y:L,zoom:q}=wr(O,r,i,d,c,l?.padding??.1);I=[D,L,q]}return{rfId:"1",width:r??0,height:i??0,transform:I,nodes:_,nodesInitialized:T,nodeLookup:g,parentLookup:p,edges:w,edgeLookup:b,connectionLookup:y,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:c,translateExtent:xn,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:jt.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:v,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:l,fitViewResolver:null,connection:{...Vs},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Rs,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Xs,zIndexMode:h,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},W0=({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:s,fitViewOptions:l,minZoom:d,maxZoom:c,nodeOrigin:u,nodeExtent:f,zIndexMode:h})=>dg((g,p)=>{async function y(){const{nodeLookup:b,panZoom:w,fitViewOptions:_,fitViewResolver:v,width:x,height:T,minZoom:I,maxZoom:O}=p();w&&(await ip({nodes:b,width:x,height:T,panZoom:w,minZoom:I,maxZoom:O},_),v?.resolve(!0),g({fitViewResolver:null}))}return{...Yl({nodes:e,edges:t,width:r,height:i,fitView:s,fitViewOptions:l,minZoom:d,maxZoom:c,nodeOrigin:u,nodeExtent:f,defaultNodes:n,defaultEdges:o,zIndexMode:h}),setNodes:b=>{const{nodeLookup:w,parentLookup:_,nodeOrigin:v,elevateNodesOnSelect:x,fitViewQueued:T,zIndexMode:I,nodesSelectionActive:O}=p(),{nodesInitialized:D,hasSelectedNodes:L}=Nr(b,w,_,{nodeOrigin:v,nodeExtent:f,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:I}),q=O&&L;T&&D?(y(),g({nodes:b,nodesInitialized:D,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:q})):g({nodes:b,nodesInitialized:D,nodesSelectionActive:q})},setEdges:b=>{const{connectionLookup:w,edgeLookup:_}=p();xa(w,_,b),g({edges:b})},setDefaultNodesAndEdges:(b,w)=>{if(b){const{setNodes:_}=p();_(b),g({hasDefaultNodes:!0})}if(w){const{setEdges:_}=p();_(w),g({hasDefaultEdges:!0})}},updateNodeInternals:b=>{const{triggerNodeChanges:w,nodeLookup:_,parentLookup:v,domNode:x,nodeOrigin:T,nodeExtent:I,debug:O,fitViewQueued:D,zIndexMode:L}=p(),{changes:q,updatedInternals:$}=Np(b,_,v,x,T,I,L);$&&(_p(_,v,{nodeOrigin:T,nodeExtent:I,zIndexMode:L}),D?(y(),g({fitViewQueued:!1,fitViewOptions:void 0})):g({}),q?.length>0&&(O&&console.log("React Flow: trigger node changes",q),w?.(q)))},updateNodePositions:(b,w=!1)=>{const _=[];let v=[];const{nodeLookup:x,triggerNodeChanges:T,connection:I,updateConnection:O,onNodesChangeMiddlewareMap:D}=p();for(const[L,q]of b){const $=x.get(L),H=!!($?.expandParent&&$?.parentId&&q?.position),V={id:L,type:"position",position:H?{x:Math.max(0,q.position.x),y:Math.max(0,q.position.y)}:q.position,dragging:w};if($&&I.inProgress&&I.fromNode.id===$.id){const C=Nt($,I.fromHandle,ae.Left,!0);O({...I,from:C})}H&&$.parentId&&_.push({id:L,parentId:$.parentId,rect:{...q.internals.positionAbsolute,width:q.measured.width??0,height:q.measured.height??0}}),v.push(V)}if(_.length>0){const{parentLookup:L,nodeOrigin:q}=p(),$=Mr(_,x,L,q);v.push(...$)}for(const L of D.values())v=L(v);T(v)},triggerNodeChanges:b=>{const{onNodesChange:w,setNodes:_,nodes:v,hasDefaultNodes:x,debug:T}=p();if(b?.length){if(x){const I=tl(b,v);_(I)}T&&console.log("React Flow: trigger node changes",b),w?.(b)}},triggerEdgeChanges:b=>{const{onEdgesChange:w,setEdges:_,edges:v,hasDefaultEdges:x,debug:T}=p();if(b?.length){if(x){const I=nl(b,v);_(I)}T&&console.log("React Flow: trigger edge changes",b),w?.(b)}},addSelectedNodes:b=>{const{multiSelectionActive:w,edgeLookup:_,nodeLookup:v,triggerNodeChanges:x,triggerEdgeChanges:T}=p();if(w){const I=b.map(O=>It(O,!0));x(I);return}x(Rt(v,new Set([...b]),!0)),T(Rt(_))},addSelectedEdges:b=>{const{multiSelectionActive:w,edgeLookup:_,nodeLookup:v,triggerNodeChanges:x,triggerEdgeChanges:T}=p();if(w){const I=b.map(O=>It(O,!0));T(I);return}T(Rt(_,new Set([...b]))),x(Rt(v,new Set,!0))},unselectNodesAndEdges:({nodes:b,edges:w}={})=>{const{edges:_,nodes:v,nodeLookup:x,triggerNodeChanges:T,triggerEdgeChanges:I}=p(),O=b||v,D=w||_,L=[];for(const $ of O){if(!$.selected)continue;const H=x.get($.id);H&&(H.selected=!1),L.push(It($.id,!1))}const q=[];for(const $ of D)$.selected&&q.push(It($.id,!1));T(L),I(q)},setMinZoom:b=>{const{panZoom:w,maxZoom:_}=p();w?.setScaleExtent([b,_]),g({minZoom:b})},setMaxZoom:b=>{const{panZoom:w,minZoom:_}=p();w?.setScaleExtent([_,b]),g({maxZoom:b})},setTranslateExtent:b=>{p().panZoom?.setTranslateExtent(b),g({translateExtent:b})},resetSelectedElements:()=>{const{edges:b,nodes:w,triggerNodeChanges:_,triggerEdgeChanges:v,elementsSelectable:x}=p();if(!x)return;const T=w.reduce((O,D)=>D.selected?[...O,It(D.id,!1)]:O,[]),I=b.reduce((O,D)=>D.selected?[...O,It(D.id,!1)]:O,[]);_(T),v(I)},setNodeExtent:b=>{const{nodes:w,nodeLookup:_,parentLookup:v,nodeOrigin:x,elevateNodesOnSelect:T,nodeExtent:I,zIndexMode:O}=p();b[0][0]===I[0][0]&&b[0][1]===I[0][1]&&b[1][0]===I[1][0]&&b[1][1]===I[1][1]||(Nr(w,_,v,{nodeOrigin:x,nodeExtent:b,elevateNodesOnSelect:T,checkEquality:!1,zIndexMode:O}),g({nodeExtent:b}))},panBy:b=>{const{transform:w,width:_,height:v,panZoom:x,translateExtent:T}=p();return Ip({delta:b,panZoom:x,transform:w,translateExtent:T,width:_,height:v})},setCenter:async(b,w,_)=>{const{width:v,height:x,maxZoom:T,panZoom:I}=p();if(!I)return Promise.resolve(!1);const O=typeof _?.zoom<"u"?_.zoom:T;return await I.setViewport({x:v/2-b*O,y:x/2-w*O,zoom:O},{duration:_?.duration,ease:_?.ease,interpolate:_?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{g({connection:{...Vs}})},updateConnection:b=>{g({connection:b})},reset:()=>g({...Yl()})}},Object.is);function q0({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:o,initialWidth:r,initialHeight:i,initialMinZoom:s,initialMaxZoom:l,initialFitViewOptions:d,fitView:c,nodeOrigin:u,nodeExtent:f,zIndexMode:h,children:g}){const[p]=E.useState(()=>W0({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,width:r,height:i,fitView:c,minZoom:s,maxZoom:l,fitViewOptions:d,nodeOrigin:u,nodeExtent:f,zIndexMode:h}));return a.jsx(ug,{value:p,children:a.jsx(Tg,{children:g})})}function j0({children:e,nodes:t,edges:n,defaultNodes:o,defaultEdges:r,width:i,height:s,fitView:l,fitViewOptions:d,minZoom:c,maxZoom:u,nodeOrigin:f,nodeExtent:h,zIndexMode:g}){return E.useContext(_o)?a.jsx(a.Fragment,{children:e}):a.jsx(q0,{initialNodes:t,initialEdges:n,defaultNodes:o,defaultEdges:r,initialWidth:i,initialHeight:s,fitView:l,initialFitViewOptions:d,initialMinZoom:c,initialMaxZoom:u,nodeOrigin:f,nodeExtent:h,zIndexMode:g,children:e})}const U0={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function G0({nodes:e,edges:t,defaultNodes:n,defaultEdges:o,className:r,nodeTypes:i,edgeTypes:s,onNodeClick:l,onEdgeClick:d,onInit:c,onMove:u,onMoveStart:f,onMoveEnd:h,onConnect:g,onConnectStart:p,onConnectEnd:y,onClickConnectStart:b,onClickConnectEnd:w,onNodeMouseEnter:_,onNodeMouseMove:v,onNodeMouseLeave:x,onNodeContextMenu:T,onNodeDoubleClick:I,onNodeDragStart:O,onNodeDrag:D,onNodeDragStop:L,onNodesDelete:q,onEdgesDelete:$,onDelete:H,onSelectionChange:V,onSelectionDragStart:C,onSelectionDrag:S,onSelectionDragStop:k,onSelectionContextMenu:N,onSelectionStart:M,onSelectionEnd:A,onBeforeDelete:Y,connectionMode:z,connectionLineType:B=lt.Bezier,connectionLineStyle:j,connectionLineComponent:Z,connectionLineContainerStyle:G,deleteKeyCode:ee="Backspace",selectionKeyCode:oe="Shift",selectionOnDrag:J=!1,selectionMode:P=Sn.Full,panActivationKeyCode:W="Space",multiSelectionKeyCode:X=In()?"Meta":"Control",zoomActivationKeyCode:U=In()?"Meta":"Control",snapToGrid:K,snapGrid:le,onlyRenderVisibleElements:te=!1,selectNodesOnDrag:re,nodesDraggable:fe,autoPanOnNodeFocus:de,nodesConnectable:he,nodesFocusable:Ie,nodeOrigin:Se=Ua,edgesFocusable:Pe,edgesReconnectable:Ne,elementsSelectable:Oe=!0,defaultViewport:He=Eg,minZoom:Qe=.5,maxZoom:Re=2,translateExtent:Mt=xn,preventScrolling:Pt=!0,nodeExtent:rt,defaultMarkerColor:Dt="#b1b1b7",zoomOnScroll:ht=!0,zoomOnPinch:Tt=!0,panOnScroll:Ot=!1,panOnScrollSpeed:ze=.5,panOnScrollMode:pt=Ct.Free,zoomOnDoubleClick:je=!0,panOnDrag:At=!0,onPaneClick:gt,onPaneMouseEnter:Dn,onPaneMouseMove:Wr,onPaneMouseLeave:To,onPaneScroll:Oo,onPaneContextMenu:Tn,paneClickDistance:Ao=1,nodeClickDistance:On=0,children:F,onReconnect:Q,onReconnectStart:ie,onReconnectEnd:ne,onEdgeContextMenu:R,onEdgeDoubleClick:ce,onEdgeMouseEnter:ye,onEdgeMouseMove:ue,onEdgeMouseLeave:be,reconnectRadius:me=10,onNodesChange:Ee,onEdgesChange:ke,noDragClassName:Fe="nodrag",noWheelClassName:mt="nowheel",noPanClassName:Ue="nopan",fitView:$t,fitViewOptions:$o,connectOnClick:Lo,attributionPosition:Wm,proOptions:qm,defaultEdgeOptions:jm,elevateNodesOnSelect:Um=!0,elevateEdgesOnSelect:Gm=!1,disableKeyboardA11y:oc=!1,autoPanOnConnect:Km,autoPanOnNodeDrag:Zm,autoPanSpeed:Jm,connectionRadius:Qm,isValidConnection:Rm,onError:ey,style:ty,id:rc,nodeDragThreshold:ny,connectionDragThreshold:oy,viewport:ry,onViewportChange:iy,width:sy,height:ay,colorMode:ly="light",debug:cy,onScroll:ic,ariaLabelConfig:dy,zIndexMode:sc="basic",...uy},fy){const qr=rc||"1",hy=Ng(ly),py=E.useCallback(ac=>{ac.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),ic?.(ac)},[ic]);return a.jsx("div",{"data-testid":"rf__wrapper",...uy,onScroll:py,style:{...ty,...U0},ref:fy,className:Ce(["react-flow",r,hy]),id:rc,role:"application",children:a.jsxs(j0,{nodes:e,edges:t,width:sy,height:ay,fitView:$t,fitViewOptions:$o,minZoom:Qe,maxZoom:Re,nodeOrigin:Se,nodeExtent:rt,zIndexMode:sc,children:[a.jsx(kg,{nodes:e,edges:t,defaultNodes:n,defaultEdges:o,onConnect:g,onConnectStart:p,onConnectEnd:y,onClickConnectStart:b,onClickConnectEnd:w,nodesDraggable:fe,autoPanOnNodeFocus:de,nodesConnectable:he,nodesFocusable:Ie,edgesFocusable:Pe,edgesReconnectable:Ne,elementsSelectable:Oe,elevateNodesOnSelect:Um,elevateEdgesOnSelect:Gm,minZoom:Qe,maxZoom:Re,nodeExtent:rt,onNodesChange:Ee,onEdgesChange:ke,snapToGrid:K,snapGrid:le,connectionMode:z,translateExtent:Mt,connectOnClick:Lo,defaultEdgeOptions:jm,fitView:$t,fitViewOptions:$o,onNodesDelete:q,onEdgesDelete:$,onDelete:H,onNodeDragStart:O,onNodeDrag:D,onNodeDragStop:L,onSelectionDrag:S,onSelectionDragStart:C,onSelectionDragStop:k,onMove:u,onMoveStart:f,onMoveEnd:h,noPanClassName:Ue,nodeOrigin:Se,rfId:qr,autoPanOnConnect:Km,autoPanOnNodeDrag:Zm,autoPanSpeed:Jm,onError:ey,connectionRadius:Qm,isValidConnection:Rm,selectNodesOnDrag:re,nodeDragThreshold:ny,connectionDragThreshold:oy,onBeforeDelete:Y,debug:cy,ariaLabelConfig:dy,zIndexMode:sc}),a.jsx(V0,{onInit:c,onNodeClick:l,onEdgeClick:d,onNodeMouseEnter:_,onNodeMouseMove:v,onNodeMouseLeave:x,onNodeContextMenu:T,onNodeDoubleClick:I,nodeTypes:i,edgeTypes:s,connectionLineType:B,connectionLineStyle:j,connectionLineComponent:Z,connectionLineContainerStyle:G,selectionKeyCode:oe,selectionOnDrag:J,selectionMode:P,deleteKeyCode:ee,multiSelectionKeyCode:X,panActivationKeyCode:W,zoomActivationKeyCode:U,onlyRenderVisibleElements:te,defaultViewport:He,translateExtent:Mt,minZoom:Qe,maxZoom:Re,preventScrolling:Pt,zoomOnScroll:ht,zoomOnPinch:Tt,zoomOnDoubleClick:je,panOnScroll:Ot,panOnScrollSpeed:ze,panOnScrollMode:pt,panOnDrag:At,onPaneClick:gt,onPaneMouseEnter:Dn,onPaneMouseMove:Wr,onPaneMouseLeave:To,onPaneScroll:Oo,onPaneContextMenu:Tn,paneClickDistance:Ao,nodeClickDistance:On,onSelectionContextMenu:N,onSelectionStart:M,onSelectionEnd:A,onReconnect:Q,onReconnectStart:ie,onReconnectEnd:ne,onEdgeContextMenu:R,onEdgeDoubleClick:ce,onEdgeMouseEnter:ye,onEdgeMouseMove:ue,onEdgeMouseLeave:be,reconnectRadius:me,defaultMarkerColor:Dt,noDragClassName:Fe,noWheelClassName:mt,noPanClassName:Ue,rfId:qr,disableKeyboardA11y:oc,nodeExtent:rt,viewport:ry,onViewportChange:iy}),a.jsx(_g,{onSelectionChange:V}),F,a.jsx(vg,{proOptions:qm,position:Wm}),a.jsx(yg,{rfId:qr,disableKeyboardA11y:oc})]})})}var K0=sl(G0);function Z0(e){const[t,n]=E.useState(e),o=E.useCallback(r=>n(i=>tl(r,i)),[]);return[t,n,o]}function J0(e){const[t,n]=E.useState(e),o=E.useCallback(r=>n(i=>nl(r,i)),[]);return[t,n,o]}function Q0({dimensions:e,lineWidth:t,variant:n,className:o}){return a.jsx("path",{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Ce(["react-flow__background-pattern",n,o])})}function R0({radius:e,className:t}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Ce(["react-flow__background-pattern","dots",t])})}var ut;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ut||(ut={}));const em={[ut.Dots]:1,[ut.Lines]:1,[ut.Cross]:6},tm=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Xl({id:e,variant:t=ut.Dots,gap:n=20,size:o,lineWidth:r=1,offset:i=0,color:s,bgColor:l,style:d,className:c,patternClassName:u}){const f=E.useRef(null),{transform:h,patternId:g}=ge(tm,we),p=o||em[t],y=t===ut.Dots,b=t===ut.Cross,w=Array.isArray(n)?n:[n,n],_=[w[0]*h[2]||1,w[1]*h[2]||1],v=p*h[2],x=Array.isArray(i)?i:[i,i],T=b?[v,v]:_,I=[x[0]*h[2]||1+T[0]/2,x[1]*h[2]||1+T[1]/2],O=`${g}${e||""}`;return a.jsxs("svg",{className:Ce(["react-flow__background",c]),style:{...d,...ko,"--xy-background-color-props":l,"--xy-background-pattern-color-props":s},ref:f,"data-testid":"rf__background",children:[a.jsx("pattern",{id:O,x:h[0]%_[0],y:h[1]%_[1],width:_[0],height:_[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${I[0]},-${I[1]})`,children:y?a.jsx(R0,{radius:v/2,className:u}):a.jsx(Q0,{dimensions:T,lineWidth:r,variant:t,className:u})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${O})`})]})}Xl.displayName="Background";const nm=E.memo(Xl);function om(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function rm(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function im(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.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 sm(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.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 am(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.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 Mo({children:e,className:t,...n}){return a.jsx("button",{type:"button",className:Ce(["react-flow__controls-button",t]),...n,children:e})}const lm=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Vl({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:i,onZoomOut:s,onFitView:l,onInteractiveChange:d,className:c,children:u,position:f="bottom-left",orientation:h="vertical","aria-label":g}){const p=xe(),{isInteractive:y,minZoomReached:b,maxZoomReached:w,ariaLabelConfig:_}=ge(lm,we),{zoomIn:v,zoomOut:x,fitView:T}=Br(),I=()=>{v(),i?.()},O=()=>{x(),s?.()},D=()=>{T(r),l?.()},L=()=>{p.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),d?.(!y)},q=h==="horizontal"?"horizontal":"vertical";return a.jsxs(Eo,{className:Ce(["react-flow__controls",q,c]),position:f,style:e,"data-testid":"rf__controls","aria-label":g??_["controls.ariaLabel"],children:[t&&a.jsxs(a.Fragment,{children:[a.jsx(Mo,{onClick:I,className:"react-flow__controls-zoomin",title:_["controls.zoomIn.ariaLabel"],"aria-label":_["controls.zoomIn.ariaLabel"],disabled:w,children:a.jsx(om,{})}),a.jsx(Mo,{onClick:O,className:"react-flow__controls-zoomout",title:_["controls.zoomOut.ariaLabel"],"aria-label":_["controls.zoomOut.ariaLabel"],disabled:b,children:a.jsx(rm,{})})]}),n&&a.jsx(Mo,{className:"react-flow__controls-fitview",onClick:D,title:_["controls.fitView.ariaLabel"],"aria-label":_["controls.fitView.ariaLabel"],children:a.jsx(im,{})}),o&&a.jsx(Mo,{className:"react-flow__controls-interactive",onClick:L,title:_["controls.interactive.ariaLabel"],"aria-label":_["controls.interactive.ariaLabel"],children:y?a.jsx(am,{}):a.jsx(sm,{})}),u]})}Vl.displayName="Controls";const cm=E.memo(Vl);function dm({id:e,x:t,y:n,width:o,height:r,style:i,color:s,strokeColor:l,strokeWidth:d,className:c,borderRadius:u,shapeRendering:f,selected:h,onClick:g}){const{background:p,backgroundColor:y}=i||{},b=s||p||y;return a.jsx("rect",{className:Ce(["react-flow__minimap-node",{selected:h},c]),x:t,y:n,rx:u,ry:u,width:o,height:r,style:{fill:b,stroke:l,strokeWidth:d},shapeRendering:f,onClick:g?w=>g(w,e):void 0})}const um=E.memo(dm),fm=e=>e.nodes.map(t=>t.id),Vr=e=>e instanceof Function?e:()=>e;function hm({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:i=um,onClick:s}){const l=ge(fm,we),d=Vr(t),c=Vr(e),u=Vr(n),f=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:l.map(h=>a.jsx(gm,{id:h,nodeColorFunc:d,nodeStrokeColorFunc:c,nodeClassNameFunc:u,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:i,onClick:s,shapeRendering:f},h))})}function pm({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:i,shapeRendering:s,NodeComponent:l,onClick:d}){const{node:c,x:u,y:f,width:h,height:g}=ge(p=>{const y=p.nodeLookup.get(e);if(!y)return{node:void 0,x:0,y:0,width:0,height:0};const b=y.internals.userNode,{x:w,y:_}=y.internals.positionAbsolute,{width:v,height:x}=ot(b);return{node:b,x:w,y:_,width:v,height:x}},we);return!c||c.hidden||!ea(c)?null:a.jsx(l,{x:u,y:f,width:h,height:g,style:c.style,selected:!!c.selected,className:o(c),color:t(c),borderRadius:r,strokeColor:n(c),strokeWidth:i,shapeRendering:s,onClick:d,id:c.id})}const gm=E.memo(pm);var mm=E.memo(hm);const ym=200,vm=150,bm=e=>!e.hidden,wm=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?Js(En(e.nodeLookup,{filter:bm}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},xm="react-flow__minimap-desc";function Wl({style:e,className:t,nodeStrokeColor:n,nodeColor:o,nodeClassName:r="",nodeBorderRadius:i=5,nodeStrokeWidth:s,nodeComponent:l,bgColor:d,maskColor:c,maskStrokeColor:u,maskStrokeWidth:f,position:h="bottom-right",onClick:g,onNodeClick:p,pannable:y=!1,zoomable:b=!1,ariaLabel:w,inversePan:_,zoomStep:v=1,offsetScale:x=5}){const T=xe(),I=E.useRef(null),{boundingRect:O,viewBB:D,rfId:L,panZoom:q,translateExtent:$,flowWidth:H,flowHeight:V,ariaLabelConfig:C}=ge(wm,we),S=e?.width??ym,k=e?.height??vm,N=O.width/S,M=O.height/k,A=Math.max(N,M),Y=A*S,z=A*k,B=x*A,j=O.x-(Y-O.width)/2-B,Z=O.y-(z-O.height)/2-B,G=Y+B*2,ee=z+B*2,oe=`${xm}-${L}`,J=E.useRef(0),P=E.useRef();J.current=A,E.useEffect(()=>{if(I.current&&q)return P.current=zp({domNode:I.current,panZoom:q,getTransform:()=>T.getState().transform,getViewScale:()=>J.current}),()=>{P.current?.destroy()}},[q]),E.useEffect(()=>{P.current?.update({translateExtent:$,width:H,height:V,inversePan:_,pannable:y,zoomStep:v,zoomable:b})},[y,b,_,v,$,H,V]);const W=g?K=>{const[le,te]=P.current?.pointer(K)||[0,0];g(K,{x:le,y:te})}:void 0,X=p?E.useCallback((K,le)=>{const te=T.getState().nodeLookup.get(le).internals.userNode;p(K,te)},[]):void 0,U=w??C["minimap.ariaLabel"];return a.jsx(Eo,{position:h,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof f=="number"?f*A:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof n=="string"?n:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:Ce(["react-flow__minimap",t]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:S,height:k,viewBox:`${j} ${Z} ${G} ${ee}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":oe,ref:I,onClick:W,children:[U&&a.jsx("title",{id:oe,children:U}),a.jsx(mm,{onClick:X,nodeColor:o,nodeStrokeColor:n,nodeBorderRadius:i,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:l}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${j-B},${Z-B}h${G+B*2}v${ee+B*2}h${-G-B*2}z
15
- M${D.x},${D.y}h${D.width}v${D.height}h${-D.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Wl.displayName="MiniMap";const Sm=E.memo(Wl),_m=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Em={[Qt.Line]:"right",[Qt.Handle]:"bottom-right"};function Cm({nodeId:e,position:t,variant:n=Qt.Handle,className:o,style:r=void 0,children:i,color:s,minWidth:l=10,minHeight:d=10,maxWidth:c=Number.MAX_VALUE,maxHeight:u=Number.MAX_VALUE,keepAspectRatio:f=!1,resizeDirection:h,autoScale:g=!0,shouldResize:p,onResizeStart:y,onResize:b,onResizeEnd:w}){const _=fl(),v=typeof e=="string"?e:_,x=xe(),T=E.useRef(null),I=n===Qt.Handle,O=ge(E.useCallback(_m(I&&g),[I,g]),we),D=E.useRef(null),L=t??Em[n];E.useEffect(()=>{if(!(!T.current||!v))return D.current||(D.current=Jp({domNode:T.current,nodeId:v,getStoreItems:()=>{const{nodeLookup:$,transform:H,snapGrid:V,snapToGrid:C,nodeOrigin:S,domNode:k}=x.getState();return{nodeLookup:$,transform:H,snapGrid:V,snapToGrid:C,nodeOrigin:S,paneDomNode:k}},onChange:($,H)=>{const{triggerNodeChanges:V,nodeLookup:C,parentLookup:S,nodeOrigin:k}=x.getState(),N=[],M={x:$.x,y:$.y},A=C.get(v);if(A&&A.expandParent&&A.parentId){const Y=A.origin??k,z=$.width??A.measured.width??0,B=$.height??A.measured.height??0,j={id:A.id,parentId:A.parentId,rect:{width:z,height:B,...ta({x:$.x??A.position.x,y:$.y??A.position.y},{width:z,height:B},A.parentId,C,Y)}},Z=Mr([j],C,S,k);N.push(...Z),M.x=$.x?Math.max(Y[0]*z,$.x):void 0,M.y=$.y?Math.max(Y[1]*B,$.y):void 0}if(M.x!==void 0&&M.y!==void 0){const Y={id:v,type:"position",position:{...M}};N.push(Y)}if($.width!==void 0&&$.height!==void 0){const z={id:v,type:"dimensions",resizing:!0,setAttributes:h?h==="horizontal"?"width":"height":!0,dimensions:{width:$.width,height:$.height}};N.push(z)}for(const Y of H){const z={...Y,type:"position"};N.push(z)}V(N)},onEnd:({width:$,height:H})=>{const V={id:v,type:"dimensions",resizing:!1,dimensions:{width:$,height:H}};x.getState().triggerNodeChanges([V])}})),D.current.update({controlPosition:L,boundaries:{minWidth:l,minHeight:d,maxWidth:c,maxHeight:u},keepAspectRatio:f,resizeDirection:h,onResizeStart:y,onResize:b,onResizeEnd:w,shouldResize:p}),()=>{D.current?.destroy()}},[L,l,d,c,u,f,y,b,w,p]);const q=L.split("-");return a.jsx("div",{className:Ce(["react-flow__resize-control","nodrag",...q,n,o]),ref:T,style:{...r,scale:O,...s&&{[I?"backgroundColor":"borderColor"]:s}},children:i})}E.memo(Cm);const ql=e=>Symbol.iterator in e,jl=e=>"entries"in e,Ul=(e,t)=>{const n=e instanceof Map?e:new Map(e.entries()),o=t instanceof Map?t:new Map(t.entries());if(n.size!==o.size)return!1;for(const[r,i]of n)if(!o.has(r)||!Object.is(i,o.get(r)))return!1;return!0},km=(e,t)=>{const n=e[Symbol.iterator](),o=t[Symbol.iterator]();let r=n.next(),i=o.next();for(;!r.done&&!i.done;){if(!Object.is(r.value,i.value))return!1;r=n.next(),i=o.next()}return!!r.done&&!!i.done};function Nm(e,t){return Object.is(e,t)?!0:typeof e!="object"||e===null||typeof t!="object"||t===null||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:ql(e)&&ql(t)?jl(e)&&jl(t)?Ul(e,t):km(e,t):Ul({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}const Gl={inlineScript:"内联脚本",dataRequest:"请求数据",external:"外部方法",builtin:"内置动作"},Im=[{label:"Message 全局提示 (antd)",value:"antdMessage"}],Mm=[{label:"info",value:"info"},{label:"success",value:"success"},{label:"warning",value:"warning"},{label:"error",value:"error"},{label:"loading",value:"loading"}];function Kl(e,t,n){const o=n.filter(i=>i.target===e),r=o.length;return o.map((i,s)=>{const d=t.find(c=>c.id===i.source)?.data;return{sourceId:i.source,sourceLabel:d?.label??i.source,edgeIndex:s,totalIncoming:r}})}const Pm={eventBlock:({data:e,id:t})=>{const n=ge(E.useCallback(i=>Kl(t,i.nodes,i.edges).map(({sourceId:s,sourceLabel:l})=>({sourceId:s,label:l})),[t]),Nm),o=e.eventBlock.executorType??"inlineScript",r=o==="dataRequest"?e.eventBlock.dataRequestKey:o==="external"?e.eventBlock.externalHandlerKey:o==="builtin"?e.eventBlock.builtinId==="antdMessage"?`${e.eventBlock.builtinId}: ${String(e.eventBlock.builtinConfig?.content??"").slice(0,24)}`:e.eventBlock.builtinId:null;return a.jsxs("div",{className:"bg-white border-2 border-blue-500 rounded-lg p-3 min-w-[180px] shadow-md",children:[a.jsx(en,{type:"target",position:ae.Top,className:"!bg-blue-500"}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"font-medium text-sm truncate",children:e.label}),a.jsxs(m.Space,{size:"small",children:[a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.EditOutlined,{}),onClick:()=>e.onEdit(t)}),a.jsx(m.Button,{type:"text",size:"small",danger:!0,icon:a.jsx(se.DeleteOutlined,{}),onClick:()=>e.onDelete(t)})]})]}),a.jsx("div",{className:"text-xs mb-1",children:a.jsxs(m.Tag,{color:o==="inlineScript"?"default":o==="builtin"?"cyan":"purple",className:"!mr-0",children:[Gl[o],r?` · ${r}`:""]})}),a.jsxs("div",{className:"text-xs text-gray-500",children:[e.eventBlock.inputs?.length>0&&a.jsxs("div",{children:["入参名(按连线顺序): ",e.eventBlock.inputs.map(i=>i.name).join(", ")]}),n.length>0&&a.jsxs("div",{className:"mt-1 text-amber-800",children:["上游连线:",n.map(i=>a.jsxs("div",{className:"pl-1 border-l-2 border-amber-200",children:["←「",i.label,"」(整块返回值)"]},i.sourceId))]})]}),a.jsx(en,{type:"source",position:ae.Bottom,className:"!bg-blue-500"})]})}},Dm=Object.entries(Gl).map(([e,t])=>({label:t,value:e})),Zl=[{label:"点击",value:"click"},{label:"鼠标按下",value:"mouseDown"},{label:"鼠标释放",value:"mouseUp"},{label:"双击",value:"doubleClick"},{label:"鼠标移入",value:"mouseOver"},{label:"鼠标移出",value:"mouseLeave"},{label:"鼠标进入",value:"mouseEnter"},{label:"右键菜单",value:"contextMenu"},{label:"数据请求",value:"dataRequest"},{label:"外部事件",value:"external"}];function Tm(e,t){const n={},o=[...e];return o.forEach((r,i)=>{const s=t.inputs[i]?.name??(o.length===1?"prev":`prev${i}`);n[s]=`$prev.${r.source}`}),n}function Om(e,t,n){return n[e]?.name??(t===1?"prev":`prev${e}`)}const Am=[{label:"string",value:"string"},{label:"number",value:"number"},{label:"boolean",value:"boolean"},{label:"object",value:"object"},{label:"any",value:"any"}];function Jl(e){const n=Zl.find(o=>o.value===e.eventType)?.label??e.eventType;if(e.eventType==="external"){const o=(e.externalEventKey||"").trim();return o?`${n} · ${o}`:n}return n}const $m=({open:e,onClose:t,bindNodeId:n})=>{const{nodes:o,eventFlow:r,externalHandlerCatalog:i,addEventBlock:s,upsertEventBlock:l,removeEventBlock:d,addEventRoot:c,updateEventRoot:u}=De(),[f,h,g]=Z0([]),[p,y,b]=J0([]),w=E.useRef(f);w.current=f;const[_,v]=E.useState(null),[x,T]=E.useState(!1),[I]=m.Form.useForm(),O=m.Form.useWatch("eventType",I),[D,L]=E.useState(null),[q,$]=E.useState(!1),[H]=m.Form.useForm(),V=m.Form.useWatch("executorType",H),C=m.Form.useWatch("builtinId",H),S=m.Form.useWatch("inputs",H),k=E.useMemo(()=>!q||!D?[]:Kl(D.id,f,p),[q,D,f,p]),N=E.useRef(()=>{}),M=E.useRef(()=>{});E.useEffect(()=>{if(q&&D){const P=D.builtinConfig??{},{outputs:W,...X}=D;H.setFieldsValue({...X,executorType:D.executorType??"inlineScript",builtinId:D.builtinId,inputs:D.inputs??[],builtinConfig:{content:String(P.content??""),level:String(P.level??"info"),duration:P.duration===void 0||P.duration===null?void 0:Number(P.duration)}})}},[q,D,H]);const A=E.useCallback(P=>{y(W=>ua(P,W))},[y]),Y=P=>{const W={bindNodeId:P.bindNodeId,eventType:P.eventType,externalEventKey:P.eventType==="external"?(P.externalEventKey||"").trim():void 0,flowData:{nodes:[],edges:[]},enabled:!0},X=c(W);v({...W,id:X}),I.resetFields(),T(!1),m.message.success("事件流创建成功")},z=E.useCallback(P=>{d(P),h(W=>W.filter(X=>X.id!==P)),y(W=>W.filter(X=>X.source!==P&&X.target!==P))},[d,h,y]),B=E.useCallback(P=>{const W=w.current.find(K=>K.id===P)?.data?.eventBlock,X=r.eventBlocks.find(K=>K.id===P),U=W??X;U?(L({...U,id:P}),$(!0)):m.message.warning("找不到事件块")},[r.eventBlocks]);N.current=B,M.current=z,E.useEffect(()=>{if(e&&_){const P=_.flowData.nodes.map(X=>({id:X.id,type:"eventBlock",position:X.position,data:{label:X.data.label,eventBlock:X.data.eventBlock,onEdit:U=>N.current(U),onDelete:U=>M.current(U)}})),W=_.flowData.edges.map(X=>({id:X.id,source:X.source,target:X.target}));h(P),y(W)}},[e,_,h,y]);const j=()=>{const P={name:"新事件块",executorType:"inlineScript",callback:"return args;",inputs:[],outputs:[]},W=s(P),X={...P,id:W},U={id:W,type:"eventBlock",position:{x:100+f.length*50,y:100+f.length*30},data:{label:X.name,eventBlock:X,onEdit:K=>N.current(K),onDelete:K=>M.current(K)}};h(K=>[...K,U])},Z=()=>{const P={name:"Message 提示",executorType:"builtin",builtinId:"antdMessage",builtinConfig:{content:"操作成功",level:"info"},callback:"return null;",inputs:[],outputs:[]},W=s(P),X={...P,id:W},U={id:W,type:"eventBlock",position:{x:120+f.length*50,y:140+f.length*30},data:{label:X.name,eventBlock:X,onEdit:K=>N.current(K),onDelete:K=>M.current(K)}};h(K=>[...K,U])},G=P=>{if(!D)return;const W=P.executorType??D.executorType??"inlineScript",X={name:P.name,callback:P.callback??D.callback,executorType:W,dataRequestKey:W==="dataRequest"?(P.dataRequestKey||"").trim():void 0,externalHandlerKey:W==="external"?(P.externalHandlerKey||"").trim():void 0,builtinId:W==="builtin"?P.builtinId:void 0,builtinConfig:W==="builtin"&&P.builtinId==="antdMessage"?{content:String(P.builtinConfig?.content??"").trim(),level:P.builtinConfig?.level||"info",duration:P.builtinConfig?.duration===null||P.builtinConfig?.duration===void 0?void 0:Number(P.builtinConfig.duration)}:void 0},K=(P.inputs??[]).filter(te=>te?.name&&String(te.name).trim()),le={...D,...X,inputs:K,outputs:[]};l(le),h(te=>te.map(re=>re.id===D.id?{...re,data:{...re.data,label:le.name||re.data.label,eventBlock:le}}:re)),$(!1),L(null),m.message.success("事件块已更新")},ee=()=>{if(!_)return;const P=f.map(X=>{const U=p.filter(te=>te.target===X.id),le={...X.data.eventBlock,outputs:[]};return{id:X.id,eventBlockId:X.id,position:X.position,inputs:U.map(te=>te.source),outputs:p.filter(te=>te.source===X.id).map(te=>te.target),data:{label:X.data.label,eventBlock:le,inputMapping:Tm(U,le)}}}),W=p.map(X=>({id:X.id,source:X.source,target:X.target}));u(_.id,{flowData:{nodes:P,edges:W}}),Ht.bindNodeEvent({..._,flowData:{nodes:P,edges:W}}),m.message.success("事件流保存成功"),t()},oe=E.useMemo(()=>o.map(P=>({label:P.name,value:P.id})),[o]),J=E.useMemo(()=>n?r.eventRoots.filter(P=>P.bindNodeId===n):r.eventRoots,[r.eventRoots,n]);return e?a.jsxs(m.Modal,{title:"事件流编辑器",open:e,onCancel:t,width:1200,footer:null,styles:{body:{height:700,padding:0}},children:[_?a.jsxs("div",{className:"h-full flex flex-col",style:{height:700},children:[a.jsxs("div",{className:"h-12 border-b border-gray-200 flex items-center justify-between px-4 bg-gray-50",children:[a.jsx(m.Space,{children:a.jsxs("span",{className:"font-medium",children:["编辑: ",Jl(_)," →"," ",o.find(P=>P.id===_.bindNodeId)?.name]})}),a.jsxs(m.Space,{children:[a.jsx(m.Button,{icon:a.jsx(se.PlusOutlined,{}),onClick:j,children:"添加事件块"}),a.jsx(m.Button,{icon:a.jsx(se.PlusOutlined,{}),onClick:Z,children:"Message 提示"}),a.jsx(m.Button,{type:"primary",icon:a.jsx(se.SaveOutlined,{}),onClick:ee,children:"保存"}),a.jsx(m.Button,{icon:a.jsx(se.CloseOutlined,{}),onClick:()=>v(null),children:"返回列表"})]})]}),a.jsx("div",{className:"flex-1",children:a.jsxs(K0,{nodes:f,edges:p,onNodesChange:g,onEdgesChange:b,onConnect:A,nodeTypes:Pm,fitView:!0,children:[a.jsx(nm,{}),a.jsx(cm,{}),a.jsx(Sm,{})]})})]}):a.jsxs("div",{className:"p-6",children:[a.jsxs("div",{className:"flex justify-between items-center mb-4",children:[a.jsx("h3",{className:"text-lg font-medium",children:"选择或创建事件流"}),a.jsx(m.Button,{type:"primary",icon:a.jsx(se.PlusOutlined,{}),onClick:()=>T(!0),children:"新建事件流"})]}),a.jsx(m.List,{dataSource:J,renderItem:P=>a.jsx(m.List.Item,{actions:[a.jsx(m.Button,{type:"primary",icon:a.jsx(se.EditOutlined,{}),onClick:()=>v(P),children:"编辑"},"edit")],children:a.jsx(m.List.Item.Meta,{title:a.jsxs(m.Space,{children:[a.jsxs("span",{children:["触发: ",Jl(P)]}),a.jsx(m.Tag,{color:"blue",children:o.find(W=>W.id===P.bindNodeId)?.name||P.bindNodeId})]}),description:`节点数: ${P.flowData.nodes.length}, 连接数: ${P.flowData.edges.length}`})}),locale:{emptyText:a.jsx(m.Empty,{description:"暂无事件流"})}}),a.jsx(m.Modal,{title:"新建事件流",open:x,onCancel:()=>{I.resetFields(),T(!1)},footer:null,afterOpenChange:P=>{P&&(I.resetFields(),n&&I.setFieldsValue({bindNodeId:n}))},children:a.jsxs(m.Form,{form:I,onFinish:Y,layout:"vertical",children:[a.jsx(m.Form.Item,{name:"bindNodeId",label:"绑定节点",rules:[{required:!0,message:"请选择节点"}],initialValue:n,children:a.jsx(m.Select,{options:oe,placeholder:"选择要绑定的节点",disabled:!!n})}),a.jsx(m.Form.Item,{name:"eventType",label:"触发方式",rules:[{required:!0,message:"请选择触发方式"}],children:a.jsx(m.Select,{options:Zl,placeholder:"DOM / 数据请求 / 外部"})}),O==="external"&&a.jsx(m.Form.Item,{name:"externalEventKey",label:"外部事件标识",rules:[{required:!0,message:"请填写外部事件标识"},{validator:(P,W)=>(W||"").trim()?Promise.resolve():Promise.reject(new Error("标识不能为空"))}],extra:"与 eventBus.emitExternal(节点id, 该标识) 一致",children:a.jsx(m.Input,{placeholder:"例如:refresh"})}),a.jsx(m.Form.Item,{className:"mb-0",children:a.jsxs(m.Space,{className:"w-full justify-end",children:[a.jsx(m.Button,{onClick:()=>{I.resetFields(),T(!1)},children:"取消"}),a.jsx(m.Button,{type:"primary",htmlType:"submit",children:"创建"})]})})]})})]}),a.jsx(m.Modal,{title:"编辑事件块",open:q,onCancel:()=>{$(!1),L(null)},footer:null,destroyOnClose:!0,children:a.jsxs(m.Form,{form:H,onFinish:G,layout:"vertical",children:[a.jsx(m.Form.Item,{name:"name",label:"名称",rules:[{required:!0,message:"请填写名称"}],children:a.jsx(m.Input,{})}),a.jsx(m.Form.Item,{name:"executorType",label:"执行方式",rules:[{required:!0,message:"请选择执行方式"}],children:a.jsx(m.Select,{options:Dm,placeholder:"不同方式对应下方不同配置项"})}),V==="builtin"&&a.jsx(m.Form.Item,{name:"builtinId",label:"内置动作",rules:[{required:!0,message:"请选择内置动作"}],children:a.jsx(m.Select,{options:Im,placeholder:"选择具体内置能力"})}),V==="builtin"&&C==="antdMessage"&&a.jsxs(a.Fragment,{children:[a.jsx(m.Form.Item,{name:["builtinConfig","content"],label:"提示内容",rules:[{required:!0,message:"请填写提示内容"}],extra:"占位符:{{prev}}、{{入参名}} 引用上游连线入参;{{$data.xxx}} 取事件上下文 data",children:a.jsx(m.Input.TextArea,{rows:3,placeholder:"例如:保存成功 或 结果:{{prev}}"})}),a.jsx(m.Form.Item,{name:["builtinConfig","level"],label:"状态 (type)",children:a.jsx(m.Select,{options:Mm})}),a.jsx(m.Form.Item,{name:["builtinConfig","duration"],label:"持续时间(秒)",extra:"留空使用 antd 默认;填 0 表示不自动关闭",children:a.jsx(m.InputNumber,{min:0,step:.5,style:{width:"100%"},placeholder:"默认"})})]}),V==="dataRequest"&&a.jsx(m.Form.Item,{name:"dataRequestKey",label:"请求标识",rules:[{required:!0,message:"请填写请求标识"},{validator:(P,W)=>(W||"").trim()?Promise.resolve():Promise.reject(new Error("标识不能为空"))}],extra:"运行时 eventBus.setDefaultRuntimeHandlers({ dataRequest: { [标识]: (ctx, args) => ... } })",children:a.jsx(m.Input,{placeholder:"例如:loadTrend、fetchDeviceList"})}),V==="external"&&a.jsx(m.Form.Item,{name:"externalHandlerKey",label:"外部方法标识",rules:[{required:!0,message:"请填写外部方法标识"},{validator:(P,W)=>(W||"").trim()?Promise.resolve():Promise.reject(new Error("标识不能为空"))}],extra:i.length>0?"来自 ConfigEditor 的 externalEventActions;也可在运行时 eventBus.mergeDefaultRuntimeHandlers({ external }) 补充":"未配置下拉时手动填写 key;宿主可用 ConfigEditor externalEventActions 注册选项与 handler,或 eventBus.mergeDefaultRuntimeHandlers",children:i.length>0?a.jsx(m.Select,{showSearch:!0,optionFilterProp:"label",allowClear:!0,placeholder:"选择已注册的外部方法",options:i.map(P=>({value:P.key,label:P.label,title:P.description?`${P.label} — ${P.description}`:`${P.label} (${P.key})`}))}):a.jsx(m.Input,{placeholder:"例如:navigateTo、openDialog"})}),V==="inlineScript"&&a.jsx(m.Form.Item,{name:"callback",label:"执行代码",rules:[{validator:(P,W)=>typeof W=="string"&&W.trim()?Promise.resolve():Promise.reject(new Error("请填写执行代码"))}],children:a.jsx(m.Input.TextArea,{rows:6,placeholder:`// 可用参数:
16
- // node - 触发事件的节点
17
- // context - 事件上下文
18
- // args - 传入的参数
19
-
20
- return args;`})}),k.length>0&&a.jsxs("div",{className:"mb-4 p-3 bg-amber-50 rounded border border-amber-100 text-sm",children:[a.jsx("div",{className:"font-medium text-amber-950 mb-2",children:"上游连线 → 本块 args 键名"}),a.jsx("ul",{className:"list-none space-y-2 m-0 p-0",children:k.map(P=>{const W=S??D?.inputs??[],X=Om(P.edgeIndex,P.totalIncoming,W);return a.jsxs("li",{className:"pl-2 border-l-2 border-amber-300",children:[a.jsxs("div",{className:"text-gray-800",children:["第 ",P.edgeIndex+1," 条入边 ←「",P.sourceLabel,"」:上游",a.jsx("strong",{children:"整块返回值"})," →"," ",a.jsxs("code",{className:"bg-white px-1 rounded",children:["args.",X]})]}),a.jsxs("div",{className:"text-gray-600 mt-0.5",children:["在下方第 ",P.edgeIndex+1," 行填写参数名即可自定义键名(须与入边顺序一致)。"]})]},P.sourceId)})})]}),a.jsx("div",{className:"font-medium text-gray-800 mb-2",children:"入参名称(按连线顺序)"}),a.jsxs("div",{className:"text-xs text-gray-500 mb-2",children:["第 1 行对应第 1 条指向本块的连线,第 2 行对应第 2 条……(顺序与画布连线添加顺序一致,先连在前)。不添加行时:单入边用"," ",a.jsx("code",{children:"args.prev"}),",多入边用 ",a.jsx("code",{children:"args.prev0"}),"、",a.jsx("code",{children:"args.prev1"}),"…"]}),a.jsx(m.Form.List,{name:"inputs",children:(P,{add:W,remove:X})=>a.jsxs(a.Fragment,{children:[P.map(({key:U,name:K,...le})=>a.jsxs(m.Space,{align:"baseline",wrap:!0,className:"mb-2",children:[a.jsx(m.Form.Item,{...le,name:[K,"name"],rules:[{required:!0,message:"名称"}],children:a.jsx(m.Input,{placeholder:"参数名,如 A",style:{width:140}})}),a.jsx(m.Form.Item,{...le,name:[K,"type"],initialValue:"any",children:a.jsx(m.Select,{options:Am,style:{width:100}})}),a.jsx(se.MinusCircleOutlined,{className:"text-gray-400 hover:text-red-500 cursor-pointer",onClick:()=>X(K)})]},U)),a.jsx(m.Button,{type:"dashed",onClick:()=>W({type:"any"}),block:!0,icon:a.jsx(se.PlusOutlined,{}),children:"添加入参行(第几个参数)"})]})}),a.jsx(m.Form.Item,{className:"mb-0 mt-4",children:a.jsxs(m.Space,{className:"w-full justify-end",children:[a.jsx(m.Button,{onClick:()=>{$(!1),L(null)},children:"取消"}),a.jsx(m.Button,{type:"primary",htmlType:"submit",children:"保存"})]})})]})})]}):null},Po={click:"点击",mouseDown:"鼠标按下",mouseUp:"鼠标释放",doubleClick:"双击",mouseOver:"鼠标移入",mouseLeave:"鼠标移出",mouseEnter:"鼠标进入",contextMenu:"右键菜单",dataRequest:"数据请求",external:"外部事件"};function Lm(e){if(e.eventType==="external"){const t=(e.externalEventKey||"").trim();return t?`${Po.external} · ${t}`:Po.external}return Po[e.eventType]}const zm=Object.entries(Po).map(([e,t])=>({label:t,value:e})),Fm=({nodeId:e})=>{const{eventFlow:t,addEventRoot:n,updateEventRoot:o,removeEventRoot:r}=De(),[i,s]=E.useState(!1),[l,d]=E.useState(null),[c,u]=E.useState(!1),[f]=m.Form.useForm(),h=m.Form.useWatch("eventType",f),g=E.useMemo(()=>t.eventRoots.filter(_=>_.bindNodeId===e),[t.eventRoots,e]),p=_=>{const v={bindNodeId:e,eventType:_.eventType,externalEventKey:_.eventType==="external"?(_.externalEventKey||"").trim():void 0,flowData:{nodes:[],edges:[]},enabled:!0};n(v),f.resetFields(),u(!1)},y=_=>{d(_),s(!0)},b=(_,v)=>{o(_.id,{enabled:v})},w=_=>{r(_)};return a.jsxs("div",{children:[a.jsxs("div",{className:"flex justify-between items-center mb-4",children:[a.jsx("h4",{className:"text-sm font-medium",children:"事件流绑定"}),a.jsx(m.Button,{type:"primary",size:"small",icon:a.jsx(se.PlusOutlined,{}),onClick:()=>u(!0),children:"添加事件流"})]}),a.jsx(m.List,{dataSource:g,renderItem:_=>a.jsx(m.List.Item,{actions:[a.jsx(m.Switch,{checked:_.enabled,size:"small",onChange:v=>b(_,v)},"enable"),a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.EditOutlined,{}),onClick:()=>y(_)},"edit"),a.jsx(m.Popconfirm,{title:"确认删除",description:"删除后无法恢复,是否继续?",onConfirm:()=>w(_.id),children:a.jsx(m.Button,{type:"text",danger:!0,size:"small",icon:a.jsx(se.DeleteOutlined,{})})},"delete")],children:a.jsx(m.List.Item.Meta,{title:a.jsxs(m.Space,{children:[a.jsx(m.Tag,{color:_.enabled?"blue":"default",children:Lm(_)}),a.jsxs("span",{className:"text-xs text-gray-400",children:[_.flowData.nodes.length," 个节点"]})]}),description:_.enabled?a.jsx("span",{className:"text-xs text-green-600",children:"已启用"}):a.jsx("span",{className:"text-xs text-gray-400",children:"已禁用"})})}),locale:{emptyText:a.jsx(m.Empty,{image:m.Empty.PRESENTED_IMAGE_SIMPLE,description:"暂无事件流绑定"})}}),a.jsx(m.Modal,{title:"添加事件流",open:c,onCancel:()=>{f.resetFields(),u(!1)},footer:null,afterOpenChange:_=>{_&&f.resetFields()},children:a.jsxs(m.Form,{form:f,onFinish:p,layout:"vertical",children:[a.jsx(m.Form.Item,{name:"eventType",label:"触发方式",rules:[{required:!0,message:"请选择触发方式"}],children:a.jsx(m.Select,{options:zm,placeholder:"选择触发方式(DOM / 数据请求 / 外部)"})}),h==="external"&&a.jsx(m.Form.Item,{name:"externalEventKey",label:"外部事件标识",rules:[{required:!0,message:"请填写外部事件标识"},{validator:(_,v)=>(v||"").trim()?Promise.resolve():Promise.reject(new Error("标识不能为空"))}],extra:"与运行时 eventBus.emitExternal(节点id, 该标识) 一致,例如:refresh、dialog:opened",children:a.jsx(m.Input,{placeholder:"例如:refresh 或 parent:reload"})}),a.jsx(m.Form.Item,{className:"mb-0",children:a.jsxs(m.Space,{className:"w-full justify-end",children:[a.jsx(m.Button,{onClick:()=>u(!1),children:"取消"}),a.jsx(m.Button,{type:"primary",htmlType:"submit",children:"创建"})]})})]})}),a.jsx($m,{open:i,onClose:()=>{s(!1),d(null)},bindNodeId:e})]})},{Panel:ft}=m.Collapse,{TabPane:Do}=m.Tabs,{TextArea:Bm}=m.Input,Ql=({defaultTestData:e})=>{const{nodes:t,selectedNodeId:n,updateNode:o,updateNodeStyle:r,updateNodeControl:i,updateNodeContent:s,materials:l,selectedStatusId:d,selectStatus:c}=De(),[u]=m.Form.useForm(),[f,h]=E.useState("basic"),[g,p]=E.useState(!1),[y,b]=E.useState(null),[w,_]=E.useState({}),v=E.useMemo(()=>t.find(S=>S.id===n),[t,n]),x=v?.contentInfo.statusList||[],T=S=>{n&&(S.normalStyle&&r(n,S.normalStyle),S.name!==void 0&&o(n,{name:S.name}),S.controlInfo&&i(n,S.controlInfo))};console.log(n,"selectedNodeId",v),E.useEffect(()=>{v&&v&&(u.setFieldsValue({name:v.name,normalStyle:{width:100,height:100,x:0,y:0,padding:8,background:"transparent",borderRadius:0,opacity:1,...v.normalStyle},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0,...v.controlInfo}}),c(null))},[v,c,u]);const I=()=>{!n||!v||(b("new"),p(!0))},O=S=>{if(!n||!v)return;const k={id:pe.nanoid(),name:`${S.name}_状态${x.length+1}`,expression:x.length===0?"return true;":"return false;",material:{...S,id:pe.nanoid()},boundDatasetId:null};if(y==="new"){const N=[...x,k];s(n,{statusList:N})}else if(y){const N=x.map(M=>M.id===y?{...M,material:{...S,id:pe.nanoid()}}:M);s(n,{statusList:N})}p(!1),b(null)},D=S=>{if(!n||!v)return;const k=v.contentInfo.statusList?.filter(N=>N.id!==S)||[];s(n,{statusList:k}),d===S&&c(null)},L=(S,k)=>{if(!n||!v)return;const N=v.contentInfo.statusList?.map(M=>M.id===S?{...M,...k}:M)||[];s(n,{statusList:N})},q=S=>{if(!n||!v)return;const k={...S,id:pe.nanoid(),name:`${S.name}_复制`,expression:"return false;"},N=[...x,k];s(n,{statusList:N})},$=(S,k)=>{if(!n||!v)return;const N=x.findIndex(A=>A.id===S);if(N===-1)return;const M=[...x];k==="up"&&N>0?[M[N],M[N-1]]=[M[N-1],M[N]]:k==="down"&&N<M.length-1&&([M[N],M[N+1]]=[M[N+1],M[N]]),s(n,{statusList:M})},H=S=>{b(S),p(!0)},V=(S,k)=>{const N=k.config||{},M=N.startX??0,A=N.startY??0,Y=N.endX??100,z=N.endY??0,B=Math.max((N.lineWeight||N.thickness||2)*2,4),j=Math.min(M,Y),Z=Math.min(A,z),G=Math.max(M,Y),ee=Math.max(A,z),oe=Math.max(G-j,B),J=Math.max(ee-Z,B),P=S.normalStyle.x||0,W=S.normalStyle.y||0;return{material:{...k,config:{...N,startX:M-j,startY:A-Z,endX:Y-j,endY:z-Z}},box:{x:P+j,y:W+Z,width:oe,height:J}}},C=(S,k)=>{if(!n||!v)return;const{list:N,lineBox:M}=x.reduce((A,Y)=>{if(Y.id!==S)return A.list.push(Y),A;let z;if(Y.material.type==="LINE"&&"config"in k&&k.config!==void 0){const B=Y.material,j=k.config;z={...B,...k,config:{...B.config||{},...j}}}else z={...Y.material,...k};if(z.type==="LINE"){const{material:B,box:j}=V(v,z);return A.list.push({...Y,material:B}),A.lineBox=j,A}return A.list.push({...Y,material:z}),A},{list:[],lineBox:null});M!==null?o(n,{normalStyle:{...v.normalStyle,x:M.x,y:M.y,width:M.width,height:M.height},contentInfo:{...v.contentInfo,statusList:N}}):s(n,{statusList:N})};return v?a.jsxs("div",{className:"h-full flex flex-col bg-white border-l border-gray-200",children:[a.jsxs("div",{className:"p-4 border-b border-gray-200",children:[a.jsx("h3",{className:"text-lg font-semibold text-gray-800",children:"属性面板"}),a.jsx("p",{className:"text-sm text-gray-500",children:"编辑选中节点的属性"})]}),a.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:a.jsxs(m.Tabs,{activeKey:f,onChange:h,children:[a.jsx(Do,{tab:"基础",children:a.jsxs(m.Form,{form:u,layout:"vertical",onValuesChange:T,initialValues:{name:v.name},children:[a.jsx(m.Form.Item,{label:"节点名称",name:"name",children:a.jsx(m.Input,{placeholder:"输入节点名称"})}),a.jsxs(m.Collapse,{ghost:!0,defaultActiveKey:["position","size","style"],children:[a.jsx(ft,{header:"位置",children:a.jsxs(m.Space,{children:[a.jsx(m.Form.Item,{label:"X",name:["normalStyle","x"],children:a.jsx(m.InputNumber,{})}),a.jsx(m.Form.Item,{label:"Y",name:["normalStyle","y"],children:a.jsx(m.InputNumber,{})})]})},"position"),a.jsx(ft,{header:"尺寸",children:a.jsxs(m.Space,{children:[a.jsx(m.Form.Item,{label:"宽度",name:["normalStyle","width"],children:a.jsx(m.InputNumber,{min:10})}),a.jsx(m.Form.Item,{label:"高度",name:["normalStyle","height"],children:a.jsx(m.InputNumber,{min:10})})]})},"size"),a.jsxs(ft,{header:"样式",children:[a.jsx(m.Form.Item,{label:"背景色",name:["normalStyle","background"],children:a.jsx(m.Input,{placeholder:"transparent, #fff, url(...)"})}),a.jsx(m.Form.Item,{label:"内边距",name:["normalStyle","padding"],children:a.jsx(m.InputNumber,{min:0})}),a.jsx(m.Form.Item,{label:"圆角",name:["normalStyle","borderRadius"],children:a.jsx(m.InputNumber,{min:0})}),a.jsx(m.Form.Item,{label:"缩放比例",name:["normalStyle","scale"],help:"等比缩放节点的宽高",children:a.jsx(m.InputNumber,{min:.1,max:5,step:.1})}),a.jsx(m.Form.Item,{label:"旋转角度",name:["normalStyle","rotate"],help:"顺时针旋转角度(度)",children:a.jsx(m.InputNumber,{min:0,max:360,step:1})}),a.jsx(m.Form.Item,{label:"透明度",name:["normalStyle","opacity"],children:a.jsx(m.InputNumber,{min:0,max:1,step:.1})}),a.jsx(m.Form.Item,{label:"层级",name:["normalStyle","zIndex"],children:a.jsx(m.InputNumber,{})})]},"style")]})]})},"basic"),a.jsx(Do,{tab:"状态",children:v.type==="group"&&v.children?a.jsx(wd,{node:v,updateNode:o,materials:l}):a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{className:"font-medium",children:["状态列表",a.jsx(m.Tag,{color:"blue",className:"ml-2",children:x.length})]}),a.jsx(m.Button,{type:"primary",size:"small",icon:a.jsx(se.PlusOutlined,{}),onClick:I,children:"添加状态"})]}),a.jsx("p",{className:"text-xs text-gray-500 mb-3",children:"节点根据状态表达式计算结果显示对应物料,第一个返回 true 的状态为当前状态"}),x.length>0&&a.jsx("div",{className:"mb-4 p-3 bg-blue-50 border border-blue-200 rounded-lg",children:a.jsx("div",{className:"flex items-center justify-between",children:a.jsxs("div",{children:[a.jsx("span",{className:"text-sm text-gray-600",children:"当前状态:"}),a.jsx("span",{className:"ml-2 text-sm font-medium text-blue-600",children:"由表达式自动计算"})]})})}),x.length===0?a.jsx("div",{className:"text-center text-gray-400 py-4 bg-gray-50 rounded-lg",children:"暂无状态,点击上方按钮添加"}):a.jsx(m.Collapse,{ghost:!0,defaultActiveKey:x[0]?.id+n,children:x.map((S,k)=>a.jsx(ft,{header:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("span",{className:"text-xs text-gray-400 w-5",children:k+1}),a.jsx("span",{className:"font-medium",children:S.name}),a.jsx(m.Tag,{color:"default",className:"text-xs",children:S.material.type})]}),extra:a.jsxs(m.Space,{size:"small",onClick:N=>N.stopPropagation(),children:[a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.ArrowUpOutlined,{}),disabled:k===0,onClick:N=>{N.stopPropagation(),$(S.id,"up")}}),a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.ArrowDownOutlined,{}),disabled:k===x.length-1,onClick:N=>{N.stopPropagation(),$(S.id,"down")}}),a.jsx(m.Button,{type:"text",size:"small",icon:a.jsx(se.CopyOutlined,{}),onClick:N=>{N.stopPropagation(),q(S)}}),a.jsx(m.Button,{type:"text",size:"small",danger:!0,icon:a.jsx(se.DeleteOutlined,{}),onClick:N=>{N.stopPropagation(),D(S.id)}})]}),children:a.jsxs(m.Form,{layout:"vertical",children:[a.jsx(m.Form.Item,{label:"状态名称",children:a.jsx(m.Input,{value:S.name,onChange:N=>L(S.id,{name:N.target.value}),placeholder:"输入状态名称"})}),a.jsx(qi,{status:S,onUpdate:N=>L(S.id,N),onAppendToExpression:N=>{_(M=>({...M,[S.id]:(M[S.id]??S.expression)+N}))}}),a.jsx(m.Form.Item,{label:"执行表达式",help:"单参数 data(对象):由数据池 sample(若已绑定)与画布运行时数据合并;测点数组会按 paramsCode 写入 data。须 return true/false。",children:a.jsx(Bm,{value:w[S.id]??S.expression,onChange:N=>_(M=>({...M,[S.id]:N.target.value})),onBlur:N=>{L(S.id,{expression:N.target.value}),_(M=>{const A={...M};return delete A[S.id],A})},rows:3,placeholder:"return true;"})}),a.jsx(m.Form.Item,{label:"绑定物料",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(m.Tag,{color:"blue",children:S.material.name}),a.jsx(m.Tag,{color:"default",children:S.material.type}),a.jsx(m.Button,{type:"link",size:"small",icon:a.jsx(se.EditOutlined,{}),onClick:()=>H(S.id),children:"更换物料"})]})}),a.jsx(m.Divider,{style:{margin:"12px 0"}}),a.jsxs("div",{className:"bg-gray-50 rounded-lg p-3 border border-gray-200",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-sm font-medium",children:"物料属性"}),a.jsx(m.Tag,{children:S.material.name})]}),a.jsx(ji,{material:S.material,onSave:N=>C(S.id,N),dataOptions:e||[]})]})]})},S.id+n))})]})},"status"),a.jsx(Do,{tab:"控制",children:a.jsxs(m.Form,{form:u,layout:"vertical",onValuesChange:T,children:[a.jsx(m.Form.Item,{label:"可拖拽",name:["controlInfo","isDraggable"],valuePropName:"checked",children:a.jsx(m.Switch,{})}),a.jsx(m.Form.Item,{label:"可点击",name:["controlInfo","isClickable"],valuePropName:"checked",children:a.jsx(m.Switch,{})}),a.jsx(m.Form.Item,{label:"可调整大小",name:["controlInfo","isResizable"],valuePropName:"checked",children:a.jsx(m.Switch,{})}),a.jsx(m.Form.Item,{label:"可选中",name:["controlInfo","isSelectable"],valuePropName:"checked",children:a.jsx(m.Switch,{})})]})},"control"),a.jsx(Do,{tab:"事件流",children:a.jsx(Fm,{nodeId:v.id})},"eventflow")]})}),a.jsx("div",{className:"p-3 border-t border-gray-200 bg-gray-50",children:a.jsxs("div",{className:"text-xs text-gray-500",children:[a.jsxs("div",{children:["节点 ID: ",v.id.slice(0,8),"..."]}),a.jsxs("div",{children:["状态数: ",x.length]})]})}),a.jsx(m.Modal,{title:"选择物料",open:g,onCancel:()=>{p(!1),b(null)},footer:null,width:600,children:a.jsx("div",{className:"max-h-[400px] overflow-y-auto",children:a.jsxs(m.Collapse,{ghost:!0,defaultActiveKey:["basic","device","text","line"],children:[a.jsx(ft,{header:"基础形状",children:a.jsx("div",{className:"grid grid-cols-4 gap-2",children:l.filter(S=>["矩形","圆形","圆角矩形"].includes(S.name)).map(S=>a.jsx(Rl,{material:S,onClick:()=>O(S)},S.id))})},"basic"),a.jsx(ft,{header:"设备图标",children:a.jsx("div",{className:"grid grid-cols-4 gap-2",children:l.filter(S=>["阀门","泵","罐体"].includes(S.name)||S.type==="IMAGE"&&!["矩形","圆形","圆角矩形"].includes(S.name)).map(S=>a.jsx(Rl,{material:S,onClick:()=>O(S)},S.id))})},"device"),a.jsx(ft,{header:"文本",children:a.jsx("div",{className:"grid grid-cols-4 gap-2",children:l.filter(S=>S.type==="TEXT").map(S=>a.jsxs("div",{className:"border rounded-lg p-2 cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition-all text-center",onClick:()=>O(S),children:[a.jsx("div",{className:"w-12 h-12 mx-auto mb-1 flex items-center justify-center bg-gray-100 rounded",children:a.jsx("span",{className:"text-lg font-bold text-gray-500",children:"T"})}),a.jsx("span",{className:"text-xs",children:S.name})]},S.id))})},"text"),a.jsx(ft,{header:"线条",children:a.jsx("div",{className:"grid grid-cols-4 gap-2",children:l.filter(S=>S.type==="LINE").map(S=>a.jsxs("div",{className:"border rounded-lg p-2 cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition-all text-center",onClick:()=>O(S),children:[a.jsx("div",{className:"w-12 h-12 mx-auto mb-1 flex items-center justify-center bg-gray-100 rounded",children:a.jsx("div",{className:"w-8 h-0.5 bg-gray-400"})}),a.jsx("span",{className:"text-xs",children:S.name})]},S.id))})},"line")]})})})]}):a.jsx("div",{className:"h-full flex items-center justify-center bg-white border-l border-gray-200",children:a.jsx(m.Empty,{description:"请选择一个节点"})})},Rl=({material:e,onClick:t})=>{const n=e.type==="IMAGE"?e.src:void 0;return a.jsxs("div",{className:"border rounded-lg p-2 cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition-all text-center",onClick:t,children:[a.jsx("div",{className:"w-12 h-12 mx-auto mb-1 flex items-center justify-center",children:n?a.jsx("img",{src:n,alt:e.name,className:"w-10 h-10 object-contain"}):a.jsx("span",{className:"text-xs",children:e.name[0]})}),a.jsx("span",{className:"text-xs",children:e.name})]})},Hm={configEditor:"ConfigEditor-module__configEditor__dinNG"},ec=`{
9
+ +`)[s(1773)](`
10
+ `)),y=d[s(1846)]((h,g)=>h.concat(...g),[]);return[d,y]}return[[],[]]},[e]);return L[n(1027)](()=>{const s=n,u=t?.target??ia,d=t?.[s(1830)]??!0;if(e!==null){const y=m=>{const v=s;if(r[v(787)]=m.ctrlKey||m.metaKey||m[v(2064)]||m[v(1725)],(!r.current||r.current&&!d)&&fi(m))return!1;const M=ca(m[v(1368)],f);if(i[v(787)][v(447)](m[M]),aa(a,i.current,!1)){const w=m[v(626)]?.()?.[0]||m[v(819)],z=w?.[v(2173)]===v(1505)||w?.nodeName==="A";t[v(478)]!==!1&&(r[v(787)]||!z)&&m[v(478)](),o(!0)}},h=m=>{const v=s,p=ca(m[v(1368)],f);aa(a,i.current,!0)?(o(!1),i[v(787)].clear()):i.current[v(719)](m[p]),m.key==="Meta"&&i[v(787)][v(1370)](),r[v(787)]=!1},g=()=>{const m=s;i.current[m(1370)](),o(!1)};return u?.[s(2055)](s(1048),y),u?.[s(2055)](s(1457),h),window[s(2055)](s(1955),g),window.addEventListener(s(1818),g),()=>{const m=s;u?.[m(653)](m(1048),y),u?.[m(653)](m(1457),h),window[m(653)](m(1955),g),window[m(653)](m(1818),g)}}},[e,o]),x}function aa(e,t,n){const x=c;return e[x(1076)](o=>n||o[x(1028)]===t[x(2046)])[x(1448)](o=>o[x(1281)](r=>t[x(1432)](r)))}function ca(e,t){return t.includes(e)?"code":"key"}const G2=()=>{const e=c,t=Ne();return L[e(694)](()=>{const n=e;return{zoomIn:x=>{const o=_0x447e,{panZoom:r}=t[o(1556)]();return r?r[o(910)](1.2,x):Promise[o(1734)](!1)},zoomOut:x=>{const o=_0x447e,{panZoom:r}=t.getState();return r?r[o(910)](1/1.2,x):Promise.resolve(!1)},zoomTo:(x,o)=>{const r=_0x447e,{panZoom:i}=t[r(1556)]();return i?i.scaleTo(x,o):Promise[r(1734)](!1)},getZoom:()=>t[n(1556)]()[n(688)][2],setViewport:async(x,o)=>{const r=n,{transform:[i,a,f],panZoom:s}=t[r(1556)]();return s?(await s[r(1449)]({x:x.x??i,y:x.y??a,zoom:x[r(931)]??f},o),Promise.resolve(!0)):Promise[r(1734)](!1)},getViewport:()=>{const x=n,[o,r,i]=t[x(1556)]()[x(688)];return{x:o,y:r,zoom:i}},setCenter:async(x,o,r)=>{const i=n;return t.getState()[i(1742)](x,o,r)},fitBounds:async(x,o)=>{const r=n,{width:i,height:a,minZoom:f,maxZoom:s,panZoom:u}=t.getState(),d=Yx(x,i,a,f,s,o?.[r(1754)]??.1);return u?(await u.setViewport(d,{duration:o?.[r(1844)],ease:o?.ease,interpolate:o?.[r(948)]}),Promise[r(1734)](!0)):Promise[r(1734)](!1)},screenToFlowPosition:(x,o={})=>{const r=n,{transform:i,snapGrid:a,snapToGrid:f,domNode:s}=t[r(1556)]();if(!s)return x;const{x:u,y:d}=s.getBoundingClientRect(),y={x:x.x-u,y:x.y-d},h=o[r(953)]??a,g=o.snapToGrid??f;return Ht(y,i,g,h)},flowToScreenPosition:x=>{const o=n,{transform:r,domNode:i}=t.getState();if(!i)return x;const{x:a,y:f}=i[o(1761)](),s=Y0(x,r);return{x:s.x+a,y:s.y+f}}}},[])};function sa(e,t){const n=c,x=[],o=new Map,r=[];for(const i of e)if(i.type===n(447)){r[n(2049)](i);continue}else if(i[n(638)]===n(1741)||i[n(638)]===n(2164))o[n(1007)](i.id,[i]);else{const a=o[n(1446)](i.id);a?a[n(2049)](i):o[n(1007)](i.id,[i])}for(const i of t){const a=o[n(1446)](i.id);if(!a){x[n(2049)](i);continue}if(a[0].type===n(1741))continue;if(a[0][n(638)]===n(2164)){x[n(2049)]({...a[0][n(516)]});continue}const f={...i};for(const s of a)O2(s,f);x[n(2049)](f)}return r[n(1028)]&&r[n(1068)](i=>{const a=n;i[a(1261)]!==void 0?x[a(1658)](i[a(1261)],0,{...i[a(516)]}):x.push({...i[a(516)]})}),x}function O2(e,t){const n=c;switch(e[n(638)]){case n(521):{t[n(1518)]=e[n(1518)];break}case"position":{typeof e.position!==n(1269)&&(t.position=e[n(1400)]),typeof e[n(845)]<"u"&&(t[n(845)]=e.dragging);break}case n(524):{typeof e[n(524)]<"u"&&(t[n(1815)]={...e[n(524)]},e.setAttributes&&((e[n(566)]===!0||e[n(566)]===n(502))&&(t[n(502)]=e[n(524)].width),(e.setAttributes===!0||e[n(566)]===n(1201))&&(t[n(1201)]=e.dimensions.height))),typeof e[n(2155)]===n(894)&&(t[n(2155)]=e.resizing);break}}}function la(e,t){return sa(e,t)}function da(e,t){return sa(e,t)}function Gn(e,t){return{id:e,type:"select",selected:t}}function st(e,t=new Set,n=!1){const x=c,o=[];for(const[r,i]of e){const a=t[x(1432)](r);!(i[x(1518)]===void 0&&!a)&&i.selected!==a&&(n&&(i[x(1518)]=a),o.push(Gn(i.id,a)))}return o}function ua({items:e=[],lookup:t}){const n=c,x=[],o=new Map(e[n(1001)](r=>[r.id,r]));for(const[r,i]of e.entries()){const a=t[n(1446)](i.id),f=a?.[n(2075)]?.[n(1572)]??a;f!==void 0&&f!==i&&x[n(2049)]({id:i.id,item:i,type:n(2164)}),f===void 0&&x[n(2049)]({item:i,type:n(447),index:r})}for(const[r]of t)o[n(1446)](r)===void 0&&x[n(2049)]({id:r,type:n(1741)});return x}function fa(e){const t=c;return{id:e.id,type:t(1741)}}const ga=e=>lf(e),H2=e=>ni(e);function ha(e){return L[c(1403)](e)}function ya(e){const t=c,[n,x]=L[t(1303)](BigInt(0)),[o]=L[t(1303)](()=>T2(()=>x(r=>r+BigInt(1))));return _x(()=>{const r=t,i=o[r(1446)]();i[r(1028)]&&(e(i),o[r(2107)]())},[n]),o}function T2(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t[_0x447e(2049)](n),e()}}}const ma=L[c(1003)](null);function V2({children:e}){const t=c,n=Ne(),x=L[t(1020)](f=>{const s=t,{nodes:u=[],setNodes:d,hasDefaultNodes:y,onNodesChange:h,nodeLookup:g,fitViewQueued:m,onNodesChangeMiddlewareMap:v}=n[s(1556)]();let p=u;for(const w of f)p=typeof w===s(940)?w(p):w;let M=ua({items:p,lookup:g});for(const w of v.values())M=w(M);y&&d(p),M[s(1028)]>0?h?.(M):m&&window[s(1627)](()=>{const w=s,{fitViewQueued:z,nodes:b,setNodes:k}=n[w(1556)]();z&&k(b)})},[]),o=ya(x),r=L.useCallback(f=>{const{edges:s=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:y,edgeLookup:h}=n.getState();let g=s;for(const m of f)g=typeof m=="function"?m(g):m;d?u(g):y&&y(ua({items:g,lookup:h}))},[]),i=ya(r),a=L.useMemo(()=>({nodeQueue:o,edgeQueue:i}),[]);return l[t(1970)](ma[t(1498)],{value:a,children:e})}function q2(){const e=c,t=L[e(939)](ma);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}const W2=e=>!!e[c(853)];function Qx(){const e=c,t=G2(),n=Ne(),x=q2(),o=Ce(W2),r=L[e(694)](()=>{const i=e,a=h=>n[i(1556)]()[i(828)].get(h),f=h=>{const g=i;x.nodeQueue[g(2049)](h)},s=h=>{const g=i;x.edgeQueue[g(2049)](h)},u=h=>{const g=i,{nodeLookup:m,nodeOrigin:v}=n[g(1556)](),p=ga(h)?h:m[g(1446)](h.id),M=p[g(2060)]?li(p[g(1400)],p[g(1815)],p.parentId,m,v):p[g(1400)],w={...p,position:M,width:p[g(1815)]?.[g(502)]??p.width,height:p[g(1815)]?.[g(1201)]??p[g(1201)]};return ot(w)},d=(h,g,m={replace:!1})=>{f(v=>v.map(p=>{const M=_0x447e;if(p.id===h){const w=typeof g=="function"?g(p):g;return m[M(2164)]&&ga(w)?w:{...p,...w}}return p}))},y=(h,g,m={replace:!1})=>{s(v=>v.map(p=>{const M=_0x447e;if(p.id===h){const w=typeof g===M(940)?g(p):g;return m.replace&&H2(w)?w:{...p,...w}}return p}))};return{getNodes:()=>n[i(1556)]()[i(1053)][i(1001)](h=>({...h})),getNode:h=>a(h)?.[i(2075)].userNode,getInternalNode:a,getEdges:()=>{const h=i,{edges:g=[]}=n[h(1556)]();return g[h(1001)](m=>({...m}))},getEdge:h=>n[i(1556)]().edgeLookup.get(h),setNodes:f,setEdges:s,addNodes:h=>{const g=i,m=Array[g(1098)](h)?h:[h];x[g(1975)].push(v=>[...v,...m])},addEdges:h=>{const g=i,m=Array.isArray(h)?h:[h];x[g(1167)][g(2049)](v=>[...v,...m])},toObject:()=>{const h=i,{nodes:g=[],edges:m=[],transform:v}=n[h(1556)](),[p,M,w]=v;return{nodes:g[h(1001)](z=>({...z})),edges:m[h(1001)](z=>({...z})),viewport:{x:p,y:M,zoom:w}}},deleteElements:async({nodes:h=[],edges:g=[]})=>{const m=i,{nodes:v,edges:p,onNodesDelete:M,onEdgesDelete:w,triggerNodeChanges:z,triggerEdgeChanges:b,onDelete:k,onBeforeDelete:G}=n.getState(),{nodes:E,edges:I}=await hf({nodesToRemove:h,edgesToRemove:g,nodes:v,edges:p,onBeforeDelete:G}),q=I[m(1028)]>0,F=E.length>0;if(q){const K=I[m(1001)](fa);w?.(I),b(K)}if(F){const K=E.map(fa);M?.(E),z(K)}return(F||q)&&k?.({nodes:E,edges:I}),{deletedNodes:E,deletedEdges:I}},getIntersectingNodes:(h,g=!0,m)=>{const v=i,p=ai(h),M=p?h:u(h),w=m!==void 0;return M?(m||n[v(1556)]()[v(1053)])[v(1076)](z=>{const b=v,k=n.getState()[b(828)][b(1446)](z.id);if(k&&!p&&(z.id===h.id||!k[b(2075)][b(2139)]))return!1;const G=ot(w?z:k),E=Gt(G,M);return g&&E>0||E>=G[b(502)]*G[b(1201)]||E>=M[b(502)]*M[b(1201)]}):[]},isNodeIntersecting:(h,g,m=!0)=>{const v=i,p=ai(h),M=p?h:u(h);if(!M)return!1;const w=Gt(M,g);return m&&w>0||w>=g[v(502)]*g[v(1201)]||w>=M[v(502)]*M[v(1201)]},updateNode:d,updateNodeData:(h,g,m={replace:!1})=>{d(h,v=>{const p=_0x447e,M=typeof g=="function"?g(v):g;return m[p(2164)]?{...v,data:M}:{...v,data:{...v[p(455)],...M}}},m)},updateEdge:y,updateEdgeData:(h,g,m={replace:!1})=>{y(h,v=>{const p=_0x447e,M=typeof g===p(940)?g(v):g;return m[p(2164)]?{...v,data:M}:{...v,data:{...v[p(455)],...M}}},m)},getNodesBounds:h=>{const g=i,{nodeLookup:m,nodeOrigin:v}=n[g(1556)]();return df(h,{nodeLookup:m,nodeOrigin:v})},getHandleConnections:({type:h,id:g,nodeId:m})=>Array[i(1486)](n[i(1556)]()[i(837)].get(m+"-"+h+(g?"-"+g:""))?.[i(642)]()??[]),getNodeConnections:({type:h,handleId:g,nodeId:m})=>Array[i(1486)](n[i(1556)]()[i(837)].get(""+m+(h?g?"-"+h+"-"+g:"-"+h:""))?.[i(642)]()??[]),fitView:async h=>{const g=i,m=n[g(1556)]().fitViewResolver??wf();return n[g(1880)]({fitViewQueued:!0,fitViewOptions:h,fitViewResolver:m}),x[g(1975)][g(2049)](v=>[...v]),m[g(1772)]}}},[]);return L[e(694)](()=>({...r,...t,viewportInitialized:o}),[o])}const wa=e=>e[c(1518)],X2=typeof window<"u"?window:void 0;function Z2({deleteKeyCode:e,multiSelectionKeyCode:t}){const n=Ne(),{deleteElements:x}=Qx(),o=qt(e,{actInsideInputWithModifier:!1}),r=qt(t,{target:X2});L.useEffect(()=>{const i=_0x447e;if(o){const{edges:a,nodes:f}=n[i(1556)]();x({nodes:f[i(1076)](wa),edges:a[i(1076)](wa)}),n[i(1880)]({nodesSelectionActive:!1})}},[o]),L.useEffect(()=>{n.setState({multiSelectionActive:r})},[r])}function K2(e){const t=c,n=Ne();L[t(1027)](()=>{const x=t,o=()=>{const r=_0x447e;if(!e[r(787)]||!(e[r(787)][r(1071)]?.()??!0))return!1;const i=Ax(e[r(787)]);(i[r(1201)]===0||i[r(502)]===0)&&n.getState()[r(1133)]?.(r(1190),We.error004()),n[r(1880)]({width:i[r(502)]||500,height:i[r(1201)]||500})};if(e[x(787)]){o(),window[x(2055)](x(609),o);const r=new ResizeObserver(()=>o());return r[x(1541)](e[x(787)]),()=>{const i=x;window[i(653)](i(609),o),r&&e.current&&r[i(913)](e[i(787)])}}},[])}const T0={position:c(1386),width:c(697),height:"100%",top:0,left:0},R2=e=>({userSelectionActive:e[c(468)],lib:e.lib,connectionInProgress:e[c(656)][c(1956)]});function J2({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:x=!1,panOnScrollSpeed:o=.5,panOnScrollMode:r=En[c(1104)],zoomOnDoubleClick:i=!0,panOnDrag:a=!0,defaultViewport:f,translateExtent:s,minZoom:u,maxZoom:d,zoomActivationKeyCode:y,preventScrolling:h=!0,children:g,noWheelClassName:m,noPanClassName:v,onViewportChange:p,isControlledViewport:M,paneClickDistance:w,selectionOnDrag:z}){const b=c,k=Ne(),G=L[b(1713)](null),{userSelectionActive:E,lib:I,connectionInProgress:q}=Ce(R2,Le),F=qt(y),K=L.useRef();K2(G);const W=L[b(1020)](V=>{const N=b;p?.({x:V[0],y:V[1],zoom:V[2]}),!M&&k[N(1880)]({transform:V})},[p,M]);return L[b(1027)](()=>{const V=b;if(G[V(787)]){K[V(787)]=e2({domNode:G[V(787)],minZoom:u,maxZoom:d,translateExtent:s,viewport:f,onDraggingChange:A=>k[V(1880)](P=>P[V(1169)]===A?P:{paneDragging:A}),onPanZoomStart:(A,P)=>{const Y=V,{onViewportChangeStart:Z,onMoveStart:J}=k[Y(1556)]();J?.(A,P),Z?.(P)},onPanZoom:(A,P)=>{const Y=V,{onViewportChange:Z,onMove:J}=k[Y(1556)]();J?.(A,P),Z?.(P)},onPanZoomEnd:(A,P)=>{const{onViewportChangeEnd:Y,onMoveEnd:Z}=k.getState();Z?.(A,P),Y?.(P)}});const{x:N,y:D,zoom:B}=K[V(787)][V(2040)]();return k[V(1880)]({panZoom:K[V(787)],transform:[N,D,B],domNode:G[V(787)][V(1132)](V(2125))}),()=>{const A=V;K.current?.[A(1262)]()}}},[]),L[b(1027)](()=>{const V=b;K.current?.[V(943)]({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:x,panOnScrollSpeed:o,panOnScrollMode:r,zoomOnDoubleClick:i,panOnDrag:a,zoomActivationKeyPressed:F,preventScrolling:h,noPanClassName:v,userSelectionActive:E,noWheelClassName:m,lib:I,onTransformChange:W,connectionInProgress:q,selectionOnDrag:z,paneClickDistance:w})},[e,t,n,x,o,r,i,a,F,h,v,E,m,I,W,q,z,w]),l[b(1970)](b(1331),{className:b(1289),ref:G,style:T0,children:g})}const _2=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e[c(1157)]});function Q2(){const e=c,{userSelectionActive:t,userSelectionRect:n}=Ce(_2,Le);return t&&n?l[e(1970)]("div",{className:e(2014),style:{width:n[e(502)],height:n[e(1201)],transform:e(1595)+n.x+"px, "+n.y+e(1728)}}):null}const Fx=(e,t)=>n=>{n[_0x447e(819)]===t.current&&e?.(n)},F2=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e[c(1910)],connectionInProgress:e[c(656)][c(1956)],dragging:e[c(1169)]});function $2({isSelecting:e,selectionKeyPressed:t,selectionMode:n=Et.Full,panOnDrag:x,paneClickDistance:o,selectionOnDrag:r,onSelectionStart:i,onSelectionEnd:a,onPaneClick:f,onPaneContextMenu:s,onPaneScroll:u,onPaneMouseEnter:d,onPaneMouseMove:y,onPaneMouseLeave:h,children:g}){const m=c,v=Ne(),{userSelectionActive:p,elementsSelectable:M,dragging:w,connectionInProgress:z}=Ce(F2,Le),b=M&&(e||p),k=L[m(1713)](null),G=L[m(1713)](),E=L[m(1713)](new Set),I=L[m(1713)](new Set),q=L[m(1713)](!1),F=P=>{const Y=m;if(q[Y(787)]||z){q.current=!1;return}f?.(P),v[Y(1556)]()[Y(558)](),v.setState({nodesSelectionActive:!1})},K=P=>{const Y=m;if(Array[Y(1098)](x)&&x?.[Y(1931)](2)){P[Y(478)]();return}s?.(P)},W=u?P=>u(P):void 0,V=P=>{const Y=m;q[Y(787)]&&(P[Y(471)](),q[Y(787)]=!1)},N=P=>{const Y=m,{domNode:Z}=v[Y(1556)]();if(G[Y(787)]=Z?.[Y(1761)](),!G[Y(787)])return;const J=P[Y(819)]===k[Y(787)];if(!J&&!!P[Y(819)][Y(1132)](".nokey")||!e||!(r&&J||t)||P.button!==0||!P.isPrimary)return;P.target?.[Y(692)]?.(P.pointerId),q[Y(787)]=!1;const{x:R,y:re}=$e(P[Y(1636)],G[Y(787)]);v[Y(1880)]({userSelectionRect:{width:0,height:0,startX:R,startY:re,x:R,y:re}}),!J&&(P[Y(471)](),P[Y(478)]())},D=P=>{const Y=m,{userSelectionRect:Z,transform:J,nodeLookup:X,edgeLookup:Q,connectionLookup:R,triggerNodeChanges:re,triggerEdgeChanges:ee,defaultEdgeOptions:ae,resetSelectedElements:ie}=v[Y(1556)]();if(!G[Y(787)]||!Z)return;const{x:S,y:j}=$e(P[Y(1636)],G.current),{startX:_,startY:H}=Z;if(!q[Y(787)]){const ce=t?0:o;if(Math[Y(2110)](S-_,j-H)<=ce)return;ie(),i?.(P)}q[Y(787)]=!0;const O={startX:_,startY:H,x:S<_?S:_,y:j<H?j:H,width:Math[Y(781)](S-_),height:Math[Y(781)](j-H)},ne=E[Y(787)],de=I.current;E.current=new Set(kx(X,O,J,n===Et[Y(442)],!0)[Y(1001)](ce=>ce.id)),I[Y(787)]=new Set;const ye=ae?.[Y(1545)]??!0;for(const ce of E[Y(787)]){const ge=R[Y(1446)](ce);if(ge)for(const{edgeId:be}of ge[Y(642)]()){const he=Q[Y(1446)](be);he&&(he[Y(1545)]??ye)&&I[Y(787)][Y(447)](be)}}if(!di(ne,E[Y(787)])){const ce=st(X,E.current,!0);re(ce)}if(!di(de,I.current)){const ce=st(Q,I.current);ee(ce)}v[Y(1880)]({userSelectionRect:O,userSelectionActive:!0,nodesSelectionActive:!1})},B=P=>{const Y=m;P[Y(2070)]===0&&(P.target?.[Y(1805)]?.(P[Y(645)]),!p&&P.target===k[Y(787)]&&v.getState()[Y(1157)]&&F?.(P),v[Y(1880)]({userSelectionActive:!1,userSelectionRect:null}),q[Y(787)]&&(a?.(P),v[Y(1880)]({nodesSelectionActive:E[Y(787)][Y(2046)]>0})))},A=x===!0||Array.isArray(x)&&x[m(1931)](0);return l[m(557)]("div",{className:Pe([m(1182),{draggable:A,dragging:w,selection:e}]),onClick:b?void 0:Fx(F,k),onContextMenu:Fx(K,k),onWheel:Fx(W,k),onPointerEnter:b?void 0:d,onPointerMove:b?D:y,onPointerUp:b?B:void 0,onPointerDownCapture:b?N:void 0,onClickCapture:b?V:void 0,onPointerLeave:h,ref:k,style:T0,children:[g,l[m(1970)](Q2,{})]})}function $x({id:e,store:t,unselect:n=!1,nodeRef:x}){const o=c,{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:f,onError:s}=t.getState(),u=f[o(1446)](e);if(!u){s?.(o(825),We.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&a)&&(i({nodes:[u],edges:[]}),requestAnimationFrame(()=>x?.[o(787)]?.[o(1955)]())):r([e])}function va({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:x,nodeId:o,isSelectable:r,nodeClickDistance:i}){const a=c,f=Ne(),[s,u]=L[a(1303)](!1),d=L[a(1713)]();return L[a(1027)](()=>{const y=a;d[y(787)]=Hf({getStoreItems:()=>f.getState(),onNodeMouseDown:h=>{$x({id:h,store:f,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),L[a(1027)](()=>{const y=a;if(!(t||!e[y(787)]||!d[y(787)]))return d[y(787)][y(943)]({noDragClassName:n,handleSelector:x,domNode:e[y(787)],isSelectable:r,nodeId:o,nodeClickDistance:i}),()=>{const h=y;d.current?.[h(1262)]()}},[n,x,t,r,e,o,i]),s}const e5=e=>t=>t[c(1518)]&&(t.draggable||e&&typeof t[c(460)]===c(1269));function pa(){const e=Ne();return L.useCallback(n=>{const x=_0x447e,{nodeExtent:o,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:f,updateNodePositions:s,nodeLookup:u,nodeOrigin:d}=e[x(1556)](),y=new Map,h=e5(a),g=r?i[0]:5,m=r?i[1]:5,v=n.direction.x*g*n[x(1444)],p=n.direction.y*m*n[x(1444)];for(const[,M]of u){if(!h(M))continue;let w={x:M.internals[x(2139)].x+v,y:M.internals[x(2139)].y+p};r&&(w=Ot(w,i));const{position:z,positionAbsolute:b}=ti({nodeId:M.id,nextPosition:w,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:f});M[x(1400)]=z,M[x(2075)].positionAbsolute=b,y[x(1007)](M.id,M)}s(y)},[])}const eo=L[c(1003)](null),n5=eo[c(1498)];eo[c(2074)];const ba=()=>L[c(939)](eo),t5=e=>({connectOnClick:e[c(902)],noPanClassName:e[c(1871)],rfId:e[c(1932)]}),x5=(e,t,n)=>x=>{const o=c,{connectionClickStartHandle:r,connectionMode:i,connection:a}=x,{fromHandle:f,toHandle:s,isValid:u}=a,d=s?.[o(1382)]===e&&s?.id===t&&s?.[o(638)]===n;return{connectingFrom:f?.[o(1382)]===e&&f?.id===t&&f?.[o(638)]===n,connectingTo:d,clickConnecting:r?.[o(1382)]===e&&r?.id===t&&r?.[o(638)]===n,isPossibleEndHandle:i===tt[o(552)]?f?.[o(638)]!==n:e!==f?.[o(1382)]||t!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!r,valid:d&&u}};function o5({type:e=c(1513),position:t=ue[c(998)],isValidConnection:n,isConnectable:x=!0,isConnectableStart:o=!0,isConnectableEnd:r=!0,id:i,onConnect:a,children:f,className:s,onMouseDown:u,onTouchStart:d,...y},h){const g=c,m=i||null,v=e===g(819),p=Ne(),M=ba(),{connectOnClick:w,noPanClassName:z,rfId:b}=Ce(t5,Le),{connectingFrom:k,connectingTo:G,clickConnecting:E,isPossibleEndHandle:I,connectionInProcess:q,clickConnectionInProcess:F,valid:K}=Ce(x5(M,m,e),Le);!M&&p.getState()[g(1133)]?.(g(2013),We[g(1008)]());const W=D=>{const B=g,{defaultEdgeOptions:A,onConnect:P,hasDefaultEdges:Y}=p[B(1556)](),Z={...A,...D};if(Y){const{edges:J,setEdges:X}=p[B(1556)]();X(pi(Z,J))}P?.(Z),a?.(Z)},V=D=>{const B=g;if(!M)return;const A=gi(D[B(1636)]);if(o&&(A&&D[B(2070)]===0||!A)){const P=p.getState();qx[B(1030)](D[B(1636)],{handleDomNode:D[B(850)],autoPanOnConnect:P[B(1056)],connectionMode:P[B(790)],connectionRadius:P[B(846)],domNode:P[B(1136)],nodeLookup:P[B(828)],lib:P[B(1284)],isTarget:v,handleId:m,nodeId:M,flowId:P.rfId,panBy:P[B(1963)],cancelConnection:P[B(1615)],onConnectStart:P[B(1426)],onConnectEnd:(...Y)=>p[B(1556)]()[B(1682)]?.(...Y),updateConnection:P[B(589)],onConnect:W,isValidConnection:n||((...Y)=>p[B(1556)]()[B(1120)]?.(...Y)??!0),getTransform:()=>p.getState().transform,getFromHandle:()=>p[B(1556)]()[B(656)][B(1850)],autoPanSpeed:P.autoPanSpeed,dragThreshold:P[B(1776)]})}A?u?.(D):d?.(D)},N=D=>{const B=g,{onClickConnectStart:A,onClickConnectEnd:P,connectionClickStartHandle:Y,connectionMode:Z,isValidConnection:J,lib:X,rfId:Q,nodeLookup:R,connection:re}=p[B(1556)]();if(!M||!Y&&!o)return;if(!Y){A?.(D[B(1636)],{nodeId:M,handleId:m,handleType:e}),p[B(1880)]({connectionClickStartHandle:{nodeId:M,type:e,id:m}});return}const ee=ui(D[B(819)]),ae=n||J,{connection:ie,isValid:S}=qx[B(1916)](D[B(1636)],{handle:{nodeId:M,id:m,type:e},connectionMode:Z,fromNodeId:Y.nodeId,fromHandleId:Y.id||null,fromType:Y[B(638)],isValidConnection:ae,flowId:Q,doc:ee,lib:X,nodeLookup:R});S&&ie&&W(ie);const j=structuredClone(re);delete j[B(1956)],j[B(1481)]=j[B(1111)]?j[B(1111)][B(1400)]:null,P?.(D,j),p[B(1880)]({connectionClickStartHandle:null})};return l[g(1970)]("div",{"data-handleid":m,"data-nodeid":M,"data-handlepos":t,"data-id":b+"-"+M+"-"+m+"-"+e,className:Pe([g(1100),"react-flow__handle-"+t,g(725),z,s,{source:!v,target:v,connectable:x,connectablestart:o,connectableend:r,clickconnecting:E,connectingfrom:k,connectingto:G,valid:K,connectionindicator:x&&(!q||I)&&(q||F?r:o)}]),onMouseDown:V,onTouchStart:V,onClick:w?N:void 0,ref:h,...y,children:f})}const lt=L.memo(ha(o5));function r5({data:e,isConnectable:t,sourcePosition:n=ue[c(1381)]}){const x=c;return l[x(557)](l.Fragment,{children:[e?.[x(967)],l.jsx(lt,{type:x(1513),position:n,isConnectable:t})]})}function i5({data:e,isConnectable:t,targetPosition:n=ue[c(998)],sourcePosition:x=ue[c(1381)]}){const o=c;return l[o(557)](l[o(514)],{children:[l.jsx(lt,{type:o(819),position:n,isConnectable:t}),e?.label,l[o(1970)](lt,{type:"source",position:x,isConnectable:t})]})}function a5(){return null}function c5({data:e,isConnectable:t,targetPosition:n=ue[c(998)]}){const x=c;return l[x(557)](l[x(514)],{children:[l.jsx(lt,{type:x(819),position:n,isConnectable:t}),e?.[x(967)]]})}const V0={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},za={input:r5,default:i5,output:c5,group:a5};function s5(e){const t=c;return e.internals[t(2111)]===void 0?{width:e[t(502)]??e.initialWidth??e[t(803)]?.[t(502)],height:e.height??e[t(831)]??e[t(803)]?.height}:{width:e[t(502)]??e[t(803)]?.[t(502)],height:e[t(1201)]??e[t(803)]?.height}}const l5=e=>{const t=c,{width:n,height:x,x:o,y:r}=Ut(e[t(828)],{filter:i=>!!i[t(1518)]});return{width:Fe(n)?n:null,height:Fe(x)?x:null,userSelectionActive:e[t(468)],transformString:t(1595)+e[t(688)][0]+t(1460)+e[t(688)][1]+t(979)+e[t(688)][2]+t(1260)+o+t(1460)+r+t(1728)}};function d5({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){const x=c,o=Ne(),{width:r,height:i,transformString:a,userSelectionActive:f}=Ce(l5,Le),s=pa(),u=L[x(1713)](null);L[x(1027)](()=>{const g=x;!n&&u.current?.[g(1670)]({preventScroll:!0})},[n]);const d=!f&&r!==null&&i!==null;if(va({nodeRef:u,disabled:!d}),!d)return null;const y=e?g=>{const m=x,v=o[m(1556)]()[m(1053)][m(1076)](p=>p.selected);e(g,v)}:void 0,h=g=>{const m=x;Object[m(1347)][m(1337)][m(1036)](V0,g.key)&&(g[m(478)](),s({direction:V0[g.key],factor:g[m(2064)]?4:1}))};return l[x(1970)](x(1331),{className:Pe([x(2031),x(1312),t]),style:{transform:a},children:l.jsx(x(1331),{ref:u,className:x(1544),onContextMenu:y,tabIndex:n?void 0:-1,onKeyDown:n?void 0:h,style:{width:r,height:i}})})}const Ca=typeof window!==c(1269)?window:void 0,u5=e=>{const t=c;return{nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e[t(468)]}};function Ma({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:x,onPaneMouseLeave:o,onPaneContextMenu:r,onPaneScroll:i,paneClickDistance:a,deleteKeyCode:f,selectionKeyCode:s,selectionOnDrag:u,selectionMode:d,onSelectionStart:y,onSelectionEnd:h,multiSelectionKeyCode:g,panActivationKeyCode:m,zoomActivationKeyCode:v,elementsSelectable:p,zoomOnScroll:M,zoomOnPinch:w,panOnScroll:z,panOnScrollSpeed:b,panOnScrollMode:k,zoomOnDoubleClick:G,panOnDrag:E,defaultViewport:I,translateExtent:q,minZoom:F,maxZoom:K,preventScrolling:W,onSelectionContextMenu:V,noWheelClassName:N,noPanClassName:D,disableKeyboardA11y:B,onViewportChange:A,isControlledViewport:P}){const Y=c,{nodesSelectionActive:Z,userSelectionActive:J}=Ce(u5,Le),X=qt(s,{target:Ca}),Q=qt(m,{target:Ca}),R=Q||E,re=Q||z,ee=u&&R!==!0,ae=X||J||ee;return Z2({deleteKeyCode:f,multiSelectionKeyCode:g}),l.jsx(J2,{onPaneContextMenu:r,elementsSelectable:p,zoomOnScroll:M,zoomOnPinch:w,panOnScroll:re,panOnScrollSpeed:b,panOnScrollMode:k,zoomOnDoubleClick:G,panOnDrag:!X&&R,defaultViewport:I,translateExtent:q,minZoom:F,maxZoom:K,zoomActivationKeyCode:v,preventScrolling:W,noWheelClassName:N,noPanClassName:D,onViewportChange:A,isControlledViewport:P,paneClickDistance:a,selectionOnDrag:ee,children:l[Y(557)]($2,{onSelectionStart:y,onSelectionEnd:h,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:x,onPaneMouseLeave:o,onPaneContextMenu:r,onPaneScroll:i,panOnDrag:R,isSelecting:!!ae,selectionMode:d,selectionKeyPressed:X,paneClickDistance:a,selectionOnDrag:ee,children:[e,Z&&l[Y(1970)](d5,{onSelectionContextMenu:V,noPanClassName:D,disableKeyboardA11y:B})]})})}Ma[c(871)]=c(2008);const f5=L.memo(Ma),g5=e=>t=>{const n=c;return e?kx(t.nodeLookup,{x:0,y:0,width:t[n(502)],height:t[n(1201)]},t[n(688)],!0)[n(1001)](x=>x.id):Array[n(1486)](t[n(828)][n(1648)]())};function h5(e){return Ce(L[c(1020)](g5(e),[e]),Le)}const y5=e=>e[c(1442)];function m5(){const e=c,t=Ce(y5),[n]=L.useState(()=>{const x=_0x447e;return typeof ResizeObserver===x(1269)?null:new ResizeObserver(o=>{const r=x,i=new Map;o[r(1068)](a=>{const f=r,s=a.target.getAttribute(f(923));i.set(s,{id:s,nodeElement:a[f(819)],force:!0})}),t(i)})});return L[e(1027)](()=>()=>{n?.[_0x447e(1188)]()},[n]),n}function w5({node:e,nodeType:t,hasDimensions:n,resizeObserver:x}){const o=c,r=Ne(),i=L[o(1713)](null),a=L[o(1713)](null),f=L.useRef(e.sourcePosition),s=L[o(1713)](e.targetPosition),u=L[o(1713)](t),d=n&&!!e.internals[o(2111)];return L[o(1027)](()=>{const y=o;i[y(787)]&&!e[y(1231)]&&(!d||a.current!==i.current)&&(a.current&&x?.unobserve(a[y(787)]),x?.observe(i[y(787)]),a[y(787)]=i[y(787)])},[d,e[o(1231)]]),L.useEffect(()=>()=>{const y=_0x447e;a.current&&(x?.unobserve(a[y(787)]),a[y(787)]=null)},[]),L[o(1027)](()=>{const y=o;if(i[y(787)]){const h=u.current!==t,g=f[y(787)]!==e[y(1883)],m=s[y(787)]!==e[y(782)];(h||g||m)&&(u[y(787)]=t,f[y(787)]=e[y(1883)],s.current=e[y(782)],r[y(1556)]()[y(1442)](new Map([[e.id,{id:e.id,nodeElement:i[y(787)],force:!0}]])))}},[e.id,t,e.sourcePosition,e[o(782)]]),i}function v5({id:e,onClick:t,onMouseEnter:n,onMouseMove:x,onMouseLeave:o,onContextMenu:r,onDoubleClick:i,nodesDraggable:a,elementsSelectable:f,nodesConnectable:s,nodesFocusable:u,resizeObserver:d,noDragClassName:y,noPanClassName:h,disableKeyboardA11y:g,rfId:m,nodeTypes:v,nodeClickDistance:p,onError:M}){const w=c,{node:z,internals:b,isParent:k}=Ce(ie=>{const S=_0x447e,j=ie.nodeLookup[S(1446)](e),_=ie[S(1581)].has(e);return{node:j,internals:j[S(2075)],isParent:_}},Le);let G=z.type||w(1138),E=v?.[G]||za[G];E===void 0&&(M?.(w(2095),We[w(1601)](G)),G="default",E=v?.[w(1138)]||za.default);const I=!!(z[w(460)]||a&&typeof z.draggable===w(1269)),q=!!(z[w(1545)]||f&&typeof z.selectable===w(1269)),F=!!(z[w(2160)]||s&&typeof z[w(2160)]===w(1269)),K=!!(z.focusable||u&&typeof z[w(805)]>"u"),W=Ne(),V=si(z),N=w5({node:z,nodeType:G,hasDimensions:V,resizeObserver:d}),D=va({nodeRef:N,disabled:z[w(1231)]||!I,noDragClassName:y,handleSelector:z[w(1117)],nodeId:e,isSelectable:q,nodeClickDistance:p}),B=pa();if(z[w(1231)])return null;const A=un(z),P=s5(z),Y=q||I||t||n||x||o,Z=n?ie=>n(ie,{...b.userNode}):void 0,J=x?ie=>x(ie,{...b[w(1572)]}):void 0,X=o?ie=>o(ie,{...b[w(1572)]}):void 0,Q=r?ie=>r(ie,{...b[w(1572)]}):void 0,R=i?ie=>i(ie,{...b.userNode}):void 0,re=ie=>{const S=w,{selectNodesOnDrag:j,nodeDragThreshold:_}=W[S(1556)]();q&&(!j||!I||_>0)&&$x({id:e,store:W,nodeRef:N}),t&&t(ie,{...b[S(1572)]})},ee=ie=>{const S=w;if(!(fi(ie[S(1636)])||g)){if(_r[S(1931)](ie[S(1101)])&&q){const j=ie[S(1101)]===S(1517);$x({id:e,store:W,unselect:j,nodeRef:N})}else if(I&&z[S(1518)]&&Object.prototype.hasOwnProperty[S(1036)](V0,ie[S(1101)])){ie[S(478)]();const{ariaLabelConfig:j}=W[S(1556)]();W[S(1880)]({ariaLiveMessage:j[S(683)]({direction:ie[S(1101)][S(2164)]("Arrow","")[S(1297)](),x:~~b[S(2139)].x,y:~~b[S(2139)].y})}),B({direction:V0[ie[S(1101)]],factor:ie[S(2064)]?4:1})}}},ae=()=>{const ie=w;if(g||!N[ie(787)]?.[ie(1409)](":focus-visible"))return;const{transform:S,width:j,height:_,autoPanOnNodeFocus:H,setCenter:O}=W[ie(1556)]();if(!H)return;!(kx(new Map([[e,z]]),{x:0,y:0,width:j,height:_},S,!0)[ie(1028)]>0)&&O(z.position.x+A.width/2,z[ie(1400)].y+A[ie(1201)]/2,{zoom:S[2]})};return l.jsx("div",{className:Pe([w(1024),w(2071)+G,{[h]:I},z[w(1391)],{selected:z[w(1518)],selectable:q,parent:k,draggable:I,dragging:D}]),ref:N,style:{zIndex:b.z,transform:w(1595)+b[w(2139)].x+w(1460)+b[w(2139)].y+w(1728),pointerEvents:w(Y?886:2039),visibility:w(V?849:1231),...z.style,...P},"data-id":e,"data-testid":w(1972)+e,onMouseEnter:Z,onMouseMove:J,onMouseLeave:X,onContextMenu:Q,onClick:re,onDoubleClick:R,onKeyDown:K?ee:void 0,tabIndex:K?0:void 0,onFocus:K?ae:void 0,role:z[w(1156)]??(K?w(1283):void 0),"aria-roledescription":w(1656),"aria-describedby":g?void 0:ea+"-"+m,"aria-label":z[w(1941)],...z[w(1530)],children:l[w(1970)](n5,{value:e,children:l[w(1970)](E,{id:e,data:z[w(455)],type:G,positionAbsoluteX:b[w(2139)].x,positionAbsoluteY:b.positionAbsolute.y,selected:z.selected??!1,selectable:q,draggable:I,deletable:z[w(1399)]??!0,isConnectable:F,sourcePosition:z[w(1883)],targetPosition:z[w(782)],dragging:D,dragHandle:z[w(1117)],zIndex:b.z,parentId:z[w(2060)],...A})})})}var p5=L.memo(v5);const b5=e=>({nodesDraggable:e[c(2127)],nodesConnectable:e[c(1659)],nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Ba(e){const t=c,{nodesDraggable:n,nodesConnectable:x,nodesFocusable:o,elementsSelectable:r,onError:i}=Ce(b5,Le),a=h5(e[t(1620)]),f=m5();return l.jsx(t(1331),{className:t(964),style:T0,children:a.map(s=>{const u=t;return l[u(1970)](p5,{id:s,nodeTypes:e[u(1466)],nodeExtent:e.nodeExtent,onClick:e[u(873)],onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e[u(1304)],onDoubleClick:e[u(704)],noDragClassName:e[u(1794)],noPanClassName:e[u(1871)],rfId:e[u(1932)],disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:n,nodesConnectable:x,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:e[u(969)],onError:i},s)})})}Ba.displayName="NodeRenderer";const z5=L[c(619)](Ba);function C5(e){return Ce(L.useCallback(n=>{const x=_0x447e;if(!e)return n.edges[x(1001)](r=>r.id);const o=[];if(n.width&&n[x(1201)])for(const r of n[x(1891)]){const i=n.nodeLookup[x(1446)](r.source),a=n[x(828)].get(r[x(819)]);i&&a&&zf({sourceNode:i,targetNode:a,width:n[x(502)],height:n.height,transform:n[x(688)]})&&o[x(2049)](r.id)}return o},[e]),Le)}const M5=({color:e="none",strokeWidth:t=1})=>{const n=c,x={strokeWidth:t,...e&&{stroke:e}};return l[n(1970)](n(2067),{className:n(1467),style:x,strokeLinecap:n(681),fill:"none",strokeLinejoin:n(681),points:n(1764)})},B5=({color:e=c(2039),strokeWidth:t=1})=>{const n=c,x={strokeWidth:t,...e&&{stroke:e,fill:e}};return l[n(1970)](n(2067),{className:n(1404),style:x,strokeLinecap:n(681),strokeLinejoin:"round",points:n(779)})},Da={[N0.Arrow]:M5,[N0[c(639)]]:B5};function D5(e){const t=c,n=Ne();return L[t(694)](()=>{const o=t;return Object[o(1347)].hasOwnProperty.call(Da,e)?Da[e]:(n[o(1556)]()[o(1133)]?.(o(556),We[o(525)](e)),null)},[e])}const L5=({id:e,type:t,color:n,width:x=12.5,height:o=12.5,markerUnits:r="strokeWidth",strokeWidth:i,orient:a=c(1243)})=>{const f=c,s=D5(t);return s?l.jsx("marker",{className:f(1387),id:e,markerWidth:""+x,markerHeight:""+o,viewBox:f(1212),markerUnits:r,orient:a,refX:"0",refY:"0",children:l[f(1970)](s,{color:n,strokeWidth:i})}):null},La=({defaultColor:e,rfId:t})=>{const n=c,x=Ce(i=>i[n(1891)]),o=Ce(i=>i[n(2076)]),r=L.useMemo(()=>{const i=n;return Sf(x,{id:t,defaultColor:e,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.[i(1300)]})},[x,o,t,e]);return r[n(1028)]?l[n(1970)](n(1996),{className:"react-flow__marker","aria-hidden":n(898),children:l[n(1970)](n(1487),{children:r.map(i=>l.jsx(L5,{id:i.id,type:i.type,color:i[n(765)],width:i.width,height:i[n(1201)],markerUnits:i[n(583)],strokeWidth:i[n(1478)],orient:i.orient},i.id))})}):null};La[c(871)]="MarkerDefinitions";var N5=L[c(619)](La);function Na({x:e,y:t,label:n,labelStyle:x,labelShowBg:o=!0,labelBgStyle:r,labelBgPadding:i=[2,4],labelBgBorderRadius:a=2,children:f,className:s,...u}){const d=c,[y,h]=L[d(1303)]({x:1,y:0,width:0,height:0}),g=Pe([d(1546),s]),m=L[d(1713)](null);return L[d(1027)](()=>{const v=d;if(m[v(787)]){const p=m[v(787)].getBBox();h({x:p.x,y:p.y,width:p[v(502)],height:p[v(1201)]})}},[n]),n?l.jsxs("g",{transform:"translate("+(e-y[d(502)]/2)+" "+(t-y[d(1201)]/2)+")",className:g,visibility:y.width?d(849):"hidden",...u,children:[o&&l[d(1970)]("rect",{width:y.width+2*i[0],x:-i[0],y:-i[1],height:y[d(1201)]+2*i[1],className:d(1663),style:r,rx:a,ry:a}),l[d(1970)](d(1527),{className:d(605),y:y[d(1201)]/2,dy:"0.3em",ref:m,style:x,children:n}),f]}):null}Na[c(871)]="EdgeText";const S5=L.memo(Na);function q0({path:e,labelX:t,labelY:n,label:x,labelStyle:o,labelShowBg:r,labelBgStyle:i,labelBgPadding:a,labelBgBorderRadius:f,interactionWidth:s=20,...u}){const d=c;return l[d(557)](l[d(514)],{children:[l[d(1970)](d(2108),{...u,d:e,fill:"none",className:Pe(["react-flow__edge-path",u[d(1391)]])}),s?l[d(1970)](d(2108),{d:e,fill:"none",strokeOpacity:0,strokeWidth:s,className:d(594)}):null,x&&Fe(t)&&Fe(n)?l[d(1970)](S5,{x:t,y:n,label:x,labelStyle:o,labelShowBg:r,labelBgStyle:i,labelBgPadding:a,labelBgBorderRadius:f}):null]})}function Sa({pos:e,x1:t,y1:n,x2:x,y2:o}){const r=c;return e===ue.Left||e===ue[r(1017)]?[.5*(t+x),n]:[t,.5*(n+o)]}function ka({sourceX:e,sourceY:t,sourcePosition:n=ue.Bottom,targetX:x,targetY:o,targetPosition:r=ue[c(998)]}){const[i,a]=Sa({pos:n,x1:e,y1:t,x2:x,y2:o}),[f,s]=Sa({pos:r,x1:x,y1:o,x2:e,y2:t}),[u,d,y,h]=yi({sourceX:e,sourceY:t,targetX:x,targetY:o,sourceControlX:i,sourceControlY:a,targetControlX:f,targetControlY:s});return["M"+e+","+t+" C"+i+","+a+" "+f+","+s+" "+x+","+o,u,d,y,h]}function Pa(e){const t=c;return L[t(619)](({id:n,sourceX:x,sourceY:o,targetX:r,targetY:i,sourcePosition:a,targetPosition:f,label:s,labelStyle:u,labelShowBg:d,labelBgStyle:y,labelBgPadding:h,labelBgBorderRadius:g,style:m,markerEnd:v,markerStart:p,interactionWidth:M})=>{const w=t,[z,b,k]=ka({sourceX:x,sourceY:o,sourcePosition:a,targetX:r,targetY:i,targetPosition:f}),G=e[w(985)]?void 0:n;return l[w(1970)](q0,{id:G,path:z,labelX:b,labelY:k,label:s,labelStyle:u,labelShowBg:d,labelBgStyle:y,labelBgPadding:h,labelBgBorderRadius:g,style:m,markerEnd:v,markerStart:p,interactionWidth:M})})}const k5=Pa({isInternal:!1}),Ya=Pa({isInternal:!0});k5[c(871)]=c(1423),Ya[c(871)]="SimpleBezierEdgeInternal";function Aa(e){const t=c;return L[t(619)](({id:n,sourceX:x,sourceY:o,targetX:r,targetY:i,label:a,labelStyle:f,labelShowBg:s,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:y,style:h,sourcePosition:g=ue[t(1381)],targetPosition:m=ue.Top,markerEnd:v,markerStart:p,pathOptions:M,interactionWidth:w})=>{const z=t,[b,k,G]=Ix({sourceX:x,sourceY:o,sourcePosition:g,targetX:r,targetY:i,targetPosition:m,borderRadius:M?.borderRadius,offset:M?.[z(2091)],stepPosition:M?.[z(983)]}),E=e[z(985)]?void 0:n;return l[z(1970)](q0,{id:E,path:b,labelX:k,labelY:G,label:a,labelStyle:f,labelShowBg:s,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:y,style:h,markerEnd:v,markerStart:p,interactionWidth:w})})}const Ia=Aa({isInternal:!1}),Ea=Aa({isInternal:!0});Ia[c(871)]="SmoothStepEdge",Ea[c(871)]="SmoothStepEdgeInternal";function ja(e){const t=c;return L[t(619)](({id:n,...x})=>{const o=t,r=e[o(985)]?void 0:n;return l[o(1970)](Ia,{...x,id:r,pathOptions:L[o(694)](()=>({borderRadius:0,offset:x[o(1245)]?.[o(2091)]}),[x[o(1245)]?.[o(2091)]])})})}const P5=ja({isInternal:!1}),Ua=ja({isInternal:!0});P5[c(871)]=c(437),Ua[c(871)]=c(2098);function Ga(e){return L.memo(({id:t,sourceX:n,sourceY:x,targetX:o,targetY:r,label:i,labelStyle:a,labelShowBg:f,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:d,style:y,markerEnd:h,markerStart:g,interactionWidth:m})=>{const v=_0x447e,[p,M,w]=bi({sourceX:n,sourceY:x,targetX:o,targetY:r}),z=e[v(985)]?void 0:t;return l[v(1970)](q0,{id:z,path:p,labelX:M,labelY:w,label:i,labelStyle:a,labelShowBg:f,labelBgStyle:s,labelBgPadding:u,labelBgBorderRadius:d,style:y,markerEnd:h,markerStart:g,interactionWidth:m})})}const Y5=Ga({isInternal:!1}),Oa=Ga({isInternal:!0});Y5[c(871)]=c(1962),Oa[c(871)]="StraightEdgeInternal";function Ha(e){const t=c;return L[t(619)](({id:n,sourceX:x,sourceY:o,targetX:r,targetY:i,sourcePosition:a=ue.Bottom,targetPosition:f=ue.Top,label:s,labelStyle:u,labelShowBg:d,labelBgStyle:y,labelBgPadding:h,labelBgBorderRadius:g,style:m,markerEnd:v,markerStart:p,pathOptions:M,interactionWidth:w})=>{const z=t,[b,k,G]=wi({sourceX:x,sourceY:o,sourcePosition:a,targetX:r,targetY:i,targetPosition:f,curvature:M?.[z(1892)]}),E=e[z(985)]?void 0:n;return l.jsx(q0,{id:E,path:b,labelX:k,labelY:G,label:s,labelStyle:u,labelShowBg:d,labelBgStyle:y,labelBgPadding:h,labelBgBorderRadius:g,style:m,markerEnd:v,markerStart:p,interactionWidth:w})})}const A5=Ha({isInternal:!1}),Ta=Ha({isInternal:!0});A5[c(871)]=c(1134),Ta.displayName=c(602);const Va={default:Ta,straight:Oa,step:Ua,smoothstep:Ea,simplebezier:Ya},qa={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},I5=(e,t,n)=>n===ue[c(1580)]?e-t:n===ue.Right?e+t:e,E5=(e,t,n)=>{const x=c;return n===ue[x(998)]?e-t:n===ue[x(1381)]?e+t:e},Wa="react-flow__edgeupdater";function Xa({position:e,centerX:t,centerY:n,radius:x=10,onMouseDown:o,onMouseEnter:r,onMouseOut:i,type:a}){const f=c;return l.jsx(f(1576),{onMouseDown:o,onMouseEnter:r,onMouseOut:i,className:Pe([Wa,Wa+"-"+a]),cx:I5(t,x,e),cy:E5(n,x,e),r:x,stroke:f(1585),fill:f(1585)})}function j5({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:x,sourceY:o,targetX:r,targetY:i,sourcePosition:a,targetPosition:f,onReconnect:s,onReconnectStart:u,onReconnectEnd:d,setReconnecting:y,setUpdateHover:h}){const g=c,m=Ne(),v=(b,k)=>{const G=_0x447e;if(b[G(2070)]!==0)return;const{autoPanOnConnect:E,domNode:I,connectionMode:q,connectionRadius:F,lib:K,onConnectStart:W,cancelConnection:V,nodeLookup:N,rfId:D,panBy:B,updateConnection:A}=m[G(1556)](),P=k[G(638)]===G(819),Y=(X,Q)=>{const R=G;y(!1),d?.(X,n,k[R(638)],Q)},Z=X=>s?.(n,X),J=(X,Q)=>{const R=G;y(!0),u?.(b,n,k[R(638)]),W?.(X,Q)};qx[G(1030)](b[G(1636)],{autoPanOnConnect:E,connectionMode:q,connectionRadius:F,domNode:I,handleId:k.id,nodeId:k[G(1382)],nodeLookup:N,isTarget:P,edgeUpdaterType:k.type,lib:K,flowId:D,cancelConnection:V,panBy:B,isValidConnection:(...X)=>m[G(1556)]().isValidConnection?.(...X)??!0,onConnect:Z,onConnectStart:J,onConnectEnd:(...X)=>m[G(1556)]()[G(1682)]?.(...X),onReconnectEnd:Y,updateConnection:A,getTransform:()=>m[G(1556)]()[G(688)],getFromHandle:()=>m[G(1556)]()[G(656)][G(1850)],dragThreshold:m[G(1556)]()[G(1776)],handleDomNode:b.currentTarget})},p=b=>v(b,{nodeId:n[g(819)],id:n[g(465)]??null,type:"target"}),M=b=>v(b,{nodeId:n[g(1513)],id:n[g(1131)]??null,type:g(1513)}),w=()=>h(!0),z=()=>h(!1);return l[g(557)](l.Fragment,{children:[(e===!0||e==="source")&&l[g(1970)](Xa,{position:a,centerX:x,centerY:o,radius:t,onMouseDown:p,onMouseEnter:w,onMouseOut:z,type:g(1513)}),(e===!0||e===g(819))&&l[g(1970)](Xa,{position:f,centerX:r,centerY:i,radius:t,onMouseDown:M,onMouseEnter:w,onMouseOut:z,type:g(819)})]})}function U5({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:x,onClick:o,onDoubleClick:r,onContextMenu:i,onMouseEnter:a,onMouseMove:f,onMouseLeave:s,reconnectRadius:u,onReconnect:d,onReconnectStart:y,onReconnectEnd:h,rfId:g,edgeTypes:m,noPanClassName:v,onError:p,disableKeyboardA11y:M}){const w=c;let z=Ce(H=>H[w(791)][w(1446)](e));const b=Ce(H=>H[w(2076)]);z=b?{...b,...z}:z;let k=z[w(638)]||"default",G=m?.[k]||Va[k];G===void 0&&(p?.(w(1333),We[w(793)](k)),k=w(1138),G=m?.default||Va[w(1138)]);const E=!!(z[w(805)]||t&&typeof z[w(805)]===w(1269)),I=typeof d!==w(1269)&&(z.reconnectable||n&&typeof z.reconnectable>"u"),q=!!(z.selectable||x&&typeof z[w(1545)]===w(1269)),F=L[w(1713)](null),[K,W]=L.useState(!1),[V,N]=L[w(1303)](!1),D=Ne(),{zIndex:B,sourceX:A,sourceY:P,targetX:Y,targetY:Z,sourcePosition:J,targetPosition:X}=Ce(L[w(1020)](H=>{const O=w,ne=H.nodeLookup[O(1446)](z[O(1513)]),de=H[O(828)][O(1446)](z.target);if(!ne||!de)return{zIndex:z[O(2147)],...qa};const ye=Nf({id:e,sourceNode:ne,targetNode:de,sourceHandle:z[O(1131)]||null,targetHandle:z[O(465)]||null,connectionMode:H[O(790)],onError:p});return{zIndex:bf({selected:z[O(1518)],zIndex:z.zIndex,sourceNode:ne,targetNode:de,elevateOnSelect:H[O(888)],zIndexMode:H[O(2002)]}),...ye||qa}},[z[w(1513)],z[w(819)],z.sourceHandle,z[w(465)],z.selected,z[w(2147)]]),Le),Q=L[w(694)](()=>z.markerStart?"url('#"+Ex(z[w(836)],g)+"')":void 0,[z[w(836)],g]),R=L[w(694)](()=>z[w(1300)]?w(1704)+Ex(z[w(1300)],g)+"')":void 0,[z[w(1300)],g]);if(z[w(1231)]||A===null||P===null||Y===null||Z===null)return null;const re=H=>{const O=w,{addSelectedEdges:ne,unselectNodesAndEdges:de,multiSelectionActive:ye}=D[O(1556)]();q&&(D[O(1880)]({nodesSelectionActive:!1}),z.selected&&ye?(de({nodes:[],edges:[z]}),F[O(787)]?.[O(1955)]()):ne([e])),o&&o(H,z)},ee=r?H=>{r(H,{...z})}:void 0,ae=i?H=>{i(H,{...z})}:void 0,ie=a?H=>{a(H,{...z})}:void 0,S=f?H=>{f(H,{...z})}:void 0,j=s?H=>{s(H,{...z})}:void 0,_=H=>{const O=w;if(!M&&_r[O(1931)](H[O(1101)])&&q){const{unselectNodesAndEdges:ne,addSelectedEdges:de}=D[O(1556)]();H[O(1101)]===O(1517)?(F[O(787)]?.[O(1955)](),ne({edges:[z]})):de([e])}};return l.jsx("svg",{style:{zIndex:B},children:l[w(557)]("g",{className:Pe([w(574),w(630)+k,z[w(1391)],v,{selected:z[w(1518)],animated:z[w(2117)],inactive:!q&&!o,updating:K,selectable:q}]),onClick:re,onDoubleClick:ee,onContextMenu:ae,onMouseEnter:ie,onMouseMove:S,onMouseLeave:j,onKeyDown:E?_:void 0,tabIndex:E?0:void 0,role:z[w(1156)]??(E?"group":w(1353)),"aria-roledescription":w(1589),"data-id":e,"data-testid":w(2116)+e,"aria-label":z[w(1941)]===null?void 0:z[w(1941)]||w(1282)+z[w(1513)]+" to "+z[w(819)],"aria-describedby":E?na+"-"+g:void 0,ref:F,...z[w(1530)],children:[!V&&l[w(1970)](G,{id:e,source:z[w(1513)],target:z[w(819)],type:z[w(638)],selected:z[w(1518)],animated:z[w(2117)],selectable:q,deletable:z[w(1399)]??!0,label:z[w(967)],labelStyle:z[w(1049)],labelShowBg:z[w(1471)],labelBgStyle:z[w(1537)],labelBgPadding:z.labelBgPadding,labelBgBorderRadius:z[w(922)],sourceX:A,sourceY:P,targetX:Y,targetY:Z,sourcePosition:J,targetPosition:X,data:z[w(455)],style:z[w(803)],sourceHandleId:z[w(1131)],targetHandleId:z[w(465)],markerStart:Q,markerEnd:R,pathOptions:w(1245)in z?z.pathOptions:void 0,interactionWidth:z[w(1673)]}),I&&l[w(1970)](j5,{edge:z,isReconnectable:I,reconnectRadius:u,onReconnect:d,onReconnectStart:y,onReconnectEnd:h,sourceX:A,sourceY:P,targetX:Y,targetY:Z,sourcePosition:J,targetPosition:X,setUpdateHover:W,setReconnecting:N})]})})}var G5=L[c(619)](U5);const O5=e=>({edgesFocusable:e[c(473)],edgesReconnectable:e[c(1263)],elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e[c(1133)]});function Za({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:x,noPanClassName:o,onReconnect:r,onEdgeContextMenu:i,onEdgeMouseEnter:a,onEdgeMouseMove:f,onEdgeMouseLeave:s,onEdgeClick:u,reconnectRadius:d,onEdgeDoubleClick:y,onReconnectStart:h,onReconnectEnd:g,disableKeyboardA11y:m}){const v=c,{edgesFocusable:p,edgesReconnectable:M,elementsSelectable:w,onError:z}=Ce(O5,Le),b=C5(t);return l[v(557)](v(1331),{className:"react-flow__edges",children:[l[v(1970)](N5,{defaultColor:e,rfId:n}),b[v(1001)](k=>l[v(1970)](G5,{id:k,edgesFocusable:p,edgesReconnectable:M,elementsSelectable:w,noPanClassName:o,onReconnect:r,onContextMenu:i,onMouseEnter:a,onMouseMove:f,onMouseLeave:s,onClick:u,reconnectRadius:d,onDoubleClick:y,onReconnectStart:h,onReconnectEnd:g,rfId:n,onError:z,edgeTypes:x,disableKeyboardA11y:m},k))]})}Za[c(871)]="EdgeRenderer";const H5=L.memo(Za),T5=e=>"translate("+e.transform[0]+c(1460)+e[c(688)][1]+"px) scale("+e[c(688)][2]+")";function V5({children:e}){const t=c,n=Ce(T5);return l[t(1970)](t(1331),{className:t(1504),style:{transform:n},children:e})}function q5(e){const t=c,n=Qx(),x=L[t(1713)](!1);L.useEffect(()=>{const o=t;!x[o(787)]&&n[o(599)]&&e&&(setTimeout(()=>e(n),1),x[o(787)]=!0)},[e,n[t(599)]])}const W5=e=>e[c(853)]?.[c(592)];function X5(e){const t=Ce(W5),n=Ne();return L.useEffect(()=>{const x=_0x447e;e&&(t?.(e),n[x(1880)]({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function Z5(e){const t=c;return e[t(656)][t(1956)]?{...e[t(656)],to:Ht(e[t(656)].to,e[t(688)])}:{...e[t(656)]}}function K5(e){return Z5}function R5(e){const t=K5();return Ce(t,Le)}const J5=e=>({nodesConnectable:e.nodesConnectable,isValid:e[c(656)][c(1916)],inProgress:e[c(656)][c(1956)],width:e[c(502)],height:e.height});function _5({containerStyle:e,style:t,type:n,component:x}){const o=c,{nodesConnectable:r,width:i,height:a,isValid:f,inProgress:s}=Ce(J5,Le);return!(i&&r&&s)?null:l[o(1970)]("svg",{style:e,width:i,height:a,className:"react-flow__connectionline react-flow__container",children:l[o(1970)]("g",{className:Pe([o(783),ei(f)]),children:l[o(1970)](Ka,{style:t,type:n,CustomComponent:x,isValid:f})})})}const Ka=({style:e,type:t=mn[c(977)],CustomComponent:n,isValid:x})=>{const o=c,{inProgress:r,from:i,fromNode:a,fromHandle:f,fromPosition:s,to:u,toNode:d,toHandle:y,toPosition:h,pointer:g}=R5();if(!r)return;if(n)return l[o(1970)](n,{connectionLineType:t,connectionLineStyle:e,fromNode:a,fromHandle:f,fromX:i.x,fromY:i.y,toX:u.x,toY:u.y,fromPosition:s,toPosition:h,connectionStatus:ei(x),toNode:d,toHandle:y,pointer:g});let m="";const v={sourceX:i.x,sourceY:i.y,sourcePosition:s,targetX:u.x,targetY:u.y,targetPosition:h};switch(t){case mn[o(977)]:[m]=wi(v);break;case mn[o(870)]:[m]=ka(v);break;case mn[o(2005)]:[m]=Ix({...v,borderRadius:0});break;case mn[o(838)]:[m]=Ix(v);break;default:[m]=bi(v)}return l[o(1970)](o(2108),{d:m,fill:"none",className:"react-flow__connection-path",style:e})};Ka[c(871)]=c(1767);const Q5={};function Ra(e=Q5){const t=L.useRef(e),n=Ne();L.useEffect(()=>{const x=_0x447e;if(process.env.NODE_ENV==="development"){const o=new Set([...Object[x(1648)](t[x(787)]),...Object[x(1648)](e)]);for(const r of o)if(t.current[r]!==e[r]){n[x(1556)]()[x(1133)]?.(x(1063),We.error002());break}t[x(787)]=e}},[e])}function F5(){const e=c,t=Ne(),n=L[e(1713)](!1);L[e(1027)](()=>{const x=e;if(process.env.NODE_ENV===x(1191)&&!n.current){const o=document[x(1519)](x(1208));o&&window.getComputedStyle(o)[x(2147)]!=="1"&&t[x(1556)]()[x(1133)]?.(x(1674),We[x(2150)]("react")),n[x(787)]=!0}},[])}function Ja({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:x,onEdgeClick:o,onNodeDoubleClick:r,onEdgeDoubleClick:i,onNodeMouseEnter:a,onNodeMouseMove:f,onNodeMouseLeave:s,onNodeContextMenu:u,onSelectionContextMenu:d,onSelectionStart:y,onSelectionEnd:h,connectionLineType:g,connectionLineStyle:m,connectionLineComponent:v,connectionLineContainerStyle:p,selectionKeyCode:M,selectionOnDrag:w,selectionMode:z,multiSelectionKeyCode:b,panActivationKeyCode:k,zoomActivationKeyCode:G,deleteKeyCode:E,onlyRenderVisibleElements:I,elementsSelectable:q,defaultViewport:F,translateExtent:K,minZoom:W,maxZoom:V,preventScrolling:N,defaultMarkerColor:D,zoomOnScroll:B,zoomOnPinch:A,panOnScroll:P,panOnScrollSpeed:Y,panOnScrollMode:Z,zoomOnDoubleClick:J,panOnDrag:X,onPaneClick:Q,onPaneMouseEnter:R,onPaneMouseMove:re,onPaneMouseLeave:ee,onPaneScroll:ae,onPaneContextMenu:ie,paneClickDistance:S,nodeClickDistance:j,onEdgeContextMenu:_,onEdgeMouseEnter:H,onEdgeMouseMove:O,onEdgeMouseLeave:ne,reconnectRadius:de,onReconnect:ye,onReconnectStart:ce,onReconnectEnd:ge,noDragClassName:be,noWheelClassName:he,noPanClassName:ze,disableKeyboardA11y:De,nodeExtent:Ue,rfId:Ge,viewport:Ye,onViewportChange:Ae}){const Oe=c;return Ra(e),Ra(t),F5(),q5(n),X5(Ye),l[Oe(1970)](f5,{onPaneClick:Q,onPaneMouseEnter:R,onPaneMouseMove:re,onPaneMouseLeave:ee,onPaneContextMenu:ie,onPaneScroll:ae,paneClickDistance:S,deleteKeyCode:E,selectionKeyCode:M,selectionOnDrag:w,selectionMode:z,onSelectionStart:y,onSelectionEnd:h,multiSelectionKeyCode:b,panActivationKeyCode:k,zoomActivationKeyCode:G,elementsSelectable:q,zoomOnScroll:B,zoomOnPinch:A,zoomOnDoubleClick:J,panOnScroll:P,panOnScrollSpeed:Y,panOnScrollMode:Z,panOnDrag:X,defaultViewport:F,translateExtent:K,minZoom:W,maxZoom:V,onSelectionContextMenu:d,preventScrolling:N,noDragClassName:be,noWheelClassName:he,noPanClassName:ze,disableKeyboardA11y:De,onViewportChange:Ae,isControlledViewport:!!Ye,children:l.jsxs(V5,{children:[l[Oe(1970)](H5,{edgeTypes:t,onEdgeClick:o,onEdgeDoubleClick:i,onReconnect:ye,onReconnectStart:ce,onReconnectEnd:ge,onlyRenderVisibleElements:I,onEdgeContextMenu:_,onEdgeMouseEnter:H,onEdgeMouseMove:O,onEdgeMouseLeave:ne,reconnectRadius:de,defaultMarkerColor:D,noPanClassName:ze,disableKeyboardA11y:De,rfId:Ge}),l[Oe(1970)](_5,{style:m,type:g,component:v,containerStyle:p}),l[Oe(1970)](Oe(1331),{className:Oe(1890)}),l.jsx(z5,{nodeTypes:e,onNodeClick:x,onNodeDoubleClick:r,onNodeMouseEnter:a,onNodeMouseMove:f,onNodeMouseLeave:s,onNodeContextMenu:u,nodeClickDistance:j,onlyRenderVisibleElements:I,noPanClassName:ze,noDragClassName:be,disableKeyboardA11y:De,nodeExtent:Ue,rfId:Ge}),l[Oe(1970)]("div",{className:"react-flow__viewport-portal"})]})})}Ja[c(871)]="GraphView";const $5=L.memo(Ja),_a=({nodes:e,edges:t,defaultNodes:n,defaultEdges:x,width:o,height:r,fitView:i,fitViewOptions:a,minZoom:f=.5,maxZoom:s=2,nodeOrigin:u,nodeExtent:d,zIndexMode:y=c(867)}={})=>{const h=c,g=new Map,m=new Map,v=new Map,p=new Map,M=x??t??[],w=n??e??[],z=u??[0,0],b=d??It;ki(v,p,M);const{nodesInitialized:k}=Ox(w,g,m,{nodeOrigin:z,nodeExtent:b,zIndexMode:y});let G=[0,0,1];if(i&&o&&r){const E=Ut(g,{filter:K=>!!((K[h(502)]||K.initialWidth)&&(K[h(1201)]||K[h(831)]))}),{x:I,y:q,zoom:F}=Yx(E,o,r,f,s,a?.padding??.1);G=[I,q,F]}return{rfId:"1",width:o??0,height:r??0,transform:G,nodes:w,nodesInitialized:k,nodeLookup:g,parentLookup:m,edges:M,edgeLookup:p,connectionLookup:v,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:x!==void 0,panZoom:null,minZoom:f,maxZoom:s,translateExtent:It,nodeExtent:b,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:tt[h(552)],domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:z,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:i??!1,fitViewOptions:a,fitViewResolver:null,connection:{...Fr},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:ci,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:h(1809),debug:!1,ariaLabelConfig:Qr,zIndexMode:y,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},eg=({nodes:e,edges:t,defaultNodes:n,defaultEdges:x,width:o,height:r,fitView:i,fitViewOptions:a,minZoom:f,maxZoom:s,nodeOrigin:u,nodeExtent:d,zIndexMode:y})=>v2((h,g)=>{async function m(){const v=_0x447e,{nodeLookup:p,panZoom:M,fitViewOptions:w,fitViewResolver:z,width:b,height:k,minZoom:G,maxZoom:E}=g();M&&(await gf({nodes:p,width:b,height:k,panZoom:M,minZoom:G,maxZoom:E},w),z?.[v(1734)](!0),h({fitViewResolver:null}))}return{..._a({nodes:e,edges:t,width:o,height:r,fitView:i,fitViewOptions:a,minZoom:f,maxZoom:s,nodeOrigin:u,nodeExtent:d,defaultNodes:n,defaultEdges:x,zIndexMode:y}),setNodes:v=>{const{nodeLookup:p,parentLookup:M,nodeOrigin:w,elevateNodesOnSelect:z,fitViewQueued:b,zIndexMode:k,nodesSelectionActive:G}=g(),{nodesInitialized:E,hasSelectedNodes:I}=Ox(v,p,M,{nodeOrigin:w,nodeExtent:d,elevateNodesOnSelect:z,checkEquality:!0,zIndexMode:k}),q=G&&I;b&&E?(m(),h({nodes:v,nodesInitialized:E,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:q})):h({nodes:v,nodesInitialized:E,nodesSelectionActive:q})},setEdges:v=>{const{connectionLookup:p,edgeLookup:M}=g();ki(p,M,v),h({edges:v})},setDefaultNodesAndEdges:(v,p)=>{if(v){const{setNodes:M}=g();M(v),h({hasDefaultNodes:!0})}if(p){const{setEdges:M}=g();M(p),h({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const p=_0x447e,{triggerNodeChanges:M,nodeLookup:w,parentLookup:z,domNode:b,nodeOrigin:k,nodeExtent:G,debug:E,fitViewQueued:I,zIndexMode:q}=g(),{changes:F,updatedInternals:K}=jf(v,w,z,b,k,G,q);K&&(Yf(w,z,{nodeOrigin:k,nodeExtent:G,zIndexMode:q}),I?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),F?.[p(1028)]>0&&(E&&console.log(p(1005),F),M?.(F)))},updateNodePositions:(v,p=!1)=>{const M=_0x447e,w=[];let z=[];const{nodeLookup:b,triggerNodeChanges:k,connection:G,updateConnection:E,onNodesChangeMiddlewareMap:I}=g();for(const[q,F]of v){const K=b.get(q),W=!!(K?.[M(823)]&&K?.[M(2060)]&&F?.[M(1400)]),V={id:q,type:M(1400),position:W?{x:Math.max(0,F.position.x),y:Math.max(0,F.position.y)}:F[M(1400)],dragging:p};if(K&&G[M(1956)]&&G.fromNode.id===K.id){const N=Un(K,G.fromHandle,ue[M(1580)],!0);E({...G,from:N})}W&&K[M(2060)]&&w[M(2049)]({id:q,parentId:K[M(2060)],rect:{...F[M(2075)][M(2139)],width:F[M(1815)][M(502)]??0,height:F[M(1815)][M(1201)]??0}}),z[M(2049)](V)}if(w.length>0){const{parentLookup:q,nodeOrigin:F}=g(),K=Tx(w,b,q,F);z[M(2049)](...K)}for(const q of I[M(642)]())z=q(z);k(z)},triggerNodeChanges:v=>{const p=_0x447e,{onNodesChange:M,setNodes:w,nodes:z,hasDefaultNodes:b,debug:k}=g();if(v?.length){if(b){const G=la(v,z);w(G)}k&&console[p(484)](p(1005),v),M?.(v)}},triggerEdgeChanges:v=>{const p=_0x447e,{onEdgesChange:M,setEdges:w,edges:z,hasDefaultEdges:b,debug:k}=g();if(v?.length){if(b){const G=da(v,z);w(G)}k&&console[p(484)](p(1274),v),M?.(v)}},addSelectedNodes:v=>{const{multiSelectionActive:p,edgeLookup:M,nodeLookup:w,triggerNodeChanges:z,triggerEdgeChanges:b}=g();if(p){const k=v.map(G=>Gn(G,!0));z(k);return}z(st(w,new Set([...v]),!0)),b(st(M))},addSelectedEdges:v=>{const{multiSelectionActive:p,edgeLookup:M,nodeLookup:w,triggerNodeChanges:z,triggerEdgeChanges:b}=g();if(p){const k=v.map(G=>Gn(G,!0));b(k);return}b(st(M,new Set([...v]))),z(st(w,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:p}={})=>{const M=_0x447e,{edges:w,nodes:z,nodeLookup:b,triggerNodeChanges:k,triggerEdgeChanges:G}=g(),E=v||z,I=p||w,q=[];for(const K of E){if(!K[M(1518)])continue;const W=b[M(1446)](K.id);W&&(W[M(1518)]=!1),q[M(2049)](Gn(K.id,!1))}const F=[];for(const K of I)K.selected&&F[M(2049)](Gn(K.id,!1));k(q),G(F)},setMinZoom:v=>{const{panZoom:p,maxZoom:M}=g();p?.setScaleExtent([v,M]),h({minZoom:v})},setMaxZoom:v=>{const{panZoom:p,minZoom:M}=g();p?.setScaleExtent([M,v]),h({maxZoom:v})},setTranslateExtent:v=>{const p=_0x447e;g()[p(853)]?.[p(1152)](v),h({translateExtent:v})},resetSelectedElements:()=>{const v=_0x447e,{edges:p,nodes:M,triggerNodeChanges:w,triggerEdgeChanges:z,elementsSelectable:b}=g();if(!b)return;const k=M[v(1846)]((E,I)=>I[v(1518)]?[...E,Gn(I.id,!1)]:E,[]),G=p.reduce((E,I)=>I[v(1518)]?[...E,Gn(I.id,!1)]:E,[]);w(k),z(G)},setNodeExtent:v=>{const{nodes:p,nodeLookup:M,parentLookup:w,nodeOrigin:z,elevateNodesOnSelect:b,nodeExtent:k,zIndexMode:G}=g();v[0][0]===k[0][0]&&v[0][1]===k[0][1]&&v[1][0]===k[1][0]&&v[1][1]===k[1][1]||(Ox(p,M,w,{nodeOrigin:z,nodeExtent:v,elevateNodesOnSelect:b,checkEquality:!1,zIndexMode:G}),h({nodeExtent:v}))},panBy:v=>{const{transform:p,width:M,height:w,panZoom:z,translateExtent:b}=g();return Uf({delta:v,panZoom:z,transform:p,translateExtent:b,width:M,height:w})},setCenter:async(v,p,M)=>{const w=_0x447e,{width:z,height:b,maxZoom:k,panZoom:G}=g();if(!G)return Promise.resolve(!1);const E=typeof M?.[w(931)]!==w(1269)?M[w(931)]:k;return await G[w(1449)]({x:z/2-v*E,y:b/2-p*E,zoom:E},{duration:M?.[w(1844)],ease:M?.[w(1025)],interpolate:M?.[w(948)]}),Promise[w(1734)](!0)},cancelConnection:()=>{h({connection:{...Fr}})},updateConnection:v=>{h({connection:v})},reset:()=>h({..._a()})}},Object.is);function ng({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:x,initialWidth:o,initialHeight:r,initialMinZoom:i,initialMaxZoom:a,initialFitViewOptions:f,fitView:s,nodeOrigin:u,nodeExtent:d,zIndexMode:y,children:h}){const g=c,[m]=L.useState(()=>eg({nodes:e,edges:t,defaultNodes:n,defaultEdges:x,width:o,height:r,fitView:s,minZoom:i,maxZoom:a,fitViewOptions:f,nodeOrigin:u,nodeExtent:d,zIndexMode:y}));return l[g(1970)](p2,{value:m,children:l[g(1970)](V2,{children:h})})}function tg({children:e,nodes:t,edges:n,defaultNodes:x,defaultEdges:o,width:r,height:i,fitView:a,fitViewOptions:f,minZoom:s,maxZoom:u,nodeOrigin:d,nodeExtent:y,zIndexMode:h}){const g=c;return L[g(939)](G0)?l[g(1970)](l[g(514)],{children:e}):l[g(1970)](ng,{initialNodes:t,initialEdges:n,defaultNodes:x,defaultEdges:o,initialWidth:r,initialHeight:i,fitView:a,initialFitViewOptions:f,initialMinZoom:s,initialMaxZoom:u,nodeOrigin:d,nodeExtent:y,zIndexMode:h,children:e})}const xg={width:c(697),height:c(697),overflow:c(1231),position:"relative",zIndex:0};function og({nodes:e,edges:t,defaultNodes:n,defaultEdges:x,className:o,nodeTypes:r,edgeTypes:i,onNodeClick:a,onEdgeClick:f,onInit:s,onMove:u,onMoveStart:d,onMoveEnd:y,onConnect:h,onConnectStart:g,onConnectEnd:m,onClickConnectStart:v,onClickConnectEnd:p,onNodeMouseEnter:M,onNodeMouseMove:w,onNodeMouseLeave:z,onNodeContextMenu:b,onNodeDoubleClick:k,onNodeDragStart:G,onNodeDrag:E,onNodeDragStop:I,onNodesDelete:q,onEdgesDelete:F,onDelete:K,onSelectionChange:W,onSelectionDragStart:V,onSelectionDrag:N,onSelectionDragStop:D,onSelectionContextMenu:B,onSelectionStart:A,onSelectionEnd:P,onBeforeDelete:Y,connectionMode:Z,connectionLineType:J=mn[c(977)],connectionLineStyle:X,connectionLineComponent:Q,connectionLineContainerStyle:R,deleteKeyCode:re=c(745),selectionKeyCode:ee=c(633),selectionOnDrag:ae=!1,selectionMode:ie=Et[c(2118)],panActivationKeyCode:S=c(1823),multiSelectionKeyCode:j=Tt()?c(1782):c(2041),zoomActivationKeyCode:_=Tt()?c(1782):c(2041),snapToGrid:H,snapGrid:O,onlyRenderVisibleElements:ne=!1,selectNodesOnDrag:de,nodesDraggable:ye,autoPanOnNodeFocus:ce,nodesConnectable:ge,nodesFocusable:be,nodeOrigin:he=ta,edgesFocusable:ze,edgesReconnectable:De,elementsSelectable:Ue=!0,defaultViewport:Ge=A2,minZoom:Ye=.5,maxZoom:Ae=2,translateExtent:Oe=It,preventScrolling:Wt=!0,nodeExtent:zn,defaultMarkerColor:dt=c(775),zoomOnScroll:On=!0,zoomOnPinch:Hn=!0,panOnScroll:Cn=!1,panOnScrollSpeed:Mn=.5,panOnScrollMode:Tn=En[c(1104)],zoomOnDoubleClick:Vn=!0,panOnDrag:Ze=!0,onPaneClick:ut,onPaneMouseEnter:en,onPaneMouseMove:nn,onPaneMouseLeave:Bn,onPaneScroll:qn,onPaneContextMenu:Xt,paneClickDistance:to=1,nodeClickDistance:K0=0,children:R0,onReconnect:Zt,onReconnectStart:J0,onReconnectEnd:Kt,onEdgeContextMenu:U,onEdgeDoubleClick:T,onEdgeMouseEnter:te,onEdgeMouseMove:xe,onEdgeMouseLeave:le,reconnectRadius:$=10,onNodesChange:oe,onEdgesChange:fe,noDragClassName:we="nodrag",noWheelClassName:me=c(1923),noPanClassName:Me=c(624),fitView:Be,fitViewOptions:Se,connectOnClick:He,attributionPosition:Ke,proOptions:Dn,defaultEdgeOptions:fn,elevateNodesOnSelect:ft=!0,elevateEdgesOnSelect:Wn=!1,disableKeyboardA11y:uc=!1,autoPanOnConnect:th,autoPanOnNodeDrag:xh,autoPanSpeed:oh,connectionRadius:rh,isValidConnection:ih,onError:ah,style:ch,id:fc,nodeDragThreshold:sh,connectionDragThreshold:lh,viewport:dh,onViewportChange:uh,width:fh,height:gh,colorMode:hh=c(1320),debug:yh,onScroll:gc,ariaLabelConfig:mh,zIndexMode:hc="basic",...wh},vh){const Re=c,xo=fc||"1",ph=U2(hh),bh=L[Re(1020)](yc=>{yc[Re(850)].scrollTo({top:0,left:0,behavior:"instant"}),gc?.(yc)},[gc]);return l[Re(1970)](Re(1331),{"data-testid":Re(996),...wh,onScroll:bh,style:{...ch,...xg},ref:vh,className:Pe([Re(1756),o,ph]),id:fc,role:Re(1511),children:l.jsxs(tg,{nodes:e,edges:t,width:fh,height:gh,fitView:Be,fitViewOptions:Se,minZoom:Ye,maxZoom:Ae,nodeOrigin:he,nodeExtent:zn,zIndexMode:hc,children:[l[Re(1970)](j2,{nodes:e,edges:t,defaultNodes:n,defaultEdges:x,onConnect:h,onConnectStart:g,onConnectEnd:m,onClickConnectStart:v,onClickConnectEnd:p,nodesDraggable:ye,autoPanOnNodeFocus:ce,nodesConnectable:ge,nodesFocusable:be,edgesFocusable:ze,edgesReconnectable:De,elementsSelectable:Ue,elevateNodesOnSelect:ft,elevateEdgesOnSelect:Wn,minZoom:Ye,maxZoom:Ae,nodeExtent:zn,onNodesChange:oe,onEdgesChange:fe,snapToGrid:H,snapGrid:O,connectionMode:Z,translateExtent:Oe,connectOnClick:He,defaultEdgeOptions:fn,fitView:Be,fitViewOptions:Se,onNodesDelete:q,onEdgesDelete:F,onDelete:K,onNodeDragStart:G,onNodeDrag:E,onNodeDragStop:I,onSelectionDrag:N,onSelectionDragStart:V,onSelectionDragStop:D,onMove:u,onMoveStart:d,onMoveEnd:y,noPanClassName:Me,nodeOrigin:he,rfId:xo,autoPanOnConnect:th,autoPanOnNodeDrag:xh,autoPanSpeed:oh,onError:ah,connectionRadius:rh,isValidConnection:ih,selectNodesOnDrag:de,nodeDragThreshold:sh,connectionDragThreshold:lh,onBeforeDelete:Y,debug:yh,ariaLabelConfig:mh,zIndexMode:hc}),l[Re(1970)]($5,{onInit:s,onNodeClick:a,onEdgeClick:f,onNodeMouseEnter:M,onNodeMouseMove:w,onNodeMouseLeave:z,onNodeContextMenu:b,onNodeDoubleClick:k,nodeTypes:r,edgeTypes:i,connectionLineType:J,connectionLineStyle:X,connectionLineComponent:Q,connectionLineContainerStyle:R,selectionKeyCode:ee,selectionOnDrag:ae,selectionMode:ie,deleteKeyCode:re,multiSelectionKeyCode:j,panActivationKeyCode:S,zoomActivationKeyCode:_,onlyRenderVisibleElements:ne,defaultViewport:Ge,translateExtent:Oe,minZoom:Ye,maxZoom:Ae,preventScrolling:Wt,zoomOnScroll:On,zoomOnPinch:Hn,zoomOnDoubleClick:Vn,panOnScroll:Cn,panOnScrollSpeed:Mn,panOnScrollMode:Tn,panOnDrag:Ze,onPaneClick:ut,onPaneMouseEnter:en,onPaneMouseMove:nn,onPaneMouseLeave:Bn,onPaneScroll:qn,onPaneContextMenu:Xt,paneClickDistance:to,nodeClickDistance:K0,onSelectionContextMenu:B,onSelectionStart:A,onSelectionEnd:P,onReconnect:Zt,onReconnectStart:J0,onReconnectEnd:Kt,onEdgeContextMenu:U,onEdgeDoubleClick:T,onEdgeMouseEnter:te,onEdgeMouseMove:xe,onEdgeMouseLeave:le,reconnectRadius:$,defaultMarkerColor:dt,noDragClassName:we,noWheelClassName:me,noPanClassName:Me,rfId:xo,disableKeyboardA11y:uc,nodeExtent:zn,viewport:dh,onViewportChange:uh}),l[Re(1970)](Y2,{onSelectionChange:W}),R0,l[Re(1970)](L2,{proOptions:Dn,position:Ke}),l[Re(1970)](D2,{rfId:xo,disableKeyboardA11y:uc})]})})}var rg=ha(og);function ig(e){const[t,n]=L.useState(e),x=L.useCallback(o=>n(r=>la(o,r)),[]);return[t,n,x]}function ag(e){const t=c,[n,x]=L[t(1303)](e),o=L[t(1020)](r=>x(i=>da(r,i)),[]);return[n,x,o]}function cg({dimensions:e,lineWidth:t,variant:n,className:x}){const o=c;return l[o(1970)]("path",{strokeWidth:t,d:"M"+e[0]/2+o(1470)+e[1]+o(526)+e[1]/2+" H"+e[0],className:Pe(["react-flow__background-pattern",n,x])})}function sg({radius:e,className:t}){const n=c;return l[n(1970)](n(1576),{cx:e,cy:e,r:e,className:Pe([n(2023),n(721),t])})}var pn;(function(e){const t=c;e[t(492)]=t(1410),e[t(1468)]=t(721),e[t(1066)]=t(1482)})(pn||(pn={}));const lg={[pn[c(1468)]]:1,[pn[c(492)]]:1,[pn[c(1066)]]:6},dg=e=>({transform:e[c(688)],patternId:"pattern-"+e[c(1932)]});function Qa({id:e,variant:t=pn[c(1468)],gap:n=20,size:x,lineWidth:o=1,offset:r=0,color:i,bgColor:a,style:f,className:s,patternClassName:u}){const d=c,y=L.useRef(null),{transform:h,patternId:g}=Ce(dg,Le),m=x||lg[t],v=t===pn.Dots,p=t===pn[d(1066)],M=Array[d(1098)](n)?n:[n,n],w=[M[0]*h[2]||1,M[1]*h[2]||1],z=m*h[2],b=Array.isArray(r)?r:[r,r],k=p?[z,z]:w,G=[b[0]*h[2]||1+k[0]/2,b[1]*h[2]||1+k[1]/2],E=""+g+(e||"");return l[d(557)](d(1996),{className:Pe(["react-flow__background",s]),style:{...f,...T0,"--xy-background-color-props":a,"--xy-background-pattern-color-props":i},ref:y,"data-testid":d(835),children:[l[d(1970)](d(918),{id:E,x:h[0]%w[0],y:h[1]%w[1],width:w[0],height:w[1],patternUnits:d(1321),patternTransform:"translate(-"+G[0]+",-"+G[1]+")",children:v?l[d(1970)](sg,{radius:z/2,className:u}):l.jsx(cg,{dimensions:k,lineWidth:o,variant:t,className:u})}),l[d(1970)](d(1110),{x:"0",y:"0",width:d(697),height:"100%",fill:d(1227)+E+")"})]})}Qa.displayName="Background";const ug=L[c(619)](Qa);function fg(){const e=c;return l[e(1970)]("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:e(736),children:l.jsx(e(2108),{d:e(1696)})})}function gg(){const e=c;return l[e(1970)](e(1996),{xmlns:e(1096),viewBox:"0 0 32 5",children:l.jsx(e(2108),{d:"M0 0h32v4.2H0z"})})}function hg(){const e=c;return l.jsx("svg",{xmlns:e(1096),viewBox:e(493),children:l.jsx(e(2108),{d:e(550)})})}function yg(){const e=c;return l[e(1970)](e(1996),{xmlns:e(1096),viewBox:e(2135),children:l.jsx(e(2108),{d:e(614)})})}function mg(){const e=c;return l[e(1970)]("svg",{xmlns:e(1096),viewBox:e(2135),children:l[e(1970)](e(2108),{d:e(604)})})}function W0({children:e,className:t,...n}){const x=c;return l[x(1970)]("button",{type:x(2070),className:Pe(["react-flow__controls-button",t]),...n,children:e})}const wg=e=>({isInteractive:e[c(2127)]||e[c(1659)]||e[c(1910)],minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e[c(688)][2]>=e[c(512)],ariaLabelConfig:e[c(1864)]});function Fa({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:x=!0,fitViewOptions:o,onZoomIn:r,onZoomOut:i,onFitView:a,onInteractiveChange:f,className:s,children:u,position:d=c(908),orientation:y="vertical","aria-label":h}){const g=c,m=Ne(),{isInteractive:v,minZoomReached:p,maxZoomReached:M,ariaLabelConfig:w}=Ce(wg,Le),{zoomIn:z,zoomOut:b,fitView:k}=Qx(),G=()=>{z(),r?.()},E=()=>{b(),i?.()},I=()=>{k(o),a?.()},q=()=>{m[_0x447e(1880)]({nodesDraggable:!v,nodesConnectable:!v,elementsSelectable:!v}),f?.(!v)},F=g(y==="horizontal"?956:776);return l.jsxs(O0,{className:Pe(["react-flow__controls",F,s]),position:d,style:e,"data-testid":"rf__controls","aria-label":h??w[g(2122)],children:[t&&l[g(557)](l[g(514)],{children:[l[g(1970)](W0,{onClick:G,className:g(880),title:w["controls.zoomIn.ariaLabel"],"aria-label":w[g(1203)],disabled:M,children:l.jsx(fg,{})}),l.jsx(W0,{onClick:E,className:g(869),title:w[g(994)],"aria-label":w[g(994)],disabled:p,children:l.jsx(gg,{})})]}),n&&l[g(1970)](W0,{className:g(660),onClick:I,title:w[g(495)],"aria-label":w[g(495)],children:l[g(1970)](hg,{})}),x&&l[g(1970)](W0,{className:g(1887),onClick:q,title:w[g(2113)],"aria-label":w[g(2113)],children:v?l[g(1970)](mg,{}):l.jsx(yg,{})}),u]})}Fa[c(871)]="Controls";const vg=L.memo(Fa);function pg({id:e,x:t,y:n,width:x,height:o,style:r,color:i,strokeColor:a,strokeWidth:f,className:s,borderRadius:u,shapeRendering:d,selected:y,onClick:h}){const g=c,{background:m,backgroundColor:v}=r||{},p=i||m||v;return l[g(1970)](g(1110),{className:Pe([g(631),{selected:y},s]),x:t,y:n,rx:u,ry:u,width:x,height:o,style:{fill:p,stroke:a,strokeWidth:f},shapeRendering:d,onClick:h?M=>h(M,e):void 0})}const bg=L[c(619)](pg),zg=e=>e.nodes[c(1001)](t=>t.id),no=e=>e instanceof Function?e:()=>e;function Cg({nodeStrokeColor:e,nodeColor:t,nodeClassName:n="",nodeBorderRadius:x=5,nodeStrokeWidth:o,nodeComponent:r=bg,onClick:i}){const a=c,f=Ce(zg,Le),s=no(t),u=no(e),d=no(n),y=typeof window===a(1269)||window[a(1395)]?a(2045):"geometricPrecision";return l[a(1970)](l[a(514)],{children:f[a(1001)](h=>l[a(1970)](Bg,{id:h,nodeColorFunc:s,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:x,nodeStrokeWidth:o,NodeComponent:r,onClick:i,shapeRendering:y},h))})}function Mg({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:x,nodeBorderRadius:o,nodeStrokeWidth:r,shapeRendering:i,NodeComponent:a,onClick:f}){const s=c,{node:u,x:d,y,width:h,height:g}=Ce(m=>{const v=_0x447e,p=m[v(828)][v(1446)](e);if(!p)return{node:void 0,x:0,y:0,width:0,height:0};const M=p[v(2075)][v(1572)],{x:w,y:z}=p[v(2075)][v(2139)],{width:b,height:k}=un(M);return{node:M,x:w,y:z,width:b,height:k}},Le);return!u||u.hidden||!si(u)?null:l[s(1970)](a,{x:d,y,width:h,height:g,style:u.style,selected:!!u[s(1518)],className:x(u),color:t(u),borderRadius:o,strokeColor:n(u),strokeWidth:r,shapeRendering:i,onClick:f,id:u.id})}const Bg=L[c(619)](Mg);var Dg=L[c(619)](Cg);const Lg=200,Ng=150,Sg=e=>!e[c(1231)],kg=e=>{const t=c,n={x:-e.transform[0]/e.transform[2],y:-e[t(688)][1]/e[t(688)][2],width:e[t(502)]/e[t(688)][2],height:e[t(1201)]/e[t(688)][2]};return{viewBB:n,boundingRect:e[t(828)][t(2046)]>0?ii(Ut(e[t(828)],{filter:Sg}),n):n,rfId:e.rfId,panZoom:e[t(853)],translateExtent:e[t(1853)],flowWidth:e[t(502)],flowHeight:e[t(1201)],ariaLabelConfig:e[t(1864)]}},Pg="react-flow__minimap-desc";function $a({style:e,className:t,nodeStrokeColor:n,nodeColor:x,nodeClassName:o="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a,bgColor:f,maskColor:s,maskStrokeColor:u,maskStrokeWidth:d,position:y=c(1233),onClick:h,onNodeClick:g,pannable:m=!1,zoomable:v=!1,ariaLabel:p,inversePan:M,zoomStep:w=1,offsetScale:z=5}){const b=c,k=Ne(),G=L[b(1713)](null),{boundingRect:E,viewBB:I,rfId:q,panZoom:F,translateExtent:K,flowWidth:W,flowHeight:V,ariaLabelConfig:N}=Ce(kg,Le),D=e?.[b(502)]??Lg,B=e?.height??Ng,A=E[b(502)]/D,P=E[b(1201)]/B,Y=Math[b(1419)](A,P),Z=Y*D,J=Y*B,X=z*Y,Q=E.x-(Z-E[b(502)])/2-X,R=E.y-(J-E[b(1201)])/2-X,re=Z+X*2,ee=J+X*2,ae=Pg+"-"+q,ie=L[b(1713)](0),S=L[b(1713)]();ie[b(787)]=Y,L.useEffect(()=>{const O=b;if(G[O(787)]&&F)return S[O(787)]=Zf({domNode:G[O(787)],panZoom:F,getTransform:()=>k.getState()[O(688)],getViewScale:()=>ie[O(787)]}),()=>{const ne=O;S[ne(787)]?.[ne(1262)]()}},[F]),L[b(1027)](()=>{const O=b;S[O(787)]?.[O(943)]({translateExtent:K,width:W,height:V,inversePan:M,pannable:m,zoomStep:w,zoomable:v})},[m,v,M,w,K,W,V]);const j=h?O=>{const ne=b,[de,ye]=S[ne(787)]?.[ne(1921)](O)||[0,0];h(O,{x:de,y:ye})}:void 0,_=g?L.useCallback((O,ne)=>{const de=b,ye=k.getState()[de(828)].get(ne)[de(2075)][de(1572)];g(O,ye)},[]):void 0,H=p??N[b(1927)];return l.jsx(O0,{position:y,style:{...e,"--xy-minimap-background-color-props":typeof f===b(1841)?f:void 0,"--xy-minimap-mask-background-color-props":typeof s=="string"?s:void 0,"--xy-minimap-mask-stroke-color-props":typeof u===b(1841)?u:void 0,"--xy-minimap-mask-stroke-width-props":typeof d=="number"?d*Y:void 0,"--xy-minimap-node-background-color-props":typeof x===b(1841)?x:void 0,"--xy-minimap-node-stroke-color-props":typeof n===b(1841)?n:void 0,"--xy-minimap-node-stroke-width-props":typeof i===b(1539)?i:void 0},className:Pe(["react-flow__minimap",t]),"data-testid":b(1378),children:l[b(557)]("svg",{width:D,height:B,viewBox:Q+" "+R+" "+re+" "+ee,className:b(629),role:b(1353),"aria-labelledby":ae,ref:G,onClick:j,children:[H&&l[b(1970)](b(1059),{id:ae,children:H}),l[b(1970)](Dg,{onClick:_,nodeColor:x,nodeStrokeColor:n,nodeBorderRadius:r,nodeClassName:o,nodeStrokeWidth:i,nodeComponent:a}),l[b(1970)](b(2108),{className:b(1279),d:"M"+(Q-X)+","+(R-X)+"h"+(re+X*2)+"v"+(ee+X*2)+"h"+(-re-X*2)+b(1251)+I.x+","+I.y+"h"+I[b(502)]+"v"+I[b(1201)]+"h"+-I[b(502)]+"z",fillRule:b(1458),pointerEvents:b(2039)})]})})}$a[c(871)]="MiniMap";const Yg=L.memo($a),Ag=e=>t=>e?""+Math[c(1419)](1/t[c(688)][2],1):void 0,Ig={[ct[c(2163)]]:c(1604),[ct.Handle]:c(1233)};function Eg({nodeId:e,position:t,variant:n=ct[c(729)],className:x,style:o=void 0,children:r,color:i,minWidth:a=10,minHeight:f=10,maxWidth:s=Number[c(1924)],maxHeight:u=Number[c(1924)],keepAspectRatio:d=!1,resizeDirection:y,autoScale:h=!0,shouldResize:g,onResizeStart:m,onResize:v,onResizeEnd:p}){const M=c,w=ba(),z=typeof e===M(1841)?e:w,b=Ne(),k=L[M(1713)](null),G=n===ct.Handle,E=Ce(L.useCallback(Ag(G&&h),[G,h]),Le),I=L[M(1713)](null),q=t??Ig[n];L.useEffect(()=>{const K=M;if(!(!k[K(787)]||!z))return!I[K(787)]&&(I[K(787)]=i2({domNode:k[K(787)],nodeId:z,getStoreItems:()=>{const W=K,{nodeLookup:V,transform:N,snapGrid:D,snapToGrid:B,nodeOrigin:A,domNode:P}=b[W(1556)]();return{nodeLookup:V,transform:N,snapGrid:D,snapToGrid:B,nodeOrigin:A,paneDomNode:P}},onChange:(W,V)=>{const N=K,{triggerNodeChanges:D,nodeLookup:B,parentLookup:A,nodeOrigin:P}=b.getState(),Y=[],Z={x:W.x,y:W.y},J=B.get(z);if(J&&J[N(823)]&&J.parentId){const X=J[N(1252)]??P,Q=W[N(502)]??J[N(1815)][N(502)]??0,R=W[N(1201)]??J[N(1815)][N(1201)]??0,re={id:J.id,parentId:J[N(2060)],rect:{width:Q,height:R,...li({x:W.x??J[N(1400)].x,y:W.y??J[N(1400)].y},{width:Q,height:R},J[N(2060)],B,X)}},ee=Tx([re],B,A,P);Y.push(...ee),Z.x=W.x?Math.max(X[0]*Q,W.x):void 0,Z.y=W.y?Math.max(X[1]*R,W.y):void 0}if(Z.x!==void 0&&Z.y!==void 0){const X={id:z,type:N(1400),position:{...Z}};Y[N(2049)](X)}if(W[N(502)]!==void 0&&W[N(1201)]!==void 0){const X=y?y===N(956)?N(502):N(1201):!0,Q={id:z,type:"dimensions",resizing:!0,setAttributes:X,dimensions:{width:W[N(502)],height:W.height}};Y[N(2049)](Q)}for(const X of V){const Q={...X,type:N(1400)};Y.push(Q)}D(Y)},onEnd:({width:W,height:V})=>{const N=K,D={id:z,type:N(524),resizing:!1,dimensions:{width:W,height:V}};b.getState()[N(1085)]([D])}})),I[K(787)][K(943)]({controlPosition:q,boundaries:{minWidth:a,minHeight:f,maxWidth:s,maxHeight:u},keepAspectRatio:d,resizeDirection:y,onResizeStart:m,onResize:v,onResizeEnd:p,shouldResize:g}),()=>{I.current?.destroy()}},[q,a,f,s,u,d,m,v,p,g]);const F=q[M(1773)]("-");return l[M(1970)](M(1331),{className:Pe([M(859),M(725),...F,n,x]),ref:k,style:{...o,scale:E,...i&&{[M(G?553:935)]:i}},children:r})}L.memo(Eg);const ec=e=>Symbol[c(1797)]in e,nc=e=>c(542)in e,tc=(e,t)=>{const n=c,x=e instanceof Map?e:new Map(e.entries()),o=t instanceof Map?t:new Map(t[n(542)]());if(x.size!==o[n(2046)])return!1;for(const[r,i]of x)if(!o.has(r)||!Object.is(i,o[n(1446)](r)))return!1;return!0},jg=(e,t)=>{const n=c,x=e[Symbol[n(1797)]](),o=t[Symbol[n(1797)]]();let r=x.next(),i=o.next();for(;!r[n(2174)]&&!i[n(2174)];){if(!Object.is(r.value,i[n(1429)]))return!1;r=x.next(),i=o.next()}return!!r.done&&!!i[n(2174)]};function Ug(e,t){const n=c;return Object.is(e,t)?!0:typeof e!==n(1210)||e===null||typeof t!="object"||t===null||Object[n(1317)](e)!==Object[n(1317)](t)?!1:ec(e)&&ec(t)?nc(e)&&nc(t)?tc(e,t):jg(e,t):tc({entries:()=>Object[n(542)](e)},{entries:()=>Object.entries(t)})}const xc={inlineScript:c(1651),dataRequest:c(1760),external:c(1139),builtin:c(1901)},Gg=[{label:c(1081),value:"antdMessage"}],Og=[{label:c(1590),value:c(1590)},{label:c(1678),value:c(1678)},{label:c(1839),value:"warning"},{label:c(1738),value:c(1738)},{label:c(770),value:c(770)}];function oc(e,t,n){const x=c,o=n[x(1076)](i=>i.target===e),r=o[x(1028)];return o.map((i,a)=>{const f=x,s=t[f(2159)](d=>d.id===i[f(1513)]),u=s?.[f(455)];return{sourceId:i[f(1513)],sourceLabel:u?.[f(967)]??i[f(1513)],edgeIndex:a,totalIncoming:r}})}const Hg=({data:e,id:t})=>{const n=c,x=Ce(L[n(1020)](i=>oc(t,i[n(1053)],i.edges)[n(1001)](({sourceId:a,sourceLabel:f})=>({sourceId:a,label:f})),[t]),Ug),o=e.eventBlock[n(899)]??n(569),r=o===n(670)?e[n(1722)][n(1123)]:o===n(739)?e[n(1722)].externalHandlerKey:o===n(2079)?e[n(1722)][n(1800)]==="antdMessage"?e.eventBlock[n(1800)]+": "+String(e.eventBlock[n(2119)]?.[n(1621)]??"")[n(563)](0,24):e[n(1722)].builtinId:null;return l[n(557)](n(1331),{className:"bg-white border-2 border-blue-500 rounded-lg p-3 min-w-[180px] shadow-md",children:[l[n(1970)](lt,{type:n(819),position:ue[n(998)],className:n(1108)}),l[n(557)]("div",{className:n(1936),children:[l[n(1970)](n(1493),{className:"font-medium text-sm truncate",children:e[n(967)]}),l[n(557)](C[n(1823)],{size:n(1436),children:[l[n(1970)](C.Button,{type:"text",size:n(1436),icon:l.jsx(se[n(1026)],{}),onClick:()=>e[n(1684)](t)}),l[n(1970)](C[n(1079)],{type:n(1527),size:n(1436),danger:!0,icon:l[n(1970)](se[n(792)],{}),onClick:()=>e[n(1867)](t)})]})]}),l.jsx(n(1331),{className:n(635),children:l[n(557)](C[n(657)],{color:o===n(569)?n(1138):o===n(2079)?n(801):"purple",className:n(872),children:[xc[o],r?n(684)+r:""]})}),l[n(557)]("div",{className:"text-xs text-gray-500",children:[e[n(1722)].inputs?.[n(1028)]>0&&l[n(557)](n(1331),{children:[n(1967),e[n(1722)][n(1735)].map(i=>i[n(1952)])[n(1248)](", ")]}),x[n(1028)]>0&&l[n(557)](n(1331),{className:n(1988),children:["上游连线:",x[n(1001)](i=>l[n(557)](n(1331),{className:n(588),children:["←「",i[n(967)],n(1969)]},i[n(1202)]))]})]}),l[n(1970)](lt,{type:n(1513),position:ue.Bottom,className:n(1108)})]})},Tg={eventBlock:Hg},Vg=Object[c(542)](xc)[c(1001)](([e,t])=>({label:t,value:e})),rc=[{label:"点击",value:c(2034)},{label:"鼠标按下",value:c(925)},{label:c(1730),value:c(892)},{label:"双击",value:c(1230)},{label:c(1855),value:"mouseOver"},{label:c(1594),value:c(1219)},{label:c(879),value:"mouseEnter"},{label:c(715),value:c(1103)},{label:c(2101),value:"dataRequest"},{label:c(1090),value:c(739)}];function qg(e,t){const n=c,x={},o=[...e];return o[n(1068)]((r,i)=>{const a=n,f=t[a(1735)][i]?.[a(1952)]??(o[a(1028)]===1?a(909):a(909)+i);x[f]=a(2103)+r[a(1513)]}),x}function Wg(e,t,n){const x=c;return n[e]?.name??(t===1?x(909):x(909)+e)}const Xg=[{label:"string",value:c(1841)},{label:"number",value:"number"},{label:"boolean",value:c(894)},{label:"object",value:c(1210)},{label:c(596),value:"any"}];function ic(e){const t=c,n=rc[t(2159)](o=>o[t(1429)]===e[t(597)]),x=n?.[t(967)]??e[t(597)];if(e[t(597)]===t(739)){const o=(e[t(1577)]||"")[t(1619)]();return o?x+t(684)+o:x}return x}const Zg=({open:e,onClose:t,bindNodeId:n})=>{const x=c,{nodes:o,eventFlow:r,externalHandlerCatalog:i,addEventBlock:a,upsertEventBlock:f,removeEventBlock:s,addEventRoot:u,updateEventRoot:d}=Ee(),[y,h,g]=ig([]),[m,v,p]=ag([]),M=L[x(1713)](y);M[x(787)]=y;const[w,z]=L.useState(null),[b,k]=L[x(1303)](!1),[G]=C.Form[x(1044)](),E=C[x(1034)].useWatch(x(597),G),[I,q]=L[x(1303)](null),[F,K]=L[x(1303)](!1),[W]=C[x(1034)][x(1044)](),V=C[x(1034)][x(2151)](x(899),W),N=C[x(1034)][x(2151)](x(1800),W),D=C.Form[x(2151)]("inputs",W),B=L.useMemo(()=>!F||!I?[]:oc(I.id,y,m),[F,I,y,m]),A=L[x(1713)](()=>{}),P=L[x(1713)](()=>{});L[x(1027)](()=>{const S=x;if(F&&I){const j=I.builtinConfig??{},{outputs:_,...H}=I;W[S(1687)]({...H,executorType:I[S(899)]??S(569),builtinId:I[S(1800)],inputs:I[S(1735)]??[],builtinConfig:{content:String(j[S(1621)]??""),level:String(j[S(1571)]??S(1590)),duration:j[S(1844)]===void 0||j[S(1844)]===null?void 0:Number(j[S(1844)])}})}},[F,I,W]);const Y=L[x(1020)](S=>{v(j=>pi(S,j))},[v]),Z=S=>{const j=x,_={bindNodeId:S[j(466)],eventType:S[j(597)],externalEventKey:S.eventType===j(739)?(S[j(1577)]||"")[j(1619)]():void 0,flowData:{nodes:[],edges:[]},enabled:!0},H=u(_);z({..._,id:H}),G[j(1376)](),k(!1),C[j(494)][j(1678)]("事件流创建成功")},J=L[x(1020)](S=>{const j=x;s(S),h(_=>_[j(1076)](H=>H.id!==S)),v(_=>_[j(1076)](H=>H[j(1513)]!==S&&H[j(819)]!==S))},[s,h,v]),X=L[x(1020)](S=>{const j=x,_=M[j(787)][j(2159)](ne=>ne.id===S)?.[j(455)]?.[j(1722)],H=r[j(1758)][j(2159)](ne=>ne.id===S),O=_??H;O?(q({...O,id:S}),K(!0)):C.message[j(1839)]("找不到事件块")},[r[x(1758)]]);A[x(787)]=X,P[x(787)]=J,L.useEffect(()=>{const S=x;if(e&&w){const j=w[S(1928)][S(1053)][S(1001)](H=>({id:H.id,type:S(1722),position:H[S(1400)],data:{label:H[S(455)].label,eventBlock:H[S(455)][S(1722)],onEdit:O=>A[S(787)](O),onDelete:O=>P[S(787)](O)}})),_=w[S(1928)].edges.map(H=>({id:H.id,source:H[S(1513)],target:H.target}));h(j),v(_)}},[e,w,h,v]);const Q=()=>{const S=x,j={name:S(1037),executorType:"inlineScript",callback:"return args;",inputs:[],outputs:[]},_=a(j),H={...j,id:_},O={id:_,type:S(1722),position:{x:100+y.length*50,y:100+y[S(1028)]*30},data:{label:H[S(1952)],eventBlock:H,onEdit:ne=>A.current(ne),onDelete:ne=>P[S(787)](ne)}};h(ne=>[...ne,O])},R=()=>{const S=x,j={name:S(518),executorType:S(2079),builtinId:S(1563),builtinConfig:{content:S(1700),level:S(1590)},callback:S(463),inputs:[],outputs:[]},_=a(j),H={...j,id:_},O={id:_,type:"eventBlock",position:{x:120+y[S(1028)]*50,y:140+y[S(1028)]*30},data:{label:H[S(1952)],eventBlock:H,onEdit:ne=>A[S(787)](ne),onDelete:ne=>P[S(787)](ne)}};h(ne=>[...ne,O])},re=S=>{const j=x;if(!I)return;const _=S[j(899)]??I[j(899)]??j(569),H={name:S[j(1952)],callback:S[j(1322)]??I.callback,executorType:_,dataRequestKey:_===j(670)?(S[j(1123)]||"")[j(1619)]():void 0,externalHandlerKey:_===j(739)?(S.externalHandlerKey||"")[j(1619)]():void 0,builtinId:_===j(2079)?S.builtinId:void 0,builtinConfig:_===j(2079)&&S[j(1800)]===j(1563)?{content:String(S[j(2119)]?.[j(1621)]??"")[j(1619)](),level:S[j(2119)]?.[j(1571)]||j(1590),duration:S[j(2119)]?.[j(1844)]===null||S[j(2119)]?.[j(1844)]===void 0?void 0:Number(S[j(2119)].duration)}:void 0},O=S[j(1735)]??[],ne=O[j(1076)](ye=>ye?.[j(1952)]&&String(ye[j(1952)])[j(1619)]()),de={...I,...H,inputs:ne,outputs:[]};f(de),h(ye=>ye.map(ce=>ce.id===I.id?{...ce,data:{...ce[j(455)],label:de[j(1952)]||ce.data[j(967)],eventBlock:de}}:ce)),K(!1),q(null),C[j(494)][j(1678)](j(1328))},ee=()=>{const S=x;if(!w)return;const j=y[S(1001)](H=>{const O=S,ne=m[O(1076)](ce=>ce.target===H.id),de=H[O(455)][O(1722)],ye={...de,outputs:[]};return{id:H.id,eventBlockId:H.id,position:H[O(1400)],inputs:ne[O(1001)](ce=>ce.source),outputs:m[O(1076)](ce=>ce.source===H.id).map(ce=>ce[O(819)]),data:{label:H[O(455)][O(967)],eventBlock:ye,inputMapping:qg(ne,ye)}}}),_=m[S(1001)](H=>({id:H.id,source:H[S(1513)],target:H[S(819)]}));d(w.id,{flowData:{nodes:j,edges:_}}),_n[S(1836)]({...w,flowData:{nodes:j,edges:_}}),C[S(494)][S(1678)]("事件流保存成功"),t()},ae=L[x(694)](()=>o[x(1001)](S=>({label:S.name,value:S.id})),[o]),ie=L[x(694)](()=>n?r[x(1607)][x(1076)](S=>S[x(466)]===n):r[x(1607)],[r.eventRoots,n]);return e?l.jsxs(C.Modal,{title:x(1440),open:e,onCancel:t,width:1200,footer:null,styles:{body:{height:700,padding:0}},children:[w?l.jsxs(x(1331),{className:"h-full flex flex-col",style:{height:700},children:[l.jsxs(x(1331),{className:x(1507),children:[l[x(1970)](C[x(1823)],{children:l[x(557)](x(1493),{className:x(452),children:["编辑: ",ic(w)," →"," ",o.find(S=>S.id===w[x(466)])?.name]})}),l.jsxs(C.Space,{children:[l.jsx(C.Button,{icon:l[x(1970)](se[x(1091)],{}),onClick:Q,children:"添加事件块"}),l.jsx(C[x(1079)],{icon:l[x(1970)](se[x(1091)],{}),onClick:R,children:x(518)}),l[x(1970)](C[x(1079)],{type:x(617),icon:l.jsx(se[x(1406)],{}),onClick:ee,children:"保存"}),l[x(1970)](C[x(1079)],{icon:l[x(1970)](se.CloseOutlined,{}),onClick:()=>z(null),children:x(1888)})]})]}),l.jsx(x(1331),{className:"flex-1",children:l[x(557)](rg,{nodes:y,edges:m,onNodesChange:g,onEdgesChange:p,onConnect:Y,nodeTypes:Tg,fitView:!0,children:[l[x(1970)](ug,{}),l[x(1970)](vg,{}),l.jsx(Yg,{})]})})]}):l[x(557)](x(1331),{className:x(601),children:[l[x(557)](x(1331),{className:x(1220),children:[l.jsx("h3",{className:x(1516),children:x(628)}),l[x(1970)](C[x(1079)],{type:"primary",icon:l.jsx(se.PlusOutlined,{}),onClick:()=>k(!0),children:x(798)})]}),l[x(1970)](C[x(717)],{dataSource:ie,renderItem:S=>l.jsx(C[x(717)][x(865)],{actions:[l.jsx(C[x(1079)],{type:x(617),icon:l[x(1970)](se[x(1026)],{}),onClick:()=>z(S),children:"编辑"},"edit")],children:l[x(1970)](C[x(717)][x(865)][x(1782)],{title:l[x(557)](C[x(1823)],{children:[l[x(557)](x(1493),{children:[x(1802),ic(S)]}),l[x(1970)](C[x(657)],{color:x(901),children:o[x(2159)](j=>j.id===S[x(466)])?.[x(1952)]||S[x(466)]})]}),description:x(682)+S.flowData[x(1053)][x(1028)]+x(708)+S[x(1928)][x(1891)][x(1028)]})}),locale:{emptyText:l.jsx(C[x(1345)],{description:x(1851)})}}),l[x(1970)](C.Modal,{title:x(798),open:b,onCancel:()=>{G[x(1376)](),k(!1)},footer:null,afterOpenChange:S=>{const j=x;S&&(G[j(1376)](),n&&G[j(1687)]({bindNodeId:n}))},children:l[x(557)](C[x(1034)],{form:G,onFinish:Z,layout:"vertical",children:[l.jsx(C.Form.Item,{name:x(466),label:"绑定节点",rules:[{required:!0,message:"请选择节点"}],initialValue:n,children:l[x(1970)](C[x(2140)],{options:ae,placeholder:x(668),disabled:!!n})}),l[x(1970)](C[x(1034)].Item,{name:x(597),label:"触发方式",rules:[{required:!0,message:x(1630)}],children:l[x(1970)](C[x(2140)],{options:rc,placeholder:x(1785)})}),E==="external"&&l.jsx(C[x(1034)][x(865)],{name:x(1577),label:x(1762),rules:[{required:!0,message:x(778)},{validator:(S,j)=>(j||"").trim()?Promise[x(1734)]():Promise.reject(new Error(x(785)))}],extra:"与 eventBus.emitExternal(节点id, 该标识) 一致",children:l[x(1970)](C.Input,{placeholder:"例如:refresh"})}),l[x(1970)](C.Form[x(865)],{className:"mb-0",children:l[x(557)](C[x(1823)],{className:"w-full justify-end",children:[l[x(1970)](C.Button,{onClick:()=>{G[x(1376)](),k(!1)},children:"取消"}),l.jsx(C.Button,{type:x(617),htmlType:x(1472),children:"创建"})]})})]})})]}),l[x(1970)](C[x(1990)],{title:x(987),open:F,onCancel:()=>{K(!1),q(null)},footer:null,destroyOnClose:!0,children:l[x(557)](C[x(1034)],{form:W,onFinish:re,layout:x(776),children:[l[x(1970)](C.Form[x(865)],{name:"name",label:"名称",rules:[{required:!0,message:"请填写名称"}],children:l[x(1970)](C[x(1434)],{})}),l[x(1970)](C[x(1034)].Item,{name:"executorType",label:x(1275),rules:[{required:!0,message:x(727)}],children:l[x(1970)](C[x(2140)],{options:Vg,placeholder:x(1654)})}),V===x(2079)&&l[x(1970)](C[x(1034)][x(865)],{name:x(1800),label:x(1901),rules:[{required:!0,message:"请选择内置动作"}],children:l[x(1970)](C[x(2140)],{options:Gg,placeholder:x(1644)})}),V===x(2079)&&N==="antdMessage"&&l[x(557)](l[x(514)],{children:[l[x(1970)](C[x(1034)].Item,{name:[x(2119),x(1621)],label:x(1013),rules:[{required:!0,message:"请填写提示内容"}],extra:x(1520),children:l[x(1970)](C[x(1434)][x(1200)],{rows:3,placeholder:"例如:保存成功 或 结果:{{prev}}"})}),l[x(1970)](C[x(1034)][x(865)],{name:[x(2119),x(1571)],label:"状态 (type)",children:l.jsx(C.Select,{options:Og})}),l[x(1970)](C.Form[x(865)],{name:["builtinConfig",x(1844)],label:x(1788),extra:x(1259),children:l[x(1970)](C.InputNumber,{min:0,step:.5,style:{width:x(697)},placeholder:"默认"})})]}),V===x(670)&&l[x(1970)](C[x(1034)][x(865)],{name:"dataRequestKey",label:x(445),rules:[{required:!0,message:x(685)},{validator:(S,j)=>(j||"")[x(1619)]()?Promise[x(1734)]():Promise[x(474)](new Error(x(785)))}],extra:"运行时 eventBus.setDefaultRuntimeHandlers({ dataRequest: { [标识]: (ctx, args) => ... } })",children:l[x(1970)](C[x(1434)],{placeholder:x(590)})}),V===x(739)&&l[x(1970)](C[x(1034)][x(865)],{name:x(1154),label:x(2081),rules:[{required:!0,message:x(1093)},{validator:(S,j)=>(j||"").trim()?Promise[x(1734)]():Promise[x(474)](new Error(x(785)))}],extra:i[x(1028)]>0?"来自 ConfigEditor 的 externalEventActions;也可在运行时 eventBus.mergeDefaultRuntimeHandlers({ external }) 补充":"未配置下拉时手动填写 key;宿主可用 ConfigEditor externalEventActions 注册选项与 handler,或 eventBus.mergeDefaultRuntimeHandlers",children:i[x(1028)]>0?l[x(1970)](C[x(2140)],{showSearch:!0,optionFilterProp:"label",allowClear:!0,placeholder:x(970),options:i[x(1001)](S=>({value:S[x(1101)],label:S[x(967)],title:S[x(990)]?S[x(967)]+x(1689)+S[x(990)]:S[x(967)]+" ("+S[x(1101)]+")"}))}):l.jsx(C[x(1434)],{placeholder:x(950)})}),V===x(569)&&l[x(1970)](C[x(1034)][x(865)],{name:x(1322),label:x(679),rules:[{validator:(S,j)=>{const _=x;return typeof j===_(1841)&&j[_(1619)]()?Promise[_(1734)]():Promise[_(474)](new Error(_(1557)))}}],children:l[x(1970)](C[x(1434)].TextArea,{rows:6,placeholder:x(545)})}),B[x(1028)]>0&&l[x(557)](x(1331),{className:"mb-4 p-3 bg-amber-50 rounded border border-amber-100 text-sm",children:[l[x(1970)](x(1331),{className:x(921),children:x(972)}),l[x(1970)]("ul",{className:x(1540),children:B.map(S=>{const j=x,_=D??I?.[j(1735)]??[],H=Wg(S.edgeIndex,S[j(461)],_);return l[j(557)]("li",{className:j(1038),children:[l[j(557)](j(1331),{className:j(1638),children:["第 ",S[j(1397)]+1,j(1825),S[j(795)],j(1180),l[j(1970)](j(1253),{children:j(826)})," →"," ",l[j(557)]("code",{className:j(1011),children:[j(820),H]})]}),l[j(557)]("div",{className:j(804),children:[j(507),S[j(1397)]+1,j(742)]})]},S[j(1202)])})})]}),l[x(1970)](x(1331),{className:x(1116),children:x(1992)}),l[x(557)]("div",{className:"text-xs text-gray-500 mb-2",children:[x(900)," ",l[x(1970)](x(1368),{children:"args.prev"}),x(1640),l.jsx("code",{children:x(1786)}),"、",l.jsx(x(1368),{children:x(957)}),"…"]}),l[x(1970)](C.Form[x(717)],{name:x(1735),children:(S,{add:j,remove:_})=>l.jsxs(l[x(514)],{children:[S.map(({key:H,name:O,...ne})=>l[x(557)](C[x(1823)],{align:x(800),wrap:!0,className:"mb-2",children:[l.jsx(C[x(1034)].Item,{...ne,name:[O,x(1952)],rules:[{required:!0,message:"名称"}],children:l[x(1970)](C[x(1434)],{placeholder:x(1061),style:{width:140}})}),l[x(1970)](C.Form[x(865)],{...ne,name:[O,"type"],initialValue:x(596),children:l[x(1970)](C.Select,{options:Xg,style:{width:100}})}),l[x(1970)](se[x(1628)],{className:x(1862),onClick:()=>_(O)})]},H)),l[x(1970)](C[x(1079)],{type:x(1149),onClick:()=>j({type:x(596)}),block:!0,icon:l.jsx(se.PlusOutlined,{}),children:x(547)})]})}),l[x(1970)](C[x(1034)][x(865)],{className:x(1268),children:l[x(557)](C[x(1823)],{className:x(999),children:[l.jsx(C[x(1079)],{onClick:()=>{K(!1),q(null)},children:"取消"}),l[x(1970)](C[x(1079)],{type:x(617),htmlType:x(1472),children:"保存"})]})})]})})]}):null},X0={click:"点击",mouseDown:c(762),mouseUp:c(1730),doubleClick:"双击",mouseOver:c(1855),mouseLeave:c(1594),mouseEnter:c(879),contextMenu:"右键菜单",dataRequest:"数据请求",external:c(1090)};function Kg(e){const t=c;if(e[t(597)]===t(739)){const n=(e[t(1577)]||"")[t(1619)]();return n?X0[t(739)]+" · "+n:X0[t(739)]}return X0[e[t(597)]]}const Rg=Object[c(542)](X0)[c(1001)](([e,t])=>({label:t,value:e})),Jg=({nodeId:e})=>{const t=c,{eventFlow:n,addEventRoot:x,updateEventRoot:o,removeEventRoot:r}=Ee(),[i,a]=L[t(1303)](!1),[f,s]=L[t(1303)](null),[u,d]=L[t(1303)](!1),[y]=C.Form[t(1044)](),h=C[t(1034)].useWatch("eventType",y),g=L[t(694)](()=>{const w=t;return n.eventRoots[w(1076)](z=>z[w(466)]===e)},[n.eventRoots,e]),m=w=>{const z=t,b={bindNodeId:e,eventType:w[z(597)],externalEventKey:w[z(597)]==="external"?(w[z(1577)]||"").trim():void 0,flowData:{nodes:[],edges:[]},enabled:!0};x(b),y[z(1376)](),d(!1)},v=w=>{s(w),a(!0)},p=(w,z)=>{o(w.id,{enabled:z})},M=w=>{r(w)};return l[t(557)]("div",{children:[l[t(557)](t(1331),{className:"flex justify-between items-center mb-4",children:[l.jsx("h4",{className:"text-sm font-medium",children:t(709)}),l[t(1970)](C[t(1079)],{type:"primary",size:t(1436),icon:l[t(1970)](se.PlusOutlined,{}),onClick:()=>d(!0),children:t(821)})]}),l[t(1970)](C[t(717)],{dataSource:g,renderItem:w=>l[t(1970)](C.List[t(865)],{actions:[l.jsx(C[t(1926)],{checked:w[t(1155)],size:t(1436),onChange:z=>p(w,z)},t(1965)),l.jsx(C[t(1079)],{type:t(1527),size:t(1436),icon:l.jsx(se[t(1026)],{}),onClick:()=>v(w)},t(1790)),l[t(1970)](C.Popconfirm,{title:"确认删除",description:t(1286),onConfirm:()=>M(w.id),children:l[t(1970)](C.Button,{type:"text",danger:!0,size:t(1436),icon:l[t(1970)](se[t(792)],{})})},t(719))],children:l.jsx(C[t(717)][t(865)].Meta,{title:l[t(557)](C[t(1823)],{children:[l.jsx(C.Tag,{color:w[t(1155)]?"blue":t(1138),children:Kg(w)}),l[t(557)](t(1493),{className:t(1211),children:[w[t(1928)][t(1053)][t(1028)],t(897)]})]}),description:w[t(1155)]?l[t(1970)]("span",{className:t(517),children:t(2001)}):l[t(1970)]("span",{className:"text-xs text-gray-400",children:t(847)})})}),locale:{emptyText:l[t(1970)](C[t(1345)],{image:C.Empty[t(959)],description:t(1634)})}}),l[t(1970)](C.Modal,{title:t(821),open:u,onCancel:()=>{y[t(1376)](),d(!1)},footer:null,afterOpenChange:w=>{w&&y.resetFields()},children:l[t(557)](C.Form,{form:y,onFinish:m,layout:"vertical",children:[l.jsx(C[t(1034)][t(865)],{name:t(597),label:"触发方式",rules:[{required:!0,message:t(1630)}],children:l.jsx(C.Select,{options:Rg,placeholder:t(1617)})}),h===t(739)&&l.jsx(C[t(1034)][t(865)],{name:t(1577),label:t(1762),rules:[{required:!0,message:"请填写外部事件标识"},{validator:(w,z)=>(z||"")[t(1619)]()?Promise[t(1734)]():Promise[t(474)](new Error("标识不能为空"))}],extra:"与运行时 eventBus.emitExternal(节点id, 该标识) 一致,例如:refresh、dialog:opened",children:l.jsx(C[t(1434)],{placeholder:t(1375)})}),l[t(1970)](C[t(1034)][t(865)],{className:t(1023),children:l[t(557)](C[t(1823)],{className:t(999),children:[l[t(1970)](C[t(1079)],{onClick:()=>d(!1),children:"取消"}),l[t(1970)](C.Button,{type:t(617),htmlType:t(1472),children:"创建"})]})})]})}),l[t(1970)](Zg,{open:i,onClose:()=>{a(!1),s(null)},bindNodeId:e})]})},{Panel:bn}=C[c(971)],{TabPane:Z0}=C[c(1793)],{TextArea:_g}=C[c(1434)],ac=({defaultTestData:e})=>{const t=c,{nodes:n,selectedNodeId:x,updateNode:o,updateNodeStyle:r,updateNodeControl:i,updateNodeContent:a,materials:f,selectedStatusId:s,selectStatus:u}=Ee(),[d]=C[t(1034)][t(1044)](),[y,h]=L[t(1303)]("basic"),[g,m]=L.useState(!1),[v,p]=L[t(1303)](null),[M,w]=L[t(1303)]({}),z=L[t(694)](()=>n.find(D=>D.id===x),[n,x]),b=z?.[t(858)][t(1029)]||[],k=D=>{const B=t;x&&(D[B(1490)]&&r(x,D[B(1490)]),D[B(1952)]!==void 0&&o(x,{name:D[B(1952)]}),D[B(651)]&&i(x,D[B(651)]))};console[t(484)](x,t(467),z),L[t(1027)](()=>{const D=t;z&&z&&(d[D(1687)]({name:z.name,normalStyle:{width:100,height:100,x:0,y:0,padding:8,background:"transparent",borderRadius:0,opacity:1,...z[D(1490)]},controlInfo:{isDraggable:!0,isClickable:!0,isResizable:!0,isSelectable:!0,...z[D(651)]}}),u(null))},[z,u,d]);const G=()=>{const D=t;!x||!z||(p(D(1680)),m(!0))},E=D=>{const B=t;if(!x||!z)return;const A={id:ve[B(1045)](),name:D.name+B(1959)+(b[B(1028)]+1),expression:b[B(1028)]===0?"return true;":B(1554),material:{...D,id:ve[B(1045)]()},boundDatasetId:null};if(v===B(1680)){const P=[...b,A];a(x,{statusList:P})}else if(v){const P=b[B(1001)](Y=>{const Z=B;return Y.id===v?{...Y,material:{...D,id:ve[Z(1045)]()}}:Y});a(x,{statusList:P})}m(!1),p(null)},I=D=>{const B=t;if(!x||!z)return;const A=z[B(858)].statusList?.filter(P=>P.id!==D)||[];a(x,{statusList:A}),s===D&&u(null)},q=(D,B)=>{const A=t;if(!x||!z)return;const P=z[A(858)][A(1029)]?.map(Y=>Y.id===D?{...Y,...B}:Y)||[];a(x,{statusList:P})},F=D=>{const B=t;if(!x||!z)return;const A={...D,id:ve.nanoid(),name:D.name+B(582),expression:B(1554)},P=[...b,A];a(x,{statusList:P})},K=(D,B)=>{const A=t;if(!x||!z)return;const P=b[A(941)](Z=>Z.id===D);if(P===-1)return;const Y=[...b];B==="up"&&P>0?[Y[P],Y[P-1]]=[Y[P-1],Y[P]]:B===A(724)&&P<Y[A(1028)]-1&&([Y[P],Y[P+1]]=[Y[P+1],Y[P]]),a(x,{statusList:Y})},W=D=>{p(D),m(!0)},V=(D,B)=>{const A=t,P=B[A(1829)]||{},Y=P[A(446)]??0,Z=P.startY??0,J=P[A(1168)]??100,X=P[A(881)]??0,Q=Math[A(1419)]((P[A(2106)]||P[A(485)]||2)*2,4),R=Math[A(2007)](Y,J),re=Math[A(2007)](Z,X),ee=Math[A(1419)](Y,J),ae=Math[A(1419)](Z,X),ie=Math[A(1419)](ee-R,Q),S=Math[A(1419)](ae-re,Q),j=D.normalStyle.x||0,_=D[A(1490)].y||0;return{material:{...B,config:{...P,startX:Y-R,startY:Z-re,endX:J-R,endY:X-re}},box:{x:j+R,y:_+re,width:ie,height:S}}},N=(D,B)=>{const A=t;if(!x||!z)return;const{list:P,lineBox:Y}=b[A(1846)]((Z,J)=>{const X=A;if(J.id!==D)return Z[X(962)][X(2049)](J),Z;let Q;if(J.material.type==="LINE"&&X(1829)in B&&B[X(1829)]!==void 0){const R=J[X(640)],re=B[X(1829)];Q={...R,...B,config:{...R.config||{},...re}}}else Q={...J[X(640)],...B};if(Q[X(638)]===X(915)){const{material:R,box:re}=V(z,Q);return Z[X(962)][X(2049)]({...J,material:R}),Z[X(1479)]=re,Z}return Z.list[X(2049)]({...J,material:Q}),Z},{list:[],lineBox:null});Y!==null?o(x,{normalStyle:{...z[A(1490)],x:Y.x,y:Y.y,width:Y[A(502)],height:Y.height},contentInfo:{...z[A(858)],statusList:P}}):a(x,{statusList:P})};return z?l[t(557)](t(1331),{className:"h-full flex flex-col bg-white border-l border-gray-200",children:[l[t(557)](t(1331),{className:t(951),children:[l[t(1970)]("h3",{className:t(1280),children:t(2027)}),l[t(1970)]("p",{className:"text-sm text-gray-500",children:t(612)})]}),l[t(1970)](t(1331),{className:t(559),children:l[t(557)](C[t(1793)],{activeKey:y,onChange:h,children:[l[t(1970)](Z0,{tab:"基础",children:l[t(557)](C[t(1034)],{form:d,layout:t(776),onValuesChange:k,initialValues:{name:z[t(1952)]},children:[l[t(1970)](C[t(1034)][t(865)],{label:t(579),name:t(1952),children:l[t(1970)](C[t(1434)],{placeholder:t(1835)})}),l[t(557)](C[t(971)],{ghost:!0,defaultActiveKey:[t(1400),t(2046),t(803)],children:[l[t(1970)](bn,{header:"位置",children:l[t(557)](C[t(1823)],{children:[l[t(1970)](C[t(1034)][t(865)],{label:"X",name:[t(1490),"x"],children:l[t(1970)](C[t(1612)],{})}),l[t(1970)](C[t(1034)][t(865)],{label:"Y",name:[t(1490),"y"],children:l[t(1970)](C[t(1612)],{})})]})},t(1400)),l.jsx(bn,{header:"尺寸",children:l[t(557)](C[t(1823)],{children:[l[t(1970)](C.Form[t(865)],{label:"宽度",name:[t(1490),"width"],children:l.jsx(C[t(1612)],{min:10})}),l[t(1970)](C[t(1034)][t(865)],{label:"高度",name:["normalStyle",t(1201)],children:l[t(1970)](C[t(1612)],{min:10})})]})},t(2046)),l[t(557)](bn,{header:"样式",children:[l[t(1970)](C.Form[t(865)],{label:t(2082),name:["normalStyle","background"],children:l.jsx(C[t(1434)],{placeholder:"transparent, #fff, url(...)"})}),l.jsx(C[t(1034)][t(865)],{label:t(893),name:[t(1490),t(1754)],children:l.jsx(C.InputNumber,{min:0})}),l[t(1970)](C.Form.Item,{label:"圆角",name:[t(1490),"borderRadius"],children:l[t(1970)](C[t(1612)],{min:0})}),l[t(1970)](C[t(1034)][t(865)],{label:t(1685),name:[t(1490),"scale"],help:t(1094),children:l.jsx(C.InputNumber,{min:.1,max:5,step:.1})}),l[t(1970)](C[t(1034)][t(865)],{label:t(2072),name:[t(1490),t(1706)],help:t(1232),children:l[t(1970)](C[t(1612)],{min:0,max:360,step:1})}),l[t(1970)](C[t(1034)][t(865)],{label:t(1968),name:["normalStyle","opacity"],children:l[t(1970)](C.InputNumber,{min:0,max:1,step:.1})}),l.jsx(C[t(1034)][t(865)],{label:"层级",name:[t(1490),t(2147)],children:l.jsx(C[t(1612)],{})})]},t(803))]})]})},t(867)),l[t(1970)](Z0,{tab:"状态",children:z.type==="group"&&z[t(513)]?l[t(1970)](Ss,{node:z,updateNode:o,materials:f}):l[t(557)](t(1331),{className:t(1114),children:[l.jsxs("div",{className:t(1936),children:[l[t(557)](t(1493),{className:t(452),children:[t(1242),l[t(1970)](C.Tag,{color:t(901),className:t(1480),children:b[t(1028)]})]}),l[t(1970)](C[t(1079)],{type:"primary",size:t(1436),icon:l[t(1970)](se[t(1091)],{}),onClick:G,children:t(436)})]}),l[t(1970)]("p",{className:t(1574),children:t(1894)}),b[t(1028)]>0&&l[t(1970)](t(1331),{className:t(1459),children:l[t(1970)](t(1331),{className:"flex items-center justify-between",children:l.jsxs(t(1331),{children:[l[t(1970)](t(1493),{className:t(1175),children:t(1002)}),l[t(1970)]("span",{className:"ml-2 text-sm font-medium text-blue-600",children:t(1562)})]})})}),b[t(1028)]===0?l[t(1970)](t(1331),{className:t(439),children:"暂无状态,点击上方按钮添加"}):l[t(1970)](C[t(971)],{ghost:!0,defaultActiveKey:b[0]?.id+x,children:b.map((D,B)=>l[t(1970)](bn,{header:l[t(557)](t(1331),{className:"flex items-center gap-2",children:[l[t(1970)](t(1493),{className:"text-xs text-gray-400 w-5",children:B+1}),l.jsx(t(1493),{className:"font-medium",children:D[t(1952)]}),l.jsx(C[t(657)],{color:t(1138),className:t(1702),children:D[t(640)][t(638)]})]}),extra:l.jsxs(C.Space,{size:t(1436),onClick:A=>A[t(471)](),children:[l[t(1970)](C[t(1079)],{type:"text",size:t(1436),icon:l[t(1970)](se.ArrowUpOutlined,{}),disabled:B===0,onClick:A=>{A[t(471)](),K(D.id,"up")}}),l[t(1970)](C[t(1079)],{type:t(1527),size:t(1436),icon:l.jsx(se.ArrowDownOutlined,{}),disabled:B===b[t(1028)]-1,onClick:A=>{const P=t;A.stopPropagation(),K(D.id,P(724))}}),l[t(1970)](C.Button,{type:"text",size:t(1436),icon:l[t(1970)](se[t(1645)],{}),onClick:A=>{A[t(471)](),F(D)}}),l[t(1970)](C[t(1079)],{type:"text",size:"small",danger:!0,icon:l[t(1970)](se[t(792)],{}),onClick:A=>{A[t(471)](),I(D.id)}})]}),children:l[t(557)](C[t(1034)],{layout:t(776),children:[l[t(1970)](C[t(1034)][t(865)],{label:"状态名称",children:l.jsx(C.Input,{value:D[t(1952)],onChange:A=>q(D.id,{name:A[t(819)][t(1429)]}),placeholder:t(1217)})}),l.jsx(er,{status:D,onUpdate:A=>q(D.id,A),onAppendToExpression:A=>{const P=t;w(Y=>({...Y,[D.id]:(Y[D.id]??D[P(541)])+A}))}}),l[t(1970)](C[t(1034)][t(865)],{label:t(2052),help:t(1555),children:l[t(1970)](_g,{value:M[D.id]??D[t(541)],onChange:A=>w(P=>({...P,[D.id]:A[t(819)][t(1429)]})),onBlur:A=>{const P=t;q(D.id,{expression:A[P(819)][P(1429)]}),w(Y=>{const Z={...Y};return delete Z[D.id],Z})},rows:3,placeholder:"return true;"})}),l.jsx(C[t(1034)][t(865)],{label:t(1908),children:l[t(557)]("div",{className:t(1358),children:[l[t(1970)](C.Tag,{color:t(901),children:D[t(640)].name}),l[t(1970)](C.Tag,{color:"default",children:D[t(640)][t(638)]}),l[t(1970)](C.Button,{type:t(1799),size:t(1436),icon:l[t(1970)](se[t(1026)],{}),onClick:()=>W(D.id),children:t(1441)})]})}),l.jsx(C[t(1494)],{style:{margin:t(1342)}}),l[t(557)]("div",{className:t(1267),children:[l[t(557)]("div",{className:"flex items-center justify-between mb-2",children:[l.jsx("span",{className:t(1693),children:t(1586)}),l[t(1970)](C[t(657)],{children:D[t(640)][t(1952)]})]}),l[t(1970)](nr,{material:D.material,onSave:A=>N(D.id,A),dataOptions:e||[]})]})]})},D.id+x))})]})},t(1035)),l[t(1970)](Z0,{tab:"控制",children:l[t(557)](C[t(1034)],{form:d,layout:"vertical",onValuesChange:k,children:[l[t(1970)](C[t(1034)].Item,{label:t(2073),name:[t(651),t(1343)],valuePropName:t(876),children:l[t(1970)](C[t(1926)],{})}),l[t(1970)](C[t(1034)][t(865)],{label:"可点击",name:[t(651),t(1367)],valuePropName:t(876),children:l[t(1970)](C[t(1926)],{})}),l.jsx(C[t(1034)][t(865)],{label:t(487),name:["controlInfo",t(1364)],valuePropName:t(876),children:l.jsx(C[t(1926)],{})}),l[t(1970)](C[t(1034)][t(865)],{label:t(1336),name:[t(651),"isSelectable"],valuePropName:t(876),children:l[t(1970)](C.Switch,{})})]})},t(655)),l[t(1970)](Z0,{tab:t(1447),children:l.jsx(Jg,{nodeId:z.id})},t(1957))]})}),l[t(1970)]("div",{className:t(1215),children:l[t(557)](t(1331),{className:t(1319),children:[l[t(557)](t(1331),{children:[t(1958),z.id[t(563)](0,8),t(577)]}),l.jsxs(t(1331),{children:[t(2133),b[t(1028)]]})]})}),l[t(1970)](C.Modal,{title:"选择物料",open:g,onCancel:()=>{m(!1),p(null)},footer:null,width:600,children:l[t(1970)]("div",{className:t(1070),children:l[t(557)](C[t(971)],{ghost:!0,defaultActiveKey:[t(867),"device",t(1527),t(1918)],children:[l[t(1970)](bn,{header:t(906),children:l[t(1970)]("div",{className:t(1873),children:f[t(1076)](D=>["矩形","圆形",t(829)][t(1931)](D[t(1952)]))[t(1001)](D=>l.jsx(cc,{material:D,onClick:()=>E(D)},D.id))})},t(867)),l[t(1970)](bn,{header:"设备图标",children:l.jsx(t(1331),{className:t(1873),children:f[t(1076)](D=>["阀门","泵","罐体"][t(1931)](D.name)||D[t(638)]===t(477)&&!["矩形","圆形",t(829)][t(1931)](D[t(1952)])).map(D=>l[t(1970)](cc,{material:D,onClick:()=>E(D)},D.id))})},t(738)),l[t(1970)](bn,{header:"文本",children:l[t(1970)]("div",{className:"grid grid-cols-4 gap-2",children:f[t(1076)](D=>D.type==="TEXT")[t(1001)](D=>l[t(557)](t(1331),{className:t(581),onClick:()=>E(D),children:[l[t(1970)](t(1331),{className:t(549),children:l[t(1970)](t(1493),{className:t(1122),children:"T"})}),l[t(1970)](t(1493),{className:t(1702),children:D[t(1952)]})]},D.id))})},t(1527)),l[t(1970)](bn,{header:"线条",children:l[t(1970)](t(1331),{className:t(1873),children:f[t(1076)](D=>D[t(638)]===t(915))[t(1001)](D=>l[t(557)](t(1331),{className:t(581),onClick:()=>E(D),children:[l[t(1970)]("div",{className:t(549),children:l[t(1970)](t(1331),{className:t(1151)})}),l[t(1970)](t(1493),{className:t(1702),children:D[t(1952)]})]},D.id))})},t(1918))]})})})]}):l.jsx("div",{className:t(1547),children:l[t(1970)](C[t(1345)],{description:"请选择一个节点"})})},cc=({material:e,onClick:t})=>{const n=c,x=e.type===n(477)?e.src:void 0;return l[n(557)]("div",{className:"border rounded-lg p-2 cursor-pointer hover:border-blue-500 hover:bg-blue-50 transition-all text-center",onClick:t,children:[l[n(1970)]("div",{className:n(1532),children:x?l[n(1970)](n(1353),{src:x,alt:e[n(1952)],className:n(1718)}):l.jsx("span",{className:n(1702),children:e[n(1952)][0]})}),l.jsx(n(1493),{className:n(1702),children:e[n(1952)]})]})},Qg="ConfigEditor-module__configEditor__dinNG",Fg={configEditor:Qg},sc=`{
21
11
  "speed": 0,
22
12
  "temp": 25,
23
13
  "nested": { "x": 1 }
24
- }`,tc=({open:e,onClose:t})=>{const{dataPool:n,addDataPoolItem:o,updateDataPoolItem:r,removeDataPoolItem:i}=De(),[s]=m.Form.useForm(),[l,d]=E.useState(null);E.useEffect(()=>{e||(d(null),s.resetFields())},[e,s]);const c=()=>{d("__new__"),s.setFieldsValue({name:`数据集 ${n.length+1}`,sampleJson:ec.trim()})},u=p=>{d(p.id),s.setFieldsValue({name:p.name,sampleJson:JSON.stringify(p.sample??{},null,2)})},f=p=>{const y=p.trim();if(!y)return{};const b=JSON.parse(y);if(b===null||typeof b!="object"||Array.isArray(b))throw new Error("sample 必须是 JSON 对象");return b},h=()=>{s.validateFields().then(p=>{let y;try{y=f(p.sampleJson)}catch(w){m.message.error(w instanceof Error?w.message:"sample JSON 无效");return}const b=p.name.trim();if(!b){m.message.error("请填写名称");return}l==="__new__"?(o({name:b,sample:y}),m.message.success("已添加")):l&&(r(l,{name:b,sample:y}),m.message.success("已保存")),d(null),s.resetFields()}).catch(()=>{})},g=[{title:"名称",dataIndex:"name",key:"name"},{title:"字段数",key:"keys",width:90,render:(p,y)=>Object.keys(y.sample||{}).length},{title:"操作",key:"actions",width:160,render:(p,y)=>a.jsxs(m.Space,{children:[a.jsx(m.Button,{type:"link",size:"small",icon:a.jsx(se.EditOutlined,{}),onClick:()=>u(y),children:"编辑"}),a.jsx(m.Popconfirm,{title:"删除该数据集?",description:"所有绑定此数据集的状态将自动解除绑定。",onConfirm:()=>{i(y.id),m.message.success("已删除,相关状态已解除数据集绑定")},children:a.jsx(m.Button,{type:"link",size:"small",danger:!0,icon:a.jsx(se.DeleteOutlined,{}),children:"删除"})})]})}];return a.jsxs(m.Modal,{title:"数据池(节点状态用)",open:e,onCancel:t,width:760,footer:null,destroyOnClose:!0,children:[a.jsxs("p",{className:"text-sm text-gray-500 mb-3",children:["每个数据集是一个 JSON 对象模板(Record)。状态绑定后,表达式签名为"," ",a.jsx("code",{className:"bg-gray-100 px-1 rounded",children:"(data) => boolean"}),",预览时以模板为底合并画布「模拟数据」。"]}),a.jsx("div",{className:"mb-3",children:a.jsx(m.Button,{type:"primary",icon:a.jsx(se.PlusOutlined,{}),onClick:c,children:"新建数据集"})}),l&&a.jsxs("div",{className:"mb-4 p-3 border border-blue-200 rounded bg-blue-50/50",children:[a.jsxs("div",{className:"font-medium mb-2",children:[l==="__new__"?"新建":"编辑","数据集"]}),a.jsxs(m.Form,{form:s,layout:"vertical",children:[a.jsx(m.Form.Item,{name:"name",label:"名称",rules:[{required:!0,message:"必填"}],children:a.jsx(m.Input,{placeholder:"如:电机测点集"})}),a.jsx(m.Form.Item,{name:"sampleJson",label:"示例数据(JSON 对象)",rules:[{required:!0,message:"必填"}],children:a.jsx(m.Input.TextArea,{rows:10,className:"font-mono text-sm",placeholder:ec})}),a.jsxs(m.Space,{children:[a.jsx(m.Button,{type:"primary",onClick:h,children:"保存"}),a.jsx(m.Button,{onClick:()=>{d(null),s.resetFields()},children:"取消"})]})]})]}),a.jsx(m.Table,{size:"small",rowKey:"id",dataSource:n,columns:g,pagination:!1,locale:{emptyText:"暂无数据集,请点击「新建」"}})]})},{Header:Ym,Sider:nc,Content:Xm}=m.Layout,Vm=({initialScheme:e,onChange:t,readonly:n=!1,headerExtra:o,className:r="",style:i,showHeader:s=!0,showMaterialPanel:l=!0,showPropertyPanel:d=!0,customMaterials:c,initialDataPool:u,initialEventFlow:f,externalEventActions:h,defaultTestData:g})=>{const[p,y]=E.useState(!1),[b,w]=E.useState(!1),[_,v]=E.useState(""),[x]=E.useState(()=>[{paramsCode:"001",paramsName:"通频速度有效值",value:25,paramsUnit:"mm/s"},{paramsCode:"002",paramsName:"通频加速度有效值",value:1.5,paramsUnit:"m/s²"}]),T=g!==void 0?g:x,{exportScheme:I,importScheme:O,nodes:D,materials:L,dataPool:q,eventFlow:$,root:H,addMaterial:V,setDataPool:C,setEventFlow:S,setExternalHandlerCatalog:k}=De();E.useRef(null);const N=E.useRef(!1);E.useEffect(()=>{if(!N.current&&(N.current=!0,L.length===0&&fi.forEach(B=>V(B)),c&&c.length>0&&c.forEach(B=>V(B)),e&&O(e),f!==void 0&&S(f),h&&h.length>0)){k(h);const B={};for(const j of h){const Z=String(j.key??"").trim();Z&&j.handler&&(B[Z]=j.handler)}Object.keys(B).length>0&&Ht.mergeDefaultRuntimeHandlers({external:B})}},[]),E.useEffect(()=>{u!==void 0&&C(u)},[u,C]),E.useEffect(()=>{if(t){const B=I();t(B)}},[D,L,q,$,H,t,I]);const M=E.useCallback(()=>{const B=I(),j=JSON.stringify(B,null,2),Z="data:application/json;charset=utf-8,"+encodeURIComponent(j),G=`scheme_${Date.now()}.json`,ee=document.createElement("a");ee.setAttribute("href",Z),ee.setAttribute("download",G),ee.click(),m.message.success("导出成功!")},[I]),A=E.useCallback(()=>{try{const B=JSON.parse(_);O(B),y(!1),v(""),m.message.success("导入成功!")}catch{m.message.error("JSON 格式错误,请检查输入")}},[_,O]),Y=E.useCallback(B=>{const j=new FileReader;return j.onload=Z=>{try{const G=Z.target?.result,ee=JSON.parse(G);O(ee),m.message.success("导入成功!"),y(!1)}catch{m.message.error("文件格式错误")}},j.readAsText(B),!1},[O]),z=E.useCallback(()=>I(),[I]);return E.useImperativeHandle(E.useRef?.(),()=>({getScheme:z,exportScheme:I,importScheme:O}),[z,I,O]),a.jsx(m.ConfigProvider,{locale:yc,children:a.jsx("div",{className:Hm.configEditor,style:i,children:a.jsxs(m.Layout,{className:`h-full w-full overflow-hidden ${r}`,children:[s&&a.jsxs(Ym,{className:"bg-white border-b border-gray-200 px-4 flex items-center justify-between flex-shrink-0",children:[a.jsxs("div",{className:"flex items-center gap-4",children:[a.jsx("div",{className:"text-xl font-bold text-blue-600",children:"组态编辑器"}),a.jsxs("div",{className:"text-sm text-gray-500",children:[D.length," 个节点"]})]}),a.jsxs(m.Space,{children:[o,!n&&a.jsxs(a.Fragment,{children:[a.jsx(m.Tooltip,{title:"导出 JSON",children:a.jsx(m.Button,{icon:a.jsx(se.DownloadOutlined,{}),onClick:M,children:"导出"})}),a.jsx(m.Tooltip,{title:"导入 JSON",children:a.jsx(m.Button,{icon:a.jsx(se.UploadOutlined,{}),onClick:()=>y(!0),children:"导入"})}),a.jsx(m.Tooltip,{title:"节点状态用的数据集(与事件流无关)",children:a.jsx(m.Button,{icon:a.jsx(se.DatabaseOutlined,{}),onClick:()=>w(!0),children:"数据池"})})]})]})]}),a.jsxs(m.Layout,{children:[l&&!n&&a.jsx(nc,{width:280,className:"bg-white",theme:"light",children:a.jsx(pi,{})}),a.jsx(Xm,{className:"bg-gray-100 relative",children:a.jsx(Wi,{defaultTestData:T})}),d&&!n&&a.jsx(nc,{width:360,className:"bg-white",theme:"light",children:a.jsx(Ql,{defaultTestData:Array.isArray(T)?T:void 0})})]}),a.jsx(tc,{open:b,onClose:()=>w(!1)}),a.jsx(m.Modal,{title:"导入组态方案",open:p,onOk:A,onCancel:()=>{y(!1),v("")},width:600,children:a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{children:[a.jsx("p",{className:"mb-2",children:"选择 JSON 文件导入:"}),a.jsx("input",{type:"file",accept:".json",onChange:B=>{const j=B.target.files?.[0];j&&Y(j)},className:`block w-full text-sm text-gray-500
25
- file:mr-4 file:py-2 file:px-4
26
- file:rounded-full file:border-0
27
- file:text-sm file:font-semibold
28
- file:bg-blue-50 file:text-blue-700
29
- hover:file:bg-blue-100`})]}),a.jsx("div",{className:"text-center text-gray-400",children:"或"}),a.jsxs("div",{children:[a.jsx("p",{className:"mb-2",children:"粘贴 JSON 内容:"}),a.jsx("textarea",{value:_,onChange:B=>v(B.target.value),placeholder:"粘贴 JSON 内容...",className:"w-full h-48 p-3 border border-gray-300 rounded-lg font-mono text-sm resize-none focus:outline-none focus:ring-2 focus:ring-blue-500"})]})]})})]})})})};ve.Canvas=Wi,ve.ConfigEditor=Vm,ve.DataPoolModal=tc,ve.EventFlowBinding=Yi,ve.MaterialPanel=pi,ve.NodeRenderer=Jo,ve.PropertyPanel=Ql,ve.buildMergedDataRecord=ai,ve.collectDatasetFieldPaths=si,ve.createDefaultNode=hi,ve.createDefaultStatus=Xo,ve.evaluateStatusExpression=Ho,ve.eventBus=Ht,ve.findActiveStatus=li,ve.initMaterials=fi,ve.useEditorStore=De,Object.defineProperty(ve,Symbol.toStringTag,{value:"Module"})}));
30
- //# sourceMappingURL=config-editor.umd.js.map
14
+ }`,lc=({open:e,onClose:t})=>{const n=c,{dataPool:x,addDataPoolItem:o,updateDataPoolItem:r,removeDataPoolItem:i}=Ee(),[a]=C[n(1034)][n(1044)](),[f,s]=L[n(1303)](null);L[n(1027)](()=>{const m=n;!e&&(s(null),a[m(1376)]())},[e,a]);const u=()=>{const m=n;s(m(2063)),a[m(1687)]({name:"数据集 "+(x[m(1028)]+1),sampleJson:sc[m(1619)]()})},d=m=>{const v=n;s(m.id),a.setFieldsValue({name:m[v(1952)],sampleJson:JSON[v(1613)](m[v(1183)]??{},null,2)})},y=m=>{const v=n,p=m.trim();if(!p)return{};const M=JSON.parse(p);if(M===null||typeof M!="object"||Array[v(1098)](M))throw new Error(v(1579));return M},h=()=>{const m=n;a[m(2062)]()[m(1548)](v=>{const p=m;let M;try{M=y(v[p(456)])}catch(z){C[p(494)][p(1738)](z instanceof Error?z[p(494)]:p(1976));return}const w=v[p(1952)].trim();if(!w){C[p(494)][p(1738)](p(919));return}f===p(2063)?(o({name:w,sample:M}),C[p(494)][p(1678)](p(1909))):f&&(r(f,{name:w,sample:M}),C[p(494)][p(1678)](p(930))),s(null),a[p(1376)]()}).catch(()=>{})},g=[{title:"名称",dataIndex:"name",key:n(1952)},{title:n(1694),key:n(1648),width:90,render:(m,v)=>Object[n(1648)](v.sample||{})[n(1028)]},{title:"操作",key:n(1052),width:160,render:(m,v)=>l[n(557)](C[n(1823)],{children:[l[n(1970)](C[n(1079)],{type:n(1799),size:n(1436),icon:l.jsx(se.EditOutlined,{}),onClick:()=>d(v),children:"编辑"}),l[n(1970)](C[n(1346)],{title:"删除该数据集?",description:n(1296),onConfirm:()=>{const p=n;i(v.id),C.message[p(1678)](p(667))},children:l[n(1970)](C[n(1079)],{type:n(1799),size:n(1436),danger:!0,icon:l[n(1970)](se.DeleteOutlined,{}),children:"删除"})})]})}];return l.jsxs(C[n(1990)],{title:n(864),open:e,onCancel:t,width:760,footer:null,destroyOnClose:!0,children:[l.jsxs("p",{className:n(1428),children:["每个数据集是一个 JSON 对象模板(Record)。状态绑定后,表达式签名为"," ",l[n(1970)](n(1368),{className:n(1998),children:n(1914)}),n(1475)]}),l[n(1970)](n(1331),{className:n(1430),children:l.jsx(C.Button,{type:n(617),icon:l[n(1970)](se[n(1091)],{}),onClick:u,children:n(981)})}),f&&l[n(557)](n(1331),{className:n(1925),children:[l[n(557)](n(1331),{className:n(481),children:[f===n(2063)?"新建":"编辑",n(1115)]}),l[n(557)](C[n(1034)],{form:a,layout:n(776),children:[l[n(1970)](C[n(1034)][n(865)],{name:n(1952),label:"名称",rules:[{required:!0,message:"必填"}],children:l[n(1970)](C[n(1434)],{placeholder:"如:电机测点集"})}),l.jsx(C.Form.Item,{name:n(456),label:n(1592),rules:[{required:!0,message:"必填"}],children:l[n(1970)](C[n(1434)][n(1200)],{rows:10,className:n(1664),placeholder:sc})}),l[n(557)](C[n(1823)],{children:[l[n(1970)](C[n(1079)],{type:n(617),onClick:h,children:"保存"}),l[n(1970)](C[n(1079)],{onClick:()=>{const m=n;s(null),a[m(1376)]()},children:"取消"})]})]})]}),l[n(1970)](C[n(2172)],{size:n(1436),rowKey:"id",dataSource:x,columns:g,pagination:!1,locale:{emptyText:n(844)}})]})},{Header:$g,Sider:dc,Content:eh}=C[c(960)],nh=({initialScheme:e,onChange:t,readonly:n=!1,headerExtra:x,className:o="",style:r,showHeader:i=!0,showMaterialPanel:a=!0,showPropertyPanel:f=!0,customMaterials:s,initialDataPool:u,initialEventFlow:d,externalEventActions:y,defaultTestData:h})=>{const g=c,[m,v]=L[g(1303)](!1),[p,M]=L.useState(!1),[w,z]=L[g(1303)](""),[b]=L[g(1303)](()=>[{paramsCode:"001",paramsName:g(1050),value:25,paramsUnit:g(1912)},{paramsCode:g(1063),paramsName:g(483),value:1.5,paramsUnit:g(1665)}]),k=h!==void 0?h:b,G=i&&!n,{exportScheme:E,importScheme:I,nodes:q,materials:F,dataPool:K,eventFlow:W,root:V,addMaterial:N,setDataPool:D,setEventFlow:B,setExternalHandlerCatalog:A}=Ee();L[g(1713)](null);const P=L.useRef(!1);L[g(1027)](()=>{const Q=g;if(!P[Q(787)]&&(P[Q(787)]=!0,F[Q(1028)]===0&&bo[Q(1068)](R=>N(R)),s&&s[Q(1028)]>0&&s.forEach(R=>N(R)),e&&I(e),d!==void 0&&B(d),y&&y.length>0)){A(y);const R={};for(const re of y){const ee=String(re[Q(1101)]??"")[Q(1619)]();ee&&re[Q(548)]&&(R[ee]=re[Q(548)])}Object[Q(1648)](R).length>0&&_n[Q(1512)]({external:R})}},[]),L[g(1027)](()=>{u!==void 0&&D(u)},[u,D]),L.useEffect(()=>{if(t){const Q=E();t(Q)}},[q,F,K,W,V,t,E]);const Y=L[g(1020)](()=>{const Q=g,R=E(),re=JSON.stringify(R,null,2),ee=Q(1929)+encodeURIComponent(re),ae="scheme_"+Date.now()+Q(1051),ie=document.createElement("a");ie[Q(690)](Q(1508),ee),ie.setAttribute(Q(1022),ae),ie[Q(2034)](),C[Q(494)].success("导出成功!")},[E]),Z=L[g(1020)](()=>{const Q=g;try{const R=JSON[Q(1753)](w);I(R),v(!1),z(""),C[Q(494)].success(Q(1911))}catch{C.message.error(Q(2003))}},[w,I]),J=L[g(1020)](Q=>{const R=g,re=new FileReader;return re[R(1420)]=ee=>{const ae=R;try{const ie=ee[ae(819)]?.[ae(1e3)],S=JSON.parse(ie);I(S),C.message[ae(1678)](ae(1911)),v(!1)}catch{C[ae(494)].error("文件格式错误")}},re[R(1172)](Q),!1},[I]),X=L[g(1020)](()=>E(),[E]);return L[g(535)](L[g(1713)]?.(),()=>({getScheme:X,exportScheme:E,importScheme:I}),[X,E,I]),l[g(1970)](C[g(1314)],{locale:Mc,children:l[g(1970)](g(1331),{className:Fg[g(1288)],style:r,children:l.jsxs(C[g(960)],{className:g(2050)+o,children:[G&&l[g(557)]($g,{className:g(1877),children:[l[g(557)](g(1331),{className:g(726),children:[l[g(1970)](g(1331),{className:g(1246),children:g(978)}),l.jsxs(g(1331),{className:"text-sm text-gray-500",children:[q.length,g(897)]})]}),l[g(557)](C.Space,{children:[x,!n&&l[g(557)](l.Fragment,{children:[l[g(1970)](C[g(1384)],{title:g(686),children:l[g(1970)](C.Button,{icon:l[g(1970)](se.DownloadOutlined,{}),onClick:Y,children:"导出"})}),l[g(1970)](C[g(1384)],{title:g(567),children:l[g(1970)](C.Button,{icon:l[g(1970)](se[g(1568)],{}),onClick:()=>v(!0),children:"导入"})}),l[g(1970)](C.Tooltip,{title:"节点状态用的数据集(与事件流无关)",children:l[g(1970)](C[g(1079)],{icon:l[g(1970)](se[g(1558)],{}),onClick:()=>M(!0),children:"数据池"})})]})]})]}),l[g(557)](C[g(960)],{children:[a&&!n&&l[g(1970)](dc,{width:280,className:g(464),theme:g(1320),children:l.jsx(Co,{})}),l[g(1970)](eh,{className:"bg-gray-100 relative",children:l.jsx($o,{defaultTestData:k,readonly:n})}),f&&!n&&l[g(1970)](dc,{width:360,className:g(464),theme:g(1320),children:l.jsx(ac,{defaultTestData:Array[g(1098)](k)?k:void 0})})]}),l[g(1970)](lc,{open:p,onClose:()=>M(!1)}),l[g(1970)](C[g(1990)],{title:g(890),open:m,onOk:Z,onCancel:()=>{v(!1),z("")},width:600,children:l[g(557)](g(1331),{className:"space-y-4",children:[l[g(557)]("div",{children:[l[g(1970)]("p",{className:g(616),children:"选择 JSON 文件导入:"}),l[g(1970)]("input",{type:"file",accept:g(1051),onChange:Q=>{const R=g,re=Q[R(819)].files?.[0];re&&J(re)},className:g(784)})]}),l[g(1970)]("div",{className:g(1127),children:"或"}),l[g(557)](g(1331),{children:[l[g(1970)]("p",{className:"mb-2",children:g(2128)}),l.jsx("textarea",{value:w,onChange:Q=>z(Q.target[g(1429)]),placeholder:"粘贴 JSON 内容...",className:g(1301)})]})]})})]})})})};pe[c(650)]=$o,pe[c(1828)]=nh,pe[c(1757)]=lc,pe[c(1042)]=_o,pe[c(732)]=Co,pe[c(1338)]=sx,pe[c(1948)]=ac,pe[c(1759)]=yo,pe[c(1058)]=ho,pe[c(1899)]=zo,pe[c(955)]=ex,pe[c(1189)]=F0,pe[c(730)]=_n,pe[c(585)]=mo,pe[c(1650)]=bo,pe[c(1997)]=Ee,Object[c(1388)](pe,Symbol[c(993)],{value:"Module"})});