@cornerstonejs/tools 2.0.0-beta.2 → 2.0.0-beta.3
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.
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js +1 -1
- package/dist/cjs/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/cjs/enums/Events.d.ts +1 -0
- package/dist/cjs/enums/Events.js +1 -0
- package/dist/cjs/enums/Events.js.map +1 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +41 -0
- package/dist/cjs/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +39 -0
- package/dist/cjs/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js +5 -1
- package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js +5 -1
- package/dist/cjs/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/store/ToolGroupManager/ToolGroup.d.ts +2 -0
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js +35 -0
- package/dist/cjs/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js +1 -1
- package/dist/cjs/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/cjs/tools/AdvancedMagnifyTool.d.ts +36 -0
- package/dist/cjs/tools/AdvancedMagnifyTool.js +448 -0
- package/dist/cjs/tools/AdvancedMagnifyTool.js.map +1 -0
- package/dist/cjs/tools/AdvancedMagnifyViewport.d.ts +76 -0
- package/dist/cjs/tools/AdvancedMagnifyViewport.js +352 -0
- package/dist/cjs/tools/AdvancedMagnifyViewport.js.map +1 -0
- package/dist/cjs/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
- package/dist/cjs/tools/AdvancedMagnifyViewportManager.js +133 -0
- package/dist/cjs/tools/AdvancedMagnifyViewportManager.js.map +1 -0
- package/dist/cjs/tools/MagnifyTool.js +2 -2
- package/dist/cjs/tools/MagnifyTool.js.map +1 -1
- package/dist/cjs/tools/OrientationMarkerTool.d.ts +88 -0
- package/dist/cjs/tools/OrientationMarkerTool.js +193 -0
- package/dist/cjs/tools/OrientationMarkerTool.js.map +1 -0
- package/dist/cjs/tools/OverlayGridTool.d.ts +31 -0
- package/dist/cjs/tools/OverlayGridTool.js +170 -0
- package/dist/cjs/tools/OverlayGridTool.js.map +1 -0
- package/dist/cjs/tools/ReferenceLinesTool.d.ts +3 -0
- package/dist/cjs/tools/ReferenceLinesTool.js +71 -2
- package/dist/cjs/tools/ReferenceLinesTool.js.map +1 -1
- package/dist/cjs/tools/annotation/AngleTool.js +2 -1
- package/dist/cjs/tools/annotation/AngleTool.js.map +1 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.js +1 -1
- package/dist/cjs/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/cjs/tools/annotation/CircleROITool.d.ts +1 -2
- package/dist/cjs/tools/annotation/CircleROITool.js +8 -8
- package/dist/cjs/tools/annotation/CircleROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/CobbAngleTool.d.ts +31 -5
- package/dist/cjs/tools/annotation/CobbAngleTool.js +268 -71
- package/dist/cjs/tools/annotation/CobbAngleTool.js.map +1 -1
- package/dist/cjs/tools/annotation/DragProbeTool.js +4 -3
- package/dist/cjs/tools/annotation/DragProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/EllipticalROITool.d.ts +2 -3
- package/dist/cjs/tools/annotation/EllipticalROITool.js +20 -16
- package/dist/cjs/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/LengthTool.js +1 -1
- package/dist/cjs/tools/annotation/LengthTool.js.map +1 -1
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.d.ts +1 -2
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js +22 -9
- package/dist/cjs/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/cjs/tools/annotation/ProbeTool.d.ts +1 -2
- package/dist/cjs/tools/annotation/ProbeTool.js +10 -9
- package/dist/cjs/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/cjs/tools/annotation/RectangleROITool.d.ts +1 -1
- package/dist/cjs/tools/annotation/RectangleROITool.js +9 -9
- package/dist/cjs/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationDisplayTool.js +4 -0
- package/dist/cjs/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/cjs/tools/base/AnnotationTool.d.ts +1 -1
- package/dist/cjs/tools/base/AnnotationTool.js.map +1 -1
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js +3 -0
- package/dist/cjs/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
- package/dist/cjs/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/cjs/tools/index.d.ts +4 -1
- package/dist/cjs/tools/index.js +7 -1
- package/dist/cjs/tools/index.js.map +1 -1
- package/dist/cjs/types/EventTypes.d.ts +9 -1
- package/dist/cjs/types/IToolGroup.d.ts +3 -0
- package/dist/cjs/types/ToolAction.d.ts +8 -0
- package/dist/cjs/types/ToolAction.js +3 -0
- package/dist/cjs/types/ToolAction.js.map +1 -0
- package/dist/cjs/types/ToolSpecificAnnotationTypes.d.ts +55 -0
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/utilities/getModalityUnit.js +5 -2
- package/dist/cjs/utilities/getModalityUnit.js.map +1 -1
- package/dist/cjs/utilities/index.d.ts +2 -2
- package/dist/cjs/utilities/index.js +4 -3
- package/dist/cjs/utilities/index.js.map +1 -1
- package/dist/cjs/utilities/math/angle/angleBetweenLines.d.ts +3 -1
- package/dist/cjs/utilities/math/angle/angleBetweenLines.js +18 -1
- package/dist/cjs/utilities/math/angle/angleBetweenLines.js.map +1 -1
- package/dist/cjs/utilities/stackPrefetch/index.d.ts +3 -2
- package/dist/cjs/utilities/stackPrefetch/index.js +8 -6
- package/dist/cjs/utilities/stackPrefetch/index.js.map +1 -1
- package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
- package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js +227 -0
- package/dist/cjs/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
- package/dist/cjs/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
- package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js +23 -93
- package/dist/cjs/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
- package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
- package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js +85 -0
- package/dist/cjs/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js +1 -1
- package/dist/esm/drawingSvg/getSvgDrawingHelper.js.map +1 -1
- package/dist/esm/enums/Events.d.ts +1 -0
- package/dist/esm/enums/Events.js +1 -0
- package/dist/esm/enums/Events.js.map +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js +6 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDown.js.map +1 -1
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.d.ts +2 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js +35 -0
- package/dist/esm/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.js.map +1 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.d.ts +3 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js +32 -0
- package/dist/esm/eventDispatchers/shared/getToolsWithActionsForMouseEvent.js.map +1 -0
- package/dist/esm/eventListeners/mouse/mouseDownListener.js +5 -1
- package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js +5 -1
- package/dist/esm/eventListeners/mouse/mouseMoveListener.js.map +1 -1
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.d.ts +2 -0
- package/dist/esm/store/ToolGroupManager/ToolGroup.js +35 -1
- package/dist/esm/store/ToolGroupManager/ToolGroup.js.map +1 -1
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js +1 -1
- package/dist/esm/synchronizers/callbacks/stackImageSyncCallback.js.map +1 -1
- package/dist/esm/tools/AdvancedMagnifyTool.d.ts +36 -0
- package/dist/esm/tools/AdvancedMagnifyTool.js +440 -0
- package/dist/esm/tools/AdvancedMagnifyTool.js.map +1 -0
- package/dist/esm/tools/AdvancedMagnifyViewport.d.ts +76 -0
- package/dist/esm/tools/AdvancedMagnifyViewport.js +346 -0
- package/dist/esm/tools/AdvancedMagnifyViewport.js.map +1 -0
- package/dist/esm/tools/AdvancedMagnifyViewportManager.d.ts +36 -0
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js +128 -0
- package/dist/esm/tools/AdvancedMagnifyViewportManager.js.map +1 -0
- package/dist/esm/tools/MagnifyTool.js +2 -2
- package/dist/esm/tools/MagnifyTool.js.map +1 -1
- package/dist/esm/tools/OrientationMarkerTool.d.ts +88 -0
- package/dist/esm/tools/OrientationMarkerTool.js +185 -0
- package/dist/esm/tools/OrientationMarkerTool.js.map +1 -0
- package/dist/esm/tools/OverlayGridTool.d.ts +31 -0
- package/dist/esm/tools/OverlayGridTool.js +165 -0
- package/dist/esm/tools/OverlayGridTool.js.map +1 -0
- package/dist/esm/tools/ReferenceLinesTool.d.ts +3 -0
- package/dist/esm/tools/ReferenceLinesTool.js +71 -2
- package/dist/esm/tools/ReferenceLinesTool.js.map +1 -1
- package/dist/esm/tools/annotation/AngleTool.js +2 -1
- package/dist/esm/tools/annotation/AngleTool.js.map +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js +1 -1
- package/dist/esm/tools/annotation/BidirectionalTool.js.map +1 -1
- package/dist/esm/tools/annotation/CircleROITool.d.ts +1 -2
- package/dist/esm/tools/annotation/CircleROITool.js +8 -8
- package/dist/esm/tools/annotation/CircleROITool.js.map +1 -1
- package/dist/esm/tools/annotation/CobbAngleTool.d.ts +31 -5
- package/dist/esm/tools/annotation/CobbAngleTool.js +275 -72
- package/dist/esm/tools/annotation/CobbAngleTool.js.map +1 -1
- package/dist/esm/tools/annotation/DragProbeTool.js +4 -3
- package/dist/esm/tools/annotation/DragProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/EllipticalROITool.d.ts +2 -3
- package/dist/esm/tools/annotation/EllipticalROITool.js +20 -16
- package/dist/esm/tools/annotation/EllipticalROITool.js.map +1 -1
- package/dist/esm/tools/annotation/LengthTool.js +1 -1
- package/dist/esm/tools/annotation/LengthTool.js.map +1 -1
- package/dist/esm/tools/annotation/PlanarFreehandROITool.d.ts +1 -2
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js +22 -9
- package/dist/esm/tools/annotation/PlanarFreehandROITool.js.map +1 -1
- package/dist/esm/tools/annotation/ProbeTool.d.ts +1 -2
- package/dist/esm/tools/annotation/ProbeTool.js +10 -9
- package/dist/esm/tools/annotation/ProbeTool.js.map +1 -1
- package/dist/esm/tools/annotation/RectangleROITool.d.ts +1 -1
- package/dist/esm/tools/annotation/RectangleROITool.js +9 -9
- package/dist/esm/tools/annotation/RectangleROITool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationDisplayTool.js +3 -0
- package/dist/esm/tools/base/AnnotationDisplayTool.js.map +1 -1
- package/dist/esm/tools/base/AnnotationTool.d.ts +1 -1
- package/dist/esm/tools/base/AnnotationTool.js.map +1 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js +4 -1
- package/dist/esm/tools/displayTools/Contour/contourDisplay.js.map +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js +1 -1
- package/dist/esm/tools/displayTools/Labelmap/labelmapDisplay.js.map +1 -1
- package/dist/esm/tools/index.d.ts +4 -1
- package/dist/esm/tools/index.js +4 -1
- package/dist/esm/tools/index.js.map +1 -1
- package/dist/esm/types/EventTypes.d.ts +9 -1
- package/dist/esm/types/IToolGroup.d.ts +3 -0
- package/dist/esm/types/ToolAction.d.ts +8 -0
- package/dist/esm/types/ToolAction.js +2 -0
- package/dist/esm/types/ToolAction.js.map +1 -0
- package/dist/esm/types/ToolSpecificAnnotationTypes.d.ts +55 -0
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/utilities/getModalityUnit.js +5 -2
- package/dist/esm/utilities/getModalityUnit.js.map +1 -1
- package/dist/esm/utilities/index.d.ts +2 -2
- package/dist/esm/utilities/index.js +2 -2
- package/dist/esm/utilities/index.js.map +1 -1
- package/dist/esm/utilities/math/angle/angleBetweenLines.d.ts +3 -1
- package/dist/esm/utilities/math/angle/angleBetweenLines.js +19 -2
- package/dist/esm/utilities/math/angle/angleBetweenLines.js.map +1 -1
- package/dist/esm/utilities/stackPrefetch/index.d.ts +3 -2
- package/dist/esm/utilities/stackPrefetch/index.js +3 -2
- package/dist/esm/utilities/stackPrefetch/index.js.map +1 -1
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.d.ts +16 -0
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js +220 -0
- package/dist/esm/utilities/stackPrefetch/stackContextPrefetch.js.map +1 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.d.ts +7 -1
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.js +12 -79
- package/dist/esm/utilities/stackPrefetch/stackPrefetch.js.map +1 -1
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.d.ts +14 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js +77 -0
- package/dist/esm/utilities/stackPrefetch/stackPrefetchUtils.js.map +1 -0
- package/dist/umd/index.js +1 -1
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
- package/src/drawingSvg/getSvgDrawingHelper.ts +4 -1
- package/src/enums/Events.ts +9 -0
- package/src/eventDispatchers/mouseEventHandlers/mouseDown.ts +11 -2
- package/src/eventDispatchers/mouseEventHandlers/mouseDownAnnotationAction.ts +72 -0
- package/src/eventDispatchers/shared/getToolsWithActionsForMouseEvent.ts +66 -0
- package/src/eventListeners/mouse/mouseDownListener.ts +7 -1
- package/src/eventListeners/mouse/mouseMoveListener.ts +7 -1
- package/src/index.ts +6 -0
- package/src/store/ToolGroupManager/ToolGroup.ts +79 -2
- package/src/synchronizers/callbacks/stackImageSyncCallback.ts +1 -1
- package/src/tools/AdvancedMagnifyTool.ts +725 -0
- package/src/tools/AdvancedMagnifyViewport.ts +624 -0
- package/src/tools/AdvancedMagnifyViewportManager.ts +291 -0
- package/src/tools/MagnifyTool.ts +2 -2
- package/src/tools/OrientationMarkerTool.ts +235 -0
- package/src/tools/OverlayGridTool.ts +357 -0
- package/src/tools/ReferenceLinesTool.ts +131 -3
- package/src/tools/annotation/AngleTool.ts +4 -1
- package/src/tools/annotation/BidirectionalTool.ts +1 -1
- package/src/tools/annotation/CircleROITool.ts +13 -20
- package/src/tools/annotation/CobbAngleTool.ts +422 -99
- package/src/tools/annotation/DragProbeTool.ts +6 -13
- package/src/tools/annotation/EllipticalROITool.ts +28 -29
- package/src/tools/annotation/LengthTool.ts +1 -1
- package/src/tools/annotation/PlanarFreehandROITool.ts +35 -20
- package/src/tools/annotation/ProbeTool.ts +17 -30
- package/src/tools/annotation/RectangleROITool.ts +15 -19
- package/src/tools/base/AnnotationDisplayTool.ts +4 -0
- package/src/tools/base/AnnotationTool.ts +2 -1
- package/src/tools/displayTools/Contour/contourDisplay.ts +8 -0
- package/src/tools/displayTools/Labelmap/labelmapDisplay.ts +1 -1
- package/src/tools/index.ts +6 -0
- package/src/types/EventTypes.ts +23 -0
- package/src/types/IToolGroup.ts +7 -0
- package/src/types/ToolAction.ts +54 -0
- package/src/types/ToolSpecificAnnotationTypes.ts +58 -0
- package/src/types/index.ts +2 -0
- package/src/utilities/getModalityUnit.ts +8 -2
- package/src/utilities/index.ts +2 -1
- package/src/utilities/math/angle/angleBetweenLines.ts +39 -9
- package/src/utilities/stackPrefetch/index.ts +3 -7
- package/src/utilities/stackPrefetch/stackContextPrefetch.ts +380 -0
- package/src/utilities/stackPrefetch/stackPrefetch.ts +29 -151
- package/src/utilities/stackPrefetch/stackPrefetchUtils.ts +114 -0
package/dist/umd/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! For license information please see index.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@cornerstonejs/core"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Common/Core/CellArray"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Filters/General/AppendPolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder")):"function"==typeof define&&define.amd?define(["@cornerstonejs/core","@kitware/vtk.js/Common/DataModel/PiecewiseFunction","@kitware/vtk.js/Rendering/Core/ColorTransferFunction","@kitware/vtk.js/Common/Core/CellArray","@kitware/vtk.js/Common/Core/Points","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Filters/General/AppendPolyData","@kitware/vtk.js/Rendering/Core/Actor","@kitware/vtk.js/Rendering/Core/Mapper","gl-matrix","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Common/Core/MatrixBuilder"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("@cornerstonejs/core"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Common/Core/CellArray"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Filters/General/AppendPolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder")):e.cornerstoneTools3D=t(e.cornerstone3D,e["@kitware/vtk.js/Common/DataModel/PiecewiseFunction"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction"],e["@kitware/vtk.js/Common/Core/CellArray"],e["@kitware/vtk.js/Common/Core/Points"],e["@kitware/vtk.js/Common/DataModel/PolyData"],e["@kitware/vtk.js/Common/Core/DataArray"],e["@kitware/vtk.js/Filters/General/AppendPolyData"],e["@kitware/vtk.js/Rendering/Core/Actor"],e["@kitware/vtk.js/Rendering/Core/Mapper"],e.window,e["@kitware/vtk.js/Common/Core/Math"],e["@kitware/vtk.js/Common/Core/MatrixBuilder"])}(self,(function(e,t,n,r,o,a,i,l,c,s,d,u,v){return function(){var f={907:function(e,t,n){e=n.nmd(e);var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Boolean]",l="[object Date]",c="[object Function]",s="[object GeneratorFunction]",d="[object Map]",u="[object Number]",v="[object Object]",f="[object Promise]",g="[object RegExp]",h="[object Set]",p="[object String]",m="[object Symbol]",w="[object WeakMap]",E="[object ArrayBuffer]",y="[object DataView]",I="[object Float32Array]",b="[object Float64Array]",C="[object Int8Array]",T="[object Int16Array]",_="[object Int32Array]",D="[object Uint8Array]",O="[object Uint8ClampedArray]",S="[object Uint16Array]",x="[object Uint32Array]",M=/\w*$/,k=/^\[object .+?Constructor\]$/,R=/^(?:0|[1-9]\d*)$/,P={};P[a]=P["[object Array]"]=P[E]=P[y]=P[i]=P[l]=P[I]=P[b]=P[C]=P[T]=P[_]=P[d]=P[u]=P[v]=P[g]=P[h]=P[p]=P[m]=P[D]=P[O]=P[S]=P[x]=!0,P["[object Error]"]=P[c]=P[w]=!1;var N="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,A="object"==typeof self&&self&&self.Object===Object&&self,L=N||A||Function("return this")(),U=t&&!t.nodeType&&t,V=U&&e&&!e.nodeType&&e,B=V&&V.exports===U;function j(e,t){return e.set(t[0],t[1]),e}function H(e,t){return e.add(t),e}function W(e,t,n,r){var o=-1,a=e?e.length:0;for(r&&a&&(n=e[++o]);++o<a;)n=t(n,e[o],o,e);return n}function F(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function G(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function q(e,t){return function(n){return e(t(n))}}function z(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var K,Y=Array.prototype,J=Function.prototype,$=Object.prototype,Z=L["__core-js_shared__"],X=(K=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=J.toString,ee=$.hasOwnProperty,te=$.toString,ne=RegExp("^"+Q.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),re=B?L.Buffer:void 0,oe=L.Symbol,ae=L.Uint8Array,ie=q(Object.getPrototypeOf,Object),le=Object.create,ce=$.propertyIsEnumerable,se=Y.splice,de=Object.getOwnPropertySymbols,ue=re?re.isBuffer:void 0,ve=q(Object.keys,Object),fe=Le(L,"DataView"),ge=Le(L,"Map"),he=Le(L,"Promise"),pe=Le(L,"Set"),me=Le(L,"WeakMap"),we=Le(Object,"create"),Ee=He(fe),ye=He(ge),Ie=He(he),be=He(pe),Ce=He(me),Te=oe?oe.prototype:void 0,_e=Te?Te.valueOf:void 0;function De(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Oe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function xe(e){this.__data__=new Oe(e)}function Me(e,t,n){var r=e[t];ee.call(e,t)&&We(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function ke(e,t){for(var n=e.length;n--;)if(We(e[n][0],t))return n;return-1}function Re(e,t,n,r,o,f,w){var k;if(r&&(k=f?r(e,o,f,w):r(e)),void 0!==k)return k;if(!Ke(e))return e;var R=Fe(e);if(R){if(k=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!t)return function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,k)}else{var N=Ve(e),A=N==c||N==s;if(qe(e))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(e,t);if(N==v||N==a||A&&!f){if(F(e))return f?e:{};if(k=function(e){return"function"!=typeof e.constructor||je(e)?{}:Ke(t=ie(e))?le(t):{};var t}(A?{}:e),!t)return function(e,t){return Ne(e,Ue(e),t)}(e,function(e,t){return e&&Ne(t,Ye(t),e)}(k,e))}else{if(!P[N])return f?e:{};k=function(e,t,n,r){var o,a=e.constructor;switch(t){case E:return Pe(e);case i:case l:return new a(+e);case y:return function(e,t){var n=t?Pe(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,r);case I:case b:case C:case T:case _:case D:case O:case S:case x:return function(e,t){var n=t?Pe(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,r);case d:return function(e,t,n){return W(t?n(G(e),!0):G(e),j,new e.constructor)}(e,r,n);case u:case p:return new a(e);case g:return function(e){var t=new e.constructor(e.source,M.exec(e));return t.lastIndex=e.lastIndex,t}(e);case h:return function(e,t,n){return W(t?n(z(e),!0):z(e),H,new e.constructor)}(e,r,n);case m:return o=e,_e?Object(_e.call(o)):{}}}(e,N,Re,t)}}w||(w=new xe);var L=w.get(e);if(L)return L;if(w.set(e,k),!R)var U=n?function(e){return function(e,t,n){var r=t(e);return Fe(e)?r:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(r,n(e))}(e,Ye,Ue)}(e):Ye(e);return function(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n););}(U||e,(function(o,a){U&&(o=e[a=o]),Me(k,a,Re(o,t,n,r,a,e,w))})),k}function Pe(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Ne(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var i=t[o],l=r?r(n[i],e[i],i,n,e):void 0;Me(n,i,void 0===l?e[i]:l)}return n}function Ae(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Le(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ke(e)||(t=e,X&&X in t))&&(ze(e)||F(e)?ne:k).test(He(e));var t}(n)?n:void 0}De.prototype.clear=function(){this.__data__=we?we(null):{}},De.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},De.prototype.get=function(e){var t=this.__data__;if(we){var n=t[e];return n===r?void 0:n}return ee.call(t,e)?t[e]:void 0},De.prototype.has=function(e){var t=this.__data__;return we?void 0!==t[e]:ee.call(t,e)},De.prototype.set=function(e,t){return this.__data__[e]=we&&void 0===t?r:t,this},Oe.prototype.clear=function(){this.__data__=[]},Oe.prototype.delete=function(e){var t=this.__data__,n=ke(t,e);return!(n<0||(n==t.length-1?t.pop():se.call(t,n,1),0))},Oe.prototype.get=function(e){var t=this.__data__,n=ke(t,e);return n<0?void 0:t[n][1]},Oe.prototype.has=function(e){return ke(this.__data__,e)>-1},Oe.prototype.set=function(e,t){var n=this.__data__,r=ke(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Se.prototype.clear=function(){this.__data__={hash:new De,map:new(ge||Oe),string:new De}},Se.prototype.delete=function(e){return Ae(this,e).delete(e)},Se.prototype.get=function(e){return Ae(this,e).get(e)},Se.prototype.has=function(e){return Ae(this,e).has(e)},Se.prototype.set=function(e,t){return Ae(this,e).set(e,t),this},xe.prototype.clear=function(){this.__data__=new Oe},xe.prototype.delete=function(e){return this.__data__.delete(e)},xe.prototype.get=function(e){return this.__data__.get(e)},xe.prototype.has=function(e){return this.__data__.has(e)},xe.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Oe){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new Se(r)}return n.set(e,t),this};var Ue=de?q(de,Object):function(){return[]},Ve=function(e){return te.call(e)};function Be(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||R.test(e))&&e>-1&&e%1==0&&e<t}function je(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||$)}function He(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(fe&&Ve(new fe(new ArrayBuffer(1)))!=y||ge&&Ve(new ge)!=d||he&&Ve(he.resolve())!=f||pe&&Ve(new pe)!=h||me&&Ve(new me)!=w)&&(Ve=function(e){var t=te.call(e),n=t==v?e.constructor:void 0,r=n?He(n):void 0;if(r)switch(r){case Ee:return y;case ye:return d;case Ie:return f;case be:return h;case Ce:return w}return t});var Fe=Array.isArray;function Ge(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}(e.length)&&!ze(e)}var qe=ue||function(){return!1};function ze(e){var t=Ke(e)?te.call(e):"";return t==c||t==s}function Ke(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return Ge(e)?function(e,t){var n=Fe(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&Ge(e)}(e)&&ee.call(e,"callee")&&(!ce.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var i in e)!t&&!ee.call(e,i)||o&&("length"==i||Be(i,r))||n.push(i);return n}(e):function(e){if(!je(e))return ve(e);var t=[];for(var n in Object(e))ee.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return Re(e,!0,!0)}},485:function(e,t,n){var r,o="__lodash_hash_undefined__",a=1/0,i="[object Function]",l="[object GeneratorFunction]",c="[object Symbol]",s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,d=/^\w*$/,u=/^\./,v=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g,g=/^\[object .+?Constructor\]$/,h="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,m=h||p||Function("return this")(),w=Array.prototype,E=Function.prototype,y=Object.prototype,I=m["__core-js_shared__"],b=(r=/[^.]+$/.exec(I&&I.keys&&I.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",C=E.toString,T=y.hasOwnProperty,_=y.toString,D=RegExp("^"+C.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),O=m.Symbol,S=w.splice,x=V(m,"Map"),M=V(Object,"create"),k=O?O.prototype:void 0,R=k?k.toString:void 0;function P(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function N(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function A(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function L(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}function U(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function V(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){if(!F(e)||b&&b in e)return!1;var t=function(e){var t=F(e)?_.call(e):"";return t==i||t==l}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?D:g;return t.test(function(e){if(null!=e){try{return C.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}(n)?n:void 0}P.prototype.clear=function(){this.__data__=M?M(null):{}},P.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},P.prototype.get=function(e){var t=this.__data__;if(M){var n=t[e];return n===o?void 0:n}return T.call(t,e)?t[e]:void 0},P.prototype.has=function(e){var t=this.__data__;return M?void 0!==t[e]:T.call(t,e)},P.prototype.set=function(e,t){return this.__data__[e]=M&&void 0===t?o:t,this},N.prototype.clear=function(){this.__data__=[]},N.prototype.delete=function(e){var t=this.__data__,n=L(t,e);return!(n<0||(n==t.length-1?t.pop():S.call(t,n,1),0))},N.prototype.get=function(e){var t=this.__data__,n=L(t,e);return n<0?void 0:t[n][1]},N.prototype.has=function(e){return L(this.__data__,e)>-1},N.prototype.set=function(e,t){var n=this.__data__,r=L(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},A.prototype.clear=function(){this.__data__={hash:new P,map:new(x||N),string:new P}},A.prototype.delete=function(e){return U(this,e).delete(e)},A.prototype.get=function(e){return U(this,e).get(e)},A.prototype.has=function(e){return U(this,e).has(e)},A.prototype.set=function(e,t){return U(this,e).set(e,t),this};var B=H((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(G(e))return R?R.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(t);var n=[];return u.test(e)&&n.push(""),e.replace(v,(function(e,t,r,o){n.push(r?o.replace(f,"$1"):t||e)})),n}));function j(e){if("string"==typeof e||G(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function H(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(H.Cache||A),n}H.Cache=A;var W=Array.isArray;function F(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function G(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&_.call(e)==c}e.exports=function(e,t,n){var r=null==e?void 0:function(e,t){var n;t=function(e,t){if(W(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!G(e))||d.test(e)||!s.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:W(n=t)?n:B(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[j(t[r++])];return r&&r==o?e:void 0}(e,t);return void 0===r?n:r}},396:function(e){"use strict";e.exports=r},785:function(e){"use strict";e.exports=i},807:function(e){"use strict";e.exports=u},847:function(e){"use strict";e.exports=v},348:function(e){"use strict";e.exports=o},441:function(e){"use strict";e.exports=t},70:function(e){"use strict";e.exports=a},127:function(e){"use strict";e.exports=l},474:function(e){"use strict";e.exports=c},795:function(e){"use strict";e.exports=n},610:function(e){"use strict";e.exports=s},953:function(t){"use strict";t.exports=e},976:function(e){"use strict";e.exports=d},609:function(e,t,n){var r=n(425).default;function o(){"use strict";e.exports=o=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},n=Object.prototype,a=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},l="function"==typeof Symbol?Symbol:{},c=l.iterator||"@@iterator",s=l.asyncIterator||"@@asyncIterator",d=l.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function v(e,t,n,r){var o=t&&t.prototype instanceof h?t:h,a=Object.create(o.prototype),l=new S(r||[]);return i(a,"_invoke",{value:T(e,n,l)}),a}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=v;var g={};function h(){}function p(){}function m(){}var w={};u(w,c,(function(){return this}));var E=Object.getPrototypeOf,y=E&&E(E(x([])));y&&y!==n&&a.call(y,c)&&(w=y);var I=m.prototype=h.prototype=Object.create(w);function b(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(o,i,l,c){var s=f(e[o],e,i);if("throw"!==s.type){var d=s.arg,u=d.value;return u&&"object"==r(u)&&a.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,l,c)}),(function(e){n("throw",e,l,c)})):t.resolve(u).then((function(e){d.value=e,l(d)}),(function(e){return n("throw",e,l,c)}))}c(s.arg)}var o;i(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}})}function T(e,t,n){var r="suspendedStart";return function(o,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw a;return{value:void 0,done:!0}}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var l=_(i,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=f(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function _(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var o=f(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,g;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,g):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function D(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(D,this),this.reset(!0)}function x(e){if(e){var t=e[c];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(a.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return r.next=r}}return{next:M}}function M(){return{value:void 0,done:!0}}return p.prototype=m,i(I,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:p,configurable:!0}),p.displayName=u(m,d,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,d,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},b(C.prototype),u(C.prototype,s,(function(){return this})),t.AsyncIterator=C,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new C(v(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},b(I),u(I,d,"Generator"),u(I,c,(function(){return this})),u(I,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=x,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return i.type="throw",i.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;O(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:x(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),g}},t}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},425:function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},841:function(e,t,n){var r=n(609)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},g={};function h(e){var t=g[e];if(void 0!==t)return t.exports;var n=g[e]={id:e,loaded:!1,exports:{}};return f[e](n,n.exports,h),n.loaded=!0,n.exports}h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,{a:t}),t},h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},h.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var p={};return function(){"use strict";h.r(p),h.d(p,{AngleTool:function(){return Wg},AnnotationDisplayTool:function(){return Ks},AnnotationTool:function(){return $s},ArrowAnnotateTool:function(){return Bg},BaseTool:function(){return Ra},BidirectionalTool:function(){return Ag},BrushTool:function(){return Ss},CONSTANTS:function(){return u},CircleROITool:function(){return kg},CircleScissorsTool:function(){return ch},CobbAngleTool:function(){return zg},CrosshairsTool:function(){return mg},DragProbeTool:function(){return Wf},EllipticalROITool:function(){return _g},Enums:function(){return K},LengthTool:function(){return cg},MIPJumpToClickTool:function(){return og},MagnifyTool:function(){return Jg},PaintFillTool:function(){return gh},PanTool:function(){return Pf},PlanarFreehandROITool:function(){return ef},PlanarRotateTool:function(){return Zf},ProbeTool:function(){return Bf},RectangleROIStartEndThresholdTool:function(){return Id},RectangleROIThresholdTool:function(){return wd},RectangleROITool:function(){return pd},RectangleScissorsTool:function(){return ih},ReferenceCursors:function(){return Zg},ReferenceLines:function(){return yg},ReferenceLinesTool:function(){return yg},ScaleOverlayTool:function(){return eh},SegmentationDisplayTool:function(){return Li},SphereScissorsTool:function(){return dh},StackScrollMouseWheelTool:function(){return Qf},StackScrollTool:function(){return Yf},Synchronizer:function(){return ll},SynchronizerManager:function(){return c},ToolGroupManager:function(){return d},TrackballRotateTool:function(){return Af},Types:function(){return W},VolumeRotateMouseWheelTool:function(){return ng},WindowLevelTool:function(){return Gf},ZoomTool:function(){return zf},addTool:function(){return el},annotation:function(){return G},cancelActiveManipulations:function(){return rl},cursors:function(){return H},destroy:function(){return Zi},drawing:function(){return f},init:function(){return $i},removeTool:function(){return tl},segmentation:function(){return z},state:function(){return Ge},synchronizers:function(){return v},utilities:function(){return j}});var e={};h.r(e),h.d(e,{checkAndDefineIsLockedProperty:function(){return ue},getAnnotationsLocked:function(){return ce},getAnnotationsLockedCount:function(){return de},isAnnotationLocked:function(){return se},setAnnotationLocked:function(){return ie},unlockAllAnnotations:function(){return le}});var t={};h.r(t),h.d(t,{deselectAnnotation:function(){return Ee},getAnnotationsSelected:function(){return ye},getAnnotationsSelectedByToolName:function(){return Ie},getAnnotationsSelectedCount:function(){return Ce},isAnnotationSelected:function(){return be},setAnnotationSelected:function(){return we}});var n={};h.r(n),h.d(n,{checkAndDefineIsVisibleProperty:function(){return ke},isAnnotationVisible:function(){return Me},setAnnotationVisibility:function(){return Se},showAllAnnotations:function(){return xe}});var r={};h.r(r),h.d(r,{addAnnotation:function(){return et},getAnnotation:function(){return rt},getAnnotationManager:function(){return $e},getAnnotations:function(){return Qe},getNumberOfAnnotations:function(){return tt},removeAllAnnotations:function(){return ot},removeAnnotation:function(){return nt},resetAnnotationManager:function(){return Xe},setAnnotationManager:function(){return Ze}});var o={};h.r(o),h.d(o,{triggerSegmentationDataModified:function(){return _t},triggerSegmentationModified:function(){return Tt},triggerSegmentationRemoved:function(){return It},triggerSegmentationRepresentationModified:function(){return Ct},triggerSegmentationRepresentationRemoved:function(){return bt}});var a={};h.r(a),h.d(a,{addColorLUT:function(){return $t},addSegmentation:function(){return Rt},addSegmentationRepresentation:function(){return Wt},getAllSegmentationRepresentations:function(){return Nt},getColorLUT:function(){return Jt},getDefaultSegmentationStateManager:function(){return xt},getGlobalConfig:function(){return Ft},getSegmentSpecificRepresentationConfig:function(){return jt},getSegmentation:function(){return Mt},getSegmentationRepresentationByUID:function(){return qt},getSegmentationRepresentationSpecificConfig:function(){return Bt},getSegmentationRepresentations:function(){return Pt},getSegmentations:function(){return kt},getToolGroupIdsWithSegmentation:function(){return At},getToolGroupSpecificConfig:function(){return Lt},removeColorLUT:function(){return Yt},removeSegmentation:function(){return zt},removeSegmentationRepresentation:function(){return Kt},setGlobalConfig:function(){return Gt},setSegmentSpecificRepresentationConfig:function(){return Ht},setSegmentationRepresentationSpecificConfig:function(){return Vt},setToolGroupSpecificConfig:function(){return Ut}});var i={};h.r(i),h.d(i,{copyPoints:function(){return Jn},copyPointsList:function(){return Yn},getDeltaDistance:function(){return qn},getDeltaDistanceBetweenIPoints:function(){return Kn},getDeltaPoints:function(){return Gn},getDeltaRotation:function(){return zn},getMeanPoints:function(){return $n},getMeanTouchPoints:function(){return Zn}});var l={};h.r(l),h.d(l,{getSegmentationVisibility:function(){return Sa},setSegmentVisibility:function(){return Ma},setSegmentationVisibility:function(){return Oa},setSegmentsVisibility:function(){return xa}});var c={};h.r(c),h.d(c,{createSynchronizer:function(){return cl},destroy:function(){return sl},destroySynchronizer:function(){return vl},getAllSynchronizers:function(){return ul},getSynchronizer:function(){return dl},getSynchronizersForViewport:function(){return ra}});var s={};h.r(s),h.d(s,{hideElementCursor:function(){return $l},initElementCursor:function(){return Kl},resetElementCursor:function(){return Jl},setElementCursor:function(){return Yl}});var d={};h.r(d),h.d(d,{createToolGroup:function(){return rc},destroy:function(){return Yi},destroyToolGroup:function(){return zi},getAllToolGroups:function(){return oc},getToolGroup:function(){return sa},getToolGroupForViewport:function(){return jr},getToolGroupsWithToolName:function(){return Ye}});var u={};h.r(u),h.d(u,{COLOR_LUT:function(){return st}});var v={};h.r(v),h.d(v,{createCameraPositionSynchronizer:function(){return lc},createStackImageSynchronizer:function(){return _c},createVOISynchronizer:function(){return sc},createZoomPanSynchronizer:function(){return vc}});var f={};h.r(f),h.d(f,{draw:function(){return Br},drawArrow:function(){return Hc},drawCircle:function(){return xc},drawEllipse:function(){return Mc},drawHandles:function(){return kc},drawLine:function(){return Rc},drawLinkedTextBox:function(){return Bc},drawPolyline:function(){return Nc},drawRect:function(){return jc},drawTextBox:function(){return Uc},setAttributesIfNecessary:function(){return Oc},setNewAttributesIfValid:function(){return Sc}});var g={};h.r(g),h.d(g,{getActiveSegmentationRepresentation:function(){return ps},setActiveSegmentationRepresentation:function(){return ms}});var m={};h.r(m),h.d(m,{getLockedSegments:function(){return ys},isSegmentIndexLocked:function(){return ws},setSegmentIndexLocked:function(){return Es}});var w={};h.r(w),h.d(w,{getActiveSegmentIndex:function(){return bs},setActiveSegmentIndex:function(){return Is}});var E={};h.r(E),h.d(E,{addColorLUT:function(){return Cs},getColorForSegmentIndex:function(){return _s},setColorForSegmentIndex:function(){return Ds},setColorLUT:function(){return Ts}});var y={};h.r(y),h.d(y,{createLabelmapVolumeForViewport:function(){return kd},createMergedLabelmapForIndex:function(){return Sd},floodFill:function(){return Ad},getBrushSizeForToolGroup:function(){return Ud},getBrushThresholdForToolGroup:function(){return Bd},getDefaultRepresentationConfig:function(){return Md},isValidRepresentationConfig:function(){return xd},rectangleROIThresholdVolumeByRange:function(){return Od},setBrushSizeForToolGroup:function(){return Ld},setBrushThresholdForToolGroup:function(){return Vd},thresholdSegmentationByRange:function(){return jd},thresholdVolumeByRange:function(){return Rs},triggerSegmentationRender:function(){return ji}});var I={};h.r(I),h.d(I,{getTextBoxCoordsCanvas:function(){return id}});var b={};h.r(b),h.d(b,{findClosestPoint:function(){return Vc},liangBarksyClip:function(){return qd}});var C={};h.r(C),h.d(C,{getCanvasEllipseCorners:function(){return ls},pointInEllipse:function(){return cs}});var T={};h.r(T),h.d(T,{distanceToPoint:function(){return od},distanceToPointSquared:function(){return rd},intersectLine:function(){return Kd}});var _={};h.r(_),h.d(_,{distanceToPoint:function(){return ad}});var D={};h.r(D),h.d(D,{addCanvasPointsToArray:function(){return ru},calculateAreaOfPoints:function(){return au},getClosestIntersectionWithPolyline:function(){return Jd},getFirstIntersectionWithPolyline:function(){return Yd},getSubPixelSpacingAndXYDirections:function(){return tu},pointCanProjectOnLine:function(){return ou},pointsAreWithinCloseContourProximity:function(){return nu}});var O={};h.r(O),h.d(O,{distanceToPoint:function(){return iu}});var S={};h.r(S),h.d(S,{BasicStatsCalculator:function(){return vd},Calculator:function(){return ud}});var x={};h.r(x),h.d(x,{BasicStatsCalculator:function(){return S},ellipse:function(){return C},lineSegment:function(){return T},point:function(){return O},polyline:function(){return D},rectangle:function(){return _},vec2:function(){return b}});var M={};h.r(M),h.d(M,{default:function(){return uu},filterAnnotationsForDisplay:function(){return Gs},filterAnnotationsWithinSlice:function(){return Fs},getPointInLineOfSightWithCriteria:function(){return su},getWorldWidthAndHeightFromCorners:function(){return ld}});var k={};h.r(k),h.d(k,{filterViewportsWithFrameOfReferenceUID:function(){return Ps},filterViewportsWithParallelNormals:function(){return Bs},filterViewportsWithToolEnabled:function(){return Us},getViewportIdsWithToolToRender:function(){return js}});var R={};h.r(R),h.d(R,{getOrientationStringLPS:function(){return vu},invertOrientationStringLPS:function(){return fu}});var P={};h.r(P),h.d(P,{Events:function(){return hu},addToolState:function(){return mu},getToolState:function(){return wu},playClip:function(){return Tu},stopClip:function(){return _u}});var N={};h.r(N),h.d(N,{extend2DBoundingBoxInViewAxis:function(){return bd},getBoundingBoxAroundShape:function(){return Xc}});var A={};h.r(A),h.d(A,{default:function(){return nf},interpolateAnnotation:function(){return tf}});var L={};h.r(L),h.d(L,{getBoundsIJKFromRectangleAnnotations:function(){return Cd}});var U={};h.r(U),h.d(U,{disable:function(){return mf},enable:function(){return pf},getConfiguration:function(){return wf},setConfiguration:function(){return Ef}});var V={};h.r(V),h.d(V,{isViewportPreScaled:function(){return sd},jumpToSlice:function(){return Ec},jumpToWorld:function(){return yf}});var B={};h.r(B),h.d(B,{generateImageFromTimeData:function(){return bf},getDataInTime:function(){return If}});var j={};h.r(j),h.d(j,{boundingBox:function(){return N},calibrateImageSpacing:function(){return $c},cine:function(){return P},clip:function(){return gc},debounce:function(){return Kc},drawing:function(){return I},dynamicVolume:function(){return B},getAnnotationNearPoint:function(){return Fc},getAnnotationNearPointOnEnabledElement:function(){return Gc},isObject:function(){return zc},jumpToSlice:function(){return Ec},math:function(){return x},orientation:function(){return R},planar:function(){return M},planarFreehandROITool:function(){return A},pointInShapeCallback:function(){return Zc},pointInSurroundingSphereCallback:function(){return es},rectangleROITool:function(){return L},roundNumber:function(){return ts},scroll:function(){return hc},segmentation:function(){return y},stackPrefetch:function(){return U},throttle:function(){return Yc},touch:function(){return i},triggerAnnotationRender:function(){return Yr},triggerAnnotationRenderForViewportIds:function(){return aa},triggerEvent:function(){return Y.triggerEvent},viewport:function(){return V},viewportFilters:function(){return k}});var H={};h.r(H),h.d(H,{CursorNames:function(){return Tf},CursorSVG:function(){return kl},ImageMouseCursor:function(){return Cl},MouseCursor:function(){return ml},SVGMouseCursor:function(){return Hl},elementCursor:function(){return s},registerCursor:function(){return Pl},setCursorForElement:function(){return Cf}});var W={};h.r(W);var F={};h.r(F),h.d(F,{getFont:function(){return _f},getState:function(){return qs},style:function(){return Ul}});var G={};h.r(G),h.d(G,{FrameOfReferenceSpecificAnnotationManager:function(){return He},config:function(){return F},locking:function(){return e},selection:function(){return t},state:function(){return r},visibility:function(){return n}});var q={};h.r(q),h.d(q,{color:function(){return E},getGlobalConfig:function(){return ma},getGlobalRepresentationConfig:function(){return Ea},getSegmentSpecificConfig:function(){return _a},getSegmentationRepresentationSpecificConfig:function(){return Ca},getToolGroupSpecificConfig:function(){return Ia},setGlobalConfig:function(){return wa},setGlobalRepresentationConfig:function(){return ya},setSegmentSpecificConfig:function(){return Da},setSegmentationRepresentationSpecificConfig:function(){return Ta},setToolGroupSpecificConfig:function(){return ba},visibility:function(){return l}});var z={};h.r(z),h.d(z,{activeSegmentation:function(){return g},addSegmentationRepresentations:function(){return kf},addSegmentations:function(){return Of},config:function(){return q},removeSegmentationsFromToolGroup:function(){return qi},segmentIndex:function(){return w},segmentLocking:function(){return m},state:function(){return a},triggerSegmentationEvents:function(){return o}});var K={};h.r(K),h.d(K,{AnnotationStyleStates:function(){return bl},Events:function(){return $},KeyboardBindings:function(){return wo},MouseBindings:function(){return mo},SegmentationRepresentations:function(){return ut},Swipe:function(){return Wn},ToolModes:function(){return ze}});var Y=h(953),J=function(e){return e.TOOL_ACTIVATED="CORNERSTONE_TOOLS_TOOL_ACTIVATED",e.ANNOTATION_ADDED="CORNERSTONE_TOOLS_ANNOTATION_ADDED",e.ANNOTATION_COMPLETED="CORNERSTONE_TOOLS_ANNOTATION_COMPLETED",e.ANNOTATION_MODIFIED="CORNERSTONE_TOOLS_ANNOTATION_MODIFIED",e.ANNOTATION_REMOVED="CORNERSTONE_TOOLS_ANNOTATION_REMOVED",e.ANNOTATION_SELECTION_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE",e.ANNOTATION_LOCK_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE",e.ANNOTATION_VISIBILITY_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_VISIBILITY_CHANGE",e.ANNOTATION_RENDERED="CORNERSTONE_TOOLS_ANNOTATION_RENDERED",e.SEGMENTATION_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_MODIFIED",e.SEGMENTATION_RENDERED="CORNERSTONE_TOOLS_SEGMENTATION_RENDERED",e.SEGMENTATION_REPRESENTATION_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_MODIFIED",e.SEGMENTATION_REMOVED="CORNERSTONE_TOOLS_SEGMENTATION_REMOVED",e.SEGMENTATION_REPRESENTATION_REMOVED="CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_REMOVED",e.SEGMENTATION_DATA_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED",e.KEY_DOWN="CORNERSTONE_TOOLS_KEY_DOWN",e.KEY_UP="CORNERSTONE_TOOLS_KEY_UP",e.MOUSE_DOWN="CORNERSTONE_TOOLS_MOUSE_DOWN",e.MOUSE_UP="CORNERSTONE_TOOLS_MOUSE_UP",e.MOUSE_DOWN_ACTIVATE="CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE",e.MOUSE_DRAG="CORNERSTONE_TOOLS_MOUSE_DRAG",e.MOUSE_MOVE="CORNERSTONE_TOOLS_MOUSE_MOVE",e.MOUSE_CLICK="CORNERSTONE_TOOLS_MOUSE_CLICK",e.MOUSE_DOUBLE_CLICK="CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK",e.MOUSE_WHEEL="CORNERSTONE_TOOLS_MOUSE_WHEEL",e.TOUCH_START="CORNERSTONE_TOOLS_TOUCH_START",e.TOUCH_START_ACTIVATE="CORNERSTONE_TOOLS_TOUCH_START_ACTIVATE",e.TOUCH_PRESS="CORNERSTONE_TOOLS_TOUCH_PRESS",e.TOUCH_DRAG="CORNERSTONE_TOOLS_TOUCH_DRAG",e.TOUCH_END="CORNERSTONE_TOOLS_TOUCH_END",e.TOUCH_TAP="CORNERSTONE_TOOLS_TAP",e.TOUCH_SWIPE="CORNERSTONE_TOOLS_SWIPE",e}(J||{}),$=J;function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function X(e){var t=function(e,t){if("object"!==Z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Z(t)?t:String(t)}function Q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,X(r.key),r)}}function ee(e,t,n){return t&&Q(e.prototype,t),n&&Q(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function te(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ne(e,t,n){return(t=X(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var re=h(907),oe=h.n(re),ae=new Set;function ie(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=ve();e&&(t?function(e,t,n){t.has(e)||(t.add(e),n.added.push(e))}(e,ae,n):fe(e,ae,n)),ge(n,ae)}function le(){var e=ve();!function(e,t){e.forEach((function(n){fe(n,e,t)}))}(ae,e),ge(e,ae)}function ce(){return Array.from(ae)}function se(e){return ae.has(e)}function de(){return ae.size}function ue(e){if(e){var t=!!e.isLocked;(function(e){var t=Object.getOwnPropertyDescriptor(e,"isLocked");return t?t.configurable&&(t.set!==he||t.get!==pe):Object.isExtensible(e)})(e)&&Object.defineProperty(e,"isLocked",{configurable:!1,enumerable:!0,set:he,get:pe}),ie(e,t)}}function ve(){return Object.freeze({added:[],removed:[],locked:[]})}function fe(e,t,n){t.delete(e)&&n.removed.push(e)}function ge(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.locked.push(t)})),(0,Y.triggerEvent)(Y.eventTarget,$.ANNOTATION_LOCK_CHANGE,e))}function he(e){ie(this,e)}function pe(){return se(this)}var me=new Set;function we(e){arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?Ee(e):function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Te();t||_e(me,n),e&&!me.has(e)&&(me.add(e),n.added.push(e)),De(n,me)}(e,arguments.length>2&&void 0!==arguments[2]&&arguments[2])}function Ee(e){var t=Te();e?me.delete(e)&&t.removed.push(e):_e(me,t),De(t,me)}function ye(){return Array.from(me)}function Ie(e){return ye().filter((function(t){return rt(t).metadata.toolName===e}))}function be(e){return me.has(e)}function Ce(){return me.size}function Te(){return Object.freeze({added:[],removed:[],selection:[]})}function _e(e,t){e.forEach((function(n){e.delete(n)&&t.removed.push(n)}))}function De(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.selection.push(t)})),(0,Y.triggerEvent)(Y.eventTarget,$.ANNOTATION_SELECTION_CHANGE,e))}var Oe=new Set;function Se(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Re();e&&(t?Pe(e,Oe,n):function(e,t,n){t.has(e)||(t.add(e),be(e)&&Ee(e),n.lastHidden.push(e))}(e,Oe,n)),Ne(n)}function xe(){var e=Re();Oe.forEach((function(t){Pe(t,Oe,e)})),Ne(e)}function Me(e){if(rt(e))return!Oe.has(e)}function ke(e){if(e){var t,n=null===(t=e.isVisible)||void 0===t||t;(function(e){var t=Object.getOwnPropertyDescriptor(e,"isVisible");return t?t.configurable&&(t.set!==Ae||t.get!==Le):Object.isExtensible(e)})(e)&&Object.defineProperty(e,"isVisible",{configurable:!1,enumerable:!0,set:Ae,get:Le}),Se(e.annotationUID,n)}}function Re(){return Object.freeze({lastVisible:[],lastHidden:[],hidden:[]})}function Pe(e,t,n){t.delete(e)&&n.lastVisible.push(e)}function Ne(e){(e.lastHidden.length>0||e.lastVisible.length>0)&&(Oe.forEach((function(t){e.hidden.push(t)})),(0,Y.triggerEvent)(Y.eventTarget,$.ANNOTATION_VISIBILITY_CHANGE,e))}function Ae(e){Se(this.annotationUID,e)}function Le(){return Me(this.annotationUID)}function Ue(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ve(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ve(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Ve(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Be=ee((function e(t){var n=this;te(this,e),ne(this,"annotations",void 0),ne(this,"uid",void 0),ne(this,"getGroupKey",(function(e){if("string"==typeof e)return e;var t=e,n=(0,Y.getEnabledElement)(t);if(!n)throw new Error("Element not enabled, you must have an enabled element if you are not providing a FrameOfReferenceUID");return n.FrameOfReferenceUID})),ne(this,"_imageVolumeModifiedHandler",(function(e){var t=e.detail.FrameOfReferenceUID,r=n.annotations[t];r&&Object.keys(r).forEach((function(e){r[e].forEach((function(e){void 0!==e.invalidated&&(e.invalidated=!0)}))}))})),ne(this,"getFramesOfReference",(function(){return Object.keys(n.annotations)})),ne(this,"getAnnotations",(function(e,t){var r=n.annotations;return r[e]?t?r[e][t]:r[e]:[]})),ne(this,"getAnnotation",(function(e){var t=n.annotations;for(var r in t){var o=t[r];for(var a in o){var i,l=Ue(o[a]);try{for(l.s();!(i=l.n()).done;){var c=i.value;if(e===c.annotationUID)return c}}catch(e){l.e(e)}finally{l.f()}}}})),ne(this,"getNumberOfAnnotations",(function(e,t){var r=n.getAnnotations(e,t);if(!r.length)return 0;if(t)return r.length;var o=0;for(var a in r)o+=r[a].length;return o})),ne(this,"addAnnotation",(function(e,t){var r=e.metadata,o=r.FrameOfReferenceUID,a=r.toolName;t=t||o;var i=n.annotations,l=i[t];l||(i[t]={},l=i[t]);var c=l[a];c||(l[a]=[],c=l[a]),c.push(e),ue(e),ke(e)})),ne(this,"removeAnnotation",(function(e){var t=n.annotations;for(var r in t){var o=t[r];for(var a in o){var i=o[a],l=i.findIndex((function(t){return t.annotationUID===e}));-1!==l&&(i.splice(l,1),0===i.length&&delete o[a])}0===Object.keys(o).length&&delete t[r]}})),ne(this,"removeAnnotations",(function(e,t){var r=n.annotations;r[e]&&(t?delete r[e][t]:delete r[e])})),ne(this,"saveAnnotations",(function(e,t){var r=n.annotations;if(e&&t){var o=r[e];if(!o)return;var a=o[t];return oe()(a)}if(e){var i=r[e];return oe()(i)}return oe()(r)})),ne(this,"restoreAnnotations",(function(e,t,r){var o=n.annotations;if(t&&r){var a=o[t];a||(o[t]={},a=o[t]),a[r]=e}else t?o[t]=e:n.annotations=oe()(e)})),ne(this,"getNumberOfAllAnnotations",(function(){var e=0,t=n.annotations;for(var r in t){var o=t[r];for(var a in o)e+=o[a].length}return e})),ne(this,"removeAllAnnotations",(function(){n.annotations={}})),t||(t=Y.utilities.uuidv4()),this.annotations={},this.uid=t,Y.eventTarget.addEventListener(Y.Enums.Events.IMAGE_VOLUME_MODIFIED,this._imageVolumeModifiedHandler)})),je=new Be("DEFAULT"),He=Be,We={},Fe={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:We,enabledElements:[],handleRadius:6},Ge={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:We,enabledElements:[],handleRadius:6};var qe=function(e){return e.Active="Active",e.Passive="Passive",e.Enabled="Enabled",e.Disabled="Disabled",e}(qe||{}),ze=qe,Ke=[ze.Active,ze.Passive,ze.Enabled],Ye=function(e){return Ge.toolGroups.filter((function(t){for(var n=t.toolOptions,r=Object.keys(n),o=0;o<r.length;o++)if(e===r[o]&&n[e]&&Ke.includes(n[e].mode))return!0;return!1}))},Je=je;function $e(){return Je}function Ze(e){Je=e}function Xe(){Je=je}function Qe(e,t){var n=$e(),r=n.getGroupKey(t);return n.getAnnotations(r,e)}function et(e,t){void 0===e.annotationUID&&(e.annotationUID=Y.utilities.uuidv4());var n=$e(),r=n.getGroupKey(t);return n.addAnnotation(e,r),t instanceof HTMLDivElement?function(e,t){var n=(0,Y.getEnabledElement)(t),r=n.renderingEngine,o=n.viewportId,a=$.ANNOTATION_ADDED,i={annotation:e,viewportId:o,renderingEngineId:r.id};(0,Y.triggerEvent)(Y.eventTarget,a,i)}(e,t):function(e){var t=e.metadata.toolName,n=Ye(t);if(n.length){var r=[];if(n.forEach((function(t){t.viewportsInfo.forEach((function(t){var n=t.renderingEngineId,o=t.viewportId,a=(0,Y.getEnabledElementByIds)(o,n).FrameOfReferenceUID;e.metadata.FrameOfReferenceUID===a&&r.push(t)}))})),r.length){var o=$.ANNOTATION_ADDED;r.forEach((function(t){var n=t.renderingEngineId,r=t.viewportId,a={annotation:e,viewportId:r,renderingEngineId:n};(0,Y.triggerEvent)(Y.eventTarget,o,a)}))}}}(e),e.annotationUID}function tt(e,t){var n=$e(),r=n.getGroupKey(t);return n.getNumberOfAnnotations(r,e)}function nt(e){var t=$e(),n=t.getAnnotation(e);if(n){t.removeAnnotation(e);var r=$.ANNOTATION_REMOVED,o={annotation:n,annotationManagerUID:t.uid};(0,Y.triggerEvent)(Y.eventTarget,r,o)}}function rt(e){return $e().getAnnotation(e)}function ot(){$e().removeAllAnnotations()}function at(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function it(e,t){if(e){if("string"==typeof e)return at(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?at(e,t):void 0}}function lt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,l=[],c=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(e,t)||it(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ct,st=[[0,0,0,0],[221,84,84,255],[77,228,121,255],[166,70,235,255],[189,180,116,255],[109,182,196,255],[204,101,157,255],[123,211,94,255],[93,87,218,255],[225,128,80,255],[73,232,172,255],[181,119,186,255],[176,193,112,255],[105,153,200,255],[208,97,120,255],[90,215,101,255],[135,83,222,255],[229,178,76,255],[122,183,181,255],[190,115,171,255],[149,197,108,255],[100,118,205,255],[212,108,93,255],[86,219,141,255],[183,79,226,255],[233,233,72,255],[118,167,187,255],[194,111,146,255],[116,201,104,255],[115,96,209,255],[216,147,89,255],[82,223,188,255],[230,75,224,255],[163,184,121,255],[114,143,191,255],[198,107,114,255],[99,206,122,255],[153,92,213,255],[220,192,85,255],[78,215,227,255],[234,71,173,255],[141,188,117,255],[110,113,195,255],[202,128,103,255],[95,210,157,255],[195,88,217,255],[206,224,81,255],[74,166,231,255],[185,120,139,255],[113,192,113,255],[133,106,199,255],[207,162,98,255],[91,214,198,255],[221,84,198,255],[159,228,77,255],[70,111,235,255],[189,119,116,255],[109,196,138,255],[165,101,204,255],[211,201,94,255],[87,191,218,255],[225,80,153,255],[106,232,73,255],[124,119,186,255],[193,142,112,255],[105,200,168,255],[203,97,208,255],[184,215,90,255],[83,147,222,255],[229,76,101,255],[122,183,130,255],[146,115,190,255],[197,171,108,255],[100,205,205,255],[212,93,177,255],[141,219,86,255],[79,97,226,255],[233,99,72,255],[118,187,150,255],[173,111,194,255],[197,201,104,255],[96,171,209,255],[216,89,137,255],[94,223,82,255],[107,75,230,255],[184,153,121,255],[114,191,175,255],[198,107,191,255],[166,206,99,255],[92,132,213,255],[220,85,91,255],[78,227,115,255],[159,71,234,255],[188,176,117,255],[110,185,195,255],[202,103,161,255],[129,210,95,255],[88,88,217,255],[224,123,81,255],[74,231,166,255],[177,120,185,255],[179,192,113,255],[106,156,199,255],[207,98,125,255],[91,214,96,255],[130,84,221,255],[228,171,77,255],[70,235,221,255],[189,116,174,255],[153,196,109,255],[101,123,204,255],[211,104,94,255],[87,218,136,255],[177,80,225,255],[232,225,73,255],[119,169,186,255],[193,112,149,255],[121,200,105,255],[111,97,208,255],[215,142,90,255],[83,222,181,255],[229,76,229,255],[165,183,122,255],[115,146,190,255],[197,108,119,255],[100,205,118,255],[148,93,212,255],[219,186,86,255],[79,220,226,255],[233,72,179,255],[144,187,118,255],[111,118,194,255],[201,124,104,255],[96,209,153,255],[189,89,216,255],[211,223,82,255],[75,172,230,255],[184,121,142,255],[117,191,114,255],[130,107,198,255],[206,157,99,255],[92,213,193,255],[220,85,203,255],[165,227,78,255],[71,118,234,255],[188,117,117,255],[110,195,135,255],[161,103,202,255],[210,195,95,255],[88,195,217,255],[224,81,158,255],[113,231,74,255],[123,120,185,255],[192,139,113,255],[106,199,164,255],[198,98,207,255],[188,214,91,255],[84,153,221,255],[228,77,108,255],[70,235,84,255],[143,116,189,255],[196,167,109,255],[101,204,199,255],[211,94,182,255],[147,218,87,255],[80,104,225,255],[232,93,73,255],[119,186,147,255],[170,112,193,255],[200,200,105,255],[97,175,208,255],[215,90,142,255],[100,222,83,255],[101,76,229,255],[183,150,122,255],[115,190,171,255],[197,108,194,255],[170,205,100,255],[93,138,212,255],[219,86,97,255],[79,226,110,255],[153,72,233,255],[187,173,118,255],[111,187,194,255],[201,104,165,255],[134,209,96,255],[89,95,216,255],[223,117,82,255],[75,230,159,255],[174,121,184,255],[182,191,114,255],[107,160,198,255],[206,99,130,255],[92,213,92,255],[124,85,220,255],[227,165,78,255],[71,234,214,255],[188,117,176,255],[156,195,110,255],[103,128,202,255],[210,100,95,255],[88,217,131,255],[170,81,224,255],[231,218,74,255],[120,172,185,255],[192,113,153,255],[125,199,106,255],[107,98,207,255],[214,137,91,255],[84,221,175,255],[222,77,228,255],[194,235,70,255],[116,149,189,255],[196,109,123,255],[101,204,114,255],[143,94,211,255],[218,180,87,255],[80,225,225,255],[232,73,186,255],[147,186,119,255],[112,122,193,255],[200,121,105,255],[97,208,148,255],[184,90,215,255],[216,222,83,255],[76,178,229,255],[183,122,145,255],[121,190,115,255],[126,108,197,255],[205,153,100,255],[93,212,187,255],[219,86,208,255],[171,226,79,255],[72,126,233,255],[187,118,121,255],[111,194,132,255],[157,104,201,255],[209,190,96,255],[89,200,216,255],[223,82,164,255],[120,230,75,255],[121,121,184,255],[191,136,114,255],[107,198,160,255],[192,99,206,255],[193,213,92,255],[85,158,220,255],[227,78,115,255],[71,234,78,255],[141,117,188,255],[195,163,110,255],[103,202,194,255],[210,95,186,255],[153,217,88,255],[81,111,224,255]],dt=function(e){return e.Labelmap="LABELMAP",e.Contour="CONTOUR",e}(dt||{}),ut=dt,vt={renderOutline:!0,outlineWidthActive:2,outlineWidthInactive:2,outlineOpacity:1,outlineOpacityInactive:.85,renderFill:!0,fillAlpha:1,fillAlphaInactive:0},ft={renderOutline:!0,outlineWidthActive:3,outlineWidthInactive:2,renderFill:!0,renderFillInactive:!0,fillAlpha:.7,fillAlphaInactive:.65,outlineOpacity:1,outlineOpacityInactive:.85},gt=function(){return ft};function ht(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ht(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ht(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var mt=gt(),wt=vt,Et={colorLUT:[],segmentations:[],globalConfig:{renderInactiveSegmentations:!0,representations:(ct={},ne(ct,ut.Labelmap,mt),ne(ct,ut.Contour,wt),ct)},toolGroups:{}},yt=new(function(){function e(t){te(this,e),ne(this,"state",void 0),ne(this,"uid",void 0),t||(t=Y.utilities.uuidv4()),this.state=oe()(Et),this.uid=t}return ee(e,[{key:"getState",value:function(){return this.state}},{key:"getToolGroups",value:function(){return Object.keys(this.state.toolGroups)}},{key:"getColorLUT",value:function(e){return this.state.colorLUT[e]}},{key:"resetState",value:function(){this.state=oe()(Et)}},{key:"getSegmentation",value:function(e){return this.state.segmentations.find((function(t){return t.segmentationId===e}))}},{key:"addSegmentation",value:function(e){if(this._initDefaultColorLUTIfNecessary(),this.getSegmentation(e.segmentationId))throw new Error("Segmentation with id ".concat(e.segmentationId," already exists"));this.state.segmentations.push(e)}},{key:"getSegmentationRepresentations",value:function(e){var t=this.state.toolGroups[e];if(t)return t.segmentationRepresentations}},{key:"getAllSegmentationRepresentations",value:function(){var e={};return Object.entries(this.state.toolGroups).forEach((function(t){var n=lt(t,2),r=n[0],o=n[1];e[r]=o.segmentationRepresentations})),e}},{key:"addSegmentationRepresentation",value:function(e,t){this.state.toolGroups[e]||(this.state.toolGroups[e]={segmentationRepresentations:[],config:{}}),this.state.toolGroups[e].segmentationRepresentations.push(t),this._handleActiveSegmentation(e,t)}},{key:"getGlobalConfig",value:function(){return this.state.globalConfig}},{key:"setGlobalConfig",value:function(e){this.state.globalConfig=e}},{key:"getSegmentationRepresentationByUID",value:function(e,t){return this.getSegmentationRepresentations(e).find((function(e){return e.segmentationRepresentationUID===t}))}},{key:"removeSegmentation",value:function(e){this.state.segmentations=this.state.segmentations.filter((function(t){return t.segmentationId!==e}))}},{key:"removeSegmentationRepresentation",value:function(e,t){var n=this.getSegmentationRepresentations(e);if(!n||!n.length)throw new Error("No viewport specific segmentation state found for viewport ".concat(e));var r=n.findIndex((function(e){return e.segmentationRepresentationUID===t}));-1===r&&console.warn("No viewport specific segmentation state data found for viewport ".concat(e," and segmentation data UID ").concat(t));var o=n[r];n.splice(r,1),this._handleActiveSegmentation(e,o)}},{key:"setActiveSegmentationRepresentation",value:function(e,t){var n=this.getSegmentationRepresentations(e);if(!n||!n.length)throw new Error("No segmentation data found for toolGroupId: ".concat(e));var r=n.find((function(e){return e.segmentationRepresentationUID===t}));if(!r)throw new Error("No segmentation data found for segmentation data UID ".concat(t));r.active=!0,this._handleActiveSegmentation(e,r)}},{key:"getToolGroupSpecificConfig",value:function(e){var t=this.state.toolGroups[e];if(t)return t.config}},{key:"getSegmentationRepresentationSpecificConfig",value:function(e,t){var n=this.getSegmentationRepresentationByUID(e,t);if(n)return n.segmentationRepresentationSpecificConfig}},{key:"setSegmentationRepresentationSpecificConfig",value:function(e,t,n){var r=this.getSegmentationRepresentationByUID(e,t);r&&(r.segmentationRepresentationSpecificConfig=n)}},{key:"getSegmentSpecificConfig",value:function(e,t,n){var r=this.getSegmentationRepresentationByUID(e,t);if(r)return r.segmentSpecificConfig[n]}},{key:"setSegmentSpecificConfig",value:function(e,t,n){var r=this.getSegmentationRepresentationByUID(e,t);r&&(r.segmentSpecificConfig=n)}},{key:"setSegmentationRepresentationConfig",value:function(e,t){var n=this.state.toolGroups[e];n||(this.state.toolGroups[e]={segmentationRepresentations:[],config:{renderInactiveSegmentations:!0,representations:{}}},n=this.state.toolGroups[e]),n.config=pt(pt({},n.config),t)}},{key:"addColorLUT",value:function(e,t){this.state.colorLUT[t]&&console.log("Color LUT table already exists, overwriting"),this.state.colorLUT[t]=e}},{key:"removeColorLUT",value:function(e){delete this.state.colorLUT[e]}},{key:"_handleActiveSegmentation",value:function(e,t){var n=this.getSegmentationRepresentations(e);0!==n.length&&(1!==n.length&&0!==n.filter((function(e){return e.active})).length?t.active&&n.forEach((function(e){e.segmentationRepresentationUID!==t.segmentationRepresentationUID&&(e.active=!1)})):n[0].active=!0)}},{key:"_initDefaultColorLUTIfNecessary",value:function(){0!==this.state.colorLUT.length&&this.state.colorLUT[0]||this.addColorLUT(st,0)}}]),e}())("DEFAULT");function It(e){var t={segmentationId:e};(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_REMOVED,t)}function bt(e,t){var n={toolGroupId:e,segmentationRepresentationUID:t};(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_REPRESENTATION_REMOVED,n)}function Ct(e,t){var n={toolGroupId:e,segmentationRepresentationUID:t};t?(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_REPRESENTATION_MODIFIED,n):(Pt(e)||[]).forEach((function(t){var n=t.segmentationRepresentationUID,r={toolGroupId:e,segmentationRepresentationUID:n};(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_REPRESENTATION_MODIFIED,r)}))}function Tt(e){(e?[e]:kt().map((function(e){return e.segmentationId}))).forEach((function(e){var t={segmentationId:e};(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_MODIFIED,t)}))}function _t(e,t){var n={segmentationId:e,modifiedSlicesToUse:t};(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_DATA_MODIFIED,n)}function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dt(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var St=function(e){var t=e.segmentationId,n=e.representation;return{segmentationId:t,cachedStats:{},segmentLabels:{},label:null,segmentsLocked:new Set,type:n.type,activeSegmentIndex:1,representationData:ne({},n.type,Ot({},n.data))}};function xt(){return yt}function Mt(e){return xt().getSegmentation(e)}function kt(){return xt().getState().segmentations}function Rt(e,t){var n=xt(),r=St(e);n.addSegmentation(r),t||Tt(r.segmentationId)}function Pt(e){return xt().getSegmentationRepresentations(e)}function Nt(){return xt().getAllSegmentationRepresentations()}function At(e){if(!e)throw new Error("getToolGroupIdsWithSegmentation: segmentationId is empty");var t=xt(),n=t.getState(),r=Object.keys(n.toolGroups),o=[];return r.forEach((function(n){t.getSegmentationRepresentations(n).forEach((function(t){t.segmentationId===e&&o.push(n)}))})),o}function Lt(e){return xt().getToolGroupSpecificConfig(e)}function Ut(e,t,n){xt().setSegmentationRepresentationConfig(e,t),n||Ct(e)}function Vt(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];xt().setSegmentationRepresentationSpecificConfig(e,t,n),r||Ct(e,t)}function Bt(e,t){return xt().getSegmentationRepresentationSpecificConfig(e,t)}function jt(e,t,n){return xt().getSegmentSpecificConfig(e,t,n)}function Ht(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];xt().setSegmentSpecificConfig(e,t,n),r||Ct(e,t)}function Wt(e,t,n){xt().addSegmentationRepresentation(e,t),n||Ct(e,t.segmentationRepresentationUID)}function Ft(){return xt().getGlobalConfig()}function Gt(e,t){xt().setGlobalConfig(e),t||Tt()}function qt(e,t){return xt().getSegmentationRepresentationByUID(e,t)}function zt(e){xt().removeSegmentation(e),It(e)}function Kt(e,t){xt().removeSegmentationRepresentation(e,t),bt(e,t)}function Yt(e){xt().removeColorLUT(e)}function Jt(e){return xt().getColorLUT(e)}function $t(e,t){xt().addColorLUT(e,t)}function Zt(e,t){var n=t||e.currentTarget,r=(0,Y.getEnabledElement)(n).viewport,o=function(e){return[e.clientX,e.clientY]}(e),a=function(e){return[e.pageX,e.pageY]}(e),i=function(e,t){var n=e.getBoundingClientRect();return[t[0]-n.left-window.pageXOffset,t[1]-n.top-window.pageYOffset]}(n,a);return{page:a,client:o,canvas:i,world:r.canvasToWorld(i)}}var Xt=function(e){var t=e.currentTarget,n=(0,Y.getEnabledElement)(t),r=n.viewportId,o=n.renderingEngineId,a=Zt(e,t),i={event:e,eventName:$.MOUSE_DOUBLE_CLICK,viewportId:r,renderingEngineId:o,camera:{},element:t,startPoints:a,lastPoints:a,currentPoints:a,deltaPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}};!(0,Y.triggerEvent)(t,$.MOUSE_DOUBLE_CLICK,i)&&(e.stopImmediatePropagation(),e.preventDefault())},Qt=$.MOUSE_MOVE,en=function(e){var t=e.currentTarget,n=(0,Y.getEnabledElement)(t),r={renderingEngineId:n.renderingEngineId,viewportId:n.viewportId,camera:{},element:t,currentPoints:Zt(e),eventName:Qt,event:e};(0,Y.triggerEvent)(t,Qt,r)},tn=$.MOUSE_DOWN,nn=$.MOUSE_DOWN_ACTIVATE,rn=$.MOUSE_CLICK,on=$.MOUSE_UP,an=$.MOUSE_DRAG,ln=3,cn={mouseButton:void 0,element:null,renderingEngineId:void 0,viewportId:void 0,isClickEvent:!0,clickDelay:200,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}},sn={mouseButton:void 0,renderingEngineId:void 0,viewportId:void 0,isClickEvent:!0,clickDelay:200,element:null,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}},dn={doubleClickTimeout:null,mouseDownEvent:null,mouseUpEvent:null,ignoreDoubleClick:!1};function un(e){var t=Zt(e,sn.element),n=yn(sn.element,sn.lastPoints),r=In(t,n);if(dn.doubleClickTimeout){if(!gn(r.canvas))return;pn()}var o={event:e,eventName:an,mouseButton:sn.mouseButton,renderingEngineId:sn.renderingEngineId,viewportId:sn.viewportId,camera:{},element:sn.element,startPoints:En(sn.startPoints),lastPoints:En(n),currentPoints:t,deltaPoints:r};(0,Y.triggerEvent)(sn.element,an,o),sn.lastPoints=En(t)}function vn(e){if(clearTimeout(sn.preventClickTimeout),dn.doubleClickTimeout)dn.mouseUpEvent?wn():(dn.mouseUpEvent=e,sn.element.addEventListener("mousemove",fn));else{var t=sn.isClickEvent?rn:on,n=Zt(e,sn.element),r=In(n,sn.lastPoints),o={event:e,eventName:t,mouseButton:sn.mouseButton,element:sn.element,renderingEngineId:sn.renderingEngineId,viewportId:sn.viewportId,camera:{},startPoints:En(sn.startPoints),lastPoints:En(sn.lastPoints),currentPoints:n,deltaPoints:r};(0,Y.triggerEvent)(o.element,t,o),wn()}document.removeEventListener("mousemove",un)}function fn(e){gn(In(Zt(e,sn.element),yn(sn.element,sn.lastPoints)).canvas)&&(pn(),en(e))}function gn(e){return Math.abs(e[0])+Math.abs(e[1])>ln}function hn(){sn.isClickEvent=!1}function pn(){dn.ignoreDoubleClick=!0;var e,t,n,r=dn.mouseDownEvent,o=dn.mouseUpEvent;mn(),e=r,t=In(sn.startPoints,sn.startPoints),n={event:e,eventName:tn,element:sn.element,mouseButton:sn.mouseButton,renderingEngineId:sn.renderingEngineId,viewportId:sn.viewportId,camera:{},startPoints:sn.startPoints,lastPoints:sn.startPoints,currentPoints:sn.startPoints,deltaPoints:t},sn.lastPoints=En(n.lastPoints),(0,Y.triggerEvent)(n.element,tn,n)&&(0,Y.triggerEvent)(n.element,nn,n),o&&vn(o)}function mn(){dn.doubleClickTimeout&&(clearTimeout(dn.doubleClickTimeout),dn.doubleClickTimeout=null),dn.mouseDownEvent=null,dn.mouseUpEvent=null}function wn(){var e,t;document.removeEventListener("mouseup",vn),null===(e=sn.element)||void 0===e||e.removeEventListener("mousemove",fn),null===(t=sn.element)||void 0===t||t.addEventListener("mousemove",en),mn(),sn=JSON.parse(JSON.stringify(cn))}function En(e){return JSON.parse(JSON.stringify(e))}function yn(e,t){var n=(0,Y.getEnabledElement)(e).viewport.canvasToWorld(t.canvas);return{page:t.page,client:t.client,canvas:t.canvas,world:n}}function In(e,t){return{page:bn(e.page,t.page),client:bn(e.client,t.client),canvas:bn(e.canvas,t.canvas),world:(n=e.world,r=t.world,[n[0]-r[0],n[1]-r[1],n[2]-r[2]])};var n,r}function bn(e,t){return[e[0]-t[0],e[1]-t[1]]}function Cn(e){dn.ignoreDoubleClick?(dn.ignoreDoubleClick=!1,e.stopImmediatePropagation(),e.preventDefault()):wn()}var Tn=function(e){if(dn.doubleClickTimeout){if(e.buttons===dn.mouseDownEvent.buttons)return;return dn.mouseDownEvent=e,void pn()}dn.doubleClickTimeout=setTimeout(pn,1===e.buttons?400:150),dn.mouseDownEvent=e,dn.ignoreDoubleClick=!1,sn.element=e.currentTarget,sn.mouseButton=e.buttons;var t=(0,Y.getEnabledElement)(sn.element),n=t.renderingEngineId,r=t.viewportId;sn.renderingEngineId=n,sn.viewportId=r,sn.preventClickTimeout=setTimeout(hn,sn.clickDelay),sn.element.removeEventListener("mousemove",en);var o=Zt(e,sn.element);sn.startPoints=En(o),sn.lastPoints=En(o),document.addEventListener("mouseup",vn),document.addEventListener("mousemove",un)};function _n(e){e.removeEventListener("dblclick",Xt),e.removeEventListener("mousedown",Tn),e.removeEventListener("mousemove",en),e.removeEventListener("dblclick",Cn,{capture:!0})}var Dn={enable:function(e){_n(e),e.addEventListener("dblclick",Xt),e.addEventListener("mousedown",Tn),e.addEventListener("mousemove",en),e.addEventListener("dblclick",Cn,{capture:!0})},disable:_n},On=function(e){var t=e.currentTarget,n=(0,Y.getEnabledElement)(t),r=n.renderingEngineId,o=n.viewportId;if(!(e.deltaY>-1&&e.deltaY<1)){e.preventDefault();var a=function(e){var t=0,n=0,r=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),r=10*t,o=10*n,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||o)&&e.deltaMode&&(1===e.deltaMode?(r*=40,o*=40):(r*=800,o*=800)),r&&!t&&(t=r<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:o}}(e),i=a.spinX,l=a.spinY,c=a.pixelX,s=a.pixelY,d=l<0?-1:1,u={event:e,eventName:$.MOUSE_WHEEL,renderingEngineId:r,viewportId:o,element:t,camera:{},detail:e,wheel:{spinX:i,spinY:l,pixelX:c,pixelY:s,direction:d},points:Zt(e)};(0,Y.triggerEvent)(t,$.MOUSE_WHEEL,u)}};function Sn(e){e.removeEventListener("wheel",On)}var xn,Mn,kn={enable:function(e){Sn(e),e.addEventListener("wheel",On,{passive:!1})},disable:Sn},Rn={mouse:0,touch:1};function Pn(e,t){var n=Date.now();if(e!==xn){if(n-Mn<=2e3)return t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),!1;xn=e}Mn=n}var Nn=Pn.bind(null,Rn.mouse),An=Pn.bind(null,Rn.touch);function Ln(e,t,n){var r=n?Nn:An;t.forEach((function(t){e.addEventListener(t,r,{passive:!1})}))}function Un(e,t,n){var r=n?Nn:An;t.forEach((function(t){e.removeEventListener(t,r)}))}var Vn=["mousedown","mouseup","mousemove"],Bn=["touchstart","touchend"];function jn(e){Un(e,Vn,Rn.mouse),Un(e,Bn,Rn.touch)}var Hn={enable:function(e){jn(e),Ln(e,Vn,Rn.mouse),Ln(e,Bn,Rn.touch)},disable:jn},Wn=function(e){return e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e}(Wn||{});function Fn(e,t){var n=t||e.currentTarget,r="touchend"===e.type?e.changedTouches:e.touches;return Object.keys(r).map((function(e){var t=function(e){return[e.clientX,e.clientY]}(r[e]),o=function(e){return[e.pageX,e.pageY]}(r[e]),a=function(e,t){var n=e.getBoundingClientRect();return[t[0]-n.left-window.pageXOffset,t[1]-n.top-window.pageYOffset]}(n,o);return{page:o,client:t,canvas:a,world:(0,Y.getEnabledElement)(n).viewport.canvasToWorld(a),touch:{identifier:e,radiusX:r[e].radiusX,radiusY:r[e].radiusY,force:r[e].force,rotationAngle:r[e].rotationAngle}}}))}function Gn(e,t){var n,r,o=$n(e),a=$n(t);return{page:Xn(o.page,a.page),client:Xn(o.client,a.client),canvas:Xn(o.canvas,a.canvas),world:(n=o.world,r=a.world,[n[0]-r[0],n[1]-r[1],n[2]-r[2]])}}function qn(e,t){var n=$n(e),r=$n(t);return{page:er(n.page,r.page),client:er(n.client,r.client),canvas:er(n.canvas,r.canvas),world:tr(n.world,r.world)}}function zn(e,t){}function Kn(e,t){var n=Qn(e),r=Qn(t);return{page:n.page-r.page,client:n.client-r.client,canvas:n.canvas-r.canvas,world:n.world-r.world}}function Yn(e){return JSON.parse(JSON.stringify(e))}function Jn(e){return JSON.parse(JSON.stringify(e))}function $n(e){return e.reduce((function(t,n){return{page:[t.page[0]+n.page[0]/e.length,t.page[1]+n.page[1]/e.length],client:[t.client[0]+n.client[0]/e.length,t.client[1]+n.client[1]/e.length],canvas:[t.canvas[0]+n.canvas[0]/e.length,t.canvas[1]+n.canvas[1]/e.length],world:[t.world[0]+n.world[0]/e.length,t.world[1]+n.world[1]/e.length,t.world[2]+n.world[2]/e.length]}}),{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]})}function Zn(e){return e.reduce((function(t,n){return{page:[t.page[0]+n.page[0]/e.length,t.page[1]+n.page[1]/e.length],client:[t.client[0]+n.client[0]/e.length,t.client[1]+n.client[1]/e.length],canvas:[t.canvas[0]+n.canvas[0]/e.length,t.canvas[1]+n.canvas[1]/e.length],world:[t.world[0]+n.world[0]/e.length,t.world[1]+n.world[1]/e.length,t.world[2]+n.world[2]/e.length],touch:{identifier:null,radiusX:t.touch.radiusX+n.touch.radiusX/e.length,radiusY:t.touch.radiusY+n.touch.radiusY/e.length,force:t.touch.force+n.touch.force/e.length,rotationAngle:t.touch.rotationAngle+n.touch.rotationAngle/e.length}}}),{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0],touch:{identifier:null,radiusX:0,radiusY:0,force:0,rotationAngle:0}})}function Xn(e,t){return[e[0]-t[0],e[1]-t[1]]}function Qn(e){for(var t=[],n=0;n<e.length;n++)for(var r=0;r<e.length;r++)n<r&&t.push({page:er(e[n].page,e[r].page),client:er(e[n].client,e[r].client),canvas:er(e[n].canvas,e[r].canvas),world:tr(e[n].world,e[r].world)});return t.reduce((function(e,n){return{page:e.page+n.page/t.length,client:e.client+n.client/t.length,canvas:e.canvas+n.canvas/t.length,world:e.world+n.world/t.length}}),{page:0,client:0,canvas:0,world:0})}function er(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2))}function tr(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2))}function nr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function rr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?nr(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var or=Y.Settings.getRuntimeSettings(),ar=$.TOUCH_START,ir=$.TOUCH_START_ACTIVATE,lr=$.TOUCH_PRESS,cr=$.TOUCH_DRAG,sr=$.TOUCH_END,dr=$.TOUCH_TAP,ur=$.TOUCH_SWIPE,vr={page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},fr={page:0,client:0,canvas:0,world:0},gr={renderingEngineId:void 0,viewportId:void 0,element:null,startPointsList:[rr(rr({},vr),{},{touch:null})],lastPointsList:[rr(rr({},vr),{},{touch:null})],isTouchStart:!1,startTime:null,pressTimeout:null,pressDelay:700,pressMaxDistance:5,accumulatedDistance:fr,swipeDistanceThreshold:48,swiped:!1,swipeToleranceMs:300},hr={renderingEngineId:void 0,viewportId:void 0,element:null,startPointsList:[rr(rr({},vr),{},{touch:null})],taps:0,tapTimeout:null,tapMaxDistance:24,tapToleranceMs:300},pr=JSON.parse(JSON.stringify(gr)),mr=JSON.parse(JSON.stringify(hr));function wr(e,t,n){return or.get("debug")&&("CORNERSTONE_TOOLS_TOUCH_DRAG"===t?console.debug(t):console.debug(t,n)),(0,Y.triggerEvent)(e,t,n)}function Er(e){var t=Fn(e,pr.element),n=Ir(pr.element,pr.lastPointsList),r=t.length===n.length?Gn(t,n):vr,o=t.length===n.length?Kn(t,n):fr,a=t.length===n.length?qn(t,pr.lastPointsList):fr;pr.accumulatedDistance={page:pr.accumulatedDistance.page+a.page,client:pr.accumulatedDistance.client+a.client,canvas:pr.accumulatedDistance.canvas+a.canvas,world:pr.accumulatedDistance.world+a.world};var i={event:e,eventName:cr,renderingEngineId:pr.renderingEngineId,viewportId:pr.viewportId,camera:{},element:pr.element,startPoints:Zn(pr.startPointsList),lastPoints:Zn(n),currentPoints:Zn(t),startPointsList:Yn(pr.startPointsList),lastPointsList:Yn(n),currentPointsList:t,deltaPoints:r,deltaDistance:o};wr(pr.element,cr,i),function(e,t){var n=(new Date).getTime(),r=pr.startTime.getTime();if(!(pr.swiped||n-r>pr.swipeToleranceMs)){var o=lt(t.canvas,2),a=o[0],i=o[1],l={event:e,eventName:ur,renderingEngineId:pr.renderingEngineId,viewportId:pr.viewportId,camera:{},element:pr.element,swipe:null};Math.abs(a)>pr.swipeDistanceThreshold&&(l.swipe=a>0?Wn.RIGHT:Wn.LEFT,wr(l.element,ur,l),pr.swiped=!0),Math.abs(i)>pr.swipeDistanceThreshold&&(l.swipe=i>0?Wn.DOWN:Wn.UP,wr(l.element,ur,l),pr.swiped=!0)}}(e,r),pr.lastPointsList=Yn(t)}function yr(e){clearTimeout(pr.pressTimeout);var t=Fn(e,pr.element),n=Ir(pr.element,pr.lastPointsList),r=t.length===n.length?Gn(t,n):Gn(t,t),o=t.length===n.length?Kn(t,n):Kn(t,t),a={event:e,eventName:sr,element:pr.element,renderingEngineId:pr.renderingEngineId,viewportId:pr.viewportId,camera:{},startPointsList:Yn(pr.startPointsList),lastPointsList:Yn(n),currentPointsList:t,startPoints:Zn(pr.startPointsList),lastPoints:Zn(n),currentPoints:Zn(t),deltaPoints:r,deltaDistance:o};wr(a.element,sr,a),function(e){if(!((new Date).getTime()-pr.startTime.getTime()>mr.tapToleranceMs||(0===mr.taps&&(mr.element=pr.element,mr.renderingEngineId=pr.renderingEngineId,mr.viewportId=pr.viewportId,mr.startPointsList=pr.startPointsList),mr.taps>0&&(mr.element!=pr.element||mr.renderingEngineId!=pr.renderingEngineId||mr.viewportId!=pr.viewportId)))){var t=Fn(e,mr.element);qn(t,mr.startPointsList).canvas>mr.tapMaxDistance||(clearTimeout(mr.tapTimeout),mr.taps+=1,mr.tapTimeout=setTimeout((function(){var n={event:e,eventName:dr,element:mr.element,renderingEngineId:mr.renderingEngineId,viewportId:mr.viewportId,camera:{},currentPointsList:t,currentPoints:Zn(t),taps:mr.taps};wr(n.element,dr,n),mr=JSON.parse(JSON.stringify(hr))}),mr.tapToleranceMs))}}(e),pr=JSON.parse(JSON.stringify(gr)),document.removeEventListener("touchmove",Er),document.removeEventListener("touchend",yr)}function Ir(e,t){var n=(0,Y.getEnabledElement)(e).viewport;return t.map((function(e){var t=n.canvasToWorld(e.canvas);return{page:e.page,client:e.client,canvas:e.canvas,world:t,touch:e.touch}}))}var br=function(e){pr.element=e.currentTarget;var t=(0,Y.getEnabledElement)(pr.element),n=t.renderingEngineId,r=t.viewportId;pr.renderingEngineId=n,pr.viewportId=r,pr.isTouchStart||(clearTimeout(pr.pressTimeout),pr.pressTimeout=setTimeout((function(){return function(e){if(!(pr.accumulatedDistance.canvas>pr.pressMaxDistance)){var t={event:e,eventName:lr,renderingEngineId:pr.renderingEngineId,viewportId:pr.viewportId,camera:{},element:pr.element,startPointsList:Yn(pr.startPointsList),lastPointsList:Yn(pr.lastPointsList),startPoints:Jn(Zn(pr.startPointsList)),lastPoints:Jn(Zn(pr.lastPointsList))};wr(t.element,lr,t)}}(e)}),pr.pressDelay),function(e){pr.isTouchStart=!0,pr.startTime=new Date;var t=Fn(e,pr.element),n=Zn(t),r=vr,o=fr,a={event:e,eventName:ar,element:pr.element,renderingEngineId:pr.renderingEngineId,viewportId:pr.viewportId,camera:{},startPointsList:t,lastPointsList:t,currentPointsList:t,startPoints:n,lastPoints:n,currentPoints:n,deltaPoints:r,deltaDistance:o};pr.startPointsList=Yn(a.startPointsList),pr.lastPointsList=Yn(a.lastPointsList),wr(a.element,ar,a)&&wr(a.element,ir,a)}(e),document.addEventListener("touchmove",Er),document.addEventListener("touchend",yr))};function Cr(e){Hn.disable(e),e.removeEventListener("touchstart",br)}var Tr={enable:function(e){Cr(e),Hn.enable(e),e.addEventListener("touchstart",br,{passive:!1})},disable:Cr},_r={renderingEngineId:void 0,viewportId:void 0,key:void 0,keyCode:void 0,element:null},Dr={renderingEngineId:void 0,viewportId:void 0,key:void 0,keyCode:void 0,element:null};function Or(e){Dr.element=e.currentTarget;var t=(0,Y.getEnabledElement)(Dr.element),n=t.renderingEngineId,r=t.viewportId;Dr.renderingEngineId=n,Dr.viewportId=r,Dr.key=e.key,Dr.keyCode=e.keyCode,e.preventDefault();var o={renderingEngineId:Dr.renderingEngineId,viewportId:Dr.viewportId,element:Dr.element,key:Dr.key,keyCode:Dr.keyCode};(0,Y.triggerEvent)(o.element,$.KEY_DOWN,o),document.addEventListener("keyup",xr),document.addEventListener("visibilitychange",Sr),Dr.element.removeEventListener("keydown",Or)}function Sr(){document.removeEventListener("visibilitychange",Sr),"hidden"===document.visibilityState&&Mr()}function xr(e){var t={renderingEngineId:Dr.renderingEngineId,viewportId:Dr.viewportId,element:Dr.element,key:Dr.key,keyCode:Dr.keyCode};document.removeEventListener("keyup",xr),document.removeEventListener("visibilitychange",Sr),Dr.element.addEventListener("keydown",Or),Dr=oe()(_r),(0,Y.triggerEvent)(t.element,$.KEY_UP,t)}function Mr(){Dr.keyCode=void 0}var kr=Or;function Rr(e){e.removeEventListener("keydown",kr)}var Pr={enable:function(e){Rr(e),e.addEventListener("keydown",kr)},disable:Rr,getModifierKey:function(){return Dr.keyCode}};function Nr(e){return function(e){if(Array.isArray(e))return at(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||it(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ar(e,t){if(Ge.svgNodeCache[e])return Ge.svgNodeCache[e][t]?Ge.svgNodeCache[e][t].domRef:void 0}function Lr(e,t,n,r){if(!Ge.svgNodeCache[t])return null;Ge.svgNodeCache[t][r]={touched:!0,domRef:n},e.appendChild(n)}function Ur(e,t){Ge.svgNodeCache[e]&&Ge.svgNodeCache[e][t]&&(Ge.svgNodeCache[e][t].touched=!0)}function Vr(e,t){Ge.svgNodeCache[t]&&Object.keys(Ge.svgNodeCache[t]).forEach((function(n){var r=Ge.svgNodeCache[t][n];!r.touched&&r.domRef&&(e.removeChild(r.domRef),delete Ge.svgNodeCache[t][n])}))}var Br=function(e,t){var n=function(e){var t=(0,Y.getEnabledElement)(e),n=t.viewportId,r=t.renderingEngineId,o="".concat(n,":").concat(r),a=function(e){var t=".".concat("viewport-element");return e.querySelector(t).querySelector(".svg-layer")}(e);return Object.keys(Ge.svgNodeCache[o]).forEach((function(e){Ge.svgNodeCache[o][e].touched=!1})),{svgLayerElement:a,svgNodeCacheForCanvas:Ge.svgNodeCache,getSvgNode:Ar.bind(this,o),appendNode:Lr.bind(this,a,o),setNodeTouched:Ur.bind(this,o),clearUntouched:Vr.bind(this,a,o)}}(e);t(n),n.clearUntouched()},jr=function(e,t){var n=Ge.toolGroups.filter((function(n){return n.viewportsInfo.some((function(n){return n.renderingEngineId===t&&(!n.viewportId||n.viewportId===e)}))}));if(n.length){if(n.length>1)throw new Error("Multiple tool groups found for renderingEngineId: ".concat(t," and viewportId: ").concat(e,". You should only\n have one tool group per viewport in a renderingEngine."));return n[0]}};function Hr(e,t){var n=(0,Y.getEnabledElement)(e),r=n.renderingEngineId,o=n.viewportId,a=jr(o,r);if(!a)return[];for(var i=[],l=Object.keys(a.toolOptions),c=0;c<l.length;c++){var s=l[c],d=a.toolOptions[s];if(d&&t.includes(d.mode)){var u=a.getToolInstance(s);i.push(u)}}return i}function Wr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Fr=ze.Active,Gr=ze.Passive,qr=ze.Enabled,zr=function(){function e(){var t=this;te(this,e),ne(this,"hasBeenDestroyed",void 0),ne(this,"_needsRender",new Set),ne(this,"_animationFrameSet",!1),ne(this,"_animationFrameHandle",null),ne(this,"_viewportElements",void 0),ne(this,"_renderFlaggedViewports",(function(){t._throwIfDestroyed();for(var e=Array.from(t._viewportElements.values()),n=0;n<e.length;n++){var r=e[n];if(t._needsRender.has(r)&&(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size))return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}})),this._viewportElements=new Map}return ee(e,[{key:"addViewportElement",value:function(e,t){this._viewportElements.set(e,t)}},{key:"removeViewportElement",value:function(e,t){this._viewportElements.delete(e),this._needsRender.delete(t),this._reset()}},{key:"renderViewport",value:function(e){this._setViewportsToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setAllViewportsToBeRenderedNextFrame",value:function(){var e=this;Nr(this._viewportElements.values()).forEach((function(t){e._needsRender.add(t)})),this._renderFlaggedViewports()}},{key:"_setViewportsToBeRenderedNextFrame",value:function(e){var t=this,n=Nr(this._viewportElements.values());e.forEach((function(e){-1!==n.indexOf(e)&&t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=(0,Y.getEnabledElement)(e);if(t)if((0,Y.getRenderingEngine)(t.renderingEngineId)){var n=Hr(e,[Fr,Gr,qr]),r=t.renderingEngineId,o=t.viewportId,a={element:e,renderingEngineId:r,viewportId:o};Br(e,(function(r){var o=!1;n.forEach((function(e){if(e.renderAnnotation){var n=e.renderAnnotation(t,r);o=o||n}})),o&&(0,Y.triggerEvent)(e,$.ANNOTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wr(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a))}))}else console.warn("rendering Engine has been destroyed");else console.warn("Element has been disabled")}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null,this._setAllViewportsToBeRenderedNextFrame()}}]),e}(),Kr=new zr,Yr=function(e){Kr.renderViewport(e)},Jr=function(e){Yr(e.detail.element)},$r={enable:function(e){e.addEventListener(Y.Enums.Events.IMAGE_RENDERED,Jr)},disable:function(e){e.removeEventListener(Y.Enums.Events.IMAGE_RENDERED,Jr)}};function Zr(e,t,n){var r=e.detail,o=r.renderingEngineId,a=r.viewportId,i=jr(a,o);if(!i)return[];for(var l=[],c=Object.keys(i.toolOptions),s=0;s<c.length;s++){var d=c[s],u=i.toolOptions[d],v=null!=n&&u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===n}));if(t.includes(u.mode)&&(!n||v)){var f=i.getToolInstance(d);l.push(f)}}return l}var Xr=ze.Active,Qr=ze.Passive,eo=ze.Enabled,to=function(e){Zr(e,[Xr,Qr,eo]).forEach((function(t){t.onCameraModified&&t.onCameraModified(e)}))},no={enable:function(e){e.addEventListener(Y.Enums.Events.CAMERA_MODIFIED,to)},disable:function(e){e.removeEventListener(Y.Enums.Events.CAMERA_MODIFIED,to)}},ro=ze.Active,oo=ze.Passive,ao=ze.Enabled,io=function(e){Zr(e,[ro,oo,ao]).forEach((function(t){t.onImageSpacingCalibrated&&t.onImageSpacingCalibrated(e)}))},lo={enable:function(e){e.addEventListener(Y.Enums.Events.IMAGE_SPACING_CALIBRATED,io)},disable:function(e){e.removeEventListener(Y.Enums.Events.IMAGE_SPACING_CALIBRATED,io)}},co=ze.Active;function so(e,t,n){if(Ge.isInteractingWithTool)return!1;var r,o=n.detail,a=o.renderingEngineId,i=o.viewportId,l=jr(i,a);if(!l)return!1;for(var c=Object.keys(l.toolOptions),s=0;s<c.length;s++){var d=c[s],u=l.toolOptions[d],v=l.getToolInstance(d);if(u.mode===co&&"function"==typeof v[t]){r=l.getToolInstance(d);break}}r&&r[t](n)}var uo=so.bind(null,"Mouse","mouseClickCallback");function vo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function fo(e,t,n){var r="touch"===(arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse")?36:6,o=[];return t.forEach((function(t){var a,i=t.tool,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return vo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vo(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t.annotations);try{for(l.s();!(a=l.n()).done;){var c=a.value;if(!c.isLocked&&c.isVisible){var s=i.getHandleNearImagePoint(e,c,n,r);if(s){o.push({tool:i,annotation:c,handle:s});break}}}}catch(e){l.e(e)}finally{l.f()}})),o}function go(e,t){for(var n=[],r=0;r<t.length;r++){var o,a=t[r];if(a){var i=Qe(a.constructor.toolName,e);null!==(o=i)&&void 0!==o&&o.length&&("function"==typeof a.filterInteractableAnnotationsForElement&&(i=a.filterInteractableAnnotationsForElement(e,i)),i.length>0&&n.push({tool:a,annotations:i}))}else console.warn("undefined tool in filterToolsWithAnnotationsForElement")}return n}function ho(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function po(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o="touch"===r?36:6,a=[];return t.forEach((function(t){var i,l=t.tool,c=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ho(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ho(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t.annotations);try{for(c.s();!(i=c.n()).done;){var s=i.value;if(!s.isLocked&&s.isVisible&&l.isPointNearTool(e,s,n,o,r)){a.push({tool:l,annotation:s});break}}}catch(e){c.e(e)}finally{c.f()}})),a}var mo=function(e){return e[e.Primary=1]="Primary",e[e.Secondary=2]="Secondary",e[e.Primary_And_Secondary=3]="Primary_And_Secondary",e[e.Auxiliary=4]="Auxiliary",e[e.Primary_And_Auxiliary=5]="Primary_And_Auxiliary",e[e.Secondary_And_Auxiliary=6]="Secondary_And_Auxiliary",e[e.Primary_And_Secondary_And_Auxiliary=7]="Primary_And_Secondary_And_Auxiliary",e[e.Fourth_Button=8]="Fourth_Button",e[e.Fifth_Button=16]="Fifth_Button",e}(mo||{}),wo=function(e){return e[e.Shift=16]="Shift",e[e.Ctrl=17]="Ctrl",e[e.Alt=18]="Alt",e[e.Meta=91]="Meta",e[e.ShiftCtrl=1617]="ShiftCtrl",e[e.ShiftAlt=1618]="ShiftAlt",e[e.ShiftMeta=1691]="ShiftMeta",e[e.CtrlAlt=1718]="CtrlAlt",e[e.CtrlMeta=1791]="CtrlMeta",e[e.AltMeta=1891]="AltMeta",e}(wo||{}),Eo=function(e){return e.shiftKey?e.ctrlKey?wo.ShiftCtrl:e.altKey?wo.ShiftAlt:e.metaKey?wo.ShiftMeta:wo.Shift:e.ctrlKey?e.altKey?wo.CtrlAlt:e.metaKey?wo.CtrlMeta:wo.Ctrl:e.altKey?e.metaKey&&wo.AltMeta||wo.Alt:e.metaKey?wo.Meta:void 0},yo=ze.Active;function Io(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=e.detail.event,a=Eo(o)||Pr.getModifierKey(),i=jr(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=i.getDefaultMousePrimary(),s=0;s<l.length;s++){var d=l[s],u=i.toolOptions[d],v=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(o?o.buttons:c)&&e.modifierKey===a}));if(u.mode===yo&&v)return i.getToolInstance(d)}}var bo=ze.Active,Co=ze.Passive;function To(e){if(!Ge.isInteractingWithTool){var t=Io(e);if(t&&"function"==typeof t.preMouseDownCallback&&t.preMouseDownCallback(e))return;var n=1===e.detail.event.buttons,r=Zr(e,[bo],e.detail.event.buttons),o=n?Zr(e,[Co]):void 0,a=[].concat(Nr(r||[]),Nr(o||[])),i=e.detail,l=i.element,c=go(l,a),s=i.currentPoints.canvas,d=fo(l,c,s,"mouse"),u=!!e.detail.event.shiftKey;if(d.length>0){var v=_o(d),f=v.tool,g=v.annotation,h=v.handle;return Do(g.annotationUID,u),void f.handleSelectedCallback(e,g,h,"Mouse")}var p=po(l,c,s,"mouse");if(p.length>0){var m=_o(p),w=m.tool,E=m.annotation;return Do(E.annotationUID,u),void w.toolSelectedCallback(e,E,"Mouse")}if(t&&"function"==typeof t.postMouseDownCallback&&t.postMouseDownCallback(e))return}}function _o(e){return e.length>1&&e.find((function(e){return!se(e.annotation)&&Me(e.annotation.annotationUID)}))||e[0]}function Do(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?be(e)?we(e,!1):we(e,!0,!0):we(e,!0,!1)}function Oo(e){if(!Ge.isInteractingWithTool){var t=Io(e);t&&(Ge.isMultiPartToolActive||t.addNewAnnotation&&we(t.addNewAnnotation(e,"mouse").annotationUID))}}var So=so.bind(null,"Mouse","doubleClickCallback");function xo(e){if(!Ge.isInteractingWithTool){var t=Io(e);!t||"function"!=typeof t.mouseDragCallback||t.mouseDragCallback(e)}}function Mo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ko=ze.Active,Ro=ze.Passive;function Po(e){if(!Ge.isInteractingWithTool&&!Ge.isMultiPartToolActive){var t,n=Zr(e,[ko,Ro]),r=e.detail.element,o=go(r,n),a=n.filter((function(e){return!o.some((function(t){return t.tool.getToolName()===e.getToolName()}))})),i=!1,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Mo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Mo(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(l.s();!(t=l.n()).done;){var c=t.value,s=c.tool,d=c.annotations;"function"==typeof s.mouseMoveCallback&&(i=s.mouseMoveCallback(e,d)||i)}}catch(e){l.e(e)}finally{l.f()}a.forEach((function(t){"function"==typeof t.mouseMoveCallback&&t.mouseMoveCallback(e)})),!0===i&&Yr(r)}}var No=so.bind(null,"Mouse","mouseUpCallback"),Ao=so.bind(null,"MouseWheel","mouseWheelCallback"),Lo={enable:function(e){e.addEventListener($.MOUSE_CLICK,uo),e.addEventListener($.MOUSE_DOWN,To),e.addEventListener($.MOUSE_DOWN_ACTIVATE,Oo),e.addEventListener($.MOUSE_DOUBLE_CLICK,So),e.addEventListener($.MOUSE_DRAG,xo),e.addEventListener($.MOUSE_MOVE,Po),e.addEventListener($.MOUSE_UP,No),e.addEventListener($.MOUSE_WHEEL,Ao)},disable:function(e){e.removeEventListener($.MOUSE_CLICK,uo),e.removeEventListener($.MOUSE_DOWN,To),e.removeEventListener($.MOUSE_DOWN_ACTIVATE,Oo),e.removeEventListener($.MOUSE_DOUBLE_CLICK,So),e.removeEventListener($.MOUSE_DRAG,xo),e.removeEventListener($.MOUSE_MOVE,Po),e.removeEventListener($.MOUSE_UP,No),e.removeEventListener($.MOUSE_WHEEL,Ao)}},Uo=ze.Active;function Vo(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=sn.mouseButton,a=Pr.getModifierKey(),i=jr(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=i.getDefaultMousePrimary(),s=0;s<l.length;s++){var d=l[s],u=i.toolOptions[d],v=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(null!=o?o:c)&&e.modifierKey===a}));if(u.mode===Uo&&v)return i.getToolInstance(d)}}function Bo(e){var t=Vo(e);if(t){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=jr(o,r),i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}function jo(e){var t=Vo(e);if(t){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=jr(o,r);Mr();var i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}var Ho={enable:function(e){e.addEventListener($.KEY_DOWN,Bo),e.addEventListener($.KEY_UP,jo)},disable:function(e){e.removeEventListener($.KEY_DOWN,Bo),e.removeEventListener($.KEY_UP,jo)}},Wo=ze.Active;function Fo(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=e.detail.event,a=jr(r,n);if(!a)return null;for(var i=Object.keys(a.toolOptions),l=Object.keys(o.touches).length,c=Eo(o)||Pr.getModifierKey(),s=a.getDefaultMousePrimary(),d=0;d<i.length;d++){var u=i[d],v=a.toolOptions[u],f=v.bindings.length&&v.bindings.some((function(e){return(e.numTouchPoints===l||1===l&&e.mouseButton===s)&&e.modifierKey===c}));if(v.mode===Wo&&f)return a.getToolInstance(u)}}function Go(e,t,n){var r=e.detail,o=r.renderingEngineId,a=r.viewportId,i=jr(a,o);if(!i)return[];for(var l=[],c=Object.keys(i.toolOptions),s=0;s<c.length;s++){var d=c[s],u=i.toolOptions[d],v=null!=n&&u.bindings.length&&u.bindings.some((function(e){return e.numTouchPoints===n}));if(t.includes(u.mode)&&(!n||v)){var f=i.getToolInstance(d);l.push(f)}}return l}var qo=ze.Active,zo=ze.Passive;function Ko(e){if(!Ge.isInteractingWithTool){var t=Fo(e);if(t&&"function"==typeof t.preTouchStartCallback&&t.preTouchStartCallback(e))return;var n=1===Object.keys(e.detail.event.touches).length,r=Go(e,[qo],Object.keys(e.detail.event.touches).length),o=n?Go(e,[zo]):void 0,a=[].concat(Nr(r||[]),Nr(o||[]),[t]),i=e.detail,l=i.element,c=go(l,a),s=i.currentPoints.canvas,d=fo(l,c,s,"touch");if(d.length>0){var u=Yo(d),v=u.tool,f=u.annotation,g=u.handle;return Jo(f.annotationUID,!1),void v.handleSelectedCallback(e,f,g,"Touch")}var h=po(l,c,s,"touch");if(h.length>0){var p=Yo(h),m=p.tool,w=p.annotation;return Jo(w.annotationUID,!1),void m.toolSelectedCallback(e,w,"Touch")}if(t&&"function"==typeof t.postTouchStartCallback&&t.postTouchStartCallback(e))return}}function Yo(e){return e.length>1&&e.find((function(e){return!se(e.annotation)&&Me(e.annotation.annotationUID)}))||e[0]}function Jo(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?be(e)?we(e,!1):we(e,!0,!0):we(e,!0,!1)}function $o(e){if(!Ge.isInteractingWithTool){var t=Fo(e);t&&(Ge.isMultiPartToolActive||t.addNewAnnotation&&we(t.addNewAnnotation(e,"touch").annotationUID))}}function Zo(e){if(!Ge.isInteractingWithTool){var t=Fo(e);!t||"function"!=typeof t.touchDragCallback||t.touchDragCallback(e)}}var Xo=so.bind(null,"Touch","touchEndCallback"),Qo=so.bind(null,"Touch","touchTapCallback"),ea=so.bind(null,"Touch","touchPressCallback"),ta={enable:function(e){e.addEventListener($.TOUCH_START,Ko),e.addEventListener($.TOUCH_START_ACTIVATE,$o),e.addEventListener($.TOUCH_DRAG,Zo),e.addEventListener($.TOUCH_END,Xo),e.addEventListener($.TOUCH_TAP,Qo),e.addEventListener($.TOUCH_PRESS,ea)},disable:function(e){e.removeEventListener($.TOUCH_START,Ko),e.removeEventListener($.TOUCH_START_ACTIVATE,$o),e.removeEventListener($.TOUCH_DRAG,Zo),e.removeEventListener($.TOUCH_END,Xo),e.removeEventListener($.TOUCH_PRESS,ea)}};function na(e){var t,n=e.detail,r=n.element,o=n.viewportId,a=function(e){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg"),r="svg-layer-".concat(e);n.classList.add("svg-layer"),n.setAttribute("id",r),n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.style.width="100%",n.style.height="100%",n.style.pointerEvents="none",n.style.position="absolute";var o=document.createElementNS(t,"defs"),a=document.createElementNS(t,"filter"),i=document.createElementNS(t,"feOffset"),l=document.createElementNS(t,"feColorMatrix"),c=document.createElementNS(t,"feBlend");return a.setAttribute("id","shadow-".concat(r)),a.setAttribute("filterUnits","userSpaceOnUse"),i.setAttribute("result","offOut"),i.setAttribute("in","SourceGraphic"),i.setAttribute("dx","0.5"),i.setAttribute("dy","0.5"),l.setAttribute("result","matrixOut"),l.setAttribute("in","offOut"),l.setAttribute("in2","matrix"),l.setAttribute("values","0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0"),c.setAttribute("in","SourceGraphic"),c.setAttribute("in2","matrixOut"),c.setAttribute("mode","normal"),a.appendChild(i),a.appendChild(l),a.appendChild(c),o.appendChild(a),n.appendChild(o),n}(o);!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);Ge.svgNodeCache[o]={}}(r),t=a,r.querySelector("div.viewport-element").appendChild(t),Kr.addViewportElement(o,r),Dn.enable(r),kn.enable(r),Tr.enable(r),Pr.enable(r),$r.enable(r),no.enable(r),lo.enable(r),Lo.enable(r),Ho.enable(r),ta.enable(r),Ge.enabledElements.push(r)}var ra=function(e,t){var n=[];if(!t&&!e)throw new Error("At least one of renderingEngineId or viewportId should be given");for(var r=0;r<Ge.synchronizers.length;r++){var o=Ge.synchronizers[r],a=!o.isDisabled(),i=o.hasSourceViewport(t,e),l=o.hasTargetViewport(t,e);a&&(i||l)&&n.push(o)}return n},oa=function(e){var t=e.detail,n=t.element,r=t.viewportId;!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);delete Ge.svgNodeCache[o]}(n),function(e){var t=e.querySelector("div.".concat("viewport-element")),n=t.querySelector("svg");n&&t.removeChild(n)}(n),Kr.removeViewportElement(r,n),Dn.disable(n),kn.disable(n),Tr.disable(n),Pr.disable(n),$r.disable(n),no.disable(n),lo.disable(n),Lo.disable(n),Ho.disable(n),ta.disable(n),function(e){var t=(0,Y.getEnabledElement)(e);ra(t.viewportId,t.renderingEngineId).forEach((function(e){e.remove(t)}))}(n),function(e){var t=(0,Y.getEnabledElement)(e),n=t.renderingEngineId,r=t.viewportId,o=jr(r,n);o&&o.removeViewports(n,r)}(n),function(e){var t=Ge.enabledElements.findIndex((function(t){return t===e}));t>-1&&Ge.enabledElements.splice(t,1)}(n)},aa=function(e,t){t.length&&t.forEach((function(t){var n=e.getViewport(t).element;Yr(n)}))},ia=function(e){var t=e.detail,n=t.viewportId,r=t.renderingEngineId,o=(0,Y.getRenderingEngine)(r);aa(o,[n])},la=function(e){e.detail.removed.length&&(0,Y.getRenderingEngines)().forEach((function(e){var t=e.getViewports().map((function(e){return e.id}));aa(e,t)}))},ca=function(e){var t=e.detail.segmentationId;At(t).forEach((function(e){Pt(e).forEach((function(n){n.segmentationId===t&&Ct(e,n.segmentationRepresentationUID)}))}))},sa=function(e){return Ge.toolGroups.find((function(t){return t.id===e}))};function da(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ua(e,t){return ua=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ua(e,t)}function va(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ua(e,t)}function fa(e,t){if(t&&("object"===Z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return da(e)}function ga(e){return ga=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ga(e)}function ha(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ha(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ha(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ma(){return Ft()}function wa(e){Gt(e)}function Ea(e){return ma().representations[e]}function ya(e,t){var n=ma();wa(pa(pa({},n),{},{representations:pa(pa({},n.representations),{},ne({},e,pa(pa({},n.representations[e]),t)))}))}function Ia(e){return Lt(e)}function ba(e,t){Ut(e,t)}function Ca(e,t){return Bt(e,t)}function Ta(e,t,n){Vt(e,t,n)}function _a(e,t,n){return jt(e,t,n)}function Da(e,t,n){Ht(e,t,n)}function Oa(e,t,n){var r=Pt(e);if(r){var o=r.find((function(e){return e.segmentationRepresentationUID===t}));if(o){var a=o.segmentsHidden,i=function(e){var t=Mt(e);if(t.type===ut.Labelmap){for(var n=Y.cache.getVolume(e).getScalarData(),r={},o=0;o<n.length;o++){var a=n[o];0===a||r[a]||(r[a]=!0)}return Object.keys(r).map((function(e){return parseInt(e,10)}))}if(t.type===ut.Contour){var i,l=null===(i=t.representationData.CONTOUR)||void 0===i?void 0:i.geometryIds;if(!l)throw new Error("No geometryIds found for segmentationId ".concat(e));return l.map((function(e){return Y.cache.getGeometry(e).data.getSegmentIndex()}))}}(o.segmentationId);n?a.clear():i.forEach((function(e){a.add(e)})),Ct(e,o.segmentationRepresentationUID)}}}function Sa(e,t){var n=Pt(e).find((function(e){return e.segmentationRepresentationUID===t}));if(n)return 0===n.segmentsHidden.size}function xa(e,t,n,r){var o=qt(e,t);o&&(n.forEach((function(e){r?o.segmentsHidden.delete(e):o.segmentsHidden.add(e)})),Ct(e,t))}function Ma(e,t,n,r){var o=qt(e,t);o&&(r?o.segmentsHidden.delete(n):o.segmentsHidden.add(n),Ct(e,t))}var ka=function(){function e(t,n){te(this,e),ne(this,"supportedInteractionTypes",void 0),ne(this,"configuration",void 0),ne(this,"toolGroupId",void 0),ne(this,"mode",void 0);var r=Y.utilities.deepMerge(n,t),o=r.configuration,a=void 0===o?{}:o,i=r.supportedInteractionTypes,l=r.toolGroupId;a.strategies||(a.strategies={},a.defaultStrategy=void 0,a.activeStrategy=void 0,a.strategyOptions={}),this.toolGroupId=l,this.supportedInteractionTypes=i||[],this.configuration=Object.assign({},a),this.mode=ze.Disabled}return ee(e,[{key:"getToolName",value:function(){return this.constructor.toolName}},{key:"applyActiveStrategy",value:function(e,t){var n=this.configuration;return n.strategies[n.activeStrategy].call(this,e,t)}},{key:"setConfiguration",value:function(e){this.configuration=Y.utilities.deepMerge(this.configuration,e)}},{key:"setActiveStrategy",value:function(e){this.setConfiguration({activeStrategy:e})}},{key:"getTargetVolumeId",value:function(e){var t;if(this.configuration.volumeId)return this.configuration.volumeId;var n=e.getActors();return n?null===(t=n.find((function(e){return"vtkVolume"===e.actor.getClassName()})))||void 0===t?void 0:t.uid:void 0}},{key:"getTargetIdImage",value:function(e,t){if(e.startsWith("imageId:")){var n=e.split("imageId:")[1],r=Y.utilities.imageIdToURI(n),o=Y.utilities.getViewportsWithImageURI(r,t.id);if(!o||!o.length)return;if(!(o=o.filter((function(e){return e.getCurrentImageId()===n})))||!o.length)return;return o[0].getImageData()}if(e.startsWith("volumeId:")){var a=e.split("volumeId:")[1],i=Y.utilities.getViewportsWithVolumeId(a,t.id);if(!i||!i.length)return;return i[0].getImageData()}throw new Error('getTargetIdImage: targetId must start with "imageId:" or "volumeId:"')}},{key:"getTargetId",value:function(e){if(e instanceof Y.StackViewport)return"imageId:".concat(e.getCurrentImageId());if(e instanceof Y.BaseVolumeViewport)return"volumeId:".concat(this.getTargetVolumeId(e));throw new Error("getTargetId: viewport must be a StackViewport or VolumeViewport")}}]),e}();ne(ka,"toolName",void 0),ka.toolName="BaseTool";var Ra=ka;function Pa(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function Na(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){Pa(a,r,o,i,l,"next",e)}function l(e){Pa(a,r,o,i,l,"throw",e)}i(void 0)}))}}var Aa=h(841),La=h.n(Aa),Ua=h(785),Va=h.n(Ua),Ba=h(127),ja=h.n(Ba),Ha=h(474),Wa=h.n(Ha),Fa=h(610),Ga=h.n(Fa),qa=h(396),za=h.n(qa),Ka=h(348),Ya=h.n(Ka),Ja=h(70),$a=h.n(Ja);function Za(e,t,n){var r,o,a=null===(r=e.segmentSpecificConfig)||void 0===r?void 0:r[t];return a||(a=null===(o=e.segmentSpecificConfig)||void 0===o?void 0:o[n]),a?a.CONTOUR:null}var Xa=new Map;function Qa(e){return Xa.get(e)}function ei(e,t){Xa.set(e,t)}function ti(e,t,n,r,o){var a=n.segmentationRepresentationUID,i=n.segmentsHidden,l=ja().newInstance(),c=new Map,s=new Map;t.forEach((function(e){var t=Y.cache.getGeometry(e);if(t){var r=t.data.getSegmentIndex();!function(e){if(!e)throw new Error("No contours found for geometryId ".concat(e.id));var t=e.id;if(e.type!==Y.Enums.GeometryType.CONTOUR)throw new Error("Geometry type ".concat(e.type," not supported for rendering."));e.data||console.warn("No contours found for geometryId ".concat(t,". Skipping render."))}(t);for(var o=Za(n,e,r),a=t.data,d=function(e){var t=[],n=Ya().newInstance(),r=za().newInstance(),o=0;e.getContours().forEach((function(e){var n=e.getPoints(),a=e.getFlatPointsArray(),i=e.getType(),l=n.map((function(e,t){return t+o}));i===Y.Enums.ContourType.CLOSED_PLANAR&&l.push(l[0]);var c=Float32Array.from(a);t.push.apply(t,Nr(c)),r.insertNextCell(Nr(l)),o+=n.length})),n.setData(t,3);var a=$a().newInstance();return a.setPoints(n),a.setLines(r),a}(a),u=a.getColor(),v=d.getPoints().getNumberOfPoints(),f=Va().newInstance({size:4*v,numberOfComponents:4,dataType:"Uint8Array"}),g=0;g<v;++g)f.setTuple(g,[].concat(Nr(u),[255]));d.getPointData().setScalars(f),o&&s.set(r,o),c.set(r,[].concat(Nr(u),[i.has(r)?0:255])),0===r?l.setInputData(d):l.addInputData(d)}else console.warn("No geometry found for geometryId ".concat(e,". Skipping render."))}));var d=l.getOutputData(),u=r.representations.CONTOUR.outlineWidthActive,v=Ga().newInstance();v.setInputData(d);var f=Wa().newInstance();f.setMapper(v),f.getProperty().setLineWidth(u),ei(a,Object.assign({},Qa(a),{segmentsHidden:new Set(i),segmentSpecificMap:s,outlineWidthActive:u})),f.setForceOpaque(!0),e.addActor({uid:o,actor:f}),e.resetCamera(),e.render()}function ni(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ri(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ri(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function ri(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function oi(e,t,n,r,o){var a=n.segmentationRepresentationUID,i=n.segmentsHidden,l=r.representations.CONTOUR,c=Qa(a),s=e.getActor(o);if(s){var d=s.actor,u=l.outlineWidthActive;(null==c?void 0:c.outlineWidthActive)!==u&&(d.getProperty().setLineWidth(u),ei(a,Object.assign({},c,{outlineWidthActive:u})));var v,f=d.getMapper(),g=f.getLookupTable(),h=[],p=[],m=ni(i);try{for(m.s();!(v=m.n()).done;){var w=v.value;c.segmentsHidden.has(w)||h.push(w)}}catch(e){m.e(e)}finally{m.f()}var E,y=ni(c.segmentsHidden);try{for(y.s();!(E=y.n()).done;){var I=E.value;i.has(I)||p.push(I)}}catch(e){y.e(e)}finally{y.f()}var b=Array.from(c.segmentsHidden).filter((function(e){return!p.includes(e)})).concat(h),C=t.reduce((function(e,t){var r=Y.cache.getGeometry(t).data,o=r.getSegmentIndex(),a=Za(n,t,o);return e.contourSets.push(r),e.segmentSpecificConfigs[o]=null!=a?a:{},e}),{contourSets:[],segmentSpecificConfigs:{}}),T=C.contourSets,_=C.segmentSpecificConfigs,D=[].concat(Nr(b),p),O=Object.values(_).some((function(e){return Object.keys(e).length>0})),S=!1;if(D.length||O){var x=f.getInputData(),M=x.getPointData().getScalars().getData(),k=0;T.forEach((function(e){var t,n=e.getSegmentIndex(),r=e.getTotalNumberOfPoints();if(D.includes(n)||null!==(t=_[n])&&void 0!==t&&t.fillAlpha){var o=e.getColor(),a=b.includes(n)?0:255,i=_[n];void 0!==i.fillAlpha&&(a=255*i.fillAlpha);for(var l=0;l<r;++l)M[k+4*l]=o[0],M[k+4*l+1]=o[1],M[k+4*l+2]=o[2],M[k+4*l+3]=a;S=!0}k+=4*r})),S&&x.modified(),ei(a,Object.assign({},c,{segmentsHidden:new Set(i)})),f.setLookupTable(g)}e.render()}else console.warn("No contour actor found for actorUID ".concat(o,". Skipping render."))}function ai(e,t,n,r){var o=n.segmentationRepresentationUID,a="CONTOUR_".concat(o);(e.getActor(a)?oi:ti)(e,t,n,r,a)}var ii=function(e,t){var n=(0,Y.getEnabledElement)(e).viewport,r=n.getActors().map((function(e){var n=e.uid;return n.includes(t)?n:void 0})).filter(Boolean);n.removeActors(r)};function li(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ci(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?li(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):li(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function si(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function di(){return(di=Na(La().mark((function e(t,n,r){var o,a,i,l,c,s;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=n.segmentationId,a=Y.utilities.uuidv4(),i=new Set,l={segmentationId:o,segmentationRepresentationUID:a,type:ut.Contour,segmentsHidden:i,colorLUTIndex:0,active:!0,segmentationRepresentationSpecificConfig:{},segmentSpecificConfig:{},config:{}},r&&(c=Ia(t),s=Y.utilities.deepMerge(c,r),ba(t,{renderInactiveSegmentations:s.renderInactiveSegmentations||!0,representations:ci({},s.representations)})),Wt(t,l),e.abrupt("return",a);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ui(){return(ui=Na(La().mark((function e(t,n,r){var o,a,i,l;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:o=n.segmentationId,a=Mt(o),i=a.representationData[ut.Contour],null!=(l=i.geometryIds)&&l.length||console.warn("No contours found for segmentationId ".concat(o,". Skipping render.")),ai(t,l,n,r);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var vi={render:function(e,t,n){return ui.apply(this,arguments)},addSegmentationRepresentation:function(e,t,n){return di.apply(this,arguments)},removeSegmentationRepresentation:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(function(e,t){var n=sa(e);if(void 0===n)throw new Error("ToolGroup with ToolGroupId ".concat(e," does not exist"));var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return si(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?si(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(n.viewportsInfo);try{for(o.s();!(r=o.n()).done;){var a=r.value,i=a.viewportId,l=a.renderingEngineId,c=(0,Y.getEnabledElementByIds)(i,l);ii(c.viewport.element,t)}}catch(e){o.e(e)}finally{o.f()}})(e,t),Kt(e,t),function(e){Xa.delete(e)}(t),n&&sa(e).getViewportsInfo().forEach((function(e){var t=e.viewportId,n=e.renderingEngineId;(0,Y.getEnabledElementByIds)(t,n).viewport.render()}))}},fi=h(441),gi=h.n(fi),hi=h(795),pi=h.n(hi);function mi(){return(mi=Na(La().mark((function e(t,n,r){var o,a,i,l,c;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=(0,Y.getEnabledElement)(t),a=o.renderingEngine,i=o.viewport,l=i.id,c=[{volumeId:n,actorUID:r,visibility:!0,blendMode:Y.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND}],e.next=9,(0,Y.addVolumesToViewports)(a,c,[l],!1,!0);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var wi=function(e,t,n){return mi.apply(this,arguments)},Ei=function(e,t){var n=(0,Y.getEnabledElement)(e).viewport;n instanceof Y.StackViewport||n.removeVolumeActors([t])};function yi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ii(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ii(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ii(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ci=255,Ti=new Map;function _i(){return(_i=Na(La().mark((function e(t,n,r){var o,a,i,l,c,s,d,u;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=n.segmentationId,a=Y.utilities.uuidv4(),i=new Set,l=pi().newInstance(),(c=gi().newInstance()).addPoint(0,0),s={segmentationId:o,segmentationRepresentationUID:a,type:ut.Labelmap,segmentsHidden:i,colorLUTIndex:0,active:!0,segmentationRepresentationSpecificConfig:{},segmentSpecificConfig:{},config:{cfun:l,ofun:c}},r&&(d=Ia(t),u=Y.utilities.deepMerge(d,r),ba(t,{renderInactiveSegmentations:u.renderInactiveSegmentations||!0,representations:bi({},u.representations)})),Wt(t,s),e.abrupt("return",a);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Di(e,t){if(!t)return!0;var n=e.getDefaultActor();if(!n)return!1;var r=n.uid,o=Y.cache.getVolume(r);if(o){var a=Y.cache.getVolume(t);if(a&&o.metadata.FrameOfReferenceUID===a.metadata.FrameOfReferenceUID)return!0}return!1}function Oi(){return(Oi=Na(La().mark((function e(t,n,r){var o,a,i,l,c,s,d,u,v,f,g,h,p,m,w,E;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.colorLUTIndex,a=n.active,i=n.segmentationId,l=n.segmentationRepresentationUID,c=n.segmentsHidden,s=n.config,d=Mt(i),u=d.representationData[ut.Labelmap],v=u.volumeId,Y.cache.getVolume(v)){e.next=7;break}throw new Error("No Labelmap found for volumeId: ".concat(v));case 7:if(Di(t,null==u?void 0:u.referencedVolumeId)){e.next=9;break}return e.abrupt("return");case 9:if(f=t.getActor(l)){e.next=16;break}return g=Mt(i),h=g.representationData[ut.Labelmap].volumeId,e.next=15,ki(t,h,l);case 15:f=t.getActor(l);case 16:if(f){e.next=18;break}return e.abrupt("return");case 18:m=(p=s).cfun,w=p.ofun,E=r.renderInactiveSegmentations,Si(t.id,f,m,w,o,r.representations[ut.Labelmap],n,a,E,c);case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Si(e,t,n,r,o,a,i,l,c,s){for(var d=i.segmentSpecificConfig,u=i.segmentationRepresentationSpecificConfig[ut.Labelmap],v=Jt(o),f=Math.min(256,v.length),g=t.actor,h=t.uid,p=xi(a,u,l),m=p.outlineWidth,w=p.renderOutline,E=p.outlineOpacity,y=0;y<f;y++){var I,b=y,C=v[b],T=xi(a,u,l,null===(I=d[b])||void 0===I?void 0:I[ut.Labelmap]),_=T.fillAlpha,D=T.outlineWidth,O=T.renderFill,S=Mi(e,h,b,{fillAlpha:_,renderFill:O,renderOutline:T.renderOutline,segmentColor:C,outlineWidth:D,segmentsHidden:s}),x=S.forceOpacityUpdate;if(S.forceColorUpdate&&n.addRGBPoint(b,C[0]/Ci,C[1]/Ci,C[2]/Ci),x)if(O){var M=s.has(b)?0:C[3]/255*_;r.removePoint(b),r.addPointLong(b,M,.5,1)}else r.addPointLong(b,.01,.5,1)}g.getProperty().setRGBTransferFunction(0,n),r.setClamping(!1),g.getProperty().setScalarOpacity(0,r),g.getProperty().setInterpolationTypeToNearest(),g.getProperty().setUseLabelOutline(w),g.getProperty().setLabelOutlineOpacity(E),g.getProperty().setLabelOutlineThickness(m);var k=l||c;g.setVisibility(k)}function xi(e,t,n,r){var o=r||{},a=bi(bi(bi({},e),t),o);return{fillAlpha:n?a.fillAlpha:a.fillAlphaInactive,outlineWidth:n?a.outlineWidthActive:a.outlineWidthInactive,renderFill:n?a.renderFill:a.renderFillInactive,renderOutline:a.renderOutline,outlineOpacity:n?a.outlineOpacity:a.outlineOpacityInactive}}function Mi(e,t,n,r){var o=r.fillAlpha,a=r.renderFill,i=r.renderOutline,l=r.segmentColor,c=r.outlineWidth,s=r.segmentsHidden,d="".concat(e,"-").concat(t,"-").concat(n),u=Ti.get(d);if(!u)return Ti.set(d,{fillAlpha:o,renderFill:a,renderOutline:i,outlineWidth:c,segmentColor:l,segmentsHidden:new Set(s)}),{forceOpacityUpdate:!0,forceColorUpdate:!0};var v=u.fillAlpha,f=u.renderFill,g=u.renderOutline,h=u.outlineWidth,p=u.segmentColor,m=u.segmentsHidden,w=p[0]!==l[0]||p[1]!==l[1]||p[2]!==l[2],E=p[3]!==l[3]||v!==o||f!==a||g!==i||h!==c||m.has(n)!==s.has(n);return Ti.set(d,{fillAlpha:o,renderFill:a,renderOutline:i,outlineWidth:c,segmentColor:l.slice(),segmentsHidden:new Set(s)}),{forceOpacityUpdate:E,forceColorUpdate:w}}function ki(e,t,n){return Ri.apply(this,arguments)}function Ri(){return(Ri=Na(La().mark((function e(t,n,r){return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,wi(t.element,n,r);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Pi={render:function(e,t,n){return Oi.apply(this,arguments)},addSegmentationRepresentation:function(e,t,n){return _i.apply(this,arguments)},removeSegmentationRepresentation:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(function(e,t){var n=sa(e);if(void 0===n)throw new Error("ToolGroup with ToolGroupId ".concat(e," does not exist"));var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return yi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yi(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(n.viewportsInfo);try{for(o.s();!(r=o.n()).done;){var a=r.value,i=a.viewportId,l=a.renderingEngineId,c=(0,Y.getEnabledElementByIds)(i,l);Ei(c.viewport.element,t)}}catch(e){o.e(e)}finally{o.f()}})(e,t),Kt(e,t),n&&sa(e).getViewportsInfo().forEach((function(e){var t=e.viewportId,n=e.renderingEngineId;(0,Y.getEnabledElementByIds)(t,n).viewport.render()}))}};function Ni(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ai=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{}};return te(this,o),ne(da(e=r.call(this,t,n)),"renderSegmentation",(function(t){var n=sa(t);if(n){var r=Pt(t);if(r&&0!==r.length){var o=n.viewportsInfo.map((function(e){var t=e.renderingEngineId,n=e.viewportId,r=(0,Y.getEnabledElementByIds)(n,t);if(r)return r.viewport})),a=r.map((function(n){var r,a=e._getMergedRepresentationsConfig(t),i=[],l=n.type===ut.Labelmap?Pi:vi,c=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ni(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ni(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(c.s();!(r=c.n()).done;){var s=r.value,d=l.render(s,n,a);i.push(d)}}catch(e){c.e(e)}finally{c.f()}return i}));Promise.allSettled(a).then((function(){o.forEach((function(e){e.render()}))}))}}})),e}return ee(o,[{key:"onSetToolEnabled",value:function(){var e=this.toolGroupId,t=Pt(e);t&&0!==t.length&&t.forEach((function(t){Oa(e,t.segmentationRepresentationUID,!0)}))}},{key:"onSetToolDisabled",value:function(){var e=this.toolGroupId,t=Pt(e);t&&0!==t.length&&t.forEach((function(t){Oa(e,t.segmentationRepresentationUID,!1)}))}},{key:"_getMergedRepresentationsConfig",value:function(e){var t=Ia(e),n=ma();return Y.utilities.deepMerge(n,t)}}]),o}(Ra);ne(Ai,"toolName",void 0),Ai.toolName="SegmentationDisplay";var Li=Ai;function Ui(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Vi=function(){function e(){var t=this;te(this,e),ne(this,"_needsRender",new Set),ne(this,"_animationFrameSet",!1),ne(this,"_animationFrameHandle",null),ne(this,"hasBeenDestroyed",void 0),ne(this,"_renderFlaggedToolGroups",(function(){t._throwIfDestroyed();for(var e=0,n=Array.from(t._needsRender.values());e<n.length;e++){var r=n[e];if(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size)return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}}))}return ee(e,[{key:"removeToolGroup",value:function(e){this._needsRender.delete(e),0===this._needsRender.size&&this._reset()}},{key:"renderToolGroupSegmentations",value:function(e){this._setToolGroupSegmentationToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setToolGroupSegmentationToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedToolGroups),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=sa(e);if(t){var n=t.viewportsInfo,r=[];n.forEach((function(e){var t=e.viewportId,n=e.renderingEngineId,o=(0,Y.getRenderingEngine)(n);o?r.push(o.getViewport(t)):console.warn("rendering Engine has been destroyed")}));var o=t.getToolInstance(Li.toolName);o?(r.forEach((function(e){e.element.addEventListener(Y.Enums.Events.IMAGE_RENDERED,a)})),o.renderSegmentation(e)):console.warn("No segmentation tool found inside",e)}else console.warn("No tool group found with toolGroupId: ".concat(e));function a(e){var t=e.detail,n=t.element,r=t.viewportId,o=t.renderingEngineId;n.removeEventListener(Y.Enums.Events.IMAGE_RENDERED,a);var i=jr(r,o);if(i){var l={toolGroupId:i.id,viewportId:r};(0,Y.triggerEvent)(Y.eventTarget,$.SEGMENTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ui(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ui(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},l))}else console.warn("toolGroup has been destroyed")}}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}}]),e}(),Bi=new Vi;function ji(e){Bi.renderToolGroupSegmentations(e)}var Hi=ji,Wi=function(e){var t=e.detail,n=t.segmentationId,r=t.modifiedSlicesToUse,o=Mt(n),a=o.representationData,i=o.type;if(i!==ut.Labelmap)throw new Error("onSegmentationDataModified: representationType ".concat(i," not supported yet"));var l=Y.cache.getVolume(a[i].volumeId);if(l){var c,s=l.imageData,d=l.vtkOpenGLTexture;if(r&&Array.isArray(r))c=r;else{var u=s.getDimensions()[2];c=Nr(Array(u).keys())}c.forEach((function(e){d.setUpdatedFrame(e)})),s.modified(),At(n).forEach((function(e){Hi(e)}))}else console.warn("segmentation not found in cache")},Fi=function(e){var t=e.detail.toolGroupId;Hi(t)},Gi=function(e){var t=e.detail,n=t.toolGroupId;t.segmentationRepresentationUID,Hi(n)},qi=function(e,t,n){var r=Pt(e);if(r&&0!==r.length){var o=r.map((function(e){return e.segmentationRepresentationUID})),a=t;if(a){var i=t.filter((function(e){return!o.includes(e)}));if(i.length>0)throw new Error("The following segmentationRepresentationUIDs are not part of the toolGroup: ".concat(JSON.stringify(i)))}else a=o;a.forEach((function(t){!function(e,t,n){var r=qt(e,t).type;if(r===ut.Labelmap)Pi.removeSegmentationRepresentation(e,t,n);else{if(r!==ut.Contour)throw new Error("The representation ".concat(r," is not supported yet"));vi.removeSegmentationRepresentation(e,t,n)}}(e,t,n)}))}},zi=function(e){var t=Ge.toolGroups.findIndex((function(t){return t.id===e}));t>-1&&(Bi.removeToolGroup(e),qi(e),Ge.toolGroups.splice(t,1))};function Ki(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Yi=function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ki(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ki(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(Nr(Ge.toolGroups));try{for(t.s();!(e=t.n()).done;){var n=e.value;zi(n.id)}}catch(e){t.e(e)}finally{t.f()}Ge.toolGroups=[]},Ji=!1;function $i(){Ji||(function(){Xi();var e=Y.Enums.Events.ELEMENT_ENABLED,t=Y.Enums.Events.ELEMENT_DISABLED;Y.eventTarget.addEventListener(e,na),Y.eventTarget.addEventListener(t,oa)}(),Qi(),Y.eventTarget.addEventListener($.ANNOTATION_MODIFIED,ia),Y.eventTarget.addEventListener($.ANNOTATION_SELECTION_CHANGE,la),Y.eventTarget.addEventListener($.ANNOTATION_SELECTION_CHANGE,la),Y.eventTarget.addEventListener($.SEGMENTATION_MODIFIED,ca),Y.eventTarget.addEventListener($.SEGMENTATION_DATA_MODIFIED,Wi),Y.eventTarget.addEventListener($.SEGMENTATION_REPRESENTATION_MODIFIED,Fi),Y.eventTarget.addEventListener($.SEGMENTATION_REPRESENTATION_REMOVED,Gi),Ji=!0)}function Zi(){Xi(),Qi(),Yi(),We={},Ge=oe()(Fe);var e=$e(),t=xt();e.restoreAnnotations({}),t.resetState(),Ji=!1}function Xi(){var e=Y.Enums.Events.ELEMENT_ENABLED,t=Y.Enums.Events.ELEMENT_DISABLED;Y.eventTarget.removeEventListener(e,na),Y.eventTarget.removeEventListener(t,oa)}function Qi(){Y.eventTarget.removeEventListener($.ANNOTATION_MODIFIED,ia),Y.eventTarget.removeEventListener($.ANNOTATION_SELECTION_CHANGE,la),Y.eventTarget.removeEventListener($.ANNOTATION_SELECTION_CHANGE,la),Y.eventTarget.removeEventListener($.SEGMENTATION_MODIFIED,ca),Y.eventTarget.removeEventListener($.SEGMENTATION_DATA_MODIFIED,Wi),Y.eventTarget.removeEventListener($.SEGMENTATION_REPRESENTATION_MODIFIED,Fi),Y.eventTarget.removeEventListener($.SEGMENTATION_REPRESENTATION_REMOVED,Gi)}function el(e){var t=e.toolName,n=void 0!==Ge.tools[t];if(!t)throw new Error("No Tool Found for the ToolClass ".concat(e.name));if(n)throw new Error("".concat(t," has already been added globally"));Ge.tools[t]={toolClass:e}}function tl(e){var t=e.toolName;if(!t)throw new Error("No tool found for: ".concat(e.name));if(void 0===!Ge.tools[t])throw new Error("".concat(t," cannot be removed because it has not been added"));delete Ge.tools[t]}function nl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function rl(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return nl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nl(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(go(e,Hr(e,[ze.Active,ze.Passive])));try{for(n.s();!(t=n.n()).done;){var r=t.value.tool.cancel(e);if(r)return r}}catch(e){n.e(e)}finally{n.f()}}var ol=function(){function e(t,n,r,o){var a=this;te(this,e),ne(this,"_enabled",void 0),ne(this,"_eventName",void 0),ne(this,"_eventHandler",void 0),ne(this,"_ignoreFiredEvents",void 0),ne(this,"_sourceViewports",void 0),ne(this,"_targetViewports",void 0),ne(this,"_viewportOptions",{}),ne(this,"_options",void 0),ne(this,"id",void 0),ne(this,"_onEvent",(function(e){if(!0!==a._ignoreFiredEvents&&a._targetViewports.length){var t=(0,Y.getEnabledElement)(e.currentTarget);if(t){var n=t.renderingEngineId,r=t.viewportId;a._sourceViewports.find((function(e){return e.viewportId===r}))&&a.fireEvent({renderingEngineId:n,viewportId:r},e)}}})),this._enabled=!0,this._eventName=n,this._eventHandler=r,this._ignoreFiredEvents=!1,this._sourceViewports=[],this._targetViewports=[],this._options=o||{},this.id=t}return ee(e,[{key:"isDisabled",value:function(){return!this._enabled||!this._hasSourceElements()}},{key:"setOptions",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._viewportOptions[e]=t}},{key:"getOptions",value:function(e){return this._viewportOptions[e]}},{key:"add",value:function(e){this.addTarget(e),this.addSource(e)}},{key:"addSource",value:function(e){if(!il(this._sourceViewports,e)){var t=e.renderingEngineId,n=e.viewportId;(0,Y.getRenderingEngine)(t).getViewport(n).element.addEventListener(this._eventName,this._onEvent.bind(this)),this._updateDisableHandlers(),this._sourceViewports.push(e)}}},{key:"addTarget",value:function(e){il(this._targetViewports,e)||(this._targetViewports.push(e),this._updateDisableHandlers())}},{key:"getSourceViewports",value:function(){return this._sourceViewports}},{key:"getTargetViewports",value:function(){return this._targetViewports}},{key:"destroy",value:function(){var e=this;this._sourceViewports.forEach((function(t){return e.removeSource(t)})),this._targetViewports.forEach((function(t){return e.removeTarget(t)}))}},{key:"remove",value:function(e){this.removeTarget(e),this.removeSource(e)}},{key:"removeSource",value:function(e){var t=al(this._sourceViewports,e);if(-1!==t){var n=function(e){var t=(0,Y.getRenderingEngine)(e.renderingEngineId);if(!t)throw new Error("No RenderingEngine for Id: ".concat(e.renderingEngineId));return t.getViewport(e.viewportId).element}(e);this._sourceViewports.splice(t,1),n.removeEventListener(this._eventName,this._eventHandler),this._updateDisableHandlers()}}},{key:"removeTarget",value:function(e){var t=al(this._targetViewports,e);-1!==t&&(this._targetViewports.splice(t,1),this._updateDisableHandlers())}},{key:"hasSourceViewport",value:function(e,t){return il(this._sourceViewports,{renderingEngineId:e,viewportId:t})}},{key:"hasTargetViewport",value:function(e,t){return il(this._targetViewports,{renderingEngineId:e,viewportId:t})}},{key:"fireEvent",value:function(e,t){var n=this;if(!this.isDisabled()&&!this._ignoreFiredEvents){this._ignoreFiredEvents=!0;var r=[];try{for(var o=0;o<this._targetViewports.length;o++){var a=this._targetViewports[o];e.viewportId===a.viewportId||r.push(this._eventHandler(this,e,a,t,this._options))}}catch(e){console.warn("Synchronizer, for: ".concat(this._eventName),e)}finally{r.length?Promise.allSettled(r).then((function(){n._ignoreFiredEvents=!1})):this._ignoreFiredEvents=!1}}}},{key:"_hasSourceElements",value:function(){return 0!==this._sourceViewports.length}},{key:"_updateDisableHandlers",value:function(){var e=function(e,t){for(var n=[],r=e.concat(t),o=function(){var e=r[a];n.some((function(t){return e.renderingEngineId===t.renderingEngineId&&e.viewportId===t.viewportId}))||n.push(e)},a=0;a<r.length;a++)o();return n}(this._sourceViewports,this._targetViewports),t=this.remove,n=function(e){t(e.detail.element)};e.forEach((function(e){var t=(0,Y.getRenderingEngine)(e.renderingEngineId).getViewport(e.viewportId);if(t){var r=t.element;r.removeEventListener(Y.Enums.Events.ELEMENT_DISABLED,n),r.addEventListener(Y.Enums.Events.ELEMENT_DISABLED,n)}}))}}]),e}();function al(e,t){return e.findIndex((function(e){return t.renderingEngineId===e.renderingEngineId&&t.viewportId===e.viewportId}))}function il(e,t){return e.some((function(e){return e.renderingEngineId===t.renderingEngineId&&e.viewportId===t.viewportId}))}var ll=ol,cl=function(e,t,n,r){if(Ge.synchronizers.some((function(t){return t.id===e})))throw new Error("Synchronizer with id '".concat(e,"' already exists."));var o=new ll(e,t,n,r);return Ge.synchronizers.push(o),o},sl=function(){for(;Ge.synchronizers.length>0;)Ge.synchronizers.pop().destroy()},dl=function(e){return Ge.synchronizers.find((function(t){return t.id===e}))},ul=function(){return Ge.synchronizers},vl=function(e){var t=Ge.synchronizers.findIndex((function(t){return t.id===e}));t>-1&&(Ge.synchronizers[t].destroy(),Ge.synchronizers.splice(t,1))},fl=h(485),gl=h.n(fl),hl=Symbol("DefinedCursors"),pl=new Set(["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","ne-resize","nesw-resize","no-drop","none","not-allowed","n-resize","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","se-resize","s-resize","sw-resize","text","vertical-text","wait","w-resize","zoom-in","zoom-out"]),ml=function(){function e(t,n){te(this,e),ne(this,"name",void 0),ne(this,"fallback",void 0),this.name=t+"",this.fallback=n}return ee(e,[{key:"getName",value:function(){return this.name+""}},{key:"addFallbackStyleProperty",value:function(t){var n=this.fallback;return n instanceof e?"".concat(t,", ").concat(n.getStyleProperty()):t+""}},{key:"getStyleProperty",value:function(){return this.addFallbackStyleProperty(this.name)+""}}],[{key:"getDefinedCursor",value:function(t){var n=wl(e,hl),r=n.get(t);return r instanceof e?r:pl.has(t)?(r=new e(t),n.set(t,r),r):void 0}},{key:"setDefinedCursor",value:function(t,n){return n instanceof e&&(wl(e,hl).set(t,n),!0)}}]),e}();function wl(e,t){var n=e[t];return n instanceof Map||(n=new Map,Object.defineProperty(e,t,{value:n})),n}var El=pl.values();function yl(){return yl="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ga(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},yl.apply(this,arguments)}var Il=function(e){return e.Default="",e.Highlighted="Highlighted",e.Selected="Selected",e.Locked="Locked",e}(Il||{}),bl=Il;var Cl=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(e,t,n,a,i){var l;return te(this,o),ne(da(l=r.call(this,a||o.getUniqueInstanceName("image-cursor"),i)),"url",void 0),ne(da(l),"x",void 0),ne(da(l),"y",void 0),l.url=e,l.x=Number(t)||0,l.y=Number(n)||0,l}return ee(o,[{key:"getStyleProperty",value:function(){var e=this.url,t=this.x,n=this.y,r="url('".concat(e,"')");return t>=0&&n>=0&&(t>0||n>0)&&(r+=" ".concat(t," ").concat(n)),this.addFallbackStyleProperty(r)}}],[{key:"getUniqueInstanceName",value:function(e){return"".concat(e,"-").concat(Y.utilities.getRuntimeId(o))}}]),o}(ml),Tl={iconContent:"",iconSize:16,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'\n <path stroke="{{color}}" d="M8 16L8 0"></path>\n <path stroke="{{color}}" d="M16 8L0 8"></path>\n '},_l={x:127,y:60},Dl='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n',Ol='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n<rect fill="{{color}}" x="95.84" y="9.38" width="15.85" height="47.14"/>\n',Sl='<path fill="{{color}}" d="M82.89,10a12.09,12.09,0,0,0-16.8-2.5l-27.5,20.4-8.5-6.3a2.93,2.93,0,0,1-1.1-3,14.66,14.66,0,0,0,.1-6.6,14.08,14.08,0,1,0-6.5,15.2,2.87,2.87,0,0,1,3.2.2l8.2,6.1-8.2,6.1a2.87,2.87,0,0,1-3.2.2,14.16,14.16,0,1,0,6.7,14.4,14,14,0,0,0-.3-5.8,2.93,2.93,0,0,1,1.1-3l8.5-6.3,27.5,20.4A11.91,11.91,0,0,0,82.89,57l-31.7-23.5ZM15.29,21a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,21Zm0,36.8a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,57.77Zm28.3-21.5a2.8,2.8,0,1,1,2.8-2.8A2.8,2.8,0,0,1,43.59,36.27Z" transform="translate(-1.17 -0.96)"/>',xl='<path fill="{{color}}" d="M8.86,2.25V66.08H72.69V2.25H8.86ZM65.28,58.67h-49v-49h49v49Z" transform="translate(-8.86 -2.25)"/>',Ml='<path fill="{{color}}" d="M40.77,2.25A31.92,31.92,0,1,0,72.69,34.16,31.92,31.92,0,0,0,40.77,2.25Zm0,57.63A25.71,25.71,0,1,1,66.48,34.16,25.71,25.71,0,0,1,40.77,59.87Z" transform="translate(-8.86 -2.25)"/>',kl={Angle:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50\n 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23\n 10l50 50q10 10 10 23z" />',viewBox:{x:1792,y:1792}}),ArrowAnnotate:Rl(Tl,{iconContent:'<g id="arrowAnnotate-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="arrowAnnotate-arrow" d="M23,7 l-15,15 M7,17 l0,6 6,0" stroke-width="2" />\n </g>',viewBox:{x:24,y:24}}),Bidirectional:Rl(Tl,{iconContent:'<g fill="{{color}}" stroke-width="3" stroke="{{color}}">\n <path d="M27.63 3.21L3.12 28.81"></path>\n <path d="M27.63 15.75L15.27 4.43"></path>\n <path d="M16.5 4.28C16.5 4.96 15.95 5.51 15.27 5.51C14.59 5.51 14.03 4.96 14.03 4.28C14.03 3.59 14.59 3.04 15.27 3.04C15.95 3.04 16.5 3.59 16.5 4.28Z" ></path>\n <path d="M28.87 3.19C28.87 3.87 28.31 4.43 27.63 4.43C26.95 4.43 26.4 3.87 26.4 3.19C26.4 2.51 26.95 1.95 27.63 1.95C28.31 1.95 28.87 2.51 28.87 3.19Z"></path>\n <path d="M28.87 15.75C28.87 16.43 28.31 16.99 27.63 16.99C26.95 16.99 26.4 16.43 26.4 15.75C26.4 15.07 26.95 14.51 27.63 14.51C28.31 14.51 28.87 15.07 28.87 15.75Z"></path>\n <path d="M4.73 28.44C4.73 29.12 4.17 29.68 3.49 29.68C2.81 29.68 2.25 29.12 2.25 28.44C2.25 27.76 2.81 27.2 3.49 27.2C4.17 27.2 4.73 27.76 4.73 28.44Z"></path>\n </g>',viewBox:{x:48,y:48}}),CobbAngle:Rl(Tl,{iconContent:'<g stroke="{{color}}" stroke-width="3">\n <path d="M28.59 2.34L3.82 12.32"></path>\n <path d="M28.59 29.66L3.82 19.68"></path>\n <path stroke-dasharray="2" fill-opacity="0" d="M12.37\n 23.06C12.67 22.36 12.85 21.93 12.92 21.76C14.6 17.8 14.68 13.35 13.15\n 9.33C13.11 9.24 13.02 9 12.88 8.63">\n </path>\n </g>',viewBox:{x:32,y:32}}),CircleROI:Rl(Tl,{iconContent:'<circle stroke="{{color}}" fill="none" stroke-width="3" cx="16" cy="16" r="14" />',viewBox:{x:32,y:32}}),EllipticalROI:Rl(Tl,{iconContent:'<path stroke="{{color}}" fill="none" stroke-width="3" d="M30.74 15.76C30.74 20.99 24.14 25.23 16\n 25.23C7.86 25.23 1.26 20.99 1.26 15.76C1.26 10.54 7.86 6.3 16 6.3C24.14\n 6.3 30.74 10.54 30.74 15.76Z" />',viewBox:{x:32,y:32}}),FreehandROI:Rl(Tl,{iconContent:'<g fill="{{color}}" stroke="{{color}}" stroke-width="2">\n <ellipse ry="1" rx="1" id="svg_3" cy="4.240343" cx="14.306499"/>\n <line id="svg_4" y2="3.58462" x2="12.242186" y1="3.997482" x1="13.432202"/>\n <line id="svg_5" y2="3.268901" x2="10.857882" y1="3.608906" x1="12.387902"/>\n <line id="svg_6" y2="3.147471" x2="9.740724" y1="3.293187" x1="10.955026"/>\n <line id="svg_7" y2="3.147471" x2="8.089274" y1="3.196043" x1="9.983585"/>\n <line id="svg_8" y2="3.268901" x2="6.874972" y1="3.123185" x1="8.307848"/>\n <line id="svg_9" y2="3.657478" x2="5.587812" y1="3.220329" x1="7.020688"/>\n <line id="svg_10" y2="4.046054" x2="4.737801" y1="3.560334" x1="5.854959"/>\n <line id="svg_11" y2="4.337487" x2="4.300652" y1="3.997482" x1="4.834945"/>\n <line id="svg_12" y2="4.726063" x2="3.88779" y1="4.191771" x1="4.470655"/>\n <line id="svg_15" y2="5.3575" x2="3.377783" y1="4.604633" x1="3.960648"/>\n <line id="svg_16" y2="6.183226" x2="2.916348" y1="5.138926" x1="3.547785"/>\n <line id="svg_17" y2="6.960379" x2="2.770632" y1="5.867507" x1="3.037779"/>\n <line id="svg_18" y2="7.713246" x2="2.673488" y1="6.741804" x1="2.819204"/>\n <line id="svg_19" y2="8.684687" x2="2.697774" y1="7.616102" x1="2.673488"/>\n <line id="svg_20" y2="9.753273" x2="2.892062" y1="8.611829" x1="2.697774"/>\n <line id="svg_21" y2="10.724714" x2="3.134923" y1="9.534698" x1="2.84349"/>\n <line id="svg_23" y2="11.647583" x2="3.596357" y1="10.578998" x1="3.086351"/>\n <line id="svg_25" y2="12.521881" x2="4.276366" y1="11.501867" x1="3.499213"/>\n <line id="svg_26" y2="13.930471" x2="5.830673" y1="12.376165" x1="4.13065"/>\n <line id="svg_28" y2="14.707624" x2="7.263549" y1="13.881899" x1="5.733528"/>\n <line id="svg_29" y2="15.339061" x2="8.963571" y1="14.61048" x1="7.06926"/>\n <line id="svg_30" y2="15.581921" x2="10.882168" y1="15.314775" x1="8.817855"/>\n <line id="svg_31" y2="15.460491" x2="12.023612" y1="15.581921" x1="10.785024"/>\n <line id="svg_33" y2="15.120487" x2="13.092197" y1="15.484777" x1="11.877895"/>\n <line id="svg_34" y2="14.586194" x2="13.86935" y1="15.217631" x1="12.897909"/>\n <line id="svg_35" y2="13.833327" x2="14.597931" y1="14.756196" x1="13.699348"/>\n <line id="svg_37" y2="12.716169" x2="15.180796" y1="13.881899" x1="14.549359"/>\n <line id="svg_39" y2="11.429009" x2="15.520801" y1="12.813313" x1="15.15651"/>\n <ellipse ry="1" rx="1" id="svg_40" cy="10.967574" cx="15.520801"/>\n </g>',viewBox:{x:18,y:18}}),FreehandROISculptor:Rl(Tl,{iconContent:'<g id="icon-freehand-sculpt" fill="none" stroke-width="1.5" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <line id="svg_1" y2="2.559367" x2="10.184807" y1="4.467781" x1="8.81711"/>\n <line id="svg_4" y2="1.493836" x2="11.727442" y1="2.766112" x1="10.089386"/>\n <line id="svg_7" y2="1.080346" x2="13.047428" y1="1.748291" x1="11.345759"/>\n <line id="svg_8" y2="1.000829" x2="14.351511" y1="1.112153" x1="12.77707"/>\n <line id="svg_9" y2="1.350705" x2="15.242104" y1="0.905408" x1="13.969828"/>\n <line id="svg_10" y2="2.098167" x2="15.862339" y1="1.14396" x1="14.955842"/>\n <line id="svg_11" y2="3.195505" x2="16.41896" y1="1.939133" x1="15.766918"/>\n <line id="svg_12" y2="4.292843" x2="16.530284" y1="2.925147" x1="16.387153"/>\n <line id="svg_16" y2="5.644637" x2="16.196311" y1="3.831643" x1="16.593898"/>\n <line id="svg_18" y2="7.266789" x2="15.623787" y1="5.19934" x1="16.275829"/>\n <line id="svg_19" y2="10.813258" x2="14.526449" y1="6.726071" x1="15.766918"/>\n <line id="svg_20" y2="5.056209" x2="8.085552" y1="4.181519" x1="8.976145"/>\n <line id="svg_23" y2="5.326568" x2="7.481221" y1="4.78585" x1="8.403621"/>\n <line id="svg_24" y2="5.565119" x2="6.749662" y1="5.294761" x1="7.624352"/>\n <line id="svg_25" y2="5.994512" x2="5.429675" y1="5.533312" x1="6.956407"/>\n <line id="svg_27" y2="6.551133" x2="4.284627" y1="5.962706" x1="5.572807"/>\n <line id="svg_28" y2="7.584858" x2="3.044158" y1="6.392099" x1="4.427758"/>\n <line id="svg_29" y2="8.84123" x2="2.185372" y1="7.489437" x1="3.219096"/>\n <line id="svg_31" y2="10.606513" x2="1.644654" y1="8.602678" x1="2.280792"/>\n <line id="svg_32" y2="13.214679" x2="1.48562" y1="10.352058" x1="1.724171"/>\n <line id="svg_33" y2="14.375631" x2="1.676461" y1="12.992031" x1="1.453813"/>\n <line id="svg_34" y2="15.298031" x2="2.264889" y1="14.152983" x1="1.517427"/>\n <line id="svg_35" y2="16.172721" x2="3.521261" y1="14.948155" x1="1.915013"/>\n <line id="svg_36" y2="16.824762" x2="5.207027" y1="15.997783" x1="3.28271"/>\n <line id="svg_38" y2="17.063314" x2="7.035924" y1="16.745245" x1="4.968475"/>\n <line id="svg_39" y2="16.888376" x2="9.278311" y1="17.047411" x1="6.733758"/>\n <line id="svg_40" y2="16.284045" x2="10.661911" y1="16.983797" x1="8.992048"/>\n <line id="svg_41" y2="15.313934" x2="11.647925" y1="16.395369" x1="10.455166"/>\n <line id="svg_44" y2="13.898527" x2="12.82478" y1="15.425259" x1="11.504794"/>\n <line id="svg_45" y2="12.037824" x2="14.144766" y1="14.312017" x1="12.522614"/>\n <line id="svg_47" y2="10.59061" x2="14.605966" y1="12.228665" x1="13.953925"/>\n <ellipse ry="1" rx="1" id="svg_48" cy="3.982726" cx="13.460918"/>\n </g>',viewBox:{x:18,y:18}}),Length:Rl(Tl,{iconContent:'<g id="length-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="length-dashes" d="m22.5,6 -16.5,16.5" stroke-width="3" stroke-dasharray="0.6666,5" />\n </g>',viewBox:{x:24,y:24}}),Probe:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1152 896q0 106-75 181t-181 75-181-75-75-181 75-181 181-75 181 75\n 75 181zm-256-544q-148 0-273 73t-198 198-73 273 73 273 198 198 273 73 273-73\n 198-198 73-273-73-273-198-198-273-73zm768 544q0 209-103 385.5t-279.5\n 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5\n 385.5-103 385.5 103 279.5 279.5 103 385.5z" />',viewBox:{x:1792,y:1792}}),RectangleROI:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1312 256h-832q-66 0-113 47t-47 113v832q0 66 47\n 113t113 47h832q66 0 113-47t47-113v-832q0-66-47-113t-113-47zm288 160v832q0\n 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119\n 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),TextMarker:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M789 559l-170 450q33 0 136.5 2t160.5 2q19 0\n 57-2-87-253-184-452zm-725 1105l2-79q23-7 56-12.5t57-10.5 49.5-14.5 44.5-29\n 31-50.5l237-616 280-724h128q8 14 11 21l205 480q33 78 106 257.5t114 274.5q15\n 34 58 144.5t72 168.5q20 45 35 57 19 15 88 29.5t84 20.5q6 38 6 57 0 5-.5\n 13.5t-.5 12.5q-63 0-190-8t-191-8q-76 0-215 7t-178 8q0-43 4-78l131-28q1 0\n 12.5-2.5t15.5-3.5 14.5-4.5 15-6.5 11-8 9-11\n 2.5-14q0-16-31-96.5t-72-177.5-42-100l-450-2q-26 58-76.5 195.5t-50.5 162.5q0\n 22 14 37.5t43.5 24.5 48.5 13.5 57 8.5 41 4q1 19 1 58 0 9-2 27-58\n 0-174.5-10t-174.5-10q-8 0-26.5 4t-21.5 4q-80 14-188 14z" />',viewBox:{x:1792,y:1792}}),Crosshairs:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1325 1024h-109q-26 0-45-19t-19-45v-128q0-26\n 19-45t45-19h109q-32-108-112.5-188.5t-188.5-112.5v109q0 26-19 45t-45\n 19h-128q-26 0-45-19t-19-45v-109q-108 32-188.5 112.5t-112.5 188.5h109q26\n 0 45 19t19 45v128q0 26-19 45t-45 19h-109q32 108 112.5 188.5t188.5\n 112.5v-109q0-26 19-45t45-19h128q26 0 45 19t19 45v109q108-32\n 188.5-112.5t112.5-188.5zm339-192v128q0 26-19 45t-45 19h-143q-37 161-154.5\n 278.5t-278.5 154.5v143q0 26-19 45t-45 19h-128q-26\n 0-45-19t-19-45v-143q-161-37-278.5-154.5t-154.5-278.5h-143q-26\n 0-45-19t-19-45v-128q0-26 19-45t45-19h143q37-161\n 154.5-278.5t278.5-154.5v-143q0-26 19-45t45-19h128q26 0 45 19t19 45v143q161\n 37 278.5 154.5t154.5 278.5h143q26 0 45 19t19 45z" />',viewBox:{x:1792,y:1792}}),Eraser:Rl(Tl,{iconContent:'<path transform="translate(0,1792) scale(1,-1)" fill="{{color}}" d="M960 1408l336-384h-768l-336 384h768zm1013-1077q15\n 34 9.5 71.5t-30.5 65.5l-896 1024q-38 44-96 44h-768q-38\n 0-69.5-20.5t-47.5-54.5q-15-34-9.5-71.5t30.5-65.5l896-1024q38-44 96-44h768q38\n 0 69.5 20.5t47.5 54.5z" />',viewBox:{x:2048,y:1792}}),Magnify:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />',viewBox:{x:512,y:512}}),Pan:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17\n 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355\n 355 144 144q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59\n 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12\n 0-24-5-40-17-40-59v-448q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69l-144\n 144 355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19\n 45v448q0 42-39 59-13 5-25 5-26 0-45-19z" />',viewBox:{x:1792,y:1792}}),Rotate:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39\n 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5\n 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0\n 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109\n 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298\n 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14\n 39 17 39 59z" />',viewBox:{x:1792,y:1792}}),StackScroll:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M24 21v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1zM24 13v2c0\n 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547\n 0 1 0.453 1 1zM24 5v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1z" />',viewBox:{x:24,y:28}}),WindowLevelRegion:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1664 416v960q0 119-84.5 203.5t-203.5 84.5h-960q-119\n 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5\n 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),WindowLevel:Rl(Tl,{iconContent:'\n <path fill="{{color}}" d="M14.5,3.5 a1 1 0 0 1 -11,11 Z" stroke="none" opacity="0.8" />\n <circle cx="9" cy="9" r="8" fill="none" stroke-width="2" stroke="{{color}}" />',viewBox:{x:18,y:18}}),Zoom:Rl(Tl,{iconContent:'\n <path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />\n <path fill="{{color}}" transform="scale(0.22,0.22) translate(1400,0)" d="M1216\n 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19\n 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26\n 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z" />',viewBox:{x:640,y:512}}),SegmentationFreeHandEraseInside:Rl(Tl,{iconContent:"".concat(Sl," ").concat(Dl),viewBox:_l}),SegmentationFreeHandFillInside:Rl(Tl,{iconContent:"".concat(Sl," ").concat(Ol),viewBox:_l}),SegmentationFreeHandEraseOutside:Rl(Tl,{iconContent:"".concat(Sl," ").concat(Dl),viewBox:_l}),SegmentationFreeHandFillOutside:Rl(Tl,{iconContent:"".concat(Sl," ").concat(Ol),viewBox:_l}),SegmentationRectangleEraseInside:Rl(Tl,{iconContent:"".concat(xl," ").concat(Dl),viewBox:_l}),RectangleScissor:Rl(Tl,{iconContent:"".concat(xl," ").concat(Ol),viewBox:_l}),"RectangleScissor.FILL_INSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Ol),viewBox:_l}),"RectangleScissor.FILL_OUTSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Ol),viewBox:_l}),"RectangleScissor.ERASE_OUTSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Dl),viewBox:_l}),"RectangleScissor.ERASE_INSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Dl),viewBox:_l}),CircleScissor:Rl(Tl,{iconContent:"".concat(Ml," ").concat(Ol),viewBox:_l}),"CircleScissor.FILL_INSIDE":Rl(Tl,{iconContent:"".concat(Ml," ").concat(Ol),viewBox:_l}),"CircleScissor.ERASE_OUTSIDE":Rl(Tl,{iconContent:"".concat(Ml," ").concat(Dl),viewBox:_l}),"CircleScissor.FILL_OUTSIDE":Rl(Tl,{iconContent:"".concat(Ml," ").concat(Ol),viewBox:_l})};function Rl(e,t){return Object.assign(Object.create(e),t)}function Pl(e,t,n){kl[e]=Rl(Tl,{iconContent:t,viewBox:n})}var Nl=Object.keys(kl);function Al(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ll(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Al(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Al(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Ul=new(function(){function e(){te(this,e),ne(this,"config",void 0),this._initializeConfig({color:"rgb(255, 255, 0)",colorHighlighted:"rgb(0, 255, 0)",colorSelected:"rgb(0, 220, 0)",colorLocked:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"",shadow:!0,textBoxVisibility:!0,textBoxFontFamily:"Helvetica Neue, Helvetica, Arial, sans-serif",textBoxFontSize:"14px",textBoxColor:"rgb(255, 255, 0)",textBoxColorHighlighted:"rgb(0, 255, 0)",textBoxColorSelected:"rgb(0, 255, 0)",textBoxColorLocked:"rgb(255, 255, 0)",textBoxBackground:"",textBoxLinkLineWidth:"1",textBoxLinkLineDash:"2,3",textBoxShadow:!0})}return ee(e,[{key:"getAnnotationToolStyles",value:function(e){return this.config.annotations&&this.config.annotations[e]}},{key:"getViewportToolStyles",value:function(e){return this.config.viewports&&this.config.viewports[e]}},{key:"getToolGroupToolStyles",value:function(e){return this.config.toolGroups&&this.config.toolGroups[e]}},{key:"getDefaultToolStyles",value:function(){return this.config.default}},{key:"setAnnotationStyles",value:function(e,t){var n=this.config.annotations;n||(this.config=Ll(Ll({},this.config),{},{annotations:{}}),n=this.config.annotations),n[e]=t}},{key:"setViewportToolStyles",value:function(e,t){var n=this.config.viewports;n||(this.config=Ll(Ll({},this.config),{},{viewports:{}}),n=this.config.viewports),n[e]=t}},{key:"setToolGroupToolStyles",value:function(e,t){var n=this.config.toolGroups;n||(this.config=Ll(Ll({},this.config),{},{toolGroups:{}}),n=this.config.toolGroups),n[e]=t}},{key:"setDefaultToolStyles",value:function(e){this.config.default=e}},{key:"getStyleProperty",value:function(e,t){var n=t.annotationUID,r=t.viewportId,o=t.toolGroupId,a=t.toolName;return this._getToolStyle(e,n,r,o,a)}},{key:"_getToolStyle",value:function(e,t,n,r,o){if(t){var a=this.getAnnotationToolStyles(t);if(a&&a[e])return a[e]}if(n){var i=this.getViewportToolStyles(n);if(i){if(i[o]&&i[o][e])return i[o][e];if(i.global&&i.global[e])return i.global[e]}}if(r){var l=this.getToolGroupToolStyles(r);if(l){if(l[o]&&l[o][e])return l[o][e];if(l.global&&l.global[e])return l.global[e]}}var c=this.getDefaultToolStyles();return c[o]&&c[o][e]?c[o][e]:c.global&&c.global[e]?c.global[e]:void 0}},{key:"_initializeConfig",value:function(e){var t={};for(var n in e)t[n]=e[n];this.config={default:{global:t}}}}]),e}());function Vl(e,t,n,r){for(var o=function(e,t,n){var r=["".concat(e)];return t&&r.push("".concat(r[0]).concat(t)),n&&r.push("".concat(r[r.length-1]).concat(n)),r}(e,n,r),a=o.length-1;a>=0;--a){var i=Ul.getStyleProperty(o[a],t);if(void 0!==i)return i}}var Bl=bl.Highlighted,jl=ze.Active,Hl=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(e,t,n,a,i){return te(this,o),r.call(this,e,t,n,a,i)}return ee(o,null,[{key:"getDefinedCursor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0;n||(n=Vl("color",{},Bl,jl));var r=function(e,t,n){return"".concat(t?"pointer":"cursor",":").concat(e,"/").concat(n)}(e,t,n),a=yl(ga(o),"getDefinedCursor",this).call(this,r);if(!a){var i=function(e){return kl[e]}(e);i&&(a=Fl(i,r,t,n,yl(ga(o),"getDefinedCursor",this).call(this,"default")),yl(ga(o),"setDefinedCursor",this).call(this,r,a))}return a}}]),o}(Cl);function Wl(e,t){var n=Object(t),r=Object.prototype.hasOwnProperty.bind(n);return(e+"").replace(/\{\{(\w+)\}\}/g,(function(e,t){return r(t)?n[t]+"":""}))}function Fl(e,t,n,r,o){var a=e.mousePoint,i=a.x,l=a.y;return new Hl(function(e,t,n){return URL.createObjectURL(function(e,t,n){var r=(t?ql:Gl)(e,n);return new Blob([r],{type:"image/svg+xml"})}(e,t,n))}(e,n,{color:r}),i,l,t,o)}function Gl(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox;return Wl('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(r,'" height="').concat(r,'" viewBox="0 0\n ').concat(o.x," ").concat(o.y,'">\n ').concat(n,"\n </svg>"),t)}function ql(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox,a=e.mousePointerGroupString,i=r/Math.max(o.x,o.y,1),l=16+r;return Wl('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(l,'" height="').concat(l,'" viewBox="0 0 ').concat(l," ").concat(l,'">\n <g>').concat(a,'</g>\n <g transform="translate(16, 16) scale(').concat(i,')">').concat(n,"</g>\n </svg>"),t)}var zl=Symbol("ElementCursorsMap");function Kl(e,t){Zl(e)[0]=t,Yl(e,t)}function Yl(e,t){var n=Zl(e);n[1]=n[0],n[0]=t,e.style.cursor=(t instanceof ml?t:ml.getDefinedCursor("auto")).getStyleProperty()}function Jl(e){Yl(e,Zl(e)[1])}function $l(e){Yl(e,ml.getDefinedCursor("none"))}function Zl(e){var t=Zl[zl];t instanceof WeakMap||(t=new WeakMap,Object.defineProperty(Zl,zl,{value:t}));var n=t.get(e);return n||(n=[null,null],t.set(e,n)),n}var Xl=ze.Active,Ql=ze.Passive,ec=ze.Enabled,tc=ze.Disabled,nc=function(){function e(t){te(this,e),ne(this,"id",void 0),ne(this,"viewportsInfo",[]),ne(this,"toolOptions",{}),ne(this,"_toolInstances",{}),this.id=t}return ee(e,[{key:"getViewportIds",value:function(){return this.viewportsInfo.map((function(e){return e.viewportId}))}},{key:"getViewportsInfo",value:function(){return this.viewportsInfo.slice()}},{key:"getToolInstance",value:function(e){var t=this._toolInstances[e];if(t)return t;console.warn("'".concat(e,"' is not registered with this toolGroup (").concat(this.id,")."))}},{key:"addTool",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Ge.tools[e],r=void 0!==e&&""!==e,o=this.toolOptions[e];if(r)if(n)if(o)console.warn("'".concat(e,"' is already registered for ToolGroup ").concat(this.id,"."));else{var a=new(0,n.toolClass)({name:e,toolGroupId:this.id,configuration:t});this._toolInstances[e]=a}else console.warn("'".concat(e,"' is not registered with the library. You need to use cornerstoneTools.addTool to register it."));else console.warn("Tool with configuration did not produce a toolName: ",t)}},{key:"addToolInstance",value:function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null===(n=Ge.tools[e])||void 0===n?void 0:n.toolClass;if(!o){var a=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){return te(this,o),r.apply(this,arguments)}return ee(o)}(Ge.tools[t].toolClass);a.toolName=e,o=a,Ge.tools[e]={toolClass:a}}this.addTool(o.toolName,r)}},{key:"addViewport",value:function(e,t){var n=(0,Y.getRenderingEngines)();if(!t&&n.length>1)throw new Error("You must specify a renderingEngineId when there are multiple rendering engines.");var r=t||n[0].id;this.viewportsInfo.some((function(t){return t.viewportId===e}))||this.viewportsInfo.push({viewportId:e,renderingEngineId:r});var o=this.getActivePrimaryMouseButtonTool();Y.Settings.getRuntimeSettings().get("useCursors")&&this.setViewportsCursorByToolName(o)}},{key:"removeViewports",value:function(e,t){var n=[];if(this.viewportsInfo.forEach((function(r,o){var a=!1;r.renderingEngineId===e&&(a=!0,t&&r.viewportId!==t&&(a=!1)),a&&n.push(o)})),n.length)for(var r=n.length-1;r>=0;r--)this.viewportsInfo.splice(n[r],1)}},{key:"setActiveStrategy",value:function(e,t){var n=this._toolInstances[e];void 0!==n?n.setActiveStrategy(t):console.warn("Tool ".concat(e," not added to toolGroup, can't set tool configuration."))}},{key:"setToolMode",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e?t!==ze.Active?t!==ze.Passive?t!==ze.Enabled?t!==ze.Disabled?console.warn("setToolMode: mode must be defined"):this.setToolDisabled(e):this.setToolEnabled(e):this.setToolPassive(e):this.setToolActive(e,n):console.warn("setToolMode: toolName must be defined")}},{key:"setToolActive",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._toolInstances[e];if(void 0!==n)if(n){var r=this.toolOptions[e]?this.toolOptions[e].bindings:[],o=t.bindings?t.bindings:[],a={bindings:[].concat(Nr(r),Nr(o)).reduce((function(e,t){var n=void 0!==t.numTouchPoints,r=void 0!==t.mouseButton;return e.some((function(e){return r=t,(n=e).mouseButton===r.mouseButton&&n.modifierKey===r.modifierKey;var n,r}))||!n&&!r||e.push(t),e}),[]),mode:Xl};this.toolOptions[e]=a,this._toolInstances[e].mode=Xl;var i=Y.Settings.getRuntimeSettings().get("useCursors");if(this._hasMousePrimaryButtonBinding(t)&&i)this.setViewportsCursorByToolName(e);else if(!this.getActivePrimaryMouseButtonTool()&&i){var l=ml.getDefinedCursor("default");this._setCursorForViewports(l)}"function"==typeof n.onSetToolActive&&n.onSetToolActive(),this._renderViewports();var c={toolGroupId:this.id,toolName:e,toolBindingsOptions:t};(0,Y.triggerEvent)(Y.eventTarget,$.TOOL_ACTIVATED,c)}else console.warn("'".concat(e,"' instance ").concat(n," is not registered with this toolGroup, can't set tool mode."));else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolPassive",value:function(e){var t=this._toolInstances[e];if(void 0!==t){var n=this.getToolOptions(e),r=Object.assign({bindings:n?n.bindings:[]},n,{mode:Ql}),o=this.getDefaultMousePrimary();r.bindings=r.bindings.filter((function(e){return e.mouseButton!==o||e.modifierKey}));var a=Ql;0!==r.bindings.length&&(a=Xl,r.mode=a),this.toolOptions[e]=r,t.mode=a,"function"==typeof t.onSetToolPassive&&t.onSetToolPassive(),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolEnabled",value:function(e){var t=this._toolInstances[e];if(void 0!==t){var n={bindings:[],mode:ec};this.toolOptions[e]=n,t.mode=ec,"function"==typeof t.onSetToolEnabled&&t.onSetToolEnabled(),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolDisabled",value:function(e){var t=this._toolInstances[e];if(void 0!==t){var n={bindings:[],mode:tc};this.toolOptions[e]=n,t.mode=tc,"function"==typeof t.onSetToolDisabled&&t.onSetToolDisabled(),this._renderViewports()}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"getToolOptions",value:function(e){var t=this.toolOptions[e];if(void 0!==t)return t}},{key:"getActivePrimaryMouseButtonTool",value:function(){var e=this;return Object.keys(this.toolOptions).find((function(t){var n=e.toolOptions[t];return n.mode===Xl&&e._hasMousePrimaryButtonBinding(n)}))}},{key:"setViewportsCursorByToolName",value:function(e,t){var n=this._getCursor(e,t);this._setCursorForViewports(n)}},{key:"_getCursor",value:function(e,t){var n,r;return t&&(n="".concat(e,".").concat(t),r=Hl.getDefinedCursor(n,!0))?r:(n="".concat(e),(r=Hl.getDefinedCursor(n,!0))?r:(n=e,(r=Hl.getDefinedCursor(n,!0))||ml.getDefinedCursor("default")))}},{key:"_setCursorForViewports",value:function(e){this.viewportsInfo.forEach((function(t){var n=t.renderingEngineId,r=t.viewportId,o=(0,Y.getEnabledElementByIds)(r,n);o&&Kl(o.viewport.element,e)}))}},{key:"setToolConfiguration",value:function(e,t,n){return void 0===this._toolInstances[e]?(console.warn("Tool ".concat(e," not present, can't set tool configuration.")),!1):(r=n?t:Object.assign(this._toolInstances[e].configuration,t),this._toolInstances[e].configuration=r,this._renderViewports(),!0);var r}},{key:"getDefaultMousePrimary",value:function(){return mo.Primary}},{key:"getToolConfiguration",value:function(e,t){if(void 0!==this._toolInstances[e]){var n=gl()(this._toolInstances[e].configuration,t);return oe()(n)}console.warn("Tool ".concat(e," not present, can't set tool configuration."))}},{key:"_hasMousePrimaryButtonBinding",value:function(e){var t,n=this.getDefaultMousePrimary();return null==e||null===(t=e.bindings)||void 0===t?void 0:t.some((function(e){return e.mouseButton===n&&void 0===e.modifierKey}))}},{key:"_renderViewports",value:function(){this.viewportsInfo.forEach((function(e){var t=e.renderingEngineId,n=e.viewportId;(0,Y.getRenderingEngine)(t).renderViewport(n)}))}}]),e}(),rc=function(e){if(!Ge.toolGroups.some((function(t){return t.id===e}))){var t=new nc(e);return Ge.toolGroups.push(t),t}console.warn("'".concat(e,"' already exists."))},oc=function(){return Ge.toolGroups};function ac(e,t,n,r){var o=r.detail.camera,a=(0,Y.getRenderingEngine)(n.renderingEngineId);if(!a)throw new Error("No RenderingEngine for Id: ".concat(n.renderingEngineId));var i=a.getViewport(n.viewportId);i.setCamera(o),i.render()}var ic=Y.Enums.Events.CAMERA_MODIFIED;function lc(e){return cl(e,ic,ac)}function cc(e,t,n,r,o){var a=r.detail,i=a.volumeId,l=a.range,c=a.invertStateChanged,s=a.invert,d=(0,Y.getRenderingEngine)(n.renderingEngineId);if(!d)throw new Error("Rendering Engine does not exist: ".concat(n.renderingEngineId));var u=d.getViewport(n.viewportId),v={voiRange:l};if(null!=o&&o.syncInvertState&&c&&(v.invert=s),u instanceof Y.BaseVolumeViewport)u.setProperties(v,i);else{if(!(u instanceof Y.StackViewport))throw new Error("Viewport type not supported.");u.setProperties(v)}u.render()}function sc(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{syncInvertState:!0};return cl(e,Y.Enums.Events.VOI_MODIFIED,cc,t)}function dc(e,t,n){var r=(0,Y.getRenderingEngine)(n.renderingEngineId);if(!r)throw new Error("No RenderingEngine for Id: ".concat(n.renderingEngineId));var o=e.getOptions(n.viewportId),a=r.getViewport(n.viewportId),i=r.getViewport(t.viewportId);if(!1!==(null==o?void 0:o.syncZoom)){var l=i.getZoom();a.setZoom(l)}if(!1!==(null==o?void 0:o.syncPan)){var c=i.getPan();a.setPan(c)}a.render()}var uc=Y.Enums.Events.CAMERA_MODIFIED;function vc(e){return cl(e,uc,dc)}var fc=h(976);var gc=function(e,t,n){return Math.min(Math.max(t,e),n)};function hc(e,t){if(!(0,Y.getEnabledElement)(e.element))throw new Error("Scroll::Viewport is not enabled (it might be disabled)");if(e instanceof Y.StackViewport&&0===e.getImageIds().length)throw new Error("Scroll::Stack Viewport has no images");var n=e.type,r=t.volumeId,o=t.delta;if(e instanceof Y.StackViewport)e.scroll(o,t.debounceLoading,t.loop);else{if(!(e instanceof Y.VolumeViewport))throw new Error("Not implemented for Viewport Type: ".concat(n));!function(e,t,n){var r=Y.utilities.getVolumeViewportScrollInfo(e,t),o=r.numScrollSteps,a=r.currentStepIndex,i=r.sliceRangeInfo;if(i){var l=i.sliceRange,c=i.spacingInNormalDirection,s=i.camera,d=s.focalPoint,u=s.viewPlaneNormal,v=s.position,f=Y.utilities.snapFocalPointToSlice(d,v,l,u,c,n),g=f.newFocalPoint,h=f.newPosition;e.setCamera({focalPoint:g,position:h}),e.render();var p=a+n;if((p>o||p<0)&&e.getCurrentImageId()){var m={volumeId:t,viewport:e,delta:n,desiredStepIndex:p,currentStepIndex:a,numScrollSteps:o,currentImageId:e.getCurrentImageId()};Y.utilities.triggerEvent(Y.eventTarget,Y.EVENTS.VOLUME_SCROLL_OUT_OF_BOUNDS,m)}}}(e,r,o)}}function pc(){return pc=Na(La().mark((function e(t){var n,r,o,a,i,l,c,s,d,u,v=arguments;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=(n=v.length>1&&void 0!==v[1]?v[1]:{}).imageIndex,o=n.debounceLoading,a=n.volumeId,i=(0,Y.getEnabledElement)(t)){e.next=5;break}throw new Error("Element has been disabled");case 5:l=i.viewport,c=mc(l,o),s=c.imageIndex,d=c.numberOfSlices,u=wc(d,r),hc(l,{delta:u-s,debounceLoading:o,volumeId:a});case 10:case"end":return e.stop()}}),e)}))),pc.apply(this,arguments)}function mc(e,t){if(e instanceof Y.StackViewport)return{numberOfSlices:e.getImageIds().length,imageIndex:t?e.getTargetImageIdIndex():e.getCurrentImageIdIndex()};if(e instanceof Y.VolumeViewport)return Y.utilities.getImageSliceDataForVolumeViewport(e);throw new Error("Unsupported viewport type")}function wc(e,t){return gc(t,0,e-1)}var Ec=function(e){return pc.apply(this,arguments)},yc=function(e,t){return Y.utilities.spatialRegistrationMetadataProvider.get("spatialRegistrationModule",[e,t])};function Ic(e,t,n){return bc.apply(this,arguments)}function bc(){return(bc=Na(La().mark((function e(t,n,r){var o,a,i,l,c,s,d,u,v,f,g,h,p;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(0,Y.getRenderingEngine)(r.renderingEngineId)){e.next=3;break}throw new Error("No RenderingEngine for Id: ".concat(r.renderingEngineId));case 3:if(a=o.getViewport(n.viewportId),null==(i=t.getOptions(r.viewportId))||!i.disabled){e.next=7;break}return e.abrupt("return");case 7:if(l=o.getViewport(r.viewportId),c=a.getCurrentImageId(),s=Y.metaData.get("imagePlaneModule",c),d=s.imagePositionPatient,u=l.getImageIds(),m=l,void 0,void 0,void 0,w=a.getCamera().viewPlaneNormal,E=m.getCamera().viewPlaneNormal,y=fc.vec3.dot(w,E),Math.abs(y)>.9){e.next=14;break}return e.abrupt("return");case 14:if(v=yc(r.viewportId,n.viewportId)){e.next=21;break}if(f=a.getFrameOfReferenceUID(),g=l.getFrameOfReferenceUID(),f===g&&!1!==i.useInitialPosition?v=fc.mat4.identity(fc.mat4.create()):(Y.utilities.calculateViewportsSpatialRegistration(a,l),v=yc(r.viewportId,n.viewportId)),v){e.next=21;break}return e.abrupt("return");case 21:if(h=fc.vec3.transformMat4(fc.vec3.create(),d,v),-1===(p=Cc(h,u)).index||l.getCurrentImageIdIndex()===p.index){e.next=26;break}return e.next=26,Ec(l.element,{imageIndex:p.index});case 26:case"end":return e.stop()}var m,w,E,y}),e)})))).apply(this,arguments)}function Cc(e,t){return t.reduce((function(t,n,r){var o=Y.metaData.get("imagePlaneModule",n).imagePositionPatient,a=fc.vec3.distance(o,e);return a<t.distance?{distance:a,index:r}:t}),{distance:1/0,index:-1})}var Tc=Y.Enums.Events.STACK_NEW_IMAGE;function _c(e){return cl(e,Tc,Ic)}var Dc=function(e,t,n){return"".concat(e,"::").concat(t,"::").concat(n)},Oc=function(e,t){Object.keys(e).forEach((function(n){var r=t.getAttribute(n),o=e[n];void 0===o||""===o?t.removeAttribute(n):r!==o&&t.setAttribute(n,o)}))},Sc=function(e,t){Object.keys(e).forEach((function(n){var r=e[n];void 0!==r&&""!==r&&t.setAttribute(n,r)}))},xc=function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"",l=Object.assign({color:"dodgerblue",fill:"transparent",width:"2",lineDash:void 0,lineWidth:void 0,strokeOpacity:1,fillOpacity:1},a),c=l.color,s=l.fill,d=l.width,u=l.lineWidth,v=l.lineDash,f=l.fillOpacity,g=l.strokeOpacity,h=u||d,p=Dc(t,"circle",n),m=e.getSvgNode(p),w={cx:"".concat(r[0]),cy:"".concat(r[1]),r:"".concat(o),stroke:c,fill:s,"stroke-width":h,"stroke-dasharray":v,"fill-opacity":f,"stroke-opacity":g};if(m)Oc(w,m),e.setNodeTouched(p);else{var E=document.createElementNS("http://www.w3.org/2000/svg","circle");""!==i&&E.setAttribute("data-id",i),Sc(w,E),e.appendNode(E,p)}},Mc=function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"",l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},a),c=l.color,s=l.width,d=l.lineWidth,u=l.lineDash,v=d||s,f=Dc(t,"ellipse",n),g=e.getSvgNode(f),h=Math.abs(r[0]-o[0]),p=Math.abs(r[1]-o[1]),m=[Math.min(r[0],o[0])+h/2,Math.min(r[1],o[1])+p/2],w=h/2,E=p/2,y={cx:"".concat(m[0]),cy:"".concat(m[1]),rx:"".concat(w),ry:"".concat(E),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":u};if(g)Oc(y,g),e.setNodeTouched(f);else{var I=document.createElementNS("http://www.w3.org/2000/svg","ellipse");""!==i&&I.setAttribute("data-id",i),Sc(y,I),e.appendNode(I,f)}},kc=function(e,t,n,r){for(var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=Object.assign({color:"dodgerblue",handleRadius:"6",width:"2",lineWidth:void 0,fill:"transparent",type:"circle",opacity:1},o),i=a.color,l=a.handleRadius,c=a.width,s=a.lineWidth,d=a.fill,u=a.type,v=a.opacity,f=s||c,g=0;g<r.length;g++){var h=r[g],p=Dc(t,"handle","hg-".concat(n,"-index-").concat(g)),m=void 0;if("circle"===u)m={cx:"".concat(h[0]),cy:"".concat(h[1]),r:l,stroke:i,fill:d,"stroke-width":f,opacity:v};else{if("rect"!==u)throw new Error("Unsupported handle type: ".concat(u));var w=1.5*parseFloat(l),E=h[0]-.5*w,y=h[1]-.5*w;m={x:"".concat(E),y:"".concat(y),width:"".concat(w),height:"".concat(w),stroke:i,fill:d,"stroke-width":f,rx:"".concat(.1*w),opacity:v}}var I=e.getSvgNode(p);if(I)Oc(m,I),e.setNodeTouched(p);else{var b=document.createElementNS("http://www.w3.org/2000/svg",u);Sc(m,b),e.appendNode(b,p)}}};function Rc(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";if(!(isNaN(r[0])||isNaN(r[1])||isNaN(o[0])||isNaN(o[1]))){var l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0,shadow:void 0},a),c=l.color,s=l.width,d=l.lineWidth,u=l.lineDash,v=l.shadow,f=d||s,g=Dc(t,"line",n),h=e.getSvgNode(g),p=v?"filter:url(#shadow-".concat(e.svgLayerElement.id,");"):"",m={x1:"".concat(r[0]),y1:"".concat(r[1]),x2:"".concat(o[0]),y2:"".concat(o[1]),stroke:c,style:p,"stroke-width":f,"stroke-dasharray":u};if(h)Oc(m,h),e.setNodeTouched(g);else{var w=document.createElementNS("http://www.w3.org/2000/svg","line");""!==i&&w.setAttribute("data-id",i),Sc(m,w),e.appendNode(w,g)}}}function Pc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Nc(e,t,n,r,o){if(!(r.length<2)){var a,i=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0,connectLastToFirst:!1},o),l=i.color,c=i.width,s=i.lineWidth,d=i.lineDash,u=s||c,v=Dc(t,"polyline",n),f=e.getSvgNode(v),g="",h=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Pc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pc(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(r);try{for(h.s();!(a=h.n()).done;){var p=a.value;g+="".concat(p[0],", ").concat(p[1]," ")}}catch(e){h.e(e)}finally{h.f()}if(o.connectLastToFirst){var m=r[0];g+="".concat(m[0],", ").concat(m[1])}var w={points:g,stroke:l,fill:"none","stroke-width":u,"stroke-dasharray":d};if(f)Oc(w,f),e.setNodeTouched(v);else{var E=document.createElementNS("http://www.w3.org/2000/svg","polyline");Sc(w,E),e.appendNode(E,v)}}}function Ac(e){var t=document.createElementNS("http://www.w3.org/2000/svg","tspan");return t.setAttribute("x","0"),t.setAttribute("dy","1.2em"),t.textContent=e,t}function Lc(e,t){var n=e.querySelector("rect.background");if(!t)return n&&e.removeChild(n),e.getBBox();n||((n=document.createElementNS("http://www.w3.org/2000/svg","rect")).setAttribute("class","background"),e.insertBefore(n,e.firstChild));var r=e.getBBox(),o={x:"".concat(r.x),y:"".concat(r.y),width:"".concat(r.width),height:"".concat(r.height),fill:t};return Oc(o,n),r}var Uc=function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=function(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[""],a=arguments.length>4?arguments[4]:void 0,i=arguments.length>5?arguments[5]:void 0,l=i.padding,c=i.color,s=i.fontFamily,d=i.fontSize,u=i.background,v=a[0]+l,f=a[1]+l,g=Dc(t,"text",n),h=e.getSvgNode(g);if(h){for(var p=h.querySelector("text"),m=Array.from(p.children),w=0;w<m.length;w++){var E=m[w],y=o[w]||"";E.textContent=y}if(o.length>m.length){for(var I=0;I<o.length-m.length;I++){var b=Ac(o[I+m.length]);p.appendChild(b)}h.appendChild(p),e.appendNode(h,g)}var C={fill:c,"font-size":d,"font-family":s},T={transform:"translate(".concat(v," ").concat(f,")")};Oc(C,p),Oc(T,h),r=Lc(h,u),e.setNodeTouched(g)}else{var _=document.createElementNS("http://www.w3.org/2000/svg","g");_.setAttribute("transform","translate(".concat(v," ").concat(f,")"));for(var D=function(e,t){var n=t.color,r=t.fontFamily,o=t.fontSize,a=document.createElementNS("http://www.w3.org/2000/svg","text"),i="filter:url(#shadow-".concat(e.svgLayerElement.id,");"),l="".concat("user-select: none; pointer-events: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0);").concat(i);return a.setAttribute("x","0"),a.setAttribute("y","0"),a.setAttribute("fill",n),a.setAttribute("font-family",r),a.setAttribute("font-size",o),a.setAttribute("style",l),a}(e,i),O=0;O<o.length;O++){var S=Ac(o[O]);D.appendChild(S)}_.appendChild(D),e.appendNode(_,g),r=Lc(_,u)}return Object.assign({},r,{x:v,y:f,height:r.height+l,width:r.width+l})}(e,t,n,r,o,Object.assign({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"14px",color:"rgb(255, 255, 0)",background:"",padding:25,centerX:!1,centerY:!0},a));return i};function Vc(e,t){var n=[0,0],r=Number.MAX_SAFE_INTEGER;return e.forEach((function(e){var o,a,i,l,c,s,d,u=(o=e,i=(a=lt(t,2))[0],l=a[1],s=(c=lt(o,2))[0],d=c[1],Math.sqrt(Math.pow(i-s,2)+Math.pow(l-d,2)));u<r&&(r=u,n=Nr(e))})),n}var Bc=function(e,t,n,r,o,a,i){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},c=Object.assign({handleRadius:"6",centering:{x:!1,y:!0}},l),s=Uc(e,t,n,r,o,c);return function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=r.length>0?Vc(r,o):o,c=Vc(function(e){var t=e.x,n=e.y,r=e.height,o=e.width,a=o/2,i=r/2;return[[t+a,n],[t,n+i],[t+a,n+r],[t+o,n+i]]}(a),l),s=Object.assign({color:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"2,3"},i);Rc(e,t,"link-".concat(n),l,c,s)}(e,t,n,a,o,s,c),s};function jc(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"",l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},a),c=l.color,s=l.width,d=l.lineWidth,u=l.lineDash,v=d||s,f=Dc(t,"rect",n),g=e.getSvgNode(f),h=[Math.min(r[0],o[0]),Math.min(r[1],o[1])],p=Math.abs(r[0]-o[0]),m=Math.abs(r[1]-o[1]),w={x:"".concat(h[0]),y:"".concat(h[1]),width:"".concat(p),height:"".concat(m),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":u};if(g)Oc(w,g),e.setNodeTouched(f);else{var E=document.createElementNS("http://www.w3.org/2000/svg","rect");""!==i&&E.setAttribute("data-id",i),Sc(w,E),e.appendNode(E,f)}}function Hc(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(!(isNaN(r[0])||isNaN(r[1])||isNaN(o[0])||isNaN(o[1]))){var i=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},a),l=i.color,c=i.width,s=i.lineWidth;Rc(e,t,n,r,o,{color:l,width:c,lineWidth:s,lineDash:i.lineDash});var d=Math.atan2(o[1]-r[1],o[0]-r[0]),u={start:[o[0]-10*Math.cos(d-Math.PI/7),o[1]-10*Math.sin(d-Math.PI/7)],end:o},v={start:[o[0]-10*Math.cos(d+Math.PI/7),o[1]-10*Math.sin(d+Math.PI/7)],end:o};Rc(e,t,"2",u.start,u.end,{color:l,width:c,lineWidth:s}),Rc(e,t,"3",v.start,v.end,{color:l,width:c,lineWidth:s})}}function Wc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Fc(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=(0,Y.getEnabledElement)(e);if(!r)throw new Error("getAnnotationNearPoint: enabledElement not found");return Gc(r,t,n)}function Gc(e,t,n){var r=e.renderingEngineId,o=e.viewportId,a=jr(o,r);if(!a)return null;var i=a._toolInstances;for(var l in i){var c=qc(i[l],e,t,n);if(c)return c}return null}function qc(e,t,n,r){var o,a=t.viewport,i=Qe(e.constructor.toolName,null==a?void 0:a.element),l=null==a||null===(o=a.getCurrentImageId)||void 0===o?void 0:o.call(a);if(null!=i&&i.length){var c,s=t.viewport.element,d=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Wc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wc(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(i);try{for(d.s();!(c=d.n()).done;){var u,v=c.value,f=null===(u=v.metadata)||void 0===u?void 0:u.referencedImageId;if(!(l&&f&&l!==f||!e.isPointNearTool)&&(e.isPointNearTool(s,v,n,r,"")||e.getHandleNearImagePoint(s,v,n,r)))return v}}catch(e){d.e(e)}finally{d.f()}}return null}var zc=function(e){var t=Z(e);return null!==e&&("object"===t||"function"===t)},Kc=function(e,t,n){var r,o,a,i,l,c,s=0,d=!1,u=!1,v=!0,f=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=r,a=o;return r=o=void 0,s=t,i=e.apply(a,n)}function h(e,t){return f?window.requestAnimationFrame(e):setTimeout(e,t)}function p(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-s>=a}function m(){var e=Date.now();if(p(e))return w(e);l=h(m,function(e){var n=e-s,r=t-(e-c);return u?Math.min(r,a-n):r}(e))}function w(e){return l=void 0,v&&r?g(e):(r=o=void 0,i)}function E(){for(var e=Date.now(),n=p(e),a=arguments.length,v=new Array(a),f=0;f<a;f++)v[f]=arguments[f];if(r=v,o=this,c=e,n){if(void 0===l)return function(e){return s=e,l=h(m,t),d?g(e):i}(c);if(u)return l=h(m,t),g(c)}return void 0===l&&(l=h(m,t)),i}return t=Number(t)||0,zc(n)&&(d=Boolean(n.leading),a=(u="maxWait"in n)?Math.max(Number(n.maxWait)||0,t):a,v="trailing"in n?Boolean(n.trailing):v),E.cancel=function(){void 0!==l&&function(e){if(f)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),s=0,r=c=o=l=void 0},E.flush=function(){return void 0===l?i:w(Date.now())},E.pending=function(){return void 0!==l},E},Yc=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return zc(n)&&(r="leading"in n?Boolean(n.leading):r,o="trailing"in n?Boolean(n.trailing):o),Kc(e,t,{leading:r,trailing:o,maxWait:t})},Jc=Y.utilities.calibratedPixelSpacingMetadataProvider;function $c(e,t,n){"number"==typeof n&&(n={type:Y.Enums.CalibrationTypes.USER,scale:n}),Jc.add(e,n),t.getStackViewports().forEach((function(t){t.getImageIds().includes(e)&&t.calibrateSpacing(e)}))}function Zc(e,t,n,r){var o,a,i,l,c,s,d;d=e.getScalarData?e.getScalarData():e.getPointData().getScalars().getData();var u=e.getDimensions();if(r){var v=lt(r,3),f=lt(v[0],2);o=f[0],a=f[1];var g=lt(v[1],2);i=g[0],l=g[1];var h=lt(v[2],2);c=h[0],s=h[1]}else o=0,a=u[0],i=0,l=u[1],c=0,s=u[2];for(var p=fc.vec3.fromValues(o,i,c),m=e.getDirection(),w=m.slice(0,3),E=m.slice(3,6),y=m.slice(6,9),I=lt(e.getSpacing(),3),b=I[0],C=I[1],T=I[2],_=e.indexToWorld(p),D=fc.vec3.fromValues(w[0]*b,w[1]*b,w[2]*b),O=fc.vec3.fromValues(E[0]*C,E[1]*C,E[2]*C),S=fc.vec3.fromValues(y[0]*T,y[1]*T,y[2]*T),x=u[0],M=u[0]*u[1],k=[],R=c;R<=s;R++)for(var P=i;P<=l;P++)for(var N=o;N<=a;N++){var A=[N,P,R],L=N-o,U=P-i,V=R-c,B=_,j=[B[0]+L*D[0]+U*O[0]+V*S[0],B[1]+L*D[1]+U*O[1]+V*S[1],B[2]+L*D[2]+U*O[2]+V*S[2]];if(t(j,A)){var H=R*M+P*x+N,W=d[H];k.push({value:W,index:H,pointIJK:A,pointLPS:j}),null!==n&&n({value:W,index:H,pointIJK:A,pointLPS:j})}}return k}var Xc=function(e,t){var n=1/0,r=0,o=1/0,a=0,i=1/0,l=0;if(e.forEach((function(e){n=Math.min(e[0],n),r=Math.max(e[0],r),o=Math.min(e[1],o),a=Math.max(e[1],a),i=Math.min(e[2],i),l=Math.max(e[2],l)})),n=Math.floor(n),r=Math.floor(r),o=Math.floor(o),a=Math.floor(a),i=Math.floor(i),l=Math.floor(l),t){var c=lt(t,3),s=c[0],d=c[1],u=c[2];n=Math.max(0,n),r=Math.min(s-1,r),o=Math.max(0,o),a=Math.min(d-1,a),i=Math.max(0,i),l=Math.min(u-1,l)}return[[n,r],[o,a],[i,l]]},Qc=Y.utilities.transformWorldToIndex;function es(e,t,n,r){var o=function(e,t,n){var r,o=lt(e,2),a=o[0],i=o[1],l=fc.vec3.fromValues((a[0]+i[0])/2,(a[1]+i[1])/2,(a[2]+i[2])/2),c=fc.vec3.distance(a,i)/2;if(!n){var s=Qc(t,l),d=t.getSpacing(),u=Math.min.apply(Math,Nr(d)),v=Math.ceil(c/u);return{boundsIJK:r=[[s[0]-v,s[0]+v],[s[1]-v,s[1]+v],[s[2]-v,s[2]+v]],centerWorld:l,radiusWorld:c}}return r=function(e,t,n,r,o){var a=lt(n,2),i=a[0],l=a[1],c=e.getDimensions(),s=t.getCamera(),d=fc.vec3.fromValues(s.viewUp[0],s.viewUp[1],s.viewUp[2]),u=fc.vec3.fromValues(s.viewPlaneNormal[0],s.viewPlaneNormal[1],s.viewPlaneNormal[2]),v=fc.vec3.create();fc.vec3.cross(v,d,u);var f=fc.vec3.create(),g=fc.vec3.create();fc.vec3.scaleAndAdd(f,l,u,o),fc.vec3.scaleAndAdd(g,i,u,-o),fc.vec3.scaleAndAdd(f,f,v,-o),fc.vec3.scaleAndAdd(g,g,v,o);var h=[Qc(e,f),Qc(e,g)];return Xc(h,c)}(t,n,e,0,c),{boundsIJK:r,centerWorld:l,radiusWorld:c}}(t,e,r),a=o.boundsIJK,i={center:o.centerWorld,radius:o.radiusWorld};Zc(e,(function(e){return function(e,t){var n=e.center,r=e.radius;return Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2)+Math.pow(t[2]-n[2],2)<=Math.pow(r,2)}(i,e)}),n,a)}var ts=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(null==e||""===e)return"NaN";if((e=Number(e))<1e-4)return"".concat(e);var n=e>=100?t-2:e>=10?t-1:e>=1?t:e>=.1?t+1:e>=.01?t+2:e>=.001?t+3:t+4;return e.toFixed(n)},ns=function(e,t,n){var r=n.THRESHOLD_INSIDE_CIRCLE,o=t.getScalarData()[e],a=r.threshold;return a[0]<=o&&o<=a[1]};function rs(e,t){var n,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=e.viewport,a=t.volume,i=t.segmentsLocked,l=t.segmentIndex,c=t.imageVolume,s=t.strategySpecificConfiguration,d=t.segmentationId,u=t.points,v=a.imageData,f=a.dimensions,g=a.getScalarData(),h=[];n=r?function(e){var t=e.value,n=e.index;e.pointIJK,i.includes(t)||ns(n,c,s)&&(g[n]=l,h.push(n))}:function(e){var t=e.index,n=e.value;i.includes(n)||(g[t]=l,h.push(t))},es(v,[u[0],u[1]],n,o);var p=f[0]*f[1],m=Math.floor(h[0]/p),w=Math.floor(h[h.length-1]/p);_t(d,Array.from({length:w-m+1},(function(e,t){return t+m})))}function os(e,t){rs(e,t,!0)}function as(e,t){var n=t.volume,r=t.imageVolume;if(!Y.utilities.isEqual(n.dimensions,r.dimensions)||!Y.utilities.isEqual(n.direction,r.direction))throw new Error("Only source data the same dimensions/size/orientation as the segmentation currently supported.");rs(e,t,!0,!0)}function is(e,t){os(e,Object.assign({},t,{segmentIndex:0}))}function ls(e){var t=lt(e,4),n=t[0],r=t[1],o=t[2],a=t[3];return[[o[0],r[1]],[a[0],n[1]]]}function cs(e,t){var n=e.center,r=e.xRadius,o=e.yRadius,a=e.zRadius,i=lt(t,3),l=i[0],c=i[1],s=i[2],d=lt(n,3),u=d[0],v=d[1],f=d[2],g=0;return 0!==r&&(g+=(l-u)*(l-u)/(r*r)),0!==o&&(g+=(c-v)*(c-v)/(o*o)),0!==a&&(g+=(s-f)*(s-f)/(a*a)),g<=1}var ss=Y.utilities.transformWorldToIndex;function ds(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=t.volume,o=t.imageVolume,a=t.points,i=t.segmentsLocked,l=t.segmentIndex,c=t.segmentationId,s=t.strategySpecificConfiguration,d=r.imageData,u=r.dimensions,v=r.getScalarData(),f=e.viewport,g=fc.vec3.fromValues(0,0,0);a.forEach((function(e){fc.vec3.add(g,g,e)})),fc.vec3.scale(g,g,1/a.length);var h=lt(ls(a.map((function(e){return f.worldToCanvas(e)}))),2),p=h[0],m=h[1],w=f.canvasToWorld(p),E=f.canvasToWorld(m),y=[ss(d,w),ss(d,E)],I=Xc(y,u),b={center:g,xRadius:Math.abs(w[0]-E[0])/2,yRadius:Math.abs(w[1]-E[1])/2,zRadius:Math.abs(w[2]-E[2])/2},C=new Set;Zc(d,(function(e,t){return cs(b,e)}),n?function(e){var t=e.value,n=e.index,r=e.pointIJK;i.includes(t)||ns(n,o,s)&&(v[n]=l,C.add(r[2]))}:function(e){var t=e.value,n=e.index,r=e.pointIJK;i.includes(t)||(v[n]=l,C.add(r[2]))},I),_t(c,Array.from(C))}function us(e,t){ds(e,t,!1)}function vs(e,t){var n=t.volume,r=t.imageVolume;if(!Y.utilities.isEqual(n.dimensions,r.dimensions)||!Y.utilities.isEqual(n.direction,r.direction))throw new Error("Only source data the same dimensions/size/orientation as the segmentation currently supported.");ds(e,t,!0)}function fs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fs(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hs(e,t){us(e,gs(gs({},t),{},{segmentIndex:0}))}function ps(e){var t=xt().getSegmentationRepresentations(e);if(t)return t.find((function(e){return e.active}))}function ms(e,t){xt().setActiveSegmentationRepresentation(e,t),Ct(e,t)}function ws(e,t){var n=Mt(e);if(!n)throw new Error("No segmentation state found for ".concat(e));return n.segmentsLocked.has(t)}function Es(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Mt(e);if(!r)throw new Error("No segmentation state found for ".concat(e));var o=r.segmentsLocked;n?o.add(t):o.delete(t),Tt(e)}function ys(e){var t=Mt(e);if(!t)throw new Error("No segmentation state found for ".concat(e));var n=t.segmentsLocked;return Array.from(n)}function Is(e,t){var n=Mt(e);(null==n?void 0:n.activeSegmentIndex)!==t&&(n.activeSegmentIndex=t,Tt(e))}function bs(e){var t=Mt(e);if(t)return t.activeSegmentIndex}function Cs(e,t){if(!e)throw new Error("addColorLUT: colorLUT is required");Y.utilities.isEqual(e[0],[0,0,0,0])||(console.warn("addColorLUT: [0, 0, 0, 0] color is not provided for the background color (segmentIndex =0), automatically adding it"),e.unshift([0,0,0,0])),$t(e,t)}function Ts(e,t,n){var r=qt(e,t);if(!r)throw new Error("setColorLUT: could not find segmentation representation with UID ".concat(t));if(!Jt(n))throw new Error("setColorLUT: could not find colorLUT with index ".concat(n));r.colorLUTIndex=n,Ct(e,t)}function _s(e,t,n){var r=qt(e,t);if(!r)throw new Error("segmentation representation with UID ".concat(t," does not exist for tool group ").concat(e));return Jt(r.colorLUTIndex)[n]}function Ds(e,t,n,r){for(var o=_s(e,t,n),a=0;a<r.length;a++)o[a]=r[a];Ct(e,t)}var Os=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE_CIRCLE:us,ERASE_INSIDE_CIRCLE:hs,FILL_INSIDE_SPHERE:os,ERASE_INSIDE_SPHERE:is,THRESHOLD_INSIDE_CIRCLE:vs,THRESHOLD_INSIDE_SPHERE:as},strategySpecificConfiguration:{THRESHOLD_INSIDE_CIRCLE:{threshold:[-150,-70]}},defaultStrategy:"FILL_INSIDE_CIRCLE",activeStrategy:"FILL_INSIDE_CIRCLE",brushSize:25}};return te(this,o),ne(da(e=r.call(this,t,n)),"_editData",void 0),ne(da(e),"_hoverData",void 0),ne(da(e),"onSetToolPassive",(function(){e.disableCursor()})),ne(da(e),"onSetToolEnabled",(function(){e.disableCursor()})),ne(da(e),"onSetToolDisabled",(function(){e.disableCursor()})),ne(da(e),"preMouseDownCallback",(function(t){var n=t.detail.element,r=(0,Y.getEnabledElement)(n),o=r.viewport,a=r.renderingEngine;if(o instanceof Y.StackViewport)throw new Error("Not implemented yet");var i=ps(e.toolGroupId);if(!i)throw new Error("No active segmentation detected, create one before using the brush tool");var l=i.segmentationId,c=i.type,s=ys(l),d=Mt(l).representationData[c].volumeId,u=Y.cache.getVolume(d),v=o.getActors()[0].uid,f=Y.cache.getVolume(v),g=[o.id];return e._editData={segmentation:u,imageVolume:f,segmentsLocked:s},e._activateDraw(n),$l(n),t.preventDefault(),aa(a,g),!0})),ne(da(e),"mouseMoveCallback",(function(t){e.mode===ze.Active&&e.updateCursor(t)})),ne(da(e),"_dragCallback",(function(t){var n=t.detail.element,r=(0,Y.getEnabledElement)(n),o=r.renderingEngine,a=e._editData,i=a.imageVolume,l=a.segmentation,c=a.segmentsLocked;e.updateCursor(t);var s=e._hoverData,d=s.segmentIndex,u=s.segmentationId,v=s.segmentationRepresentationUID,f=s.brushCursor,g=s.viewportIdsToRender,h=f.data,p=f.metadata,m=p.viewPlaneNormal,w=p.viewUp;aa(o,g);var E={points:h.handles.points,volume:l,imageVolume:i,segmentIndex:d,segmentsLocked:c,viewPlaneNormal:m,toolGroupId:e.toolGroupId,segmentationId:u,segmentationRepresentationUID:v,viewUp:w,strategySpecificConfiguration:e.configuration.strategySpecificConfiguration};e.applyActiveStrategy(r,E)})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e._editData,o=r.imageVolume,a=r.segmentation,i=r.segmentsLocked,l=e._hoverData,c=l.segmentIndex,s=l.segmentationId,d=l.segmentationRepresentationUID,u=l.brushCursor,v=u.data,f=u.metadata,g=f.viewPlaneNormal,h=f.viewUp;e._deactivateDraw(n),Jl(n);var p=(0,Y.getEnabledElement)(n),m=p.viewport;if(e._editData=null,e.updateCursor(t),m instanceof Y.StackViewport)throw new Error("Not implemented yet");var w={points:v.handles.points,volume:a,imageVolume:o,segmentIndex:c,segmentsLocked:i,viewPlaneNormal:g,toolGroupId:e.toolGroupId,segmentationId:s,segmentationRepresentationUID:d,viewUp:h,strategySpecificConfiguration:e.configuration.strategySpecificConfiguration};e.applyActiveStrategy(p,w)})),ne(da(e),"_activateDraw",(function(t){t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback)})),e}return ee(o,[{key:"disableCursor",value:function(){this._hoverData=void 0}},{key:"updateCursor",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints.canvas,o=(0,Y.getEnabledElement)(n),a=o.renderingEngine,i=o.viewport,l=i.getCamera(),c=l.viewPlaneNormal,s=l.viewUp,d=this.toolGroupId,u=ps(d);if(u){var v=u.segmentationRepresentationUID,f=u.segmentationId,g=bs(f),h=_s(d,v,g),p=[i.id],m={metadata:{viewPlaneNormal:Nr(c),viewUp:Nr(s),FrameOfReferenceUID:i.getFrameOfReferenceUID(),referencedImageId:"",toolName:this.getToolName(),segmentColor:h},data:{}};this._hoverData={brushCursor:m,centerCanvas:r,segmentIndex:g,segmentationId:f,segmentationRepresentationUID:v,segmentColor:h,viewportIdsToRender:p},this._calculateCursor(n,r),aa(a,p)}else console.warn("No active segmentation detected, create one before using the brush tool")}},{key:"_calculateCursor",value:function(e,t){var n=(0,Y.getEnabledElement)(e).viewport,r=n.canvasToWorld,o=n.getCamera(),a=this.configuration.brushSize,i=fc.vec3.fromValues(o.viewUp[0],o.viewUp[1],o.viewUp[2]),l=fc.vec3.fromValues(o.viewPlaneNormal[0],o.viewPlaneNormal[1],o.viewPlaneNormal[2]),c=fc.vec3.create();fc.vec3.cross(c,i,l);for(var s=r([t[0],t[1]]),d=fc.vec3.create(),u=fc.vec3.create(),v=fc.vec3.create(),f=fc.vec3.create(),g=0;g<=2;g++)d[g]=s[g]-i[g]*a,u[g]=s[g]+i[g]*a,v[g]=s[g]-c[g]*a,f[g]=s[g]+c[g]*a;var h=this._hoverData.brushCursor.data;void 0===h.handles&&(h.handles={}),h.handles.points=[d,u,v,f],h.invalidated=!1}},{key:"invalidateBrushCursor",value:function(){void 0!==this._hoverData&&(this._hoverData.brushCursor.data.invalidated=!0)}},{key:"renderAnnotation",value:function(e,t){if(this._hoverData){var n=e.viewport;if(this._hoverData.viewportIdsToRender.includes(n.id)){var r=this._hoverData.brushCursor;if(!0===r.data.invalidated){var o=this._hoverData.centerCanvas,a=n.element;this._calculateCursor(a,o)}var i=r.metadata,l=i.brushCursorUID,c=r.data.handles.points.map((function(e){return n.worldToCanvas(e)})),s=c[0],d=c[1],u=[Math.floor((s[0]+d[0])/2),Math.floor((s[1]+d[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+d[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");n.getRenderingEngine()?xc(t,l,"0",u,v,{color:f}):console.warn("Rendering Engine has been destroyed")}}}}]),o}(Ra);ne(Os,"toolName",void 0),Os.toolName="Brush";var Ss=Os;function xs(e,t){var n=sa(e);if(void 0!==n){var r=n._toolInstances;if(Object.keys(r).length)return t&&r[t]?[r[t]]:Object.values(r).filter((function(e){return e instanceof Ss}))}}function Ms(e,t,n,r){for(var o=[],a=0;a<2;a++)for(var i=0;i<2;i++)for(var l=0;l<2;l++){var c=r;c[0]=c[0]+(2*a-1)*n[0]/2,c[1]=c[1]+(2*i-1)*n[1]/2,c[2]=c[2]+(2*l-1)*n[2]/2,o.push(c)}var s=o.map((function(t){return Y.utilities.transformWorldToIndex(e,t)}));return Xc(s,t)}function ks(e,t){for(var n=e.spacing,r=(e.imageData,e.getScalarData()),o=[],a=0,i=0;i<t.length;i++){var l=t[i].volume,c=l.imageData,s=l.spacing,d=l.dimensions,u=t[i].volume.getScalarData().length;u===r.length&&(h=s,p=n,JSON.stringify(h)===JSON.stringify(p))&&(a=i);var v=c.getPointData().getScalars().getData(),f=t[i].lower,g=t[i].upper;o.push({imageData:c,referenceValues:v,lower:f,upper:g,spacing:s,dimensions:d,volumeSize:u})}var h,p;return{volumeInfoList:o,baseVolumeIdx:a}}var Rs=function(e,t,n){var r=e.imageData,o=e.getScalarData(),a=n.overwrite,i=n.boundsIJK,l=(null==n?void 0:n.overlapType)||0;if(a)for(var c=0;c<o.length;c++)o[c]=0;var s,d,u,v=ks(e,t),f=v.baseVolumeIdx,g=v.volumeInfoList,h=function(e,t,n){var r=e.imageData,o=e.dimensions,a=e.lower,i=e.upper,c=Ms(r,o,t,n);d=0,s=0,u={lower:a,upper:i};var v=!1;return Zc(r,(function(){return!0}),(function(e){var t=e.value;d+=1,t>=u.lower&&t<=u.upper&&(s+=1)}),c),0===l?v=s>0:1==l&&(v=s===d),v},p=function(e,t){var n=e.imageData,r=e.referenceValues,o=e.lower,a=e.upper,i=r[n.computeOffsetIndex(t)];return!(i<=o||i>=a)};return Zc(r,(function(){return!0}),(function(e){for(var t=e.index,n=e.pointIJK,r=e.pointLPS,a=g.length>0,i=0;i<g.length&&(a=g[i].volumeSize===o.length?p(g[i],n):h(g[i],g[f].spacing,r));i++);a&&(o[t]=1)}),i),_t(e.volumeId),e};function Ps(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o];a.getFrameOfReferenceUID()===t&&r.push(a)}return r}var Ns=ze.Active,As=ze.Passive,Ls=ze.Enabled;function Us(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o],i=jr(a.id,a.renderingEngineId);i&&Vs(i,t)&&r.push(a)}return r}function Vs(e,t){var n=e.toolOptions[t];if(!n)return!1;var r=n.mode;return r===Ns||r===As||r===Ls}var Bs=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.999;return e.filter((function(e){var r=e.getCamera();return Math.abs(fc.vec3.dot(r.viewPlaneNormal,t.viewPlaneNormal))>n}))};function js(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=(0,Y.getEnabledElement)(e),o=r.renderingEngine,a=r.FrameOfReferenceUID,i=o.getViewports();i=Us(i=Ps(i,a),t);var l=o.getViewport(r.viewportId);return n&&(i=Bs(i,l.getCamera())),i.map((function(e){return e.id}))}function Hs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ws=1-Y.CONSTANTS.EPSILON;function Fs(e,t,n){var r=t.viewPlaneNormal,o=e.filter((function(e){var t=e.metadata.viewPlaneNormal;if(!t){var n=e.metadata.referencedImageId,o=Y.metaData.get("imagePlaneModule",n).imageOrientationPatient,a=fc.vec3.fromValues(o[0],o[1],o[2]),i=fc.vec3.fromValues(o[3],o[4],o[5]);t=fc.vec3.create(),fc.vec3.cross(t,a,i),e.metadata.viewPlaneNormal=t}var l=Math.abs(fc.vec3.dot(r,t))>Ws;return t&&l}));if(!o.length)return[];var a,i=n/2,l=t.focalPoint,c=[],s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Hs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hs(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(s.s();!(a=s.n()).done;){var d=a.value,u=d.data.handles.points[0];if(d.isVisible){var v=fc.vec3.create();fc.vec3.sub(v,l,u);var f=fc.vec3.dot(v,r);Math.abs(f)<i&&c.push(d)}}}catch(e){s.e(e)}finally{s.f()}return c}function Gs(e,t){if(e instanceof Y.StackViewport){var n=e.getCurrentImageId(),r=n.indexOf(":"),o=n.substring(r+1);return t.filter((function(e){if(!e.isVisible)return!1;var t=e.metadata.referencedImageId;if(void 0===t)return!1;var n=t.indexOf(":");return t.substring(n+1)===o}))}if(e instanceof Y.VolumeViewport){var a=e.getCamera();return Fs(t,a,Y.utilities.getTargetVolumeAndSpacingInNormalDir(e,a).spacingInNormalDirection)}throw new Error("Viewport Type ".concat(e.type," not supported"))}var qs=function(e){if(e){if(e.data&&e.highlighted)return bl.Highlighted;if(be(e.annotationUID))return bl.Selected;if(se(e))return bl.Locked}return bl.Default};var zs=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e;te(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return ne(da(e=r.call.apply(r,[this].concat(n))),"onImageSpacingCalibrated",(function(t){var n=t.detail,r=n.element,o=n.imageId,a=Y.utilities.imageIdToURI(o),i=$e();i.getFramesOfReference().forEach((function(t){var n=i.getAnnotations(t)[e.getToolName()];n&&n.length&&(n.forEach((function(e){Y.utilities.imageIdToURI(e.metadata.referencedImageId)===a&&(e.invalidated=!0,e.data.cachedStats={})})),Yr(r))}))})),e}return ee(o,[{key:"filterInteractableAnnotationsForElement",value:function(e,t){if(t&&t.length)return Gs((0,Y.getEnabledElement)(e).viewport,t)}},{key:"getReferencedImageId",value:function(e,t,n,r){var o,a=this.getTargetId(e);if(e instanceof Y.StackViewport)o=a.split("imageId:")[1];else{var i=a.split("volumeId:")[1],l=Y.cache.getVolume(i);o=Y.utilities.getClosestImageId(l,t,n)}return o}},{key:"getStyle",value:function(e,t,n){return Vl(e,t,qs(n),this.mode)}}]),o}(Ra);ne(zs,"toolName",void 0),zs.toolName="AnnotationDisplayTool";var Ks=zs;function Ys(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Js=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(e,t){var n,a,i;return te(this,o),ne(da(i=r.call(this,e,t)),"mouseMoveCallback",(function(e,t){if(!t)return!1;var n,r=e.detail,o=r.element,a=r.currentPoints.canvas,l=!1,c=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ys(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ys(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t);try{for(c.s();!(n=c.n()).done;){var s=n.value;if(!se(s)&&Me(s.annotationUID)){var d=s.data,u=d.handles?d.handles.activeHandleIndex:void 0,v=i._imagePointNearToolOrHandle(o,s,a,6),f=v&&!s.highlighted,g=!v&&s.highlighted;f||g?(s.highlighted=!s.highlighted,l=!0):d.handles&&d.handles.activeHandleIndex!==u&&(l=!0)}}}catch(e){c.e(e)}finally{c.f()}return l})),null!==(n=e.configuration)&&void 0!==n&&n.getTextLines&&(i.configuration.getTextLines=e.configuration.getTextLines),null!==(a=e.configuration)&&void 0!==a&&a.statsCalculator&&(i.configuration.statsCalculator=e.configuration.statsCalculator),i}return ee(o,[{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=t.data,i=a.handles,l=i.points,c=i.textBox;if(c){var s=c.worldBoundingBox;if(s){var d={topLeft:o.worldToCanvas(s.topLeft),topRight:o.worldToCanvas(s.topRight),bottomLeft:o.worldToCanvas(s.bottomLeft),bottomRight:o.worldToCanvas(s.bottomRight)};if(n[0]>=d.topLeft[0]&&n[0]<=d.bottomRight[0]&&n[1]>=d.topLeft[1]&&n[1]<=d.bottomRight[1])return a.handles.activeHandleIndex=null,c}}for(var u=0;u<l.length;u++){var v=l[u],f=o.worldToCanvas(v);if(!0==fc.vec2.distance(n,f)<r)return a.handles.activeHandleIndex=u,v}a.handles.activeHandleIndex=null}},{key:"getLinkedTextBoxStyle",value:function(e,t){return{visibility:this.getStyle("textBoxVisibility",e,t),fontFamily:this.getStyle("textBoxFontFamily",e,t),fontSize:this.getStyle("textBoxFontSize",e,t),color:this.getStyle("textBoxColor",e,t),shadow:this.getStyle("textBoxShadow",e,t),background:this.getStyle("textBoxBackground",e,t),lineWidth:this.getStyle("textBoxLinkLineWidth",e,t),lineDash:this.getStyle("textBoxLinkLineDash",e,t)}}},{key:"isSuvScaled",value:function(e,t,n){if(e instanceof Y.BaseVolumeViewport){var r,o=t.split("volumeId:")[1];return void 0!==(null===(r=Y.cache.getVolume(o).scaling)||void 0===r?void 0:r.PT)}if(e instanceof Y.StackViewport){var a=n&&Y.metaData.get("scalingModule",n);return"number"==typeof(null==a?void 0:a.suvbw)}throw new Error("Viewport is not a valid type")}},{key:"_imagePointNearToolOrHandle",value:function(e,t,n,r){return!!this.getHandleNearImagePoint(e,t,n,r)||!!this.isPointNearTool(e,t,n,r,"mouse")||void 0}}]),o}(Ks);ne(Js,"toolName",void 0),Js.toolName="AnnotationTool";var $s=Js,Zs=Y.Enums.CalibrationTypes,Xs="px",Qs=function(e,t){var n=t.calibration,r=t.hasPixelSpacing?"mm":Xs;return n&&n.type?n.type===Zs.UNCALIBRATED?Xs:n.SequenceOfUltrasoundRegions?"US Region":"".concat(r," ").concat(n.type):r},ed=function(e,t){var n=t.calibration,r=(t.hasPixelSpacing?"mm":Xs)+"²";return n&&n.type?n.SequenceOfUltrasoundRegions?"US Region":"".concat(r," ").concat(n.type):r},td=function(e){var t;return(null===(t=e.calibration)||void 0===t?void 0:t.scale)||1};function nd(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function rd(e,t,n){var r=nd(e,t);if(0===r)return nd(n,e);var o=((n[0]-e[0])*(t[0]-e[0])+(n[1]-e[1])*(t[1]-e[1]))/r;return nd(n,o<0?e:o>1?t:[e[0]+o*(t[0]-e[0]),e[1]+o*(t[1]-e[1])])}function od(e,t,n){if(2!==e.length||2!==t.length||2!==n.length)throw Error("lineStart, lineEnd, and point should have 2 elements of [x, y]");return Math.sqrt(rd(e,t,n))}function ad(e,t){if(4!==e.length||2!==t.length)throw Error("rectangle:[left, top, width, height] or point: [x,y] not defined correctly");var n=lt(e,4),r=n[0],o=n[1],a=n[2],i=n[3],l=655535,c=function(e,t,n,r){return{top:[[e,t],[e+n,t]],right:[[e+n,t],[e+n,t+r]],bottom:[[e+n,t+r],[e,t+r]],left:[[e,t+r],[e,t]]}}(r,o,a,i);return Object.keys(c).forEach((function(e){var n=lt(c[e],2),r=od(n[0],n[1],t);r<l&&(l=r)})),l}function id(e){var t,n,r,o,a=(n=[(t=e)[0],t[1]].sort((function(e,t){return e[0]<t[0]?-1:1})),r=[t[0],t[1]].sort((function(e,t){return e[1]<t[1]?-1:1})),o=n[n.length-1],{top:r[0],bottom:r[r.length-1],right:o}),i=(a.top[1]+a.bottom[1])/2;return[a.right[0],i]}function ld(e,t,n,r){var o=fc.vec3.create();fc.vec3.cross(o,t,e);var a=fc.vec3.fromValues.apply(fc.vec3,Nr(n)),i=fc.vec3.fromValues.apply(fc.vec3,Nr(r)),l=fc.vec3.create();fc.vec3.subtract(l,a,i);var c=fc.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=fc.vec3.dot(l,o)/(c*fc.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}function cd(e,t,n){return"CT"===e?"HU":"PT"===e?function(e,t){if(!t.isPreScaled)return"raw";if(t.isSuvScaled)return"SUV";var n=Y.metaData.get("petSeriesModule",e);return(null==n?void 0:n.units)||"unitless"}(t,n):""}function sd(e,t){if(e instanceof Y.BaseVolumeViewport){var n=t.split("volumeId:")[1],r=Y.cache.getVolume(n);return!(null==r||!r.scaling)&&Object.keys(r.scaling).length>0}if(e instanceof Y.StackViewport){var o=(e.getImageData()||{}).preScale;return!(null==o||!o.scaled)}throw new Error("Viewport is not a valid type")}var dd=ee((function e(){te(this,e)}));ne(dd,"run",void 0),ne(dd,"getStatistics",void 0);var ud=dd;var vd=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){return te(this,o),r.apply(this,arguments)}return ee(o)}(ud);ne(vd,"max",-1/0),ne(vd,"currentMax",0),ne(vd,"sum",0),ne(vd,"sumSquares",0),ne(vd,"squaredDiffSum",0),ne(vd,"count",0),ne(vd,"statsCallback",(function(e){var t=e.value;t>vd.max&&(vd.max=t,vd.currentMax=t),vd.count+=1,vd.sum+=t,vd.sumSquares+=Math.pow(t,2),vd.squaredDiffSum+=Math.pow(t-vd.sum/vd.count,2)})),ne(vd,"getStatistics",(function(){var e=vd.sum/vd.count,t=Math.sqrt(vd.squaredDiffSum/vd.count),n=Math.sqrt(vd.sumSquares/vd.count-Math.pow(e,2));return vd.max=-1/0,vd.sum=0,vd.sumSquares=0,vd.squaredDiffSum=0,vd.count=0,[{name:"max",value:vd.currentMax,unit:null},{name:"mean",value:e,unit:null},{name:"stdDev",value:t,unit:null},{name:"stdDevWithSumSquare",value:n,unit:null}]}));var fd=Y.utilities.transformWorldToIndex,gd=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:hd,statsCalculator:vd}};return te(this,o),ne(da(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={invalidated:!0,highlighted:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{points:[Nr(a),Nr(a),Nr(a),Nr(a)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},cachedStats:{}}};et(g,o);var h=js(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(c,h),g})),ne(da(e),"isPointNearTool",(function(t,n,r,o){var a=(0,Y.getEnabledElement)(t).viewport,i=n.data.handles.points,l=a.worldToCanvas(i[0]),c=a.worldToCanvas(i[3]),s=e._getRectangleImageCoordinates([l,c]),d=[r[0],r[1]];return ad([s.left,s.top,s.width,s.height],d)<=o})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),$l(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),t.preventDefault()})),ne(da(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l=!1;r.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===r}));var c=js(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},e._activateModify(o),$l(o);var s=(0,Y.getEnabledElement)(o).renderingEngine;aa(s,c),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}}})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g,h,p,m,w,E,y,I,b=n.currentPoints,C=(0,Y.getEnabledElement)(r).viewport,T=C.worldToCanvas,_=C.canvasToWorld,D=b.world,O=s.handles.points;switch(O[l]=Nr(D),l){case 0:case 3:g=T(O[0]),h=[(m=T(O[3]))[0],g[1]],p=[g[0],m[1]],E=_(h),y=_(p),O[1]=E,O[2]=y;break;case 1:case 2:h=T(O[1]),g=[(p=T(O[2]))[0],h[1]],m=[h[0],p[1]],w=_(g),I=_(m),O[0]=w,O[3]=I}a.invalidated=!0}e.editData.hasMoved=!0;var S=(0,Y.getEnabledElement)(r).renderingEngine;aa(S,i)})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_MOVE,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_MOVE,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles,g=v.points,h=v.activeHandleIndex,p=g.map((function(e){return i.worldToCanvas(e)}));u.annotationUID=o;var m,w=e.getStyle("lineWidth",u,r),E=e.getStyle("lineDash",u,r),y=e.getStyle("color",u,r),I=i.getCamera(),b=I.viewPlaneNormal,C=I.viewUp,T={isPreScaled:sd(i,s),isSuvScaled:e.isSuvScaled(i,s,r.metadata.referencedImageId)};if(l.cachedStats[s]&&void 0!==l.cachedStats[s].areaUnit){if(r.invalidated&&(e._throttledCalculateCachedStats(r,b,C,d,t,T),i instanceof Y.VolumeViewport)){var _=r.metadata.referencedImageId;for(var D in l.cachedStats)D.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=Y.utilities.imageIdToURI(_),n=e.hasImageURI(t),r=Y.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[D]}}else l.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null},e._calculateCachedStats(r,b,C,d,t,T);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};if(!Me(o))return"continue";se(r)||e.editData||null===h||(m=[p[h]]),m&&kc(n,o,"0",m,{color:y});var O="".concat(o,"-rect");jc(n,o,"0",p[0],p[3],{color:y,lineDash:E,lineWidth:w},O),a=!0;var S=e.getLinkedTextBoxStyle(u,r);if(!S.visibility)return l.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},"continue";var x=e.configuration.getTextLines(l,s);if(!x||0===x.length)return"continue";if(!l.handles.textBox.hasMoved){var M=id(p);l.handles.textBox.worldPosition=i.canvasToWorld(M)}var k=i.worldToCanvas(l.handles.textBox.worldPosition),R=Bc(n,o,"1",x,k,p,{},S),P=R.x,N=R.y,A=R.width,L=R.height;l.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([P,N]),topRight:i.canvasToWorld([P+A,N]),bottomLeft:i.canvasToWorld([P,N+L]),bottomRight:i.canvasToWorld([P+A,N+L])}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),ne(da(e),"_getRectangleImageCoordinates",(function(e){var t=lt(e,2),n=t[0],r=t[1];return{left:Math.min(n[0],r[0]),top:Math.min(n[1],r[1]),width:Math.abs(n[0]-r[0]),height:Math.abs(n[1]-r[1])}})),ne(da(e),"_calculateCachedStats",(function(t,n,r,o,a,i){for(var l=t.data,c=a.viewportId,s=a.renderingEngineId,d=l.handles.points[0],u=l.handles.points[3],v=l.cachedStats,f=Object.keys(v),g=0;g<f.length;g++){var h=f[g],p=e.getTargetIdImage(h,o);if(p){var m=p.dimensions,w=p.imageData,E=p.metadata,y=("getScalarData"in p?p.getScalarData():p.scalarData,fd(w,d));y[0]=Math.floor(y[0]),y[1]=Math.floor(y[1]),y[2]=Math.floor(y[2]);var I=fd(w,u);if(I[0]=Math.floor(I[0]),I[1]=Math.floor(I[1]),I[2]=Math.floor(I[2]),e._isInsideVolume(y,I,m)){var b,C,T;e.isHandleOutsideImage=!1;var _=[[Math.min(y[0],I[0]),Math.max(y[0],I[0])],[Math.min(y[1],I[1]),Math.max(y[1],I[1])],[Math.min(y[2],I[2]),Math.max(y[2],I[2])]],D=ld(n,r,d,u),O=D.worldWidth,S=D.worldHeight,x=td(p),M=Math.abs(O*S)/(x*x),k=cd(E.Modality,t.metadata.referencedImageId,i),R=Zc(w,(function(){return!0}),e.configuration.statsCalculator.statsCallback,_),P=e.configuration.statsCalculator.getStatistics();v[h]={Modality:E.Modality,area:M,mean:null===(b=P[1])||void 0===b?void 0:b.value,stdDev:null===(C=P[2])||void 0===C?void 0:C.value,max:null===(T=P[0])||void 0===T?void 0:T.value,statsArray:P,pointsInShape:R,areaUnit:ed(0,p),modalityUnit:k}}else e.isHandleOutsideImage=!0,v[h]={Modality:E.Modality}}}t.invalidated=!1;var N=$.ANNOTATION_MODIFIED,A={annotation:t,viewportId:c,renderingEngineId:s};return(0,Y.triggerEvent)(Y.eventTarget,N,A),v})),ne(da(e),"_isInsideVolume",(function(e,t,n){return Y.utilities.indexWithinDimensions(e,n)&&Y.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o)}($s);function hd(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.max,i=n.stdDev,l=n.areaUnit,c=n.modalityUnit;if(void 0!==o){var s=[];return s.push("Area: ".concat(ts(r)," ").concat(l)),s.push("Mean: ".concat(ts(o)," ").concat(c)),s.push("Max: ".concat(ts(a)," ").concat(c)),s.push("Std Dev: ".concat(ts(i)," ").concat(c)),s}}ne(gd,"toolName",void 0),gd.toolName="RectangleROI";var pd=gd;var md=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return te(this,o),ne(da(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s,d,u=l.getCamera(),v=u.viewPlaneNormal,f=u.viewUp,g=e.getTargetId(l);if(l instanceof Y.StackViewport)s=g.split("imageId:")[1];else{d=g.split("volumeId:")[1];var h=Y.cache.getVolume(d);s=Y.utilities.getClosestImageId(h,a,v)}var p=l.getFrameOfReferenceUID(),m={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Nr(v),enabledElement:i,viewUp:Nr(f),FrameOfReferenceUID:p,referencedImageId:s,toolName:e.getToolName(),volumeId:d},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[Nr(a),Nr(a),Nr(a),Nr(a)],activeHandleIndex:null},segmentationId:null}};et(m,o);var w=js(o,e.getToolName());return e.editData={annotation:m,viewportIdsToRender:w,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(c,w),m})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=t.renderingEngineId,c=i.element,s=Qe(e.getToolName(),c);if(null===(r=s)||void 0===r||!r.length)return a;if(null===(o=s=e.filterInteractableAnnotationsForElement(c,s))||void 0===o||!o.length)return a;for(var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=0;u<s.length;u++){var v=s[u],f=v.annotationUID,g=v.data.handles,h=g.points,p=g.activeHandleIndex,m=h.map((function(e){return i.worldToCanvas(e)}));d.annotationUID=f;var w=e.getStyle("lineWidth",d,v),E=e.getStyle("lineDash",d,v),y=e.getStyle("color",d,v);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;var I=$.ANNOTATION_MODIFIED,b={annotation:v,viewportId:i.id,renderingEngineId:l};(0,Y.triggerEvent)(Y.eventTarget,I,b);var C=void 0;Me(f)&&(se(v)||e.editData||null===p||(C=[m[p]]),C&&kc(n,f,"0",C,{color:y}),jc(n,f,"0",m[0],m[3],{color:y,lineDash:E,lineWidth:w}),a=!0)}return a})),e}return ee(o)}(pd);ne(md,"toolName",void 0),md.toolName="RectangleROIThreshold";var wd=md;var Ed=Y.utilities.transformWorldToIndex,yd=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{numSlicesToPropagate:10}};return te(this,o),ne(da(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s,d,u,v=l.getCamera(),f=v.viewPlaneNormal,g=v.viewUp;if(l instanceof Y.StackViewport)throw new Error("Stack Viewport Not implemented");if(u=e.getTargetId(l).split("volumeId:")[1],d=Y.cache.getVolume(u),!(s=Y.utilities.getClosestImageId(d,a,f)))throw new Error("This tool does not work on non-acquisition planes");var h=l.getCurrentImageIdIndex(),p=Y.utilities.getSpacingInNormalDirection(d,f),m=e._getEndSliceIndex(d,a,p,f),w=l.getFrameOfReferenceUID(),E={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Nr(f),enabledElement:i,viewUp:Nr(g),FrameOfReferenceUID:w,referencedImageId:s,toolName:e.getToolName(),volumeId:u,spacingInNormal:p},data:{label:"",startSlice:h,endSlice:m,cachedStats:{projectionPoints:[],projectionPointsImageIds:[s]},handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[Nr(a),Nr(a),Nr(a),Nr(a)],activeHandleIndex:null},labelmapUID:null}};e._computeProjectionPoints(E,d),et(E,o);var y=js(o,e.getToolName());return e.editData={annotation:E,viewportIdsToRender:y,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(c,y),E})),ne(da(e),"renderAnnotation",(function(t,n){var r=!1,o=t.viewport,a=Qe(e.getToolName(),o.element);if(null==a||!a.length)return r;for(var i=o.getCurrentImageIdIndex(),l={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},c=0;c<a.length;c++){var s=a[c],d=s.annotationUID,u=s.data,v=u.startSlice,f=u.endSlice,g=u.handles,h=g.points,p=g.activeHandleIndex,m=h.map((function(e){return o.worldToCanvas(e)}));l.annotationUID=d;var w=e.getStyle("lineWidth",l,s),E=e.getStyle("lineDash",l,s),y=e.getStyle("color",l,s);if(!(i<Math.min(v,f)||i>Math.max(v,f))){s.invalidated&&e._throttledCalculateCachedStats(s,t);var I=!1;if(i!==v&&i!==f||(I=!0),!o.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),r;var b=void 0;if(Me(d)){se(s)||e.editData||null===p||!I||(b=[m[p]]),b&&kc(n,d,"0",b,{color:y});var C=E;I||(C=2),jc(n,d,"0",m[0],m[3],{color:y,lineDash:C,lineWidth:w}),r=!0}}}return r})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStatsTool,100,{trailing:!0}),e}return ee(o,[{key:"_computeProjectionPoints",value:function(e,t){var n=e.data,r=e.metadata,o=r.viewPlaneNormal,a=r.spacingInNormal,i=t.imageData,l=n.startSlice,c=n.endSlice,s=n.handles.points,d=Ed(i,s[0]);if(d[2]!==l)throw new Error("Start slice does not match");var u=fc.vec3.fromValues(d[0],d[1],c),v=fc.vec3.create();i.indexToWorldVec3(d,v);var f=fc.vec3.create();i.indexToWorldVec3(u,f);for(var g=fc.vec3.distance(v,f),h=[],p=function(e){h.push(s.map((function(t){var n=fc.vec3.create();return fc.vec3.scaleAndAdd(n,t,o,e),Array.from(n)})))},m=0;m<g;m+=a)p(m);n.cachedStats.projectionPoints=h;for(var w=[],E=0,y=h;E<y.length;E++){var I=y[E],b=Y.utilities.getClosestImageId(t,I[0],o);w.push(b)}n.cachedStats.projectionPointsImageIds=w}},{key:"_calculateCachedStatsTool",value:function(e,t){var n=e.data,r=t.viewportId,o=t.renderingEngineId,a=t.viewport,i=n.cachedStats,l=this.getTargetId(a),c=Y.cache.getVolume(l.split("volumeId:")[1]);this._computeProjectionPoints(e,c),e.invalidated=!1;var s=$.ANNOTATION_MODIFIED,d={annotation:e,viewportId:r,renderingEngineId:o};return(0,Y.triggerEvent)(Y.eventTarget,s,d),i}},{key:"_getEndSliceIndex",value:function(e,t,n,r){var o=this.configuration.numSlicesToPropagate,a=fc.vec3.create();fc.vec3.scaleAndAdd(a,t,r,o*n);for(var i,l=n/2,c=e.imageIds,s=0;s<c.length;s++){var d=c[s],u=Y.metaData.get("imagePlaneModule",d).imagePositionPatient,v=fc.vec3.create();fc.vec3.sub(v,a,u);var f=fc.vec3.dot(v,r);Math.abs(f)<l&&(i=s)}return i}}]),o}(pd);ne(yd,"toolName",void 0),yd.toolName="RectangleROIStartEndThreshold";var Id=yd,bd=function(e,t){var n=e.findIndex((function(e){var t=lt(e,2);return t[0]===t[1]}));if(-1===n)throw new Error("3D bounding boxes not supported in an oblique plane");return e[n][0]-=t,e[n][1]+=t,e},Cd=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=[];return e.forEach((function(e){var o,a,i=e.data,l=i.handles.points,c=t.imageData,s=t.dimensions,d=l;if(null!==(o=i.cachedStats)&&void 0!==o&&o.projectionPoints){var u,v=i.cachedStats.projectionPoints;d=(u=[]).concat.apply(u,Nr(v))}var f=d.map((function(e){return Y.utilities.transformWorldToIndex(c,e)})),g=Xc(f,s);!n.numSlicesToProject||null!==(a=i.cachedStats)&&void 0!==a&&a.projectionPoints||(g=bd(g,n.numSlicesToProject)),r.push(g)})),1===r.length?r[0]:r.reduce((function(e,t){return{iMin:Math.min(e.iMin,t.iMin),jMin:Math.min(e.jMin,t.jMin),kMin:Math.min(e.kMin,t.kMin),iMax:Math.max(e.iMax,t.iMax),jMax:Math.max(e.jMax,t.jMax),kMax:Math.max(e.kMax,t.kMax)}}),{iMin:1/0,jMin:1/0,kMin:1/0,iMax:-1/0,jMax:-1/0,kMax:-1/0})};function Td(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_d(Object(n),!0).forEach((function(t){ne(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Od=function(e,t,n,r){var o,a=e.map((function(e){return rt(e)}));!function(e){var t,n=[wd.toolName,Id.toolName],r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Td(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Td(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(e);try{for(r.s();!(t=r.n()).done;){var o=t.value.metadata.toolName;if(!n.includes(o))throw new Error("rectangleROIThresholdVolumeByRange only supports RectangleROIThreshold and RectangleROIStartEndThreshold annotations")}}catch(e){r.e(e)}finally{r.f()}}(a);for(var i=0;i<n.length;i++)n[i].volume.getScalarData().length!==t.getScalarData().length&&0!==i||(o=Cd(a,n[i].volume,r));return Rs(t,n,Dd(Dd({},r),{},{boundsIJK:o}))},Sd=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mergedLabelmap";e.forEach((function(t){var n=t.direction,r=t.dimensions,o=t.origin,a=t.spacing;if(!(Y.utilities.isEqual(r,e[0].dimensions)&&Y.utilities.isEqual(n,e[0].direction)&&Y.utilities.isEqual(a,e[0].spacing)&&Y.utilities.isEqual(o,e[0].origin)))throw new Error("labelmaps must have the same size and shape")}));var r=e[0],o=new(0,r.getScalarData().constructor)(r.getScalarData().length);e.forEach((function(e){for(var n=e.getScalarData(),r=0;r<n.length;r++)n[r]===t&&(o[r]=t)}));var a={scalarData:o,metadata:r.metadata,spacing:r.spacing,origin:r.origin,direction:r.direction,dimensions:r.dimensions};return Y.volumeLoader.createLocalVolume(a,n,!0)};function xd(e,t){if(e===ut.Labelmap)return function(e){return e&&"boolean"==typeof e.renderOutline&&"number"==typeof e.outlineWidthActive&&"number"==typeof e.outlineWidthInactive&&"boolean"==typeof e.renderFill&&"boolean"==typeof e.renderFillInactive&&"number"==typeof e.fillAlpha&&"number"==typeof e.fillAlphaInactive&&"number"==typeof e.outlineOpacity&&"number"==typeof e.outlineOpacityInactive}(t);throw new Error("Unknown representation type: ".concat(e))}function Md(e){var t=e.type;if(t===ut.Labelmap)return gt();throw new Error("Unknown representation type: ".concat(t))}function kd(e){return Rd.apply(this,arguments)}function Rd(){return(Rd=Na(La().mark((function e(t){var n,r,o,a,i,l,c,s,d,u,v,f;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.viewportId,r=t.renderingEngineId,o=t.options,a=t.segmentationId,i=(0,Y.getEnabledElementByIds)(n,r)){e.next=5;break}throw new Error("element disabled");case 5:if((l=i.viewport)instanceof Y.VolumeViewport){e.next=8;break}throw new Error("Segmentation only supports VolumeViewport");case 8:if(c=l.getDefaultActor(),s=c.uid,void 0===a&&(a="".concat(s,"-based-segmentation-").concat(null!==(d=null==o?void 0:o.volumeId)&&void 0!==d?d:Y.utilities.uuidv4().slice(0,8))),!o){e.next=16;break}return u=(0,re._cloneDeep)(o),e.next=14,Y.volumeLoader.createLocalVolume(u,a);case 14:e.next=19;break;case 16:return v=l.getDefaultActor(),f=v.uid,e.next=19,Y.volumeLoader.createAndCacheDerivedVolume(f,{volumeId:a});case 19:return e.abrupt("return",a);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Pd(e,t){return e===t}function Nd(e,t,n){return(new Array(n+1).join(t)+e).slice(-n)}var Ad=function(e,t){var n,r,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=a.onFlood,l=a.onBoundary,c=a.equals||Pd,s=a.diagonals||!1,d=p(t),u=function(e){for(var t=[],n=function(e){return e.split("").map((function(e){return parseInt(e,10)-1}))},r=0;r<Math.pow(3,e);r+=1){var o=Nd(r.toString(3),"0",e);t.push(n(o))}return t}(t.length).filter((function(e){var t=function(e){for(var t=0,n=0;n<e.length;n+=1)0!==e[n]&&(t+=1);return t}(e);return 0!==t&&(1===t||s)})),v=[],f=[],g={},h={};for(v.push({currentArgs:t});v.length>0;)n=v.pop(),r=void 0,o=void 0,r=n.currentArgs,o=n.previousArgs,!0!==g[r]&&(g[r]=!0,function(e){var t=m(p,[e]);return m(c,[t,d])}(r)?(function(e){f.push(e),i&&i.apply(void 0,Nr(e))}(r),function(e){for(var t=0;t<u.length;t+=1){for(var n=u[t],r=e.slice(0),o=0;o<e.length;o+=1)r[o]+=n[o];v.push({currentArgs:r,previousArgs:e})}}(r)):function(e){h[e]=e,l&&l.apply(void 0,Nr(e))}(o));return{flooded:f,boundaries:function(){var e=[];for(var t in h)void 0!==h[t]&&e.unshift(h[t]);return e}()};function p(t){return e.apply(void 0,Nr(t))}function m(e,t){try{return e.apply(void 0,Nr(t))}catch(e){return}}};function Ld(e,t,n){var r=sa(e);if(void 0!==r){xs(e,n).forEach((function(e){e.configuration.brushSize=t,e.invalidateBrushCursor()}));var o=r.getViewportsInfo(),a=Object.keys(o).map((function(e){return o[e]}));if(a.length){var i=a[0].renderingEngineId,l=r.getViewportIds(),c=(0,Y.getRenderingEngine)(i);aa(c,l)}}}function Ud(e,t){var n=sa(e);if(void 0!==n){var r=n._toolInstances;if(Object.keys(r).length){var o=xs(e,t)[0];if(o)return o.configuration.brushSize}}}function Vd(e,t){var n=sa(e);if(void 0!==n){xs(e).forEach((function(e){e.configuration.strategySpecificConfiguration.THRESHOLD_INSIDE_CIRCLE.threshold=t}));var r=n.getViewportsInfo();if(r.length){var o=r[0].renderingEngineId,a=n.getViewportIds(),i=(0,Y.getRenderingEngine)(o);aa(i,a)}}}function Bd(e){var t=sa(e);if(void 0!==t){var n=t._toolInstances;if(Object.keys(n).length){var r=xs(e)[0];if(r)return r.configuration.strategySpecificConfiguration.THRESHOLD_INSIDE_CIRCLE.threshold}}}var jd=function(e,t,n,r){var o=e.getScalarData(),a=ks(e,n),i=a.baseVolumeIdx,l=a.volumeInfoList;return l.forEach((function(e){e.volumeSize===o.length?function(e,t,n){for(var r=n.referenceValues,o=n.lower,a=n.upper,i=0;i<e.length;i++)if(e[i]===t){var l=r[i];e[i]=l>=o&&l<=a?t:0}}(o,t,e):function(e,t,n,r,o,a){for(var i,l,c,s=n.imageData,d=n.lower,u=n.upper,v=n.dimensions,f=0;f<e.length;f++)if(e[f]===t){var g=Ms(s,v,r[o].spacing,r[o].imageData.getPoint(f));i=0,l=0,c={lower:d,upper:u};var h;Zc(s,(function(){return!0}),(function(e){var t=e.value;i+=1,t>=c.lower&&t<=c.upper&&(l+=1)}),g),h=0===a?l>0:l===i,e[f]=h?t:0}}(o,t,e,l,i,r)})),_t(e.volumeId),e},Hd=1e-6,Wd=1,Fd=0;function Gd(e,t,n){var r=lt(n,2),o=r[0],a=r[1];if(Math.abs(t)<Hd)return e<0;var i=e/t;if(t>0){if(i>a)return 0;i>o&&(n[0]=i)}else{if(i<o)return 0;i<a&&(n[1]=i)}return 1}function qd(e,t,n,r,o){var a=lt(e,2),i=a[0],l=a[1],c=lt(t,2),s=c[0]-i,d=c[1]-l;if(void 0===r||void 0===o?(r=e,o=t):(r[0]=e[0],r[1]=e[1],o[0]=t[0],o[1]=t[1]),Math.abs(s)<Hd&&Math.abs(d)<Hd&&i>=n[0]&&i<=n[2]&&l>=n[1]&&l<=n[3])return Wd;var u=[0,1];if(Gd(n[0]-i,s,u)&&Gd(i-n[2],-s,u)&&Gd(n[1]-l,d,u)&&Gd(l-n[3],-d,u)){var v=u[0],f=u[1];return f<1&&(o[0]=i+f*s,o[1]=l+f*d),v>0&&(r[0]+=v*s,r[1]+=v*d),Wd}return Fd}function zd(e){return"number"==typeof e?e?e<0?-1:1:e==e?0:NaN:NaN}function Kd(e,t,n,r){var o=lt(e,2),a=o[0],i=o[1],l=lt(t,2),c=l[0],s=l[1],d=lt(n,2),u=d[0],v=d[1],f=lt(r,2),g=f[0],h=f[1],p=s-i,m=a-c,w=c*i-a*s,E=p*u+m*v+w,y=p*g+m*h+w;if(0===E||0===y||zd(E)!==zd(y)){var I=h-v,b=u-g,C=g*v-u*h,T=I*a+b*i+C,_=I*c+b*s+C;if(0===T||0===_||zd(T)!==zd(_)){var D=p*b-I*m;return[(m*C-b*w)/D,(I*w-p*C)/D]}}}function Yd(e,t,n){var r,o;arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(o=0,r=1):(o=e.length-1,r=0);for(var a=r;a<e.length;a++){if($d(t,n,e[o],e[a]))return[o,a];o=a}}function Jd(e,t,n){var r,o;arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(o=0,r=1):(o=e.length-1,r=0);for(var a=[],i=r;i<e.length;i++){var l=e[o],c=e[i];$d(t,n,l,c)&&a.push([o,i]),o=i}if(0!==a.length){var s=[];a.forEach((function(n){var r=[e[n[0]],e[n[1]]],o=[(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2];s.push(fc.vec2.distance(o,t))}));var d=Math.min.apply(Math,s);return{segment:a[s.indexOf(d)],distance:d}}}function $d(e,t,n,r){var o=!1,a=[Zd(e,t,n),Zd(e,t,r),Zd(n,r,e),Zd(n,r,t)];return a[0]!==a[1]&&a[2]!==a[3]||((0===a[0]&&Xd(e,n,t)||0===a[1]&&Xd(e,r,t)||0===a[2]&&Xd(n,e,r)||0===a[3]&&Xd(n,t,r))&&(o=!0),o)}function Zd(e,t,n){var r=(t[1]-e[1])*(n[0]-t[0])-(t[0]-e[0])*(n[1]-t[1]);return 0===r?0:r>0?1:2}function Xd(e,t,n){return t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1])}function Qd(e,t,n,r){var o=(r[1]-n[1])*(t[0]-e[0])-(r[0]-n[0])*(t[1]-e[1]);if(0!=o){var a=e[1]-n[1],i=e[0]-n[0],l=(r[0]-n[0])*a-(r[1]-n[1])*i,c=(t[0]-e[0])*a-(t[1]-e[1])*i;return a=l/o,i=c/o,[e[0]+a*(t[0]-e[0]),e[1]+a*(t[1]-e[1])]}}var eu=.001,tu=function(e,t){var n,r,o;if(e instanceof Y.StackViewport){var a=e.getImageData();r=a.direction.slice(0,3),o=a.direction.slice(3,6),n=a.spacing}else{var i=e.getImageData(),l=i.direction,c=i.spacing,s=e.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=l.slice(0,3),f=l.slice(3,6),g=l.slice(6,9),h=fc.vec3.create();fc.vec3.cross(h,u,d);var p,m=Math.abs(fc.vec3.dot(h,v)),w=Math.abs(fc.vec3.dot(h,f)),E=Math.abs(fc.vec3.dot(h,g));if(Math.abs(1-m)<eu)p=c[0],r=v;else if(Math.abs(1-w)<eu)p=c[1],r=f;else{if(!(Math.abs(1-E)<eu))throw new Error("No support yet for oblique plane planar contours");p=c[2],r=g}var y,I=Math.abs(fc.vec3.dot(u,v)),b=Math.abs(fc.vec3.dot(u,f)),C=Math.abs(fc.vec3.dot(u,g));if(Math.abs(1-I)<eu)y=c[0],o=v;else if(Math.abs(1-b)<eu)y=c[1],o=f;else{if(!(Math.abs(1-C)<eu))throw new Error("No support yet for oblique plane planar contours");y=c[2],o=g}n=[p,y]}return{spacing:[n[0]/t,n[1]/t],xDir:r,yDir:o}},nu=function(e,t,n){return fc.vec2.dist(e,t)<n},ru=function(e,t,n,r){var o=r.xDir,a=r.yDir,i=r.spacing,l=(0,Y.getEnabledElement)(e).viewport,c=l.canvasToWorld(t[t.length-1]),s=l.canvasToWorld(n),d=fc.vec3.create();fc.vec3.subtract(d,s,c);var u=Math.abs(fc.vec3.dot(d,o)),v=Math.abs(fc.vec3.dot(d,a)),f=Math.max(Math.floor(u/i[0]),Math.floor(v/i[0]));if(f>1){var g=t[t.length-1],h=fc.vec2.dist(g,n),p=fc.vec2.create();fc.vec2.subtract(p,n,g),fc.vec2.set(p,p[0]/h,p[1]/h);for(var m=h/f,w=1;w<=f;w++)t.push([g[0]+m*p[0]*w,g[1]+m*p[1]*w])}else t.push(n);return f},ou=function(e,t,n,r){var o=[e[0]-t[0],e[1]-t[1]],a=[n[0]-t[0],n[1]-t[1]],i=o[0]*a[0]+o[1]*a[1];if(i<0)return!1;var l=Math.sqrt(a[0]*a[0]+a[1]*a[1]);if(0===l)return!1;var c=i/l,s=[a[0]/l,a[1]/l],d=[s[0]*c,s[1]*c],u=[t[0]+d[0],t[1]+d[1]];return!(fc.vec2.distance(e,u)>r||fc.vec2.distance(t,u)>fc.vec2.distance(t,n))};function au(e){for(var t=e.length,n=0,r=t-1,o=0;o<t;o++)n+=(e[r][0]+e[o][0])*(e[r][1]-e[o][1]),r=o;return Math.abs(n/2)}function iu(e,t){if(2!==(null==e?void 0:e.length)||2!==(null==t?void 0:t.length))throw Error("points should have 2 elements of [x, y]");var n=lt(e,2),r=n[0],o=n[1],a=lt(t,2),i=a[0],l=a[1];return Math.sqrt(Math.pow(r-i,2)+Math.pow(o-l,2))}var lu=h(807),cu=h.n(lu);function su(e,t,n,r){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.25,i=e.getCamera(),l=i.position,c=Y.utilities.getTargetVolumeAndSpacingInNormalDir(e,i,n).spacingInNormalDirection*a,s=e.getBounds(),d=s[0],u=s[1],v=[0,0,0],f=[0,0,0];cu().subtract(t,l,v);for(var g=d;g<=u;g+=c){f=[g,0,0];var h=(g-l[0])/v[0];if(f[1]=h*v[1]+l[1],f[2]=h*v[2]+l[2],du(f,s)){var p=r(e.getIntensityFromWorld(f),f);p&&(o=p)}}return o}var du=function(e,t){var n=lt(t,6),r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],c=n[5];return e[0]>r&&e[0]<o&&e[1]>a&&e[1]<i&&e[2]>l&&e[2]<c},uu={filterAnnotationsWithinSlice:Fs,getWorldWidthAndHeightFromCorners:ld,filterAnnotationsForDisplay:Gs,getPointInLineOfSightWithCriteria:su};function vu(e){for(var t="",n=e[0]<0?"R":"L",r=e[1]<0?"A":"P",o=e[2]<0?"F":"H",a=[Math.abs(e[0]),Math.abs(e[1]),Math.abs(e[2])],i=1e-4,l=0;l<3;l++)if(a[0]>i&&a[0]>a[1]&&a[0]>a[2])t+=n,a[0]=0;else if(a[1]>i&&a[1]>a[0]&&a[1]>a[2])t+=r,a[1]=0;else if(a[2]>i&&a[2]>a[0]&&a[2]>a[1])t+=o,a[2]=0;else if(a[0]>i&&a[1]>i&&a[0]===a[1])t+=n+r,a[0]=0,a[1]=0;else if(a[0]>i&&a[2]>i&&a[0]===a[2])t+=n+o,a[0]=0,a[2]=0;else{if(!(a[1]>i&&a[2]>i&&a[1]===a[2]))break;t+=r+o,a[1]=0,a[2]=0}return t}function fu(e){var t=e.replace("H","f");return(t=(t=(t=(t=(t=t.replace("F","h")).replace("R","l")).replace("L","r")).replace("A","p")).replace("P","a")).toUpperCase()}var gu=function(e){return e.CLIP_STOPPED="CORNERSTONE_CINE_TOOL_STOPPED",e.CLIP_STARTED="CORNERSTONE_CINE_TOOL_STARTED",e}(gu||{}),hu=gu,pu={};function mu(e,t){var n=(0,Y.getEnabledElement)(e).viewportId;pu[n]=t}function wu(e){var t=(0,Y.getEnabledElement)(e).viewportId;return pu[t]}var Eu=Y.Enums.ViewportStatus,yu=Y.utilities.triggerEvent,Iu=!0,bu=!0,Cu=new Map;function Tu(e,t){var n,r,o;if(void 0===e)throw new Error("playClip: element must not be undefined");var a=(0,Y.getEnabledElement)(e);if(!a)throw new Error("playClip: element must be a valid Cornerstone enabled element");t.dynamicCineEnabled=null===(n=t.dynamicCineEnabled)||void 0===n||n;var i,l,c,s,d=a.viewport,u=Su(d),v=function(e,t){var n;if(e instanceof Y.StackViewport)return function(e,t){var n=e.getImageIds();return{get numScrollSteps(){return n.length},get currentStepIndex(){return e.getTargetImageIdIndex()},get frameTimeVectorEnabled(){return!0},waitForRenderedCount:0,scroll:function(n){this.waitForRenderedCount<=t&&e.viewportStatus!==Eu.RENDERED?this.waitForRenderedCount++:(this.waitForRenderedCount=0,hc(e,{delta:n,debounceLoading:Iu}))}}}(e,null!==(n=t.waitForRendered)&&void 0!==n?n:30);if(e instanceof Y.VolumeViewport){var r=Su(e);return t.dynamicCineEnabled&&null!=r&&r.isDynamicVolume()?function(e){return{get numScrollSteps(){return e.numTimePoints},get currentStepIndex(){return e.timePointIndex},get frameTimeVectorEnabled(){return!1},scroll:function(t){e.timePointIndex+=t}}}(r):function(e,t){var n=t.volumeId,r={viewPlaneNormal:fc.vec3.create(),scrollInfo:null},o=function(){var t=e.getCamera();if(!r.scrollInfo||!fc.vec3.equals(t.viewPlaneNormal,r.viewPlaneNormal)){var o=Y.utilities.getVolumeViewportScrollInfo(e,n);r.viewPlaneNormal=t.viewPlaneNormal,r.scrollInfo=o}return r.scrollInfo};return{get numScrollSteps(){return o().numScrollSteps},get currentStepIndex(){return o().currentStepIndex},get frameTimeVectorEnabled(){var n=e.getCamera(),r=t.direction.slice(6,9).map((function(e){return-e})),o=fc.vec3.dot(r,n.viewPlaneNormal);return fc.glMatrix.equals(o,1)},scroll:function(t){o().currentStepIndex+=t,hc(e,{delta:t})}}}(e,r)}throw new Error("Unknown viewport type")}(d,t),f=wu(e),g=t.dynamicCineEnabled&&(null==u?void 0:u.isDynamicVolume());if(g&&Ou(e),f?Du(e,g):(f={intervalId:void 0,framesPerSecond:30,lastFrameTimeStamp:void 0,ignoreFrameTimeVector:!1,usingFrameTimeVector:!1,frameTimeVector:null!==(i=t.frameTimeVector)&&void 0!==i?i:void 0,speed:null!==(l=t.frameTimeVectorSpeedMultiplier)&&void 0!==l?l:1,reverse:null!==(c=t.reverse)&&void 0!==c&&c,loop:null===(s=t.loop)||void 0===s||s},mu(e,f)),f.dynamicCineEnabled=t.dynamicCineEnabled,(t.framesPerSecond<0||t.framesPerSecond>0)&&(f.framesPerSecond=Number(t.framesPerSecond),f.reverse=f.framesPerSecond<0,f.ignoreFrameTimeVector=!0),!0!==f.ignoreFrameTimeVector&&f.frameTimeVector&&f.frameTimeVector.length===v.numScrollSteps&&v.frameTimeVectorEnabled){var h=function(e,t){var n,r,o,a=0,i=e.length,l=[],c=!1;for(("number"!=typeof t||t<=0)&&(t=1),n=1;n<i;n++)o=Number(e[n])/t|0,l.push(o),1===n?r=o:o!==r&&(c=!0),a+=o;return l.length>0&&(o=c?a/l.length|0:l[0],l.push(o)),{timeouts:l,isTimeVarying:c}}(f.frameTimeVector,f.speed),p=h.timeouts,m=h.isTimeVarying;r=p,o=m}var w=function(){var t=v.numScrollSteps,n=v.currentStepIndex,r=n+(f.reverse?-1:1);if(bu||!(r<0||r>=t)){r>=t?r=0:r<0&&(r=t-1);var o=r-n;o&&v.scroll(o)}else{Du(e,g);var a={element:e};yu(e,hu.CLIP_STOPPED,a)}};g&&Cu.set(u.volumeId,e),r&&r.length>0&&o?(f.usingFrameTimeVector=!0,f.intervalId=window.setTimeout((function e(){f.intervalId=window.setTimeout(e,r[v.currentStepIndex]),w()}),0)):(f.usingFrameTimeVector=!1,f.intervalId=window.setInterval(w,1e3/Math.abs(f.framesPerSecond)));var E={element:e};yu(e,hu.CLIP_STARTED,E)}function _u(e){Du(e,!0)}function Du(e,t){var n=(0,Y.getEnabledElement)(e);if(n){var r,o,a=n.viewport,i=wu(a.element);i&&void 0!==(o=(r=i).intervalId)&&(r.intervalId=void 0,r.usingFrameTimeVector?clearTimeout(o):clearInterval(o)),t&&a instanceof Y.BaseVolumeViewport&&Ou(e)}}function Ou(e){var t=Su((0,Y.getEnabledElement)(e).viewport);if(null!=t&&t.isDynamicVolume()){var n=Cu.get(t.volumeId);Cu.delete(t.volumeId),n&&n!==e&&_u(n)}}function Su(e){var t=function(e){return e.getActors().map((function(e){return Y.cache.getVolume(e.uid)})).filter((function(e){return!!e}))}(e),n=t.find((function(e){return e.isDynamicVolume()}));return null!=n?n:t[0]}function xu(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],a=e[r+1],i=r>0?e[r-1]:2*o-a,l=r<t-1?e[r+2]:2*a-o;return function(e,t,n,r,o){var a=e*e,i=a*e;return((1-3*e+3*a-i)*t+(4-6*a+3*i)*n+(1+3*e+3*a-3*i)*r+i*o)/6}((n-r/t)*t,i,o,a,l)}}function Mu(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}function ku(e){return e.length}function Ru(){return function(e){if(!(o=e.length))return[];for(var t=-1,n=function(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let o of e)null!=(o=t(o,++r,e))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}(e,ku),r=new Array(n);++t<n;)for(var o,a=-1,i=r[t]=new Array(o);++a<o;)i[a]=e[a][t];return r}(arguments)}function Pu(e,t,n,r){var o,a,i=n-t+1,l=null!==(o=Math.floor(r/100*i))&&void 0!==o?o:1,c=null!==(a=Math.floor(i/l))&&void 0!==a?a:1;if(isNaN(i)||!i||!c)return e;if(i/c<2)return e;var s=Math.max(0,t),d=Math.min(e.length-1,n),u=e.slice(0,s),v=e.slice(d+1,e.length),f=function(e,t){if(!t||0===t.length||t.length===e.length)return e;var n,r=t[t.length-1]-t[0]+1,o=xu(t.map((function(t){return e[t][0]}))),a=xu(t.map((function(t){return e[t][1]})));if(3===(null===(n=e[0])||void 0===n?void 0:n.length)){var i=xu(t.map((function(t){return e[t][2]})));return Ru(Mu(o,r),Mu(a,r),Mu(i,r))}return Ru(Mu(o,r),Mu(a,r))}(e,function(e,t){for(var n=[],r=lt(t,2),o=r[0],a=r[1],i=a-o+1,l=Math.floor(i/e),c=0,s=Math.round((i-1)/(l-1)*c)+o;s<=a;)n.push(s),c++,s=Math.round((i-1)/(l-1)*c)+o;return n}(c,[s,d]));return[].concat(Nr(u),Nr(f),Nr(v))}function Nu(e){var t,n;return!0===(null==e||null===(t=e.interpolation)||void 0===t?void 0:t.interpolateOnAdd)||!0===(null==e||null===(n=e.interpolation)||void 0===n?void 0:n.interpolateOnEdit)}function Au(e,t,n){return(e+t+n)%t}function Lu(e,t,n,r){var o=lt(e,3),a=o[1],i=o[2],l=lt(t,3),c=l[1],s=l[2],d=i.length,u=s.length,v=e[0],f=t[0];if(!(i[v]&&s[f]&&i[a]&&s[c]))return[void 0,void 0];for(;v!==a&&f!==c;){if(n(s[f],i[v]))return[v,f];v=Au(v,d,r),f=Au(f,u,r)}return[void 0,void 0]}function Uu(e,t,n){var r=e.interpolation,o=t;if(r){var a=r.knotsRatioPercentageOnAdd,i=r.knotsRatioPercentageOnEdit,l=r.interpolateOnAdd,c=void 0!==l&&l,s=r.interpolateOnEdit,d=n?i:a;if(n?void 0!==s&&s:c){var u=lt(n?function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++)for(var r=0;r<t.length;r++)if(0===iu(e[n],t[r]))return[n,r]}(e,t)||[],r=lt(n,2),o=r[0],a=r[1],i=function(e,t){return!1===function(e,t){return iu(e,t)<.001}(e,t)},l=lt(Lu([Au(o,e.length,1),o,e],[Au(a,t.length,1),a,t],i,1),2),c=l[0],s=l[1];return[c,lt(Lu([Au(c,e.length,-1),c,e],[Au(s,t.length,-1),s,t],i,-1),1)[0]]}(t,n):[0,t.length-1],2),v=u[0],f=u[1];return t[v]&&t[f]?Pu(t,v,f,d):t}}return o}function Vu(e,t){var n=e[0],r=e[e.length-1],o=fc.vec2.create();fc.vec2.set(o,r[0]-n[0],r[1]-n[1]),fc.vec2.normalize(o,o);var a=fc.vec2.create(),i=fc.vec2.create();fc.vec2.set(a,-o[1],o[0]),fc.vec2.set(i,o[1],-o[0]);for(var l=[(n[0]+r[0])/2,(n[1]+r[1])/2],c={dist:0,index:null},s=0;s<e.length;s++){var d=e[s],u=fc.vec2.dist(d,l);u>c.dist&&(c.dist=u,c.index=s)}return[e[c.index],l].map(t.canvasToWorld)}var Bu=ru,ju=nu,Hu=Yd,Wu=tu;function Fu(e,t,n){this.isDrawing=!0;var r=e.detail,o=r.currentPoints,a=r.element,i=o.canvas,l=(0,Y.getEnabledElement)(a).viewport,c=Wu(l,this.configuration.subPixelResolution),s=c.spacing,d=c.xDir,u=c.yDir;this.drawData={canvasPoints:[i],polylineIndex:0},this.commonData={annotation:t,viewportIdsToRender:n,spacing:s,xDir:d,yDir:u,movingTextBox:!1},Ge.isInteractingWithTool=!0,a.addEventListener($.MOUSE_UP,this.mouseUpDrawCallback),a.addEventListener($.MOUSE_DRAG,this.mouseDragDrawCallback),a.addEventListener($.MOUSE_CLICK,this.mouseUpDrawCallback),a.addEventListener($.TOUCH_END,this.mouseUpDrawCallback),a.addEventListener($.TOUCH_DRAG,this.mouseDragDrawCallback),a.addEventListener($.TOUCH_TAP,this.mouseUpDrawCallback),$l(a)}function Gu(e){Ge.isInteractingWithTool=!1,e.removeEventListener($.MOUSE_UP,this.mouseUpDrawCallback),e.removeEventListener($.MOUSE_DRAG,this.mouseDragDrawCallback),e.removeEventListener($.MOUSE_CLICK,this.mouseUpDrawCallback),e.removeEventListener($.TOUCH_END,this.mouseUpDrawCallback),e.removeEventListener($.TOUCH_DRAG,this.mouseDragDrawCallback),e.removeEventListener($.TOUCH_TAP,this.mouseUpDrawCallback),Jl(e)}function qu(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=n.canvas,i=(0,Y.getEnabledElement)(r),l=i.renderingEngine,c=i.viewport,s=this.commonData,d=s.annotation,u=s.viewportIdsToRender,v=s.xDir,f=s.yDir,g=s.spacing,h=s.movingTextBox,p=this.drawData,m=p.polylineIndex,w=p.canvasPoints,E=w[w.length-1],y=c.canvasToWorld(E),I=fc.vec3.create();fc.vec3.subtract(I,o,y);var b=Math.abs(fc.vec3.dot(I,v)),C=Math.abs(fc.vec3.dot(I,f));if(!(b<=g[0]&&C<=g[1])){if(h){this.isDrawing=!1;var T=t.deltaPoints.world,_=d.data.handles.textBox,D=_.worldPosition;D[0]+=T[0],D[1]+=T[1],D[2]+=T[2],_.hasMoved=!0}else{var O=this.findCrossingIndexDuringCreate(e);if(void 0!==O)this.applyCreateOnCross(e,O);else{var S=Bu(r,w,a,this.commonData);this.drawData.polylineIndex=m+S}}aa(l,u)}}function zu(e){var t=this.configuration.allowOpenContours,n=this.drawData.canvasPoints,r=n[0],o=n[n.length-1],a=e.detail.element;t&&!ju(r,o,this.configuration.closeContourProximity)?this.completeDrawOpenContour(a):this.completeDrawClosedContour(a)}function Ku(e){this.removeCrossedLinesOnCompleteDraw();var t=this.drawData.canvasPoints;if(this.haltDrawing(e,t))return!1;var n=this.commonData,r=n.annotation,o=n.viewportIdsToRender,a=(0,Y.getEnabledElement)(e),i=a.viewport,l=a.renderingEngine;Bu(e,t,t[0],this.commonData),t.pop();var c=(Nu(this.configuration)?Uu(this.configuration,t):t).map((function(e){return i.canvasToWorld(e)}));return r.data.polyline=c,r.data.isOpenContour=!1,r.data.handles.textBox.hasMoved||this.triggerAnnotationCompleted(r),this.isDrawing=!1,this.drawData=void 0,this.commonData=void 0,aa(l,o),this.deactivateDraw(e),!0}function Yu(){var e=this.drawData.canvasPoints,t=e.length,n=[e[0],e[t-1]],r=e.slice(0,-1).slice(1),o=Hu(r,n[0],n[1],!1);if(o){var a=o[1];this.drawData.canvasPoints=e.splice(0,a)}}function Ju(e){var t=this.drawData.canvasPoints;if(this.haltDrawing(e,t))return!1;var n=this.commonData,r=n.annotation,o=n.viewportIdsToRender,a=(0,Y.getEnabledElement)(e),i=a.viewport,l=a.renderingEngine,c=(Nu(this.configuration)?Uu(this.configuration,t):t).map((function(e){return i.canvasToWorld(e)}));r.data.polyline=c,r.data.isOpenContour=!0;var s=r.data.handles.textBox;return r.data.handles.points=[c[0],c[c.length-1]],r.data.isOpenUShapeContour&&(r.data.openUShapeContourVectorToPeak=Vu(t,i)),s.hasMoved||this.triggerAnnotationCompleted(r),this.isDrawing=!1,this.drawData=void 0,this.commonData=void 0,aa(l,o),this.deactivateDraw(e),!0}function $u(e){var t=e.detail,n=t.currentPoints,r=t.lastPoints,o=n.canvas,a=r.canvas,i=this.drawData.canvasPoints.slice(0,-1),l=Hu(i,o,a,!1);if(void 0!==l)return l[0]}function Zu(e,t){var n=e.detail.element,r=this.drawData.canvasPoints,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender;Bu(n,r,r[t],this.commonData),r.pop();for(var l=0;l<t;l++)r.shift();this.completeDrawClosedContour(n)&&this.activateClosedContourEdit(e,a,i)}function Xu(e){var t=this.configuration.allowOpenContours,n=this.drawData.canvasPoints,r=n[0],o=n[n.length-1];t&&!ju(r,o,this.configuration.closeContourProximity)?this.completeDrawOpenContour(e):this.completeDrawClosedContour(e)}function Qu(e,t){if(function(e,t){var n=Math.max(3*t,3);return e.length<n}(t,this.configuration.subPixelResolution)){var n=this.commonData,r=n.annotation,o=n.viewportIdsToRender,a=(0,Y.getEnabledElement)(e).renderingEngine;return nt(r.annotationUID),this.isDrawing=!1,this.drawData=void 0,this.commonData=void 0,aa(a,o),this.deactivateDraw(e),!0}return!1}var ev=function(e){e.activateDraw=Fu.bind(e),e.deactivateDraw=Gu.bind(e),e.applyCreateOnCross=Zu.bind(e),e.findCrossingIndexDuringCreate=$u.bind(e),e.completeDrawOpenContour=Ju.bind(e),e.removeCrossedLinesOnCompleteDraw=Yu.bind(e),e.mouseDragDrawCallback=qu.bind(e),e.mouseUpDrawCallback=zu.bind(e),e.completeDrawClosedContour=Ku.bind(e),e.cancelDrawing=Xu.bind(e),e.haltDrawing=Qu.bind(e)},tv=ru,nv=Yd;function rv(e,t){var n=e.detail,r=n.element,o=n.currentPoints,a=n.lastPoints,i=o.canvas,l=a.canvas,c=this.editData,s=c.editCanvasPoints,d=c.prevCanvasPoints,u=nv(d,i,l,t);if(u)this.editData.startCrossingIndex=u[0],this.removePointsUpUntilFirstCrossing(t);else if(d.length>=2)if(s.length>this.configuration.checkCanvasEditFallbackProximity){for(var v=s[0],f=[],g=0;g<d.length;g++){var h=d[g],p=fc.vec2.distance(h,v);f.push({distance:p,index:g})}f.sort((function(e,t){return e.distance-t.distance}));var m=[f[0],f[1]],w=Math.min(m[0].index,m[1].index);this.editData.startCrossingIndex=w}else{var E=fc.vec2.create();fc.vec2.subtract(E,s[1],s[0]),fc.vec2.normalize(E,E);var y=[s[0][0]-6*E[0],s[0][1]-6*E[1]],I=nv(d,y,s[0],t);if(I){var b=[y];tv(r,b,s[0],this.commonData),s.unshift.apply(s,b),this.removePointsUpUntilFirstCrossing(t),this.editData.editIndex=s.length-1,this.editData.startCrossingIndex=I[0]}}}function ov(e){for(var t=this.editData,n=t.editCanvasPoints,r=t.prevCanvasPoints,o=0,a=0;a<n.length-1;a++){var i=[n[a],n[a+1]];if(o++,nv(r,i[0],i[1],e))break}n.splice(0,o),this.editData.editIndex=n.length-1}function av(e,t){var n=e.detail,r=n.currentPoints,o=n.lastPoints,a=r.canvas,i=o.canvas,l=this.editData.prevCanvasPoints;return!!nv(l,a,i,t)}function iv(e){for(var t=this.editData,n=t.prevCanvasPoints,r=t.editCanvasPoints,o=r.length-1;o>0;o--){var a=[r[o],r[o-1]],i=!!nv(n,a[0],a[1],e);if(r.pop(),i)break}}function lv(){var e=this.editData,t=e.editCanvasPoints,n=e.prevCanvasPoints;if(void 0!==e.startCrossingIndex){for(var r=t[t.length-1],o=[],a=0;a<n.length;a++){var i=n[a],l=fc.vec2.distance(i,r);o.push({distance:l,index:a})}o.sort((function(e,t){return e.distance-t.distance}));for(var c=t.slice(0,-1),s=0;s<o.length;s++){var d=o[s].index,u=n[d],v=t[t.length-1];if(!nv(c,u,v,!1))return d}return-1}}function cv(e){var t=e.detail,n=t.currentPoints,r=t.lastPoints,o=n.canvas,a=r.canvas,i=this.editData.editCanvasPoints,l=i.slice(0,-2),c=nv(l,o,a,!1);if(c)for(var s=c[0],d=i.length-s,u=0;u<d;u++)i.pop()}var sv=function(e){e.checkForFirstCrossing=rv.bind(e),e.removePointsUpUntilFirstCrossing=ov.bind(e),e.checkForSecondCrossing=av.bind(e),e.findSnapIndex=lv.bind(e),e.removePointsAfterSecondCrossing=iv.bind(e),e.checkAndRemoveCrossesOnEditLine=cv.bind(e)},dv=tu,uv=ru,vv=au;function fv(e,t,n){this.isEditingClosed=!0;var r=e.detail,o=r.currentPoints,a=r.element,i=o.canvas,l=(0,Y.getEnabledElement)(a).viewport,c=t.data.polyline.map(l.worldToCanvas),s=dv(l,this.configuration.subPixelResolution),d=s.spacing,u=s.xDir,v=s.yDir;this.editData={prevCanvasPoints:c,editCanvasPoints:[i],startCrossingIndex:void 0,editIndex:0},this.commonData={annotation:t,viewportIdsToRender:n,spacing:d,xDir:u,yDir:v,movingTextBox:!1},Ge.isInteractingWithTool=!0,a.addEventListener($.MOUSE_UP,this.mouseUpClosedContourEditCallback),a.addEventListener($.MOUSE_DRAG,this.mouseDragClosedContourEditCallback),a.addEventListener($.MOUSE_CLICK,this.mouseUpClosedContourEditCallback),a.addEventListener($.TOUCH_END,this.mouseUpClosedContourEditCallback),a.addEventListener($.TOUCH_DRAG,this.mouseDragClosedContourEditCallback),a.addEventListener($.TOUCH_TAP,this.mouseUpClosedContourEditCallback),$l(a)}function gv(e){Ge.isInteractingWithTool=!1,e.removeEventListener($.MOUSE_UP,this.mouseUpClosedContourEditCallback),e.removeEventListener($.MOUSE_DRAG,this.mouseDragClosedContourEditCallback),e.removeEventListener($.MOUSE_CLICK,this.mouseUpClosedContourEditCallback),e.removeEventListener($.TOUCH_END,this.mouseUpClosedContourEditCallback),e.removeEventListener($.TOUCH_DRAG,this.mouseDragClosedContourEditCallback),e.removeEventListener($.TOUCH_TAP,this.mouseUpClosedContourEditCallback),Jl(e)}function hv(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=n.canvas,i=(0,Y.getEnabledElement)(r),l=i.renderingEngine,c=i.viewport,s=this.commonData,d=s.viewportIdsToRender,u=s.xDir,v=s.yDir,f=s.spacing,g=this.editData,h=g.editIndex,p=g.editCanvasPoints,m=g.startCrossingIndex,w=p[p.length-1],E=c.canvasToWorld(w),y=fc.vec3.create();fc.vec3.subtract(y,o,E);var I=Math.abs(fc.vec3.dot(y,u)),b=Math.abs(fc.vec3.dot(y,v));if(!(I<=f[0]&&b<=f[1])){void 0!==m&&this.checkAndRemoveCrossesOnEditLine(e);var C=h+uv(r,p,a,this.commonData);this.editData.editIndex=C,void 0===m&&p.length>1&&this.checkForFirstCrossing(e,!0),this.editData.snapIndex=this.findSnapIndex(),-1!==this.editData.snapIndex?(this.editData.fusedCanvasPoints=this.fuseEditPointsWithClosedContour(e),void 0!==m&&this.checkForSecondCrossing(e,!0)&&(this.removePointsAfterSecondCrossing(!0),this.finishEditAndStartNewEdit(e)),aa(l,d)):this.finishEditAndStartNewEdit(e)}}function pv(e){var t=e.detail.element,n=(0,Y.getEnabledElement)(t),r=n.viewport,o=n.renderingEngine,a=this.commonData,i=a.annotation,l=a.viewportIdsToRender,c=this.editData,s=c.fusedCanvasPoints,d=c.editCanvasPoints,u=s.map((function(e){return r.canvasToWorld(e)}));i.data.polyline=u,i.data.isOpenContour=!1,this.triggerAnnotationModified(i,n);var v=d.pop();this.editData={prevCanvasPoints:s,editCanvasPoints:[v],startCrossingIndex:void 0,editIndex:0,snapIndex:void 0},aa(o,l)}function mv(e){var t=this.editData,n=t.prevCanvasPoints,r=t.editCanvasPoints,o=t.startCrossingIndex,a=t.snapIndex;if(void 0!==o&&void 0!==a){var i,l,c=e.detail.element,s=Nr(r);uv(c,s,n[a],this.commonData),s.length>r.length&&s.pop(),o>a?(i=a,l=o):(i=o,l=a);for(var d=fc.vec2.distance(n[i],s[0]),u=fc.vec2.distance(n[i],s[s.length-1]),v=fc.vec2.distance(n[l],s[0]),f=fc.vec2.distance(n[l],s[s.length-1]),g=[],h=0;h<i;h++){var p=n[h];g.push([p[0],p[1]])}var m=d+f,w=u+v;if(m<w)for(var E=0;E<s.length;E++){var y=s[E];g.push([y[0],y[1]])}else for(var I=s.length-1;I>=0;I--){var b=s[I];g.push([b[0],b[1]])}for(var C=l;C<n.length;C++){var T=n[C];g.push([T[0],T[1]])}for(var _=[],D=i;D<l;D++){var O=n[D];_.push([O[0],O[1]])}if((m=v+u)<(w=f+d))for(var S=0;S<s.length;S++){var x=s[S];_.push([x[0],x[1]])}else for(var M=s.length-1;M>=0;M--){var k=s[M];_.push([k[0],k[1]])}return vv(g)>vv(_)?g:_}}function wv(e){var t=e.detail.element;this.completeClosedContourEdit(t)}function Ev(e){var t=(0,Y.getEnabledElement)(e),n=t.viewport,r=t.renderingEngine,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender,l=this.editData,c=l.fusedCanvasPoints,s=l.prevCanvasPoints;if(c){var d=(Nu(this.configuration)?Uu(this.configuration,c,s):c).map((function(e){return n.canvasToWorld(e)}));a.data.polyline=d,a.data.isOpenContour=!1,a.invalidated=!0,this.triggerAnnotationModified(a,t)}this.isEditingClosed=!1,this.editData=void 0,this.commonData=void 0,aa(r,i),this.deactivateClosedContourEdit(e)}function yv(e){this.completeClosedContourEdit(e)}var Iv=function(e){e.activateClosedContourEdit=fv.bind(e),e.deactivateClosedContourEdit=gv.bind(e),e.mouseDragClosedContourEditCallback=hv.bind(e),e.mouseUpClosedContourEditCallback=wv.bind(e),e.finishEditAndStartNewEdit=pv.bind(e),e.fuseEditPointsWithClosedContour=mv.bind(e),e.cancelClosedContourEdit=yv.bind(e),e.completeClosedContourEdit=Ev.bind(e)},bv=ru,Cv=tu;function Tv(e,t,n){this.isEditingOpen=!0;var r=e.detail,o=r.currentPoints,a=r.element,i=o.canvas,l=(0,Y.getEnabledElement)(a).viewport,c=t.data.polyline.map(l.worldToCanvas),s=Cv(l,this.configuration.subPixelResolution),d=s.spacing,u=s.xDir,v=s.yDir;this.editData={prevCanvasPoints:c,editCanvasPoints:[i],startCrossingIndex:void 0,editIndex:0},this.commonData={annotation:t,viewportIdsToRender:n,spacing:d,xDir:u,yDir:v,movingTextBox:!1},Ge.isInteractingWithTool=!0,a.addEventListener($.MOUSE_UP,this.mouseUpOpenContourEditCallback),a.addEventListener($.MOUSE_DRAG,this.mouseDragOpenContourEditCallback),a.addEventListener($.MOUSE_CLICK,this.mouseUpOpenContourEditCallback),a.addEventListener($.TOUCH_END,this.mouseUpOpenContourEditCallback),a.addEventListener($.TOUCH_DRAG,this.mouseDragOpenContourEditCallback),a.addEventListener($.TOUCH_TAP,this.mouseUpOpenContourEditCallback),$l(a)}function _v(e){Ge.isInteractingWithTool=!1,e.removeEventListener($.MOUSE_UP,this.mouseUpOpenContourEditCallback),e.removeEventListener($.MOUSE_DRAG,this.mouseDragOpenContourEditCallback),e.removeEventListener($.MOUSE_CLICK,this.mouseUpOpenContourEditCallback),e.removeEventListener($.TOUCH_END,this.mouseUpOpenContourEditCallback),e.removeEventListener($.TOUCH_DRAG,this.mouseDragOpenContourEditCallback),e.removeEventListener($.TOUCH_TAP,this.mouseUpOpenContourEditCallback),Jl(e)}function Dv(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=n.canvas,i=(0,Y.getEnabledElement)(r),l=i.renderingEngine,c=i.viewport,s=this.commonData,d=s.viewportIdsToRender,u=s.xDir,v=s.yDir,f=s.spacing,g=this.editData,h=g.editIndex,p=g.editCanvasPoints,m=g.startCrossingIndex,w=p[p.length-1],E=c.canvasToWorld(w),y=fc.vec3.create();fc.vec3.subtract(y,o,E);var I=Math.abs(fc.vec3.dot(y,u)),b=Math.abs(fc.vec3.dot(y,v));if(!(I<=f[0]&&b<=f[1])){void 0!==m&&this.checkAndRemoveCrossesOnEditLine(e);var C=h+bv(r,p,a,this.commonData);this.editData.editIndex=C,void 0===m&&p.length>1&&this.checkForFirstCrossing(e,!1),this.editData.snapIndex=this.findSnapIndex(),this.editData.fusedCanvasPoints=this.fuseEditPointsWithOpenContour(e),void 0!==m&&this.checkForSecondCrossing(e,!1)?(this.removePointsAfterSecondCrossing(!1),this.finishEditOpenOnSecondCrossing(e)):this.checkIfShouldOverwriteAnEnd(e)&&this.openContourEditOverwriteEnd(e),aa(l,d)}}function Ov(e){var t=e.detail.element,n=(0,Y.getEnabledElement)(t),r=n.viewport,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender,l=this.fuseEditPointsForOpenContourEndEdit().map((function(e){return r.canvasToWorld(e)}));a.data.polyline=l,a.data.isOpenContour=!0,a.data.handles.points=[l[0],l[l.length-1]],a.data.handles.activeHandleIndex=1,this.triggerAnnotationModified(a,n),this.isEditingOpen=!1,this.editData=void 0,this.commonData=void 0,this.deactivateOpenContourEdit(t),this.activateOpenContourEndEdit(e,a,i,null)}function Sv(e){var t=e.detail,n=t.currentPoints,r=t.lastPoints,o=n.canvas,a=r.canvas,i=this.editData,l=i.snapIndex,c=i.prevCanvasPoints;if(void 0===i.startCrossingIndex||void 0===l)return!1;if(-1===l)return!0;if(0!==l&&l!==c.length-1)return!1;var s=o,d=a,u=c[l],v=fc.vec2.create(),f=fc.vec2.create();fc.vec2.set(v,s[0]-d[0],s[1]-d[1]),fc.vec2.set(f,s[0]-u[0],s[1]-u[1]);var g=fc.vec2.dot(v,f),h=Math.sqrt(v[0]*v[0]+v[1]*v[1]),p=Math.sqrt(f[0]*f[0]+f[1]*f[1]);return Math.acos(g/(h*p))<Math.PI/2}function xv(){var e=this.editData,t=e.snapIndex,n=e.prevCanvasPoints,r=e.editCanvasPoints,o=e.startCrossingIndex,a=[];if(0===t)for(var i=n.length-1;i>=o;i--){var l=n[i];a.push([l[0],l[1]])}else for(var c=0;c<o;c++){var s=n[c];a.push([s[0],s[1]])}if(fc.vec2.distance(n[o],r[0])<fc.vec2.distance(n[o],r[r.length-1]))for(var d=0;d<r.length;d++){var u=r[d];a.push([u[0],u[1]])}else for(var v=r.length-1;v>=0;v--){var f=r[v];a.push([f[0],f[1]])}return a}function Mv(e){var t=this.editData,n=t.prevCanvasPoints,r=t.editCanvasPoints,o=t.startCrossingIndex,a=t.snapIndex;if(void 0!==o&&void 0!==a){var i,l,c=e.detail.element,s=Nr(r);bv(c,s,n[a],this.commonData),s.length>r.length&&s.pop(),o>a?(i=a,l=o):(i=o,l=a);for(var d=fc.vec2.distance(n[i],s[0]),u=fc.vec2.distance(n[i],s[s.length-1]),v=fc.vec2.distance(n[l],s[0]),f=fc.vec2.distance(n[l],s[s.length-1]),g=[],h=0;h<i;h++){var p=n[h];g.push([p[0],p[1]])}if(d+f<u+v)for(var m=0;m<s.length;m++){var w=s[m];g.push([w[0],w[1]])}else for(var E=s.length-1;E>=0;E--){var y=s[E];g.push([y[0],y[1]])}for(var I=l;I<n.length;I++){var b=n[I];g.push([b[0],b[1]])}return g}}function kv(e){var t=e.detail.element,n=(0,Y.getEnabledElement)(t),r=n.viewport,o=n.renderingEngine,a=this.commonData,i=a.annotation,l=a.viewportIdsToRender,c=this.editData,s=c.fusedCanvasPoints,d=c.editCanvasPoints,u=s.map((function(e){return r.canvasToWorld(e)}));i.data.polyline=u,i.data.isOpenContour=!0,i.data.handles.points=[u[0],u[u.length-1]],this.triggerAnnotationModified(i,n);var v=d.pop();this.editData={prevCanvasPoints:s,editCanvasPoints:[v],startCrossingIndex:void 0,editIndex:0},aa(o,l)}function Rv(e){var t=e.detail.element;this.completeOpenContourEdit(t)}function Pv(e){var t=(0,Y.getEnabledElement)(e),n=t.viewport,r=t.renderingEngine,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender,l=this.editData,c=l.fusedCanvasPoints,s=l.prevCanvasPoints;if(c){var d=(Nu(this.configuration)?Uu(this.configuration,c,s):c).map((function(e){return n.canvasToWorld(e)}));a.data.polyline=d,a.data.isOpenContour=!0,a.data.handles.points=[d[0],d[d.length-1]],a.data.isOpenUShapeContour&&(a.data.openUShapeContourVectorToPeak=Vu(c,n)),a.invalidated=!0,this.triggerAnnotationModified(a,t)}this.isEditingOpen=!1,this.editData=void 0,this.commonData=void 0,aa(r,i),this.deactivateOpenContourEdit(e)}function Nv(e){this.completeOpenContourEdit(e)}var Av=function(e){e.activateOpenContourEdit=Tv.bind(e),e.deactivateOpenContourEdit=_v.bind(e),e.mouseDragOpenContourEditCallback=Dv.bind(e),e.mouseUpOpenContourEditCallback=Rv.bind(e),e.fuseEditPointsWithOpenContour=Mv.bind(e),e.finishEditOpenOnSecondCrossing=kv.bind(e),e.checkIfShouldOverwriteAnEnd=Sv.bind(e),e.fuseEditPointsForOpenContourEndEdit=xv.bind(e),e.openContourEditOverwriteEnd=Ov.bind(e),e.cancelOpenContourEdit=Nv.bind(e),e.completeOpenContourEdit=Pv.bind(e)},Lv=tu;function Uv(e,t,n,r){this.isDrawing=!0;var o=e.detail.element,a=(0,Y.getEnabledElement)(o).viewport,i=Lv(a,this.configuration.subPixelResolution),l=i.spacing,c=i.xDir,s=i.yDir,d=t.data.polyline.map(a.worldToCanvas);0===t.data.handles.activeHandleIndex&&d.reverse();var u=!1;r.worldPosition&&(u=!0),this.drawData={canvasPoints:d,polylineIndex:d.length-1},this.commonData={annotation:t,viewportIdsToRender:n,spacing:l,xDir:c,yDir:s,movingTextBox:u},Ge.isInteractingWithTool=!0,o.addEventListener($.MOUSE_UP,this.mouseUpDrawCallback),o.addEventListener($.MOUSE_DRAG,this.mouseDragDrawCallback),o.addEventListener($.MOUSE_CLICK,this.mouseUpDrawCallback),o.addEventListener($.TOUCH_END,this.mouseUpDrawCallback),o.addEventListener($.TOUCH_DRAG,this.mouseDragDrawCallback),o.addEventListener($.TOUCH_TAP,this.mouseUpDrawCallback),$l(o)}var Vv=function(e){e.activateOpenContourEndEdit=Uv.bind(e)},Bv=nu;function jv(e,t){var n={toolGroupId:this.toolGroupId,toolName:this.getToolName(),viewportId:e.viewport.id,annotationUID:t.annotationUID},r=this.getStyle("lineWidth",n,t),o=this.getStyle("lineDash",n,t),a=this.getStyle("color",n,t);return{color:void 0===a?void 0:a,width:void 0===r?void 0:r,lineDash:void 0===o?void 0:o,connectLastToFirst:!t.data.isOpenContour}}function Hv(e,t,n){var r;null!=e&&null!==(r=e.viewport)&&void 0!==r&&r.getImageData()&&(n.data.isOpenContour?n.data.isOpenUShapeContour?(function(e,t){t.data.openUShapeContourVectorToPeak||(t.data.openUShapeContourVectorToPeak=function(e,t){var n=e.viewport;return Vu(t.data.polyline.map(n.worldToCanvas),n)}(e,t))}(e,n),this.renderOpenUShapedContour(e,t,n)):this.renderOpenContour(e,t,n):this.renderClosedContour(e,t,n))}function Wv(e,t,n){var r=e.viewport,o=this._getRenderingOptions(e,n),a=n.data.polyline.map((function(e){return r.worldToCanvas(e)}));Nc(t,n.annotationUID,"1",a,o)}function Fv(e,t,n){var r,o=e.viewport,a=this._getRenderingOptions(e,n),i=n.data.polyline.map((function(e){return o.worldToCanvas(e)}));Nc(t,n.annotationUID,"1",i,a);var l=n.data.handles.activeHandleIndex;if(!0===(null===(r=this.configuration.alwaysRenderOpenContourHandles)||void 0===r?void 0:r.enabled)){var c=this.configuration.alwaysRenderOpenContourHandles.radius,s=[i[0],i[i.length-1]];0===l?s.shift():1===l&&s.pop(),kc(t,n.annotationUID,"0",s,{color:a.color,handleRadius:c})}if(null!==l){var d=i[0===l?0:i.length-1];kc(t,n.annotationUID,"1",[d],{color:a.color})}}function Gv(e,t,n){var r=e.viewport,o=n.data,a=o.polyline,i=o.openUShapeContourVectorToPeak;if(this.renderOpenContour(e,t,n),i){var l=r.worldToCanvas(a[0]),c=r.worldToCanvas(a[a.length-1]),s=[r.worldToCanvas(i[0]),r.worldToCanvas(i[1])],d=this._getRenderingOptions(e,n);Nc(t,n.annotationUID,"first-to-last",[l,c],{color:d.color,width:d.width,connectLastToFirst:!1,lineDash:"2,2"}),Nc(t,n.annotationUID,"midpoint-to-open-contour",[s[0],s[1]],{color:d.color,width:d.width,connectLastToFirst:!1,lineDash:"2,2"})}}function qv(e,t,n){var r=this._getRenderingOptions(e,n),o=this.configuration.allowOpenContours,a=this.drawData.canvasPoints;if(r.connectLastToFirst=!1,Nc(t,n.annotationUID,"1",a,r),o){var i=a[0],l=a[a.length-1];Bv(i,l,this.configuration.closeContourProximity)?Nc(t,n.annotationUID,"2",[l,i],r):kc(t,n.annotationUID,"0",[i],{color:r.color,handleRadius:2})}}function zv(e,t,n){var r=this.editData.fusedCanvasPoints;if(void 0!==r){var o=this._getRenderingOptions(e,n);Nc(t,n.annotationUID,"preview-1",r,o)}else this.renderClosedContour(e,t,n)}function Kv(e,t,n){var r=this.editData.fusedCanvasPoints;if(void 0!==r){var o=this._getRenderingOptions(e,n);Nc(t,n.annotationUID,"preview-1",r,o)}else this.renderOpenContour(e,t,n)}var Yv=function(e){e.renderContour=Hv.bind(e),e.renderClosedContour=Wv.bind(e),e.renderOpenContour=Fv.bind(e),e.renderOpenUShapedContour=Gv.bind(e),e.renderContourBeingDrawn=qv.bind(e),e.renderClosedContourBeingEdited=zv.bind(e),e.renderOpenContourBeingEdited=Kv.bind(e),e._getRenderingOptions=jv.bind(e)};function Jv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var $v=ou,Zv=1-Y.CONSTANTS.EPSILON,Xv=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,alwaysRenderOpenContourHandles:{enabled:!1,radius:2},allowOpenContours:!0,closeContourProximity:10,checkCanvasEditFallbackProximity:6,subPixelResolution:4,interpolation:{interpolateOnAdd:!1,interpolateOnEdit:!1,knotsRatioPercentageOnAdd:40,knotsRatioPercentageOnEdit:40},calculateStats:!1,getTextLines:Qv,statsCalculator:vd}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"commonData",void 0),ne(da(e),"isDrawing",!1),ne(da(e),"isEditingClosed",!1),ne(da(e),"isEditingOpen",!1),ne(da(e),"activateDraw",void 0),ne(da(e),"activateClosedContourEdit",void 0),ne(da(e),"activateOpenContourEdit",void 0),ne(da(e),"activateOpenContourEndEdit",void 0),ne(da(e),"cancelDrawing",void 0),ne(da(e),"cancelClosedContourEdit",void 0),ne(da(e),"cancelOpenContourEdit",void 0),ne(da(e),"renderContour",void 0),ne(da(e),"renderContourBeingDrawn",void 0),ne(da(e),"renderClosedContourBeingEdited",void 0),ne(da(e),"renderOpenContourBeingEdited",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine,s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=js(o,e.getToolName()),g=l.getFrameOfReferenceUID(),h={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:g,referencedImageId:v,toolName:e.getToolName()},data:{handles:{points:[],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},polyline:[Nr(a)],label:"",cachedStats:{}}};return et(h,o),e.activateDraw(t,h,f),t.preventDefault(),aa(c,f),h})),ne(da(e),"handleSelectedCallback",(function(t,n,r){var o=js(t.detail.element,e.getToolName());e.activateOpenContourEndEdit(t,n,o,r)})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=js(t.detail.element,e.getToolName());n.data.isOpenContour?e.activateOpenContourEdit(t,n,r):e.activateClosedContourEdit(t,n,r)})),ne(da(e),"isPointNearTool",(function(e,t,n,r){for(var o=(0,Y.getEnabledElement)(e).viewport,a=t.data.polyline,i=o.worldToCanvas(a[0]),l=1;l<a.length;l++){var c=i,s=o.worldToCanvas(a[l]);if(!0===$v(n,c,s,r))return!0;i=s}if(t.data.isOpenContour)return!1;var d=o.worldToCanvas(a[0]),u=o.worldToCanvas(a[a.length-1]);return!0===$v(n,d,u,r)})),ne(da(e),"cancel",(function(t){var n=e.isDrawing,r=e.isEditingOpen,o=e.isEditingClosed;n?e.cancelDrawing(t):r?e.cancelOpenContourEdit(t):o&&e.cancelClosedContourEdit(t)})),ne(da(e),"triggerAnnotationModified",(function(e,t){var n=t.viewportId,r=t.renderingEngineId,o=$.ANNOTATION_MODIFIED,a={annotation:e,viewportId:n,renderingEngineId:r};(0,Y.triggerEvent)(Y.eventTarget,o,a)})),ne(da(e),"triggerAnnotationCompleted",(function(e){var t=$.ANNOTATION_COMPLETED,n={annotation:e};(0,Y.triggerEvent)(Y.eventTarget,t,n)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=t.renderingEngine,c=i.element,s=e.getTargetId(i),d=Qe(e.getToolName(),c);if(null===(r=d)||void 0===r||!r.length)return a;if(null===(o=d=e.filterInteractableAnnotationsForElement(c,d))||void 0===o||!o.length)return a;var u=e.isDrawing,v=e.isEditingOpen,f=e.isEditingClosed;if(u||v||f){var g=e.commonData.annotation.annotationUID;d.forEach((function(r){if(r.annotationUID===g)if(u)e.renderContourBeingDrawn(t,n,r);else if(f)e.renderClosedContourBeingEdited(t,n,r);else{if(!v)throw new Error("Unknown ".concat(e.getToolName()," annotation rendering state"));e.renderOpenContourBeingEdited(t,n,r)}else e.renderContour(t,n,r)})),a=!0}else d.forEach((function(r){e.renderContour(t,n,r)}));return e.configuration.calculateStats?(d.forEach((function(r){var o,a,c,d=null===(o=e.commonData)||void 0===o?void 0:o.annotation.annotationUID;if(r.annotationUID!==d||null!==(a=e.commonData)&&void 0!==a&&a.movingTextBox){var u={isPreScaled:sd(i,s),isSuvScaled:e.isSuvScaled(i,s,r.metadata.referencedImageId)};if(null===(c=e.commonData)||void 0===c||!c.movingTextBox){var v=r.data;v.cachedStats[s]&&void 0!==v.cachedStats[s].areaUnit?r.invalidated&&e._throttledCalculateCachedStats(r,i,l,t,u):(v.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null},e._calculateCachedStats(r,i,l,t,u))}e._renderStats(r,i,t,n)}})),a):void 0})),ne(da(e),"_calculateCachedStats",(function(t,n,r,o,a){for(var i=t.data,l=i.cachedStats,c=i.polyline,s=Object.keys(l),d=function(){var o,i,d,v=s[u],f=e.getTargetIdImage(v,r);if(!f)return"continue";var g=f.imageData,h=f.metadata,p=c.map((function(e){return n.worldToCanvas(e)})),m=td(f),w=au(p)/m/m,E=Y.utilities.transformWorldToIndex(g,c[0]);E[0]=Math.floor(E[0]),E[1]=Math.floor(E[1]),E[2]=Math.floor(E[2]);for(var y=E[0],I=E[0],b=E[1],C=E[1],T=E[2],_=E[2],D=1;D<c.length;D++){var O=Y.utilities.transformWorldToIndex(g,c[D]);O[0]=Math.floor(O[0]),O[1]=Math.floor(O[1]),O[2]=Math.floor(O[2]),y=Math.min(y,O[0]),I=Math.max(I,O[0]),b=Math.min(b,O[1]),C=Math.max(C,O[1]),T=Math.min(T,O[2]),_=Math.max(_,O[2])}var S=.01*(I-y),x=.01*(C-b),M=.01*(_-T),k=[[y=Math.floor(y-S),I=Math.ceil(I+S)],[b=Math.floor(b-x),C=Math.ceil(C+x)],[T=Math.floor(T-M),_=Math.ceil(_+M)]],R=g.indexToWorld([I,C,_]),P=n.worldToCanvas(R),N=0,A=[],L=0,U=Zc(g,(function(e,t){var r=!0,o=n.worldToCanvas(e);return o[1]!=N&&(L=0,N=o[1],(A=function(e,t,n){for(var r=[],o=function(e,t,n){var r,o,a=[];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(o=0,r=1):(o=e.length-1,r=0);for(var i=r;i<e.length;i++)$d(t,n,e[o],e[i])&&a.push([o,i]),o=i;return a}(e,t,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]),a=0;a<o.length;a++){var i=Qd(t,n,e[o[a][0]],e[o[a][1]]);r.push(i)}return r}(p,o,[P[0],o[1]])).sort((function(e,t){return e[0]===t[0]?0:e[0]<t[0]?-1:1}))),A.length&&o[0]>A[0][0]&&(A.shift(),L++),L%2==0&&(r=!1),r}),e.configuration.statsCalculator.statsCallback,k),V=cd(h.Modality,t.metadata.referencedImageId,a),B=e.configuration.statsCalculator.getStatistics();l[v]={Modality:h.Modality,area:w,mean:null===(o=B[1])||void 0===o?void 0:o.value,max:null===(i=B[0])||void 0===i?void 0:i.value,stdDev:null===(d=B[3])||void 0===d?void 0:d.value,statsArray:B,pointsInShape:U,areaUnit:ed(0,f),modalityUnit:V}},u=0;u<s.length;u++)d();return e.triggerAnnotationModified(t,o),t.invalidated=!1,l})),ne(da(e),"_renderStats",(function(t,n,r,o){var a,i=t.data,l=e.getTargetId(n),c={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:r.viewport.id},s=e.getLinkedTextBoxStyle(c,t);if(s.visibility){var d=e.configuration.getTextLines(i,l);if(d&&0!==d.length){var u=i.polyline.map((function(e){return n.worldToCanvas(e)}));if(!i.handles.textBox.hasMoved){var v=id(u);i.handles.textBox.worldPosition=n.canvasToWorld(v)}var f=n.worldToCanvas(i.handles.textBox.worldPosition),g=Bc(o,null!==(a=t.annotationUID)&&void 0!==a?a:"","1",d,f,u,{},s),h=g.x,p=g.y,m=g.width,w=g.height;i.handles.textBox.worldBoundingBox={topLeft:n.canvasToWorld([h,p]),topRight:n.canvasToWorld([h+m,p]),bottomLeft:n.canvasToWorld([h,p+w]),bottomRight:n.canvasToWorld([h+m,p+w])}}}})),ev(da(e)),sv(da(e)),Iv(da(e)),Av(da(e)),Vv(da(e)),Yv(da(e)),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o,[{key:"filterInteractableAnnotationsForElement",value:function(e,t){if(t&&t.length){var n,r=(0,Y.getEnabledElement)(e).viewport;if(r instanceof Y.StackViewport)n=Gs(r,t);else{if(!(r instanceof Y.VolumeViewport))throw new Error("Viewport Type ".concat(r.type," not supported"));var o=r.getCamera(),a=Y.utilities.getTargetVolumeAndSpacingInNormalDir(r,o).spacingInNormalDirection;n=this.filterAnnotationsWithinSlice(t,o,a)}return n}}},{key:"filterAnnotationsWithinSlice",value:function(e,t,n){var r=t.viewPlaneNormal,o=e.filter((function(e){var t=e.metadata.viewPlaneNormal,n=Math.abs(fc.vec3.dot(r,t))>Zv;return t&&n}));if(!o.length)return[];var a,i=n/2,l=t.focalPoint,c=[],s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Jv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jv(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(s.s();!(a=s.n()).done;){var d=a.value,u=d.data.polyline[0];if(d.isVisible){var v=fc.vec3.create();fc.vec3.sub(v,l,u);var f=fc.vec3.dot(v,r);Math.abs(f)<i&&c.push(d)}}}catch(e){s.e(e)}finally{s.f()}return c}}]),o}($s);function Qv(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.stdDev,i=n.max,l=n.isEmptyArea,c=n.areaUnit,s=n.modalityUnit,d=[];if(r){var u=l?"Area: Oblique not supported":"Area: ".concat(ts(r)," ").concat(c);d.push(u)}return o&&d.push("Mean: ".concat(ts(o)," ").concat(s)),i&&d.push("Max: ".concat(ts(i)," ").concat(s)),a&&d.push("Std Dev: ".concat(ts(a)," ").concat(s)),d}ne(Xv,"toolName",void 0),Xv.toolName="PlanarFreehandROI";var ef=Xv;function tf(e,t,n){if(function(e,t,n){var r;if(null==t||null===(r=t.data)||void 0===r||!r.polyline||n<=0)return!0;if(!e.viewport)return!0;var o=e.renderingEngineId,a=e.viewportId,i=e.FrameOfReferenceUID,l=jr(a,o);if(t.metadata.FrameOfReferenceUID!==i)return!0;if(!l)return!0;var c=l.getToolInstance(t.metadata.toolName);return!(c instanceof ef)||c.isDrawing||c.isEditingOpen||c.isEditingClosed}(e,t,n))return!1;var r=e.viewport,o=t.data.polyline.map(r.worldToCanvas),a=Pu(o,0,o.length,n);return a!==o&&(t.data.polyline=a.map(r.canvasToWorld),!0)}var nf={interpolateAnnotation:tf},rf={};function of(e){var t=(0,Y.getEnabledElement)(e).viewportId;return rf[t]}var af,lf=Y.Enums.RequestType.Prefetch,cf=0,sf={maxImagesToPrefetch:1/0,preserveExistingPool:!0},df=10;function uf(e,t){e=Math.round(e)||0;var n=[],r=(t=Math.round(t)||0)-e+1;if(r<=0)return n;for(;r--;)n[r]=t--;return n}function vf(e){var t=(0,Y.getEnabledElement)(e);if(!t)throw new Error("stackPrefetch: element must be a valid Cornerstone enabled element");var n=t.viewport;if(!(n instanceof Y.StackViewport))throw new Error("stackPrefetch: element must be a StackViewport, VolumeViewport stackPrefetch not yet implemented");return{currentImageIdIndex:n.getCurrentImageIdIndex(),imageIds:n.getImageIds()}}function ff(e){var t=of(e);if(t){var n=t||{},r=vf(e);if(r&&r.imageIds&&0!==r.imageIds.length){if(n.indicesToRequest&&n.indicesToRequest.length||(n.enabled=!1),!1!==n.enabled&&(t.indicesToRequest.sort((function(e,t){return e-t})),n.indicesToRequest.slice().forEach((function(e){var t=r.imageIds[e];t&&Y.cache.getImageLoadObject(t)&&function(e){var t=n.indicesToRequest.indexOf(e);t>-1&&n.indicesToRequest.splice(t,1)}(e)})),n.indicesToRequest.length)){sf.preserveExistingPool||Y.imageLoadPoolManager.clearRequestStack(lf);for(var o,a,i,l,c,s,d=(o=n.indicesToRequest,a=r.currentImageIdIndex,i=0,l=o.length-1,o.forEach((function(e,t){e<a?i=Math.max(t,i):e>a&&(l=Math.min(t,l))})),{low:i,high:l}),u=d.low,v=d.high,f=[];u>=0||v<n.indicesToRequest.length;){var g=r.currentImageIdIndex,h=!(g-n.indicesToRequest[u]>sf.maxImagesToPrefetch)&&u>=0,p=!(n.indicesToRequest[v]-g>sf.maxImagesToPrefetch)&&v<n.indicesToRequest.length;if(!p&&!h)break;h&&(s=n.indicesToRequest[u--],c=r.imageIds[s],f.push(c)),p&&(s=n.indicesToRequest[v++],c=r.imageIds[s],f.push(c))}var m=function(e,t){return Y.imageLoader.loadAndCacheImage(e,t)},w=(0,Y.getConfiguration)().rendering.useNorm16Texture;f.forEach((function(e){var t={targetBuffer:{type:w?void 0:"Float32Array"},preScale:{enabled:!0},requestType:lf};Y.imageLoadPoolManager.addRequest(m.bind(null,e,t),lf,{imageId:e},cf)}))}}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.")}}function gf(e){return function(t){var n,r=t.detail;try{n=vf(e)}catch(e){return}if(n&&n.imageIds&&0!==n.imageIds.length){var o=n.imageIds.indexOf(r.imageId);if(!(o<0)){var a=of(e);a&&a.indicesToRequest&&a.indicesToRequest.length&&a.indicesToRequest.push(o)}}}}function hf(e){clearTimeout(af),af=setTimeout((function(){var t=e.target;try{ff(t)}catch(e){return}}),df)}function pf(e){var t=vf(e);if(t&&t.imageIds&&0!==t.imageIds.length){var n={indicesToRequest:uf(0,t.imageIds.length-1),enabled:!0,direction:1},r=n.indicesToRequest.indexOf(t.currentImageIdIndex);n.indicesToRequest.splice(r,1),function(e,t){var n=(0,Y.getEnabledElement)(e).viewportId;rf[n]=t}(e,n),ff(e),e.removeEventListener(Y.Enums.Events.STACK_NEW_IMAGE,hf),e.addEventListener(Y.Enums.Events.STACK_NEW_IMAGE,hf);var o=gf(e);Y.eventTarget.removeEventListener(Y.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,o),Y.eventTarget.addEventListener(Y.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,o)}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.")}function mf(e){clearTimeout(af),e.removeEventListener(Y.Enums.Events.STACK_NEW_IMAGE,hf);var t=gf(e);Y.eventTarget.removeEventListener(Y.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,t);var n=of(e);n&&n.indicesToRequest.length&&(n.enabled=!1,Y.imageLoadPoolManager.clearRequestStack(lf))}function wf(){return sf}function Ef(e){sf=e}function yf(e,t){if(e instanceof Y.VolumeViewport){var n=e.getCamera().focalPoint,r=[0,0,0];return fc.vec3.sub(r,t,n),function(e,t){var n=e.getCamera(),r=n.viewPlaneNormal,o=fc.vec3.dot(t,r),a=fc.vec3.fromValues(r[0],r[1],r[2]);if(fc.vec3.scale(a,a,o),Math.abs(a[0])>.001||Math.abs(a[1])>.001||Math.abs(a[2])>.001){var i=[0,0,0],l=[0,0,0];fc.vec3.add(i,n.focalPoint,a),fc.vec3.add(l,n.position,a),e.setCamera({focalPoint:i,position:l}),e.render()}}(e,r),!0}}var If=function(e,t){var n=t.frameNumbers||Nr(Array(e.numTimePoints).keys());if(!t.maskVolumeId&&!t.imageCoordinate)throw new Error("No ROI provided");if(t.maskVolumeId&&t.imageCoordinate)throw new Error("Please provide only one ROI");if(t.maskVolumeId){for(var r=Y.cache.getVolume(t.maskVolumeId).getScalarData(),o=[],a=0,i=r.length;a<i;a++)0!==r[a]&&o.push(a);var l=function(e,t,n){for(var r=n.getScalarDataArrays(),o=[],a=function(n){var a=[];e.forEach((function(e){var o=r[e];a.push(o[t[n]])})),o.push(a)},i=0;i<t.length;i++)a(i);return o}(n,o,e);return l}if(t.imageCoordinate){var c=function(e,t,n){var r=n.dimensions,o=n.imageData.worldToIndex(t);if(o[0]=Math.floor(o[0]),o[1]=Math.floor(o[1]),o[2]=Math.floor(o[2]),!Y.utilities.indexWithinDimensions(o,r))throw new Error("outside bounds");var a=r[0],i=r[0]*r[1],l=n.getScalarDataArrays(),c=[];return e.forEach((function(e){var t=l[e],n=o[2]*i+o[1]*a+o[0];c.push(t[n])})),c}(n,t.imageCoordinate,e);return c}},bf=function(e,t,n){var r=n||Nr(Array(e.numTimePoints).keys()),o=r.length;if(r.length<=1)throw new Error("Please provide two or more time points");var a=e.getScalarDataArrays(),i=a[0].length,l=new Float32Array(i);if(t===Y.Enums.DynamicOperatorType.SUM){for(var c=0;c<o;c++)for(var s=a[r[c]],d=0;d<i;d++)l[d]+=s[d];return l}if(t===Y.Enums.DynamicOperatorType.SUBTRACT){if(r.length>2)throw new Error("Please provide only 2 time points for subtraction.");for(var u=0;u<i;u++)l[u]+=a[r[0]][u]-a[r[1]][u];return l}if(t===Y.Enums.DynamicOperatorType.AVERAGE){for(var v=0;v<o;v++)for(var f=a[r[v]],g=0;g<i;g++)l[g]+=f[g];for(var h=0;h<i;h++)l[h]=l[h]/o;return l}},Cf=function(e,t){var n=Hl.getDefinedCursor(t,!0);n||(n=ml.getDefinedCursor(t)),n||(console.log("Cursor ".concat(t," is not defined either as SVG or as a standard cursor.")),n=ml.getDefinedCursor(t)),Yl(e,n)},Tf=[].concat(Nr(Nl),Nr(El)),_f=function(e,t,n){var r=Vl("textBoxFontSize",e,t,n),o=Vl("textBoxFontFamily",e,t,n);return"".concat(r,"px ").concat(o)},Df=function(e){if(!e||!e.length)throw new Error("The segmentationInputArray is undefined or empty array");e.forEach((function(e){if(void 0===e.segmentationId)throw new Error("The segmentationInput.segmentationId is undefined, please provide a valid segmentationId");if(void 0===e.representation)throw new Error("The segmentationInput.representation is undefined, please provide a valid representation");e.representation.type===ut.Labelmap&&function(e){if(!e.representation.data)throw new Error("The segmentationInput.representationData.data is undefined, please provide a valid representationData.data");var t=e.representation.data;if(!t.volumeId)throw new Error("The segmentationInput.representationData.volumeId is undefined, please provide a valid representationData.volumeId");if(!Y.cache.getVolume(t.volumeId))throw new Error("volumeId of ".concat(t.volumeId," not found in cache, you should load and cache volume before adding segmentation"))}(e)}))},Of=function(e){Df(e),e.map((function(e){Rt(oe()(e))}))};function Sf(){return(Sf=Na(La().mark((function e(t,n,r){var o,a;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(sa(t)){e.next=3;break}throw new Error("No tool group found for toolGroupId: ".concat(t));case 3:return o=n.map((function(e){return xf(t,e,r)})),e.next=6,Promise.all(o);case 6:return a=e.sent,e.abrupt("return",a);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function xf(e,t,n){return Mf.apply(this,arguments)}function Mf(){return(Mf=Na(La().mark((function e(t,n,r){var o;return La().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.type!==ut.Labelmap){e.next=6;break}return e.next=3,Pi.addSegmentationRepresentation(t,n,r);case 3:case 9:o=e.sent,e.next=13;break;case 6:if(n.type!==ut.Contour){e.next=12;break}return e.next=9,vi.addSegmentationRepresentation(t,n,r);case 12:throw new Error("The representation type ".concat(n.type," is not supported"));case 13:return e.abrupt("return",o);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var kf=function(e,t,n){return Sf.apply(this,arguments)};var Rf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return te(this,o),r.call(this,e,t)}return ee(o,[{key:"touchDragCallback",value:function(e){this._dragCallback(e)}},{key:"mouseDragCallback",value:function(e){this._dragCallback(e)}},{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.deltaPoints,o=(0,Y.getEnabledElement)(n),a=r.world,i=o.viewport.getCamera(),l=i.focalPoint,c=i.position,s=[c[0]-a[0],c[1]-a[1],c[2]-a[2]],d=[l[0]-a[0],l[1]-a[1],l[2]-a[2]];o.viewport.setCamera({focalPoint:d,position:s}),o.viewport.render()}}]),o}(Ra);ne(Rf,"toolName",void 0),Rf.toolName="Pan";var Pf=Rf;var Nf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{rotateIncrementDegrees:2}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"rotateCamera",(function(e,t,n,r){var o=e.getVtkActiveCamera(),a=o.getViewUp(),i=o.getFocalPoint(),l=o.getPosition(),c=[0,0,0],s=[0,0,0],d=[0,0,0],u=fc.mat4.identity(new Float32Array(16));fc.mat4.translate(u,u,t),fc.mat4.rotate(u,u,r,n),fc.mat4.translate(u,u,[-t[0],-t[1],-t[2]]),fc.vec3.transformMat4(c,l,u),fc.vec3.transformMat4(s,i,u),fc.mat4.identity(u),fc.mat4.rotate(u,u,r,n),fc.vec3.transformMat4(d,a,u),e.setCamera({position:c,viewUp:d,focalPoint:s})})),e.touchDragCallback=e._dragCallback.bind(da(e)),e.mouseDragCallback=e._dragCallback.bind(da(e)),e}return ee(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=t.lastPoints,a=r.canvas,i=o.canvas,l=this.configuration.rotateIncrementDegrees,c=(0,Y.getEnabledElement)(n).viewport,s=c.getCamera(),d=n.clientWidth,u=n.clientHeight,v=[a[0]/d,a[1]/u],f=[i[0]/d,i[1]/u],g=[.5*d,.5*u],h=c.canvasToWorld(g),p=Math.pow(1+Math.abs(.5),2),m=[f[0],0,0],w=[v[0],0,0],E=Math.pow(m[0],2),y=Math.pow(w[0],2),I=E>p?0:Math.sqrt(p-E),b=y>p?0:Math.sqrt(p-y),C=[m[0],0,I];cu().normalize(C);var T=[w[0],0,b];cu().normalize(T);var _=cu().dot(C,T);if(Math.abs(_)>1e-4){var D=-2*Math.acos(cu().clampValue(_,-1,1))*Math.sign(v[0]-f[0])*l,O=s.viewUp,S=s.viewPlaneNormal,x=[0,0,0],M=[0,0,0];cu().cross(O,S,x),cu().normalize(x),cu().cross(S,x,M),cu().normalize(M),cu().normalize(O),this.rotateCamera(c,h,M,D);var k=(f[1]-v[1])*l;this.rotateCamera(c,h,x,k),c.render()}}}]),o}(Ra);ne(Nf,"toolName",void 0),Nf.toolName="TrackballRotate";var Af=Nf;var Lf=Y.utilities.transformWorldToIndex,Uf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:Vf}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"editData",void 0),ne(da(e),"eventDispatchDetail",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={invalidated:!0,highlighted:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{points:[Nr(a)]},cachedStats:{}}};et(g,o);var h=js(o,e.getToolName());return e.editData={annotation:g,newAnnotation:!0,viewportIdsToRender:h},e._activateModify(o),$l(o),t.preventDefault(),aa(c,h),g})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=(0,Y.getEnabledElement)(n),c=l.renderingEngine,s=l.viewportId;if(e.eventDispatchDetail={viewportId:s,renderingEngineId:c.id},e._deactivateModify(n),Jl(n),e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(c,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=e.editData,l=i.annotation,c=i.viewportIdsToRender;l.data.handles.points[0]=Nr(a),l.invalidated=!0;var s=(0,Y.getEnabledElement)(o).renderingEngine;aa(s,c)})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles.points[0],g=i.worldToCanvas(v);u.annotationUID=o;var h=e.getStyle("color",u,r),p={isPreScaled:sd(i,s),isSuvScaled:e.isSuvScaled(i,s,r.metadata.referencedImageId)};if(l.cachedStats[s]){if(r.invalidated&&(e._calculateCachedStats(r,d,t,p),i instanceof Y.VolumeViewport)){var m=r.metadata.referencedImageId;for(var w in l.cachedStats)w.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=Y.utilities.imageIdToURI(m),n=e.hasImageURI(t),r=Y.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[w]}}else l.cachedStats[s]={Modality:null,index:null,value:null},e._calculateCachedStats(r,d,t,p);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};kc(n,o,"0",[g],{color:h}),a=!0;var E=e.getLinkedTextBoxStyle(u,r);if(!E.visibility)return"continue";var y=e.configuration.getTextLines(l,s);if(y){var I=[g[0]+6,g[1]-6];Uc(n,o,"0",y,[I[0],I[1]],E)}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),e}return ee(o,[{key:"isPointNearTool",value:function(){return!1}},{key:"toolSelectedCallback",value:function(){}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=t.data.handles.points[0],i=o.worldToCanvas(a);if(!0==fc.vec2.distance(n,i)<r)return a}},{key:"handleSelectedCallback",value:function(e,t){var n=e.detail.element;t.highlighted=!0;var r=js(n,this.getToolName());this.editData={annotation:t,viewportIdsToRender:r},this._activateModify(n),$l(n);var o=(0,Y.getEnabledElement)(n).renderingEngine;aa(o,r),e.preventDefault()}},{key:"_calculateCachedStats",value:function(e,t,n,r){for(var o=e.data,a=n.viewportId,i=n.renderingEngineId,l=o.handles.points[0],c=o.cachedStats,s=Object.keys(c),d=0;d<s.length;d++){var u=s[d],v=this.getTargetIdImage(u,t);if(v){var f=v.dimensions,g=v.imageData,h=v.metadata,p="getScalarData"in v?v.getScalarData():v.scalarData,m=h.Modality,w=Lf(g,l);if(w[0]=Math.round(w[0]),w[1]=Math.round(w[1]),w[2]=Math.round(w[2]),Y.utilities.indexWithinDimensions(w,f)){this.isHandleOutsideImage=!1;var E=f[0],y=f[0]*f[1],I=p[w[2]*y+w[1]*E+w[0]];if(u.startsWith("imageId:")){var b=u.split("imageId:")[1],C=Y.utilities.imageIdToURI(b),T=Y.utilities.getViewportsWithImageURI(C,i)[0];w[2]=T.getCurrentImageIdIndex()}var _=cd(m,e.metadata.referencedImageId,r);c[u]={index:w,value:I,Modality:m,modalityUnit:_}}else this.isHandleOutsideImage=!0,c[u]={index:w,Modality:m};e.invalidated=!1;var D=$.ANNOTATION_MODIFIED,O={annotation:e,viewportId:a,renderingEngineId:i};(0,Y.triggerEvent)(Y.eventTarget,D,O)}}return c}}]),o}($s);function Vf(e,t){var n=e.cachedStats[t],r=n.index,o=n.value,a=n.modalityUnit;if(void 0!==o){var i=[];return i.push("(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")")),i.push("".concat(o.toFixed(2)," ").concat(a)),i}}ne(Uf,"toolName",void 0),Uf.toolName="Probe";var Bf=Uf;var jf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:Hf}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"editData",void 0),ne(da(e),"eventDispatchDetail",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"postMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f={invalidated:!0,highlighted:!0,isVisible:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:l.getFrameOfReferenceUID(),referencedImageId:v},data:{label:"",handles:{points:[Nr(a)]},cachedStats:{}}},g=js(o,e.getToolName());return e.editData={annotation:f,newAnnotation:!0,viewportIdsToRender:g},e._activateModify(o),$l(o),t.preventDefault(),aa(c,g),f})),ne(da(e),"postTouchStartCallback",(function(t){return e.postMouseDownCallback(t)})),ne(da(e),"renderAnnotation",(function(t,n){var r=!1,o=t.viewport;if(!e.editData)return r;var a=e.filterInteractableAnnotationsForElement(o.element,[e.editData.annotation]);if(null==a||!a.length)return r;var i=e.getTargetId(o),l=o.getRenderingEngine(),c={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},s=e.editData.annotation,d=s.annotationUID,u=s.data,v=u.handles.points[0],f=o.worldToCanvas(v);c.annotationUID=d;var g=e.getStyle("color",c,s),h={isPreScaled:sd(o,i),isSuvScaled:e.isSuvScaled(o,i,s.metadata.referencedImageId)};if(u.cachedStats[i]?s.invalidated&&e._calculateCachedStats(s,l,t,h):(u.cachedStats[i]={Modality:null,index:null,value:null},e._calculateCachedStats(s,l,t,h)),!o.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),r;kc(n,d,"0",[f],{color:g}),r=!0;var p=e.configuration.getTextLines(u,i);if(p){var m=[f[0]+6,f[1]-6];Uc(n,d,"0",p,[m[0],m[1]],e.getLinkedTextBoxStyle(c,s))}return r})),e}return ee(o)}(Bf);function Hf(e,t){var n=e.cachedStats[t],r=n.index,o=n.value,a=n.modalityUnit;if(void 0!==o){var i=[];return i.push("(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")")),i.push("".concat(o.toFixed(2)," ").concat(a)),i}}ne(jf,"toolName",void 0),jf.toolName="DragProbe";var Wf=jf;var Ff=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return te(this,o),ne(da(e=r.call(this,t,n)),"_getImageDynamicRangeFromMiddleSlice",(function(t,n){var r,o,a=Math.floor(n[2]/2),i=n[0]*n[1];t instanceof Float32Array?(r=4,o=Float32Array):t instanceof Uint8Array?(r=1,o=Uint8Array):t instanceof Uint16Array?(r=2,o=Uint16Array):t instanceof Int16Array&&(r=2,o=Int16Array);var l=new o(t.buffer,a*i*r,i),c=e._getMinMax(l,i);return c.max-c.min})),e}return ee(o,[{key:"touchDragCallback",value:function(e){this.mouseDragCallback(e)}},{key:"mouseDragCallback",value:function(e){var t,n,r,o,a,i,l=e.detail,c=l.element,s=l.deltaPoints,d=(0,Y.getEnabledElement)(c),u=d.renderingEngine,v=d.viewport,f=!1;if(v instanceof Y.VolumeViewport){t=this.getTargetId(v).split("volumeId:")[1],i=Y.utilities.getViewportsWithVolumeId(t,u.id);var g=v.getProperties().voiRange;n=g.lower,r=g.upper;var h=Y.cache.getVolume(t);o=h.metadata.Modality,f=h.scaling&&Object.keys(h.scaling).length>0}else{if(!(v instanceof Y.StackViewport))throw new Error("Viewport is not a valid type");var p,m=v.getProperties();o=v.modality;var w=m.voiRange;n=w.lower,r=w.upper;var E=v.getImageData().preScale;f=E.scaled&&void 0!==(null===(p=E.scalingParameters)||void 0===p?void 0:p.suvbw)}return a="PT"===o?this.getPTScaledNewRange({deltaPointsCanvas:s.canvas,lower:n,upper:r,clientHeight:c.clientHeight,isPreScaled:f,viewport:v,volumeId:t}):this.getNewRange({viewport:v,deltaPointsCanvas:s.canvas,volumeId:t,lower:n,upper:r}),v instanceof Y.StackViewport?(v.setProperties({voiRange:a}),void v.render()):v instanceof Y.VolumeViewport?(v.setProperties({voiRange:a}),void i.forEach((function(e){e.render()}))):void 0}},{key:"getPTScaledNewRange",value:function(e){var t,n=e.deltaPointsCanvas,r=e.lower,o=e.upper,a=e.clientHeight,i=e.viewport,l=e.volumeId,c=e.isPreScaled;return t=c?5/a:this._getMultiplierFromDynamicRange(i,l)||4,o-=n[1]*t,{lower:r,upper:o=c?Math.max(o,.1):o}}},{key:"getNewRange",value:function(e){var t=e.viewport,n=e.deltaPointsCanvas,r=e.volumeId,o=e.lower,a=e.upper,i=this._getMultiplierFromDynamicRange(t,r)||4,l=n[0]*i,c=n[1]*i,s=Y.utilities.windowLevel.toWindowLevel(o,a),d=s.windowWidth,u=s.windowCenter;return d+=l,u+=c,d=Math.max(d,1),Y.utilities.windowLevel.toLowHighRange(d,u)}},{key:"_getMultiplierFromDynamicRange",value:function(e,t){var n;if(t){var r,o=Y.cache.getVolume(t),a=o.dimensions,i=o.getScalarData(),l=this._getImageDynamicRangeFromMiddleSlice(i,a),c=null==o||null===(r=o.metadata)||void 0===r?void 0:r.BitsStored,s=c?Math.pow(2,c):1/0;n=Math.min(l,s)}else n=this._getImageDynamicRangeFromViewport(e);var d=n/1024,u=4;return d>1&&(u=Math.round(d)),u}},{key:"_getImageDynamicRangeFromViewport",value:function(e){var t,n,r=e.getImageData().imageData,o=r.getDimensions();if(t=r.getScalarData?r.getScalarData():r.getPointData().getScalars(),1!==o[2])return this._getImageDynamicRangeFromMiddleSlice(t,o);if(t.getRange)n=t.getRange();else{var a=this._getMinMax(t,t.length);n=[a.min,a.max]}return n[1]-n[0]}},{key:"_getMinMax",value:function(e,t){for(var n=1/0,r=-1/0,o=0;o<t;o++){var a=e[o];a<n&&(n=a),a>r&&(r=a)}return{max:r,min:n}}}]),o}(Ra);ne(Ff,"toolName",void 0),Ff.toolName="WindowLevel";var Gf=Ff;var qf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{zoomToCenter:!1,minZoomScale:.1,maxZoomScale:30,pinchToZoom:!0,pan:!0,invert:!1}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"initialMousePosWorld",void 0),ne(da(e),"dirVec",void 0),ne(da(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.element,o=n.currentPoints.world,a=(0,Y.getEnabledElement)(r).viewport.getCamera().focalPoint;e.initialMousePosWorld=o;var i=fc.vec3.fromValues(a[0]-o[0],a[1]-o[1],a[2]-o[2]);return i=fc.vec3.normalize(fc.vec3.create(),i),e.dirVec=i,!1})),ne(da(e),"preTouchStartCallback",(function(t){if(!e.configuration.pinchToZoom)return e.preMouseDownCallback(t)})),ne(da(e),"_dragParallelProjection",(function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=t.detail,i=a.element,l=a.deltaPoints,c=o?t.detail.deltaDistance.canvas:l.canvas[1],s=[i.clientWidth,i.clientHeight],d=r.parallelScale,u=r.focalPoint,v=r.position,f=(1-c*(1.5/s[1])*(e.configuration.invert?-1:1))*d,g=u,h=v;if(!e.configuration.zoomToCenter){var p=fc.vec3.distance(u,e.initialMousePosWorld),m=c*(5/s[1])*(e.configuration.invert?-1:1);f=(1-m)*d,h=fc.vec3.scaleAndAdd(fc.vec3.create(),v,e.dirVec,-p*m),g=fc.vec3.scaleAndAdd(fc.vec3.create(),u,e.dirVec,-p*m)}var w=n.getImageData(),E=[1,1,1];w&&(E=w.spacing);var y=e.configuration,I=y.minZoomScale,b=y.maxZoomScale,C=i.clientHeight*E[1]*.5,T=C/f,_=f,D=!1;w&&(T<I?(_=C/I,D=!0):T>=b&&(_=C/b,D=!0)),n.setCamera({parallelScale:_,focalPoint:D?u:g,position:D?v:h})})),ne(da(e),"_dragPerspectiveProjection",(function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=t.detail,i=a.element,l=a.deltaPoints,c=o?t.detail.deltaDistance.canvas:l.canvas[1],s=[i.clientWidth,i.clientHeight],d=r.position,u=r.focalPoint,v=r.viewPlaneNormal,f=cu().distance2BetweenPoints(d,u),g=Math.sqrt(f)/s[1],h=[-v[0],-v[1],-v[2]],p=e.configuration.invert?c/g:c*g,m=p*h[0];d[0]+=m,u[0]+=m,m=p*h[1],d[1]+=m,u[1]+=m,m=p*h[2],d[2]+=m,u[2]+=m,n.setCamera({position:d,focalPoint:u})})),e.initialMousePosWorld=[0,0,0],e.dirVec=[0,0,0],e.configuration.pinchToZoom?e.touchDragCallback=e._pinchCallback.bind(da(e)):e.touchDragCallback=e._dragCallback.bind(da(e)),e.mouseDragCallback=e._dragCallback.bind(da(e)),e}return ee(o,[{key:"_pinchCallback",value:function(e){if(e.detail.currentPointsList.length>1){var t=e.detail,n=t.element,r=t.currentPoints,o=(0,Y.getEnabledElement)(n).viewport,a=o.getCamera(),i=r.world,l=a.focalPoint;this.initialMousePosWorld=i;var c=fc.vec3.fromValues(l[0]-i[0],l[1]-i[1],l[2]-i[2]);c=fc.vec3.normalize(fc.vec3.create(),c),this.dirVec=c,a.parallelProjection?this._dragParallelProjection(e,o,a,!0):this._dragPerspectiveProjection(e,o,a,!0),o.render()}this.configuration.pan&&this._panCallback(e)}},{key:"_dragCallback",value:function(e){var t=e.detail.element,n=(0,Y.getEnabledElement)(t).viewport,r=n.getCamera();r.parallelProjection?this._dragParallelProjection(e,n,r):this._dragPerspectiveProjection(e,n,r),n.render()}},{key:"_panCallback",value:function(e){var t=e.detail,n=t.element,r=t.deltaPoints,o=(0,Y.getEnabledElement)(n),a=r.world,i=o.viewport.getCamera(),l=i.focalPoint,c=i.position,s=[c[0]-a[0],c[1]-a[1],c[2]-a[2]],d=[l[0]-a[0],l[1]-a[1],l[2]-a[2]];o.viewport.setCamera({focalPoint:d,position:s}),o.viewport.render()}}]),o}(Ra);ne(qf,"toolName",void 0),qf.toolName="Zoom";var zf=qf;var Kf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1,debounceIfNotLoaded:!0,loop:!1}};return te(this,o),ne(da(e=r.call(this,t,n)),"deltaY",void 0),e.deltaY=1,e}return ee(o,[{key:"mouseDragCallback",value:function(e){this._dragCallback(e)}},{key:"touchDragCallback",value:function(e){this._dragCallback(e)}},{key:"_dragCallback",value:function(e){var t,n=e.detail,r=n.deltaPoints,o=n.viewportId,a=n.renderingEngineId,i=(0,Y.getEnabledElementByIds)(o,a).viewport,l=this.getTargetId(i),c=this.configuration,s=c.debounceIfNotLoaded,d=c.invert,u=c.loop,v=r.canvas[1];i instanceof Y.VolumeViewport&&(t=l.split("volumeId:")[1]);var f=this._getPixelPerImage(i),g=v+this.deltaY;if(f)if(Math.abs(g)>=f){var h=Math.round(g/f);hc(i,{delta:d?-h:h,volumeId:t,debounceLoading:s,loop:u}),this.deltaY=g%f}else this.deltaY=g}},{key:"_getPixelPerImage",value:function(e){var t=e.element,n=this._getNumberOfSlices(e);return Math.max(2,t.offsetHeight/Math.max(n,8))}},{key:"_getNumberOfSlices",value:function(e){return e instanceof Y.VolumeViewport?Y.utilities.getImageSliceDataForVolumeViewport(e).numberOfSlices:e instanceof Y.StackViewport?e.getImageIds().length:void 0}}]),o}(Ra);ne(Kf,"toolName",void 0),Kf.toolName="StackScroll";var Yf=Kf;function Jf(e,t){var n=lt(e,2),r=n[0],o=n[1],a=lt(t,2),i=a[0],l=a[1],c=fc.vec3.sub(fc.vec3.create(),o,r),s=fc.vec3.sub(fc.vec3.create(),i,l),d=fc.vec3.dot(c,s)/(fc.vec3.length(c)*fc.vec3.length(s));return 180*Math.acos(d)/Math.PI}var $f=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),e.touchDragCallback=e._dragCallback.bind(da(e)),e.mouseDragCallback=e._dragCallback.bind(da(e)),e}return ee(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=t.startPoints,a=r.world,i=o.world,l=(0,Y.getEnabledElement)(n).viewport,c=l.getCamera(),s=[.5*n.clientWidth,.5*n.clientHeight],d=l.canvasToWorld(s),u=Jf([i,d],[d,a]),v=c.viewPlaneNormal,f=c.viewUp,g=fc.vec3.sub(fc.vec3.create(),d,i),h=fc.vec3.sub(fc.vec3.create(),d,a),p=fc.vec3.cross(fc.vec3.create(),g,h);if(fc.vec3.dot(v,p)>0&&(u=-u),!Number.isNaN(u)){if(l instanceof Y.BaseVolumeViewport){var m=u*Math.PI/180,w=fc.mat4.identity(new Float32Array(16));fc.mat4.rotate(w,w,m,v);var E=fc.vec3.transformMat4(fc.vec3.create(),f,w);l.setCamera({viewUp:E})}else{var y=l.getProperties().rotation;l.setProperties({rotation:y+u})}l.render()}}}]),o}(Ra);ne($f,"toolName",void 0),$f.toolName="PlanarRotate";var Zf=$f;var Xf=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1,debounceIfNotLoaded:!0,loop:!1}};return te(this,o),ne(da(e=r.call(this,t,n)),"_configuration",void 0),e}return ee(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.wheel,r=t.element,o=n.direction,a=this.configuration.invert,i=(0,Y.getEnabledElement)(r).viewport,l=o*(a?-1:1),c=this.getTargetId(i).split("volumeId:")[1];hc(i,{delta:l,debounceLoading:this.configuration.debounceIfNotLoaded,loop:this.configuration.loop,volumeId:c})}}]),o}(Ra);ne(Xf,"toolName",void 0),Xf.toolName="StackScrollMouseWheel";var Qf=Xf;var eg={X:[1,0,0],Y:[0,1,0],Z:[0,0,1],CUSTOM:[]},tg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{direction:eg.Z,rotateIncrementDegrees:.5}};return te(this,o),ne(da(e=r.call(this,t,n)),"_configuration",void 0),e}return ee(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.element,r=t.wheel,o=(0,Y.getEnabledElement)(n).viewport,a=this.configuration,i=a.direction,l=a.rotateIncrementDegrees,c=o.getCamera(),s=c.viewUp,d=c.position,u=c.focalPoint,v=r.direction,f=lt(u,3),g=f[0],h=f[1],p=f[2],m=lt(i,3),w=m[0],E=m[1],y=m[2],I=v*l,b=[0,0,0],C=[0,0,0],T=[0,0,0],_=fc.mat4.identity(new Float32Array(16));fc.mat4.translate(_,_,[g,h,p]),fc.mat4.rotate(_,_,I,[w,E,y]),fc.mat4.translate(_,_,[-g,-h,-p]),fc.vec3.transformMat4(b,d,_),fc.vec3.transformMat4(C,u,_),fc.mat4.identity(_),fc.mat4.rotate(_,_,I,[w,E,y]),fc.vec3.transformMat4(T,s,_),o.setCamera({position:b,viewUp:T,focalPoint:C}),o.render()}}]),o}(Ra);ne(tg,"toolName",void 0),tg.toolName="VolumeRotateMouseWheel";var ng=tg;var rg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{targetViewportIds:[]}};return te(this,o),ne(da(e=r.call(this,t,n)),"_bounds",void 0),e}return ee(o,[{key:"mouseClickCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=(0,Y.getEnabledElement)(n),a=o.viewport,i=o.renderingEngine,l=this.getTargetId(a);if(!l.startsWith("volumeId"))throw new Error("MIPJumpToClickTool: targetId is not a volumeId, you should only use MIPJumpToClickTool with a volumeId as the targetId");var c=l.split("volumeId:")[1],s=-1/0,d=su(a,r.world,c,(function(e,t){if(e>s)return s=e,t}));if(d&&d.length){var u=this.configuration,v=u.targetViewportIds,f=u.toolGroupId;i.getViewports().filter((function(e){if((null==v?void 0:v.indexOf(e.id))>=0)return!0;var t=jr(e.id,i.id);return!(!f||f!==(null==t?void 0:t.id))})).forEach((function(e){e instanceof Y.VolumeViewport?yf(e,d):console.warn("Cannot jump to specified world coordinates for a viewport that is not a VolumeViewport")}))}}}]),o}(Ra);ne(rg,"toolName",void 0),rg.toolName="MIPJumpToClickTool";var og=rg;var ag=Y.utilities.transformWorldToIndex,ig=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{preventHandleOutsideImage:!1,getTextLines:lg}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;$l(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{handles:{points:[Nr(a),Nr(a)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};et(g,o);var h=js(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),aa(c,h),g})),ne(da(e),"isPointNearTool",(function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=lt(t.data.handles.points,2),i=a[0],l=a[1],c=o.worldToCanvas(i),s=o.worldToCanvas(l),d={start:{x:c[0],y:c[1]},end:{x:s[0],y:s[1]}};return od([d.start.x,d.start.y],[d.end.x,d.end.y],[n[0],n[1]])<=r})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),$l(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}e.editData=null,e.isDrawing=!1}})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Nr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,Y.getEnabledElement)(r).renderingEngine;aa(h,i)})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_MOVE,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_MOVE,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f=c[v],g=f.annotationUID,h=f.data,p=h.handles,m=p.points,w=p.activeHandleIndex;u.annotationUID=g;var E=e.getStyle("lineWidth",u,f),y=e.getStyle("lineDash",u,f),I=e.getStyle("color",u,f),b=e.getStyle("shadow",u,f),C=m.map((function(e){return i.worldToCanvas(e)})),T=void 0;if(h.cachedStats[s]&&void 0!==h.cachedStats[s].unit?f.invalidated&&e._throttledCalculateCachedStats(f,d,t):(h.cachedStats[s]={length:null,unit:null},e._calculateCachedStats(f,d,t)),Me(g)){se(f)||e.editData||null===w||(T=[C[w]]),T&&kc(n,g,"0",C,{color:I,lineDash:y,lineWidth:E});var _="".concat(g,"-line");if(Rc(n,g,"1",C[0],C[1],{color:I,width:E,lineDash:y,shadow:b},_),a=!0,!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;var D=e.getLinkedTextBoxStyle(u,f);if(D.visibility){var O=e.configuration.getTextLines(h,s);if(!h.handles.textBox.hasMoved){var S=id(C);h.handles.textBox.worldPosition=i.canvasToWorld(S)}var x=i.worldToCanvas(h.handles.textBox.worldPosition),M=Bc(n,g,"1",O,x,C,{},D),k=M.x,R=M.y,P=M.width,N=M.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([k,R]),topRight:i.canvasToWorld([k+P,R]),bottomLeft:i.canvasToWorld([k,R+N]),bottomRight:i.canvasToWorld([k+P,R+N])}}else h.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=js(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),$l(r);var c=(0,Y.getEnabledElement)(r).renderingEngine;aa(c,l),e.preventDefault()}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportId,a=n.renderingEngineId,i=r.handles.points[0],l=r.handles.points[1],c=r.cachedStats,s=Object.keys(c),d=0;d<s.length;d++){var u=s[d],v=this.getTargetIdImage(u,t);if(v){var f=v.imageData,g=v.dimensions,h=td(v),p=this._calculateLength(i,l)/h,m=ag(f,i),w=ag(f,l);this._isInsideVolume(m,w,g)?this.isHandleOutsideImage=!1:this.isHandleOutsideImage=!0,c[u]={length:p,unit:Qs(0,v)}}}e.invalidated=!1;var E=$.ANNOTATION_MODIFIED,y={annotation:e,viewportId:o,renderingEngineId:a};return(0,Y.triggerEvent)(Y.eventTarget,E,y),c}},{key:"_isInsideVolume",value:function(e,t,n){return Y.utilities.indexWithinDimensions(e,n)&&Y.utilities.indexWithinDimensions(t,n)}}]),o}($s);function lg(e,t){var n=e.cachedStats[t],r=n.length,o=n.unit;if(null!=r&&!isNaN(r))return["".concat(ts(r)," ").concat(o)]}ne(ig,"toolName",void 0),ig.toolName="Length";var cg=ig,sg=h(847),dg=h.n(sg);var ug=Y.CONSTANTS.RENDERING_DEFAULTS;function vg(){return"rgb(0, 200, 0)"}function fg(){return!0}function gg(){return!0}function hg(){return!0}var pg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t,n,a,i,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse"],configuration:{shadow:!0,viewportIndicators:!0,autoPan:{enabled:!1,panSize:10},referenceLinesCenterGapRadius:20,filterActorUIDsToSetSlabThickness:[],slabThicknessBlendMode:Y.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND,mobile:{enabled:!1,opacity:.8,handleRadius:9}}};return te(this,o),ne(da(i=r.call(this,l,c)),"toolCenter",[0,0,0]),ne(da(i),"_getReferenceLineColor",void 0),ne(da(i),"_getReferenceLineControllable",void 0),ne(da(i),"_getReferenceLineDraggableRotatable",void 0),ne(da(i),"_getReferenceLineSlabThicknessControlsOn",void 0),ne(da(i),"editData",void 0),ne(da(i),"initializeViewport",(function(e){var t=e.renderingEngineId,n=e.viewportId,r=(0,Y.getEnabledElementByIds)(n,t),o=r.FrameOfReferenceUID,a=r.viewport,l=a.element,c=a.getCamera(),s=c.position,d=c.focalPoint,u=c.viewPlaneNormal,v=i._getAnnotations(r);return(v=i.filterInteractableAnnotationsForElement(l,v)).length&&nt(v[0].annotationUID),et({highlighted:!1,metadata:{cameraPosition:Nr(s),cameraFocalPoint:Nr(d),FrameOfReferenceUID:o,toolName:i.getToolName()},data:{handles:{rotationPoints:[],slabThicknessPoints:[],toolCenter:i.toolCenter},activeOperation:null,activeViewportIds:[],viewportId:n}},l),{normal:u,point:a.canvasToWorld([a.canvas.clientWidth/2,a.canvas.clientHeight/2])}})),ne(da(i),"_getViewportsInfo",(function(){return sa(i.toolGroupId).viewportsInfo})),ne(da(i),"computeToolCenter",(function(e){if(!e.length||1===e.length)throw new Error("For crosshairs to operate, at least two viewports must be given.");var t=lt(e,3),n=t[0],r=t[1],o=t[2],a=i.initializeViewport(n),l=a.normal,c=a.point,s=i.initializeViewport(r),d=s.normal,u=s.point,v=[0,0,0],f=fc.vec3.create();if(o){var g=i.initializeViewport(o);v=g.normal,f=g.point}else fc.vec3.add(f,c,u),fc.vec3.scale(f,f,.5),fc.vec3.cross(v,l,d);var h=Y.utilities.planar.planeEquation(l,c),p=Y.utilities.planar.planeEquation(d,u),m=Y.utilities.planar.planeEquation(v,f);i.toolCenter=Y.utilities.planar.threePlaneIntersection(h,p,m);var w=(0,Y.getEnabledElementByIds)(e[0].viewportId,e[0].renderingEngineId).renderingEngine;aa(w,e.map((function(e){return e.viewportId})))})),ne(da(i),"addNewAnnotation",(function(e){var t=e.detail,n=t.element,r=t.currentPoints.world,o=(0,Y.getEnabledElement)(n),a=o.viewport;i._jump(o,r);for(var l=i._getAnnotations(o),c=i.filterInteractableAnnotationsForElement(a.element,l),s=c[0].data,d=s.handles.rotationPoints,u=[],v=0;v<d.length-1;++v){var f=d[v][1],g=i._getReferenceLineControllable(f.id),h=i._getReferenceLineDraggableRotatable(f.id);g&&h&&(u.push(f.id),v++)}return s.activeViewportIds=[].concat(u),s.handles.activeOperation=1,e.preventDefault(),$l(n),i._activateModify(n),c[0]})),ne(da(i),"cancel",(function(){console.log("Not implemented yet")})),ne(da(i),"handleSelectedCallback",(function(e,t){var n=e.detail.element;t.highlighted=!0,i._activateModify(n),$l(n),e.preventDefault()})),ne(da(i),"isPointNearTool",(function(e,t,n,r){return!!i._pointNearTool(e,t,n,6)})),ne(da(i),"toolSelectedCallback",(function(e,t,n){var r=e.detail.element;t.highlighted=!0,i._activateModify(r),$l(r),e.preventDefault()})),ne(da(i),"onCameraModified",(function(e){var t,n=e.detail.element,r=(0,Y.getEnabledElement)(n),o=r.renderingEngine,a=r.viewport,l=i._getAnnotations(r),c=i.filterInteractableAnnotationsForElement(n,l)[0];if(c){var s=a.getCamera(),d=c.metadata.cameraPosition,u=[0,0,0];cu().subtract(s.position,d,u);var v=c.metadata.cameraFocalPoint,f=[0,0,0];cu().subtract(s.focalPoint,v,f),c.metadata.cameraPosition=Nr(s.position),c.metadata.cameraFocalPoint=Nr(s.focalPoint);var g=i._getReferenceLineControllable(a.id),h=i._getReferenceLineDraggableRotatable(a.id);if(!Y.utilities.isEqual(s.position,d,.001)&&g&&h){var p=!1;Y.utilities.isEqual(u,f,.001)||(p=!0);var m=Math.abs(cu().dot(u,s.viewPlaneNormal))<.01;p||m||(i.toolCenter[0]+=u[0],i.toolCenter[1]+=u[1],i.toolCenter[2]+=u[2])}null!==(t=i.configuration.autoPan)&&void 0!==t&&t.enabled&&jr(a.id,o.id).getViewportIds().filter((function(e){return e!==a.id})).forEach((function(e){i._autoPanViewportIfNecessary(e,o)}));var w=js(n,i.getToolName(),!1);aa(o,w)}})),ne(da(i),"mouseMoveCallback",(function(e,t){for(var n=e.detail,r=n.element,o=n.currentPoints.canvas,a=!1,l=0;l<t.length;l++){var c=t[l];if(!se(c)){var s=c.data,d=c.highlighted;if(s.handles){var u=s.handles.activeOperation,v=s.activeViewportIds&&s.activeViewportIds.length>0?Nr(s.activeViewportIds):[];s.activeViewportIds=[],s.handles.activeOperation=null;var f;(f=!!i.getHandleNearImagePoint(r,c,o,6)||i._pointNearTool(r,c,o,6))&&!d||!f&&d?(c.highlighted=!d,a=!0):s.handles.activeOperation===u&&i._areViewportIdArraysEqual(s.activeViewportIds,v)||(a=!0)}}}return a})),ne(da(i),"filterInteractableAnnotationsForElement",(function(e,t){if(!t||!t.length)return[];var n=(0,Y.getEnabledElement)(e).viewportId;return t.filter((function(e){return e.data.viewportId===n}))})),ne(da(i),"renderAnnotation",(function(e,t){var n=!1,r=e.viewport,o=e.renderingEngine,a=r.element,l=i._getAnnotations(e),c=r.getCamera(),s=i.filterInteractableAnnotationsForElement(a,l)[0];if(null==l||!l.length||null==s||!s.data)return n;var d=s.annotationUID,u=r.canvas,v=u.clientWidth,f=u.clientHeight,g=Math.sqrt(v*v+f*f),h=Math.min(v,f),p=s.data,m=r.worldToCanvas(i.toolCenter),w=i._filterAnnotationsByUniqueViewportOrientations(e,l),E=[],y=[0,0,v,f];w.forEach((function(e){var t=e.data;t.handles.toolCenter=i.toolCenter;var n=o.getViewport(t.viewportId),a=n.getCamera(),l=i._getReferenceLineControllable(n.id),s=i._getReferenceLineDraggableRotatable(n.id),d=i._getReferenceLineSlabThicknessControlsOn(n.id),u=n.canvas,v=u.clientWidth,f=u.clientHeight,p=Math.sqrt(v*v+f*f),I=[.5*v,.5*f],b=n.canvasToWorld(I),C=[0,0,0];cu().cross(c.viewPlaneNormal,a.viewPlaneNormal,C),cu().normalize(C),cu().multiplyScalar(C,p);var T=[0,0,0];cu().add(b,C,T);var _=[0,0,0];cu().subtract(b,C,_);var D=r.worldToCanvas(T),O=r.worldToCanvas(b),S=fc.vec2.create();fc.vec2.subtract(S,D,O),fc.vec2.normalize(S,S);var x=fc.vec2.create();fc.vec2.scale(x,S,100*g);var M=fc.vec2.create();fc.vec2.scale(M,S,.4*h);var k=fc.vec2.create();fc.vec2.scale(k,S,.2*h);var R=fc.vec2.create(),P=i.configuration.referenceLinesCenterGapRadius;fc.vec2.scale(R,S,2===w.length?P:0);var N=fc.vec2.create(),A=fc.vec2.create(),L=fc.vec2.create(),U=fc.vec2.create(),V=fc.vec2.clone(m);s&&l||(V=fc.vec2.clone(O)),fc.vec2.add(N,V,R),fc.vec2.add(A,V,x),fc.vec2.subtract(L,V,R),fc.vec2.subtract(U,V,x),qd(N,A,y),qd(L,U,y);var B=fc.vec2.create();fc.vec2.subtract(B,m,M);var j=fc.vec2.create();fc.vec2.add(j,m,M);var H=fc.vec2.clone(m);!s&&d&&(H=fc.vec2.clone(O));var W=Nr(i.toolCenter);!s&&d&&(W=Nr(b));var F=[0,0,0];cu().subtract(T,_,F),cu().normalize(F);var G=c.viewPlaneNormal,q=dg().buildFromDegree().rotate(90,G).matrix,z=[0,0,0];fc.vec3.transformMat4(z,F,q);var K=n.getSlabThickness(),Y=[].concat(z);cu().multiplyScalar(Y,K);var J=[0,0,0];cu().add(W,Y,J);var $=r.worldToCanvas(J),Z=fc.vec2.create();fc.vec2.subtract(Z,H,$);var X=fc.vec2.create();fc.vec2.subtract(X,H,x),fc.vec2.add(X,X,Z);var Q=fc.vec2.create();fc.vec2.add(Q,H,x),fc.vec2.add(Q,Q,Z),qd(X,Q,y);var ee=fc.vec2.create();fc.vec2.add(ee,H,x),fc.vec2.subtract(ee,ee,Z);var te=fc.vec2.create();fc.vec2.subtract(te,H,x),fc.vec2.subtract(te,te,Z),qd(ee,te,y);var ne=fc.vec2.create(),re=fc.vec2.create(),oe=fc.vec2.create(),ae=fc.vec2.create();fc.vec2.subtract(ne,H,k),fc.vec2.add(ne,ne,Z),fc.vec2.add(re,H,k),fc.vec2.add(re,re,Z),fc.vec2.subtract(oe,H,k),fc.vec2.subtract(oe,oe,Z),fc.vec2.add(ae,H,k),fc.vec2.subtract(ae,ae,Z),E.push([n,N,A,L,U,X,Q,ee,te,B,j,ne,re,oe,ae])}));var I=[],b=[],C=i._getReferenceLineColor(r.id),T=void 0!==C?C:"rgb(200, 200, 200)";return E.forEach((function(e,n){var o,a,l=e[0],c=i._getReferenceLineColor(l.id),s=i._getReferenceLineControllable(l.id),u=i._getReferenceLineDraggableRotatable(l.id)||(null===(o=i.configuration.mobile)||void 0===o?void 0:o.enabled),v=i._getReferenceLineSlabThicknessControlsOn(l.id)||(null===(a=i.configuration.mobile)||void 0===a?void 0:a.enabled),f=p.activeViewportIds.find((function(e){return e===l.id})),g=void 0!==c?c:"rgb(200, 200, 200)",h=1,m=null!==p.handles.activeOperation&&1===p.handles.activeOperation&&f;m&&(h=2.5);var w="".concat(n);if(s&&u?(w="".concat(n,"One"),Rc(t,d,w,e[1],e[2],{color:g,lineWidth:h}),w="".concat(n,"Two"),Rc(t,d,w,e[3],e[4],{color:g,lineWidth:h})):Rc(t,d,w,e[2],e[4],{color:g,lineWidth:h}),s){var E;g=void 0!==c?c:"rgb(200, 200, 200)";var y=2===p.handles.activeOperation,C=[e[9],e[10]],T=[r.canvasToWorld(e[9]),l,e[1],e[2]],_=[r.canvasToWorld(e[10]),l,e[3],e[4]];I.push(T,_);var D=3===p.handles.activeOperation,O=[e[11],e[12],e[13],e[14]],S=[r.canvasToWorld(e[11]),l,e[5],e[6]],x=[r.canvasToWorld(e[12]),l,e[5],e[6]],M=[r.canvasToWorld(e[13]),l,e[7],e[8]],k=[r.canvasToWorld(e[14]),l,e[7],e[8]];if(b.push(S,x,M,k),(m||null!==(E=i.configuration.mobile)&&void 0!==E&&E.enabled)&&!y&&!D&&u&&v){var R,P,N,A,L,U,V,B,j="".concat(n,"One");kc(t,d,j,C,{color:g,handleRadius:null!==(R=i.configuration.mobile)&&void 0!==R&&R.enabled?null===(P=i.configuration.mobile)||void 0===P?void 0:P.handleRadius:3,opacity:null!==(N=i.configuration.mobile)&&void 0!==N&&N.enabled?null===(A=i.configuration.mobile)||void 0===A?void 0:A.opacity:1,type:"circle"}),j="".concat(n,"Two"),kc(t,d,j,O,{color:g,handleRadius:null!==(L=i.configuration.mobile)&&void 0!==L&&L.enabled?null===(U=i.configuration.mobile)||void 0===U?void 0:U.handleRadius:3,opacity:null!==(V=i.configuration.mobile)&&void 0!==V&&V.enabled?null===(B=i.configuration.mobile)||void 0===B?void 0:B.opacity:1,type:"rect"})}else if(m&&!y&&!D&&u){var H,W,F,G,q="".concat(n);kc(t,d,q,C,{color:g,handleRadius:null!==(H=i.configuration.mobile)&&void 0!==H&&H.enabled?null===(W=i.configuration.mobile)||void 0===W?void 0:W.handleRadius:3,opacity:null!==(F=i.configuration.mobile)&&void 0!==F&&F.enabled?null===(G=i.configuration.mobile)||void 0===G?void 0:G.opacity:1,type:"circle"})}else if(f&&!y&&!D&&v){var z,K,Y,J,$="".concat(n);kc(t,d,$,O,{color:g,handleRadius:null!==(z=i.configuration.mobile)&&void 0!==z&&z.enabled?null===(K=i.configuration.mobile)||void 0===K?void 0:K.handleRadius:3,opacity:null!==(Y=i.configuration.mobile)&&void 0!==Y&&Y.enabled?null===(J=i.configuration.mobile)||void 0===J?void 0:J.opacity:1,type:"rect"})}else if(y&&u){var Z="".concat(n);kc(t,d,Z,C,{color:g,handleRadius:2,fill:g,type:"circle"})}else D&&f&&v&&kc(t,d,w,O,{color:g,handleRadius:2,fill:g,type:"rect"});l.getSlabThickness()>.5&&v&&(w="".concat(n,"STOne"),Rc(t,d,w,e[5],e[6],{color:g,width:1,lineDash:[2,3]}),w="".concat(n,"STTwo"),Rc(t,d,w,e[7],e[8],{color:g,width:e,lineDash:[2,3]}))}})),n=!0,p.handles.rotationPoints=I,p.handles.slabThicknessPoints=b,i.configuration.viewportIndicators&&xc(t,d,"0",[.95*v,.05*f],.01*g,{color:T,fill:T}),n})),ne(da(i),"_getAnnotations",(function(e){var t=e.viewport;return Qe(i.getToolName(),t.element)})),ne(da(i),"_onNewVolume",(function(e){var t=i._getViewportsInfo();i.computeToolCenter(t)})),ne(da(i),"_areViewportIdArraysEqual",(function(e,t){return e.length===t.length&&(e.forEach((function(e){for(var n=!1,r=0;r<t.length;++r)if(e===t[r]){n=!0;break}if(!1===n)return!1})),!0)})),ne(da(i),"_getAnnotationsForViewportsWithDifferentCameras",(function(e,t){var n=e.viewportId,r=e.renderingEngine,o=e.viewport,a=t.filter((function(e){return e.data.viewportId!==n}));if(!a||!a.length)return[];var i=o.getCamera(),l=i.viewPlaneNormal,c=i.position,s=a.filter((function(e){var t=e.data.viewportId,n=r.getViewport(t).getCamera();return!(Y.utilities.isEqual(n.viewPlaneNormal,l,.01)&&Y.utilities.isEqual(n.position,c,1))}));return s})),ne(da(i),"_filterViewportWithSameOrientation",(function(e,t,n){var r=e.renderingEngine,o=t.data,a=r.getViewport(o.viewportId),l=n.filter((function(e){var t=e.data,n=r.getViewport(t.viewportId);return!0===i._getReferenceLineControllable(n.id)}));if(!l||!l.length)return[];var c=a.getCamera(),s=c.viewPlaneNormal;return cu().normalize(s),l.filter((function(e){var t=e.data.viewportId,n=r.getViewport(t).getCamera(),o=n.viewPlaneNormal;return cu().normalize(o),Y.utilities.isEqual(s,o,.01)&&Y.utilities.isEqual(c.viewUp,n.viewUp,.01)}))})),ne(da(i),"_filterAnnotationsByUniqueViewportOrientations",(function(e,t){var n=e.renderingEngine,r=e.viewport,o=r.getCamera().viewPlaneNormal;cu().normalize(o);for(var a=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportId),a=i._getReferenceLineControllable(o.id);return r!==o&&!0===a})),l=[],c=0;c<a.length;++c){var s=a[c],d=s.data.viewportId,u=n.getViewport(d).getCamera(),v=u.viewPlaneNormal;if(cu().normalize(v),!Y.utilities.isEqual(o,v,.01)&&!Y.utilities.isOpposite(o,v,.01)){for(var f=!1,g=0;g<l.length;++g){var h=l[g].data.viewportId,p=n.getViewport(h).getCamera();Y.utilities.isEqual(p.viewPlaneNormal,u.viewPlaneNormal,.01)&&Y.utilities.isEqual(p.position,u.position,1)&&(f=!0)}f||l.push(s)}}for(var m=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportId),a=i._getReferenceLineControllable(o.id);return r!==o&&!0!==a})),w=0;w<m.length;++w){var E=m[w],y=E.data.viewportId,I=n.getViewport(y).getCamera(),b=I.viewPlaneNormal;if(cu().normalize(b),!Y.utilities.isEqual(o,b,.01)&&!Y.utilities.isOpposite(o,b,.01)){for(var C=!1,T=0;T<l.length;++T){var _=l[T].data.viewportId,D=n.getViewport(_).getCamera();Y.utilities.isEqual(D.viewPlaneNormal,I.viewPlaneNormal,.01)&&Y.utilities.isEqual(D.position,I.position,1)&&(C=!0)}C||l.push(E)}}for(var O=i._getAnnotationsForViewportsWithDifferentCameras(e,t),S=function(){var e=O[x];if(l.some((function(t){return t===e})))return"continue";var t=e.data.viewportId,r=n.getViewport(t).getCamera(),a=r.viewPlaneNormal;if(cu().normalize(a),Y.utilities.isEqual(o,a,.01)||Y.utilities.isOpposite(o,a,.01))return"continue";for(var i=!1,c=0;c<l.length;++c){var s=l[c].data.viewportId,d=n.getViewport(s).getCamera();Y.utilities.isEqual(d.viewPlaneNormal,r.viewPlaneNormal,.01)&&Y.utilities.isEqual(d.position,r.position,1)&&(i=!0)}i||l.push(e)},x=0;x<O.length;++x)S();return l})),ne(da(i),"_checkIfViewportsRenderingSameScene",(function(e,t){var n=e.getActors(),r=t.getActors(),o=!0;return n.forEach((function(e){n.length===r.length&&void 0!==r.find((function(t){return t.uid===e.uid}))||(o=!1)})),o})),ne(da(i),"_jump",(function(e,t){Ge.isInteractingWithTool=!0;var n=e.viewport,r=e.renderingEngine,o=i._getAnnotations(e),a=[0,0,0];cu().subtract(t,i.toolCenter,a);var l=i._getAnnotationsForViewportsWithDifferentCameras(e,o).filter((function(e){var t=e.data,o=r.getViewport(t.viewportId),a=i._checkIfViewportsRenderingSameScene(n,o);return i._getReferenceLineControllable(o.id)&&i._getReferenceLineDraggableRotatable(o.id)&&a}));return 0===l.length?(Ge.isInteractingWithTool=!1,!1):(i._applyDeltaShiftToSelectedViewportCameras(r,l,a),Ge.isInteractingWithTool=!1,!0)})),ne(da(i),"_activateModify",(function(e){var t;Ge.isInteractingWithTool=!(null!==(t=i.configuration.mobile)&&void 0!==t&&t.enabled),e.addEventListener($.MOUSE_UP,i._endCallback),e.addEventListener($.MOUSE_DRAG,i._dragCallback),e.addEventListener($.MOUSE_CLICK,i._endCallback),e.addEventListener($.TOUCH_END,i._endCallback),e.addEventListener($.TOUCH_DRAG,i._dragCallback),e.addEventListener($.TOUCH_TAP,i._endCallback)})),ne(da(i),"_deactivateModify",(function(e){Ge.isInteractingWithTool=!1,e.removeEventListener($.MOUSE_UP,i._endCallback),e.removeEventListener($.MOUSE_DRAG,i._dragCallback),e.removeEventListener($.MOUSE_CLICK,i._endCallback),e.removeEventListener($.TOUCH_END,i._endCallback),e.removeEventListener($.TOUCH_DRAG,i._dragCallback),e.removeEventListener($.TOUCH_TAP,i._endCallback)})),ne(da(i),"_endCallback",(function(e){var t=e.detail.element;i.editData.annotation.data.handles.activeOperation=null,i.editData.annotation.data.activeViewportIds=[],i._deactivateModify(t),Jl(t),i.editData=null;var n=(0,Y.getEnabledElement)(t).renderingEngine,r=js(t,i.getToolName(),!1);aa(n,r)})),ne(da(i),"_dragCallback",(function(e){var t=e.detail,n=t.deltaPoints.world;if(!(Math.abs(n[0])<.001&&Math.abs(n[1])<.001&&Math.abs(n[2])<.001)){var r=t.element,o=(0,Y.getEnabledElement)(r),a=o.renderingEngine,l=o.viewport,c=i._getAnnotations(o),s=i.filterInteractableAnnotationsForElement(r,c)[0];if(s){var d=s.data.handles,u=e.detail.currentPoints.canvas;if(1===d.activeOperation){var v=i._getAnnotationsForViewportsWithDifferentCameras(o,c).filter((function(e){var t=e.data,n=a.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineDraggableRotatable(n.id);return!0===r&&!0===o&&s.data.activeViewportIds.find((function(e){return e===n.id}))}));i._applyDeltaShiftToSelectedViewportCameras(a,v,n)}else if(2===d.activeOperation){var f=i._getAnnotationsForViewportsWithDifferentCameras(o,c).filter((function(e){var t=e.data,n=a.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineDraggableRotatable(n.id);return!0===r&&!0===o})),g=fc.vec2.create(),h=fc.vec2.create(),p=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]],m=l.worldToCanvas(p),w=t.currentPoints.canvas,E=fc.vec2.create();fc.vec2.sub(E,w,t.deltaPoints.canvas),fc.vec2.sub(g,E,m),fc.vec2.sub(h,w,m);var y=fc.vec2.angle(g,h);i._isClockWise(m,E,w)&&(y*=-1),y=Math.round(100*y)/100;var I=l.getCamera().viewPlaneNormal,b=dg().buildFromRadian().translate(p[0],p[1],p[2]).rotate(y,I).translate(-p[0],-p[1],-p[2]).matrix,C=[];f.forEach((function(e){var t=e.data;t.handles.toolCenter=p;var n=a.getViewport(t.viewportId),r=n.getCamera(),o=r.viewUp,i=r.position,l=r.focalPoint;o[0]+=i[0],o[1]+=i[1],o[2]+=i[2],fc.vec3.transformMat4(l,l,b),fc.vec3.transformMat4(i,i,b),fc.vec3.transformMat4(o,o,b),o[0]-=i[0],o[1]-=i[1],o[2]-=i[2],n.setCamera({position:i,viewUp:o,focalPoint:l}),C.push(n.id)})),a.renderViewports(C)}else if(3===d.activeOperation){var T=i._getAnnotationsForViewportsWithDifferentCameras(o,c).filter((function(e){var t=e.data,n=a.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineSlabThicknessControlsOn(n.id);return!0===r&&!0===o&&s.data.activeViewportIds.find((function(e){return e===n.id}))}));if(0===T.length)return;var _=i._filterViewportWithSameOrientation(o,T[0],c),D=[];D.push(l.id),_.forEach((function(e){var r=e.data,o=a.getViewport(r.viewportId),c=o.getCamera().viewPlaneNormal,d=cu().dot(n,c),v=Nr(c);if(cu().multiplyScalar(v,d),Math.abs(v[0])>.001||Math.abs(v[1])>.001||Math.abs(v[2])>.001){var f=Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]),g=t.lastPoints.world,h=[0,0,0],p=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]];if(!i._getReferenceLineDraggableRotatable(o.id)){var m=i.editData.annotation.data.handles.rotationPoints.filter((function(e){return e[1].uid===o.id}));if(2===m.length){var w=l.canvasToWorld(m[0][3]),E=l.canvasToWorld(m[1][3]);cu().add(w,E,p),cu().multiplyScalar(p,.5)}}cu().subtract(g,p,h);var y=cu().dot(h,c),I=Nr(c);cu().multiplyScalar(I,y);var b=[I[0],I[1],I[2]];fc.vec3.normalize(b,b);var C=[v[0],v[1],v[2]];fc.vec3.normalize(C,C);var T=o.getSlabThickness();Y.utilities.isOpposite(b,C,.001)?T-=f:T+=f,T=Math.abs(T),T=Math.max(ug.MINIMUM_SLAB_THICKNESS,T),i._pointNearReferenceLine(s,u,6,o)&&(T=ug.MINIMUM_SLAB_THICKNESS),jr(o.id,a.id).getToolInstance(i.getToolName()).setSlabThickness(o,T),D.push(o.id)}})),a.renderViewports(D)}}}})),ne(da(i),"_pointNearReferenceLine",(function(e,t,n,r){for(var o=e.data.handles.rotationPoints,a=0;a<o.length-1;++a){var l=o[a][1];if(l.id===r.id&&i._getReferenceLineControllable(l.id)){var c={start:{x:o[a][2][0],y:o[a][2][1]},end:{x:o[a][3][0],y:o[a][3][1]}},s=od([c.start.x,c.start.y],[c.end.x,c.end.y],[t[0],t[1]]),d={start:{x:o[a+1][2][0],y:o[a+1][2][1]},end:{x:o[a+1][3][0],y:o[a+1][3][1]}},u=od([d.start.x,d.start.y],[d.end.x,d.end.y],[t[0],t[1]]);if(s<=n||u<=n)return!0;a++}}return!1})),i._getReferenceLineColor=(null===(e=l.configuration)||void 0===e?void 0:e.getReferenceLineColor)||vg,i._getReferenceLineControllable=(null===(t=l.configuration)||void 0===t?void 0:t.getReferenceLineControllable)||fg,i._getReferenceLineDraggableRotatable=(null===(n=l.configuration)||void 0===n?void 0:n.getReferenceLineDraggableRotatable)||gg,i._getReferenceLineSlabThicknessControlsOn=(null===(a=l.configuration)||void 0===a?void 0:a.getReferenceLineSlabThicknessControlsOn)||hg,i}return ee(o,[{key:"onSetToolActive",value:function(){var e=this._getViewportsInfo();this._unsubscribeToViewportNewVolumeSet(e),this._subscribeToViewportNewVolumeSet(e),this.computeToolCenter(e)}},{key:"onSetToolPassive",value:function(){var e=this._getViewportsInfo();this.computeToolCenter(e)}},{key:"onSetToolEnabled",value:function(){var e=this._getViewportsInfo();this.computeToolCenter(e)}},{key:"onSetToolDisabled",value:function(){var e=this,t=this._getViewportsInfo();this._unsubscribeToViewportNewVolumeSet(t),t.forEach((function(t){var n=t.renderingEngineId,r=t.viewportId,o=(0,Y.getEnabledElementByIds)(r,n);if(o){var a=e._getAnnotations(o);null!=a&&a.length&&a.forEach((function(e){nt(e.annotationUID)}))}}))}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=this._getRotationHandleNearImagePoint(o,t,n,r);return null!==a||null!==(a=this._getSlabThicknessHandleNearImagePoint(o,t,n,r))?a:void 0}},{key:"_unsubscribeToViewportNewVolumeSet",value:function(e){var t=this;e.forEach((function(e){var n=e.viewportId,r=e.renderingEngineId;(0,Y.getEnabledElementByIds)(n,r).viewport.element.removeEventListener(Y.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,t._onNewVolume)}))}},{key:"_subscribeToViewportNewVolumeSet",value:function(e){var t=this;e.forEach((function(e){var n=e.viewportId,r=e.renderingEngineId;(0,Y.getEnabledElementByIds)(n,r).viewport.element.addEventListener(Y.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,t._onNewVolume)}))}},{key:"_autoPanViewportIfNecessary",value:function(e,t){var n=t.getViewport(e),r=n.canvas,o=r.clientWidth,a=r.clientHeight,i=n.worldToCanvas(this.toolCenter),l=this.configuration.autoPan.panSize,c=[i[0],i[1]];if(i[0]<0?c[0]=l:i[0]>o&&(c[0]=o-l),i[1]<0?c[1]=l:i[1]>a&&(c[1]=a-l),c[0]!==i[0]||c[1]!==i[1]){var s=n.canvasToWorld(c),d=[s[0]-this.toolCenter[0],s[1]-this.toolCenter[1],s[2]-this.toolCenter[2]],u=n.getCamera(),v=u.focalPoint,f=u.position,g=[f[0]-d[0],f[1]-d[1],f[2]-d[2]],h=[v[0]-d[0],v[1]-d[1],v[2]-d[2]];n.setCamera({focalPoint:h,position:g}),n.render()}}},{key:"setSlabThickness",value:function(e,t){var n,r=this.configuration.filterActorUIDsToSetSlabThickness;r&&r.length>0&&(n=r);var o=this.configuration.slabThicknessBlendMode;t===ug.MINIMUM_SLAB_THICKNESS&&(o=Y.Enums.BlendModes.COMPOSITE),e.setBlendMode(o,n,!1),e.setSlabThickness(t,n)}},{key:"_isClockWise",value:function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])>0}},{key:"_applyDeltaShiftToSelectedViewportCameras",value:function(e,t,n){var r=this;t.forEach((function(t){r._applyDeltaShiftToViewportCamera(e,t,n)}))}},{key:"_applyDeltaShiftToViewportCamera",value:function(e,t,n){var r=t.data,o=e.getViewport(r.viewportId),a=o.getCamera(),i=a.viewPlaneNormal,l=cu().dot(n,i),c=Nr(i);if(cu().multiplyScalar(c,l),Math.abs(c[0])>.001||Math.abs(c[1])>.001||Math.abs(c[2])>.001){var s=[0,0,0],d=[0,0,0];cu().add(a.focalPoint,c,s),cu().add(a.position,c,d),o.setCamera({focalPoint:s,position:d}),o.render()}}},{key:"_getRotationHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.rotationPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.id)&&this._getReferenceLineDraggableRotatable(c.id)){var s=e.worldToCanvas(l);if(fc.vec2.distance(n,s)<r)return o.handles.activeOperation=2,this.editData={annotation:t},l}}return null}},{key:"_getSlabThicknessHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.slabThicknessPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.id)&&this._getReferenceLineSlabThicknessControlsOn(c.id)){var s=e.worldToCanvas(l);if(fc.vec2.distance(n,s)<r)return o.handles.activeOperation=3,o.activeViewportIds=[c.id],this.editData={annotation:t},l}}return null}},{key:"_pointNearTool",value:function(e,t,n,r){for(var o=this,a=(0,Y.getEnabledElement)(e).viewport.canvas,i=a.clientWidth,l=a.clientHeight,c=Math.sqrt(i*i+l*l),s=t.data,d=s.handles.rotationPoints,u=s.handles.slabThicknessPoints,v=[],f=0;f<d.length-1;++f){var g=d[f][1],h=this._getReferenceLineControllable(g.id),p=this._getReferenceLineDraggableRotatable(g.id);if(h&&p){var m={start:{x:d[f][2][0],y:d[f][2][1]},end:{x:d[f][3][0],y:d[f][3][1]}},w=od([m.start.x,m.start.y],[m.end.x,m.end.y],[n[0],n[1]]),E={start:{x:d[f+1][2][0],y:d[f+1][2][1]},end:{x:d[f+1][3][0],y:d[f+1][3][1]}},y=od([E.start.x,E.start.y],[E.end.x,E.end.y],[n[0],n[1]]);(w<=r||y<=r)&&(v.push(g.id),s.handles.activeOperation=1),f++}}for(var I=function(e){var t=u[e][1];if(v.find((function(e){return e===t.id})))return b=e,"continue";var a=o._getReferenceLineControllable(t.id),i=o._getReferenceLineSlabThicknessControlsOn(t.id);if(!a||!i)return b=e,"continue";var l=u[e][2],d=u[e][3],f=fc.vec2.create();fc.vec2.add(f,l,d),fc.vec2.scale(f,f,.5);var g=fc.vec2.create();fc.vec2.subtract(g,l,f),fc.vec2.normalize(g,g);var h=fc.vec2.create();fc.vec2.scale(h,g,.05*c);var p=fc.vec2.create(),m=fc.vec2.create();fc.vec2.add(p,f,h),fc.vec2.subtract(m,f,h);var w={start:{x:p[0],y:p[1]},end:{x:l[0],y:l[1]}},E=od([w.start.x,w.start.y],[w.end.x,w.end.y],[n[0],n[1]]),y={start:{x:m[0],y:m[1]},end:{x:d[0],y:d[1]}},I=od([y.start.x,y.start.y],[y.end.x,y.end.y],[n[0],n[1]]);(E<=r||I<=r)&&(v.push(t.id),s.handles.activeOperation=null),e++,b=e},b=0;b<u.length-1;++b)I(b);return s.activeViewportIds=[].concat(v),this.editData={annotation:t},1===s.handles.activeOperation}}]),o}($s);ne(pg,"toolName",void 0),pg.toolName="Crosshairs";var mg=pg;var wg=Y.CONSTANTS.EPSILON,Eg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{sourceViewportId:""}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",{}),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"_init",(function(){var t=(0,Y.getRenderingEngines)()[0];if(t){var n=t.getViewports();n=Us(n,e.getToolName());var r=t.getViewport(e.configuration.sourceViewportId);if(r&&r.getImageData()){var o=r.element,a=r.getCamera(),i=a.viewUp,l=a.viewPlaneNormal,c=Y.utilities.getViewportImageCornersInWorld(r),s=e.editData.annotation,d=r.getFrameOfReferenceUID();if(s)e.editData.annotation.data.handles.points=c;else{var u={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(l),viewUp:Nr(i),FrameOfReferenceUID:d,referencedImageId:null},data:{handles:{points:c}}};et(u,o),s=u}e.editData={sourceViewport:r,renderingEngine:t,annotation:s},aa(t,n.filter((function(e){return e.id!==r.id})).map((function(e){return e.id})))}}})),ne(da(e),"onSetToolEnabled",(function(){e._init()})),ne(da(e),"onCameraModified",(function(t){e._init()})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=t.viewport,i=e.editData,l=i.annotation,c=i.sourceViewport,s=!1;if(!c)return s;if(c.id===a.id)return s;if(!l||null==l||null===(r=l.data)||void 0===r||null===(o=r.handles)||void 0===o||!o.points)return s;var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=l.data.handles.points[0],v=l.data.handles.points[1],f=l.data.handles.points[2],g=l.data.handles.points[3],h=a.getCamera(),p=h.focalPoint,m=h.viewPlaneNormal,w=c.getCamera().viewPlaneNormal;if(e.isParallel(m,w))return s;var E=Y.utilities.planar.planeEquation(m,p),y=[u,f,v,g],I=[u,v,f,g],b=y,C=fc.vec3.subtract(fc.vec3.create(),y[0],y[1]);C=fc.vec3.normalize(fc.vec3.create(),C);var T=fc.vec3.subtract(fc.vec3.create(),y[2],y[0]);T=fc.vec3.normalize(fc.vec3.create(),T);var _=fc.vec3.cross(fc.vec3.create(),C,T);if(e.isParallel(_,m))return s;e.isPerpendicular(C,m)&&(b=I);var D=Y.utilities.planar.linePlaneIntersection(b[0],b[1],E),O=Y.utilities.planar.linePlaneIntersection(b[2],b[3],E),S=l.annotationUID;d.annotationUID=S;var x=e.getStyle("lineWidth",d,l),M=e.getStyle("lineDash",d,l),k=e.getStyle("color",d,l),R=e.getStyle("shadow",d,l),P=[D,O].map((function(e){return a.worldToCanvas(e)})),N="".concat(S,"-line");return Rc(n,S,"1",P[0],P[1],{color:k,width:x,lineDash:M,shadow:R},N),!0})),ne(da(e),"isPerpendicular",(function(e,t){var n=fc.vec3.dot(e,t);return Math.abs(n)<wg})),e}return ee(o,[{key:"isParallel",value:function(e,t){return Math.abs(fc.vec3.dot(e,t))>1-wg}}]),o}(Ks);ne(Eg,"toolName",void 0),Eg.toolName="ReferenceLines";var yg=Eg;function Ig(e,t,n,r){var o=fc.vec3.create();fc.vec3.cross(o,t,e);var a=fc.vec3.fromValues.apply(fc.vec3,Nr(n)),i=fc.vec3.fromValues.apply(fc.vec3,Nr(r)),l=fc.vec3.create();fc.vec3.subtract(l,a,i);var c=fc.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=fc.vec3.dot(l,o)/(c*fc.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}var bg=Y.utilities.transformWorldToIndex,Cg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,centerPointRadius:0,getTextLines:Tg,statsCalculator:vd}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",!1),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=r.canvas,l=(0,Y.getEnabledElement)(o),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var d=c.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=e.getReferencedImageId(c,a,u,v),g=c.getFrameOfReferenceUID(),h={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(u),viewUp:Nr(v),FrameOfReferenceUID:g,referencedImageId:f},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},points:[Nr(a),Nr(a),Nr(a),Nr(a)],activeHandleIndex:null},cachedStats:{},initialRotation:c.getRotation()}};et(h,o);var p=js(o,e.getToolName());return e.editData={annotation:h,viewportIdsToRender:p,centerCanvas:i,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(s,p),h})),ne(da(e),"isPointNearTool",(function(t,n,r,o){var a=(0,Y.getEnabledElement)(t).viewport,i=lt(ls(n.data.handles.points.map((function(e){return a.worldToCanvas(e)}))),2),l=i[0],c=i[1],s={left:Math.min(l[0],c[0])+o/2,top:Math.min(l[1],c[1])+o/2,width:Math.abs(l[0]-c[0])-o,height:Math.abs(l[1]-c[1])-o},d={left:Math.min(l[0],c[0])-o/2,top:Math.min(l[1],c[1])-o/2,width:Math.abs(l[0]-c[0])+o,height:Math.abs(l[1]-c[1])+o},u=e._pointInEllipseCanvas(s,r);return!(!e._pointInEllipseCanvas(d,r)||u)})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},$l(r),e._activateModify(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),t.preventDefault()})),ne(da(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l,c,s,d,u=!1;if(r.worldPosition)u=!0;else{var v=a.handles.points,f=(0,Y.getEnabledElement)(o).viewport.worldToCanvas;i=v.findIndex((function(e){return e===r}));var g=v.map(f);d=g[i],c=Math.abs(g[2][0]-g[3][0]),s=Math.abs(g[0][1]-g[1][1]),l=[(g[2][0]+g[3][0])/2,(g[0][1]+g[1][1])/2]}var h=js(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:h,handleIndex:i,canvasWidth:c,canvasHeight:s,centerCanvas:l,originalHandleCanvas:d,movingTextBox:u},e._activateModify(o),$l(o);var p=(0,Y.getEnabledElement)(o).renderingEngine;aa(p,h),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}}})),ne(da(e),"_dragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,Y.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=c.centerCanvas,v=s.data,f=Math.abs(o[0]-u[0]),g=Math.abs(o[1]-u[1]),h=[u[0],u[1]-g],p=[u[0],u[1]+g],m=[u[0]-f,u[1]],w=[u[0]+f,u[1]];v.handles.points=[l(h),l(p),l(m),l(w)],s.invalidated=!0,e.editData.hasMoved=!0,aa(i,d)})),ne(da(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var g=(0,Y.getEnabledElement)(r).renderingEngine;aa(g,i)})),ne(da(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,Y.getEnabledElement)(r).viewport.canvasToWorld,a=e.editData,i=a.annotation,l=a.canvasWidth,c=a.canvasHeight,s=a.handleIndex,d=a.centerCanvas,u=a.originalHandleCanvas,v=i.data.handles.points,f=n.currentPoints.canvas;if(0===s||1===s){var g=Math.abs(f[1]-d[1]),h=[d[0],d[1]-g],p=[d[0],d[1]+g];v[0]=o(h),v[1]=o(p);var m=l/2+(f[0]-u[0]),w=[d[0]-m,d[1]],E=[d[0]+m,d[1]];v[2]=o(w),v[3]=o(E)}else{var y=Math.abs(f[0]-d[0]),I=[d[0]-y,d[1]],b=[d[0]+y,d[1]];v[2]=o(I),v[3]=o(b);var C=c/2+(f[1]-u[1]),T=[d[0],d[1]-C],_=[d[0],d[1]+C];v[0]=o(T),v[1]=o(_)}})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragDrawCallback),t.addEventListener($.MOUSE_MOVE,e._dragDrawCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragDrawCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragDrawCallback),t.removeEventListener($.MOUSE_MOVE,e._dragDrawCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragDrawCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles,g=v.points,h=v.activeHandleIndex;u.annotationUID=o;var p,m=e.getStyle("lineWidth",u,r),w=e.getStyle("lineDash",u,r),E=e.getStyle("color",u,r),y=g.map((function(e){return i.worldToCanvas(e)})),I=Math.abs(i.getRotation()-(l.initialRotation||0));p=ls(90==I||270==I?[y[2],y[3],y[0],y[1]]:y);var b,C=e.configuration.centerPointRadius,T={isPreScaled:sd(i,s),isSuvScaled:e.isSuvScaled(i,s,r.metadata.referencedImageId)};if(l.cachedStats[s]&&void 0!==l.cachedStats[s].areaUnit){if(r.invalidated&&(e._throttledCalculateCachedStats(r,i,d,t,T),i instanceof Y.VolumeViewport)){var _=r.metadata.referencedImageId;for(var D in l.cachedStats)D.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=Y.utilities.imageIdToURI(_),n=e.hasImageURI(t),r=Y.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[D]}}else l.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null},e._calculateCachedStats(r,i,d,t,T);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};if(!Me(o))return"continue";se(r)||e.editData||null===h||(b=[y[h]]),b&&kc(n,o,"0",b,{color:E});var O="".concat(o,"-ellipse");if(Mc(n,o,"0",p[0],p[1],{color:E,lineDash:w,lineWidth:m},O),C>0&&Math.min(Math.abs(p[0][0]-p[1][0])/2,Math.abs(p[0][1]-p[1][1])/2)>3*C){var S=e._getCanvasEllipseCenter(y);xc(n,o,"".concat("0","-center"),S,C,{color:E,lineDash:w,lineWidth:m})}a=!0;var x=e.getLinkedTextBoxStyle(u,r);if(!x.visibility)return l.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},"continue";var M,k=e.configuration.getTextLines(l,s);if(!k||0===k.length)return"continue";l.handles.textBox.hasMoved||(M=id(p),l.handles.textBox.worldPosition=i.canvasToWorld(M));var R=i.worldToCanvas(l.handles.textBox.worldPosition),P=Bc(n,o,"1",k,R,y,{},x),N=P.x,A=P.y,L=P.width,U=P.height;l.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([N,A]),topRight:i.canvasToWorld([N+L,A]),bottomLeft:i.canvasToWorld([N,A+U]),bottomRight:i.canvasToWorld([N+L,A+U])}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),ne(da(e),"_calculateCachedStats",(function(t,n,r,o,a){for(var i=t.data,l=o.viewportId,c=o.renderingEngineId,s=i.handles.points.map((function(e){return n.worldToCanvas(e)})),d=n.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=lt(ls(s),2),g=f[0],h=f[1],p=n.canvasToWorld(g),m=n.canvasToWorld(h),w=i.cachedStats,E=Object.keys(w),y=p,I=m,b=function(){var n=E[C],o=e.getTargetIdImage(n,r);if(!o)return"continue";var i=o.dimensions,l=o.imageData,c=o.metadata,s=(o.hasPixelSpacing,bg(l,y));s[0]=Math.floor(s[0]),s[1]=Math.floor(s[1]),s[2]=Math.floor(s[2]);var d=bg(l,I);if(d[0]=Math.floor(d[0]),d[1]=Math.floor(d[1]),d[2]=Math.floor(d[2]),e._isInsideVolume(s,d,i)){var f,g,h,b=[[Math.min(s[0],d[0]),Math.max(s[0],d[0])],[Math.min(s[1],d[1]),Math.max(s[1],d[1])],[Math.min(s[2],d[2]),Math.max(s[2],d[2])]],T={center:[(p[0]+m[0])/2,(p[1]+m[1])/2,(p[2]+m[2])/2],xRadius:Math.abs(p[0]-m[0])/2,yRadius:Math.abs(p[1]-m[1])/2,zRadius:Math.abs(p[2]-m[2])/2},_=Ig(u,v,y,I),D=_.worldWidth,O=_.worldHeight,S=0===D&&0===O,x=td(o),M=Math.abs(Math.PI*(D/2)*(O/2))/x/x,k=cd(c.Modality,t.metadata.referencedImageId,a),R=Zc(l,(function(e,t){return cs(T,e)}),e.configuration.statsCalculator.statsCallback,b),P=e.configuration.statsCalculator.getStatistics();w[n]={Modality:c.Modality,area:M,mean:null===(f=P[1])||void 0===f?void 0:f.value,max:null===(g=P[0])||void 0===g?void 0:g.value,stdDev:null===(h=P[2])||void 0===h?void 0:h.value,statsArray:P,pointsInShape:R,isEmptyArea:S,areaUnit:ed(0,o),modalityUnit:k}}else e.isHandleOutsideImage=!0,w[n]={Modality:c.Modality}},C=0;C<E.length;C++)b();t.invalidated=!1;var T=$.ANNOTATION_MODIFIED,_={annotation:t,viewportId:l,renderingEngineId:c};return(0,Y.triggerEvent)(Y.eventTarget,T,_),w})),ne(da(e),"_isInsideVolume",(function(e,t,n){return Y.utilities.indexWithinDimensions(e,n)&&Y.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o,[{key:"_pointInEllipseCanvas",value:function(e,t){var n=e.width/2,r=e.height/2;if(n<=0||r<=0)return!1;var o=[e.left+n,e.top+r],a=[t[0]-o[0],t[1]-o[1]];return a[0]*a[0]/(n*n)+a[1]*a[1]/(r*r)<=1}},{key:"_getCanvasEllipseCenter",value:function(e){var t=lt(e,4),n=t[0],r=t[1],o=t[2],a=t[3],i=[o[0],r[1]],l=[a[0],n[1]];return[(i[0]+l[0])/2,(i[1]+l[1])/2]}}]),o}($s);function Tg(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.stdDev,i=n.max,l=n.isEmptyArea,c=n.areaUnit,s=n.modalityUnit,d=[];if(r){var u=l?"Area: Oblique not supported":"Area: ".concat(ts(r)," ").concat(c);d.push(u)}return o&&d.push("Mean: ".concat(ts(o)," ").concat(s)),i&&d.push("Max: ".concat(ts(i)," ").concat(s)),a&&d.push("Std Dev: ".concat(ts(a)," ").concat(s)),d}ne(Cg,"toolName",void 0),Cg.toolName="EllipticalROI";var _g=Cg;function Dg(e){var t=lt(e,2);return iu(t[0],t[1])}function Og(e){var t=lt(e,2),n=t[0],r=iu(n,t[1]);return[[n[0]-r,n[1]-r],[n[0]+r,n[1]+r]]}var Sg=Y.utilities.transformWorldToIndex,xg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,centerPointRadius:0,getTextLines:Mg,statsCalculator:vd}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",!1),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(r.canvas,(0,Y.getEnabledElement)(o)),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},points:[Nr(a),Nr(a)],activeHandleIndex:null},cachedStats:{}}};et(g,o);var h=js(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(c,h),g})),ne(da(e),"isPointNearTool",(function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=t.data.handles.points.map((function(e){return o.worldToCanvas(e)})),i=Dg(a),l=Dg([a[0],n]);return Math.abs(l-i)<r/2})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},$l(r),e._activateModify(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),t.preventDefault()})),ne(da(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l=!1;r.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===r}));var c=js(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},e._activateModify(o),$l(o);var s=(0,Y.getEnabledElement)(o).renderingEngine;aa(s,c),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}}})),ne(da(e),"_dragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,Y.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=s.data;u.handles.points=[u.handles.points[0],l(o)],s.invalidated=!0,e.editData.hasMoved=!0,aa(i,d)})),ne(da(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var g=(0,Y.getEnabledElement)(r).renderingEngine;aa(g,i)})),ne(da(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,Y.getEnabledElement)(r).viewport,a=o.canvasToWorld,i=o.worldToCanvas,l=e.editData,c=l.annotation,s=l.handleIndex,d=c.data.handles.points,u=d.map((function(e){return i(e)})),v=n.currentPoints.canvas;if(0===s){var f=v[0]-u[0][0],g=v[1]-u[0][1],h=v,p=[u[1][0]+f,u[1][1]+g];d[0]=a(h),d[1]=a(p)}else d[1]=a(v)})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragDrawCallback),t.addEventListener($.MOUSE_MOVE,e._dragDrawCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragDrawCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragDrawCallback),t.removeEventListener($.MOUSE_MOVE,e._dragDrawCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragDrawCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles,g=v.points,h=v.activeHandleIndex;u.annotationUID=o;var p,m=e.getStyle("lineWidth",u,r),w=e.getStyle("lineDash",u,r),E=e.getStyle("color",u,r),y=g.map((function(e){return i.worldToCanvas(e)})),I=y[0],b=Dg(y),C=Og(y),T=e.configuration.centerPointRadius,_={isPreScaled:sd(i,s),isSuvScaled:e.isSuvScaled(i,s,r.metadata.referencedImageId)};if(l.cachedStats[s]&&void 0!==l.cachedStats[s].areaUnit){if(r.invalidated&&(e._throttledCalculateCachedStats(r,i,d,t,_),i instanceof Y.VolumeViewport)){var D=r.metadata.referencedImageId;for(var O in l.cachedStats)O.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=Y.utilities.imageIdToURI(D),n=e.hasImageURI(t),r=Y.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[O]}}else l.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null,radius:null,radiusUnit:null,perimeter:null},e._calculateCachedStats(r,i,d,t,_);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};if(!Me(o))return"continue";se(r)||e.editData||null===h||(p=[y[h]]),p&&kc(n,o,"0",p,{color:E});var S="".concat(o,"-circle");xc(n,o,"0",I,b,{color:E,lineDash:w,lineWidth:m},S),T>0&&b>3*T&&xc(n,o,"".concat("0","-center"),I,T,{color:E,lineDash:w,lineWidth:m}),a=!0;var x=e.getLinkedTextBoxStyle(u,r);if(!x.visibility)return l.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},"continue";var M,k=e.configuration.getTextLines(l,s);if(!k||0===k.length)return"continue";l.handles.textBox.hasMoved||(M=id(C),l.handles.textBox.worldPosition=i.canvasToWorld(M));var R=i.worldToCanvas(l.handles.textBox.worldPosition),P=Bc(n,o,"1",k,R,y,{},x),N=P.x,A=P.y,L=P.width,U=P.height;l.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([N,A]),topRight:i.canvasToWorld([N+L,A]),bottomLeft:i.canvasToWorld([N,A+U]),bottomRight:i.canvasToWorld([N+L,A+U])}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),ne(da(e),"_calculateCachedStats",(function(t,n,r,o,a){for(var i=t.data,l=o.viewportId,c=o.renderingEngineId,s=i.handles.points.map((function(e){return n.worldToCanvas(e)})),d=n.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=lt(Og(s),2),g=f[0],h=f[1],p=n.canvasToWorld(g),m=n.canvasToWorld(h),w=i.cachedStats,E=Object.keys(w),y=p,I=m,b=function(){var n=E[C],o=e.getTargetIdImage(n,r);if(!o)return"continue";var i=o.dimensions,l=o.imageData,c=o.metadata,s=(o.hasPixelSpacing,Sg(l,y));s[0]=Math.floor(s[0]),s[1]=Math.floor(s[1]),s[2]=Math.floor(s[2]);var d=Sg(l,I);if(d[0]=Math.floor(d[0]),d[1]=Math.floor(d[1]),d[2]=Math.floor(d[2]),e._isInsideVolume(s,d,i)){var f,g,h,b=[[Math.min(s[0],d[0]),Math.max(s[0],d[0])],[Math.min(s[1],d[1]),Math.max(s[1],d[1])],[Math.min(s[2],d[2]),Math.max(s[2],d[2])]],T={center:[(p[0]+m[0])/2,(p[1]+m[1])/2,(p[2]+m[2])/2],xRadius:Math.abs(p[0]-m[0])/2,yRadius:Math.abs(p[1]-m[1])/2,zRadius:Math.abs(p[2]-m[2])/2},_=Ig(u,v,y,I),D=_.worldWidth,O=_.worldHeight,S=0===D&&0===O,x=td(o),M=function(e){var t;return(null===(t=e.calibration)||void 0===t?void 0:t.aspect)||1}(o),k=Math.abs(Math.PI*(D/x/2)*(O/M/x/2)),R=cd(c.Modality,t.metadata.referencedImageId,a),P=Zc(l,(function(e,t){return cs(T,e)}),e.configuration.statsCalculator.statsCallback,b),N=e.configuration.statsCalculator.getStatistics();w[n]={Modality:c.Modality,area:k,mean:null===(f=N[1])||void 0===f?void 0:f.value,max:null===(g=N[0])||void 0===g?void 0:g.value,stdDev:null===(h=N[2])||void 0===h?void 0:h.value,statsArray:N,pointsInShape:P,isEmptyArea:S,areaUnit:ed(0,o),radius:D/2/x,radiusUnit:Qs(0,o),perimeter:2*Math.PI*(D/2)/x,modalityUnit:R}}else e.isHandleOutsideImage=!0,w[n]={Modality:c.Modality}},C=0;C<E.length;C++)b();t.invalidated=!1;var T=$.ANNOTATION_MODIFIED,_={annotation:t,viewportId:l,renderingEngineId:c};return(0,Y.triggerEvent)(Y.eventTarget,T,_),w})),ne(da(e),"_isInsideVolume",(function(e,t,n){return Y.utilities.indexWithinDimensions(e,n)&&Y.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o)}($s);function Mg(e,t){var n=e.cachedStats[t],r=n.radius,o=n.radiusUnit,a=n.area,i=n.mean,l=n.stdDev,c=n.max,s=n.isEmptyArea,d=(n.Modality,n.areaUnit),u=n.modalityUnit,v=[];if(r){var f=s?"Radius: Oblique not supported":"Radius: ".concat(ts(r)," ").concat(o);v.push(f)}if(a){var g=s?"Area: Oblique not supported":"Area: ".concat(ts(a)," ").concat(d);v.push(g)}return i&&v.push("Mean: ".concat(ts(i)," ").concat(u)),c&&v.push("Max: ".concat(ts(c)," ").concat(u)),l&&v.push("Std Dev: ".concat(ts(l)," ").concat(u)),v}ne(xg,"toolName",void 0),xg.toolName="CircleROI";var kg=xg;var Rg=Y.utilities.transformWorldToIndex,Pg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{preventHandleOutsideImage:!1,getTextLines:Ng}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"preventHandleOutsideImage",void 0),ne(da(e),"isPointNearTool",(function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=t.data.handles.points,i=o.worldToCanvas(a[0]),l=o.worldToCanvas(a[1]),c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}},s=od([c.start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]);return s<=r||(i=o.worldToCanvas(a[2]),l=o.worldToCanvas(a[3]),(s=od([(c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}}).start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]))<=r)})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),$l(r),t.preventDefault()})),ne(da(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l=!1;r.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===r}));var c=js(o,e.getToolName());$l(o),e.editData={annotation:n,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},e._activateModify(o);var s=(0,Y.getEnabledElement)(o).renderingEngine;aa(s,c),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(void 0!==e.editData.handleIndex){var d=c.handles.points,u=fc.vec3.distance(d[0],d[1]);if(fc.vec3.distance(d[2],d[3])>u){var v=[Nr(d[2]),Nr(d[3])],f=Nr(d[0]),g=Nr(d[1]),h=fc.vec2.create();fc.vec2.set(h,v[1][0]-v[0][0],v[1][1]-v[1][0]);var p=fc.vec2.create();fc.vec2.set(p,-h[1],h[0]);var m,w=fc.vec2.create();fc.vec2.set(w,g[0]-f[0],g[1]-f[0]),m=fc.vec2.dot(w,p)>0?[f,g]:[g,f],c.handles.points=[v[0],v[1],m[0],m[1]]}}if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var E=$.ANNOTATION_COMPLETED,y={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,E,y)}e.editData=null,e.isDrawing=!1}})),ne(da(e),"_dragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=(0,Y.getEnabledElement)(o),i=a.renderingEngine,l=a.viewport,c=l.worldToCanvas,s=e.editData,d=s.annotation,u=s.viewportIdsToRender,v=s.handleIndex,f=d.data,g=r.world;f.handles.points[v]=Nr(g);var h=f.handles.points.map(c),p={x:h[0][0],y:h[0][1]},m={x:h[1][0],y:h[1][1]},w=(h[2][0],h[2][1],h[3][0],h[3][1],fc.vec2.distance(h[0],h[1])/3),E=p.x-m.x,y=p.y-m.y,I=Math.sqrt(E*E+y*y),b=E/I,C=y/I,T=(p.x+m.x)/2,_=(p.y+m.y)/2,D=T+w*C,O=_-w*b,S=T-w*C,x=_+w*b;f.handles.points[2]=l.canvasToWorld([D,O]),f.handles.points[3]=l.canvasToWorld([S,x]),d.invalidated=!0,aa(i,u),e.editData.hasMoved=!0})),ne(da(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=(0,Y.getEnabledElement)(r).renderingEngine,a=e.editData,i=a.annotation,l=a.viewportIdsToRender,c=a.handleIndex,s=a.movingTextBox,d=i.data;if(s){var u=n.deltaPoints.world,v=d.handles.textBox,f=v.worldPosition;f[0]+=u[0],f[1]+=u[1],f[2]+=u[2],v.hasMoved=!0}else if(void 0===c){var g=n.deltaPoints.world;d.handles.points.forEach((function(e){e[0]+=g[0],e[1]+=g[1],e[2]+=g[2]})),i.invalidated=!0}else e._dragModifyHandle(t),i.invalidated=!0;aa(o,l)})),ne(da(e),"_dragModifyHandle",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=(0,Y.getEnabledElement)(o).viewport,i=e.editData,l=i.annotation,c=i.handleIndex,s=l.data,d=r.world,u=[a.worldToCanvas(s.handles.points[0]),a.worldToCanvas(s.handles.points[1]),a.worldToCanvas(s.handles.points[2]),a.worldToCanvas(s.handles.points[3])],v={start:{x:u[0][0],y:u[0][1]},end:{x:u[1][0],y:u[1][1]}},f={start:{x:u[2][0],y:u[2][1]},end:{x:u[3][0],y:u[3][1]}},g=Nr(d),h=a.worldToCanvas(g);if(0===c||1===c){var p=u[0===c?1:0],m=fc.vec2.set(fc.vec2.create(),h[0]-p[0],h[1]-p[1]),w=fc.vec2.set(fc.vec2.create(),u[c][0]-p[0],u[c][1]-p[1]);fc.vec2.normalize(m,m),fc.vec2.normalize(w,w);var E={start:{x:p[0],y:p[1]},end:{x:h[0],y:h[1]}};if(e._movingLongAxisWouldPutItThroughShortAxis(E,f))return;var y=p,I=e._getSignedAngle(w,m),b=u[2][0],C=u[2][1],T=u[3][0],_=u[3][1];b-=y[0],C-=y[1],T-=y[0],_-=y[1];var D=b*Math.cos(I)-C*Math.sin(I),O=b*Math.sin(I)+C*Math.cos(I),S=T*Math.cos(I)-_*Math.sin(I),x=T*Math.sin(I)+_*Math.cos(I);b=D+y[0],C=O+y[1],T=S+y[0],_=x+y[1];var M=a.canvasToWorld([b,C]),k=a.canvasToWorld([T,_]);s.handles.points[c]=g,s.handles.points[2]=M,s.handles.points[3]=k}else{var R=2===c?3:2,P={longLineSegment:{start:v.start,end:v.end},shortLineSegment:{start:f.start,end:f.end}},N=fc.vec2.subtract(fc.vec2.create(),[P.longLineSegment.end.x,P.longLineSegment.end.y],[P.longLineSegment.start.x,P.longLineSegment.start.y]),A=fc.vec2.normalize(fc.vec2.create(),N),L=fc.vec2.subtract(fc.vec2.create(),[h[0],h[1]],[u[c][0],u[c][1]]),U=fc.vec2.length(L),V=e._getSignedAngle(A,L),B=Math.cos(V)*U,j=fc.vec2.scaleAndAdd(fc.vec2.create(),[u[R][0],u[R][1]],A,B);if(e._movingLongAxisWouldPutItThroughShortAxis({start:{x:h[0],y:h[1]},end:{x:j[0],y:j[1]}},{start:{x:P.longLineSegment.start.x,y:P.longLineSegment.start.y},end:{x:P.longLineSegment.end.x,y:P.longLineSegment.end.y}}))return;if(!Kd([h[0],h[1]],[j[0],j[1]],[v.start.x,v.start.y],[v.end.x,v.end.y]))return;s.handles.points[R]=a.canvasToWorld(j),s.handles.points[c]=g}})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragDrawCallback),t.addEventListener($.MOUSE_MOVE,e._dragDrawCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragDrawCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragDrawCallback),t.removeEventListener($.MOUSE_MOVE,e._dragDrawCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragDrawCallback)})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!0,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f=c[v],g=f.annotationUID,h=f.data,p=h.handles,m=p.points,w=p.activeHandleIndex,E=m.map((function(e){return i.worldToCanvas(e)}));u.annotationUID=g;var y=e.getStyle("lineWidth",u,f),I=e.getStyle("lineDash",u,f),b=e.getStyle("color",u,f),C=e.getStyle("shadow",u,f);if(h.cachedStats[s]&&void 0!==h.cachedStats[s].unit?f.invalidated&&e._throttledCalculateCachedStats(f,d,t):(h.cachedStats[s]={length:null,width:null,unit:null},e._calculateCachedStats(f,d,t)),!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;var T=void 0;if(Me(g)){se(f)||e.editData||null===w||(T=[E[w]]),T&&kc(n,g,"0",T,{color:b});var _="".concat(g,"-line-1"),D="".concat(g,"-line-2");Rc(n,g,"0",E[0],E[1],{color:b,lineDash:I,lineWidth:y,shadow:C},_),Rc(n,g,"1",E[2],E[3],{color:b,lineDash:I,lineWidth:y,shadow:C},D),a=!0;var O=e.getLinkedTextBoxStyle(u,f);if(O.visibility){var S=e.configuration.getTextLines(h,s);if(S&&0!==S.length){var x=void 0;h.handles.textBox.hasMoved||(x=id(E),h.handles.textBox.worldPosition=i.canvasToWorld(x));var M=i.worldToCanvas(h.handles.textBox.worldPosition),k=Bc(n,g,"1",S,M,E,{},O),R=k.x,P=k.y,N=k.width,A=k.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([R,P]),topRight:i.canvasToWorld([R+N,P]),bottomLeft:i.canvasToWorld([R,P+A]),bottomRight:i.canvasToWorld([R+N,P+A])}}}else h.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),ne(da(e),"_movingLongAxisWouldPutItThroughShortAxis",(function(e,t){var n=fc.vec2.create();fc.vec2.set(n,t.end.x-t.start.x,t.end.y-t.start.y),fc.vec2.normalize(n,n);var r={start:{x:t.start.x-10*n[0],y:t.start.y-10*n[1]},end:{x:t.end.x+10*n[0],y:t.end.y+10*n[1]}};return!Kd([r.start.x,r.start.y],[r.end.x,r.end.y],[e.start.x,e.start.y],[e.end.x,e.end.y])})),ne(da(e),"_calculateCachedStats",(function(t,n,r){for(var o=t.data,a=r.viewportId,i=r.renderingEngineId,l=o.handles.points[0],c=o.handles.points[1],s=o.handles.points[2],d=o.handles.points[3],u=o.cachedStats,v=Object.keys(u),f=0;f<v.length;f++){var g=v[f],h=e.getTargetIdImage(g,n);if(h){var p=h.imageData,m=h.dimensions,w=td(h),E=e._calculateLength(l,c)/w,y=e._calculateLength(s,d)/w,I=E>y?E:y,b=E>y?y:E,C=Rg(p,l),T=Rg(p,c),_=Rg(p,s),D=Rg(p,d);e._isInsideVolume(C,T,_,D,m)?e.isHandleOutsideImage=!1:e.isHandleOutsideImage=!0,u[g]={length:I,width:b,unit:Qs(0,h)}}}t.invalidated=!1;var O=$.ANNOTATION_MODIFIED,S={annotation:t,viewportId:a,renderingEngineId:i};return(0,Y.triggerEvent)(Y.eventTarget,O,S),u})),ne(da(e),"_isInsideVolume",(function(e,t,n,r,o){return Y.utilities.indexWithinDimensions(e,o)&&Y.utilities.indexWithinDimensions(t,o)&&Y.utilities.indexWithinDimensions(n,o)&&Y.utilities.indexWithinDimensions(r,o)})),ne(da(e),"_getSignedAngle",(function(e,t){return Math.atan2(e[0]*t[1]-e[1]*t[0],e[0]*t[0]+e[1]*t[1])})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o,[{key:"addNewAnnotation",value:function(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=(0,Y.getEnabledElement)(r),i=a.viewport,l=a.renderingEngine;this.isDrawing=!0;var c=i.getCamera(),s=c.viewPlaneNormal,d=c.viewUp,u=this.getReferencedImageId(i,o,s,d),v=i.getFrameOfReferenceUID(),f={highlighted:!0,invalidated:!0,metadata:{toolName:this.getToolName(),viewPlaneNormal:Nr(s),viewUp:Nr(d),FrameOfReferenceUID:v,referencedImageId:u},data:{handles:{points:[Nr(o),Nr(o),Nr(o),Nr(o)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},label:"",cachedStats:{}}};et(f,r);var g=js(r,this.getToolName());return this.editData={annotation:f,viewportIdsToRender:g,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},this._activateDraw(r),$l(r),e.preventDefault(),aa(l,g),f}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}}]),o}($s);function Ng(e,t){var n=e.cachedStats[t],r=n.length,o=n.width,a=n.unit;if(void 0!==r)return["L: ".concat(ts(r)," ").concat(a),"W: ".concat(ts(o)," ").concat(a)]}ne(Pg,"toolName",void 0),Pg.toolName="Bidirectional";var Ag=Pg;var Lg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,getTextCallback:Ug,changeTextCallback:Vg,preventHandleOutsideImage:!1,arrowFirst:!0}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;$l(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=e.configuration.arrowFirst,g=l.getFrameOfReferenceUID(),h={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:g,referencedImageId:v},data:{text:"",handles:{points:[Nr(a),Nr(a)],activeHandleIndex:null,arrowFirst:f,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:""}};et(h,o);var p=js(o,e.getToolName());return e.editData={annotation:h,viewportIdsToRender:p,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),aa(c,p),h})),ne(da(e),"isPointNearTool",(function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=lt(t.data.handles.points,2),i=a[0],l=a[1],c=o.worldToCanvas(i),s=o.worldToCanvas(l),d={start:{x:c[0],y:c[1]},end:{x:s[0],y:s[1]}};return od([d.start.x,d.start.y],[d.end.x,d.end.y],[n[0],n[1]])<=r})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),$l(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n),d=s.viewportId,u=s.renderingEngineId,v=s.renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),i)e.configuration.getTextCallback((function(t){if(!t)return nt(o.annotationUID),aa(v,a),e.editData=null,void(e.isDrawing=!1);o.data.text=t;var n=$.ANNOTATION_COMPLETED,r={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,n,r),aa(v,a)}));else{var f=$.ANNOTATION_MODIFIED,g={annotation:o,viewportId:d,renderingEngineId:u};(0,Y.triggerEvent)(Y.eventTarget,f,g)}e.editData=null,e.isDrawing=!1}})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Nr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,Y.getEnabledElement)(r).renderingEngine;aa(h,i)})),ne(da(e),"touchTapCallback",(function(t){2==t.detail.taps&&e.doubleClickCallback(t)})),ne(da(e),"doubleClickCallback",(function(t){var n,r=t.detail,o=r.element,a=Qe(e.getToolName(),o);if(null!==(n=a=e.filterInteractableAnnotationsForElement(o,a))&&void 0!==n&&n.length){var i=a.find((function(t){return e.isPointNearTool(o,t,r.currentPoints.canvas,6)}));if(i){var l=i;e.configuration.changeTextCallback(i,t.detail,e._doneChangingTextCallback.bind(da(e),o,l)),e.editData=null,e.isDrawing=!1,t.stopImmediatePropagation(),t.preventDefault()}}})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_END,e._endCallback)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_MOVE,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_MOVE,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},d=0;d<c.length;d++){var u=c[d],v=u.annotationUID,f=u.data,g=f.handles,h=f.text,p=g.points,m=g.activeHandleIndex;s.annotationUID=v;var w=e.getStyle("lineWidth",s,u),E=e.getStyle("lineDash",s,u),y=e.getStyle("color",s,u),I=p.map((function(e){return i.worldToCanvas(e)})),b=void 0;if(se(u)||e.editData||null===m||(b=[I[m]]),b&&kc(n,v,"0",I,{color:y,lineWidth:w}),e.configuration.arrowFirst?Hc(n,v,"1",I[1],I[0],{color:y,width:w,lineDash:E}):Hc(n,v,"1",I[0],I[1],{color:y,width:w,lineDash:E}),a=!0,!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;if(h){var C=e.getLinkedTextBoxStyle(s,u);if(C.visibility){if(!f.handles.textBox.hasMoved){var T=I[1];f.handles.textBox.worldPosition=i.canvasToWorld(T)}var _=i.worldToCanvas(f.handles.textBox.worldPosition),D=Bc(n,v,"1",[h],_,I,{},C),O=D.x,S=D.y,x=D.width,M=D.height;f.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([O,S]),topRight:i.canvasToWorld([O+x,S]),bottomLeft:i.canvasToWorld([O,S+M]),bottomRight:i.canvasToWorld([O+x,S+M])}}else f.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e}return ee(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=js(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),$l(r);var c=(0,Y.getEnabledElement)(r).renderingEngine;aa(c,l),e.preventDefault()}},{key:"_doneChangingTextCallback",value:function(e,t,n){t.data.text=n;var r=(0,Y.getEnabledElement)(e),o=r.renderingEngine,a=r.viewportId,i=r.renderingEngineId,l=js(e,this.getToolName());aa(o,l);var c=$.ANNOTATION_MODIFIED;(0,Y.triggerEvent)(Y.eventTarget,c,{annotation:t,viewportId:a,renderingEngineId:i})}},{key:"_isInsideVolume",value:function(e,t,n){return Y.utilities.indexWithinDimensions(e,n)&&Y.utilities.indexWithinDimensions(t,n)}}]),o}($s);function Ug(e){return e(prompt("Enter your annotation:"))}function Vg(e,t,n){return n(prompt("Enter your annotation:"))}ne(Lg,"toolName",void 0),Lg.toolName="ArrowAnnotate";var Bg=Lg;var jg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:Hg}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"angleStartedNotYetCompleted",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){if(!e.angleStartedNotYetCompleted){e.angleStartedNotYetCompleted=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;$l(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{handles:{points:[Nr(a),Nr(a)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};et(g,o);var h=js(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),aa(c,h),g}})),ne(da(e),"isPointNearTool",(function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=lt(t.data.handles.points,3),i=a[0],l=a[1],c=a[2],s=o.worldToCanvas(i),d=o.worldToCanvas(l),u={start:{x:s[0],y:s[1]},end:{x:d[0],y:d[1]}};if(od([u.start.x,u.start.y],[u.end.x,u.end.y],[n[0],n[1]])<=r)return!0;if(!c)return!1;var v=o.worldToCanvas(c),f={start:{x:d[0],y:d[1]},end:{x:v[0],y:v[1]}};return od([f.start.x,f.start.y],[f.end.x,f.end.y],[n[0],n[1]])<=r})),ne(da(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=js(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),$l(r);var a=(0,Y.getEnabledElement)(r).renderingEngine;aa(a,o),t.preventDefault()})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l)if(e.angleStartedNotYetCompleted&&2===c.handles.points.length)e.editData.handleIndex=2;else{e.angleStartedNotYetCompleted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}e.editData=null,e.isDrawing=!1}})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Nr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,Y.getEnabledElement)(r).renderingEngine;aa(h,i)})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,e.angleStartedNotYetCompleted=!1,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_MOVE,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_MOVE,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f,g=c[v],h=g.annotationUID,p=g.data,m=p.handles,w=m.points,E=m.activeHandleIndex;u.annotationUID=h;var y=e.getStyle("lineWidth",u,g),I=e.getStyle("lineDash",u,g),b=e.getStyle("color",u,g),C=w.map((function(e){return i.worldToCanvas(e)}));p.cachedStats[s]?g.invalidated&&e._throttledCalculateCachedStats(g,d,t):(p.cachedStats[s]={angle:null},e._calculateCachedStats(g,d,t));var T=void 0;if(se(g)||e.editData||null===E||(T=[C[E]]),!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;T&&kc(n,h,"0",C,{color:b,lineDash:I,lineWidth:y});var _="1";if(Rc(n,h,_,C[0],C[1],{color:b,width:y,lineDash:I}),a=!0,3!==C.length)return a;if(Rc(n,h,_="2",C[1],C[2],{color:b,width:y,lineDash:I}),null!==(f=p.cachedStats[s])&&void 0!==f&&f.angle){var D=e.getLinkedTextBoxStyle(u,g);if(D.visibility){var O=e.configuration.getTextLines(p,s);if(!p.handles.textBox.hasMoved){var S=C[1];p.handles.textBox.worldPosition=i.canvasToWorld(S)}var x=i.worldToCanvas(p.handles.textBox.worldPosition),M=Bc(n,h,"1",O,x,C,{},D),k=M.x,R=M.y,P=M.width,N=M.height;p.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([k,R]),topRight:i.canvasToWorld([k+P,R]),bottomLeft:i.canvasToWorld([k,R+N]),bottomRight:i.canvasToWorld([k+P,R+N])}}else p.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=js(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),$l(r);var c=(0,Y.getEnabledElement)(r).renderingEngine;aa(c,l),e.preventDefault()}},{key:"_calculateCachedStats",value:function(e,t,n){var r=e.data,o=n.viewportId,a=n.renderingEngineId;if(3===r.handles.points.length){for(var i=r.handles.points[0],l=r.handles.points[1],c=r.handles.points[2],s=r.cachedStats,d=Object.keys(s),u=0;u<d.length;u++){var v=d[u],f=Jf([i,l],[l,c]);s[v]={angle:isNaN(f)?"Incomplete Angle":f}}e.invalidated=!1;var g=$.ANNOTATION_MODIFIED,h={annotation:e,viewportId:o,renderingEngineId:a};return(0,Y.triggerEvent)(Y.eventTarget,g,h),s}}}]),o}($s);function Hg(e,t){var n=e.cachedStats[t].angle;if(void 0!==n)return["".concat(ts(n)," ").concat(String.fromCharCode(176))]}ne(jg,"toolName",void 0),jg.toolName="Angle";var Wg=jg,Fg=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=2===t[0].length?[0,0]:[0,0,0],o=t.length,a=0,i=t;a<i.length;a++){var l=i[a];r[0]+=l[0]/o,r[1]+=l[1]/o,3===r.length&&(r[2]+=l[2]/o)}return r};var Gg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:qg}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"angleStartedNotYetCompleted",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"addNewAnnotation",(function(t){if(!e.angleStartedNotYetCompleted){e.angleStartedNotYetCompleted=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;$l(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{handles:{points:[Nr(a),Nr(a)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};et(g,o);var h=js(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),aa(c,h),g}})),ne(da(e),"isPointNearTool",(function(e,t,n,r){var o=(0,Y.getEnabledElement)(e).viewport,a=lt(t.data.handles.points,4),i=a[0],l=a[1],c=a[2],s=a[3],d=o.worldToCanvas(i),u=o.worldToCanvas(l),v=o.worldToCanvas(c),f=o.worldToCanvas(s),g={start:{x:d[0],y:d[1]},end:{x:u[0],y:u[1]}},h={start:{x:v[0],y:v[1]},end:{x:f[0],y:f[1]}},p=od([g.start.x,g.start.y],[g.end.x,g.end.y],[n[0],n[1]]),m=od([h.start.x,h.start.y],[h.end.x,h.end.y],[n[0],n[1]]);return p<=r||m<=r})),ne(da(e),"toolSelectedCallback",(function(t,n,r){var o=t.detail.element;n.highlighted=!0;var a=js(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:a,movingTextBox:!1},e._activateModify(o),$l(o);var i=(0,Y.getEnabledElement)(o).renderingEngine;aa(i,a),t.preventDefault()})),ne(da(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){if(e.angleStartedNotYetCompleted&&c.handles.points.length<4)return Jl(n),void(e.editData.handleIndex=c.handles.points.length);e.angleStartedNotYetCompleted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Jl(n);var s=(0,Y.getEnabledElement)(n).renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&nt(o.annotationUID),aa(s,a),i){var d=$.ANNOTATION_COMPLETED,u={annotation:o};(0,Y.triggerEvent)(Y.eventTarget,d,u)}e.editData=null,e.isDrawing=!1}})),ne(da(e),"_mouseDownCallback",(function(t){var n=e.editData,r=n.annotation,o=n.handleIndex,a=t.detail,i=a.element,l=a.currentPoints.world,c=r.data;return 1===o?(c.handles.points[1]=l,void(e.editData.hasMoved=c.handles.points[1][0]!==c.handles.points[0][0]||c.handles.points[1][1]!==c.handles.points[0][0])):3===o?(c.handles.points[3]=l,e.editData.hasMoved=c.handles.points[3][0]!==c.handles.points[2][0]||c.handles.points[3][1]!==c.handles.points[2][0],void(e.angleStartedNotYetCompleted=!1)):(e.editData.hasMoved=!1,$l(i),c.handles.points[2]=c.handles.points[3]=l,void(e.editData.handleIndex=c.handles.points.length-1))})),ne(da(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Nr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,Y.getEnabledElement)(r).renderingEngine;aa(h,i)})),ne(da(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Jl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,Y.getEnabledElement)(t).renderingEngine;if(aa(l,o),a){var c=$.ANNOTATION_COMPLETED,s={annotation:r};(0,Y.triggerEvent)(Y.eventTarget,c,s)}return e.editData=null,e.angleStartedNotYetCompleted=!1,r.annotationUID}})),ne(da(e),"_activateModify",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._mouseUpCallback),t.addEventListener($.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener($.MOUSE_CLICK,e._mouseUpCallback)})),ne(da(e),"_deactivateModify",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._mouseUpCallback),t.removeEventListener($.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener($.MOUSE_CLICK,e._mouseUpCallback)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._mouseUpCallback),t.addEventListener($.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener($.MOUSE_MOVE,e._mouseDragCallback),t.addEventListener($.MOUSE_CLICK,e._mouseUpCallback),t.addEventListener($.MOUSE_DOWN,e._mouseDownCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._mouseUpCallback),t.removeEventListener($.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener($.MOUSE_MOVE,e._mouseDragCallback),t.removeEventListener($.MOUSE_CLICK,e._mouseUpCallback),t.removeEventListener($.MOUSE_DOWN,e._mouseDownCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=Qe(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f,g=c[v],h=g.annotationUID,p=g.data,m=p.handles,w=m.points,E=m.activeHandleIndex;u.annotationUID=h;var y=e.getStyle("lineWidth",u,g),I=e.getStyle("lineDash",u,g),b=e.getStyle("color",u,g),C=w.map((function(e){return i.worldToCanvas(e)}));p.cachedStats[s]?g.invalidated&&e._throttledCalculateCachedStats(g,d,t):(p.cachedStats[s]={angle:null},e._calculateCachedStats(g,d,t));var T=void 0;if(se(g)||e.editData||null===E||(T=[C[E]]),!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;T&&kc(n,h,"0",C,{color:b,lineDash:I,lineWidth:y});var _="1";if(Rc(n,h,_,C[0],C[1],{color:b,width:y,lineDash:I}),a=!0,C.length<4)return a;if(Rc(n,h,_="2",C[2],C[3],{color:b,width:y,lineDash:I}),Rc(n,h,_="3",Fg(C[0],C[1]),Fg(C[2],C[3]),{color:b,lineWidth:"1",lineDash:"1,4"}),null!==(f=p.cachedStats[s])&&void 0!==f&&f.angle){var D=e.getLinkedTextBoxStyle(u,g);if(D.visibility){var O=e.configuration.getTextLines(p,s);if(!p.handles.textBox.hasMoved){var S=id(C);p.handles.textBox.worldPosition=i.canvasToWorld(S)}var x=i.worldToCanvas(p.handles.textBox.worldPosition),M=Bc(n,h,"1",O,x,C,{},D),k=M.x,R=M.y,P=M.width,N=M.height;p.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([k,R]),topRight:i.canvasToWorld([k+P,R]),bottomLeft:i.canvasToWorld([k,R+N]),bottomRight:i.canvasToWorld([k+P,R+N])}}else p.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e._throttledCalculateCachedStats=Yc(e._calculateCachedStats,100,{trailing:!0}),e}return ee(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=js(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),$l(r);var c=(0,Y.getEnabledElement)(r).renderingEngine;aa(c,l),e.preventDefault()}},{key:"_calculateCachedStats",value:function(e,t,n){var r=e.data,o=n.viewportId,a=n.renderingEngineId;if(4===r.handles.points.length){for(var i=[null,null],l=[null,null],c=Number.MAX_VALUE,s=0;s<2;s+=1)for(var d=2;d<4;d+=1){var u=fc.vec3.distance(r.handles.points[s],r.handles.points[d]);u<c&&(c=u,i[1]=r.handles.points[s],i[0]=r.handles.points[(s+1)%2],l[0]=r.handles.points[d],l[1]=r.handles.points[2+(d-1)%2])}for(var v=r.cachedStats,f=Object.keys(v),g=0;g<f.length;g++){var h=f[g],p=Jf(i,l);v[h]={angle:p}}e.invalidated=!1;var m=$.ANNOTATION_MODIFIED,w={annotation:e,viewportId:o,renderingEngineId:a};return(0,Y.triggerEvent)(Y.eventTarget,m,w),v}}}]),o}($s);function qg(e,t){var n=e.cachedStats[t].angle;if(void 0!==n)return["".concat(n.toFixed(2)," ").concat(String.fromCharCode(176))]}ne(Gg,"toolName",void 0),Gg.toolName="CobbAngle";var zg=Gg;var Kg="magnify-viewport",Yg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{magnifySize:10,magnifyWidth:250,magnifyHeight:250}};return te(this,o),ne(da(e=r.call(this,t,n)),"_bounds",void 0),ne(da(e),"editData",void 0),ne(da(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.element,o=n.currentPoints,a=(0,Y.getEnabledElement)(r),i=a.viewport,l=a.renderingEngine;if(!(i instanceof Y.StackViewport))throw new Error("MagnifyTool only works on StackViewports");var c=e._getReferencedImageId(i);if(!c)throw new Error("MagnifyTool: No referenced image id found, reconstructed planes not supported yet");var s=js(r,e.getToolName());return e.editData={referencedImageId:c,viewportIdsToRender:s,enabledElement:a,renderingEngine:l,currentPoints:o},e._createMagnificationViewport(),e._activateDraw(r),$l(r),t.preventDefault(),aa(l,s),!0})),ne(da(e),"preTouchStartCallback",(function(t){e.preMouseDownCallback(t)})),ne(da(e),"_createMagnificationViewport",(function(){var t,n=e.editData,r=n.enabledElement,o=n.referencedImageId,a=n.viewportIdsToRender,i=n.renderingEngine,l=n.currentPoints,c=r.viewport,s=c.element,d=c.getProperties().voiRange,u=l.canvas,v=l.world;if(null===(t=s.querySelector(".magnifyTool"))){var f=document.createElement("div");f.classList.add("magnifyTool"),f.style.display="block",f.style.width="".concat(e.configuration.magnifyWidth,"px"),f.style.height="".concat(e.configuration.magnifyHeight,"px"),f.style.position="absolute",t=f,s.querySelector(".viewport-element").appendChild(f);var g={viewportId:Kg,type:Y.Enums.ViewportType.STACK,element:t};i.enableElement(g)}t.style.top="".concat(u[1]-e.configuration.magnifyHeight/2,"px"),t.style.left="".concat(u[0]-e.configuration.magnifyWidth/2,"px");var h=i.getViewport(Kg);h.setStack([o]).then((function(){h.setProperties({voiRange:d});var t=c.getCamera().parallelScale,n=h.getCamera(),r=n.focalPoint,o=n.position,a=n.viewPlaneNormal,i=Math.sqrt(Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2)),l=[v[0],v[1],v[2]],s=[l[0]+i*a[0],l[1]+i*a[1],l[2]+i*a[2]];h.setCamera({parallelScale:t*(1/e.configuration.magnifySize),focalPoint:l,position:s}),h.render()})),t.style.display="block",aa(i,a)})),ne(da(e),"_dragCallback",(function(t){var n=t.detail,r=n.deltaPoints,o=n.element,a=n.currentPoints,i=r.world,l=a.canvas,c=(0,Y.getEnabledElement)(o).renderingEngine.getViewport(Kg),s=o.querySelector(".magnifyTool");if(s){s.style.top="".concat(l[1]-e.configuration.magnifyHeight/2,"px"),s.style.left="".concat(l[0]-e.configuration.magnifyWidth/2,"px");var d=c.getCamera(),u=d.focalPoint,v=d.position,f=[v[0]+i[0],v[1]+i[1],v[2]+i[2]],g=[u[0]+i[0],u[1]+i[1],u[2]+i[2]];c.setCamera({focalPoint:g,position:f}),c.render()}})),ne(da(e),"_dragEndCallback",(function(t){var n=t.detail.element;(0,Y.getEnabledElement)(n).renderingEngine.disableElement(Kg);var r=n.querySelector(".viewport-element"),o=r.querySelector(".magnifyTool");r.removeChild(o),e._deactivateDraw(n),Jl(n)})),ne(da(e),"_activateDraw",(function(t){Ge.isInteractingWithTool=!0,t.addEventListener($.MOUSE_UP,e._dragEndCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._dragEndCallback),t.addEventListener($.TOUCH_END,e._dragEndCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_deactivateDraw",(function(t){Ge.isInteractingWithTool=!1,t.removeEventListener($.MOUSE_UP,e._dragEndCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._dragEndCallback),t.removeEventListener($.TOUCH_END,e._dragEndCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback)})),e}return ee(o,[{key:"_getReferencedImageId",value:function(e){var t,n=this.getTargetId(e);return e instanceof Y.StackViewport&&(t=n.split("imageId:")[1]),t}}]),o}(Ra);ne(Yg,"toolName",void 0),Yg.toolName="Magnify";var Jg=Yg;var $g=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,displayThreshold:5,positionSync:!0,disableCursor:!1}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"isDrawing",!1),ne(da(e),"isHandleOutsideImage",!1),ne(da(e),"_elementWithCursor",null),ne(da(e),"_currentCursorWorldPosition",null),ne(da(e),"_currentCanvasPosition",null),ne(da(e),"_disableCursorEnabled",!1),ne(da(e),"mouseMoveCallback",(function(t){var n=t.detail,r=n.element,o=n.currentPoints;e._currentCursorWorldPosition=o.world,e._currentCanvasPosition=o.canvas,e._elementWithCursor=r;var a=e.getActiveAnnotation(r);return null===a?(e.createInitialAnnotation(o.world,r),!1):(e.updateAnnotationPosition(r,a),!1)})),ne(da(e),"createInitialAnnotation",(function(t,n){var r=(0,Y.getEnabledElement)(n);if(!r)throw new Error("No enabled element found");var o=r.viewport,a=r.renderingEngine;e.isDrawing=!0;var i=o.getCamera(),l=i.viewPlaneNormal,c=i.viewUp;if(!l||!c)throw new Error("Camera not found");var s=e.getReferencedImageId(o,t,l,c),d=o.getFrameOfReferenceUID(),u={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(l),viewUp:Nr(c),FrameOfReferenceUID:d,referencedImageId:s},data:{label:"",handles:{points:[Nr(t)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}};if(Qe(e.getToolName(),n).length>0)return null;if(null!==et(u,n)){var v=js(n,e.getToolName(),!1);aa(a,v)}})),ne(da(e),"onCameraModified",(function(t){var n=t.detail,r=n.element,o=n.previousCamera,a=n.camera,i=(0,Y.getEnabledElement)(r).viewport;if(r===e._elementWithCursor){var l=o.focalPoint,c=a.viewPlaneNormal,s=a.focalPoint,d=[0,0,0];if(cu().subtract(s,l,d),0!==d.reduce((function(e,t){return e+t}),0)){var u=cu().dot(d,c);if(!(Math.abs(u)<.01)&&e._currentCanvasPosition){var v=i.canvasToWorld(e._currentCanvasPosition);e._currentCursorWorldPosition=v,e.updateAnnotationPosition(r,e.getActiveAnnotation(r))}}}})),ne(da(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=(t.FrameOfReferenceUID,e._elementWithCursor===i.element);e.configuration.positionSync&&!l&&e.updateViewportImage(i);var c=i.element,s=Qe(e.getToolName(),c);if(null===(r=s)||void 0===r||!r.length)return a;if(null===(o=s=e.filterInteractableAnnotationsForElement(c,s))||void 0===o||!o.length)return a;for(var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=0;u<s.length;u++){var v=s[u],f=v.annotationUID,g=v.data.handles.points;if(!f)return a;d.annotationUID=f;var h=parseFloat(e.getStyle("lineWidth",d,v)),p=e.getStyle("lineDash",d,v),m=e.getStyle("color",d,v);if(g[0].some((function(e){return isNaN(e)})))return a;var w=g.map((function(e){return i.worldToCanvas(e)}));if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;if(Me(f)){var E={upper:"upper",right:"right",lower:"lower",left:"left"},y=lt(w[0],2),I=y[0],b=y[1],C=l?20:7,T=l?5:7;Rc(n,f,E.upper,[I,b-(C/2+T)],[I,b-C/2],{color:m,lineDash:p,lineWidth:h}),Rc(n,f,E.lower,[I,b+(C/2+T)],[I,b+C/2],{color:m,lineDash:p,lineWidth:h}),Rc(n,f,E.right,[I+(C/2+T),b],[I+C/2,b],{color:m,lineDash:p,lineWidth:h}),Rc(n,f,E.left,[I-(C/2+T),b],[I-C/2,b],{color:m,lineDash:p,lineWidth:h}),a=!0}}return a})),e._disableCursorEnabled=e.configuration.disableCursor,e}return ee(o,[{key:"onSetToolActive",value:function(){if(this._disableCursorEnabled=this.configuration.disableCursor,this._disableCursorEnabled){var e=sa(this.toolGroupId).viewportsInfo;e&&e.map((function(e){return(0,Y.getEnabledElementByIds)(e.viewportId,e.renderingEngineId)})).forEach((function(e){e&&$l(e.viewport.element)}))}}},{key:"onSetToolDisabled",value:function(){if(this._disableCursorEnabled){var e=sa(this.toolGroupId).viewportsInfo;e&&e.map((function(e){return(0,Y.getEnabledElementByIds)(e.viewportId,e.renderingEngineId)})).forEach((function(e){e&&Jl(e.viewport.element)}))}}},{key:"getActiveAnnotation",value:function(e){var t=Qe(this.getToolName(),e);return t.length?t[0]:null}},{key:"updateAnnotationPosition",value:function(e,t){var n,r,o=this._currentCursorWorldPosition;if(o&&null!==(n=t.data)&&void 0!==n&&null!==(r=n.handles)&&void 0!==r&&r.points){t.data.handles.points=[Nr(o)],t.invalidated=!0;var a=js(e,this.getToolName(),!1),i=(0,Y.getEnabledElement)(e);if(i){var l=i.renderingEngine;aa(l,a)}}}},{key:"filterInteractableAnnotationsForElement",value:function(e,t){var n,r,o;if(!(t instanceof Array)||0===t.length)return[];var a=t[0],i=null===(n=(0,Y.getEnabledElement)(e))||void 0===n?void 0:n.viewport;if(!i)return[];var l=i.getCamera(),c=l.viewPlaneNormal,s=l.focalPoint;if(!c||!s)return[];var d=null===(r=a.data)||void 0===r||null===(o=r.handles)||void 0===o?void 0:o.points;if(!(d instanceof Array)||1!==d.length)return[];var u=d[0],v=Y.utilities.planar.planeEquation(c,s);return Y.utilities.planar.planeDistanceToPoint(v,u)<this.configuration.displayThreshold?[a]:[]}},{key:"updateViewportImage",value:function(e){var t=this._currentCursorWorldPosition;if(t&&!t.some((function(e){return isNaN(e)})))if(e instanceof Y.StackViewport){var n=Y.utilities.getClosestStackImageIndexForPoint(t,e);if(null===n)return;n!==e.getCurrentImageIdIndex()&&e.setImageIdIndex(n)}else if(e instanceof Y.VolumeViewport){var r=e.getCamera(),o=r.focalPoint,a=r.viewPlaneNormal;if(!o||!a)return;var i=Y.utilities.planar.planeEquation(a,o),l=Y.utilities.planar.planeDistanceToPoint(i,t,!0);if(Math.abs(l)<.5)return;var c=fc.vec3.normalize(fc.vec3.create(),fc.vec3.fromValues.apply(fc.vec3,Nr(a))),s=fc.vec3.scale(fc.vec3.create(),c,l),d=fc.vec3.add(fc.vec3.create(),fc.vec3.fromValues.apply(fc.vec3,Nr(o)),s);e.setCamera({focalPoint:d});var u=e.getRenderingEngine();u&&u.renderViewport(e.id)}}}]),o}(Ks);ne($g,"toolName",void 0),$g.toolName="ReferenceCursors";var Zg=$g;var Xg=[],Qg=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{viewportId:"",scaleLocation:"bottom"}};return te(this,o),ne(da(e=r.call(this,t,n)),"touchDragCallback",void 0),ne(da(e),"mouseDragCallback",void 0),ne(da(e),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",{}),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"_init",(function(){var t=(0,Y.getRenderingEngines)()[0];if(t){var n=sa(e.toolGroupId).viewportsInfo;if(n){var r=n.map((function(e){return(0,Y.getEnabledElementByIds)(e.viewportId,e.renderingEngineId)})),o=r[0].viewport,a=r[0].FrameOfReferenceUID;if(e.configuration.viewportId&&r.forEach((function(t){t.viewport.id==e.configuration.viewportId&&(o=t.viewport)})),o){var i=o.getCamera(),l=i.viewUp,c=i.viewPlaneNormal,s=Y.utilities.getViewportImageCornersInWorld(o),d=e.editData.annotation,u=Qe(e.getToolName(),o.element);if(u.length&&(d=u.filter((function(e){return e.data.viewportId==o.id}))[0]),Xg.includes(o.id))e.editData.annotation.data.viewportId==o.id&&(e.editData.annotation.data.handles.points=s,e.editData.annotation.data.viewportId=o.id);else{var v={metadata:{toolName:e.getToolName(),viewPlaneNormal:Nr(c),viewUp:Nr(l),FrameOfReferenceUID:a,referencedImageId:null},data:{handles:{points:s},viewportId:o.id}};Xg.push(o.id),et(v,o.element),d=v}e.editData={viewport:o,renderingEngine:t,annotation:d}}}}})),ne(da(e),"onSetToolEnabled",(function(){e._init()})),ne(da(e),"onCameraModified",(function(t){e.configuration.viewportId=t.detail.viewportId,e._init()})),ne(da(e),"computeScaleSize",(function(e,t,n){var r=[16e3,8e3,4e3,2e3,1e3,500,250,100,50,25,10,5,2];return("top"==n||"bottom"==n?r.filter((function(t){return t<.6*e&&t>.2*e})):r.filter((function(e){return e<.6*t&&e>.2*t})))[0]})),ne(da(e),"computeEndScaleTicks",(function(e,t){var n={bottom:[[0,-10],[0,-10]],top:[[0,10],[0,10]],left:[[0,0],[10,0]],right:[[0,0],[-10,0]]};return{endTick1:[[e[1][0]+n[t][0][0],e[1][1]+n[t][0][0]],[e[1][0]+n[t][1][0],e[1][1]+n[t][1][1]]],endTick2:[[e[0][0]+n[t][0][0],e[0][1]+n[t][0][0]],[e[0][0]+n[t][1][0],e[0][1]+n[t][1][1]]]}})),ne(da(e),"computeInnerScaleTicks",(function(e,t,n,r,o){var a;"bottom"==t||"top"==t?a=o[0][0]-r[0][0]:"left"!=t&&"right"!=t||(a=o[0][1]-r[0][1]);var i=[],l=[],c=[],s=e;e>=50&&(s=e/10);for(var d=a/s,u=0;u<s-1;u++){var v={bottom:[[d*(u+1),0],[d*(u+1),5]],top:[[d*(u+1),0],[d*(u+1),-5]],left:[[0,d*(u+1)],[-5,d*(u+1)]],right:[[0,d*(u+1)],[5,d*(u+1)]]};i.push("".concat(n,"-tick").concat(u)),l.push("tick".concat(u)),(u+1)%5==0?c.push([[r[0][0]+v[t][0][0],r[0][1]+v[t][0][1]],[r[1][0]+v[t][0][0],r[1][1]+v[t][0][1]]]):c.push([[r[0][0]+v[t][0][0],r[0][1]+v[t][0][1]],[r[1][0]+v[t][1][0],r[1][1]+v[t][1][1]]])}return{tickIds:i,tickUIDs:l,tickCoordinates:c}})),ne(da(e),"computeWorldScaleCoordinates",(function(e,t,n){var r,o=fc.vec3.subtract(fc.vec3.create(),n[0],n[1]);o=fc.vec3.normalize(fc.vec3.create(),o);var a=fc.vec3.subtract(fc.vec3.create(),n[2],n[0]);a=fc.vec3.normalize(fc.vec3.create(),a);var i={bottom:[n[1],n[2]],top:[n[0],n[3]],right:[n[2],n[3]],left:[n[0],n[1]]},l=fc.vec3.add(fc.vec3.create(),i[t][0],i[t][0]).map((function(e){return e/2})),c=e/2/Math.sqrt(Math.pow(o[0],2)+Math.pow(o[1],2)+Math.pow(o[2],2));return"top"==t||"bottom"==t?r=[fc.vec3.subtract(fc.vec3.create(),l,a.map((function(e){return e*c}))),fc.vec3.add(fc.vec3.create(),l,a.map((function(e){return e*c})))]:"left"!=t&&"right"!=t||(r=[fc.vec3.add(fc.vec3.create(),l,o.map((function(e){return e*c}))),fc.vec3.subtract(fc.vec3.create(),l,o.map((function(e){return e*c})))]),r})),ne(da(e),"computeCanvasScaleCoordinates",(function(e,t,n,r,o){var a;if("top"==o||"bottom"==o){var i=t[0][0]-t[1][0];a=[[e.width/2-i/2,n.height],[e.width/2+i/2,n.height]]}else if("left"==o||"right"==o){var l=t[0][1]-t[1][1];a=[[r.width,e.height/2-l/2],[r.width,e.height/2+l/2]]}return a})),ne(da(e),"computeScaleBounds",(function(e,t,n,r){var o=t*Math.min(1e3,e.width),a=n*Math.min(1e3,e.height),i={bottom:[-a,-o],top:[a,o],left:[a,o],right:[-a,-o]},l={bottom:[e.height,e.width],top:[0,e.width],left:[e.height,0],right:[e.height,e.width]};return{height:l[r][0]+i[r][0],width:l[r][1]+i[r][1]}})),e}return ee(o,[{key:"renderAnnotation",value:function(e,t){if(this.editData.viewport){var n=this.configuration.scaleLocation,r=e.viewport,o=Qe(this.getToolName(),r.element).filter((function(e){return e.data.viewportId==r.id}))[0],a=e.viewport.canvas;if(!r)return!1;var i={toolGroupId:this.toolGroupId,toolName:this.getToolName(),viewportId:e.viewport.id},l={width:a.width,height:a.height},c=o.data.handles.points[0],s=o.data.handles.points[1],d=o.data.handles.points[2],u=o.data.handles.points[3],v=[c,d,s,u],f=fc.vec3.distance(d,u),g=fc.vec3.distance(c,d),h=this.computeScaleBounds(l,.05,.05,n),p=this.computeScaleBounds(l,.05,.05,n),m=this.computeScaleSize(f,g,n),w=this.computeWorldScaleCoordinates(m,n,v).map((function(e){return r.worldToCanvas(e)})),E=this.computeCanvasScaleCoordinates(l,w,p,h,n),y=this.computeEndScaleTicks(E,n),I=o.annotationUID;i.annotationUID=I;var b=this.getStyle("lineWidth",i,o),C=this.getStyle("lineDash",i,o),T=this.getStyle("color",i,o),_=this.getStyle("shadow",i,o),D="".concat(I,"-scaleline");Rc(t,I,"1",E[0],E[1],{color:T,width:b,lineDash:C,shadow:_},D);var O="".concat(I,"-left");Rc(t,I,"2",y.endTick1[0],y.endTick1[1],{color:T,width:b,lineDash:C,shadow:_},O);var S="".concat(I,"-right");Rc(t,I,"3",y.endTick2[0],y.endTick2[1],{color:T,width:b,lineDash:C,shadow:_},S);for(var x={bottom:[-10,-42],top:[-12,-35],left:[-40,-20],right:[-50,-20]},M=[E[0][0]+x[n][0],E[0][1]+x[n][1]],k=this._getTextLines(m),R=this.computeInnerScaleTicks(m,n,I,y.endTick1,y.endTick2),P=R.tickIds,N=R.tickUIDs,A=R.tickCoordinates,L=0;L<N.length;L++)Rc(t,I,N[L],A[L][0],A[L][1],{color:T,width:b,lineDash:C,shadow:_},P[L]);return Uc(t,I,"text0",k,[M[0],M[1]],{fontFamily:"Helvetica Neue, Helvetica, Arial, sans-serif",fontSize:"14px",lineDash:"2,3",lineWidth:"1",shadow:!0,color:T}),!1}}},{key:"_getTextLines",value:function(e){var t,n;return e>=50?(t=e/10,n=" cm"):(t=e,n=" mm"),[t.toString().concat(n)]}}]),o}(Ks);ne(Qg,"toolName",void 0),Qg.toolName="ScaleOverlay";var eh=Qg,th=Y.utilities.transformWorldToIndex;function nh(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentIndex,i=t.segmentationId,l=t.constraintFn,c=n.imageData,s=n.dimensions,d=n.getScalarData(),u=r.map((function(e){return th(c,e)}));u=u.map((function(e){return e.map((function(e){return Math.round(e)}))}));var v=Xc(u,s);Zc(c,(function(){return!0}),(function(e){var t=e.value,n=e.index,r=e.pointIJK;o.includes(t)||(l?l(r)&&(d[n]=a):d[n]=a)}),v),_t(i)}(0,t)}var rh=Y.utilities.transformWorldToIndex;function oh(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentationId,i=n.imageData,l=n.dimensions,c=n.getScalarData(),s=r.map((function(e){return rh(i,e)})),d=Xc(s,l);Zc(i,(function(){return!0}),(function(e){var t=e.value,n=e.index;o.includes(t)||(c[n]=0)}),d),_t(a)}(0,t)}var ah=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:nh,ERASE_INSIDE:oh},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return te(this,o),ne(da(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),ne(da(e),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.toolGroupId,f=ps(v);if(!f)throw new Error("No active segmentation detected, create one before using scissors tool");var g=f.segmentationRepresentationUID,h=f.segmentationId,p=f.type,m=bs(h),w=ys(h),E=_s(v,g,m),y=Mt(h).representationData[p].volumeId,I=Y.cache.getVolume(y),b={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Nr(d),viewUp:Nr(u),FrameOfReferenceUID:l.getFrameOfReferenceUID(),referencedImageId:"",toolName:e.getToolName(),segmentColor:E},data:{handles:{points:[Nr(a),Nr(a),Nr(a),Nr(a)],activeHandleIndex:null}}},C=js(o,e.getToolName());return e.editData={annotation:b,segmentation:I,segmentIndex:m,segmentsLocked:w,segmentColor:E,segmentationId:h,viewportIdsToRender:C,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(c,C),!0})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n,r,o,a,i,l,c,s,d=t.detail,u=d.element,v=e.editData,f=v.annotation,g=v.viewportIdsToRender,h=v.handleIndex,p=f.data,m=d.currentPoints,w=(0,Y.getEnabledElement)(u),E=w.viewport,y=E.worldToCanvas,I=E.canvasToWorld,b=m.world,C=p.handles.points;switch(C[h]=Nr(b),h){case 0:case 3:n=y(C[0]),r=[(a=y(C[3]))[0],n[1]],o=[n[0],a[1]],l=I(r),c=I(o),C[1]=l,C[2]=c;break;case 1:case 2:r=y(C[1]),n=[(o=y(C[2]))[0],r[1]],a=[r[0],o[1]],i=I(n),s=I(a),C[0]=i,C[3]=s}f.invalidated=!0,e.editData.hasMoved=!0;var T=w.renderingEngine;aa(T,g)})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentationId,s=r.segmentIndex,d=r.segmentsLocked,u=o.data;if(!a||i){u.handles.activeHandleIndex=null,e._deactivateDraw(n),Jl(n);var v=(0,Y.getEnabledElement)(n),f=v.viewport;if(e.editData=null,e.isDrawing=!1,f instanceof Y.StackViewport)throw new Error("Not implemented yet");var g={points:u.handles.points,volume:l,segmentationId:c,segmentIndex:s,segmentsLocked:d};e.applyActiveStrategy(v,g)}})),ne(da(e),"_activateDraw",(function(t){t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r=!1;if(!e.editData)return r;var o=t.viewport,a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return o.worldToCanvas(e)})),s="rgb(".concat(i.segmentColor.slice(0,3),")");return o.getRenderingEngine()?(jc(n,l,"0",c[0],c[3],{color:s}),!0):(console.warn("Rendering Engine has been destroyed"),r)})),e}return ee(o)}(Ra);ne(ah,"toolName",void 0),ah.toolName="RectangleScissor";var ih=ah;var lh=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:us},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return te(this,o),ne(da(e=r.call(this,t,n)),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=r.canvas,l=(0,Y.getEnabledElement)(o),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var d=c.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=e.toolGroupId,g=ps(f);if(!g)throw new Error("No active segmentation detected, create one before using scissors tool");var h=g.segmentationRepresentationUID,p=g.segmentationId,m=g.type,w=bs(p),E=ys(p),y=_s(f,h,w),I=Mt(p).representationData[m].volumeId,b=Y.cache.getVolume(I),C={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:Nr(u),viewUp:Nr(v),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:"",toolName:e.getToolName(),segmentColor:y},data:{handles:{points:[Nr(a),Nr(a),Nr(a),Nr(a)],activeHandleIndex:null},isDrawing:!0,cachedStats:{}}},T=[c.id];return e.editData={annotation:C,segmentation:b,centerCanvas:i,segmentIndex:w,segmentationId:p,segmentsLocked:E,segmentColor:y,viewportIdsToRender:T,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(s,T),!0})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,Y.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=c.centerCanvas,v=s.data,f=Math.abs(o[0]-u[0]),g=Math.abs(o[1]-u[1]),h=Math.sqrt(f*f+g*g),p=[u[0],u[1]+h],m=[u[0],u[1]-h],w=[u[0]-h,u[1]],E=[u[0]+h,u[1]];v.handles.points=[l(p),l(m),l(w),l(E)],s.invalidated=!0,e.editData.hasMoved=!0,aa(i,d)})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,d=r.segmentationId,u=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){u.handles.activeHandleIndex=null,e._deactivateDraw(n),Jl(n);var h=(0,Y.getEnabledElement)(n),p=h.viewport;if(e.editData=null,e.isDrawing=!1,p instanceof Y.StackViewport)throw new Error("Not implemented yet");var m={points:u.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,viewPlaneNormal:f,segmentationId:d,viewUp:g};e.applyActiveStrategy(h,m)}})),ne(da(e),"_activateDraw",(function(t){t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback),t.addEventListener($.TOUCH_END,e._endCallback)})),ne(da(e),"_deactivateDraw",(function(t){t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r=!1;if(!e.editData)return r;var o=t.viewport;if(!e.editData.viewportIdsToRender.includes(o.id))return r;var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return o.worldToCanvas(e)})),s=c[0],d=c[1],u=[Math.floor((s[0]+d[0])/2),Math.floor((s[1]+d[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+d[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");return o.getRenderingEngine()?(xc(n,l,"0",u,v,{color:f}),!0):(console.warn("Rendering Engine has been destroyed"),r)})),e}return ee(o)}(Ra);ne(lh,"toolName",void 0),lh.toolName="CircleScissor";var ch=lh;var sh=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:os},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return te(this,o),ne(da(e=r.call(this,t,n)),"editData",void 0),ne(da(e),"isDrawing",void 0),ne(da(e),"isHandleOutsideImage",void 0),ne(da(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=r.canvas,l=(0,Y.getEnabledElement)(o),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var d=c.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=e.toolGroupId,g=ps(f);if(!g)throw new Error("No active segmentation detected, create one before using scissors tool");var h=g.segmentationRepresentationUID,p=g.segmentationId,m=g.type,w=bs(p),E=ys(p),y=_s(f,h,w),I=Mt(p).representationData[m].volumeId,b=Y.cache.getVolume(I);e.isDrawing=!0;var C={metadata:{viewPlaneNormal:Nr(u),viewUp:Nr(v),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:"",toolName:e.getToolName(),segmentColor:y},data:{invalidated:!0,handles:{points:[Nr(a),Nr(a),Nr(a),Nr(a)],activeHandleIndex:null},cachedStats:{},highlighted:!0}},T=[c.id];return e.editData={annotation:C,segmentation:b,centerCanvas:i,segmentIndex:w,segmentsLocked:E,segmentColor:y,segmentationId:p,toolGroupId:f,viewportIdsToRender:T,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),$l(o),t.preventDefault(),aa(s,T),!0})),ne(da(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,Y.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=c.centerCanvas,v=s.data,f=Math.abs(o[0]-u[0]),g=Math.abs(o[1]-u[1]),h=Math.sqrt(f*f+g*g),p=[u[0],u[1]+h],m=[u[0],u[1]-h],w=[u[0]-h,u[1]],E=[u[0]+h,u[1]];v.handles.points=[l(p),l(m),l(w),l(E)],s.invalidated=!0,e.editData.hasMoved=!0,aa(i,d)})),ne(da(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,d=r.segmentationId,u=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){o.highlighted=!1,u.handles.activeHandleIndex=null,e._deactivateDraw(n),Jl(n);var h=(0,Y.getEnabledElement)(n),p=h.viewport;if(e.editData=null,e.isDrawing=!1,p instanceof Y.StackViewport)throw new Error("Not implemented yet");var m={points:u.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,segmentationId:d,viewPlaneNormal:f,viewUp:g};e.applyActiveStrategy(h,m)}})),ne(da(e),"_activateDraw",(function(t){t.addEventListener($.MOUSE_UP,e._endCallback),t.addEventListener($.MOUSE_DRAG,e._dragCallback),t.addEventListener($.MOUSE_CLICK,e._endCallback),t.addEventListener($.TOUCH_END,e._endCallback),t.addEventListener($.TOUCH_TAP,e._endCallback),t.addEventListener($.TOUCH_DRAG,e._dragCallback)})),ne(da(e),"_deactivateDraw",(function(t){t.removeEventListener($.MOUSE_UP,e._endCallback),t.removeEventListener($.MOUSE_DRAG,e._dragCallback),t.removeEventListener($.MOUSE_CLICK,e._endCallback),t.removeEventListener($.TOUCH_END,e._endCallback),t.removeEventListener($.TOUCH_DRAG,e._dragCallback),t.removeEventListener($.TOUCH_TAP,e._endCallback)})),ne(da(e),"renderAnnotation",(function(t,n){var r=!1;if(!e.editData)return r;var o=t.viewport;if(!e.editData.viewportIdsToRender.includes(o.id))return r;var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return o.worldToCanvas(e)})),s=c[0],d=c[1],u=[Math.floor((s[0]+d[0])/2),Math.floor((s[1]+d[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+d[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");return o.getRenderingEngine()?(xc(n,l,"0",u,v,{color:f}),!0):(console.warn("Rendering Engine has been destroyed"),r)})),e}return ee(o)}(Ra);ne(sh,"toolName",void 0),sh.toolName="SphereScissor";var dh=sh;var uh=Y.utilities.transformWorldToIndex,vh=Y.utilities.isEqual,fh=function(e){va(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ga(t);if(n){var o=ga(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return fa(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return te(this,o),ne(da(e=r.call(this,t,n)),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,Y.getEnabledElement)(o).viewport.getCamera().viewPlaneNormal,l=ps(e.toolGroupId);if(!l)throw new Error("No active segmentation detected, create one before using scissors tool");var c=l.segmentationId,s=l.type,d=bs(c),u=ys(c),v=Mt(c).representationData[s].volumeId,f=Y.cache.getVolume(v),g=f.dimensions,h=f.direction,p=f.getScalarData(),m=uh(f.imageData,a),w=e.getFixedDimension(i,h);if(void 0!==w){var E=e.generateHelpers(p,g,m,w),y=E.floodFillGetter,I=E.getLabelValue,b=E.getScalarDataPositionFromPlane,C=E.inPlaneSeedPoint,T=E.fixedDimensionValue;if(!(m[0]<0||m[0]>=g[0]||m[1]<0||m[1]>=g[1]||m[2]<0||m[2]>=g[2])){var _=I(m[0],m[1],m[2]);if(!u.includes(_)){var D=Ad(y,C);return D.flooded.forEach((function(e){var t=b(e[0],e[1]);p[t]=d})),_t(c,e.getFramesModified(w,T,D)),!0}}}else console.warn("Oblique paint fill not yet supported")})),ne(da(e),"getFramesModified",(function(e,t,n){var r=n.boundaries;if(2===e)return[t];for(var o=1/0,a=-1/0,i=0;i<r.length;i++){var l=r[i][1];l<o&&(o=l),l>a&&(a=l)}for(var c=[],s=o;s<=a;s++)c.push(s);return c})),ne(da(e),"generateHelpers",(function(t,n,r){var o,a,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;switch(i){case 0:o=r[0],a=[r[1],r[2]];break;case 1:o=r[1],a=[r[0],r[2]];break;case 2:o=r[2],a=[r[0],r[1]];break;default:throw new Error("Invalid fixedDimension: ".concat(i))}var l=function(e,t,r){return r*n[1]*n[0]+t*n[0]+e},c=function(e,n,r){return t[l(e,n,r)]},s=e.generateFloodFillGetter(n,i,o,c);return{getScalarDataPositionFromPlane:e.generateGetScalarDataPositionFromPlane(l,i,o),getLabelValue:c,floodFillGetter:s,inPlaneSeedPoint:a,fixedDimensionValue:o}})),ne(da(e),"generateFloodFillGetter",(function(e,t,n,r){var o;switch(t){case 0:o=function(t,o){if(!(t>=e[1]||t<0||o>=e[2]||o<0))return r(n,t,o)};break;case 1:o=function(t,o){if(!(t>=e[0]||t<0||o>=e[2]||o<0))return r(t,n,o)};break;case 2:o=function(t,o){if(!(t>=e[0]||t<0||o>=e[1]||o<0))return r(t,o,n)};break;default:throw new Error("Invalid fixedDimension: ".concat(t))}return o})),ne(da(e),"generateGetScalarDataPositionFromPlane",(function(e,t,n){var r;switch(t){case 0:r=function(t,r){return e(n,t,r)};break;case 1:r=function(t,r){return e(t,n,r)};break;case 2:r=function(t,r){return e(t,r,n)};break;default:throw new Error("Invalid fixedDimension: ".concat(t))}return r})),e}return ee(o,[{key:"getFixedDimension",value:function(e,t){var n=t.slice(0,3),r=t.slice(3,6),o=t.slice(6,9),a=[Math.abs(e[0]),Math.abs(e[1]),Math.abs(e[2])],i=[Math.abs(n[0]),Math.abs(n[1]),Math.abs(n[2])];if(vh(a,i))return 0;var l=[Math.abs(r[0]),Math.abs(r[1]),Math.abs(r[2])];if(vh(a,l))return 1;var c=[Math.abs(o[0]),Math.abs(o[1]),Math.abs(o[2])];return vh(a,c)?2:void 0}}]),o}(Ra);ne(fh,"toolName",void 0),fh.toolName="PaintFill";var gh=fh}(),p}()}));
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@cornerstonejs/core"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Common/Core/CellArray"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Filters/General/AppendPolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget"),require("@kitware/vtk.js/Rendering/Core/AnnotatedCubeActor"),require("@kitware/vtk.js/Rendering/Core/AxesActor"),require("@kitware/vtk.js/IO/XML/XMLPolyDataReader")):"function"==typeof define&&define.amd?define(["@cornerstonejs/core","@kitware/vtk.js/Common/DataModel/PiecewiseFunction","@kitware/vtk.js/Rendering/Core/ColorTransferFunction","@kitware/vtk.js/Common/Core/CellArray","@kitware/vtk.js/Common/Core/Points","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Filters/General/AppendPolyData","@kitware/vtk.js/Rendering/Core/Actor","@kitware/vtk.js/Rendering/Core/Mapper","gl-matrix","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Common/Core/MatrixBuilder","@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget","@kitware/vtk.js/Rendering/Core/AnnotatedCubeActor","@kitware/vtk.js/Rendering/Core/AxesActor","@kitware/vtk.js/IO/XML/XMLPolyDataReader"],t):"object"==typeof exports?exports.cornerstoneTools3D=t(require("@cornerstonejs/core"),require("@kitware/vtk.js/Common/DataModel/PiecewiseFunction"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction"),require("@kitware/vtk.js/Common/Core/CellArray"),require("@kitware/vtk.js/Common/Core/Points"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Filters/General/AppendPolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("gl-matrix"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Common/Core/MatrixBuilder"),require("@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget"),require("@kitware/vtk.js/Rendering/Core/AnnotatedCubeActor"),require("@kitware/vtk.js/Rendering/Core/AxesActor"),require("@kitware/vtk.js/IO/XML/XMLPolyDataReader")):e.cornerstoneTools3D=t(e.cornerstone3D,e["@kitware/vtk.js/Common/DataModel/PiecewiseFunction"],e["@kitware/vtk.js/Rendering/Core/ColorTransferFunction"],e["@kitware/vtk.js/Common/Core/CellArray"],e["@kitware/vtk.js/Common/Core/Points"],e["@kitware/vtk.js/Common/DataModel/PolyData"],e["@kitware/vtk.js/Common/Core/DataArray"],e["@kitware/vtk.js/Filters/General/AppendPolyData"],e["@kitware/vtk.js/Rendering/Core/Actor"],e["@kitware/vtk.js/Rendering/Core/Mapper"],e.window,e["@kitware/vtk.js/Common/Core/Math"],e["@kitware/vtk.js/Common/Core/MatrixBuilder"],e["@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget"],e["@kitware/vtk.js/Rendering/Core/AnnotatedCubeActor"],e["@kitware/vtk.js/Rendering/Core/AxesActor"],e["@kitware/vtk.js/IO/XML/XMLPolyDataReader"])}(self,(function(e,t,n,r,o,a,i,l,c,s,d,u,v,f,g,h,p){return function(){var m={907:function(e,t,n){e=n.nmd(e);var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Boolean]",l="[object Date]",c="[object Function]",s="[object GeneratorFunction]",d="[object Map]",u="[object Number]",v="[object Object]",f="[object Promise]",g="[object RegExp]",h="[object Set]",p="[object String]",m="[object Symbol]",w="[object WeakMap]",E="[object ArrayBuffer]",y="[object DataView]",I="[object Float32Array]",b="[object Float64Array]",C="[object Int8Array]",_="[object Int16Array]",T="[object Int32Array]",O="[object Uint8Array]",D="[object Uint8ClampedArray]",S="[object Uint16Array]",M="[object Uint32Array]",k=/\w*$/,x=/^\[object .+?Constructor\]$/,P=/^(?:0|[1-9]\d*)$/,R={};R[a]=R["[object Array]"]=R[E]=R[y]=R[i]=R[l]=R[I]=R[b]=R[C]=R[_]=R[T]=R[d]=R[u]=R[v]=R[g]=R[h]=R[p]=R[m]=R[O]=R[D]=R[S]=R[M]=!0,R["[object Error]"]=R[c]=R[w]=!1;var A="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,N="object"==typeof self&&self&&self.Object===Object&&self,L=A||N||Function("return this")(),U=t&&!t.nodeType&&t,V=U&&e&&!e.nodeType&&e,B=V&&V.exports===U;function j(e,t){return e.set(t[0],t[1]),e}function W(e,t){return e.add(t),e}function H(e,t,n,r){var o=-1,a=e?e.length:0;for(r&&a&&(n=e[++o]);++o<a;)n=t(n,e[o],o,e);return n}function F(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function G(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function q(e,t){return function(n){return e(t(n))}}function z(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var K,Y=Array.prototype,X=Function.prototype,Z=Object.prototype,J=L["__core-js_shared__"],$=(K=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",Q=X.toString,ee=Z.hasOwnProperty,te=Z.toString,ne=RegExp("^"+Q.call(ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),re=B?L.Buffer:void 0,oe=L.Symbol,ae=L.Uint8Array,ie=q(Object.getPrototypeOf,Object),le=Object.create,ce=Z.propertyIsEnumerable,se=Y.splice,de=Object.getOwnPropertySymbols,ue=re?re.isBuffer:void 0,ve=q(Object.keys,Object),fe=Le(L,"DataView"),ge=Le(L,"Map"),he=Le(L,"Promise"),pe=Le(L,"Set"),me=Le(L,"WeakMap"),we=Le(Object,"create"),Ee=We(fe),ye=We(ge),Ie=We(he),be=We(pe),Ce=We(me),_e=oe?oe.prototype:void 0,Te=_e?_e.valueOf:void 0;function Oe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function De(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Me(e){this.__data__=new De(e)}function ke(e,t,n){var r=e[t];ee.call(e,t)&&He(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function xe(e,t){for(var n=e.length;n--;)if(He(e[n][0],t))return n;return-1}function Pe(e,t,n,r,o,f,w){var x;if(r&&(x=f?r(e,o,f,w):r(e)),void 0!==x)return x;if(!Ke(e))return e;var P=Fe(e);if(P){if(x=function(e){var t=e.length,n=e.constructor(t);return t&&"string"==typeof e[0]&&ee.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!t)return function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}(e,x)}else{var A=Ve(e),N=A==c||A==s;if(qe(e))return function(e,t){if(t)return e.slice();var n=new e.constructor(e.length);return e.copy(n),n}(e,t);if(A==v||A==a||N&&!f){if(F(e))return f?e:{};if(x=function(e){return"function"!=typeof e.constructor||je(e)?{}:Ke(t=ie(e))?le(t):{};var t}(N?{}:e),!t)return function(e,t){return Ae(e,Ue(e),t)}(e,function(e,t){return e&&Ae(t,Ye(t),e)}(x,e))}else{if(!R[A])return f?e:{};x=function(e,t,n,r){var o,a=e.constructor;switch(t){case E:return Re(e);case i:case l:return new a(+e);case y:return function(e,t){var n=t?Re(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,r);case I:case b:case C:case _:case T:case O:case D:case S:case M:return function(e,t){var n=t?Re(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}(e,r);case d:return function(e,t,n){return H(t?n(G(e),!0):G(e),j,new e.constructor)}(e,r,n);case u:case p:return new a(e);case g:return function(e){var t=new e.constructor(e.source,k.exec(e));return t.lastIndex=e.lastIndex,t}(e);case h:return function(e,t,n){return H(t?n(z(e),!0):z(e),W,new e.constructor)}(e,r,n);case m:return o=e,Te?Object(Te.call(o)):{}}}(e,A,Pe,t)}}w||(w=new Me);var L=w.get(e);if(L)return L;if(w.set(e,x),!P)var U=n?function(e){return function(e,t,n){var r=t(e);return Fe(e)?r:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(r,n(e))}(e,Ye,Ue)}(e):Ye(e);return function(e,t){for(var n=-1,r=e?e.length:0;++n<r&&!1!==t(e[n],n););}(U||e,(function(o,a){U&&(o=e[a=o]),ke(x,a,Pe(o,t,n,r,a,e,w))})),x}function Re(e){var t=new e.constructor(e.byteLength);return new ae(t).set(new ae(e)),t}function Ae(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var i=t[o],l=r?r(n[i],e[i],i,n,e):void 0;ke(n,i,void 0===l?e[i]:l)}return n}function Ne(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Le(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){return!(!Ke(e)||(t=e,$&&$ in t))&&(ze(e)||F(e)?ne:x).test(We(e));var t}(n)?n:void 0}Oe.prototype.clear=function(){this.__data__=we?we(null):{}},Oe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Oe.prototype.get=function(e){var t=this.__data__;if(we){var n=t[e];return n===r?void 0:n}return ee.call(t,e)?t[e]:void 0},Oe.prototype.has=function(e){var t=this.__data__;return we?void 0!==t[e]:ee.call(t,e)},Oe.prototype.set=function(e,t){return this.__data__[e]=we&&void 0===t?r:t,this},De.prototype.clear=function(){this.__data__=[]},De.prototype.delete=function(e){var t=this.__data__,n=xe(t,e);return!(n<0||(n==t.length-1?t.pop():se.call(t,n,1),0))},De.prototype.get=function(e){var t=this.__data__,n=xe(t,e);return n<0?void 0:t[n][1]},De.prototype.has=function(e){return xe(this.__data__,e)>-1},De.prototype.set=function(e,t){var n=this.__data__,r=xe(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Se.prototype.clear=function(){this.__data__={hash:new Oe,map:new(ge||De),string:new Oe}},Se.prototype.delete=function(e){return Ne(this,e).delete(e)},Se.prototype.get=function(e){return Ne(this,e).get(e)},Se.prototype.has=function(e){return Ne(this,e).has(e)},Se.prototype.set=function(e,t){return Ne(this,e).set(e,t),this},Me.prototype.clear=function(){this.__data__=new De},Me.prototype.delete=function(e){return this.__data__.delete(e)},Me.prototype.get=function(e){return this.__data__.get(e)},Me.prototype.has=function(e){return this.__data__.has(e)},Me.prototype.set=function(e,t){var n=this.__data__;if(n instanceof De){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new Se(r)}return n.set(e,t),this};var Ue=de?q(de,Object):function(){return[]},Ve=function(e){return te.call(e)};function Be(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||P.test(e))&&e>-1&&e%1==0&&e<t}function je(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||Z)}function We(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function He(e,t){return e===t||e!=e&&t!=t}(fe&&Ve(new fe(new ArrayBuffer(1)))!=y||ge&&Ve(new ge)!=d||he&&Ve(he.resolve())!=f||pe&&Ve(new pe)!=h||me&&Ve(new me)!=w)&&(Ve=function(e){var t=te.call(e),n=t==v?e.constructor:void 0,r=n?We(n):void 0;if(r)switch(r){case Ee:return y;case ye:return d;case Ie:return f;case be:return h;case Ce:return w}return t});var Fe=Array.isArray;function Ge(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}(e.length)&&!ze(e)}var qe=ue||function(){return!1};function ze(e){var t=Ke(e)?te.call(e):"";return t==c||t==s}function Ke(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ye(e){return Ge(e)?function(e,t){var n=Fe(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&Ge(e)}(e)&&ee.call(e,"callee")&&(!ce.call(e,"callee")||te.call(e)==a)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var i in e)!t&&!ee.call(e,i)||o&&("length"==i||Be(i,r))||n.push(i);return n}(e):function(e){if(!je(e))return ve(e);var t=[];for(var n in Object(e))ee.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return Pe(e,!0,!0)}},485:function(e,t,n){var r,o="__lodash_hash_undefined__",a=1/0,i="[object Function]",l="[object GeneratorFunction]",c="[object Symbol]",s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,d=/^\w*$/,u=/^\./,v=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g,g=/^\[object .+?Constructor\]$/,h="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,m=h||p||Function("return this")(),w=Array.prototype,E=Function.prototype,y=Object.prototype,I=m["__core-js_shared__"],b=(r=/[^.]+$/.exec(I&&I.keys&&I.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",C=E.toString,_=y.hasOwnProperty,T=y.toString,O=RegExp("^"+C.call(_).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),D=m.Symbol,S=w.splice,M=V(m,"Map"),k=V(Object,"create"),x=D?D.prototype:void 0,P=x?x.toString:void 0;function R(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function A(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function N(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function L(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}function U(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function V(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return function(e){if(!F(e)||b&&b in e)return!1;var t=function(e){var t=F(e)?T.call(e):"";return t==i||t==l}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?O:g;return t.test(function(e){if(null!=e){try{return C.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}(n)?n:void 0}R.prototype.clear=function(){this.__data__=k?k(null):{}},R.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},R.prototype.get=function(e){var t=this.__data__;if(k){var n=t[e];return n===o?void 0:n}return _.call(t,e)?t[e]:void 0},R.prototype.has=function(e){var t=this.__data__;return k?void 0!==t[e]:_.call(t,e)},R.prototype.set=function(e,t){return this.__data__[e]=k&&void 0===t?o:t,this},A.prototype.clear=function(){this.__data__=[]},A.prototype.delete=function(e){var t=this.__data__,n=L(t,e);return!(n<0||(n==t.length-1?t.pop():S.call(t,n,1),0))},A.prototype.get=function(e){var t=this.__data__,n=L(t,e);return n<0?void 0:t[n][1]},A.prototype.has=function(e){return L(this.__data__,e)>-1},A.prototype.set=function(e,t){var n=this.__data__,r=L(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},N.prototype.clear=function(){this.__data__={hash:new R,map:new(M||A),string:new R}},N.prototype.delete=function(e){return U(this,e).delete(e)},N.prototype.get=function(e){return U(this,e).get(e)},N.prototype.has=function(e){return U(this,e).has(e)},N.prototype.set=function(e,t){return U(this,e).set(e,t),this};var B=W((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(G(e))return P?P.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(t);var n=[];return u.test(e)&&n.push(""),e.replace(v,(function(e,t,r,o){n.push(r?o.replace(f,"$1"):t||e)})),n}));function j(e){if("string"==typeof e||G(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function W(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(W.Cache||N),n}W.Cache=N;var H=Array.isArray;function F(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function G(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&T.call(e)==c}e.exports=function(e,t,n){var r=null==e?void 0:function(e,t){var n;t=function(e,t){if(H(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!G(e))||d.test(e)||!s.test(e)||null!=t&&e in Object(t)}(t,e)?[t]:H(n=t)?n:B(n);for(var r=0,o=t.length;null!=e&&r<o;)e=e[j(t[r++])];return r&&r==o?e:void 0}(e,t);return void 0===r?n:r}},396:function(e){"use strict";e.exports=r},785:function(e){"use strict";e.exports=i},807:function(e){"use strict";e.exports=u},847:function(e){"use strict";e.exports=v},348:function(e){"use strict";e.exports=o},441:function(e){"use strict";e.exports=t},70:function(e){"use strict";e.exports=a},127:function(e){"use strict";e.exports=l},614:function(e){"use strict";e.exports=p},518:function(e){"use strict";e.exports=f},474:function(e){"use strict";e.exports=c},744:function(e){"use strict";e.exports=g},424:function(e){"use strict";e.exports=h},795:function(e){"use strict";e.exports=n},610:function(e){"use strict";e.exports=s},953:function(t){"use strict";t.exports=e},976:function(e){"use strict";e.exports=d},609:function(e,t,n){var r=n(425).default;function o(){"use strict";e.exports=o=function(){return t},e.exports.__esModule=!0,e.exports.default=e.exports;var t={},n=Object.prototype,a=n.hasOwnProperty,i=Object.defineProperty||function(e,t,n){e[t]=n.value},l="function"==typeof Symbol?Symbol:{},c=l.iterator||"@@iterator",s=l.asyncIterator||"@@asyncIterator",d=l.toStringTag||"@@toStringTag";function u(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,n){return e[t]=n}}function v(e,t,n,r){var o=t&&t.prototype instanceof h?t:h,a=Object.create(o.prototype),l=new S(r||[]);return i(a,"_invoke",{value:_(e,n,l)}),a}function f(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=v;var g={};function h(){}function p(){}function m(){}var w={};u(w,c,(function(){return this}));var E=Object.getPrototypeOf,y=E&&E(E(M([])));y&&y!==n&&a.call(y,c)&&(w=y);var I=m.prototype=h.prototype=Object.create(w);function b(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function C(e,t){function n(o,i,l,c){var s=f(e[o],e,i);if("throw"!==s.type){var d=s.arg,u=d.value;return u&&"object"==r(u)&&a.call(u,"__await")?t.resolve(u.__await).then((function(e){n("next",e,l,c)}),(function(e){n("throw",e,l,c)})):t.resolve(u).then((function(e){d.value=e,l(d)}),(function(e){return n("throw",e,l,c)}))}c(s.arg)}var o;i(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(a,a):a()}})}function _(e,t,n){var r="suspendedStart";return function(o,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw a;return{value:void 0,done:!0}}for(n.method=o,n.arg=a;;){var i=n.delegate;if(i){var l=T(i,n);if(l){if(l===g)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=f(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function T(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,T(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var o=f(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,g;var a=o.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,g):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function D(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function M(e){if(e){var t=e[c];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(a.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return r.next=r}}return{next:k}}function k(){return{value:void 0,done:!0}}return p.prototype=m,i(I,"constructor",{value:m,configurable:!0}),i(m,"constructor",{value:p,configurable:!0}),p.displayName=u(m,d,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,d,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},b(C.prototype),u(C.prototype,s,(function(){return this})),t.AsyncIterator=C,t.async=function(e,n,r,o,a){void 0===a&&(a=Promise);var i=new C(v(e,n,r,o),a);return t.isGeneratorFunction(n)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},b(I),u(I,d,"Generator"),u(I,c,(function(){return this})),u(I,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=M,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(D),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return i.type="throw",i.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,g):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),g},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),D(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;D(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:M(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),g}},t}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports},425:function(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},841:function(e,t,n){var r=n(609)();e.exports=r;try{regeneratorRuntime=r}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},w={};function E(e){var t=w[e];if(void 0!==t)return t.exports;var n=w[e]={id:e,loaded:!1,exports:{}};return m[e](n,n.exports,E),n.loaded=!0,n.exports}E.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return E.d(t,{a:t}),t},E.d=function(e,t){for(var n in t)E.o(t,n)&&!E.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},E.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),E.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},E.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},E.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e};var y={};return function(){"use strict";E.r(y),E.d(y,{AdvancedMagnifyTool:function(){return fh},AngleTool:function(){return Zg},AnnotationDisplayTool:function(){return Ys},AnnotationTool:function(){return Js},ArrowAnnotateTool:function(){return Kg},BaseTool:function(){return Ra},BidirectionalTool:function(){return Fg},BrushTool:function(){return Ms},CONSTANTS:function(){return u},CircleROITool:function(){return Bg},CircleScissorsTool:function(){return Oh},CobbAngleTool:function(){return nh},CrosshairsTool:function(){return bg},DragProbeTool:function(){return Kf},EllipticalROITool:function(){return Rg},Enums:function(){return z},LengthTool:function(){return fg},MIPJumpToClickTool:function(){return sg},MagnifyTool:function(){return ah},OrientationMarkerTool:function(){return Wh},OverlayGridTool:function(){return Sg},PaintFillTool:function(){return qh},PanTool:function(){return Vf},PlanarFreehandROITool:function(){return tf},PlanarRotateTool:function(){return ng},ProbeTool:function(){return Gf},RectangleROIStartEndThresholdTool:function(){return bd},RectangleROIThresholdTool:function(){return Ed},RectangleROITool:function(){return md},RectangleScissorsTool:function(){return _h},ReferenceCursors:function(){return hh},ReferenceLines:function(){return Tg},ReferenceLinesTool:function(){return Tg},ScaleOverlayTool:function(){return wh},SegmentationDisplayTool:function(){return Ui},SphereScissorsTool:function(){return Sh},StackScrollMouseWheelTool:function(){return og},StackScrollTool:function(){return Qf},Synchronizer:function(){return cl},SynchronizerManager:function(){return c},ToolGroupManager:function(){return d},TrackballRotateTool:function(){return jf},Types:function(){return W},VolumeRotateMouseWheelTool:function(){return lg},WindowLevelTool:function(){return Xf},ZoomTool:function(){return Jf},addTool:function(){return tl},annotation:function(){return F},cancelActiveManipulations:function(){return ol},cursors:function(){return j},destroy:function(){return $i},drawing:function(){return f},init:function(){return Ji},removeTool:function(){return nl},segmentation:function(){return q},state:function(){return Fe},synchronizers:function(){return v},utilities:function(){return B}});var e={};E.r(e),E.d(e,{checkAndDefineIsLockedProperty:function(){return de},getAnnotationsLocked:function(){return le},getAnnotationsLockedCount:function(){return se},isAnnotationLocked:function(){return ce},setAnnotationLocked:function(){return ae},unlockAllAnnotations:function(){return ie}});var t={};E.r(t),E.d(t,{deselectAnnotation:function(){return we},getAnnotationsSelected:function(){return Ee},getAnnotationsSelectedByToolName:function(){return ye},getAnnotationsSelectedCount:function(){return be},isAnnotationSelected:function(){return Ie},setAnnotationSelected:function(){return me}});var n={};E.r(n),E.d(n,{checkAndDefineIsVisibleProperty:function(){return ke},isAnnotationVisible:function(){return Me},setAnnotationVisibility:function(){return De},showAllAnnotations:function(){return Se}});var r={};E.r(r),E.d(r,{addAnnotation:function(){return Qe},getAnnotation:function(){return nt},getAnnotationManager:function(){return Xe},getAnnotations:function(){return $e},getNumberOfAnnotations:function(){return et},removeAllAnnotations:function(){return rt},removeAnnotation:function(){return tt},resetAnnotationManager:function(){return Je},setAnnotationManager:function(){return Ze}});var o={};E.r(o),E.d(o,{triggerSegmentationDataModified:function(){return _t},triggerSegmentationModified:function(){return Ct},triggerSegmentationRemoved:function(){return yt},triggerSegmentationRepresentationModified:function(){return bt},triggerSegmentationRepresentationRemoved:function(){return It}});var a={};E.r(a),E.d(a,{addColorLUT:function(){return Xt},addSegmentation:function(){return xt},addSegmentationRepresentation:function(){return Wt},getAllSegmentationRepresentations:function(){return Rt},getColorLUT:function(){return Yt},getDefaultSegmentationStateManager:function(){return St},getGlobalConfig:function(){return Ht},getSegmentSpecificRepresentationConfig:function(){return Bt},getSegmentation:function(){return Mt},getSegmentationRepresentationByUID:function(){return Gt},getSegmentationRepresentationSpecificConfig:function(){return Vt},getSegmentationRepresentations:function(){return Pt},getSegmentations:function(){return kt},getToolGroupIdsWithSegmentation:function(){return At},getToolGroupSpecificConfig:function(){return Nt},removeColorLUT:function(){return Kt},removeSegmentation:function(){return qt},removeSegmentationRepresentation:function(){return zt},setGlobalConfig:function(){return Ft},setSegmentSpecificRepresentationConfig:function(){return jt},setSegmentationRepresentationSpecificConfig:function(){return Ut},setToolGroupSpecificConfig:function(){return Lt}});var i={};E.r(i),E.d(i,{copyPoints:function(){return Yn},copyPointsList:function(){return Kn},getDeltaDistance:function(){return Gn},getDeltaDistanceBetweenIPoints:function(){return zn},getDeltaPoints:function(){return Fn},getDeltaRotation:function(){return qn},getMeanPoints:function(){return Xn},getMeanTouchPoints:function(){return Zn}});var l={};E.r(l),E.d(l,{getSegmentationVisibility:function(){return Ma},setSegmentVisibility:function(){return xa},setSegmentationVisibility:function(){return Sa},setSegmentsVisibility:function(){return ka}});var c={};E.r(c),E.d(c,{createSynchronizer:function(){return sl},destroy:function(){return dl},destroySynchronizer:function(){return fl},getAllSynchronizers:function(){return vl},getSynchronizer:function(){return ul},getSynchronizersForViewport:function(){return oa}});var s={};E.r(s),E.d(s,{hideElementCursor:function(){return Jl},initElementCursor:function(){return Yl},resetElementCursor:function(){return Zl},setElementCursor:function(){return Xl}});var d={};E.r(d),E.d(d,{createToolGroup:function(){return oc},destroy:function(){return Xi},destroyToolGroup:function(){return Ki},getAllToolGroups:function(){return ac},getToolGroup:function(){return da},getToolGroupForViewport:function(){return Br},getToolGroupsWithToolName:function(){return Ke}});var u={};E.r(u),E.d(u,{COLOR_LUT:function(){return ct}});var v={};E.r(v),E.d(v,{createCameraPositionSynchronizer:function(){return cc},createStackImageSynchronizer:function(){return Oc},createVOISynchronizer:function(){return dc},createZoomPanSynchronizer:function(){return fc}});var f={};E.r(f),E.d(f,{draw:function(){return Vr},drawArrow:function(){return Hc},drawCircle:function(){return kc},drawEllipse:function(){return xc},drawHandles:function(){return Pc},drawLine:function(){return Rc},drawLinkedTextBox:function(){return jc},drawPolyline:function(){return Nc},drawRect:function(){return Wc},drawTextBox:function(){return Vc},setAttributesIfNecessary:function(){return Sc},setNewAttributesIfValid:function(){return Mc}});var g={};E.r(g),E.d(g,{getActiveSegmentationRepresentation:function(){return ms},setActiveSegmentationRepresentation:function(){return ws}});var h={};E.r(h),E.d(h,{getLockedSegments:function(){return Is},isSegmentIndexLocked:function(){return Es},setSegmentIndexLocked:function(){return ys}});var p={};E.r(p),E.d(p,{getActiveSegmentIndex:function(){return Cs},setActiveSegmentIndex:function(){return bs}});var m={};E.r(m),E.d(m,{addColorLUT:function(){return _s},getColorForSegmentIndex:function(){return Os},setColorForSegmentIndex:function(){return Ds},setColorLUT:function(){return Ts}});var w={};E.r(w),E.d(w,{createLabelmapVolumeForViewport:function(){return Pd},createMergedLabelmapForIndex:function(){return Md},floodFill:function(){return Ld},getBrushSizeForToolGroup:function(){return Vd},getBrushThresholdForToolGroup:function(){return jd},getDefaultRepresentationConfig:function(){return xd},isValidRepresentationConfig:function(){return kd},rectangleROIThresholdVolumeByRange:function(){return Sd},setBrushSizeForToolGroup:function(){return Ud},setBrushThresholdForToolGroup:function(){return Bd},thresholdSegmentationByRange:function(){return Wd},thresholdVolumeByRange:function(){return Rs},triggerSegmentationRender:function(){return Wi}});var I={};E.r(I),E.d(I,{getTextBoxCoordsCanvas:function(){return ld}});var b={};E.r(b),E.d(b,{findClosestPoint:function(){return Bc},liangBarksyClip:function(){return zd}});var C={};E.r(C),E.d(C,{getCanvasEllipseCorners:function(){return cs},pointInEllipse:function(){return ss}});var _={};E.r(_),E.d(_,{distanceToPoint:function(){return ad},distanceToPointSquared:function(){return od},intersectLine:function(){return Yd}});var T={};E.r(T),E.d(T,{distanceToPoint:function(){return id}});var O={};E.r(O),E.d(O,{addCanvasPointsToArray:function(){return ou},calculateAreaOfPoints:function(){return iu},getClosestIntersectionWithPolyline:function(){return Zd},getFirstIntersectionWithPolyline:function(){return Xd},getSubPixelSpacingAndXYDirections:function(){return nu},pointCanProjectOnLine:function(){return au},pointsAreWithinCloseContourProximity:function(){return ru}});var D={};E.r(D),E.d(D,{distanceToPoint:function(){return lu}});var S={};E.r(S),E.d(S,{BasicStatsCalculator:function(){return fd},Calculator:function(){return vd}});var M={};E.r(M),E.d(M,{BasicStatsCalculator:function(){return S},ellipse:function(){return C},lineSegment:function(){return _},point:function(){return D},polyline:function(){return O},rectangle:function(){return T},vec2:function(){return b}});var k={};E.r(k),E.d(k,{default:function(){return vu},filterAnnotationsForDisplay:function(){return qs},filterAnnotationsWithinSlice:function(){return Gs},getPointInLineOfSightWithCriteria:function(){return du},getWorldWidthAndHeightFromCorners:function(){return cd}});var x={};E.r(x),E.d(x,{filterViewportsWithFrameOfReferenceUID:function(){return As},filterViewportsWithParallelNormals:function(){return js},filterViewportsWithToolEnabled:function(){return Vs},getViewportIdsWithToolToRender:function(){return Ws}});var P={};E.r(P),E.d(P,{getOrientationStringLPS:function(){return fu},invertOrientationStringLPS:function(){return gu}});var R={};E.r(R),E.d(R,{Events:function(){return pu},addToolState:function(){return wu},getToolState:function(){return Eu},playClip:function(){return Tu},stopClip:function(){return Ou}});var A={};E.r(A),E.d(A,{extend2DBoundingBoxInViewAxis:function(){return Cd},getBoundingBoxAroundShape:function(){return Qc}});var N={};E.r(N),E.d(N,{default:function(){return rf},interpolateAnnotation:function(){return nf}});var L={};E.r(L),E.d(L,{getBoundsIJKFromRectangleAnnotations:function(){return _d}});var U={};E.r(U),E.d(U,{isViewportPreScaled:function(){return dd},jumpToSlice:function(){return yc},jumpToWorld:function(){return Tf}});var V={};E.r(V),E.d(V,{generateImageFromTimeData:function(){return Df},getDataInTime:function(){return Of}});var B={};E.r(B),E.d(B,{boundingBox:function(){return A},calibrateImageSpacing:function(){return Jc},cine:function(){return R},clip:function(){return hc},debounce:function(){return Yc},drawing:function(){return I},dynamicVolume:function(){return V},getAnnotationNearPoint:function(){return Gc},getAnnotationNearPointOnEnabledElement:function(){return qc},isObject:function(){return Kc},jumpToSlice:function(){return yc},math:function(){return M},orientation:function(){return P},planar:function(){return k},planarFreehandROITool:function(){return N},pointInShapeCallback:function(){return $c},pointInSurroundingSphereCallback:function(){return ts},rectangleROITool:function(){return L},roundNumber:function(){return ns},scroll:function(){return pc},segmentation:function(){return w},stackContextPrefetch:function(){return _f},stackPrefetch:function(){return Ef},throttle:function(){return Xc},touch:function(){return i},triggerAnnotationRender:function(){return Kr},triggerAnnotationRenderForViewportIds:function(){return ia},triggerEvent:function(){return K.triggerEvent},viewport:function(){return U},viewportFilters:function(){return x}});var j={};E.r(j),E.d(j,{CursorNames:function(){return Mf},CursorSVG:function(){return Pl},ImageMouseCursor:function(){return _l},MouseCursor:function(){return wl},SVGMouseCursor:function(){return Hl},elementCursor:function(){return s},registerCursor:function(){return Al},setCursorForElement:function(){return Sf}});var W={};E.r(W);var H={};E.r(H),E.d(H,{getFont:function(){return kf},getState:function(){return zs},style:function(){return Vl}});var F={};E.r(F),E.d(F,{FrameOfReferenceSpecificAnnotationManager:function(){return je},config:function(){return H},locking:function(){return e},selection:function(){return t},state:function(){return r},visibility:function(){return n}});var G={};E.r(G),E.d(G,{color:function(){return m},getGlobalConfig:function(){return wa},getGlobalRepresentationConfig:function(){return ya},getSegmentSpecificConfig:function(){return Oa},getSegmentationRepresentationSpecificConfig:function(){return _a},getToolGroupSpecificConfig:function(){return ba},setGlobalConfig:function(){return Ea},setGlobalRepresentationConfig:function(){return Ia},setSegmentSpecificConfig:function(){return Da},setSegmentationRepresentationSpecificConfig:function(){return Ta},setToolGroupSpecificConfig:function(){return Ca},visibility:function(){return l}});var q={};E.r(q),E.d(q,{activeSegmentation:function(){return g},addSegmentationRepresentations:function(){return Lf},addSegmentations:function(){return Pf},config:function(){return G},removeSegmentationsFromToolGroup:function(){return zi},segmentIndex:function(){return p},segmentLocking:function(){return h},state:function(){return a},triggerSegmentationEvents:function(){return o}});var z={};E.r(z),E.d(z,{AnnotationStyleStates:function(){return Cl},Events:function(){return X},KeyboardBindings:function(){return mo},MouseBindings:function(){return po},SegmentationRepresentations:function(){return dt},Swipe:function(){return Wn},ToolModes:function(){return qe}});var K=E(953),Y=function(e){return e.TOOL_ACTIVATED="CORNERSTONE_TOOLS_TOOL_ACTIVATED",e.TOOL_MODE_CHANGED="CORNERSTONE_TOOLS_TOOL_MODE_CHANGED",e.ANNOTATION_ADDED="CORNERSTONE_TOOLS_ANNOTATION_ADDED",e.ANNOTATION_COMPLETED="CORNERSTONE_TOOLS_ANNOTATION_COMPLETED",e.ANNOTATION_MODIFIED="CORNERSTONE_TOOLS_ANNOTATION_MODIFIED",e.ANNOTATION_REMOVED="CORNERSTONE_TOOLS_ANNOTATION_REMOVED",e.ANNOTATION_SELECTION_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_SELECTION_CHANGE",e.ANNOTATION_LOCK_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_LOCK_CHANGE",e.ANNOTATION_VISIBILITY_CHANGE="CORNERSTONE_TOOLS_ANNOTATION_VISIBILITY_CHANGE",e.ANNOTATION_RENDERED="CORNERSTONE_TOOLS_ANNOTATION_RENDERED",e.SEGMENTATION_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_MODIFIED",e.SEGMENTATION_RENDERED="CORNERSTONE_TOOLS_SEGMENTATION_RENDERED",e.SEGMENTATION_REPRESENTATION_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_MODIFIED",e.SEGMENTATION_REMOVED="CORNERSTONE_TOOLS_SEGMENTATION_REMOVED",e.SEGMENTATION_REPRESENTATION_REMOVED="CORNERSTONE_TOOLS_SEGMENTATION_REPRESENTATION_REMOVED",e.SEGMENTATION_DATA_MODIFIED="CORNERSTONE_TOOLS_SEGMENTATION_DATA_MODIFIED",e.KEY_DOWN="CORNERSTONE_TOOLS_KEY_DOWN",e.KEY_UP="CORNERSTONE_TOOLS_KEY_UP",e.MOUSE_DOWN="CORNERSTONE_TOOLS_MOUSE_DOWN",e.MOUSE_UP="CORNERSTONE_TOOLS_MOUSE_UP",e.MOUSE_DOWN_ACTIVATE="CORNERSTONE_TOOLS_MOUSE_DOWN_ACTIVATE",e.MOUSE_DRAG="CORNERSTONE_TOOLS_MOUSE_DRAG",e.MOUSE_MOVE="CORNERSTONE_TOOLS_MOUSE_MOVE",e.MOUSE_CLICK="CORNERSTONE_TOOLS_MOUSE_CLICK",e.MOUSE_DOUBLE_CLICK="CORNERSTONE_TOOLS_MOUSE_DOUBLE_CLICK",e.MOUSE_WHEEL="CORNERSTONE_TOOLS_MOUSE_WHEEL",e.TOUCH_START="CORNERSTONE_TOOLS_TOUCH_START",e.TOUCH_START_ACTIVATE="CORNERSTONE_TOOLS_TOUCH_START_ACTIVATE",e.TOUCH_PRESS="CORNERSTONE_TOOLS_TOUCH_PRESS",e.TOUCH_DRAG="CORNERSTONE_TOOLS_TOUCH_DRAG",e.TOUCH_END="CORNERSTONE_TOOLS_TOUCH_END",e.TOUCH_TAP="CORNERSTONE_TOOLS_TAP",e.TOUCH_SWIPE="CORNERSTONE_TOOLS_SWIPE",e}(Y||{}),X=Y;function Z(e){return Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Z(e)}function J(e){var t=function(e,t){if("object"!==Z(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==Z(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===Z(t)?t:String(t)}function $(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,J(r.key),r)}}function Q(e,t,n){return t&&$(e.prototype,t),n&&$(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function te(e,t,n){return(t=J(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ne=E(907),re=E.n(ne),oe=new Set;function ae(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=ue();e&&(t?function(e,t,n){t.has(e)||(t.add(e),n.added.push(e))}(e,oe,n):ve(e,oe,n)),fe(n,oe)}function ie(){var e=ue();!function(e,t){e.forEach((function(n){ve(n,e,t)}))}(oe,e),fe(e,oe)}function le(){return Array.from(oe)}function ce(e){return oe.has(e)}function se(){return oe.size}function de(e){if(e){var t=!!e.isLocked;(function(e){var t=Object.getOwnPropertyDescriptor(e,"isLocked");return t?t.configurable&&(t.set!==ge||t.get!==he):Object.isExtensible(e)})(e)&&Object.defineProperty(e,"isLocked",{configurable:!1,enumerable:!0,set:ge,get:he}),ae(e,t)}}function ue(){return Object.freeze({added:[],removed:[],locked:[]})}function ve(e,t,n){t.delete(e)&&n.removed.push(e)}function fe(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.locked.push(t)})),(0,K.triggerEvent)(K.eventTarget,X.ANNOTATION_LOCK_CHANGE,e))}function ge(e){ae(this,e)}function he(){return ce(this)}var pe=new Set;function me(e){arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?we(e):function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Ce();t||_e(pe,n),e&&!pe.has(e)&&(pe.add(e),n.added.push(e)),Te(n,pe)}(e,arguments.length>2&&void 0!==arguments[2]&&arguments[2])}function we(e){var t=Ce();e?pe.delete(e)&&t.removed.push(e):_e(pe,t),Te(t,pe)}function Ee(){return Array.from(pe)}function ye(e){return Ee().filter((function(t){return nt(t).metadata.toolName===e}))}function Ie(e){return pe.has(e)}function be(){return pe.size}function Ce(){return Object.freeze({added:[],removed:[],selection:[]})}function _e(e,t){e.forEach((function(n){e.delete(n)&&t.removed.push(n)}))}function Te(e,t){(e.added.length>0||e.removed.length>0)&&(t.forEach((function(t){e.selection.push(t)})),(0,K.triggerEvent)(K.eventTarget,X.ANNOTATION_SELECTION_CHANGE,e))}var Oe=new Set;function De(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=xe();e&&(t?Pe(e,Oe,n):function(e,t,n){t.has(e)||(t.add(e),Ie(e)&&we(e),n.lastHidden.push(e))}(e,Oe,n)),Re(n)}function Se(){var e=xe();Oe.forEach((function(t){Pe(t,Oe,e)})),Re(e)}function Me(e){if(nt(e))return!Oe.has(e)}function ke(e){if(e){var t,n=null===(t=e.isVisible)||void 0===t||t;(function(e){var t=Object.getOwnPropertyDescriptor(e,"isVisible");return t?t.configurable&&(t.set!==Ae||t.get!==Ne):Object.isExtensible(e)})(e)&&Object.defineProperty(e,"isVisible",{configurable:!1,enumerable:!0,set:Ae,get:Ne}),De(e.annotationUID,n)}}function xe(){return Object.freeze({lastVisible:[],lastHidden:[],hidden:[]})}function Pe(e,t,n){t.delete(e)&&n.lastVisible.push(e)}function Re(e){(e.lastHidden.length>0||e.lastVisible.length>0)&&(Oe.forEach((function(t){e.hidden.push(t)})),(0,K.triggerEvent)(K.eventTarget,X.ANNOTATION_VISIBILITY_CHANGE,e))}function Ae(e){De(this.annotationUID,e)}function Ne(){return Me(this.annotationUID)}function Le(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ue(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ue(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function Ue(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Ve=Q((function e(t){var n=this;ee(this,e),te(this,"annotations",void 0),te(this,"uid",void 0),te(this,"getGroupKey",(function(e){if("string"==typeof e)return e;var t=e,n=(0,K.getEnabledElement)(t);if(!n)throw new Error("Element not enabled, you must have an enabled element if you are not providing a FrameOfReferenceUID");return n.FrameOfReferenceUID})),te(this,"_imageVolumeModifiedHandler",(function(e){var t=e.detail.FrameOfReferenceUID,r=n.annotations[t];r&&Object.keys(r).forEach((function(e){r[e].forEach((function(e){void 0!==e.invalidated&&(e.invalidated=!0)}))}))})),te(this,"getFramesOfReference",(function(){return Object.keys(n.annotations)})),te(this,"getAnnotations",(function(e,t){var r=n.annotations;return r[e]?t?r[e][t]:r[e]:[]})),te(this,"getAnnotation",(function(e){var t=n.annotations;for(var r in t){var o=t[r];for(var a in o){var i,l=Le(o[a]);try{for(l.s();!(i=l.n()).done;){var c=i.value;if(e===c.annotationUID)return c}}catch(e){l.e(e)}finally{l.f()}}}})),te(this,"getNumberOfAnnotations",(function(e,t){var r=n.getAnnotations(e,t);if(!r.length)return 0;if(t)return r.length;var o=0;for(var a in r)o+=r[a].length;return o})),te(this,"addAnnotation",(function(e,t){var r=e.metadata,o=r.FrameOfReferenceUID,a=r.toolName;t=t||o;var i=n.annotations,l=i[t];l||(i[t]={},l=i[t]);var c=l[a];c||(l[a]=[],c=l[a]),c.push(e),de(e),ke(e)})),te(this,"removeAnnotation",(function(e){var t=n.annotations;for(var r in t){var o=t[r];for(var a in o){var i=o[a],l=i.findIndex((function(t){return t.annotationUID===e}));-1!==l&&(i.splice(l,1),0===i.length&&delete o[a])}0===Object.keys(o).length&&delete t[r]}})),te(this,"removeAnnotations",(function(e,t){var r=n.annotations;r[e]&&(t?delete r[e][t]:delete r[e])})),te(this,"saveAnnotations",(function(e,t){var r=n.annotations;if(e&&t){var o=r[e];if(!o)return;var a=o[t];return re()(a)}if(e){var i=r[e];return re()(i)}return re()(r)})),te(this,"restoreAnnotations",(function(e,t,r){var o=n.annotations;if(t&&r){var a=o[t];a||(o[t]={},a=o[t]),a[r]=e}else t?o[t]=e:n.annotations=re()(e)})),te(this,"getNumberOfAllAnnotations",(function(){var e=0,t=n.annotations;for(var r in t){var o=t[r];for(var a in o)e+=o[a].length}return e})),te(this,"removeAllAnnotations",(function(){n.annotations={}})),t||(t=K.utilities.uuidv4()),this.annotations={},this.uid=t,K.eventTarget.addEventListener(K.Enums.Events.IMAGE_VOLUME_MODIFIED,this._imageVolumeModifiedHandler)})),Be=new Ve("DEFAULT"),je=Ve,We={},He={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:We,enabledElements:[],handleRadius:6},Fe={isInteractingWithTool:!1,isMultiPartToolActive:!1,tools:{},toolGroups:[],synchronizers:[],svgNodeCache:We,enabledElements:[],handleRadius:6};var Ge=function(e){return e.Active="Active",e.Passive="Passive",e.Enabled="Enabled",e.Disabled="Disabled",e}(Ge||{}),qe=Ge,ze=[qe.Active,qe.Passive,qe.Enabled],Ke=function(e){return Fe.toolGroups.filter((function(t){for(var n=t.toolOptions,r=Object.keys(n),o=0;o<r.length;o++)if(e===r[o]&&n[e]&&ze.includes(n[e].mode))return!0;return!1}))},Ye=Be;function Xe(){return Ye}function Ze(e){Ye=e}function Je(){Ye=Be}function $e(e,t){var n=Xe(),r=n.getGroupKey(t);return n.getAnnotations(r,e)}function Qe(e,t){void 0===e.annotationUID&&(e.annotationUID=K.utilities.uuidv4());var n=Xe(),r=n.getGroupKey(t);return n.addAnnotation(e,r),t instanceof HTMLDivElement?function(e,t){var n=(0,K.getEnabledElement)(t),r=n.renderingEngine,o=n.viewportId,a=X.ANNOTATION_ADDED,i={annotation:e,viewportId:o,renderingEngineId:r.id};(0,K.triggerEvent)(K.eventTarget,a,i)}(e,t):function(e){var t=e.metadata.toolName,n=Ke(t);if(n.length){var r=[];if(n.forEach((function(t){t.viewportsInfo.forEach((function(t){var n=t.renderingEngineId,o=t.viewportId,a=(0,K.getEnabledElementByIds)(o,n).FrameOfReferenceUID;e.metadata.FrameOfReferenceUID===a&&r.push(t)}))})),r.length){var o=X.ANNOTATION_ADDED;r.forEach((function(t){var n=t.renderingEngineId,r=t.viewportId,a={annotation:e,viewportId:r,renderingEngineId:n};(0,K.triggerEvent)(K.eventTarget,o,a)}))}}}(e),e.annotationUID}function et(e,t){var n=Xe(),r=n.getGroupKey(t);return n.getNumberOfAnnotations(r,e)}function tt(e){var t=Xe(),n=t.getAnnotation(e);if(n){t.removeAnnotation(e);var r=X.ANNOTATION_REMOVED,o={annotation:n,annotationManagerUID:t.uid};(0,K.triggerEvent)(K.eventTarget,r,o)}}function nt(e){return Xe().getAnnotation(e)}function rt(){Xe().removeAllAnnotations()}function ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function at(e,t){if(e){if("string"==typeof e)return ot(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ot(e,t):void 0}}function it(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,i,l=[],c=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw o}}return l}}(e,t)||at(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var lt,ct=[[0,0,0,0],[221,84,84,255],[77,228,121,255],[166,70,235,255],[189,180,116,255],[109,182,196,255],[204,101,157,255],[123,211,94,255],[93,87,218,255],[225,128,80,255],[73,232,172,255],[181,119,186,255],[176,193,112,255],[105,153,200,255],[208,97,120,255],[90,215,101,255],[135,83,222,255],[229,178,76,255],[122,183,181,255],[190,115,171,255],[149,197,108,255],[100,118,205,255],[212,108,93,255],[86,219,141,255],[183,79,226,255],[233,233,72,255],[118,167,187,255],[194,111,146,255],[116,201,104,255],[115,96,209,255],[216,147,89,255],[82,223,188,255],[230,75,224,255],[163,184,121,255],[114,143,191,255],[198,107,114,255],[99,206,122,255],[153,92,213,255],[220,192,85,255],[78,215,227,255],[234,71,173,255],[141,188,117,255],[110,113,195,255],[202,128,103,255],[95,210,157,255],[195,88,217,255],[206,224,81,255],[74,166,231,255],[185,120,139,255],[113,192,113,255],[133,106,199,255],[207,162,98,255],[91,214,198,255],[221,84,198,255],[159,228,77,255],[70,111,235,255],[189,119,116,255],[109,196,138,255],[165,101,204,255],[211,201,94,255],[87,191,218,255],[225,80,153,255],[106,232,73,255],[124,119,186,255],[193,142,112,255],[105,200,168,255],[203,97,208,255],[184,215,90,255],[83,147,222,255],[229,76,101,255],[122,183,130,255],[146,115,190,255],[197,171,108,255],[100,205,205,255],[212,93,177,255],[141,219,86,255],[79,97,226,255],[233,99,72,255],[118,187,150,255],[173,111,194,255],[197,201,104,255],[96,171,209,255],[216,89,137,255],[94,223,82,255],[107,75,230,255],[184,153,121,255],[114,191,175,255],[198,107,191,255],[166,206,99,255],[92,132,213,255],[220,85,91,255],[78,227,115,255],[159,71,234,255],[188,176,117,255],[110,185,195,255],[202,103,161,255],[129,210,95,255],[88,88,217,255],[224,123,81,255],[74,231,166,255],[177,120,185,255],[179,192,113,255],[106,156,199,255],[207,98,125,255],[91,214,96,255],[130,84,221,255],[228,171,77,255],[70,235,221,255],[189,116,174,255],[153,196,109,255],[101,123,204,255],[211,104,94,255],[87,218,136,255],[177,80,225,255],[232,225,73,255],[119,169,186,255],[193,112,149,255],[121,200,105,255],[111,97,208,255],[215,142,90,255],[83,222,181,255],[229,76,229,255],[165,183,122,255],[115,146,190,255],[197,108,119,255],[100,205,118,255],[148,93,212,255],[219,186,86,255],[79,220,226,255],[233,72,179,255],[144,187,118,255],[111,118,194,255],[201,124,104,255],[96,209,153,255],[189,89,216,255],[211,223,82,255],[75,172,230,255],[184,121,142,255],[117,191,114,255],[130,107,198,255],[206,157,99,255],[92,213,193,255],[220,85,203,255],[165,227,78,255],[71,118,234,255],[188,117,117,255],[110,195,135,255],[161,103,202,255],[210,195,95,255],[88,195,217,255],[224,81,158,255],[113,231,74,255],[123,120,185,255],[192,139,113,255],[106,199,164,255],[198,98,207,255],[188,214,91,255],[84,153,221,255],[228,77,108,255],[70,235,84,255],[143,116,189,255],[196,167,109,255],[101,204,199,255],[211,94,182,255],[147,218,87,255],[80,104,225,255],[232,93,73,255],[119,186,147,255],[170,112,193,255],[200,200,105,255],[97,175,208,255],[215,90,142,255],[100,222,83,255],[101,76,229,255],[183,150,122,255],[115,190,171,255],[197,108,194,255],[170,205,100,255],[93,138,212,255],[219,86,97,255],[79,226,110,255],[153,72,233,255],[187,173,118,255],[111,187,194,255],[201,104,165,255],[134,209,96,255],[89,95,216,255],[223,117,82,255],[75,230,159,255],[174,121,184,255],[182,191,114,255],[107,160,198,255],[206,99,130,255],[92,213,92,255],[124,85,220,255],[227,165,78,255],[71,234,214,255],[188,117,176,255],[156,195,110,255],[103,128,202,255],[210,100,95,255],[88,217,131,255],[170,81,224,255],[231,218,74,255],[120,172,185,255],[192,113,153,255],[125,199,106,255],[107,98,207,255],[214,137,91,255],[84,221,175,255],[222,77,228,255],[194,235,70,255],[116,149,189,255],[196,109,123,255],[101,204,114,255],[143,94,211,255],[218,180,87,255],[80,225,225,255],[232,73,186,255],[147,186,119,255],[112,122,193,255],[200,121,105,255],[97,208,148,255],[184,90,215,255],[216,222,83,255],[76,178,229,255],[183,122,145,255],[121,190,115,255],[126,108,197,255],[205,153,100,255],[93,212,187,255],[219,86,208,255],[171,226,79,255],[72,126,233,255],[187,118,121,255],[111,194,132,255],[157,104,201,255],[209,190,96,255],[89,200,216,255],[223,82,164,255],[120,230,75,255],[121,121,184,255],[191,136,114,255],[107,198,160,255],[192,99,206,255],[193,213,92,255],[85,158,220,255],[227,78,115,255],[71,234,78,255],[141,117,188,255],[195,163,110,255],[103,202,194,255],[210,95,186,255],[153,217,88,255],[81,111,224,255]],st=function(e){return e.Labelmap="LABELMAP",e.Contour="CONTOUR",e}(st||{}),dt=st,ut={renderOutline:!0,outlineWidthActive:2,outlineWidthInactive:2,outlineOpacity:1,outlineOpacityInactive:.85,renderFill:!0,fillAlpha:1,fillAlphaInactive:0},vt={renderOutline:!0,outlineWidthActive:3,outlineWidthInactive:2,renderFill:!0,renderFillInactive:!0,fillAlpha:.7,fillAlphaInactive:.65,outlineOpacity:1,outlineOpacityInactive:.85},ft=function(){return vt};function gt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ht(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gt(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var pt=ft(),mt=ut,wt={colorLUT:[],segmentations:[],globalConfig:{renderInactiveSegmentations:!0,representations:(lt={},te(lt,dt.Labelmap,pt),te(lt,dt.Contour,mt),lt)},toolGroups:{}},Et=new(function(){function e(t){ee(this,e),te(this,"state",void 0),te(this,"uid",void 0),t||(t=K.utilities.uuidv4()),this.state=re()(wt),this.uid=t}return Q(e,[{key:"getState",value:function(){return this.state}},{key:"getToolGroups",value:function(){return Object.keys(this.state.toolGroups)}},{key:"getColorLUT",value:function(e){return this.state.colorLUT[e]}},{key:"resetState",value:function(){this.state=re()(wt)}},{key:"getSegmentation",value:function(e){return this.state.segmentations.find((function(t){return t.segmentationId===e}))}},{key:"addSegmentation",value:function(e){if(this._initDefaultColorLUTIfNecessary(),this.getSegmentation(e.segmentationId))throw new Error("Segmentation with id ".concat(e.segmentationId," already exists"));this.state.segmentations.push(e)}},{key:"getSegmentationRepresentations",value:function(e){var t=this.state.toolGroups[e];if(t)return t.segmentationRepresentations}},{key:"getAllSegmentationRepresentations",value:function(){var e={};return Object.entries(this.state.toolGroups).forEach((function(t){var n=it(t,2),r=n[0],o=n[1];e[r]=o.segmentationRepresentations})),e}},{key:"addSegmentationRepresentation",value:function(e,t){this.state.toolGroups[e]||(this.state.toolGroups[e]={segmentationRepresentations:[],config:{}}),this.state.toolGroups[e].segmentationRepresentations.push(t),this._handleActiveSegmentation(e,t)}},{key:"getGlobalConfig",value:function(){return this.state.globalConfig}},{key:"setGlobalConfig",value:function(e){this.state.globalConfig=e}},{key:"getSegmentationRepresentationByUID",value:function(e,t){return this.getSegmentationRepresentations(e).find((function(e){return e.segmentationRepresentationUID===t}))}},{key:"removeSegmentation",value:function(e){this.state.segmentations=this.state.segmentations.filter((function(t){return t.segmentationId!==e}))}},{key:"removeSegmentationRepresentation",value:function(e,t){var n=this.getSegmentationRepresentations(e);if(!n||!n.length)throw new Error("No viewport specific segmentation state found for viewport ".concat(e));var r=n.findIndex((function(e){return e.segmentationRepresentationUID===t}));-1===r&&console.warn("No viewport specific segmentation state data found for viewport ".concat(e," and segmentation data UID ").concat(t));var o=n[r];n.splice(r,1),this._handleActiveSegmentation(e,o)}},{key:"setActiveSegmentationRepresentation",value:function(e,t){var n=this.getSegmentationRepresentations(e);if(!n||!n.length)throw new Error("No segmentation data found for toolGroupId: ".concat(e));var r=n.find((function(e){return e.segmentationRepresentationUID===t}));if(!r)throw new Error("No segmentation data found for segmentation data UID ".concat(t));r.active=!0,this._handleActiveSegmentation(e,r)}},{key:"getToolGroupSpecificConfig",value:function(e){var t=this.state.toolGroups[e];if(t)return t.config}},{key:"getSegmentationRepresentationSpecificConfig",value:function(e,t){var n=this.getSegmentationRepresentationByUID(e,t);if(n)return n.segmentationRepresentationSpecificConfig}},{key:"setSegmentationRepresentationSpecificConfig",value:function(e,t,n){var r=this.getSegmentationRepresentationByUID(e,t);r&&(r.segmentationRepresentationSpecificConfig=n)}},{key:"getSegmentSpecificConfig",value:function(e,t,n){var r=this.getSegmentationRepresentationByUID(e,t);if(r)return r.segmentSpecificConfig[n]}},{key:"setSegmentSpecificConfig",value:function(e,t,n){var r=this.getSegmentationRepresentationByUID(e,t);r&&(r.segmentSpecificConfig=n)}},{key:"setSegmentationRepresentationConfig",value:function(e,t){var n=this.state.toolGroups[e];n||(this.state.toolGroups[e]={segmentationRepresentations:[],config:{renderInactiveSegmentations:!0,representations:{}}},n=this.state.toolGroups[e]),n.config=ht(ht({},n.config),t)}},{key:"addColorLUT",value:function(e,t){this.state.colorLUT[t]&&console.log("Color LUT table already exists, overwriting"),this.state.colorLUT[t]=e}},{key:"removeColorLUT",value:function(e){delete this.state.colorLUT[e]}},{key:"_handleActiveSegmentation",value:function(e,t){var n=this.getSegmentationRepresentations(e);0!==n.length&&(1!==n.length&&0!==n.filter((function(e){return e.active})).length?t.active&&n.forEach((function(e){e.segmentationRepresentationUID!==t.segmentationRepresentationUID&&(e.active=!1)})):n[0].active=!0)}},{key:"_initDefaultColorLUTIfNecessary",value:function(){0!==this.state.colorLUT.length&&this.state.colorLUT[0]||this.addColorLUT(ct,0)}}]),e}())("DEFAULT");function yt(e){var t={segmentationId:e};(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_REMOVED,t)}function It(e,t){var n={toolGroupId:e,segmentationRepresentationUID:t};(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_REPRESENTATION_REMOVED,n)}function bt(e,t){var n={toolGroupId:e,segmentationRepresentationUID:t};t?(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_REPRESENTATION_MODIFIED,n):(Pt(e)||[]).forEach((function(t){var n=t.segmentationRepresentationUID,r={toolGroupId:e,segmentationRepresentationUID:n};(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_REPRESENTATION_MODIFIED,r)}))}function Ct(e){(e?[e]:kt().map((function(e){return e.segmentationId}))).forEach((function(e){var t={segmentationId:e};(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_MODIFIED,t)}))}function _t(e,t){var n={segmentationId:e,modifiedSlicesToUse:t};(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_DATA_MODIFIED,n)}function Tt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tt(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Dt=function(e){var t=e.segmentationId,n=e.representation;return{segmentationId:t,cachedStats:{},segmentLabels:{},label:null,segmentsLocked:new Set,type:n.type,activeSegmentIndex:1,representationData:te({},n.type,Ot({},n.data))}};function St(){return Et}function Mt(e){return St().getSegmentation(e)}function kt(){return St().getState().segmentations}function xt(e,t){var n=St(),r=Dt(e);n.addSegmentation(r),t||Ct(r.segmentationId)}function Pt(e){return St().getSegmentationRepresentations(e)}function Rt(){return St().getAllSegmentationRepresentations()}function At(e){if(!e)throw new Error("getToolGroupIdsWithSegmentation: segmentationId is empty");var t=St(),n=t.getState(),r=Object.keys(n.toolGroups),o=[];return r.forEach((function(n){t.getSegmentationRepresentations(n).forEach((function(t){t.segmentationId===e&&o.push(n)}))})),o}function Nt(e){return St().getToolGroupSpecificConfig(e)}function Lt(e,t,n){St().setSegmentationRepresentationConfig(e,t),n||bt(e)}function Ut(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];St().setSegmentationRepresentationSpecificConfig(e,t,n),r||bt(e,t)}function Vt(e,t){return St().getSegmentationRepresentationSpecificConfig(e,t)}function Bt(e,t,n){return St().getSegmentSpecificConfig(e,t,n)}function jt(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];St().setSegmentSpecificConfig(e,t,n),r||bt(e,t)}function Wt(e,t,n){St().addSegmentationRepresentation(e,t),n||bt(e,t.segmentationRepresentationUID)}function Ht(){return St().getGlobalConfig()}function Ft(e,t){St().setGlobalConfig(e),t||Ct()}function Gt(e,t){return St().getSegmentationRepresentationByUID(e,t)}function qt(e){St().removeSegmentation(e),yt(e)}function zt(e,t){St().removeSegmentationRepresentation(e,t),It(e,t)}function Kt(e){St().removeColorLUT(e)}function Yt(e){return St().getColorLUT(e)}function Xt(e,t){St().addColorLUT(e,t)}function Zt(e,t){var n=t||e.currentTarget,r=(0,K.getEnabledElement)(n).viewport,o=function(e){return[e.clientX,e.clientY]}(e),a=function(e){return[e.pageX,e.pageY]}(e),i=function(e,t){var n=e.getBoundingClientRect();return[t[0]-n.left-window.pageXOffset,t[1]-n.top-window.pageYOffset]}(n,a);return{page:a,client:o,canvas:i,world:r.canvasToWorld(i)}}var Jt=function(e){var t=e.currentTarget,n=(0,K.getEnabledElement)(t),r=n.viewportId,o=n.renderingEngineId,a=Zt(e,t),i={event:e,eventName:X.MOUSE_DOUBLE_CLICK,viewportId:r,renderingEngineId:o,camera:{},element:t,startPoints:a,lastPoints:a,currentPoints:a,deltaPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}};!(0,K.triggerEvent)(t,X.MOUSE_DOUBLE_CLICK,i)&&(e.stopImmediatePropagation(),e.preventDefault())},$t=X.MOUSE_MOVE,Qt=function(e){var t=e.currentTarget,n=(0,K.getEnabledElement)(t),r={renderingEngineId:n.renderingEngineId,viewportId:n.viewportId,camera:{},element:t,currentPoints:Zt(e),eventName:$t,event:e};!(0,K.triggerEvent)(t,$t,r)&&(e.stopImmediatePropagation(),e.preventDefault())},en=X.MOUSE_DOWN,tn=X.MOUSE_DOWN_ACTIVATE,nn=X.MOUSE_CLICK,rn=X.MOUSE_UP,on=X.MOUSE_DRAG,an=3,ln={mouseButton:void 0,element:null,renderingEngineId:void 0,viewportId:void 0,isClickEvent:!0,clickDelay:200,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}},cn={mouseButton:void 0,renderingEngineId:void 0,viewportId:void 0,isClickEvent:!0,clickDelay:200,element:null,preventClickTimeout:null,startPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},lastPoints:{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]}},sn={doubleClickTimeout:null,mouseDownEvent:null,mouseUpEvent:null,ignoreDoubleClick:!1};function dn(e){var t=Zt(e,cn.element),n=En(cn.element,cn.lastPoints),r=yn(t,n);if(sn.doubleClickTimeout){if(!fn(r.canvas))return;hn()}var o={event:e,eventName:on,mouseButton:cn.mouseButton,renderingEngineId:cn.renderingEngineId,viewportId:cn.viewportId,camera:{},element:cn.element,startPoints:wn(cn.startPoints),lastPoints:wn(n),currentPoints:t,deltaPoints:r};!(0,K.triggerEvent)(cn.element,on,o)&&(e.stopImmediatePropagation(),e.preventDefault()),cn.lastPoints=wn(t)}function un(e){if(clearTimeout(cn.preventClickTimeout),sn.doubleClickTimeout)sn.mouseUpEvent?mn():(sn.mouseUpEvent=e,cn.element.addEventListener("mousemove",vn));else{var t=cn.isClickEvent?nn:rn,n=Zt(e,cn.element),r=yn(n,cn.lastPoints),o={event:e,eventName:t,mouseButton:cn.mouseButton,element:cn.element,renderingEngineId:cn.renderingEngineId,viewportId:cn.viewportId,camera:{},startPoints:wn(cn.startPoints),lastPoints:wn(cn.lastPoints),currentPoints:n,deltaPoints:r};(0,K.triggerEvent)(o.element,t,o),mn()}document.removeEventListener("mousemove",dn)}function vn(e){fn(yn(Zt(e,cn.element),En(cn.element,cn.lastPoints)).canvas)&&(hn(),Qt(e))}function fn(e){return Math.abs(e[0])+Math.abs(e[1])>an}function gn(){cn.isClickEvent=!1}function hn(){sn.ignoreDoubleClick=!0;var e,t,n,r=sn.mouseDownEvent,o=sn.mouseUpEvent;pn(),e=r,t=yn(cn.startPoints,cn.startPoints),n={event:e,eventName:en,element:cn.element,mouseButton:cn.mouseButton,renderingEngineId:cn.renderingEngineId,viewportId:cn.viewportId,camera:{},startPoints:cn.startPoints,lastPoints:cn.startPoints,currentPoints:cn.startPoints,deltaPoints:t},cn.lastPoints=wn(n.lastPoints),(0,K.triggerEvent)(n.element,en,n)&&(0,K.triggerEvent)(n.element,tn,n),o&&un(o)}function pn(){sn.doubleClickTimeout&&(clearTimeout(sn.doubleClickTimeout),sn.doubleClickTimeout=null),sn.mouseDownEvent=null,sn.mouseUpEvent=null}function mn(){var e,t;document.removeEventListener("mouseup",un),null===(e=cn.element)||void 0===e||e.removeEventListener("mousemove",vn),null===(t=cn.element)||void 0===t||t.addEventListener("mousemove",Qt),pn(),cn=JSON.parse(JSON.stringify(ln))}function wn(e){return JSON.parse(JSON.stringify(e))}function En(e,t){var n=(0,K.getEnabledElement)(e).viewport.canvasToWorld(t.canvas);return{page:t.page,client:t.client,canvas:t.canvas,world:n}}function yn(e,t){return{page:In(e.page,t.page),client:In(e.client,t.client),canvas:In(e.canvas,t.canvas),world:(n=e.world,r=t.world,[n[0]-r[0],n[1]-r[1],n[2]-r[2]])};var n,r}function In(e,t){return[e[0]-t[0],e[1]-t[1]]}function bn(e){sn.ignoreDoubleClick?(sn.ignoreDoubleClick=!1,e.stopImmediatePropagation(),e.preventDefault()):mn()}var Cn=function(e){if(sn.doubleClickTimeout){if(e.buttons===sn.mouseDownEvent.buttons)return;return sn.mouseDownEvent=e,void hn()}sn.doubleClickTimeout=setTimeout(hn,1===e.buttons?400:150),sn.mouseDownEvent=e,sn.ignoreDoubleClick=!1,cn.element=e.currentTarget,cn.mouseButton=e.buttons;var t=(0,K.getEnabledElement)(cn.element),n=t.renderingEngineId,r=t.viewportId;cn.renderingEngineId=n,cn.viewportId=r,cn.preventClickTimeout=setTimeout(gn,cn.clickDelay),cn.element.removeEventListener("mousemove",Qt);var o=Zt(e,cn.element);cn.startPoints=wn(o),cn.lastPoints=wn(o),document.addEventListener("mouseup",un),document.addEventListener("mousemove",dn)};function _n(e){e.removeEventListener("dblclick",Jt),e.removeEventListener("mousedown",Cn),e.removeEventListener("mousemove",Qt),e.removeEventListener("dblclick",bn,{capture:!0})}var Tn={enable:function(e){_n(e),e.addEventListener("dblclick",Jt),e.addEventListener("mousedown",Cn),e.addEventListener("mousemove",Qt),e.addEventListener("dblclick",bn,{capture:!0})},disable:_n},On=function(e){var t=e.currentTarget,n=(0,K.getEnabledElement)(t),r=n.renderingEngineId,o=n.viewportId;if(!(e.deltaY>-1&&e.deltaY<1)){e.preventDefault();var a=function(e){var t=0,n=0,r=0,o=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),r=10*t,o=10*n,"deltaY"in e&&(o=e.deltaY),"deltaX"in e&&(r=e.deltaX),(r||o)&&e.deltaMode&&(1===e.deltaMode?(r*=40,o*=40):(r*=800,o*=800)),r&&!t&&(t=r<1?-1:1),o&&!n&&(n=o<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:o}}(e),i=a.spinX,l=a.spinY,c=a.pixelX,s=a.pixelY,d=l<0?-1:1,u={event:e,eventName:X.MOUSE_WHEEL,renderingEngineId:r,viewportId:o,element:t,camera:{},detail:e,wheel:{spinX:i,spinY:l,pixelX:c,pixelY:s,direction:d},points:Zt(e)};(0,K.triggerEvent)(t,X.MOUSE_WHEEL,u)}};function Dn(e){e.removeEventListener("wheel",On)}var Sn,Mn,kn={enable:function(e){Dn(e),e.addEventListener("wheel",On,{passive:!1})},disable:Dn},xn={mouse:0,touch:1};function Pn(e,t){var n=Date.now();if(e!==Sn){if(n-Mn<=2e3)return t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),!1;Sn=e}Mn=n}var Rn=Pn.bind(null,xn.mouse),An=Pn.bind(null,xn.touch);function Nn(e,t,n){var r=n?Rn:An;t.forEach((function(t){e.addEventListener(t,r,{passive:!1})}))}function Ln(e,t,n){var r=n?Rn:An;t.forEach((function(t){e.removeEventListener(t,r)}))}var Un=["mousedown","mouseup","mousemove"],Vn=["touchstart","touchend"];function Bn(e){Ln(e,Un,xn.mouse),Ln(e,Vn,xn.touch)}var jn={enable:function(e){Bn(e),Nn(e,Un,xn.mouse),Nn(e,Vn,xn.touch)},disable:Bn},Wn=function(e){return e.UP="UP",e.DOWN="DOWN",e.LEFT="LEFT",e.RIGHT="RIGHT",e}(Wn||{});function Hn(e,t){var n=t||e.currentTarget,r="touchend"===e.type?e.changedTouches:e.touches;return Object.keys(r).map((function(e){var t=function(e){return[e.clientX,e.clientY]}(r[e]),o=function(e){return[e.pageX,e.pageY]}(r[e]),a=function(e,t){var n=e.getBoundingClientRect();return[t[0]-n.left-window.pageXOffset,t[1]-n.top-window.pageYOffset]}(n,o);return{page:o,client:t,canvas:a,world:(0,K.getEnabledElement)(n).viewport.canvasToWorld(a),touch:{identifier:e,radiusX:r[e].radiusX,radiusY:r[e].radiusY,force:r[e].force,rotationAngle:r[e].rotationAngle}}}))}function Fn(e,t){var n,r,o=Xn(e),a=Xn(t);return{page:Jn(o.page,a.page),client:Jn(o.client,a.client),canvas:Jn(o.canvas,a.canvas),world:(n=o.world,r=a.world,[n[0]-r[0],n[1]-r[1],n[2]-r[2]])}}function Gn(e,t){var n=Xn(e),r=Xn(t);return{page:Qn(n.page,r.page),client:Qn(n.client,r.client),canvas:Qn(n.canvas,r.canvas),world:er(n.world,r.world)}}function qn(e,t){}function zn(e,t){var n=$n(e),r=$n(t);return{page:n.page-r.page,client:n.client-r.client,canvas:n.canvas-r.canvas,world:n.world-r.world}}function Kn(e){return JSON.parse(JSON.stringify(e))}function Yn(e){return JSON.parse(JSON.stringify(e))}function Xn(e){return e.reduce((function(t,n){return{page:[t.page[0]+n.page[0]/e.length,t.page[1]+n.page[1]/e.length],client:[t.client[0]+n.client[0]/e.length,t.client[1]+n.client[1]/e.length],canvas:[t.canvas[0]+n.canvas[0]/e.length,t.canvas[1]+n.canvas[1]/e.length],world:[t.world[0]+n.world[0]/e.length,t.world[1]+n.world[1]/e.length,t.world[2]+n.world[2]/e.length]}}),{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]})}function Zn(e){return e.reduce((function(t,n){return{page:[t.page[0]+n.page[0]/e.length,t.page[1]+n.page[1]/e.length],client:[t.client[0]+n.client[0]/e.length,t.client[1]+n.client[1]/e.length],canvas:[t.canvas[0]+n.canvas[0]/e.length,t.canvas[1]+n.canvas[1]/e.length],world:[t.world[0]+n.world[0]/e.length,t.world[1]+n.world[1]/e.length,t.world[2]+n.world[2]/e.length],touch:{identifier:null,radiusX:t.touch.radiusX+n.touch.radiusX/e.length,radiusY:t.touch.radiusY+n.touch.radiusY/e.length,force:t.touch.force+n.touch.force/e.length,rotationAngle:t.touch.rotationAngle+n.touch.rotationAngle/e.length}}}),{page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0],touch:{identifier:null,radiusX:0,radiusY:0,force:0,rotationAngle:0}})}function Jn(e,t){return[e[0]-t[0],e[1]-t[1]]}function $n(e){for(var t=[],n=0;n<e.length;n++)for(var r=0;r<e.length;r++)n<r&&t.push({page:Qn(e[n].page,e[r].page),client:Qn(e[n].client,e[r].client),canvas:Qn(e[n].canvas,e[r].canvas),world:er(e[n].world,e[r].world)});return t.reduce((function(e,n){return{page:e.page+n.page/t.length,client:e.client+n.client/t.length,canvas:e.canvas+n.canvas/t.length,world:e.world+n.world/t.length}}),{page:0,client:0,canvas:0,world:0})}function Qn(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2))}function er(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2))}function tr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tr(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var rr=K.Settings.getRuntimeSettings(),or=X.TOUCH_START,ar=X.TOUCH_START_ACTIVATE,ir=X.TOUCH_PRESS,lr=X.TOUCH_DRAG,cr=X.TOUCH_END,sr=X.TOUCH_TAP,dr=X.TOUCH_SWIPE,ur={page:[0,0],client:[0,0],canvas:[0,0],world:[0,0,0]},vr={page:0,client:0,canvas:0,world:0},fr={renderingEngineId:void 0,viewportId:void 0,element:null,startPointsList:[nr(nr({},ur),{},{touch:null})],lastPointsList:[nr(nr({},ur),{},{touch:null})],isTouchStart:!1,startTime:null,pressTimeout:null,pressDelay:700,pressMaxDistance:5,accumulatedDistance:vr,swipeDistanceThreshold:48,swiped:!1,swipeToleranceMs:300},gr={renderingEngineId:void 0,viewportId:void 0,element:null,startPointsList:[nr(nr({},ur),{},{touch:null})],taps:0,tapTimeout:null,tapMaxDistance:24,tapToleranceMs:300},hr=JSON.parse(JSON.stringify(fr)),pr=JSON.parse(JSON.stringify(gr));function mr(e,t,n){return rr.get("debug")&&("CORNERSTONE_TOOLS_TOUCH_DRAG"===t?console.debug(t):console.debug(t,n)),(0,K.triggerEvent)(e,t,n)}function wr(e){var t=Hn(e,hr.element),n=yr(hr.element,hr.lastPointsList),r=t.length===n.length?Fn(t,n):ur,o=t.length===n.length?zn(t,n):vr,a=t.length===n.length?Gn(t,hr.lastPointsList):vr;hr.accumulatedDistance={page:hr.accumulatedDistance.page+a.page,client:hr.accumulatedDistance.client+a.client,canvas:hr.accumulatedDistance.canvas+a.canvas,world:hr.accumulatedDistance.world+a.world};var i={event:e,eventName:lr,renderingEngineId:hr.renderingEngineId,viewportId:hr.viewportId,camera:{},element:hr.element,startPoints:Zn(hr.startPointsList),lastPoints:Zn(n),currentPoints:Zn(t),startPointsList:Kn(hr.startPointsList),lastPointsList:Kn(n),currentPointsList:t,deltaPoints:r,deltaDistance:o};mr(hr.element,lr,i),function(e,t){var n=(new Date).getTime(),r=hr.startTime.getTime();if(!(hr.swiped||n-r>hr.swipeToleranceMs)){var o=it(t.canvas,2),a=o[0],i=o[1],l={event:e,eventName:dr,renderingEngineId:hr.renderingEngineId,viewportId:hr.viewportId,camera:{},element:hr.element,swipe:null};Math.abs(a)>hr.swipeDistanceThreshold&&(l.swipe=a>0?Wn.RIGHT:Wn.LEFT,mr(l.element,dr,l),hr.swiped=!0),Math.abs(i)>hr.swipeDistanceThreshold&&(l.swipe=i>0?Wn.DOWN:Wn.UP,mr(l.element,dr,l),hr.swiped=!0)}}(e,r),hr.lastPointsList=Kn(t)}function Er(e){clearTimeout(hr.pressTimeout);var t=Hn(e,hr.element),n=yr(hr.element,hr.lastPointsList),r=t.length===n.length?Fn(t,n):Fn(t,t),o=t.length===n.length?zn(t,n):zn(t,t),a={event:e,eventName:cr,element:hr.element,renderingEngineId:hr.renderingEngineId,viewportId:hr.viewportId,camera:{},startPointsList:Kn(hr.startPointsList),lastPointsList:Kn(n),currentPointsList:t,startPoints:Zn(hr.startPointsList),lastPoints:Zn(n),currentPoints:Zn(t),deltaPoints:r,deltaDistance:o};mr(a.element,cr,a),function(e){if(!((new Date).getTime()-hr.startTime.getTime()>pr.tapToleranceMs||(0===pr.taps&&(pr.element=hr.element,pr.renderingEngineId=hr.renderingEngineId,pr.viewportId=hr.viewportId,pr.startPointsList=hr.startPointsList),pr.taps>0&&(pr.element!=hr.element||pr.renderingEngineId!=hr.renderingEngineId||pr.viewportId!=hr.viewportId)))){var t=Hn(e,pr.element);Gn(t,pr.startPointsList).canvas>pr.tapMaxDistance||(clearTimeout(pr.tapTimeout),pr.taps+=1,pr.tapTimeout=setTimeout((function(){var n={event:e,eventName:sr,element:pr.element,renderingEngineId:pr.renderingEngineId,viewportId:pr.viewportId,camera:{},currentPointsList:t,currentPoints:Zn(t),taps:pr.taps};mr(n.element,sr,n),pr=JSON.parse(JSON.stringify(gr))}),pr.tapToleranceMs))}}(e),hr=JSON.parse(JSON.stringify(fr)),document.removeEventListener("touchmove",wr),document.removeEventListener("touchend",Er)}function yr(e,t){var n=(0,K.getEnabledElement)(e).viewport;return t.map((function(e){var t=n.canvasToWorld(e.canvas);return{page:e.page,client:e.client,canvas:e.canvas,world:t,touch:e.touch}}))}var Ir=function(e){hr.element=e.currentTarget;var t=(0,K.getEnabledElement)(hr.element),n=t.renderingEngineId,r=t.viewportId;hr.renderingEngineId=n,hr.viewportId=r,hr.isTouchStart||(clearTimeout(hr.pressTimeout),hr.pressTimeout=setTimeout((function(){return function(e){if(!(hr.accumulatedDistance.canvas>hr.pressMaxDistance)){var t={event:e,eventName:ir,renderingEngineId:hr.renderingEngineId,viewportId:hr.viewportId,camera:{},element:hr.element,startPointsList:Kn(hr.startPointsList),lastPointsList:Kn(hr.lastPointsList),startPoints:Yn(Zn(hr.startPointsList)),lastPoints:Yn(Zn(hr.lastPointsList))};mr(t.element,ir,t)}}(e)}),hr.pressDelay),function(e){hr.isTouchStart=!0,hr.startTime=new Date;var t=Hn(e,hr.element),n=Zn(t),r=ur,o=vr,a={event:e,eventName:or,element:hr.element,renderingEngineId:hr.renderingEngineId,viewportId:hr.viewportId,camera:{},startPointsList:t,lastPointsList:t,currentPointsList:t,startPoints:n,lastPoints:n,currentPoints:n,deltaPoints:r,deltaDistance:o};hr.startPointsList=Kn(a.startPointsList),hr.lastPointsList=Kn(a.lastPointsList),mr(a.element,or,a)&&mr(a.element,ar,a)}(e),document.addEventListener("touchmove",wr),document.addEventListener("touchend",Er))};function br(e){jn.disable(e),e.removeEventListener("touchstart",Ir)}var Cr={enable:function(e){br(e),jn.enable(e),e.addEventListener("touchstart",Ir,{passive:!1})},disable:br},_r={renderingEngineId:void 0,viewportId:void 0,key:void 0,keyCode:void 0,element:null},Tr={renderingEngineId:void 0,viewportId:void 0,key:void 0,keyCode:void 0,element:null};function Or(e){Tr.element=e.currentTarget;var t=(0,K.getEnabledElement)(Tr.element),n=t.renderingEngineId,r=t.viewportId;Tr.renderingEngineId=n,Tr.viewportId=r,Tr.key=e.key,Tr.keyCode=e.keyCode,e.preventDefault();var o={renderingEngineId:Tr.renderingEngineId,viewportId:Tr.viewportId,element:Tr.element,key:Tr.key,keyCode:Tr.keyCode};(0,K.triggerEvent)(o.element,X.KEY_DOWN,o),document.addEventListener("keyup",Sr),document.addEventListener("visibilitychange",Dr),Tr.element.removeEventListener("keydown",Or)}function Dr(){document.removeEventListener("visibilitychange",Dr),"hidden"===document.visibilityState&&Mr()}function Sr(e){var t={renderingEngineId:Tr.renderingEngineId,viewportId:Tr.viewportId,element:Tr.element,key:Tr.key,keyCode:Tr.keyCode};document.removeEventListener("keyup",Sr),document.removeEventListener("visibilitychange",Dr),Tr.element.addEventListener("keydown",Or),Tr=re()(_r),(0,K.triggerEvent)(t.element,X.KEY_UP,t)}function Mr(){Tr.keyCode=void 0}var kr=Or;function xr(e){e.removeEventListener("keydown",kr)}var Pr={enable:function(e){xr(e),e.addEventListener("keydown",kr)},disable:xr,getModifierKey:function(){return Tr.keyCode}};function Rr(e){return function(e){if(Array.isArray(e))return ot(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||at(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ar(e,t){if(Fe.svgNodeCache[e])return Fe.svgNodeCache[e][t]?Fe.svgNodeCache[e][t].domRef:void 0}function Nr(e,t,n,r){if(!Fe.svgNodeCache[t])return null;Fe.svgNodeCache[t][r]={touched:!0,domRef:n},e.appendChild(n)}function Lr(e,t){Fe.svgNodeCache[e]&&Fe.svgNodeCache[e][t]&&(Fe.svgNodeCache[e][t].touched=!0)}function Ur(e,t){Fe.svgNodeCache[t]&&Object.keys(Fe.svgNodeCache[t]).forEach((function(n){var r=Fe.svgNodeCache[t][n];!r.touched&&r.domRef&&(e.removeChild(r.domRef),delete Fe.svgNodeCache[t][n])}))}var Vr=function(e,t){var n=function(e){var t=(0,K.getEnabledElement)(e),n=t.viewportId,r=t.renderingEngineId,o="".concat(n,":").concat(r),a=function(e){var t=".".concat("viewport-element");return e.querySelector(t).querySelector(":scope > .svg-layer")}(e);return Object.keys(Fe.svgNodeCache[o]).forEach((function(e){Fe.svgNodeCache[o][e].touched=!1})),{svgLayerElement:a,svgNodeCacheForCanvas:Fe.svgNodeCache,getSvgNode:Ar.bind(this,o),appendNode:Nr.bind(this,a,o),setNodeTouched:Lr.bind(this,o),clearUntouched:Ur.bind(this,a,o)}}(e);t(n),n.clearUntouched()},Br=function(e,t){var n=Fe.toolGroups.filter((function(n){return n.viewportsInfo.some((function(n){return n.renderingEngineId===t&&(!n.viewportId||n.viewportId===e)}))}));if(n.length){if(n.length>1)throw new Error("Multiple tool groups found for renderingEngineId: ".concat(t," and viewportId: ").concat(e,". You should only\n have one tool group per viewport in a renderingEngine."));return n[0]}};function jr(e,t){var n=(0,K.getEnabledElement)(e),r=n.renderingEngineId,o=n.viewportId,a=Br(o,r);if(!a)return[];for(var i=[],l=Object.keys(a.toolOptions),c=0;c<l.length;c++){var s=l[c],d=a.toolOptions[s];if(d&&t.includes(d.mode)){var u=a.getToolInstance(s);i.push(u)}}return i}function Wr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Hr=qe.Active,Fr=qe.Passive,Gr=qe.Enabled,qr=function(){function e(){var t=this;ee(this,e),te(this,"hasBeenDestroyed",void 0),te(this,"_needsRender",new Set),te(this,"_animationFrameSet",!1),te(this,"_animationFrameHandle",null),te(this,"_viewportElements",void 0),te(this,"_renderFlaggedViewports",(function(){t._throwIfDestroyed();for(var e=Array.from(t._viewportElements.values()),n=0;n<e.length;n++){var r=e[n];if(t._needsRender.has(r)&&(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size))return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}})),this._viewportElements=new Map}return Q(e,[{key:"addViewportElement",value:function(e,t){this._viewportElements.set(e,t)}},{key:"removeViewportElement",value:function(e,t){this._viewportElements.delete(e),this._needsRender.delete(t),this._reset()}},{key:"renderViewport",value:function(e){this._setViewportsToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setAllViewportsToBeRenderedNextFrame",value:function(){var e=this;Rr(this._viewportElements.values()).forEach((function(t){e._needsRender.add(t)})),this._renderFlaggedViewports()}},{key:"_setViewportsToBeRenderedNextFrame",value:function(e){var t=this,n=Rr(this._viewportElements.values());e.forEach((function(e){-1!==n.indexOf(e)&&t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedViewports),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=(0,K.getEnabledElement)(e);if(t)if((0,K.getRenderingEngine)(t.renderingEngineId)){var n=jr(e,[Hr,Fr,Gr]),r=t.renderingEngineId,o=t.viewportId,a={element:e,renderingEngineId:r,viewportId:o};Vr(e,(function(r){var o=!1;n.forEach((function(e){if(e.renderAnnotation){var n=e.renderAnnotation(t,r);o=o||n}})),o&&(0,K.triggerEvent)(e,X.ANNOTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wr(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},a))}))}else console.warn("rendering Engine has been destroyed");else console.warn("Element has been disabled")}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null,this._setAllViewportsToBeRenderedNextFrame()}}]),e}(),zr=new qr,Kr=function(e){zr.renderViewport(e)},Yr=function(e){Kr(e.detail.element)},Xr={enable:function(e){e.addEventListener(K.Enums.Events.IMAGE_RENDERED,Yr)},disable:function(e){e.removeEventListener(K.Enums.Events.IMAGE_RENDERED,Yr)}};function Zr(e,t,n){var r=e.detail,o=r.renderingEngineId,a=r.viewportId,i=Br(a,o);if(!i)return[];for(var l=[],c=Object.keys(i.toolOptions),s=0;s<c.length;s++){var d=c[s],u=i.toolOptions[d],v=null!=n&&u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===n}));if(t.includes(u.mode)&&(!n||v)){var f=i.getToolInstance(d);l.push(f)}}return l}var Jr=qe.Active,$r=qe.Passive,Qr=qe.Enabled,eo=function(e){Zr(e,[Jr,$r,Qr]).forEach((function(t){t.onCameraModified&&t.onCameraModified(e)}))},to={enable:function(e){e.addEventListener(K.Enums.Events.CAMERA_MODIFIED,eo)},disable:function(e){e.removeEventListener(K.Enums.Events.CAMERA_MODIFIED,eo)}},no=qe.Active,ro=qe.Passive,oo=qe.Enabled,ao=function(e){Zr(e,[no,ro,oo]).forEach((function(t){t.onImageSpacingCalibrated&&t.onImageSpacingCalibrated(e)}))},io={enable:function(e){e.addEventListener(K.Enums.Events.IMAGE_SPACING_CALIBRATED,ao)},disable:function(e){e.removeEventListener(K.Enums.Events.IMAGE_SPACING_CALIBRATED,ao)}},lo=qe.Active;function co(e,t,n){if(Fe.isInteractingWithTool)return!1;var r,o=n.detail,a=o.renderingEngineId,i=o.viewportId,l=Br(i,a);if(!l)return!1;for(var c=Object.keys(l.toolOptions),s=0;s<c.length;s++){var d=c[s],u=l.toolOptions[d],v=l.getToolInstance(d);if(u.mode===lo&&"function"==typeof v[t]){r=l.getToolInstance(d);break}}r&&r[t](n)}var so=co.bind(null,"Mouse","mouseClickCallback");function uo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function vo(e,t,n){var r="touch"===(arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse")?36:6,o=[];return t.forEach((function(t){var a,i=t.tool,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return uo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?uo(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t.annotations);try{for(l.s();!(a=l.n()).done;){var c=a.value;if(!c.isLocked&&c.isVisible){var s=i.getHandleNearImagePoint(e,c,n,r);if(s){o.push({tool:i,annotation:c,handle:s});break}}}}catch(e){l.e(e)}finally{l.f()}})),o}function fo(e,t){for(var n=[],r=0;r<t.length;r++){var o,a=t[r];if(a){var i=$e(a.constructor.toolName,e);null!==(o=i)&&void 0!==o&&o.length&&("function"==typeof a.filterInteractableAnnotationsForElement&&(i=a.filterInteractableAnnotationsForElement(e,i)),i.length>0&&n.push({tool:a,annotations:i}))}else console.warn("undefined tool in filterToolsWithAnnotationsForElement")}return n}function go(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ho(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"mouse",o="touch"===r?36:6,a=[];return t.forEach((function(t){var i,l=t.tool,c=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return go(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?go(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t.annotations);try{for(c.s();!(i=c.n()).done;){var s=i.value;if(!s.isLocked&&s.isVisible&&l.isPointNearTool(e,s,n,o,r)){a.push({tool:l,annotation:s});break}}}catch(e){c.e(e)}finally{c.f()}})),a}var po=function(e){return e[e.Primary=1]="Primary",e[e.Secondary=2]="Secondary",e[e.Primary_And_Secondary=3]="Primary_And_Secondary",e[e.Auxiliary=4]="Auxiliary",e[e.Primary_And_Auxiliary=5]="Primary_And_Auxiliary",e[e.Secondary_And_Auxiliary=6]="Secondary_And_Auxiliary",e[e.Primary_And_Secondary_And_Auxiliary=7]="Primary_And_Secondary_And_Auxiliary",e[e.Fourth_Button=8]="Fourth_Button",e[e.Fifth_Button=16]="Fifth_Button",e}(po||{}),mo=function(e){return e[e.Shift=16]="Shift",e[e.Ctrl=17]="Ctrl",e[e.Alt=18]="Alt",e[e.Meta=91]="Meta",e[e.ShiftCtrl=1617]="ShiftCtrl",e[e.ShiftAlt=1618]="ShiftAlt",e[e.ShiftMeta=1691]="ShiftMeta",e[e.CtrlAlt=1718]="CtrlAlt",e[e.CtrlMeta=1791]="CtrlMeta",e[e.AltMeta=1891]="AltMeta",e}(mo||{}),wo=function(e){return e.shiftKey?e.ctrlKey?mo.ShiftCtrl:e.altKey?mo.ShiftAlt:e.metaKey?mo.ShiftMeta:mo.Shift:e.ctrlKey?e.altKey?mo.CtrlAlt:e.metaKey?mo.CtrlMeta:mo.Ctrl:e.altKey?e.metaKey&&mo.AltMeta||mo.Alt:e.metaKey?mo.Meta:void 0},Eo=qe.Active;function yo(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=e.detail.event,a=wo(o)||Pr.getModifierKey(),i=Br(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=i.getDefaultMousePrimary(),s=0;s<l.length;s++){var d=l[s],u=i.toolOptions[d],v=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(o?o.buttons:c)&&e.modifierKey===a}));if(u.mode===Eo&&v)return i.getToolInstance(d)}}var Io=qe.Active,bo=qe.Passive;var Co=qe.Active,_o=qe.Passive;function To(e){if(!Fe.isInteractingWithTool){var t=yo(e);if(t&&"function"==typeof t.preMouseDownCallback&&t.preMouseDownCallback(e))return;var n=1===e.detail.event.buttons,r=Zr(e,[Co],e.detail.event.buttons),o=n?Zr(e,[_o]):void 0,a=[].concat(Rr(r||[]),Rr(o||[])),i=e.detail,l=i.element,c=fo(l,a),s=i.currentPoints.canvas,d=vo(l,c,s,"mouse"),u=!!e.detail.event.shiftKey;if(d.length>0){var v=Oo(d),f=v.tool,g=v.annotation,h=v.handle;return Do(g.annotationUID,u),void f.handleSelectedCallback(e,g,h,"Mouse")}var p=ho(l,c,s,"mouse");if(p.length>0){var m=Oo(p),w=m.tool,E=m.annotation;return Do(E.annotationUID,u),void w.toolSelectedCallback(e,E,"Mouse",s)}if(t&&"function"==typeof t.postMouseDownCallback&&t.postMouseDownCallback(e))return;!function(e){if(Fe.isInteractingWithTool)return!1;var t=e.detail,n=t.element,r=(0,K.getEnabledElement)(n),o=t.currentPoints.canvas;if(!r)return!1;var a=function(e,t){var n,r=new Map,o=e.detail,a=o.renderingEngineId,i=o.viewportId,l=Br(i,a);if(!l)return r;for(var c=Object.keys(l.toolOptions),s=l.getDefaultMousePrimary(),d=e.detail.event,u=null!==(n=null==d?void 0:d.buttons)&&void 0!==n?n:s,v=wo(d)||Pr.getModifierKey(),f=0;f<c.length;f++){var g,h=c[f],p=l.getToolInstance(h),m=null===(g=p.configuration)||void 0===g?void 0:g.actions;if(null!=m&&m.length&&t.includes(p.mode)){var w=m.find((function(e){return e.bindings.length&&e.bindings.some((function(e){return e.mouseButton===u&&e.modifierKey===v}))}));w&&r.set(p,w)}}return r}(e,[Io,bo]),i=ho(n,fo(n,Array.from(a.keys())),o);if(i.length>0){var l=i[0],c=l.tool,s=l.annotation,d=a.get(c);return("string"==typeof d.method?c[d.method]:d.method).call(c,e,s),!0}}(e)}}function Oo(e){return e.length>1&&e.find((function(e){return!ce(e.annotation)&&Me(e.annotation.annotationUID)}))||e[0]}function Do(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?Ie(e)?me(e,!1):me(e,!0,!0):me(e,!0,!1)}function So(e){if(!Fe.isInteractingWithTool){var t=yo(e);t&&(Fe.isMultiPartToolActive||t.addNewAnnotation&&me(t.addNewAnnotation(e,"mouse").annotationUID))}}var Mo=co.bind(null,"Mouse","doubleClickCallback");function ko(e){if(!Fe.isInteractingWithTool){var t=yo(e);!t||"function"!=typeof t.mouseDragCallback||t.mouseDragCallback(e)}}function xo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Po=qe.Active,Ro=qe.Passive;function Ao(e){if(!Fe.isInteractingWithTool&&!Fe.isMultiPartToolActive){var t,n=Zr(e,[Po,Ro]),r=e.detail.element,o=fo(r,n),a=n.filter((function(e){return!o.some((function(t){return t.tool.getToolName()===e.getToolName()}))})),i=!1,l=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return xo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xo(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(l.s();!(t=l.n()).done;){var c=t.value,s=c.tool,d=c.annotations;"function"==typeof s.mouseMoveCallback&&(i=s.mouseMoveCallback(e,d)||i)}}catch(e){l.e(e)}finally{l.f()}a.forEach((function(t){"function"==typeof t.mouseMoveCallback&&t.mouseMoveCallback(e)})),!0===i&&Kr(r)}}var No=co.bind(null,"Mouse","mouseUpCallback"),Lo=co.bind(null,"MouseWheel","mouseWheelCallback"),Uo={enable:function(e){e.addEventListener(X.MOUSE_CLICK,so),e.addEventListener(X.MOUSE_DOWN,To),e.addEventListener(X.MOUSE_DOWN_ACTIVATE,So),e.addEventListener(X.MOUSE_DOUBLE_CLICK,Mo),e.addEventListener(X.MOUSE_DRAG,ko),e.addEventListener(X.MOUSE_MOVE,Ao),e.addEventListener(X.MOUSE_UP,No),e.addEventListener(X.MOUSE_WHEEL,Lo)},disable:function(e){e.removeEventListener(X.MOUSE_CLICK,so),e.removeEventListener(X.MOUSE_DOWN,To),e.removeEventListener(X.MOUSE_DOWN_ACTIVATE,So),e.removeEventListener(X.MOUSE_DOUBLE_CLICK,Mo),e.removeEventListener(X.MOUSE_DRAG,ko),e.removeEventListener(X.MOUSE_MOVE,Ao),e.removeEventListener(X.MOUSE_UP,No),e.removeEventListener(X.MOUSE_WHEEL,Lo)}},Vo=qe.Active;function Bo(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=cn.mouseButton,a=Pr.getModifierKey(),i=Br(r,n);if(!i)return null;for(var l=Object.keys(i.toolOptions),c=i.getDefaultMousePrimary(),s=0;s<l.length;s++){var d=l[s],u=i.toolOptions[d],v=u.bindings.length&&u.bindings.some((function(e){return e.mouseButton===(null!=o?o:c)&&e.modifierKey===a}));if(u.mode===Vo&&v)return i.getToolInstance(d)}}function jo(e){var t=Bo(e);if(t){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=Br(o,r),i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}function Wo(e){var t=Bo(e);if(t){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=Br(o,r);Mr();var i=t.getToolName();Object.keys(a.toolOptions).includes(i)&&a.setViewportsCursorByToolName(i)}}var Ho={enable:function(e){e.addEventListener(X.KEY_DOWN,jo),e.addEventListener(X.KEY_UP,Wo)},disable:function(e){e.removeEventListener(X.KEY_DOWN,jo),e.removeEventListener(X.KEY_UP,Wo)}},Fo=qe.Active;function Go(e){var t=e.detail,n=t.renderingEngineId,r=t.viewportId,o=e.detail.event,a=Br(r,n);if(!a)return null;for(var i=Object.keys(a.toolOptions),l=Object.keys(o.touches).length,c=wo(o)||Pr.getModifierKey(),s=a.getDefaultMousePrimary(),d=0;d<i.length;d++){var u=i[d],v=a.toolOptions[u],f=v.bindings.length&&v.bindings.some((function(e){return(e.numTouchPoints===l||1===l&&e.mouseButton===s)&&e.modifierKey===c}));if(v.mode===Fo&&f)return a.getToolInstance(u)}}function qo(e,t,n){var r=e.detail,o=r.renderingEngineId,a=r.viewportId,i=Br(a,o);if(!i)return[];for(var l=[],c=Object.keys(i.toolOptions),s=0;s<c.length;s++){var d=c[s],u=i.toolOptions[d],v=null!=n&&u.bindings.length&&u.bindings.some((function(e){return e.numTouchPoints===n}));if(t.includes(u.mode)&&(!n||v)){var f=i.getToolInstance(d);l.push(f)}}return l}var zo=qe.Active,Ko=qe.Passive;function Yo(e){if(!Fe.isInteractingWithTool){var t=Go(e);if(t&&"function"==typeof t.preTouchStartCallback&&t.preTouchStartCallback(e))return;var n=1===Object.keys(e.detail.event.touches).length,r=qo(e,[zo],Object.keys(e.detail.event.touches).length),o=n?qo(e,[Ko]):void 0,a=[].concat(Rr(r||[]),Rr(o||[]),[t]),i=e.detail,l=i.element,c=fo(l,a),s=i.currentPoints.canvas,d=vo(l,c,s,"touch");if(d.length>0){var u=Xo(d),v=u.tool,f=u.annotation,g=u.handle;return Zo(f.annotationUID,!1),void v.handleSelectedCallback(e,f,g,"Touch")}var h=ho(l,c,s,"touch");if(h.length>0){var p=Xo(h),m=p.tool,w=p.annotation;return Zo(w.annotationUID,!1),void m.toolSelectedCallback(e,w,"Touch")}if(t&&"function"==typeof t.postTouchStartCallback&&t.postTouchStartCallback(e))return}}function Xo(e){return e.length>1&&e.find((function(e){return!ce(e.annotation)&&Me(e.annotation.annotationUID)}))||e[0]}function Zo(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?Ie(e)?me(e,!1):me(e,!0,!0):me(e,!0,!1)}function Jo(e){if(!Fe.isInteractingWithTool){var t=Go(e);t&&(Fe.isMultiPartToolActive||t.addNewAnnotation&&me(t.addNewAnnotation(e,"touch").annotationUID))}}function $o(e){if(!Fe.isInteractingWithTool){var t=Go(e);!t||"function"!=typeof t.touchDragCallback||t.touchDragCallback(e)}}var Qo=co.bind(null,"Touch","touchEndCallback"),ea=co.bind(null,"Touch","touchTapCallback"),ta=co.bind(null,"Touch","touchPressCallback"),na={enable:function(e){e.addEventListener(X.TOUCH_START,Yo),e.addEventListener(X.TOUCH_START_ACTIVATE,Jo),e.addEventListener(X.TOUCH_DRAG,$o),e.addEventListener(X.TOUCH_END,Qo),e.addEventListener(X.TOUCH_TAP,ea),e.addEventListener(X.TOUCH_PRESS,ta)},disable:function(e){e.removeEventListener(X.TOUCH_START,Yo),e.removeEventListener(X.TOUCH_START_ACTIVATE,Jo),e.removeEventListener(X.TOUCH_DRAG,$o),e.removeEventListener(X.TOUCH_END,Qo),e.removeEventListener(X.TOUCH_PRESS,ta)}};function ra(e){var t,n=e.detail,r=n.element,o=n.viewportId,a=function(e){var t="http://www.w3.org/2000/svg",n=document.createElementNS(t,"svg"),r="svg-layer-".concat(e);n.classList.add("svg-layer"),n.setAttribute("id",r),n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.style.width="100%",n.style.height="100%",n.style.pointerEvents="none",n.style.position="absolute";var o=document.createElementNS(t,"defs"),a=document.createElementNS(t,"filter"),i=document.createElementNS(t,"feOffset"),l=document.createElementNS(t,"feColorMatrix"),c=document.createElementNS(t,"feBlend");return a.setAttribute("id","shadow-".concat(r)),a.setAttribute("filterUnits","userSpaceOnUse"),i.setAttribute("result","offOut"),i.setAttribute("in","SourceGraphic"),i.setAttribute("dx","0.5"),i.setAttribute("dy","0.5"),l.setAttribute("result","matrixOut"),l.setAttribute("in","offOut"),l.setAttribute("in2","matrix"),l.setAttribute("values","0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0"),c.setAttribute("in","SourceGraphic"),c.setAttribute("in2","matrixOut"),c.setAttribute("mode","normal"),a.appendChild(i),a.appendChild(l),a.appendChild(c),o.appendChild(a),n.appendChild(o),n}(o);!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);Fe.svgNodeCache[o]={}}(r),t=a,r.querySelector("div.viewport-element").appendChild(t),zr.addViewportElement(o,r),Tn.enable(r),kn.enable(r),Cr.enable(r),Pr.enable(r),Xr.enable(r),to.enable(r),io.enable(r),Uo.enable(r),Ho.enable(r),na.enable(r),Fe.enabledElements.push(r)}var oa=function(e,t){var n=[];if(!t&&!e)throw new Error("At least one of renderingEngineId or viewportId should be given");for(var r=0;r<Fe.synchronizers.length;r++){var o=Fe.synchronizers[r],a=!o.isDisabled(),i=o.hasSourceViewport(t,e),l=o.hasTargetViewport(t,e);a&&(i||l)&&n.push(o)}return n},aa=function(e){var t=e.detail,n=t.element,r=t.viewportId;!function(e){var t=e.dataset,n=t.viewportUid,r=t.renderingEngineUid,o="".concat(n,":").concat(r);delete Fe.svgNodeCache[o]}(n),function(e){var t=e.querySelector("div.".concat("viewport-element")),n=t.querySelector("svg");n&&t.removeChild(n)}(n),zr.removeViewportElement(r,n),Tn.disable(n),kn.disable(n),Cr.disable(n),Pr.disable(n),Xr.disable(n),to.disable(n),io.disable(n),Uo.disable(n),Ho.disable(n),na.disable(n),function(e){var t=(0,K.getEnabledElement)(e);oa(t.viewportId,t.renderingEngineId).forEach((function(e){e.remove(t)}))}(n),function(e){var t=(0,K.getEnabledElement)(e),n=t.renderingEngineId,r=t.viewportId,o=Br(r,n);o&&o.removeViewports(n,r)}(n),function(e){var t=Fe.enabledElements.findIndex((function(t){return t===e}));t>-1&&Fe.enabledElements.splice(t,1)}(n)},ia=function(e,t){t.length&&t.forEach((function(t){var n=e.getViewport(t).element;Kr(n)}))},la=function(e){var t=e.detail,n=t.viewportId,r=t.renderingEngineId,o=(0,K.getRenderingEngine)(r);ia(o,[n])},ca=function(e){e.detail.removed.length&&(0,K.getRenderingEngines)().forEach((function(e){var t=e.getViewports().map((function(e){return e.id}));ia(e,t)}))},sa=function(e){var t=e.detail.segmentationId;At(t).forEach((function(e){Pt(e).forEach((function(n){n.segmentationId===t&&bt(e,n.segmentationRepresentationUID)}))}))},da=function(e){return Fe.toolGroups.find((function(t){return t.id===e}))};function ua(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function va(e,t){return va=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},va(e,t)}function fa(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&va(e,t)}function ga(e,t){if(t&&("object"===Z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ua(e)}function ha(e){return ha=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ha(e)}function pa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ma(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pa(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function wa(){return Ht()}function Ea(e){Ft(e)}function ya(e){return wa().representations[e]}function Ia(e,t){var n=wa();Ea(ma(ma({},n),{},{representations:ma(ma({},n.representations),{},te({},e,ma(ma({},n.representations[e]),t)))}))}function ba(e){return Nt(e)}function Ca(e,t){Lt(e,t)}function _a(e,t){return Vt(e,t)}function Ta(e,t,n){Ut(e,t,n)}function Oa(e,t,n){return Bt(e,t,n)}function Da(e,t,n){jt(e,t,n)}function Sa(e,t,n){var r=Pt(e);if(r){var o=r.find((function(e){return e.segmentationRepresentationUID===t}));if(o){var a=o.segmentsHidden,i=function(e){var t=Mt(e);if(t.type===dt.Labelmap){for(var n=K.cache.getVolume(e).getScalarData(),r={},o=0;o<n.length;o++){var a=n[o];0===a||r[a]||(r[a]=!0)}return Object.keys(r).map((function(e){return parseInt(e,10)}))}if(t.type===dt.Contour){var i,l=null===(i=t.representationData.CONTOUR)||void 0===i?void 0:i.geometryIds;if(!l)throw new Error("No geometryIds found for segmentationId ".concat(e));return l.map((function(e){return K.cache.getGeometry(e).data.getSegmentIndex()}))}}(o.segmentationId);n?a.clear():i.forEach((function(e){a.add(e)})),bt(e,o.segmentationRepresentationUID)}}}function Ma(e,t){var n=Pt(e).find((function(e){return e.segmentationRepresentationUID===t}));if(n)return 0===n.segmentsHidden.size}function ka(e,t,n,r){var o=Gt(e,t);o&&(n.forEach((function(e){r?o.segmentsHidden.delete(e):o.segmentsHidden.add(e)})),bt(e,t))}function xa(e,t,n,r){var o=Gt(e,t);o&&(r?o.segmentsHidden.delete(n):o.segmentsHidden.add(n),bt(e,t))}var Pa=function(){function e(t,n){ee(this,e),te(this,"supportedInteractionTypes",void 0),te(this,"configuration",void 0),te(this,"toolGroupId",void 0),te(this,"mode",void 0);var r=K.utilities.deepMerge(n,t),o=r.configuration,a=void 0===o?{}:o,i=r.supportedInteractionTypes,l=r.toolGroupId;a.strategies||(a.strategies={},a.defaultStrategy=void 0,a.activeStrategy=void 0,a.strategyOptions={}),this.toolGroupId=l,this.supportedInteractionTypes=i||[],this.configuration=Object.assign({},a),this.mode=qe.Disabled}return Q(e,[{key:"getToolName",value:function(){return this.constructor.toolName}},{key:"applyActiveStrategy",value:function(e,t){var n=this.configuration;return n.strategies[n.activeStrategy].call(this,e,t)}},{key:"setConfiguration",value:function(e){this.configuration=K.utilities.deepMerge(this.configuration,e)}},{key:"setActiveStrategy",value:function(e){this.setConfiguration({activeStrategy:e})}},{key:"getTargetVolumeId",value:function(e){var t;if(this.configuration.volumeId)return this.configuration.volumeId;var n=e.getActors();return n?null===(t=n.find((function(e){return"vtkVolume"===e.actor.getClassName()})))||void 0===t?void 0:t.uid:void 0}},{key:"getTargetIdImage",value:function(e,t){if(e.startsWith("imageId:")){var n=e.split("imageId:")[1],r=K.utilities.imageIdToURI(n),o=K.utilities.getViewportsWithImageURI(r,t.id);if(!o||!o.length)return;if(!(o=o.filter((function(e){return e.getCurrentImageId()===n})))||!o.length)return;return o[0].getImageData()}if(e.startsWith("volumeId:")){var a=e.split("volumeId:")[1],i=K.utilities.getViewportsWithVolumeId(a,t.id);if(!i||!i.length)return;return i[0].getImageData()}throw new Error('getTargetIdImage: targetId must start with "imageId:" or "volumeId:"')}},{key:"getTargetId",value:function(e){if(e instanceof K.StackViewport)return"imageId:".concat(e.getCurrentImageId());if(e instanceof K.BaseVolumeViewport)return"volumeId:".concat(this.getTargetVolumeId(e));throw new Error("getTargetId: viewport must be a StackViewport or VolumeViewport")}}]),e}();te(Pa,"toolName",void 0),Pa.toolName="BaseTool";var Ra=Pa;function Aa(e,t,n,r,o,a,i){try{var l=e[a](i),c=l.value}catch(e){return void n(e)}l.done?t(c):Promise.resolve(c).then(r,o)}function Na(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var a=e.apply(t,n);function i(e){Aa(a,r,o,i,l,"next",e)}function l(e){Aa(a,r,o,i,l,"throw",e)}i(void 0)}))}}var La=E(841),Ua=E.n(La),Va=E(785),Ba=E.n(Va),ja=E(127),Wa=E.n(ja),Ha=E(474),Fa=E.n(Ha),Ga=E(610),qa=E.n(Ga),za=E(396),Ka=E.n(za),Ya=E(348),Xa=E.n(Ya),Za=E(70),Ja=E.n(Za);function $a(e,t,n){var r,o,a=null===(r=e.segmentSpecificConfig)||void 0===r?void 0:r[t];return a||(a=null===(o=e.segmentSpecificConfig)||void 0===o?void 0:o[n]),a?a.CONTOUR:null}var Qa=new Map;function ei(e){return Qa.get(e)}function ti(e,t){Qa.set(e,t)}function ni(e,t,n,r,o){var a=n.segmentationRepresentationUID,i=n.segmentsHidden,l=Wa().newInstance(),c=new Map,s=new Map;t.forEach((function(e){var t=K.cache.getGeometry(e);if(t){var r=t.data.getSegmentIndex();!function(e){if(!e)throw new Error("No contours found for geometryId ".concat(e.id));var t=e.id;if(e.type!==K.Enums.GeometryType.CONTOUR)throw new Error("Geometry type ".concat(e.type," not supported for rendering."));e.data||console.warn("No contours found for geometryId ".concat(t,". Skipping render."))}(t);for(var o=$a(n,e,r),a=t.data,d=function(e){var t=[],n=Xa().newInstance(),r=Ka().newInstance(),o=0;e.getContours().forEach((function(e){var n=e.getPoints(),a=e.getFlatPointsArray(),i=e.getType(),l=n.map((function(e,t){return t+o}));i===K.Enums.ContourType.CLOSED_PLANAR&&l.push(l[0]);var c=Float32Array.from(a);t.push.apply(t,Rr(c)),r.insertNextCell(Rr(l)),o+=n.length})),n.setData(t,3);var a=Ja().newInstance();return a.setPoints(n),a.setLines(r),a}(a),u=a.getColor(),v=d.getPoints().getNumberOfPoints(),f=Ba().newInstance({size:4*v,numberOfComponents:4,dataType:"Uint8Array"}),g=0;g<v;++g)f.setTuple(g,[].concat(Rr(u),[255]));d.getPointData().setScalars(f),o&&s.set(r,o),c.set(r,[].concat(Rr(u),[i.has(r)?0:255])),0===r?l.setInputData(d):l.addInputData(d)}else console.warn("No geometry found for geometryId ".concat(e,". Skipping render."))}));var d=l.getOutputData(),u=r.representations.CONTOUR.outlineWidthActive,v=qa().newInstance();v.setInputData(d);var f=Fa().newInstance();f.setMapper(v),f.getProperty().setLineWidth(u),ti(a,Object.assign({},ei(a),{segmentsHidden:new Set(i),segmentSpecificMap:s,outlineWidthActive:u})),f.setForceOpaque(!0),e.addActor({uid:o,actor:f}),e.resetCamera(),e.render()}function ri(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return oi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?oi(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}function oi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ai(e,t,n,r,o){var a=n.segmentationRepresentationUID,i=n.segmentsHidden,l=r.representations.CONTOUR,c=ei(a),s=e.getActor(o);if(s){var d=s.actor,u=l.outlineWidthActive;(null==c?void 0:c.outlineWidthActive)!==u&&(d.getProperty().setLineWidth(u),ti(a,Object.assign({},c,{outlineWidthActive:u})));var v,f=d.getMapper(),g=f.getLookupTable(),h=[],p=[],m=ri(i);try{for(m.s();!(v=m.n()).done;){var w=v.value;c.segmentsHidden.has(w)||h.push(w)}}catch(e){m.e(e)}finally{m.f()}var E,y=ri(c.segmentsHidden);try{for(y.s();!(E=y.n()).done;){var I=E.value;i.has(I)||p.push(I)}}catch(e){y.e(e)}finally{y.f()}var b=Array.from(c.segmentsHidden).filter((function(e){return!p.includes(e)})).concat(h),C=t.reduce((function(e,t){var r=K.cache.getGeometry(t).data,o=r.getSegmentIndex(),a=$a(n,t,o);return e.contourSets.push(r),e.segmentSpecificConfigs[o]=null!=a?a:{},e}),{contourSets:[],segmentSpecificConfigs:{}}),_=C.contourSets,T=C.segmentSpecificConfigs,O=[].concat(Rr(b),p),D=Object.values(T).some((function(e){return Object.keys(e).length>0})),S=!1;if(O.length||D){var M=f.getInputData(),k=M.getPointData().getScalars().getData(),x=0;_.forEach((function(e){var t,n=e.getSegmentIndex(),r=e.getTotalNumberOfPoints();if(O.includes(n)||null!==(t=T[n])&&void 0!==t&&t.fillAlpha){var o=e.getColor(),a=b.includes(n)?0:255,i=T[n];void 0!==i.fillAlpha&&(a=255*i.fillAlpha);for(var l=0;l<r;++l)k[x+4*l]=o[0],k[x+4*l+1]=o[1],k[x+4*l+2]=o[2],k[x+4*l+3]=a;S=!0}x+=4*r})),S&&M.modified(),ti(a,Object.assign({},c,{segmentsHidden:new Set(i)})),f.setLookupTable(g)}e.render()}else console.warn("No contour actor found for actorUID ".concat(o,". Skipping render."))}function ii(e,t,n,r){var o=n.segmentationRepresentationUID,a="CONTOUR_".concat(o);(e.getActor(a)?ai:ni)(e,t,n,r,a)}var li=function(e,t){var n=(0,K.getEnabledElement)(e).viewport,r=n.getActors().map((function(e){var n=e.uid;return n.includes(t)?n:void 0})).filter(Boolean);n.removeActors(r)};function ci(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function si(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ci(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ci(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function di(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ui(){return(ui=Na(Ua().mark((function e(t,n,r){var o,a,i,l,c,s;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=n.segmentationId,a=K.utilities.uuidv4(),i=new Set,l={segmentationId:o,segmentationRepresentationUID:a,type:dt.Contour,segmentsHidden:i,colorLUTIndex:0,active:!0,segmentationRepresentationSpecificConfig:{},segmentSpecificConfig:{},config:{}},r&&(c=ba(t),s=K.utilities.deepMerge(c,r),Ca(t,{renderInactiveSegmentations:s.renderInactiveSegmentations||!0,representations:si({},s.representations)})),Wt(t,l),e.abrupt("return",a);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function vi(){return(vi=Na(Ua().mark((function e(t,n,r){var o,a,i,l;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.segmentationId,a=Mt(o),i=a.representationData[dt.Contour],l=i.geometryIds,!(t instanceof K.StackViewport)){e.next=6;break}return e.abrupt("return");case 6:null!=l&&l.length||console.warn("No contours found for segmentationId ".concat(o,". Skipping render.")),ii(t,l,n,r);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var fi={render:function(e,t,n){return vi.apply(this,arguments)},addSegmentationRepresentation:function(e,t,n){return ui.apply(this,arguments)},removeSegmentationRepresentation:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(function(e,t){var n=da(e);if(void 0===n)throw new Error("ToolGroup with ToolGroupId ".concat(e," does not exist"));var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return di(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?di(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(n.viewportsInfo);try{for(o.s();!(r=o.n()).done;){var a=r.value,i=a.viewportId,l=a.renderingEngineId,c=(0,K.getEnabledElementByIds)(i,l);li(c.viewport.element,t)}}catch(e){o.e(e)}finally{o.f()}})(e,t),zt(e,t),function(e){Qa.delete(e)}(t),n&&da(e).getViewportsInfo().forEach((function(e){var t=e.viewportId,n=e.renderingEngineId;(0,K.getEnabledElementByIds)(t,n).viewport.render()}))}},gi=E(441),hi=E.n(gi),pi=E(795),mi=E.n(pi);function wi(){return(wi=Na(Ua().mark((function e(t,n,r){var o,a,i,l,c;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=(0,K.getEnabledElement)(t),a=o.renderingEngine,i=o.viewport,l=i.id,c=[{volumeId:n,actorUID:r,visibility:!0,blendMode:K.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND}],e.next=9,(0,K.addVolumesToViewports)(a,c,[l],!1,!0);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ei=function(e,t,n){return wi.apply(this,arguments)},yi=function(e,t){var n=(0,K.getEnabledElement)(e).viewport;n instanceof K.StackViewport||n.removeVolumeActors([t])};function Ii(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function bi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ci(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bi(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _i=255,Ti=new Map;function Oi(){return(Oi=Na(Ua().mark((function e(t,n,r){var o,a,i,l,c,s,d,u;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=n.segmentationId,a=K.utilities.uuidv4(),i=new Set,l=mi().newInstance(),(c=hi().newInstance()).addPoint(0,0),s={segmentationId:o,segmentationRepresentationUID:a,type:dt.Labelmap,segmentsHidden:i,colorLUTIndex:0,active:!0,segmentationRepresentationSpecificConfig:{},segmentSpecificConfig:{},config:{cfun:l,ofun:c}},r&&(d=ba(t),u=K.utilities.deepMerge(d,r),Ca(t,{renderInactiveSegmentations:u.renderInactiveSegmentations||!0,representations:Ci({},u.representations)})),Wt(t,s),e.abrupt("return",a);case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Di(e,t){if(!t)return!0;var n=e.getDefaultActor();if(!n)return!1;var r=n.uid,o=K.cache.getVolume(r);if(o){var a=K.cache.getVolume(t);if(a&&o.metadata.FrameOfReferenceUID===a.metadata.FrameOfReferenceUID)return!0}return!1}function Si(){return(Si=Na(Ua().mark((function e(t,n,r){var o,a,i,l,c,s,d,u,v,f,g,h,p,m,w,E;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.colorLUTIndex,a=n.active,i=n.segmentationId,l=n.segmentationRepresentationUID,c=n.segmentsHidden,s=n.config,d=Mt(i),u=d.representationData[dt.Labelmap],v=u.volumeId,K.cache.getVolume(v)){e.next=7;break}throw new Error("No Labelmap found for volumeId: ".concat(v));case 7:if(Di(t,null==u?void 0:u.referencedVolumeId)){e.next=9;break}return e.abrupt("return");case 9:if(f=t.getActor(l)){e.next=16;break}return g=Mt(i),h=g.representationData[dt.Labelmap].volumeId,e.next=15,Pi(t,h,l);case 15:f=t.getActor(l);case 16:if(f){e.next=18;break}return e.abrupt("return");case 18:m=(p=s).cfun,w=p.ofun,E=r.renderInactiveSegmentations,Mi(t.id,f,m,w,o,r.representations[dt.Labelmap],n,a,E,c);case 21:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Mi(e,t,n,r,o,a,i,l,c,s){for(var d=i.segmentSpecificConfig,u=i.segmentationRepresentationSpecificConfig[dt.Labelmap],v=Yt(o),f=Math.min(256,v.length),g=t.actor,h=t.uid,p=ki(a,u,l),m=p.outlineWidth,w=p.renderOutline,E=p.outlineOpacity,y=0;y<f;y++){var I,b=y,C=v[b],_=ki(a,u,l,null===(I=d[b])||void 0===I?void 0:I[dt.Labelmap]),T=_.fillAlpha,O=_.outlineWidth,D=_.renderFill,S=xi(e,h,b,{fillAlpha:T,renderFill:D,renderOutline:_.renderOutline,segmentColor:C,outlineWidth:O,segmentsHidden:s}),M=S.forceOpacityUpdate;if(S.forceColorUpdate&&n.addRGBPoint(b,C[0]/_i,C[1]/_i,C[2]/_i),M)if(D){var k=s.has(b)?0:C[3]/255*T;r.removePoint(b),r.addPointLong(b,k,.5,1)}else r.addPointLong(b,.01,.5,1)}g.getProperty().setRGBTransferFunction(0,n),r.setClamping(!1),g.getProperty().setScalarOpacity(0,r),g.getProperty().setInterpolationTypeToNearest(),g.getProperty().setUseLabelOutline(w),g.getProperty().setLabelOutlineOpacity(E),g.getProperty().setLabelOutlineThickness(m);var x=l||c;g.setVisibility(x)}function ki(e,t,n,r){var o=r||{},a=Ci(Ci(Ci({},e),t),o);return{fillAlpha:n?a.fillAlpha:a.fillAlphaInactive,outlineWidth:n?a.outlineWidthActive:a.outlineWidthInactive,renderFill:n?a.renderFill:a.renderFillInactive,renderOutline:a.renderOutline,outlineOpacity:n?a.outlineOpacity:a.outlineOpacityInactive}}function xi(e,t,n,r){var o=r.fillAlpha,a=r.renderFill,i=r.renderOutline,l=r.segmentColor,c=r.outlineWidth,s=r.segmentsHidden,d="".concat(e,"-").concat(t,"-").concat(n),u=Ti.get(d);if(!u)return Ti.set(d,{fillAlpha:o,renderFill:a,renderOutline:i,outlineWidth:c,segmentColor:l.slice(),segmentsHidden:new Set(s)}),{forceOpacityUpdate:!0,forceColorUpdate:!0};var v=u.fillAlpha,f=u.renderFill,g=u.renderOutline,h=u.outlineWidth,p=u.segmentColor,m=u.segmentsHidden,w=p[0]!==l[0]||p[1]!==l[1]||p[2]!==l[2],E=p[3]!==l[3]||v!==o||f!==a||g!==i||h!==c||m.has(n)!==s.has(n);return Ti.set(d,{fillAlpha:o,renderFill:a,renderOutline:i,outlineWidth:c,segmentColor:l.slice(),segmentsHidden:new Set(s)}),{forceOpacityUpdate:E,forceColorUpdate:w}}function Pi(e,t,n){return Ri.apply(this,arguments)}function Ri(){return(Ri=Na(Ua().mark((function e(t,n,r){return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ei(t.element,n,r);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ai={render:function(e,t,n){return Si.apply(this,arguments)},addSegmentationRepresentation:function(e,t,n){return Oi.apply(this,arguments)},removeSegmentationRepresentation:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];(function(e,t){var n=da(e);if(void 0===n)throw new Error("ToolGroup with ToolGroupId ".concat(e," does not exist"));var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ii(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ii(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(n.viewportsInfo);try{for(o.s();!(r=o.n()).done;){var a=r.value,i=a.viewportId,l=a.renderingEngineId,c=(0,K.getEnabledElementByIds)(i,l);yi(c.viewport.element,t)}}catch(e){o.e(e)}finally{o.f()}})(e,t),zt(e,t),n&&da(e).getViewportsInfo().forEach((function(e){var t=e.viewportId,n=e.renderingEngineId;(0,K.getEnabledElementByIds)(t,n).viewport.render()}))}};function Ni(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Li=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{}};return ee(this,o),te(ua(e=r.call(this,t,n)),"renderSegmentation",(function(t){var n=da(t);if(n){var r=Pt(t);if(r&&0!==r.length){var o=n.viewportsInfo.map((function(e){var t=e.renderingEngineId,n=e.viewportId,r=(0,K.getEnabledElementByIds)(n,t);if(r)return r.viewport})),a=r.map((function(n){var r,a=e._getMergedRepresentationsConfig(t),i=[],l=n.type===dt.Labelmap?Ai:fi,c=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ni(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ni(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(c.s();!(r=c.n()).done;){var s=r.value,d=l.render(s,n,a);i.push(d)}}catch(e){c.e(e)}finally{c.f()}return i}));Promise.allSettled(a).then((function(){o.forEach((function(e){e.render()}))}))}}})),e}return Q(o,[{key:"onSetToolEnabled",value:function(){var e=this.toolGroupId,t=Pt(e);t&&0!==t.length&&t.forEach((function(t){Sa(e,t.segmentationRepresentationUID,!0)}))}},{key:"onSetToolDisabled",value:function(){var e=this.toolGroupId,t=Pt(e);t&&0!==t.length&&t.forEach((function(t){Sa(e,t.segmentationRepresentationUID,!1)}))}},{key:"_getMergedRepresentationsConfig",value:function(e){var t=ba(e),n=wa();return K.utilities.deepMerge(n,t)}}]),o}(Ra);te(Li,"toolName",void 0),Li.toolName="SegmentationDisplay";var Ui=Li;function Vi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Bi=function(){function e(){var t=this;ee(this,e),te(this,"_needsRender",new Set),te(this,"_animationFrameSet",!1),te(this,"_animationFrameHandle",null),te(this,"hasBeenDestroyed",void 0),te(this,"_renderFlaggedToolGroups",(function(){t._throwIfDestroyed();for(var e=0,n=Array.from(t._needsRender.values());e<n.length;e++){var r=n[e];if(t._triggerRender(r),t._needsRender.delete(r),0===t._needsRender.size)return t._animationFrameSet=!1,void(t._animationFrameHandle=null)}}))}return Q(e,[{key:"removeToolGroup",value:function(e){this._needsRender.delete(e),0===this._needsRender.size&&this._reset()}},{key:"renderToolGroupSegmentations",value:function(e){this._setToolGroupSegmentationToBeRenderedNextFrame([e])}},{key:"_throwIfDestroyed",value:function(){if(this.hasBeenDestroyed)throw new Error("this.destroy() has been manually called to free up memory, can not longer use this instance. Instead make a new one.")}},{key:"_setToolGroupSegmentationToBeRenderedNextFrame",value:function(e){var t=this;e.forEach((function(e){t._needsRender.add(e)})),this._render()}},{key:"_render",value:function(){this._needsRender.size>0&&!1===this._animationFrameSet&&(this._animationFrameHandle=window.requestAnimationFrame(this._renderFlaggedToolGroups),this._animationFrameSet=!0)}},{key:"_triggerRender",value:function(e){var t=da(e);if(t){var n=t.viewportsInfo,r=[];n.forEach((function(e){var t=e.viewportId,n=e.renderingEngineId,o=(0,K.getRenderingEngine)(n);o?r.push(o.getViewport(t)):console.warn("rendering Engine has been destroyed")}));var o=t.getToolInstance(Ui.toolName);o?(r.forEach((function(e){e.element.addEventListener(K.Enums.Events.IMAGE_RENDERED,a)})),o.renderSegmentation(e)):console.warn("No segmentation tool found inside",e)}else console.warn("No tool group found with toolGroupId: ".concat(e));function a(e){var t=e.detail,n=t.element,r=t.viewportId,o=t.renderingEngineId;n.removeEventListener(K.Enums.Events.IMAGE_RENDERED,a);var i=Br(r,o);if(i){var l={toolGroupId:i.id,viewportId:r};(0,K.triggerEvent)(K.eventTarget,X.SEGMENTATION_RENDERED,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vi(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},l))}else console.warn("toolGroup has been destroyed")}}},{key:"_reset",value:function(){window.cancelAnimationFrame(this._animationFrameHandle),this._needsRender.clear(),this._animationFrameSet=!1,this._animationFrameHandle=null}}]),e}(),ji=new Bi;function Wi(e){ji.renderToolGroupSegmentations(e)}var Hi=Wi,Fi=function(e){var t=e.detail,n=t.segmentationId,r=t.modifiedSlicesToUse,o=Mt(n),a=o.representationData,i=o.type;if(i!==dt.Labelmap)throw new Error("onSegmentationDataModified: representationType ".concat(i," not supported yet"));var l=K.cache.getVolume(a[i].volumeId);if(l){var c,s=l.imageData,d=l.vtkOpenGLTexture;if(r&&Array.isArray(r))c=r;else{var u=s.getDimensions()[2];c=Rr(Array(u).keys())}c.forEach((function(e){d.setUpdatedFrame(e)})),s.modified(),At(n).forEach((function(e){Hi(e)}))}else console.warn("segmentation not found in cache")},Gi=function(e){var t=e.detail.toolGroupId;Hi(t)},qi=function(e){var t=e.detail,n=t.toolGroupId;t.segmentationRepresentationUID,Hi(n)},zi=function(e,t,n){var r=Pt(e);if(r&&0!==r.length){var o=r.map((function(e){return e.segmentationRepresentationUID})),a=t;if(a){var i=t.filter((function(e){return!o.includes(e)}));if(i.length>0)throw new Error("The following segmentationRepresentationUIDs are not part of the toolGroup: ".concat(JSON.stringify(i)))}else a=o;a.forEach((function(t){!function(e,t,n){var r=Gt(e,t).type;if(r===dt.Labelmap)Ai.removeSegmentationRepresentation(e,t,n);else{if(r!==dt.Contour)throw new Error("The representation ".concat(r," is not supported yet"));fi.removeSegmentationRepresentation(e,t,n)}}(e,t,n)}))}},Ki=function(e){var t=Fe.toolGroups.findIndex((function(t){return t.id===e}));t>-1&&(ji.removeToolGroup(e),zi(e),Fe.toolGroups.splice(t,1))};function Yi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Xi=function(){var e,t=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Yi(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yi(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(Rr(Fe.toolGroups));try{for(t.s();!(e=t.n()).done;){var n=e.value;Ki(n.id)}}catch(e){t.e(e)}finally{t.f()}Fe.toolGroups=[]},Zi=!1;function Ji(){Zi||(function(){Qi();var e=K.Enums.Events.ELEMENT_ENABLED,t=K.Enums.Events.ELEMENT_DISABLED;K.eventTarget.addEventListener(e,ra),K.eventTarget.addEventListener(t,aa)}(),el(),K.eventTarget.addEventListener(X.ANNOTATION_MODIFIED,la),K.eventTarget.addEventListener(X.ANNOTATION_SELECTION_CHANGE,ca),K.eventTarget.addEventListener(X.ANNOTATION_SELECTION_CHANGE,ca),K.eventTarget.addEventListener(X.SEGMENTATION_MODIFIED,sa),K.eventTarget.addEventListener(X.SEGMENTATION_DATA_MODIFIED,Fi),K.eventTarget.addEventListener(X.SEGMENTATION_REPRESENTATION_MODIFIED,Gi),K.eventTarget.addEventListener(X.SEGMENTATION_REPRESENTATION_REMOVED,qi),Zi=!0)}function $i(){Qi(),el(),Xi(),We={},Fe=re()(He);var e=Xe(),t=St();e.restoreAnnotations({}),t.resetState(),Zi=!1}function Qi(){var e=K.Enums.Events.ELEMENT_ENABLED,t=K.Enums.Events.ELEMENT_DISABLED;K.eventTarget.removeEventListener(e,ra),K.eventTarget.removeEventListener(t,aa)}function el(){K.eventTarget.removeEventListener(X.ANNOTATION_MODIFIED,la),K.eventTarget.removeEventListener(X.ANNOTATION_SELECTION_CHANGE,ca),K.eventTarget.removeEventListener(X.ANNOTATION_SELECTION_CHANGE,ca),K.eventTarget.removeEventListener(X.SEGMENTATION_MODIFIED,sa),K.eventTarget.removeEventListener(X.SEGMENTATION_DATA_MODIFIED,Fi),K.eventTarget.removeEventListener(X.SEGMENTATION_REPRESENTATION_MODIFIED,Gi),K.eventTarget.removeEventListener(X.SEGMENTATION_REPRESENTATION_REMOVED,qi)}function tl(e){var t=e.toolName,n=void 0!==Fe.tools[t];if(!t)throw new Error("No Tool Found for the ToolClass ".concat(e.name));if(n)throw new Error("".concat(t," has already been added globally"));Fe.tools[t]={toolClass:e}}function nl(e){var t=e.toolName;if(!t)throw new Error("No tool found for: ".concat(e.name));if(void 0===!Fe.tools[t])throw new Error("".concat(t," cannot be removed because it has not been added"));delete Fe.tools[t]}function rl(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ol(e){var t,n=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return rl(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?rl(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(fo(e,jr(e,[qe.Active,qe.Passive])));try{for(n.s();!(t=n.n()).done;){var r=t.value.tool.cancel(e);if(r)return r}}catch(e){n.e(e)}finally{n.f()}}var al=function(){function e(t,n,r,o){var a=this;ee(this,e),te(this,"_enabled",void 0),te(this,"_eventName",void 0),te(this,"_eventHandler",void 0),te(this,"_ignoreFiredEvents",void 0),te(this,"_sourceViewports",void 0),te(this,"_targetViewports",void 0),te(this,"_viewportOptions",{}),te(this,"_options",void 0),te(this,"id",void 0),te(this,"_onEvent",(function(e){if(!0!==a._ignoreFiredEvents&&a._targetViewports.length){var t=(0,K.getEnabledElement)(e.currentTarget);if(t){var n=t.renderingEngineId,r=t.viewportId;a._sourceViewports.find((function(e){return e.viewportId===r}))&&a.fireEvent({renderingEngineId:n,viewportId:r},e)}}})),this._enabled=!0,this._eventName=n,this._eventHandler=r,this._ignoreFiredEvents=!1,this._sourceViewports=[],this._targetViewports=[],this._options=o||{},this.id=t}return Q(e,[{key:"isDisabled",value:function(){return!this._enabled||!this._hasSourceElements()}},{key:"setOptions",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._viewportOptions[e]=t}},{key:"getOptions",value:function(e){return this._viewportOptions[e]}},{key:"add",value:function(e){this.addTarget(e),this.addSource(e)}},{key:"addSource",value:function(e){if(!ll(this._sourceViewports,e)){var t=e.renderingEngineId,n=e.viewportId;(0,K.getRenderingEngine)(t).getViewport(n).element.addEventListener(this._eventName,this._onEvent.bind(this)),this._updateDisableHandlers(),this._sourceViewports.push(e)}}},{key:"addTarget",value:function(e){ll(this._targetViewports,e)||(this._targetViewports.push(e),this._updateDisableHandlers())}},{key:"getSourceViewports",value:function(){return this._sourceViewports}},{key:"getTargetViewports",value:function(){return this._targetViewports}},{key:"destroy",value:function(){var e=this;this._sourceViewports.forEach((function(t){return e.removeSource(t)})),this._targetViewports.forEach((function(t){return e.removeTarget(t)}))}},{key:"remove",value:function(e){this.removeTarget(e),this.removeSource(e)}},{key:"removeSource",value:function(e){var t=il(this._sourceViewports,e);if(-1!==t){var n=function(e){var t=(0,K.getRenderingEngine)(e.renderingEngineId);if(!t)throw new Error("No RenderingEngine for Id: ".concat(e.renderingEngineId));return t.getViewport(e.viewportId).element}(e);this._sourceViewports.splice(t,1),n.removeEventListener(this._eventName,this._eventHandler),this._updateDisableHandlers()}}},{key:"removeTarget",value:function(e){var t=il(this._targetViewports,e);-1!==t&&(this._targetViewports.splice(t,1),this._updateDisableHandlers())}},{key:"hasSourceViewport",value:function(e,t){return ll(this._sourceViewports,{renderingEngineId:e,viewportId:t})}},{key:"hasTargetViewport",value:function(e,t){return ll(this._targetViewports,{renderingEngineId:e,viewportId:t})}},{key:"fireEvent",value:function(e,t){var n=this;if(!this.isDisabled()&&!this._ignoreFiredEvents){this._ignoreFiredEvents=!0;var r=[];try{for(var o=0;o<this._targetViewports.length;o++){var a=this._targetViewports[o];e.viewportId===a.viewportId||r.push(this._eventHandler(this,e,a,t,this._options))}}catch(e){console.warn("Synchronizer, for: ".concat(this._eventName),e)}finally{r.length?Promise.allSettled(r).then((function(){n._ignoreFiredEvents=!1})):this._ignoreFiredEvents=!1}}}},{key:"_hasSourceElements",value:function(){return 0!==this._sourceViewports.length}},{key:"_updateDisableHandlers",value:function(){var e=function(e,t){for(var n=[],r=e.concat(t),o=function(){var e=r[a];n.some((function(t){return e.renderingEngineId===t.renderingEngineId&&e.viewportId===t.viewportId}))||n.push(e)},a=0;a<r.length;a++)o();return n}(this._sourceViewports,this._targetViewports),t=this.remove,n=function(e){t(e.detail.element)};e.forEach((function(e){var t=(0,K.getRenderingEngine)(e.renderingEngineId).getViewport(e.viewportId);if(t){var r=t.element;r.removeEventListener(K.Enums.Events.ELEMENT_DISABLED,n),r.addEventListener(K.Enums.Events.ELEMENT_DISABLED,n)}}))}}]),e}();function il(e,t){return e.findIndex((function(e){return t.renderingEngineId===e.renderingEngineId&&t.viewportId===e.viewportId}))}function ll(e,t){return e.some((function(e){return e.renderingEngineId===t.renderingEngineId&&e.viewportId===t.viewportId}))}var cl=al,sl=function(e,t,n,r){if(Fe.synchronizers.some((function(t){return t.id===e})))throw new Error("Synchronizer with id '".concat(e,"' already exists."));var o=new cl(e,t,n,r);return Fe.synchronizers.push(o),o},dl=function(){for(;Fe.synchronizers.length>0;)Fe.synchronizers.pop().destroy()},ul=function(e){return Fe.synchronizers.find((function(t){return t.id===e}))},vl=function(){return Fe.synchronizers},fl=function(e){var t=Fe.synchronizers.findIndex((function(t){return t.id===e}));t>-1&&(Fe.synchronizers[t].destroy(),Fe.synchronizers.splice(t,1))},gl=E(485),hl=E.n(gl),pl=Symbol("DefinedCursors"),ml=new Set(["alias","all-scroll","auto","cell","col-resize","context-menu","copy","crosshair","default","e-resize","ew-resize","grab","grabbing","help","move","ne-resize","nesw-resize","no-drop","none","not-allowed","n-resize","ns-resize","nw-resize","nwse-resize","pointer","progress","row-resize","se-resize","s-resize","sw-resize","text","vertical-text","wait","w-resize","zoom-in","zoom-out"]),wl=function(){function e(t,n){ee(this,e),te(this,"name",void 0),te(this,"fallback",void 0),this.name=t+"",this.fallback=n}return Q(e,[{key:"getName",value:function(){return this.name+""}},{key:"addFallbackStyleProperty",value:function(t){var n=this.fallback;return n instanceof e?"".concat(t,", ").concat(n.getStyleProperty()):t+""}},{key:"getStyleProperty",value:function(){return this.addFallbackStyleProperty(this.name)+""}}],[{key:"getDefinedCursor",value:function(t){var n=El(e,pl),r=n.get(t);return r instanceof e?r:ml.has(t)?(r=new e(t),n.set(t,r),r):void 0}},{key:"setDefinedCursor",value:function(t,n){return n instanceof e&&(El(e,pl).set(t,n),!0)}}]),e}();function El(e,t){var n=e[t];return n instanceof Map||(n=new Map,Object.defineProperty(e,t,{value:n})),n}var yl=ml.values();function Il(){return Il="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ha(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(arguments.length<3?e:n):o.value}},Il.apply(this,arguments)}var bl=function(e){return e.Default="",e.Highlighted="Highlighted",e.Selected="Selected",e.Locked="Locked",e}(bl||{}),Cl=bl;var _l=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(e,t,n,a,i){var l;return ee(this,o),te(ua(l=r.call(this,a||o.getUniqueInstanceName("image-cursor"),i)),"url",void 0),te(ua(l),"x",void 0),te(ua(l),"y",void 0),l.url=e,l.x=Number(t)||0,l.y=Number(n)||0,l}return Q(o,[{key:"getStyleProperty",value:function(){var e=this.url,t=this.x,n=this.y,r="url('".concat(e,"')");return t>=0&&n>=0&&(t>0||n>0)&&(r+=" ".concat(t," ").concat(n)),this.addFallbackStyleProperty(r)}}],[{key:"getUniqueInstanceName",value:function(e){return"".concat(e,"-").concat(K.utilities.getRuntimeId(o))}}]),o}(wl),Tl={iconContent:"",iconSize:16,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'\n <path stroke="{{color}}" d="M8 16L8 0"></path>\n <path stroke="{{color}}" d="M16 8L0 8"></path>\n '},Ol={x:127,y:60},Dl='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n',Sl='\n<rect fill="{{color}}" x="80.19" y="25.03" width="47.14" height="15.85"/>\n<rect fill="{{color}}" x="95.84" y="9.38" width="15.85" height="47.14"/>\n',Ml='<path fill="{{color}}" d="M82.89,10a12.09,12.09,0,0,0-16.8-2.5l-27.5,20.4-8.5-6.3a2.93,2.93,0,0,1-1.1-3,14.66,14.66,0,0,0,.1-6.6,14.08,14.08,0,1,0-6.5,15.2,2.87,2.87,0,0,1,3.2.2l8.2,6.1-8.2,6.1a2.87,2.87,0,0,1-3.2.2,14.16,14.16,0,1,0,6.7,14.4,14,14,0,0,0-.3-5.8,2.93,2.93,0,0,1,1.1-3l8.5-6.3,27.5,20.4A11.91,11.91,0,0,0,82.89,57l-31.7-23.5ZM15.29,21a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,21Zm0,36.8a5.9,5.9,0,1,1,5.9-5.9A5.91,5.91,0,0,1,15.29,57.77Zm28.3-21.5a2.8,2.8,0,1,1,2.8-2.8A2.8,2.8,0,0,1,43.59,36.27Z" transform="translate(-1.17 -0.96)"/>',kl='<path fill="{{color}}" d="M8.86,2.25V66.08H72.69V2.25H8.86ZM65.28,58.67h-49v-49h49v49Z" transform="translate(-8.86 -2.25)"/>',xl='<path fill="{{color}}" d="M40.77,2.25A31.92,31.92,0,1,0,72.69,34.16,31.92,31.92,0,0,0,40.77,2.25Zm0,57.63A25.71,25.71,0,1,1,66.48,34.16,25.71,25.71,0,0,1,40.77,59.87Z" transform="translate(-8.86 -2.25)"/>',Pl={Angle:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50\n 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23\n 10l50 50q10 10 10 23z" />',viewBox:{x:1792,y:1792}}),ArrowAnnotate:Rl(Tl,{iconContent:'<g id="arrowAnnotate-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="arrowAnnotate-arrow" d="M23,7 l-15,15 M7,17 l0,6 6,0" stroke-width="2" />\n </g>',viewBox:{x:24,y:24}}),Bidirectional:Rl(Tl,{iconContent:'<g fill="{{color}}" stroke-width="3" stroke="{{color}}">\n <path d="M27.63 3.21L3.12 28.81"></path>\n <path d="M27.63 15.75L15.27 4.43"></path>\n <path d="M16.5 4.28C16.5 4.96 15.95 5.51 15.27 5.51C14.59 5.51 14.03 4.96 14.03 4.28C14.03 3.59 14.59 3.04 15.27 3.04C15.95 3.04 16.5 3.59 16.5 4.28Z" ></path>\n <path d="M28.87 3.19C28.87 3.87 28.31 4.43 27.63 4.43C26.95 4.43 26.4 3.87 26.4 3.19C26.4 2.51 26.95 1.95 27.63 1.95C28.31 1.95 28.87 2.51 28.87 3.19Z"></path>\n <path d="M28.87 15.75C28.87 16.43 28.31 16.99 27.63 16.99C26.95 16.99 26.4 16.43 26.4 15.75C26.4 15.07 26.95 14.51 27.63 14.51C28.31 14.51 28.87 15.07 28.87 15.75Z"></path>\n <path d="M4.73 28.44C4.73 29.12 4.17 29.68 3.49 29.68C2.81 29.68 2.25 29.12 2.25 28.44C2.25 27.76 2.81 27.2 3.49 27.2C4.17 27.2 4.73 27.76 4.73 28.44Z"></path>\n </g>',viewBox:{x:48,y:48}}),CobbAngle:Rl(Tl,{iconContent:'<g stroke="{{color}}" stroke-width="3">\n <path d="M28.59 2.34L3.82 12.32"></path>\n <path d="M28.59 29.66L3.82 19.68"></path>\n <path stroke-dasharray="2" fill-opacity="0" d="M12.37\n 23.06C12.67 22.36 12.85 21.93 12.92 21.76C14.6 17.8 14.68 13.35 13.15\n 9.33C13.11 9.24 13.02 9 12.88 8.63">\n </path>\n </g>',viewBox:{x:32,y:32}}),CircleROI:Rl(Tl,{iconContent:'<circle stroke="{{color}}" fill="none" stroke-width="3" cx="16" cy="16" r="14" />',viewBox:{x:32,y:32}}),EllipticalROI:Rl(Tl,{iconContent:'<path stroke="{{color}}" fill="none" stroke-width="3" d="M30.74 15.76C30.74 20.99 24.14 25.23 16\n 25.23C7.86 25.23 1.26 20.99 1.26 15.76C1.26 10.54 7.86 6.3 16 6.3C24.14\n 6.3 30.74 10.54 30.74 15.76Z" />',viewBox:{x:32,y:32}}),FreehandROI:Rl(Tl,{iconContent:'<g fill="{{color}}" stroke="{{color}}" stroke-width="2">\n <ellipse ry="1" rx="1" id="svg_3" cy="4.240343" cx="14.306499"/>\n <line id="svg_4" y2="3.58462" x2="12.242186" y1="3.997482" x1="13.432202"/>\n <line id="svg_5" y2="3.268901" x2="10.857882" y1="3.608906" x1="12.387902"/>\n <line id="svg_6" y2="3.147471" x2="9.740724" y1="3.293187" x1="10.955026"/>\n <line id="svg_7" y2="3.147471" x2="8.089274" y1="3.196043" x1="9.983585"/>\n <line id="svg_8" y2="3.268901" x2="6.874972" y1="3.123185" x1="8.307848"/>\n <line id="svg_9" y2="3.657478" x2="5.587812" y1="3.220329" x1="7.020688"/>\n <line id="svg_10" y2="4.046054" x2="4.737801" y1="3.560334" x1="5.854959"/>\n <line id="svg_11" y2="4.337487" x2="4.300652" y1="3.997482" x1="4.834945"/>\n <line id="svg_12" y2="4.726063" x2="3.88779" y1="4.191771" x1="4.470655"/>\n <line id="svg_15" y2="5.3575" x2="3.377783" y1="4.604633" x1="3.960648"/>\n <line id="svg_16" y2="6.183226" x2="2.916348" y1="5.138926" x1="3.547785"/>\n <line id="svg_17" y2="6.960379" x2="2.770632" y1="5.867507" x1="3.037779"/>\n <line id="svg_18" y2="7.713246" x2="2.673488" y1="6.741804" x1="2.819204"/>\n <line id="svg_19" y2="8.684687" x2="2.697774" y1="7.616102" x1="2.673488"/>\n <line id="svg_20" y2="9.753273" x2="2.892062" y1="8.611829" x1="2.697774"/>\n <line id="svg_21" y2="10.724714" x2="3.134923" y1="9.534698" x1="2.84349"/>\n <line id="svg_23" y2="11.647583" x2="3.596357" y1="10.578998" x1="3.086351"/>\n <line id="svg_25" y2="12.521881" x2="4.276366" y1="11.501867" x1="3.499213"/>\n <line id="svg_26" y2="13.930471" x2="5.830673" y1="12.376165" x1="4.13065"/>\n <line id="svg_28" y2="14.707624" x2="7.263549" y1="13.881899" x1="5.733528"/>\n <line id="svg_29" y2="15.339061" x2="8.963571" y1="14.61048" x1="7.06926"/>\n <line id="svg_30" y2="15.581921" x2="10.882168" y1="15.314775" x1="8.817855"/>\n <line id="svg_31" y2="15.460491" x2="12.023612" y1="15.581921" x1="10.785024"/>\n <line id="svg_33" y2="15.120487" x2="13.092197" y1="15.484777" x1="11.877895"/>\n <line id="svg_34" y2="14.586194" x2="13.86935" y1="15.217631" x1="12.897909"/>\n <line id="svg_35" y2="13.833327" x2="14.597931" y1="14.756196" x1="13.699348"/>\n <line id="svg_37" y2="12.716169" x2="15.180796" y1="13.881899" x1="14.549359"/>\n <line id="svg_39" y2="11.429009" x2="15.520801" y1="12.813313" x1="15.15651"/>\n <ellipse ry="1" rx="1" id="svg_40" cy="10.967574" cx="15.520801"/>\n </g>',viewBox:{x:18,y:18}}),FreehandROISculptor:Rl(Tl,{iconContent:'<g id="icon-freehand-sculpt" fill="none" stroke-width="1.5" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <line id="svg_1" y2="2.559367" x2="10.184807" y1="4.467781" x1="8.81711"/>\n <line id="svg_4" y2="1.493836" x2="11.727442" y1="2.766112" x1="10.089386"/>\n <line id="svg_7" y2="1.080346" x2="13.047428" y1="1.748291" x1="11.345759"/>\n <line id="svg_8" y2="1.000829" x2="14.351511" y1="1.112153" x1="12.77707"/>\n <line id="svg_9" y2="1.350705" x2="15.242104" y1="0.905408" x1="13.969828"/>\n <line id="svg_10" y2="2.098167" x2="15.862339" y1="1.14396" x1="14.955842"/>\n <line id="svg_11" y2="3.195505" x2="16.41896" y1="1.939133" x1="15.766918"/>\n <line id="svg_12" y2="4.292843" x2="16.530284" y1="2.925147" x1="16.387153"/>\n <line id="svg_16" y2="5.644637" x2="16.196311" y1="3.831643" x1="16.593898"/>\n <line id="svg_18" y2="7.266789" x2="15.623787" y1="5.19934" x1="16.275829"/>\n <line id="svg_19" y2="10.813258" x2="14.526449" y1="6.726071" x1="15.766918"/>\n <line id="svg_20" y2="5.056209" x2="8.085552" y1="4.181519" x1="8.976145"/>\n <line id="svg_23" y2="5.326568" x2="7.481221" y1="4.78585" x1="8.403621"/>\n <line id="svg_24" y2="5.565119" x2="6.749662" y1="5.294761" x1="7.624352"/>\n <line id="svg_25" y2="5.994512" x2="5.429675" y1="5.533312" x1="6.956407"/>\n <line id="svg_27" y2="6.551133" x2="4.284627" y1="5.962706" x1="5.572807"/>\n <line id="svg_28" y2="7.584858" x2="3.044158" y1="6.392099" x1="4.427758"/>\n <line id="svg_29" y2="8.84123" x2="2.185372" y1="7.489437" x1="3.219096"/>\n <line id="svg_31" y2="10.606513" x2="1.644654" y1="8.602678" x1="2.280792"/>\n <line id="svg_32" y2="13.214679" x2="1.48562" y1="10.352058" x1="1.724171"/>\n <line id="svg_33" y2="14.375631" x2="1.676461" y1="12.992031" x1="1.453813"/>\n <line id="svg_34" y2="15.298031" x2="2.264889" y1="14.152983" x1="1.517427"/>\n <line id="svg_35" y2="16.172721" x2="3.521261" y1="14.948155" x1="1.915013"/>\n <line id="svg_36" y2="16.824762" x2="5.207027" y1="15.997783" x1="3.28271"/>\n <line id="svg_38" y2="17.063314" x2="7.035924" y1="16.745245" x1="4.968475"/>\n <line id="svg_39" y2="16.888376" x2="9.278311" y1="17.047411" x1="6.733758"/>\n <line id="svg_40" y2="16.284045" x2="10.661911" y1="16.983797" x1="8.992048"/>\n <line id="svg_41" y2="15.313934" x2="11.647925" y1="16.395369" x1="10.455166"/>\n <line id="svg_44" y2="13.898527" x2="12.82478" y1="15.425259" x1="11.504794"/>\n <line id="svg_45" y2="12.037824" x2="14.144766" y1="14.312017" x1="12.522614"/>\n <line id="svg_47" y2="10.59061" x2="14.605966" y1="12.228665" x1="13.953925"/>\n <ellipse ry="1" rx="1" id="svg_48" cy="3.982726" cx="13.460918"/>\n </g>',viewBox:{x:18,y:18}}),Length:Rl(Tl,{iconContent:'<g id="length-group" fill="none" stroke-width="1" stroke="{{color}}" stroke-linecap="round" stroke-linejoin="round">\n <path id="length-dashes" d="m22.5,6 -16.5,16.5" stroke-width="3" stroke-dasharray="0.6666,5" />\n </g>',viewBox:{x:24,y:24}}),Probe:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1152 896q0 106-75 181t-181 75-181-75-75-181 75-181 181-75 181 75\n 75 181zm-256-544q-148 0-273 73t-198 198-73 273 73 273 198 198 273 73 273-73\n 198-198 73-273-73-273-198-198-273-73zm768 544q0 209-103 385.5t-279.5\n 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5\n 385.5-103 385.5 103 279.5 279.5 103 385.5z" />',viewBox:{x:1792,y:1792}}),RectangleROI:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1312 256h-832q-66 0-113 47t-47 113v832q0 66 47\n 113t113 47h832q66 0 113-47t47-113v-832q0-66-47-113t-113-47zm288 160v832q0\n 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119\n 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),TextMarker:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M789 559l-170 450q33 0 136.5 2t160.5 2q19 0\n 57-2-87-253-184-452zm-725 1105l2-79q23-7 56-12.5t57-10.5 49.5-14.5 44.5-29\n 31-50.5l237-616 280-724h128q8 14 11 21l205 480q33 78 106 257.5t114 274.5q15\n 34 58 144.5t72 168.5q20 45 35 57 19 15 88 29.5t84 20.5q6 38 6 57 0 5-.5\n 13.5t-.5 12.5q-63 0-190-8t-191-8q-76 0-215 7t-178 8q0-43 4-78l131-28q1 0\n 12.5-2.5t15.5-3.5 14.5-4.5 15-6.5 11-8 9-11\n 2.5-14q0-16-31-96.5t-72-177.5-42-100l-450-2q-26 58-76.5 195.5t-50.5 162.5q0\n 22 14 37.5t43.5 24.5 48.5 13.5 57 8.5 41 4q1 19 1 58 0 9-2 27-58\n 0-174.5-10t-174.5-10q-8 0-26.5 4t-21.5 4q-80 14-188 14z" />',viewBox:{x:1792,y:1792}}),Crosshairs:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1325 1024h-109q-26 0-45-19t-19-45v-128q0-26\n 19-45t45-19h109q-32-108-112.5-188.5t-188.5-112.5v109q0 26-19 45t-45\n 19h-128q-26 0-45-19t-19-45v-109q-108 32-188.5 112.5t-112.5 188.5h109q26\n 0 45 19t19 45v128q0 26-19 45t-45 19h-109q32 108 112.5 188.5t188.5\n 112.5v-109q0-26 19-45t45-19h128q26 0 45 19t19 45v109q108-32\n 188.5-112.5t112.5-188.5zm339-192v128q0 26-19 45t-45 19h-143q-37 161-154.5\n 278.5t-278.5 154.5v143q0 26-19 45t-45 19h-128q-26\n 0-45-19t-19-45v-143q-161-37-278.5-154.5t-154.5-278.5h-143q-26\n 0-45-19t-19-45v-128q0-26 19-45t45-19h143q37-161\n 154.5-278.5t278.5-154.5v-143q0-26 19-45t45-19h128q26 0 45 19t19 45v143q161\n 37 278.5 154.5t154.5 278.5h143q26 0 45 19t19 45z" />',viewBox:{x:1792,y:1792}}),Eraser:Rl(Tl,{iconContent:'<path transform="translate(0,1792) scale(1,-1)" fill="{{color}}" d="M960 1408l336-384h-768l-336 384h768zm1013-1077q15\n 34 9.5 71.5t-30.5 65.5l-896 1024q-38 44-96 44h-768q-38\n 0-69.5-20.5t-47.5-54.5q-15-34-9.5-71.5t30.5-65.5l896-1024q38-44 96-44h768q38\n 0 69.5 20.5t47.5 54.5z" />',viewBox:{x:2048,y:1792}}),Magnify:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />',viewBox:{x:512,y:512}}),Pan:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17\n 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355\n 355 144 144q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59\n 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12\n 0-24-5-40-17-40-59v-448q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69l-144\n 144 355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19\n 45v448q0 42-39 59-13 5-25 5-26 0-45-19z" />',viewBox:{x:1792,y:1792}}),Rotate:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39\n 14-69l138-138q-148-137-349-137-104 0-198.5 40.5t-163.5 109.5-109.5\n 163.5-40.5 198.5 40.5 198.5 109.5 163.5 163.5 109.5 198.5 40.5q119 0\n 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109\n 132-264 204.5t-327 72.5q-156 0-298-61t-245-164-164-245-61-298 61-298\n 164-245 245-164 298-61q147 0 284.5 55.5t244.5 156.5l130-129q29-31 70-14\n 39 17 39 59z" />',viewBox:{x:1792,y:1792}}),StackScroll:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M24 21v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1zM24 13v2c0\n 0.547-0.453 1-1 1h-22c-0.547 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547\n 0 1 0.453 1 1zM24 5v2c0 0.547-0.453 1-1 1h-22c-0.547\n 0-1-0.453-1-1v-2c0-0.547 0.453-1 1-1h22c0.547 0 1 0.453 1 1z" />',viewBox:{x:24,y:28}}),WindowLevelRegion:Rl(Tl,{iconContent:'<path fill="{{color}}" d="M1664 416v960q0 119-84.5 203.5t-203.5 84.5h-960q-119\n 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5\n 84.5t84.5 203.5z" />',viewBox:{x:1792,y:1792}}),WindowLevel:Rl(Tl,{iconContent:'\n <path fill="{{color}}" d="M14.5,3.5 a1 1 0 0 1 -11,11 Z" stroke="none" opacity="0.8" />\n <circle cx="9" cy="9" r="8" fill="none" stroke-width="2" stroke="{{color}}" />',viewBox:{x:18,y:18}}),Zoom:Rl(Tl,{iconContent:'\n <path fill="{{color}}" d="M508.5 481.6l-129-129c-2.3-2.3-5.3-3.5-8.5-3.5h-10.3C395\n 312 416 262.5 416 208 416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c54.5\n 0 104-21 141.1-55.2V371c0 3.2 1.3 6.2 3.5 8.5l129 129c4.7 4.7 12.3 4.7 17\n 0l9.9-9.9c4.7-4.7 4.7-12.3 0-17zM208 384c-97.3 0-176-78.7-176-176S110.7 32 208\n 32s176 78.7 176 176-78.7 176-176 176z" />\n <path fill="{{color}}" transform="scale(0.22,0.22) translate(1400,0)" d="M1216\n 320q0 26-19 45t-45 19h-128v1024h128q26 0 45 19t19 45-19 45l-256 256q-19\n 19-45 19t-45-19l-256-256q-19-19-19-45t19-45 45-19h128v-1024h-128q-26\n 0-45-19t-19-45 19-45l256-256q19-19 45-19t45 19l256 256q19 19 19 45z" />',viewBox:{x:640,y:512}}),SegmentationFreeHandEraseInside:Rl(Tl,{iconContent:"".concat(Ml," ").concat(Dl),viewBox:Ol}),SegmentationFreeHandFillInside:Rl(Tl,{iconContent:"".concat(Ml," ").concat(Sl),viewBox:Ol}),SegmentationFreeHandEraseOutside:Rl(Tl,{iconContent:"".concat(Ml," ").concat(Dl),viewBox:Ol}),SegmentationFreeHandFillOutside:Rl(Tl,{iconContent:"".concat(Ml," ").concat(Sl),viewBox:Ol}),SegmentationRectangleEraseInside:Rl(Tl,{iconContent:"".concat(kl," ").concat(Dl),viewBox:Ol}),RectangleScissor:Rl(Tl,{iconContent:"".concat(kl," ").concat(Sl),viewBox:Ol}),"RectangleScissor.FILL_INSIDE":Rl(Tl,{iconContent:"".concat(kl," ").concat(Sl),viewBox:Ol}),"RectangleScissor.FILL_OUTSIDE":Rl(Tl,{iconContent:"".concat(kl," ").concat(Sl),viewBox:Ol}),"RectangleScissor.ERASE_OUTSIDE":Rl(Tl,{iconContent:"".concat(kl," ").concat(Dl),viewBox:Ol}),"RectangleScissor.ERASE_INSIDE":Rl(Tl,{iconContent:"".concat(kl," ").concat(Dl),viewBox:Ol}),CircleScissor:Rl(Tl,{iconContent:"".concat(xl," ").concat(Sl),viewBox:Ol}),"CircleScissor.FILL_INSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Sl),viewBox:Ol}),"CircleScissor.ERASE_OUTSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Dl),viewBox:Ol}),"CircleScissor.FILL_OUTSIDE":Rl(Tl,{iconContent:"".concat(xl," ").concat(Sl),viewBox:Ol})};function Rl(e,t){return Object.assign(Object.create(e),t)}function Al(e,t,n){Pl[e]=Rl(Tl,{iconContent:t,viewBox:n})}var Nl=Object.keys(Pl);function Ll(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ul(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ll(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ll(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Vl=new(function(){function e(){ee(this,e),te(this,"config",void 0),this._initializeConfig({color:"rgb(255, 255, 0)",colorHighlighted:"rgb(0, 255, 0)",colorSelected:"rgb(0, 220, 0)",colorLocked:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"",shadow:!0,textBoxVisibility:!0,textBoxFontFamily:"Helvetica Neue, Helvetica, Arial, sans-serif",textBoxFontSize:"14px",textBoxColor:"rgb(255, 255, 0)",textBoxColorHighlighted:"rgb(0, 255, 0)",textBoxColorSelected:"rgb(0, 255, 0)",textBoxColorLocked:"rgb(255, 255, 0)",textBoxBackground:"",textBoxLinkLineWidth:"1",textBoxLinkLineDash:"2,3",textBoxShadow:!0})}return Q(e,[{key:"getAnnotationToolStyles",value:function(e){return this.config.annotations&&this.config.annotations[e]}},{key:"getViewportToolStyles",value:function(e){return this.config.viewports&&this.config.viewports[e]}},{key:"getToolGroupToolStyles",value:function(e){return this.config.toolGroups&&this.config.toolGroups[e]}},{key:"getDefaultToolStyles",value:function(){return this.config.default}},{key:"setAnnotationStyles",value:function(e,t){var n=this.config.annotations;n||(this.config=Ul(Ul({},this.config),{},{annotations:{}}),n=this.config.annotations),n[e]=t}},{key:"setViewportToolStyles",value:function(e,t){var n=this.config.viewports;n||(this.config=Ul(Ul({},this.config),{},{viewports:{}}),n=this.config.viewports),n[e]=t}},{key:"setToolGroupToolStyles",value:function(e,t){var n=this.config.toolGroups;n||(this.config=Ul(Ul({},this.config),{},{toolGroups:{}}),n=this.config.toolGroups),n[e]=t}},{key:"setDefaultToolStyles",value:function(e){this.config.default=e}},{key:"getStyleProperty",value:function(e,t){var n=t.annotationUID,r=t.viewportId,o=t.toolGroupId,a=t.toolName;return this._getToolStyle(e,n,r,o,a)}},{key:"_getToolStyle",value:function(e,t,n,r,o){if(t){var a=this.getAnnotationToolStyles(t);if(a&&a[e])return a[e]}if(n){var i=this.getViewportToolStyles(n);if(i){if(i[o]&&i[o][e])return i[o][e];if(i.global&&i.global[e])return i.global[e]}}if(r){var l=this.getToolGroupToolStyles(r);if(l){if(l[o]&&l[o][e])return l[o][e];if(l.global&&l.global[e])return l.global[e]}}var c=this.getDefaultToolStyles();return c[o]&&c[o][e]?c[o][e]:c.global&&c.global[e]?c.global[e]:void 0}},{key:"_initializeConfig",value:function(e){var t={};for(var n in e)t[n]=e[n];this.config={default:{global:t}}}}]),e}());function Bl(e,t,n,r){for(var o=function(e,t,n){var r=["".concat(e)];return t&&r.push("".concat(r[0]).concat(t)),n&&r.push("".concat(r[r.length-1]).concat(n)),r}(e,n,r),a=o.length-1;a>=0;--a){var i=Vl.getStyleProperty(o[a],t);if(void 0!==i)return i}}var jl=Cl.Highlighted,Wl=qe.Active,Hl=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(e,t,n,a,i){return ee(this,o),r.call(this,e,t,n,a,i)}return Q(o,null,[{key:"getDefinedCursor",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2?arguments[2]:void 0;n||(n=Bl("color",{},jl,Wl));var r=function(e,t,n){return"".concat(t?"pointer":"cursor",":").concat(e,"/").concat(n)}(e,t,n),a=Il(ha(o),"getDefinedCursor",this).call(this,r);if(!a){var i=function(e){return Pl[e]}(e);i&&(a=Gl(i,r,t,n,Il(ha(o),"getDefinedCursor",this).call(this,"default")),Il(ha(o),"setDefinedCursor",this).call(this,r,a))}return a}}]),o}(_l);function Fl(e,t){var n=Object(t),r=Object.prototype.hasOwnProperty.bind(n);return(e+"").replace(/\{\{(\w+)\}\}/g,(function(e,t){return r(t)?n[t]+"":""}))}function Gl(e,t,n,r,o){var a=e.mousePoint,i=a.x,l=a.y;return new Hl(function(e,t,n){return URL.createObjectURL(function(e,t,n){var r=(t?zl:ql)(e,n);return new Blob([r],{type:"image/svg+xml"})}(e,t,n))}(e,n,{color:r}),i,l,t,o)}function ql(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox;return Fl('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(r,'" height="').concat(r,'" viewBox="0 0\n ').concat(o.x," ").concat(o.y,'">\n ').concat(n,"\n </svg>"),t)}function zl(e,t){var n=e.iconContent,r=e.iconSize,o=e.viewBox,a=e.mousePointerGroupString,i=r/Math.max(o.x,o.y,1),l=16+r;return Fl('\n <svg data-icon="cursor" role="img" xmlns="http://www.w3.org/2000/svg"\n width="'.concat(l,'" height="').concat(l,'" viewBox="0 0 ').concat(l," ").concat(l,'">\n <g>').concat(a,'</g>\n <g transform="translate(16, 16) scale(').concat(i,')">').concat(n,"</g>\n </svg>"),t)}var Kl=Symbol("ElementCursorsMap");function Yl(e,t){$l(e)[0]=t,Xl(e,t)}function Xl(e,t){var n=$l(e);n[1]=n[0],n[0]=t,e.style.cursor=(t instanceof wl?t:wl.getDefinedCursor("auto")).getStyleProperty()}function Zl(e){Xl(e,$l(e)[1])}function Jl(e){Xl(e,wl.getDefinedCursor("none"))}function $l(e){var t=$l[Kl];t instanceof WeakMap||(t=new WeakMap,Object.defineProperty($l,Kl,{value:t}));var n=t.get(e);return n||(n=[null,null],t.set(e,n)),n}var Ql=qe.Active,ec=qe.Passive,tc=qe.Enabled,nc=qe.Disabled,rc=function(){function e(t){ee(this,e),te(this,"id",void 0),te(this,"viewportsInfo",[]),te(this,"toolOptions",{}),te(this,"_toolInstances",{}),this.id=t}return Q(e,[{key:"getViewportIds",value:function(){return this.viewportsInfo.map((function(e){return e.viewportId}))}},{key:"getViewportsInfo",value:function(){return this.viewportsInfo.slice()}},{key:"getToolInstance",value:function(e){var t=this._toolInstances[e];if(t)return t;console.warn("'".concat(e,"' is not registered with this toolGroup (").concat(this.id,")."))}},{key:"addTool",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Fe.tools[e],r=void 0!==e&&""!==e,o=this.toolOptions[e];if(r)if(n)if(o)console.warn("'".concat(e,"' is already registered for ToolGroup ").concat(this.id,"."));else{var a=new(0,n.toolClass)({name:e,toolGroupId:this.id,configuration:t});this._toolInstances[e]=a}else console.warn("'".concat(e,"' is not registered with the library. You need to use cornerstoneTools.addTool to register it."));else console.warn("Tool with configuration did not produce a toolName: ",t)}},{key:"addToolInstance",value:function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null===(n=Fe.tools[e])||void 0===n?void 0:n.toolClass;if(!o){var a=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){return ee(this,o),r.apply(this,arguments)}return Q(o)}(Fe.tools[t].toolClass);a.toolName=e,o=a,Fe.tools[e]={toolClass:a}}this.addTool(o.toolName,r)}},{key:"addViewport",value:function(e,t){var n=(0,K.getRenderingEngines)();if(!t&&n.length>1)throw new Error("You must specify a renderingEngineId when there are multiple rendering engines.");var r=t||n[0].id;this.viewportsInfo.some((function(t){return t.viewportId===e}))||this.viewportsInfo.push({viewportId:e,renderingEngineId:r});var o=this.getActivePrimaryMouseButtonTool();K.Settings.getRuntimeSettings().get("useCursors")&&this.setViewportsCursorByToolName(o)}},{key:"removeViewports",value:function(e,t){var n=[];if(this.viewportsInfo.forEach((function(r,o){var a=!1;r.renderingEngineId===e&&(a=!0,t&&r.viewportId!==t&&(a=!1)),a&&n.push(o)})),n.length)for(var r=n.length-1;r>=0;r--)this.viewportsInfo.splice(n[r],1)}},{key:"setActiveStrategy",value:function(e,t){var n=this._toolInstances[e];void 0!==n?n.setActiveStrategy(t):console.warn("Tool ".concat(e," not added to toolGroup, can't set tool configuration."))}},{key:"setToolMode",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e?t!==qe.Active?t!==qe.Passive?t!==qe.Enabled?t!==qe.Disabled?console.warn("setToolMode: mode must be defined"):this.setToolDisabled(e):this.setToolEnabled(e):this.setToolPassive(e):this.setToolActive(e,n):console.warn("setToolMode: toolName must be defined")}},{key:"setToolActive",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this._toolInstances[e];if(void 0!==n)if(n){var r=this.toolOptions[e]?this.toolOptions[e].bindings:[],o=t.bindings?t.bindings:[],a={bindings:[].concat(Rr(r),Rr(o)).reduce((function(e,t){var n=void 0!==t.numTouchPoints,r=void 0!==t.mouseButton;return e.some((function(e){return r=t,(n=e).mouseButton===r.mouseButton&&n.modifierKey===r.modifierKey;var n,r}))||!n&&!r||e.push(t),e}),[]),mode:Ql};this.toolOptions[e]=a,this._toolInstances[e].mode=Ql;var i=K.Settings.getRuntimeSettings().get("useCursors");if(this._hasMousePrimaryButtonBinding(t)&&i)this.setViewportsCursorByToolName(e);else if(!this.getActivePrimaryMouseButtonTool()&&i){var l=wl.getDefinedCursor("default");this._setCursorForViewports(l)}"function"==typeof n.onSetToolActive&&n.onSetToolActive(),this._renderViewports();var c={toolGroupId:this.id,toolName:e,toolBindingsOptions:t};(0,K.triggerEvent)(K.eventTarget,X.TOOL_ACTIVATED,c),this._triggerToolModeChangedEvent(e,Ql,t)}else console.warn("'".concat(e,"' instance ").concat(n," is not registered with this toolGroup, can't set tool mode."));else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolPassive",value:function(e){var t=this._toolInstances[e];if(void 0!==t){var n=this.getToolOptions(e),r=Object.assign({bindings:n?n.bindings:[]},n,{mode:ec}),o=this.getDefaultMousePrimary();r.bindings=r.bindings.filter((function(e){return e.mouseButton!==o||e.modifierKey}));var a=ec;0!==r.bindings.length&&(a=Ql,r.mode=a),this.toolOptions[e]=r,t.mode=a,"function"==typeof t.onSetToolPassive&&t.onSetToolPassive(),this._renderViewports(),this._triggerToolModeChangedEvent(e,ec)}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolEnabled",value:function(e){var t=this._toolInstances[e];if(void 0!==t){var n={bindings:[],mode:tc};this.toolOptions[e]=n,t.mode=tc,"function"==typeof t.onSetToolEnabled&&t.onSetToolEnabled(),this._renderViewports(),this._triggerToolModeChangedEvent(e,tc)}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"setToolDisabled",value:function(e){var t=this._toolInstances[e];if(void 0!==t){var n={bindings:[],mode:nc};this.toolOptions[e]=n,t.mode=nc,"function"==typeof t.onSetToolDisabled&&t.onSetToolDisabled(),this._renderViewports(),this._triggerToolModeChangedEvent(e,nc)}else console.warn("Tool ".concat(e," not added to toolGroup, can't set tool mode."))}},{key:"getToolOptions",value:function(e){var t=this.toolOptions[e];if(void 0!==t)return t}},{key:"getActivePrimaryMouseButtonTool",value:function(){var e=this;return Object.keys(this.toolOptions).find((function(t){var n=e.toolOptions[t];return n.mode===Ql&&e._hasMousePrimaryButtonBinding(n)}))}},{key:"setViewportsCursorByToolName",value:function(e,t){var n=this._getCursor(e,t);this._setCursorForViewports(n)}},{key:"_getCursor",value:function(e,t){var n,r;return t&&(n="".concat(e,".").concat(t),r=Hl.getDefinedCursor(n,!0))?r:(n="".concat(e),(r=Hl.getDefinedCursor(n,!0))?r:(n=e,(r=Hl.getDefinedCursor(n,!0))||wl.getDefinedCursor("default")))}},{key:"_setCursorForViewports",value:function(e){this.viewportsInfo.forEach((function(t){var n=t.renderingEngineId,r=t.viewportId,o=(0,K.getEnabledElementByIds)(r,n);o&&Yl(o.viewport.element,e)}))}},{key:"setToolConfiguration",value:function(e,t,n){return void 0===this._toolInstances[e]?(console.warn("Tool ".concat(e," not present, can't set tool configuration.")),!1):(r=n?t:Object.assign(this._toolInstances[e].configuration,t),this._toolInstances[e].configuration=r,this._renderViewports(),!0);var r}},{key:"getDefaultMousePrimary",value:function(){return po.Primary}},{key:"getToolConfiguration",value:function(e,t){if(void 0!==this._toolInstances[e]){var n=hl()(this._toolInstances[e].configuration,t);return re()(n)}console.warn("Tool ".concat(e," not present, can't set tool configuration."))}},{key:"clone",value:function(e){var t,n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=da(e);return o?(console.warn("ToolGroup ".concat(e," already exists")),o):(o=oc(e),r=null!==(t=r)&&void 0!==t?t:function(){return!0},Object.keys(this._toolInstances).filter(r).forEach((function(e){var t,r=n._toolInstances[e],a=n.toolOptions[e],i=r.mode;o.addTool(e),o.setToolMode(e,i,{bindings:null!==(t=a.bindings)&&void 0!==t?t:[]})})),o)}},{key:"_hasMousePrimaryButtonBinding",value:function(e){var t,n=this.getDefaultMousePrimary();return null==e||null===(t=e.bindings)||void 0===t?void 0:t.some((function(e){return e.mouseButton===n&&void 0===e.modifierKey}))}},{key:"_renderViewports",value:function(){this.viewportsInfo.forEach((function(e){var t=e.renderingEngineId,n=e.viewportId;(0,K.getRenderingEngine)(t).renderViewport(n)}))}},{key:"_triggerToolModeChangedEvent",value:function(e,t,n){var r={toolGroupId:this.id,toolName:e,mode:t,toolBindingsOptions:n};(0,K.triggerEvent)(K.eventTarget,X.TOOL_MODE_CHANGED,r)}}]),e}(),oc=function(e){if(!Fe.toolGroups.some((function(t){return t.id===e}))){var t=new rc(e);return Fe.toolGroups.push(t),t}console.warn("'".concat(e,"' already exists."))},ac=function(){return Fe.toolGroups};function ic(e,t,n,r){var o=r.detail.camera,a=(0,K.getRenderingEngine)(n.renderingEngineId);if(!a)throw new Error("No RenderingEngine for Id: ".concat(n.renderingEngineId));var i=a.getViewport(n.viewportId);i.setCamera(o),i.render()}var lc=K.Enums.Events.CAMERA_MODIFIED;function cc(e){return sl(e,lc,ic)}function sc(e,t,n,r,o){var a=r.detail,i=a.volumeId,l=a.range,c=a.invertStateChanged,s=a.invert,d=(0,K.getRenderingEngine)(n.renderingEngineId);if(!d)throw new Error("Rendering Engine does not exist: ".concat(n.renderingEngineId));var u=d.getViewport(n.viewportId),v={voiRange:l};if(null!=o&&o.syncInvertState&&c&&(v.invert=s),u instanceof K.BaseVolumeViewport)u.setProperties(v,i);else{if(!(u instanceof K.StackViewport))throw new Error("Viewport type not supported.");u.setProperties(v)}u.render()}function dc(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{syncInvertState:!0};return sl(e,K.Enums.Events.VOI_MODIFIED,sc,t)}function uc(e,t,n){var r=(0,K.getRenderingEngine)(n.renderingEngineId);if(!r)throw new Error("No RenderingEngine for Id: ".concat(n.renderingEngineId));var o=e.getOptions(n.viewportId),a=r.getViewport(n.viewportId),i=r.getViewport(t.viewportId);if(!1!==(null==o?void 0:o.syncZoom)){var l=i.getZoom();a.setZoom(l)}if(!1!==(null==o?void 0:o.syncPan)){var c=i.getPan();a.setPan(c)}a.render()}var vc=K.Enums.Events.CAMERA_MODIFIED;function fc(e){return sl(e,vc,uc)}var gc=E(976);var hc=function(e,t,n){return Math.min(Math.max(t,e),n)};function pc(e,t){if(!(0,K.getEnabledElement)(e.element))throw new Error("Scroll::Viewport is not enabled (it might be disabled)");if(e instanceof K.StackViewport&&0===e.getImageIds().length)throw new Error("Scroll::Stack Viewport has no images");var n=e.type,r=t.volumeId,o=t.delta;if(e instanceof K.StackViewport)e.scroll(o,t.debounceLoading,t.loop);else{if(!(e instanceof K.VolumeViewport))throw new Error("Not implemented for Viewport Type: ".concat(n));!function(e,t,n){var r=K.utilities.getVolumeViewportScrollInfo(e,t),o=r.numScrollSteps,a=r.currentStepIndex,i=r.sliceRangeInfo;if(i){var l=i.sliceRange,c=i.spacingInNormalDirection,s=i.camera,d=s.focalPoint,u=s.viewPlaneNormal,v=s.position,f=K.utilities.snapFocalPointToSlice(d,v,l,u,c,n),g=f.newFocalPoint,h=f.newPosition;e.setCamera({focalPoint:g,position:h}),e.render();var p=a+n;if((p>o||p<0)&&e.getCurrentImageId()){var m={volumeId:t,viewport:e,delta:n,desiredStepIndex:p,currentStepIndex:a,numScrollSteps:o,currentImageId:e.getCurrentImageId()};K.utilities.triggerEvent(K.eventTarget,K.EVENTS.VOLUME_SCROLL_OUT_OF_BOUNDS,m)}}}(e,r,o)}}function mc(){return mc=Na(Ua().mark((function e(t){var n,r,o,a,i,l,c,s,d,u,v=arguments;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=(n=v.length>1&&void 0!==v[1]?v[1]:{}).imageIndex,o=n.debounceLoading,a=n.volumeId,i=(0,K.getEnabledElement)(t)){e.next=5;break}throw new Error("Element has been disabled");case 5:l=i.viewport,c=wc(l,o),s=c.imageIndex,d=c.numberOfSlices,u=Ec(d,r),pc(l,{delta:u-s,debounceLoading:o,volumeId:a});case 10:case"end":return e.stop()}}),e)}))),mc.apply(this,arguments)}function wc(e,t){if(e instanceof K.StackViewport)return{numberOfSlices:e.getImageIds().length,imageIndex:t?e.getTargetImageIdIndex():e.getCurrentImageIdIndex()};if(e instanceof K.VolumeViewport)return K.utilities.getImageSliceDataForVolumeViewport(e);throw new Error("Unsupported viewport type")}function Ec(e,t){return hc(t,0,e-1)}var yc=function(e){return mc.apply(this,arguments)},Ic=function(e,t){return K.utilities.spatialRegistrationMetadataProvider.get("spatialRegistrationModule",[e,t])};function bc(e,t,n){return Cc.apply(this,arguments)}function Cc(){return(Cc=Na(Ua().mark((function e(t,n,r){var o,a,i,l,c,s,d,u,v,f,g,h,p;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(0,K.getRenderingEngine)(r.renderingEngineId)){e.next=3;break}throw new Error("No RenderingEngine for Id: ".concat(r.renderingEngineId));case 3:if(a=o.getViewport(n.viewportId),null==(i=t.getOptions(r.viewportId))||!i.disabled){e.next=7;break}return e.abrupt("return");case 7:if(l=o.getViewport(r.viewportId),c=a.getCurrentImageId(),s=K.metaData.get("imagePlaneModule",c),d=s.imagePositionPatient,u=l.getImageIds(),m=l,void 0,void 0,void 0,w=a.getCamera().viewPlaneNormal,E=m.getCamera().viewPlaneNormal,y=gc.vec3.dot(w,E),Math.abs(y)>.9){e.next=14;break}return e.abrupt("return");case 14:if(v=Ic(r.viewportId,n.viewportId)){e.next=21;break}if(f=a.getFrameOfReferenceUID(),g=l.getFrameOfReferenceUID(),f===g&&!1!==(null==i?void 0:i.useInitialPosition)?v=gc.mat4.identity(gc.mat4.create()):(K.utilities.calculateViewportsSpatialRegistration(a,l),v=Ic(r.viewportId,n.viewportId)),v){e.next=21;break}return e.abrupt("return");case 21:if(h=gc.vec3.transformMat4(gc.vec3.create(),d,v),-1===(p=_c(h,u)).index||l.getCurrentImageIdIndex()===p.index){e.next=26;break}return e.next=26,yc(l.element,{imageIndex:p.index});case 26:case"end":return e.stop()}var m,w,E,y}),e)})))).apply(this,arguments)}function _c(e,t){return t.reduce((function(t,n,r){var o=K.metaData.get("imagePlaneModule",n).imagePositionPatient,a=gc.vec3.distance(o,e);return a<t.distance?{distance:a,index:r}:t}),{distance:1/0,index:-1})}var Tc=K.Enums.Events.STACK_NEW_IMAGE;function Oc(e){return sl(e,Tc,bc)}var Dc=function(e,t,n){return"".concat(e,"::").concat(t,"::").concat(n)},Sc=function(e,t){Object.keys(e).forEach((function(n){var r=t.getAttribute(n),o=e[n];void 0===o||""===o?t.removeAttribute(n):r!==o&&t.setAttribute(n,o)}))},Mc=function(e,t){Object.keys(e).forEach((function(n){var r=e[n];void 0!==r&&""!==r&&t.setAttribute(n,r)}))},kc=function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"",l=Object.assign({color:"dodgerblue",fill:"transparent",width:"2",lineDash:void 0,lineWidth:void 0,strokeOpacity:1,fillOpacity:1},a),c=l.color,s=l.fill,d=l.width,u=l.lineWidth,v=l.lineDash,f=l.fillOpacity,g=l.strokeOpacity,h=u||d,p=Dc(t,"circle",n),m=e.getSvgNode(p),w={cx:"".concat(r[0]),cy:"".concat(r[1]),r:"".concat(o),stroke:c,fill:s,"stroke-width":h,"stroke-dasharray":v,"fill-opacity":f,"stroke-opacity":g};if(m)Sc(w,m),e.setNodeTouched(p);else{var E=document.createElementNS("http://www.w3.org/2000/svg","circle");""!==i&&E.setAttribute("data-id",i),Mc(w,E),e.appendNode(E,p)}},xc=function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"",l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},a),c=l.color,s=l.width,d=l.lineWidth,u=l.lineDash,v=d||s,f=Dc(t,"ellipse",n),g=e.getSvgNode(f),h=Math.abs(r[0]-o[0]),p=Math.abs(r[1]-o[1]),m=[Math.min(r[0],o[0])+h/2,Math.min(r[1],o[1])+p/2],w=h/2,E=p/2,y={cx:"".concat(m[0]),cy:"".concat(m[1]),rx:"".concat(w),ry:"".concat(E),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":u};if(g)Sc(y,g),e.setNodeTouched(f);else{var I=document.createElementNS("http://www.w3.org/2000/svg","ellipse");""!==i&&I.setAttribute("data-id",i),Mc(y,I),e.appendNode(I,f)}},Pc=function(e,t,n,r){for(var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=Object.assign({color:"dodgerblue",handleRadius:"6",width:"2",lineWidth:void 0,fill:"transparent",type:"circle",opacity:1},o),i=a.color,l=a.handleRadius,c=a.width,s=a.lineWidth,d=a.fill,u=a.type,v=a.opacity,f=s||c,g=0;g<r.length;g++){var h=r[g],p=Dc(t,"handle","hg-".concat(n,"-index-").concat(g)),m=void 0;if("circle"===u)m={cx:"".concat(h[0]),cy:"".concat(h[1]),r:l,stroke:i,fill:d,"stroke-width":f,opacity:v};else{if("rect"!==u)throw new Error("Unsupported handle type: ".concat(u));var w=1.5*parseFloat(l),E=h[0]-.5*w,y=h[1]-.5*w;m={x:"".concat(E),y:"".concat(y),width:"".concat(w),height:"".concat(w),stroke:i,fill:d,"stroke-width":f,rx:"".concat(.1*w),opacity:v}}var I=e.getSvgNode(p);if(I)Sc(m,I),e.setNodeTouched(p);else{var b=document.createElementNS("http://www.w3.org/2000/svg",u);Mc(m,b),e.appendNode(b,p)}}};function Rc(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";if(!(isNaN(r[0])||isNaN(r[1])||isNaN(o[0])||isNaN(o[1]))){var l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0,shadow:void 0},a),c=l.color,s=l.width,d=l.lineWidth,u=l.lineDash,v=l.shadow,f=d||s,g=Dc(t,"line",n),h=e.getSvgNode(g),p=v?"filter:url(#shadow-".concat(e.svgLayerElement.id,");"):"",m={x1:"".concat(r[0]),y1:"".concat(r[1]),x2:"".concat(o[0]),y2:"".concat(o[1]),stroke:c,style:p,"stroke-width":f,"stroke-dasharray":u};if(h)Sc(m,h),e.setNodeTouched(g);else{var w=document.createElementNS("http://www.w3.org/2000/svg","line");""!==i&&w.setAttribute("data-id",i),Mc(m,w),e.appendNode(w,g)}}}function Ac(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Nc(e,t,n,r,o){if(!(r.length<2)){var a,i=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0,connectLastToFirst:!1},o),l=i.color,c=i.width,s=i.lineWidth,d=i.lineDash,u=s||c,v=Dc(t,"polyline",n),f=e.getSvgNode(v),g="",h=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Ac(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ac(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(r);try{for(h.s();!(a=h.n()).done;){var p=a.value;g+="".concat(p[0],", ").concat(p[1]," ")}}catch(e){h.e(e)}finally{h.f()}if(o.connectLastToFirst){var m=r[0];g+="".concat(m[0],", ").concat(m[1])}var w={points:g,stroke:l,fill:"none","stroke-width":u,"stroke-dasharray":d};if(f)Sc(w,f),e.setNodeTouched(v);else{var E=document.createElementNS("http://www.w3.org/2000/svg","polyline");Mc(w,E),e.appendNode(E,v)}}}function Lc(e){var t=document.createElementNS("http://www.w3.org/2000/svg","tspan");return t.setAttribute("x","0"),t.setAttribute("dy","1.2em"),t.textContent=e,t}function Uc(e,t){var n=e.querySelector("rect.background");if(!t)return n&&e.removeChild(n),e.getBBox();n||((n=document.createElementNS("http://www.w3.org/2000/svg","rect")).setAttribute("class","background"),e.insertBefore(n,e.firstChild));var r=e.getBBox(),o={x:"".concat(r.x),y:"".concat(r.y),width:"".concat(r.width),height:"".concat(r.height),fill:t};return Sc(o,n),r}var Vc=function(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=function(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[""],a=arguments.length>4?arguments[4]:void 0,i=arguments.length>5?arguments[5]:void 0,l=i.padding,c=i.color,s=i.fontFamily,d=i.fontSize,u=i.background,v=a[0]+l,f=a[1]+l,g=Dc(t,"text",n),h=e.getSvgNode(g);if(h){for(var p=h.querySelector("text"),m=Array.from(p.children),w=0;w<m.length;w++){var E=m[w],y=o[w]||"";E.textContent=y}if(o.length>m.length){for(var I=0;I<o.length-m.length;I++){var b=Lc(o[I+m.length]);p.appendChild(b)}h.appendChild(p),e.appendNode(h,g)}var C={fill:c,"font-size":d,"font-family":s},_={transform:"translate(".concat(v," ").concat(f,")")};Sc(C,p),Sc(_,h),r=Uc(h,u),e.setNodeTouched(g)}else{var T=document.createElementNS("http://www.w3.org/2000/svg","g");T.setAttribute("transform","translate(".concat(v," ").concat(f,")"));for(var O=function(e,t){var n=t.color,r=t.fontFamily,o=t.fontSize,a=document.createElementNS("http://www.w3.org/2000/svg","text"),i="filter:url(#shadow-".concat(e.svgLayerElement.id,");"),l="".concat("user-select: none; pointer-events: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0);").concat(i);return a.setAttribute("x","0"),a.setAttribute("y","0"),a.setAttribute("fill",n),a.setAttribute("font-family",r),a.setAttribute("font-size",o),a.setAttribute("style",l),a}(e,i),D=0;D<o.length;D++){var S=Lc(o[D]);O.appendChild(S)}T.appendChild(O),e.appendNode(T,g),r=Uc(T,u)}return Object.assign({},r,{x:v,y:f,height:r.height+l,width:r.width+l})}(e,t,n,r,o,Object.assign({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"14px",color:"rgb(255, 255, 0)",background:"",padding:25,centerX:!1,centerY:!0},a));return i};function Bc(e,t){var n=[0,0],r=Number.MAX_SAFE_INTEGER;return e.forEach((function(e){var o,a,i,l,c,s,d,u=(o=e,i=(a=it(t,2))[0],l=a[1],s=(c=it(o,2))[0],d=c[1],Math.sqrt(Math.pow(i-s,2)+Math.pow(l-d,2)));u<r&&(r=u,n=Rr(e))})),n}var jc=function(e,t,n,r,o,a,i){var l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},c=Object.assign({handleRadius:"6",centering:{x:!1,y:!0}},l),s=Vc(e,t,n,r,o,c);return function(e,t,n,r,o,a){var i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},l=r.length>0?Bc(r,o):o,c=Bc(function(e){var t=e.x,n=e.y,r=e.height,o=e.width,a=o/2,i=r/2;return[[t+a,n],[t,n+i],[t+a,n+r],[t+o,n+i]]}(a),l),s=Object.assign({color:"rgb(255, 255, 0)",lineWidth:"1",lineDash:"2,3"},i);Rc(e,t,"link-".concat(n),l,c,s)}(e,t,n,a,o,s,c),s};function Wc(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"",l=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},a),c=l.color,s=l.width,d=l.lineWidth,u=l.lineDash,v=d||s,f=Dc(t,"rect",n),g=e.getSvgNode(f),h=[Math.min(r[0],o[0]),Math.min(r[1],o[1])],p=Math.abs(r[0]-o[0]),m=Math.abs(r[1]-o[1]),w={x:"".concat(h[0]),y:"".concat(h[1]),width:"".concat(p),height:"".concat(m),stroke:c,fill:"transparent","stroke-width":v,"stroke-dasharray":u};if(g)Sc(w,g),e.setNodeTouched(f);else{var E=document.createElementNS("http://www.w3.org/2000/svg","rect");""!==i&&E.setAttribute("data-id",i),Mc(w,E),e.appendNode(E,f)}}function Hc(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(!(isNaN(r[0])||isNaN(r[1])||isNaN(o[0])||isNaN(o[1]))){var i=Object.assign({color:"dodgerblue",width:"2",lineWidth:void 0,lineDash:void 0},a),l=i.color,c=i.width,s=i.lineWidth;Rc(e,t,n,r,o,{color:l,width:c,lineWidth:s,lineDash:i.lineDash});var d=Math.atan2(o[1]-r[1],o[0]-r[0]),u={start:[o[0]-10*Math.cos(d-Math.PI/7),o[1]-10*Math.sin(d-Math.PI/7)],end:o},v={start:[o[0]-10*Math.cos(d+Math.PI/7),o[1]-10*Math.sin(d+Math.PI/7)],end:o};Rc(e,t,"2",u.start,u.end,{color:l,width:c,lineWidth:s}),Rc(e,t,"3",v.start,v.end,{color:l,width:c,lineWidth:s})}}function Fc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Gc(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=(0,K.getEnabledElement)(e);if(!r)throw new Error("getAnnotationNearPoint: enabledElement not found");return qc(r,t,n)}function qc(e,t,n){var r=e.renderingEngineId,o=e.viewportId,a=Br(o,r);if(!a)return null;var i=a._toolInstances;for(var l in i){var c=zc(i[l],e,t,n);if(c)return c}return null}function zc(e,t,n,r){var o,a=t.viewport,i=$e(e.constructor.toolName,null==a?void 0:a.element),l=null==a||null===(o=a.getCurrentImageId)||void 0===o?void 0:o.call(a);if(null!=i&&i.length){var c,s=t.viewport.element,d=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Fc(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fc(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(i);try{for(d.s();!(c=d.n()).done;){var u,v=c.value,f=null===(u=v.metadata)||void 0===u?void 0:u.referencedImageId;if(!(l&&f&&l!==f||!e.isPointNearTool)&&(e.isPointNearTool(s,v,n,r,"")||e.getHandleNearImagePoint(s,v,n,r)))return v}}catch(e){d.e(e)}finally{d.f()}}return null}var Kc=function(e){var t=Z(e);return null!==e&&("object"===t||"function"===t)},Yc=function(e,t,n){var r,o,a,i,l,c,s=0,d=!1,u=!1,v=!0,f=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){var n=r,a=o;return r=o=void 0,s=t,i=e.apply(a,n)}function h(e,t){return f?window.requestAnimationFrame(e):setTimeout(e,t)}function p(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-s>=a}function m(){var e=Date.now();if(p(e))return w(e);l=h(m,function(e){var n=e-s,r=t-(e-c);return u?Math.min(r,a-n):r}(e))}function w(e){return l=void 0,v&&r?g(e):(r=o=void 0,i)}function E(){for(var e=Date.now(),n=p(e),a=arguments.length,v=new Array(a),f=0;f<a;f++)v[f]=arguments[f];if(r=v,o=this,c=e,n){if(void 0===l)return function(e){return s=e,l=h(m,t),d?g(e):i}(c);if(u)return l=h(m,t),g(c)}return void 0===l&&(l=h(m,t)),i}return t=Number(t)||0,Kc(n)&&(d=Boolean(n.leading),a=(u="maxWait"in n)?Math.max(Number(n.maxWait)||0,t):a,v="trailing"in n?Boolean(n.trailing):v),E.cancel=function(){void 0!==l&&function(e){if(f)return window.cancelAnimationFrame(e);clearTimeout(e)}(l),s=0,r=c=o=l=void 0},E.flush=function(){return void 0===l?i:w(Date.now())},E.pending=function(){return void 0!==l},E},Xc=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Kc(n)&&(r="leading"in n?Boolean(n.leading):r,o="trailing"in n?Boolean(n.trailing):o),Yc(e,t,{leading:r,trailing:o,maxWait:t})},Zc=K.utilities.calibratedPixelSpacingMetadataProvider;function Jc(e,t,n){"number"==typeof n&&(n={type:K.Enums.CalibrationTypes.USER,scale:n}),Zc.add(e,n),t.getStackViewports().forEach((function(t){t.getImageIds().includes(e)&&t.calibrateSpacing(e)}))}function $c(e,t,n,r){var o,a,i,l,c,s,d;d=e.getScalarData?e.getScalarData():e.getPointData().getScalars().getData();var u=e.getDimensions();if(r){var v=it(r,3),f=it(v[0],2);o=f[0],a=f[1];var g=it(v[1],2);i=g[0],l=g[1];var h=it(v[2],2);c=h[0],s=h[1]}else o=0,a=u[0],i=0,l=u[1],c=0,s=u[2];for(var p=gc.vec3.fromValues(o,i,c),m=e.getDirection(),w=m.slice(0,3),E=m.slice(3,6),y=m.slice(6,9),I=it(e.getSpacing(),3),b=I[0],C=I[1],_=I[2],T=e.indexToWorld(p),O=gc.vec3.fromValues(w[0]*b,w[1]*b,w[2]*b),D=gc.vec3.fromValues(E[0]*C,E[1]*C,E[2]*C),S=gc.vec3.fromValues(y[0]*_,y[1]*_,y[2]*_),M=u[0],k=u[0]*u[1],x=[],P=c;P<=s;P++)for(var R=i;R<=l;R++)for(var A=o;A<=a;A++){var N=[A,R,P],L=A-o,U=R-i,V=P-c,B=T,j=[B[0]+L*O[0]+U*D[0]+V*S[0],B[1]+L*O[1]+U*D[1]+V*S[1],B[2]+L*O[2]+U*D[2]+V*S[2]];if(t(j,N)){var W=P*k+R*M+A,H=d[W];x.push({value:H,index:W,pointIJK:N,pointLPS:j}),null!==n&&n({value:H,index:W,pointIJK:N,pointLPS:j})}}return x}var Qc=function(e,t){var n=1/0,r=0,o=1/0,a=0,i=1/0,l=0;if(e.forEach((function(e){n=Math.min(e[0],n),r=Math.max(e[0],r),o=Math.min(e[1],o),a=Math.max(e[1],a),i=Math.min(e[2],i),l=Math.max(e[2],l)})),n=Math.floor(n),r=Math.floor(r),o=Math.floor(o),a=Math.floor(a),i=Math.floor(i),l=Math.floor(l),t){var c=it(t,3),s=c[0],d=c[1],u=c[2];n=Math.max(0,n),r=Math.min(s-1,r),o=Math.max(0,o),a=Math.min(d-1,a),i=Math.max(0,i),l=Math.min(u-1,l)}return[[n,r],[o,a],[i,l]]},es=K.utilities.transformWorldToIndex;function ts(e,t,n,r){var o=function(e,t,n){var r,o=it(e,2),a=o[0],i=o[1],l=gc.vec3.fromValues((a[0]+i[0])/2,(a[1]+i[1])/2,(a[2]+i[2])/2),c=gc.vec3.distance(a,i)/2;if(!n){var s=es(t,l),d=t.getSpacing(),u=Math.min.apply(Math,Rr(d)),v=Math.ceil(c/u);return{boundsIJK:r=[[s[0]-v,s[0]+v],[s[1]-v,s[1]+v],[s[2]-v,s[2]+v]],centerWorld:l,radiusWorld:c}}return r=function(e,t,n,r,o){var a=it(n,2),i=a[0],l=a[1],c=e.getDimensions(),s=t.getCamera(),d=gc.vec3.fromValues(s.viewUp[0],s.viewUp[1],s.viewUp[2]),u=gc.vec3.fromValues(s.viewPlaneNormal[0],s.viewPlaneNormal[1],s.viewPlaneNormal[2]),v=gc.vec3.create();gc.vec3.cross(v,d,u);var f=gc.vec3.create(),g=gc.vec3.create();gc.vec3.scaleAndAdd(f,l,u,o),gc.vec3.scaleAndAdd(g,i,u,-o),gc.vec3.scaleAndAdd(f,f,v,-o),gc.vec3.scaleAndAdd(g,g,v,o);var h=[es(e,f),es(e,g)];return Qc(h,c)}(t,n,e,0,c),{boundsIJK:r,centerWorld:l,radiusWorld:c}}(t,e,r),a=o.boundsIJK,i={center:o.centerWorld,radius:o.radiusWorld};$c(e,(function(e){return function(e,t){var n=e.center,r=e.radius;return Math.pow(t[0]-n[0],2)+Math.pow(t[1]-n[1],2)+Math.pow(t[2]-n[2],2)<=Math.pow(r,2)}(i,e)}),n,a)}var ns=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(null==e||""===e)return"NaN";if((e=Number(e))<1e-4)return"".concat(e);var n=e>=100?t-2:e>=10?t-1:e>=1?t:e>=.1?t+1:e>=.01?t+2:e>=.001?t+3:t+4;return e.toFixed(n)},rs=function(e,t,n){var r=n.THRESHOLD_INSIDE_CIRCLE,o=t.getScalarData()[e],a=r.threshold;return a[0]<=o&&o<=a[1]};function os(e,t){var n,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=e.viewport,a=t.volume,i=t.segmentsLocked,l=t.segmentIndex,c=t.imageVolume,s=t.strategySpecificConfiguration,d=t.segmentationId,u=t.points,v=a.imageData,f=a.dimensions,g=a.getScalarData(),h=[];n=r?function(e){var t=e.value,n=e.index;e.pointIJK,i.includes(t)||rs(n,c,s)&&(g[n]=l,h.push(n))}:function(e){var t=e.index,n=e.value;i.includes(n)||(g[t]=l,h.push(t))},ts(v,[u[0],u[1]],n,o);var p=f[0]*f[1],m=Math.floor(h[0]/p),w=Math.floor(h[h.length-1]/p);_t(d,Array.from({length:w-m+1},(function(e,t){return t+m})))}function as(e,t){os(e,t,!0)}function is(e,t){var n=t.volume,r=t.imageVolume;if(!K.utilities.isEqual(n.dimensions,r.dimensions)||!K.utilities.isEqual(n.direction,r.direction))throw new Error("Only source data the same dimensions/size/orientation as the segmentation currently supported.");os(e,t,!0,!0)}function ls(e,t){as(e,Object.assign({},t,{segmentIndex:0}))}function cs(e){var t=it(e,4),n=t[0],r=t[1],o=t[2],a=t[3];return[[o[0],r[1]],[a[0],n[1]]]}function ss(e,t){var n=e.center,r=e.xRadius,o=e.yRadius,a=e.zRadius,i=it(t,3),l=i[0],c=i[1],s=i[2],d=it(n,3),u=d[0],v=d[1],f=d[2],g=0;return 0!==r&&(g+=(l-u)*(l-u)/(r*r)),0!==o&&(g+=(c-v)*(c-v)/(o*o)),0!==a&&(g+=(s-f)*(s-f)/(a*a)),g<=1}var ds=K.utilities.transformWorldToIndex;function us(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=t.volume,o=t.imageVolume,a=t.points,i=t.segmentsLocked,l=t.segmentIndex,c=t.segmentationId,s=t.strategySpecificConfiguration,d=r.imageData,u=r.dimensions,v=r.getScalarData(),f=e.viewport,g=gc.vec3.fromValues(0,0,0);a.forEach((function(e){gc.vec3.add(g,g,e)})),gc.vec3.scale(g,g,1/a.length);var h=it(cs(a.map((function(e){return f.worldToCanvas(e)}))),2),p=h[0],m=h[1],w=f.canvasToWorld(p),E=f.canvasToWorld(m),y=[ds(d,w),ds(d,E)],I=Qc(y,u),b={center:g,xRadius:Math.abs(w[0]-E[0])/2,yRadius:Math.abs(w[1]-E[1])/2,zRadius:Math.abs(w[2]-E[2])/2},C=new Set;$c(d,(function(e,t){return ss(b,e)}),n?function(e){var t=e.value,n=e.index,r=e.pointIJK;i.includes(t)||rs(n,o,s)&&(v[n]=l,C.add(r[2]))}:function(e){var t=e.value,n=e.index,r=e.pointIJK;i.includes(t)||(v[n]=l,C.add(r[2]))},I),_t(c,Array.from(C))}function vs(e,t){us(e,t,!1)}function fs(e,t){var n=t.volume,r=t.imageVolume;if(!K.utilities.isEqual(n.dimensions,r.dimensions)||!K.utilities.isEqual(n.direction,r.direction))throw new Error("Only source data the same dimensions/size/orientation as the segmentation currently supported.");us(e,t,!0)}function gs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gs(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ps(e,t){vs(e,hs(hs({},t),{},{segmentIndex:0}))}function ms(e){var t=St().getSegmentationRepresentations(e);if(t)return t.find((function(e){return e.active}))}function ws(e,t){St().setActiveSegmentationRepresentation(e,t),bt(e,t)}function Es(e,t){var n=Mt(e);if(!n)throw new Error("No segmentation state found for ".concat(e));return n.segmentsLocked.has(t)}function ys(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=Mt(e);if(!r)throw new Error("No segmentation state found for ".concat(e));var o=r.segmentsLocked;n?o.add(t):o.delete(t),Ct(e)}function Is(e){var t=Mt(e);if(!t)throw new Error("No segmentation state found for ".concat(e));var n=t.segmentsLocked;return Array.from(n)}function bs(e,t){var n=Mt(e);(null==n?void 0:n.activeSegmentIndex)!==t&&(n.activeSegmentIndex=t,Ct(e))}function Cs(e){var t=Mt(e);if(t)return t.activeSegmentIndex}function _s(e,t){if(!e)throw new Error("addColorLUT: colorLUT is required");K.utilities.isEqual(e[0],[0,0,0,0])||(console.warn("addColorLUT: [0, 0, 0, 0] color is not provided for the background color (segmentIndex =0), automatically adding it"),e.unshift([0,0,0,0])),Xt(e,t)}function Ts(e,t,n){var r=Gt(e,t);if(!r)throw new Error("setColorLUT: could not find segmentation representation with UID ".concat(t));if(!Yt(n))throw new Error("setColorLUT: could not find colorLUT with index ".concat(n));r.colorLUTIndex=n,bt(e,t)}function Os(e,t,n){var r=Gt(e,t);if(!r)throw new Error("segmentation representation with UID ".concat(t," does not exist for tool group ").concat(e));return Yt(r.colorLUTIndex)[n]}function Ds(e,t,n,r){for(var o=Os(e,t,n),a=0;a<r.length;a++)o[a]=r[a];bt(e,t)}var Ss=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE_CIRCLE:vs,ERASE_INSIDE_CIRCLE:ps,FILL_INSIDE_SPHERE:as,ERASE_INSIDE_SPHERE:ls,THRESHOLD_INSIDE_CIRCLE:fs,THRESHOLD_INSIDE_SPHERE:is},strategySpecificConfiguration:{THRESHOLD_INSIDE_CIRCLE:{threshold:[-150,-70]}},defaultStrategy:"FILL_INSIDE_CIRCLE",activeStrategy:"FILL_INSIDE_CIRCLE",brushSize:25}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_editData",void 0),te(ua(e),"_hoverData",void 0),te(ua(e),"onSetToolPassive",(function(){e.disableCursor()})),te(ua(e),"onSetToolEnabled",(function(){e.disableCursor()})),te(ua(e),"onSetToolDisabled",(function(){e.disableCursor()})),te(ua(e),"preMouseDownCallback",(function(t){var n=t.detail.element,r=(0,K.getEnabledElement)(n),o=r.viewport,a=r.renderingEngine;if(o instanceof K.StackViewport)throw new Error("Not implemented yet");var i=ms(e.toolGroupId);if(!i)throw new Error("No active segmentation detected, create one before using the brush tool");var l=i.segmentationId,c=i.type,s=Is(l),d=Mt(l).representationData[c].volumeId,u=K.cache.getVolume(d),v=o.getActors()[0].uid,f=K.cache.getVolume(v),g=[o.id];return e._editData={segmentation:u,imageVolume:f,segmentsLocked:s},e._activateDraw(n),Jl(n),t.preventDefault(),ia(a,g),!0})),te(ua(e),"mouseMoveCallback",(function(t){e.mode===qe.Active&&e.updateCursor(t)})),te(ua(e),"_dragCallback",(function(t){var n=t.detail.element,r=(0,K.getEnabledElement)(n),o=r.renderingEngine,a=e._editData,i=a.imageVolume,l=a.segmentation,c=a.segmentsLocked;e.updateCursor(t);var s=e._hoverData,d=s.segmentIndex,u=s.segmentationId,v=s.segmentationRepresentationUID,f=s.brushCursor,g=s.viewportIdsToRender,h=f.data,p=f.metadata,m=p.viewPlaneNormal,w=p.viewUp;ia(o,g);var E={points:h.handles.points,volume:l,imageVolume:i,segmentIndex:d,segmentsLocked:c,viewPlaneNormal:m,toolGroupId:e.toolGroupId,segmentationId:u,segmentationRepresentationUID:v,viewUp:w,strategySpecificConfiguration:e.configuration.strategySpecificConfiguration};e.applyActiveStrategy(r,E)})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e._editData,o=r.imageVolume,a=r.segmentation,i=r.segmentsLocked,l=e._hoverData,c=l.segmentIndex,s=l.segmentationId,d=l.segmentationRepresentationUID,u=l.brushCursor,v=u.data,f=u.metadata,g=f.viewPlaneNormal,h=f.viewUp;e._deactivateDraw(n),Zl(n);var p=(0,K.getEnabledElement)(n),m=p.viewport;if(e._editData=null,e.updateCursor(t),m instanceof K.StackViewport)throw new Error("Not implemented yet");var w={points:v.handles.points,volume:a,imageVolume:o,segmentIndex:c,segmentsLocked:i,viewPlaneNormal:g,toolGroupId:e.toolGroupId,segmentationId:s,segmentationRepresentationUID:d,viewUp:h,strategySpecificConfiguration:e.configuration.strategySpecificConfiguration};e.applyActiveStrategy(p,w)})),te(ua(e),"_activateDraw",(function(t){t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback)})),e}return Q(o,[{key:"disableCursor",value:function(){this._hoverData=void 0}},{key:"updateCursor",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints.canvas,o=(0,K.getEnabledElement)(n),a=o.renderingEngine,i=o.viewport,l=i.getCamera(),c=l.viewPlaneNormal,s=l.viewUp,d=this.toolGroupId,u=ms(d);if(u){var v=u.segmentationRepresentationUID,f=u.segmentationId,g=Cs(f),h=Os(d,v,g),p=[i.id],m={metadata:{viewPlaneNormal:Rr(c),viewUp:Rr(s),FrameOfReferenceUID:i.getFrameOfReferenceUID(),referencedImageId:"",toolName:this.getToolName(),segmentColor:h},data:{}};this._hoverData={brushCursor:m,centerCanvas:r,segmentIndex:g,segmentationId:f,segmentationRepresentationUID:v,segmentColor:h,viewportIdsToRender:p},this._calculateCursor(n,r),ia(a,p)}else console.warn("No active segmentation detected, create one before using the brush tool")}},{key:"_calculateCursor",value:function(e,t){var n=(0,K.getEnabledElement)(e).viewport,r=n.canvasToWorld,o=n.getCamera(),a=this.configuration.brushSize,i=gc.vec3.fromValues(o.viewUp[0],o.viewUp[1],o.viewUp[2]),l=gc.vec3.fromValues(o.viewPlaneNormal[0],o.viewPlaneNormal[1],o.viewPlaneNormal[2]),c=gc.vec3.create();gc.vec3.cross(c,i,l);for(var s=r([t[0],t[1]]),d=gc.vec3.create(),u=gc.vec3.create(),v=gc.vec3.create(),f=gc.vec3.create(),g=0;g<=2;g++)d[g]=s[g]-i[g]*a,u[g]=s[g]+i[g]*a,v[g]=s[g]-c[g]*a,f[g]=s[g]+c[g]*a;var h=this._hoverData.brushCursor.data;void 0===h.handles&&(h.handles={}),h.handles.points=[d,u,v,f],h.invalidated=!1}},{key:"invalidateBrushCursor",value:function(){void 0!==this._hoverData&&(this._hoverData.brushCursor.data.invalidated=!0)}},{key:"renderAnnotation",value:function(e,t){if(this._hoverData){var n=e.viewport;if(this._hoverData.viewportIdsToRender.includes(n.id)){var r=this._hoverData.brushCursor;if(!0===r.data.invalidated){var o=this._hoverData.centerCanvas,a=n.element;this._calculateCursor(a,o)}var i=r.metadata,l=i.brushCursorUID,c=r.data.handles.points.map((function(e){return n.worldToCanvas(e)})),s=c[0],d=c[1],u=[Math.floor((s[0]+d[0])/2),Math.floor((s[1]+d[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+d[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");n.getRenderingEngine()?kc(t,l,"0",u,v,{color:f}):console.warn("Rendering Engine has been destroyed")}}}}]),o}(Ra);te(Ss,"toolName",void 0),Ss.toolName="Brush";var Ms=Ss;function ks(e,t){var n=da(e);if(void 0!==n){var r=n._toolInstances;if(Object.keys(r).length)return t&&r[t]?[r[t]]:Object.values(r).filter((function(e){return e instanceof Ms}))}}function xs(e,t,n,r){for(var o=[],a=0;a<2;a++)for(var i=0;i<2;i++)for(var l=0;l<2;l++){var c=r;c[0]=c[0]+(2*a-1)*n[0]/2,c[1]=c[1]+(2*i-1)*n[1]/2,c[2]=c[2]+(2*l-1)*n[2]/2,o.push(c)}var s=o.map((function(t){return K.utilities.transformWorldToIndex(e,t)}));return Qc(s,t)}function Ps(e,t){for(var n=e.spacing,r=(e.imageData,e.getScalarData()),o=[],a=0,i=0;i<t.length;i++){var l=t[i].volume,c=l.imageData,s=l.spacing,d=l.dimensions,u=t[i].volume.getScalarData().length;u===r.length&&(h=s,p=n,JSON.stringify(h)===JSON.stringify(p))&&(a=i);var v=c.getPointData().getScalars().getData(),f=t[i].lower,g=t[i].upper;o.push({imageData:c,referenceValues:v,lower:f,upper:g,spacing:s,dimensions:d,volumeSize:u})}var h,p;return{volumeInfoList:o,baseVolumeIdx:a}}var Rs=function(e,t,n){var r=e.imageData,o=e.getScalarData(),a=n.overwrite,i=n.boundsIJK,l=(null==n?void 0:n.overlapType)||0;if(a)for(var c=0;c<o.length;c++)o[c]=0;var s,d,u,v=Ps(e,t),f=v.baseVolumeIdx,g=v.volumeInfoList,h=function(e,t,n){var r=e.imageData,o=e.dimensions,a=e.lower,i=e.upper,c=xs(r,o,t,n);d=0,s=0,u={lower:a,upper:i};var v=!1;return $c(r,(function(){return!0}),(function(e){var t=e.value;d+=1,t>=u.lower&&t<=u.upper&&(s+=1)}),c),0===l?v=s>0:1==l&&(v=s===d),v},p=function(e,t){var n=e.imageData,r=e.referenceValues,o=e.lower,a=e.upper,i=r[n.computeOffsetIndex(t)];return!(i<=o||i>=a)};return $c(r,(function(){return!0}),(function(e){for(var t=e.index,n=e.pointIJK,r=e.pointLPS,a=g.length>0,i=0;i<g.length&&(a=g[i].volumeSize===o.length?p(g[i],n):h(g[i],g[f].spacing,r));i++);a&&(o[t]=1)}),i),_t(e.volumeId),e};function As(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o];a.getFrameOfReferenceUID()===t&&r.push(a)}return r}var Ns=qe.Active,Ls=qe.Passive,Us=qe.Enabled;function Vs(e,t){for(var n=e.length,r=[],o=0;o<n;o++){var a=e[o],i=Br(a.id,a.renderingEngineId);i&&Bs(i,t)&&r.push(a)}return r}function Bs(e,t){var n=e.toolOptions[t];if(!n)return!1;var r=n.mode;return r===Ns||r===Ls||r===Us}var js=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.999;return e.filter((function(e){var r=e.getCamera();return Math.abs(gc.vec3.dot(r.viewPlaneNormal,t.viewPlaneNormal))>n}))};function Ws(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=(0,K.getEnabledElement)(e),o=r.renderingEngine,a=r.FrameOfReferenceUID,i=o.getViewports();i=Vs(i=As(i,a),t);var l=o.getViewport(r.viewportId);return n&&(i=js(i,l.getCamera())),i.map((function(e){return e.id}))}function Hs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Fs=1-K.CONSTANTS.EPSILON;function Gs(e,t,n){var r=t.viewPlaneNormal,o=e.filter((function(e){var t=e.metadata.viewPlaneNormal;if(!t){var n=e.metadata.referencedImageId,o=K.metaData.get("imagePlaneModule",n).imageOrientationPatient,a=gc.vec3.fromValues(o[0],o[1],o[2]),i=gc.vec3.fromValues(o[3],o[4],o[5]);t=gc.vec3.create(),gc.vec3.cross(t,a,i),e.metadata.viewPlaneNormal=t}var l=Math.abs(gc.vec3.dot(r,t))>Fs;return t&&l}));if(!o.length)return[];var a,i=n/2,l=t.focalPoint,c=[],s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Hs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Hs(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(s.s();!(a=s.n()).done;){var d=a.value,u=d.data.handles.points[0];if(d.isVisible){var v=gc.vec3.create();gc.vec3.sub(v,l,u);var f=gc.vec3.dot(v,r);Math.abs(f)<i&&c.push(d)}}}catch(e){s.e(e)}finally{s.f()}return c}function qs(e,t){if(e instanceof K.StackViewport){var n=e.getCurrentImageId(),r=n.indexOf(":"),o=n.substring(r+1);return t.filter((function(e){if(!e.isVisible)return!1;var t=e.metadata.referencedImageId;if(void 0===t)return!1;var n=t.indexOf(":");return t.substring(n+1)===o}))}if(e instanceof K.VolumeViewport){var a=e.getCamera();return Gs(t,a,K.utilities.getTargetVolumeAndSpacingInNormalDir(e,a).spacingInNormalDirection)}throw new Error("Viewport Type ".concat(e.type," not supported"))}var zs=function(e){if(e){if(e.data&&e.highlighted)return Cl.Highlighted;if(Ie(e.annotationUID))return Cl.Selected;if(ce(e))return Cl.Locked}return Cl.Default};var Ks=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e;ee(this,o);for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return te(ua(e=r.call.apply(r,[this].concat(n))),"onImageSpacingCalibrated",(function(t){var n=t.detail,r=n.element,o=n.imageId,a=K.utilities.imageIdToURI(o),i=Xe();i.getFramesOfReference().forEach((function(t){var n=i.getAnnotations(t)[e.getToolName()];n&&n.length&&(n.forEach((function(e){var t;null!==(t=e.metadata)&&void 0!==t&&t.referencedImageId&&K.utilities.imageIdToURI(e.metadata.referencedImageId)===a&&(e.invalidated=!0,e.data.cachedStats={})})),Kr(r))}))})),e}return Q(o,[{key:"filterInteractableAnnotationsForElement",value:function(e,t){if(t&&t.length)return qs((0,K.getEnabledElement)(e).viewport,t)}},{key:"getReferencedImageId",value:function(e,t,n,r){var o,a=this.getTargetId(e);if(e instanceof K.StackViewport)o=a.split("imageId:")[1];else{var i=a.split("volumeId:")[1],l=K.cache.getVolume(i);o=K.utilities.getClosestImageId(l,t,n)}return o}},{key:"getStyle",value:function(e,t,n){return Bl(e,t,zs(n),this.mode)}}]),o}(Ra);te(Ks,"toolName",void 0),Ks.toolName="AnnotationDisplayTool";var Ys=Ks;function Xs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Zs=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(e,t){var n,a,i;return ee(this,o),te(ua(i=r.call(this,e,t)),"mouseMoveCallback",(function(e,t){if(!t)return!1;var n,r=e.detail,o=r.element,a=r.currentPoints.canvas,l=!1,c=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Xs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xs(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(t);try{for(c.s();!(n=c.n()).done;){var s=n.value;if(!ce(s)&&Me(s.annotationUID)){var d=s.data,u=d.handles?d.handles.activeHandleIndex:void 0,v=i._imagePointNearToolOrHandle(o,s,a,6),f=v&&!s.highlighted,g=!v&&s.highlighted;f||g?(s.highlighted=!s.highlighted,l=!0):d.handles&&d.handles.activeHandleIndex!==u&&(l=!0)}}}catch(e){c.e(e)}finally{c.f()}return l})),null!==(n=e.configuration)&&void 0!==n&&n.getTextLines&&(i.configuration.getTextLines=e.configuration.getTextLines),null!==(a=e.configuration)&&void 0!==a&&a.statsCalculator&&(i.configuration.statsCalculator=e.configuration.statsCalculator),i}return Q(o,[{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=t.data,i=a.handles,l=i.points,c=i.textBox;if(c){var s=c.worldBoundingBox;if(s){var d={topLeft:o.worldToCanvas(s.topLeft),topRight:o.worldToCanvas(s.topRight),bottomLeft:o.worldToCanvas(s.bottomLeft),bottomRight:o.worldToCanvas(s.bottomRight)};if(n[0]>=d.topLeft[0]&&n[0]<=d.bottomRight[0]&&n[1]>=d.topLeft[1]&&n[1]<=d.bottomRight[1])return a.handles.activeHandleIndex=null,c}}for(var u=0;u<l.length;u++){var v=l[u],f=o.worldToCanvas(v);if(!0==gc.vec2.distance(n,f)<r)return a.handles.activeHandleIndex=u,v}a.handles.activeHandleIndex=null}},{key:"getLinkedTextBoxStyle",value:function(e,t){return{visibility:this.getStyle("textBoxVisibility",e,t),fontFamily:this.getStyle("textBoxFontFamily",e,t),fontSize:this.getStyle("textBoxFontSize",e,t),color:this.getStyle("textBoxColor",e,t),shadow:this.getStyle("textBoxShadow",e,t),background:this.getStyle("textBoxBackground",e,t),lineWidth:this.getStyle("textBoxLinkLineWidth",e,t),lineDash:this.getStyle("textBoxLinkLineDash",e,t)}}},{key:"isSuvScaled",value:function(e,t,n){if(e instanceof K.BaseVolumeViewport){var r,o=t.split("volumeId:")[1];return void 0!==(null===(r=K.cache.getVolume(o).scaling)||void 0===r?void 0:r.PT)}if(e instanceof K.StackViewport){var a=n&&K.metaData.get("scalingModule",n);return"number"==typeof(null==a?void 0:a.suvbw)}throw new Error("Viewport is not a valid type")}},{key:"_imagePointNearToolOrHandle",value:function(e,t,n,r){return!!this.getHandleNearImagePoint(e,t,n,r)||!!this.isPointNearTool(e,t,n,r,"mouse")||void 0}}]),o}(Ys);te(Zs,"toolName",void 0),Zs.toolName="AnnotationTool";var Js=Zs,$s=K.Enums.CalibrationTypes,Qs="px",ed=function(e,t){var n=t.calibration,r=t.hasPixelSpacing?"mm":Qs;return n&&n.type?n.type===$s.UNCALIBRATED?Qs:n.SequenceOfUltrasoundRegions?"US Region":"".concat(r," ").concat(n.type):r},td=function(e,t){var n=t.calibration,r=(t.hasPixelSpacing?"mm":Qs)+"²";return n&&n.type?n.SequenceOfUltrasoundRegions?"US Region":"".concat(r," ").concat(n.type):r},nd=function(e){var t;return(null===(t=e.calibration)||void 0===t?void 0:t.scale)||1};function rd(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function od(e,t,n){var r=rd(e,t);if(0===r)return rd(n,e);var o=((n[0]-e[0])*(t[0]-e[0])+(n[1]-e[1])*(t[1]-e[1]))/r;return rd(n,o<0?e:o>1?t:[e[0]+o*(t[0]-e[0]),e[1]+o*(t[1]-e[1])])}function ad(e,t,n){if(2!==e.length||2!==t.length||2!==n.length)throw Error("lineStart, lineEnd, and point should have 2 elements of [x, y]");return Math.sqrt(od(e,t,n))}function id(e,t){if(4!==e.length||2!==t.length)throw Error("rectangle:[left, top, width, height] or point: [x,y] not defined correctly");var n=it(e,4),r=n[0],o=n[1],a=n[2],i=n[3],l=655535,c=function(e,t,n,r){return{top:[[e,t],[e+n,t]],right:[[e+n,t],[e+n,t+r]],bottom:[[e+n,t+r],[e,t+r]],left:[[e,t+r],[e,t]]}}(r,o,a,i);return Object.keys(c).forEach((function(e){var n=it(c[e],2),r=ad(n[0],n[1],t);r<l&&(l=r)})),l}function ld(e){var t,n,r,o,a=(n=[(t=e)[0],t[1]].sort((function(e,t){return e[0]<t[0]?-1:1})),r=[t[0],t[1]].sort((function(e,t){return e[1]<t[1]?-1:1})),o=n[n.length-1],{top:r[0],bottom:r[r.length-1],right:o}),i=(a.top[1]+a.bottom[1])/2;return[a.right[0],i]}function cd(e,t,n,r){var o=gc.vec3.create();gc.vec3.cross(o,t,e);var a=gc.vec3.fromValues.apply(gc.vec3,Rr(n)),i=gc.vec3.fromValues.apply(gc.vec3,Rr(r)),l=gc.vec3.create();gc.vec3.subtract(l,a,i);var c=gc.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=gc.vec3.dot(l,o)/(c*gc.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}function sd(e,t,n){return"CT"===e?"HU":"PT"===e?function(e,t){if(!t.isPreScaled)return"raw";if(t.isSuvScaled)return"SUV";var n=K.metaData.get("generalSeriesModule",e);if("PT"===(null==n?void 0:n.modality)){var r=K.metaData.get("petSeriesModule",e);return(null==r?void 0:r.units)||"unitless"}}(t,n):""}function dd(e,t){if(e instanceof K.BaseVolumeViewport){var n=t.split("volumeId:")[1],r=K.cache.getVolume(n);return!(null==r||!r.scaling)&&Object.keys(r.scaling).length>0}if(e instanceof K.StackViewport){var o=(e.getImageData()||{}).preScale;return!(null==o||!o.scaled)}throw new Error("Viewport is not a valid type")}var ud=Q((function e(){ee(this,e)}));te(ud,"run",void 0),te(ud,"getStatistics",void 0);var vd=ud;var fd=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){return ee(this,o),r.apply(this,arguments)}return Q(o)}(vd);te(fd,"max",-1/0),te(fd,"currentMax",0),te(fd,"sum",0),te(fd,"sumSquares",0),te(fd,"squaredDiffSum",0),te(fd,"count",0),te(fd,"statsCallback",(function(e){var t=e.value;t>fd.max&&(fd.max=t,fd.currentMax=t),fd.count+=1,fd.sum+=t,fd.sumSquares+=Math.pow(t,2),fd.squaredDiffSum+=Math.pow(t-fd.sum/fd.count,2)})),te(fd,"getStatistics",(function(){var e=fd.sum/fd.count,t=Math.sqrt(fd.squaredDiffSum/fd.count),n=Math.sqrt(fd.sumSquares/fd.count-Math.pow(e,2));return fd.max=-1/0,fd.sum=0,fd.sumSquares=0,fd.squaredDiffSum=0,fd.count=0,[{name:"max",value:fd.currentMax,unit:null},{name:"mean",value:e,unit:null},{name:"stdDev",value:t,unit:null},{name:"stdDevWithSumSquare",value:n,unit:null}]}));var gd=K.utilities.transformWorldToIndex,hd=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:pd,statsCalculator:fd}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={invalidated:!0,highlighted:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{points:[Rr(a),Rr(a),Rr(a),Rr(a)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},cachedStats:{}}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(c,h),g})),te(ua(e),"isPointNearTool",(function(t,n,r,o){var a=(0,K.getEnabledElement)(t).viewport,i=n.data.handles.points,l=a.worldToCanvas(i[0]),c=a.worldToCanvas(i[3]),s=e._getRectangleImageCoordinates([l,c]),d=[r[0],r[1]];return id([s.left,s.top,s.width,s.height],d)<=o})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),Jl(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l=!1;r.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===r}));var c=Ws(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},e._activateModify(o),Jl(o);var s=(0,K.getEnabledElement)(o).renderingEngine;ia(s,c),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}}})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g,h,p,m,w,E,y,I,b=n.currentPoints,C=(0,K.getEnabledElement)(r).viewport,_=C.worldToCanvas,T=C.canvasToWorld,O=b.world,D=s.handles.points;switch(D[l]=Rr(O),l){case 0:case 3:g=_(D[0]),h=[(m=_(D[3]))[0],g[1]],p=[g[0],m[1]],E=T(h),y=T(p),D[1]=E,D[2]=y;break;case 1:case 2:h=_(D[1]),g=[(p=_(D[2]))[0],h[1]],m=[h[0],p[1]],w=T(g),I=T(m),D[0]=w,D[3]=I}a.invalidated=!0}e.editData.hasMoved=!0;var S=(0,K.getEnabledElement)(r).renderingEngine;ia(S,i)})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_MOVE,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles,g=v.points,h=v.activeHandleIndex,p=g.map((function(e){return i.worldToCanvas(e)}));u.annotationUID=o;var m,w=e.getStyle("lineWidth",u,r),E=e.getStyle("lineDash",u,r),y=e.getStyle("color",u,r),I=i.getCamera(),b=I.viewPlaneNormal,C=I.viewUp;if(l.cachedStats[s]&&null!=l.cachedStats[s].areaUnit){if(r.invalidated&&(e._throttledCalculateCachedStats(r,b,C,d,t),i instanceof K.VolumeViewport)){var _=r.metadata.referencedImageId;for(var T in l.cachedStats)T.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=K.utilities.imageIdToURI(_),n=e.hasImageURI(t),r=K.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[T]}}else l.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null},e._calculateCachedStats(r,b,C,d,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};if(!Me(o))return"continue";ce(r)||e.editData||null===h||(m=[p[h]]),m&&Pc(n,o,"0",m,{color:y});var O="".concat(o,"-rect");Wc(n,o,"0",p[0],p[3],{color:y,lineDash:E,lineWidth:w},O),a=!0;var D=e.getLinkedTextBoxStyle(u,r);if(!D.visibility)return l.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},"continue";var S=e.configuration.getTextLines(l,s);if(!S||0===S.length)return"continue";if(!l.handles.textBox.hasMoved){var M=ld(p);l.handles.textBox.worldPosition=i.canvasToWorld(M)}var k=i.worldToCanvas(l.handles.textBox.worldPosition),x=jc(n,o,"1",S,k,p,{},D),P=x.x,R=x.y,A=x.width,N=x.height;l.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([P,R]),topRight:i.canvasToWorld([P+A,R]),bottomLeft:i.canvasToWorld([P,R+N]),bottomRight:i.canvasToWorld([P+A,R+N])}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),te(ua(e),"_getRectangleImageCoordinates",(function(e){var t=it(e,2),n=t[0],r=t[1];return{left:Math.min(n[0],r[0]),top:Math.min(n[1],r[1]),width:Math.abs(n[0]-r[0]),height:Math.abs(n[1]-r[1])}})),te(ua(e),"_calculateCachedStats",(function(t,n,r,o,a){for(var i=t.data,l=a.viewportId,c=a.renderingEngineId,s=a.viewport,d=i.handles.points[0],u=i.handles.points[3],v=i.cachedStats,f=Object.keys(v),g=0;g<f.length;g++){var h=f[g],p=e.getTargetIdImage(h,o);if(p){var m=p.dimensions,w=p.imageData,E=p.metadata,y=("getScalarData"in p?p.getScalarData():p.scalarData,gd(w,d));y[0]=Math.floor(y[0]),y[1]=Math.floor(y[1]),y[2]=Math.floor(y[2]);var I=gd(w,u);if(I[0]=Math.floor(I[0]),I[1]=Math.floor(I[1]),I[2]=Math.floor(I[2]),e._isInsideVolume(y,I,m)){var b,C,_;e.isHandleOutsideImage=!1;var T=[[Math.min(y[0],I[0]),Math.max(y[0],I[0])],[Math.min(y[1],I[1]),Math.max(y[1],I[1])],[Math.min(y[2],I[2]),Math.max(y[2],I[2])]],O=cd(n,r,d,u),D=O.worldWidth,S=O.worldHeight,M=nd(p),k=Math.abs(D*S)/(M*M),x={isPreScaled:dd(s,h),isSuvScaled:e.isSuvScaled(s,h,t.metadata.referencedImageId)},P=sd(E.Modality,t.metadata.referencedImageId,x),R=$c(w,(function(){return!0}),e.configuration.statsCalculator.statsCallback,T),A=e.configuration.statsCalculator.getStatistics();v[h]={Modality:E.Modality,area:k,mean:null===(b=A[1])||void 0===b?void 0:b.value,stdDev:null===(C=A[2])||void 0===C?void 0:C.value,max:null===(_=A[0])||void 0===_?void 0:_.value,statsArray:A,pointsInShape:R,areaUnit:td(0,p),modalityUnit:P}}else e.isHandleOutsideImage=!0,v[h]={Modality:E.Modality}}}t.invalidated=!1;var N=X.ANNOTATION_MODIFIED,L={annotation:t,viewportId:l,renderingEngineId:c};return(0,K.triggerEvent)(K.eventTarget,N,L),v})),te(ua(e),"_isInsideVolume",(function(e,t,n){return K.utilities.indexWithinDimensions(e,n)&&K.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o)}(Js);function pd(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.max,i=n.stdDev,l=n.areaUnit,c=n.modalityUnit;if(void 0!==o){var s=[];return s.push("Area: ".concat(ns(r)," ").concat(l)),s.push("Mean: ".concat(ns(o)," ").concat(c)),s.push("Max: ".concat(ns(a)," ").concat(c)),s.push("Std Dev: ".concat(ns(i)," ").concat(c)),s}}te(hd,"toolName",void 0),hd.toolName="RectangleROI";var md=hd;var wd=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s,d,u=l.getCamera(),v=u.viewPlaneNormal,f=u.viewUp,g=e.getTargetId(l);if(l instanceof K.StackViewport)s=g.split("imageId:")[1];else{d=g.split("volumeId:")[1];var h=K.cache.getVolume(d);s=K.utilities.getClosestImageId(h,a,v)}var p=l.getFrameOfReferenceUID(),m={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Rr(v),enabledElement:i,viewUp:Rr(f),FrameOfReferenceUID:p,referencedImageId:s,toolName:e.getToolName(),volumeId:d},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[Rr(a),Rr(a),Rr(a),Rr(a)],activeHandleIndex:null},segmentationId:null}};Qe(m,o);var w=Ws(o,e.getToolName());return e.editData={annotation:m,viewportIdsToRender:w,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(c,w),m})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=t.renderingEngineId,c=i.element,s=$e(e.getToolName(),c);if(null===(r=s)||void 0===r||!r.length)return a;if(null===(o=s=e.filterInteractableAnnotationsForElement(c,s))||void 0===o||!o.length)return a;for(var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=0;u<s.length;u++){var v=s[u],f=v.annotationUID,g=v.data.handles,h=g.points,p=g.activeHandleIndex,m=h.map((function(e){return i.worldToCanvas(e)}));d.annotationUID=f;var w=e.getStyle("lineWidth",d,v),E=e.getStyle("lineDash",d,v),y=e.getStyle("color",d,v);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;var I=X.ANNOTATION_MODIFIED,b={annotation:v,viewportId:i.id,renderingEngineId:l};(0,K.triggerEvent)(K.eventTarget,I,b);var C=void 0;Me(f)&&(ce(v)||e.editData||null===p||(C=[m[p]]),C&&Pc(n,f,"0",C,{color:y}),Wc(n,f,"0",m[0],m[3],{color:y,lineDash:E,lineWidth:w}),a=!0)}return a})),e}return Q(o)}(md);te(wd,"toolName",void 0),wd.toolName="RectangleROIThreshold";var Ed=wd;var yd=K.utilities.transformWorldToIndex,Id=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{numSlicesToPropagate:10}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s,d,u,v=l.getCamera(),f=v.viewPlaneNormal,g=v.viewUp;if(l instanceof K.StackViewport)throw new Error("Stack Viewport Not implemented");if(u=e.getTargetId(l).split("volumeId:")[1],d=K.cache.getVolume(u),!(s=K.utilities.getClosestImageId(d,a,f)))throw new Error("This tool does not work on non-acquisition planes");var h=l.getCurrentImageIdIndex(),p=K.utilities.getSpacingInNormalDirection(d,f),m=e._getEndSliceIndex(d,a,p,f),w=l.getFrameOfReferenceUID(),E={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Rr(f),enabledElement:i,viewUp:Rr(g),FrameOfReferenceUID:w,referencedImageId:s,toolName:e.getToolName(),volumeId:u,spacingInNormal:p},data:{label:"",startSlice:h,endSlice:m,cachedStats:{projectionPoints:[],projectionPointsImageIds:[s]},handles:{textBox:{hasMoved:!1,worldPosition:null,worldBoundingBox:null},points:[Rr(a),Rr(a),Rr(a),Rr(a)],activeHandleIndex:null},labelmapUID:null}};e._computeProjectionPoints(E,d),Qe(E,o);var y=Ws(o,e.getToolName());return e.editData={annotation:E,viewportIdsToRender:y,handleIndex:3,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(c,y),E})),te(ua(e),"renderAnnotation",(function(t,n){var r=!1,o=t.viewport,a=$e(e.getToolName(),o.element);if(null==a||!a.length)return r;for(var i=o.getCurrentImageIdIndex(),l={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},c=0;c<a.length;c++){var s=a[c],d=s.annotationUID,u=s.data,v=u.startSlice,f=u.endSlice,g=u.handles,h=g.points,p=g.activeHandleIndex,m=h.map((function(e){return o.worldToCanvas(e)}));l.annotationUID=d;var w=e.getStyle("lineWidth",l,s),E=e.getStyle("lineDash",l,s),y=e.getStyle("color",l,s);if(!(i<Math.min(v,f)||i>Math.max(v,f))){s.invalidated&&e._throttledCalculateCachedStats(s,t);var I=!1;if(i!==v&&i!==f||(I=!0),!o.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),r;var b=void 0;if(Me(d)){ce(s)||e.editData||null===p||!I||(b=[m[p]]),b&&Pc(n,d,"0",b,{color:y});var C=E;I||(C=2),Wc(n,d,"0",m[0],m[3],{color:y,lineDash:C,lineWidth:w}),r=!0}}}return r})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStatsTool,100,{trailing:!0}),e}return Q(o,[{key:"_computeProjectionPoints",value:function(e,t){var n=e.data,r=e.metadata,o=r.viewPlaneNormal,a=r.spacingInNormal,i=t.imageData,l=n.startSlice,c=n.endSlice,s=n.handles.points,d=yd(i,s[0]);if(d[2]!==l)throw new Error("Start slice does not match");var u=gc.vec3.fromValues(d[0],d[1],c),v=gc.vec3.create();i.indexToWorldVec3(d,v);var f=gc.vec3.create();i.indexToWorldVec3(u,f);for(var g=gc.vec3.distance(v,f),h=[],p=function(e){h.push(s.map((function(t){var n=gc.vec3.create();return gc.vec3.scaleAndAdd(n,t,o,e),Array.from(n)})))},m=0;m<g;m+=a)p(m);n.cachedStats.projectionPoints=h;for(var w=[],E=0,y=h;E<y.length;E++){var I=y[E],b=K.utilities.getClosestImageId(t,I[0],o);w.push(b)}n.cachedStats.projectionPointsImageIds=w}},{key:"_calculateCachedStatsTool",value:function(e,t){var n=e.data,r=t.viewportId,o=t.renderingEngineId,a=t.viewport,i=n.cachedStats,l=this.getTargetId(a),c=K.cache.getVolume(l.split("volumeId:")[1]);this._computeProjectionPoints(e,c),e.invalidated=!1;var s=X.ANNOTATION_MODIFIED,d={annotation:e,viewportId:r,renderingEngineId:o};return(0,K.triggerEvent)(K.eventTarget,s,d),i}},{key:"_getEndSliceIndex",value:function(e,t,n,r){var o=this.configuration.numSlicesToPropagate,a=gc.vec3.create();gc.vec3.scaleAndAdd(a,t,r,o*n);for(var i,l=n/2,c=e.imageIds,s=0;s<c.length;s++){var d=c[s],u=K.metaData.get("imagePlaneModule",d).imagePositionPatient,v=gc.vec3.create();gc.vec3.sub(v,a,u);var f=gc.vec3.dot(v,r);Math.abs(f)<l&&(i=s)}return i}}]),o}(md);te(Id,"toolName",void 0),Id.toolName="RectangleROIStartEndThreshold";var bd=Id,Cd=function(e,t){var n=e.findIndex((function(e){var t=it(e,2);return t[0]===t[1]}));if(-1===n)throw new Error("3D bounding boxes not supported in an oblique plane");return e[n][0]-=t,e[n][1]+=t,e},_d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=[];return e.forEach((function(e){var o,a,i=e.data,l=i.handles.points,c=t.imageData,s=t.dimensions,d=l;if(null!==(o=i.cachedStats)&&void 0!==o&&o.projectionPoints){var u,v=i.cachedStats.projectionPoints;d=(u=[]).concat.apply(u,Rr(v))}var f=d.map((function(e){return K.utilities.transformWorldToIndex(c,e)})),g=Qc(f,s);!n.numSlicesToProject||null!==(a=i.cachedStats)&&void 0!==a&&a.projectionPoints||(g=Cd(g,n.numSlicesToProject)),r.push(g)})),1===r.length?r[0]:r.reduce((function(e,t){return{iMin:Math.min(e.iMin,t.iMin),jMin:Math.min(e.jMin,t.jMin),kMin:Math.min(e.kMin,t.kMin),iMax:Math.max(e.iMax,t.iMax),jMax:Math.max(e.jMax,t.jMax),kMax:Math.max(e.kMax,t.kMax)}}),{iMin:1/0,jMin:1/0,kMin:1/0,iMax:-1/0,jMax:-1/0,kMax:-1/0})};function Td(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Od(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Dd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Od(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Od(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Sd=function(e,t,n,r){var o,a=e.map((function(e){return nt(e)}));!function(e){var t,n=[Ed.toolName,bd.toolName],r=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Td(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Td(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(e);try{for(r.s();!(t=r.n()).done;){var o=t.value.metadata.toolName;if(!n.includes(o))throw new Error("rectangleROIThresholdVolumeByRange only supports RectangleROIThreshold and RectangleROIStartEndThreshold annotations")}}catch(e){r.e(e)}finally{r.f()}}(a);for(var i=0;i<n.length;i++)n[i].volume.getScalarData().length!==t.getScalarData().length&&0!==i||(o=_d(a,n[i].volume,r));return Rs(t,n,Dd(Dd({},r),{},{boundsIJK:o}))},Md=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"mergedLabelmap";e.forEach((function(t){var n=t.direction,r=t.dimensions,o=t.origin,a=t.spacing;if(!(K.utilities.isEqual(r,e[0].dimensions)&&K.utilities.isEqual(n,e[0].direction)&&K.utilities.isEqual(a,e[0].spacing)&&K.utilities.isEqual(o,e[0].origin)))throw new Error("labelmaps must have the same size and shape")}));var r=e[0],o=new(0,r.getScalarData().constructor)(r.getScalarData().length);e.forEach((function(e){for(var n=e.getScalarData(),r=0;r<n.length;r++)n[r]===t&&(o[r]=t)}));var a={scalarData:o,metadata:r.metadata,spacing:r.spacing,origin:r.origin,direction:r.direction,dimensions:r.dimensions};return K.volumeLoader.createLocalVolume(a,n,!0)};function kd(e,t){if(e===dt.Labelmap)return function(e){return e&&"boolean"==typeof e.renderOutline&&"number"==typeof e.outlineWidthActive&&"number"==typeof e.outlineWidthInactive&&"boolean"==typeof e.renderFill&&"boolean"==typeof e.renderFillInactive&&"number"==typeof e.fillAlpha&&"number"==typeof e.fillAlphaInactive&&"number"==typeof e.outlineOpacity&&"number"==typeof e.outlineOpacityInactive}(t);throw new Error("Unknown representation type: ".concat(e))}function xd(e){var t=e.type;if(t===dt.Labelmap)return ft();throw new Error("Unknown representation type: ".concat(t))}function Pd(e){return Rd.apply(this,arguments)}function Rd(){return(Rd=Na(Ua().mark((function e(t){var n,r,o,a,i,l,c,s,d,u,v,f;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.viewportId,r=t.renderingEngineId,o=t.options,a=t.segmentationId,i=(0,K.getEnabledElementByIds)(n,r)){e.next=5;break}throw new Error("element disabled");case 5:if((l=i.viewport)instanceof K.VolumeViewport){e.next=8;break}throw new Error("Segmentation only supports VolumeViewport");case 8:if(c=l.getDefaultActor(),s=c.uid,void 0===a&&(a="".concat(s,"-based-segmentation-").concat(null!==(d=null==o?void 0:o.volumeId)&&void 0!==d?d:K.utilities.uuidv4().slice(0,8))),!o){e.next=16;break}return u=(0,ne._cloneDeep)(o),e.next=14,K.volumeLoader.createLocalVolume(u,a);case 14:e.next=19;break;case 16:return v=l.getDefaultActor(),f=v.uid,e.next=19,K.volumeLoader.createAndCacheDerivedVolume(f,{volumeId:a});case 19:return e.abrupt("return",a);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ad(e,t){return e===t}function Nd(e,t,n){return(new Array(n+1).join(t)+e).slice(-n)}var Ld=function(e,t){var n,r,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=a.onFlood,l=a.onBoundary,c=a.equals||Ad,s=a.diagonals||!1,d=p(t),u=function(e){for(var t=[],n=function(e){return e.split("").map((function(e){return parseInt(e,10)-1}))},r=0;r<Math.pow(3,e);r+=1){var o=Nd(r.toString(3),"0",e);t.push(n(o))}return t}(t.length).filter((function(e){var t=function(e){for(var t=0,n=0;n<e.length;n+=1)0!==e[n]&&(t+=1);return t}(e);return 0!==t&&(1===t||s)})),v=[],f=[],g={},h={};for(v.push({currentArgs:t});v.length>0;)n=v.pop(),r=void 0,o=void 0,r=n.currentArgs,o=n.previousArgs,!0!==g[r]&&(g[r]=!0,function(e){var t=m(p,[e]);return m(c,[t,d])}(r)?(function(e){f.push(e),i&&i.apply(void 0,Rr(e))}(r),function(e){for(var t=0;t<u.length;t+=1){for(var n=u[t],r=e.slice(0),o=0;o<e.length;o+=1)r[o]+=n[o];v.push({currentArgs:r,previousArgs:e})}}(r)):function(e){h[e]=e,l&&l.apply(void 0,Rr(e))}(o));return{flooded:f,boundaries:function(){var e=[];for(var t in h)void 0!==h[t]&&e.unshift(h[t]);return e}()};function p(t){return e.apply(void 0,Rr(t))}function m(e,t){try{return e.apply(void 0,Rr(t))}catch(e){return}}};function Ud(e,t,n){var r=da(e);if(void 0!==r){ks(e,n).forEach((function(e){e.configuration.brushSize=t,e.invalidateBrushCursor()}));var o=r.getViewportsInfo(),a=Object.keys(o).map((function(e){return o[e]}));if(a.length){var i=a[0].renderingEngineId,l=r.getViewportIds(),c=(0,K.getRenderingEngine)(i);ia(c,l)}}}function Vd(e,t){var n=da(e);if(void 0!==n){var r=n._toolInstances;if(Object.keys(r).length){var o=ks(e,t)[0];if(o)return o.configuration.brushSize}}}function Bd(e,t){var n=da(e);if(void 0!==n){ks(e).forEach((function(e){e.configuration.strategySpecificConfiguration.THRESHOLD_INSIDE_CIRCLE.threshold=t}));var r=n.getViewportsInfo();if(r.length){var o=r[0].renderingEngineId,a=n.getViewportIds(),i=(0,K.getRenderingEngine)(o);ia(i,a)}}}function jd(e){var t=da(e);if(void 0!==t){var n=t._toolInstances;if(Object.keys(n).length){var r=ks(e)[0];if(r)return r.configuration.strategySpecificConfiguration.THRESHOLD_INSIDE_CIRCLE.threshold}}}var Wd=function(e,t,n,r){var o=e.getScalarData(),a=Ps(e,n),i=a.baseVolumeIdx,l=a.volumeInfoList;return l.forEach((function(e){e.volumeSize===o.length?function(e,t,n){for(var r=n.referenceValues,o=n.lower,a=n.upper,i=0;i<e.length;i++)if(e[i]===t){var l=r[i];e[i]=l>=o&&l<=a?t:0}}(o,t,e):function(e,t,n,r,o,a){for(var i,l,c,s=n.imageData,d=n.lower,u=n.upper,v=n.dimensions,f=0;f<e.length;f++)if(e[f]===t){var g=xs(s,v,r[o].spacing,r[o].imageData.getPoint(f));i=0,l=0,c={lower:d,upper:u};var h;$c(s,(function(){return!0}),(function(e){var t=e.value;i+=1,t>=c.lower&&t<=c.upper&&(l+=1)}),g),h=0===a?l>0:l===i,e[f]=h?t:0}}(o,t,e,l,i,r)})),_t(e.volumeId),e},Hd=1e-6,Fd=1,Gd=0;function qd(e,t,n){var r=it(n,2),o=r[0],a=r[1];if(Math.abs(t)<Hd)return e<0;var i=e/t;if(t>0){if(i>a)return 0;i>o&&(n[0]=i)}else{if(i<o)return 0;i<a&&(n[1]=i)}return 1}function zd(e,t,n,r,o){var a=it(e,2),i=a[0],l=a[1],c=it(t,2),s=c[0]-i,d=c[1]-l;if(void 0===r||void 0===o?(r=e,o=t):(r[0]=e[0],r[1]=e[1],o[0]=t[0],o[1]=t[1]),Math.abs(s)<Hd&&Math.abs(d)<Hd&&i>=n[0]&&i<=n[2]&&l>=n[1]&&l<=n[3])return Fd;var u=[0,1];if(qd(n[0]-i,s,u)&&qd(i-n[2],-s,u)&&qd(n[1]-l,d,u)&&qd(l-n[3],-d,u)){var v=u[0],f=u[1];return f<1&&(o[0]=i+f*s,o[1]=l+f*d),v>0&&(r[0]+=v*s,r[1]+=v*d),Fd}return Gd}function Kd(e){return"number"==typeof e?e?e<0?-1:1:e==e?0:NaN:NaN}function Yd(e,t,n,r){var o=it(e,2),a=o[0],i=o[1],l=it(t,2),c=l[0],s=l[1],d=it(n,2),u=d[0],v=d[1],f=it(r,2),g=f[0],h=f[1],p=s-i,m=a-c,w=c*i-a*s,E=p*u+m*v+w,y=p*g+m*h+w;if(0===E||0===y||Kd(E)!==Kd(y)){var I=h-v,b=u-g,C=g*v-u*h,_=I*a+b*i+C,T=I*c+b*s+C;if(0===_||0===T||Kd(_)!==Kd(T)){var O=p*b-I*m;return[(m*C-b*w)/O,(I*w-p*C)/O]}}}function Xd(e,t,n){var r,o;arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(o=0,r=1):(o=e.length-1,r=0);for(var a=r;a<e.length;a++){if(Jd(t,n,e[o],e[a]))return[o,a];o=a}}function Zd(e,t,n){var r,o;arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(o=0,r=1):(o=e.length-1,r=0);for(var a=[],i=r;i<e.length;i++){var l=e[o],c=e[i];Jd(t,n,l,c)&&a.push([o,i]),o=i}if(0!==a.length){var s=[];a.forEach((function(n){var r=[e[n[0]],e[n[1]]],o=[(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2];s.push(gc.vec2.distance(o,t))}));var d=Math.min.apply(Math,s);return{segment:a[s.indexOf(d)],distance:d}}}function Jd(e,t,n,r){var o=!1,a=[$d(e,t,n),$d(e,t,r),$d(n,r,e),$d(n,r,t)];return a[0]!==a[1]&&a[2]!==a[3]||((0===a[0]&&Qd(e,n,t)||0===a[1]&&Qd(e,r,t)||0===a[2]&&Qd(n,e,r)||0===a[3]&&Qd(n,t,r))&&(o=!0),o)}function $d(e,t,n){var r=(t[1]-e[1])*(n[0]-t[0])-(t[0]-e[0])*(n[1]-t[1]);return 0===r?0:r>0?1:2}function Qd(e,t,n){return t[0]<=Math.max(e[0],n[0])&&t[0]>=Math.min(e[0],n[0])&&t[1]<=Math.max(e[1],n[1])&&t[1]>=Math.min(e[1],n[1])}function eu(e,t,n,r){var o=(r[1]-n[1])*(t[0]-e[0])-(r[0]-n[0])*(t[1]-e[1]);if(0!=o){var a=e[1]-n[1],i=e[0]-n[0],l=(r[0]-n[0])*a-(r[1]-n[1])*i,c=(t[0]-e[0])*a-(t[1]-e[1])*i;return a=l/o,i=c/o,[e[0]+a*(t[0]-e[0]),e[1]+a*(t[1]-e[1])]}}var tu=.001,nu=function(e,t){var n,r,o;if(e instanceof K.StackViewport){var a=e.getImageData();r=a.direction.slice(0,3),o=a.direction.slice(3,6),n=a.spacing}else{var i=e.getImageData(),l=i.direction,c=i.spacing,s=e.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=l.slice(0,3),f=l.slice(3,6),g=l.slice(6,9),h=gc.vec3.create();gc.vec3.cross(h,u,d);var p,m=Math.abs(gc.vec3.dot(h,v)),w=Math.abs(gc.vec3.dot(h,f)),E=Math.abs(gc.vec3.dot(h,g));if(Math.abs(1-m)<tu)p=c[0],r=v;else if(Math.abs(1-w)<tu)p=c[1],r=f;else{if(!(Math.abs(1-E)<tu))throw new Error("No support yet for oblique plane planar contours");p=c[2],r=g}var y,I=Math.abs(gc.vec3.dot(u,v)),b=Math.abs(gc.vec3.dot(u,f)),C=Math.abs(gc.vec3.dot(u,g));if(Math.abs(1-I)<tu)y=c[0],o=v;else if(Math.abs(1-b)<tu)y=c[1],o=f;else{if(!(Math.abs(1-C)<tu))throw new Error("No support yet for oblique plane planar contours");y=c[2],o=g}n=[p,y]}return{spacing:[n[0]/t,n[1]/t],xDir:r,yDir:o}},ru=function(e,t,n){return gc.vec2.dist(e,t)<n},ou=function(e,t,n,r){var o=r.xDir,a=r.yDir,i=r.spacing,l=(0,K.getEnabledElement)(e).viewport,c=l.canvasToWorld(t[t.length-1]),s=l.canvasToWorld(n),d=gc.vec3.create();gc.vec3.subtract(d,s,c);var u=Math.abs(gc.vec3.dot(d,o)),v=Math.abs(gc.vec3.dot(d,a)),f=Math.max(Math.floor(u/i[0]),Math.floor(v/i[0]));if(f>1){var g=t[t.length-1],h=gc.vec2.dist(g,n),p=gc.vec2.create();gc.vec2.subtract(p,n,g),gc.vec2.set(p,p[0]/h,p[1]/h);for(var m=h/f,w=1;w<=f;w++)t.push([g[0]+m*p[0]*w,g[1]+m*p[1]*w])}else t.push(n);return f},au=function(e,t,n,r){var o=[e[0]-t[0],e[1]-t[1]],a=[n[0]-t[0],n[1]-t[1]],i=o[0]*a[0]+o[1]*a[1];if(i<0)return!1;var l=Math.sqrt(a[0]*a[0]+a[1]*a[1]);if(0===l)return!1;var c=i/l,s=[a[0]/l,a[1]/l],d=[s[0]*c,s[1]*c],u=[t[0]+d[0],t[1]+d[1]];return!(gc.vec2.distance(e,u)>r||gc.vec2.distance(t,u)>gc.vec2.distance(t,n))};function iu(e){for(var t=e.length,n=0,r=t-1,o=0;o<t;o++)n+=(e[r][0]+e[o][0])*(e[r][1]-e[o][1]),r=o;return Math.abs(n/2)}function lu(e,t){if(2!==(null==e?void 0:e.length)||2!==(null==t?void 0:t.length))throw Error("points should have 2 elements of [x, y]");var n=it(e,2),r=n[0],o=n[1],a=it(t,2),i=a[0],l=a[1];return Math.sqrt(Math.pow(r-i,2)+Math.pow(o-l,2))}var cu=E(807),su=E.n(cu);function du(e,t,n,r){var o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.25,i=e.getCamera(),l=i.position,c=K.utilities.getTargetVolumeAndSpacingInNormalDir(e,i,n).spacingInNormalDirection*a,s=e.getBounds(),d=s[0],u=s[1],v=[0,0,0],f=[0,0,0];su().subtract(t,l,v);for(var g=d;g<=u;g+=c){f=[g,0,0];var h=(g-l[0])/v[0];if(f[1]=h*v[1]+l[1],f[2]=h*v[2]+l[2],uu(f,s)){var p=r(e.getIntensityFromWorld(f),f);p&&(o=p)}}return o}var uu=function(e,t){var n=it(t,6),r=n[0],o=n[1],a=n[2],i=n[3],l=n[4],c=n[5];return e[0]>r&&e[0]<o&&e[1]>a&&e[1]<i&&e[2]>l&&e[2]<c},vu={filterAnnotationsWithinSlice:Gs,getWorldWidthAndHeightFromCorners:cd,filterAnnotationsForDisplay:qs,getPointInLineOfSightWithCriteria:du};function fu(e){for(var t="",n=e[0]<0?"R":"L",r=e[1]<0?"A":"P",o=e[2]<0?"F":"H",a=[Math.abs(e[0]),Math.abs(e[1]),Math.abs(e[2])],i=1e-4,l=0;l<3;l++)if(a[0]>i&&a[0]>a[1]&&a[0]>a[2])t+=n,a[0]=0;else if(a[1]>i&&a[1]>a[0]&&a[1]>a[2])t+=r,a[1]=0;else if(a[2]>i&&a[2]>a[0]&&a[2]>a[1])t+=o,a[2]=0;else if(a[0]>i&&a[1]>i&&a[0]===a[1])t+=n+r,a[0]=0,a[1]=0;else if(a[0]>i&&a[2]>i&&a[0]===a[2])t+=n+o,a[0]=0,a[2]=0;else{if(!(a[1]>i&&a[2]>i&&a[1]===a[2]))break;t+=r+o,a[1]=0,a[2]=0}return t}function gu(e){var t=e.replace("H","f");return(t=(t=(t=(t=(t=t.replace("F","h")).replace("R","l")).replace("L","r")).replace("A","p")).replace("P","a")).toUpperCase()}var hu=function(e){return e.CLIP_STOPPED="CORNERSTONE_CINE_TOOL_STOPPED",e.CLIP_STARTED="CORNERSTONE_CINE_TOOL_STARTED",e}(hu||{}),pu=hu,mu={};function wu(e,t){var n=(0,K.getEnabledElement)(e).viewportId;mu[n]=t}function Eu(e){var t=(0,K.getEnabledElement)(e).viewportId;return mu[t]}var yu=K.Enums.ViewportStatus,Iu=K.utilities.triggerEvent,bu=!0,Cu=!0,_u=new Map;function Tu(e,t){var n,r,o;if(void 0===e)throw new Error("playClip: element must not be undefined");var a=(0,K.getEnabledElement)(e);if(!a)throw new Error("playClip: element must be a valid Cornerstone enabled element");t.dynamicCineEnabled=null===(n=t.dynamicCineEnabled)||void 0===n||n;var i,l,c,s,d=a.viewport,u=Mu(d),v=function(e,t){var n;if(e instanceof K.StackViewport)return function(e,t){var n=e.getImageIds();return{get numScrollSteps(){return n.length},get currentStepIndex(){return e.getTargetImageIdIndex()},get frameTimeVectorEnabled(){return!0},waitForRenderedCount:0,scroll:function(n){this.waitForRenderedCount<=t&&e.viewportStatus!==yu.RENDERED?this.waitForRenderedCount++:(this.waitForRenderedCount=0,pc(e,{delta:n,debounceLoading:bu}))}}}(e,null!==(n=t.waitForRendered)&&void 0!==n?n:30);if(e instanceof K.VolumeViewport){var r=Mu(e);return t.dynamicCineEnabled&&null!=r&&r.isDynamicVolume()?function(e){return{get numScrollSteps(){return e.numTimePoints},get currentStepIndex(){return e.timePointIndex},get frameTimeVectorEnabled(){return!1},scroll:function(t){e.timePointIndex+=t}}}(r):function(e,t){var n=t.volumeId,r={viewPlaneNormal:gc.vec3.create(),scrollInfo:null},o=function(){var t=e.getCamera();if(!r.scrollInfo||!gc.vec3.equals(t.viewPlaneNormal,r.viewPlaneNormal)){var o=K.utilities.getVolumeViewportScrollInfo(e,n);r.viewPlaneNormal=t.viewPlaneNormal,r.scrollInfo=o}return r.scrollInfo};return{get numScrollSteps(){return o().numScrollSteps},get currentStepIndex(){return o().currentStepIndex},get frameTimeVectorEnabled(){var n=e.getCamera(),r=t.direction.slice(6,9).map((function(e){return-e})),o=gc.vec3.dot(r,n.viewPlaneNormal);return gc.glMatrix.equals(o,1)},scroll:function(t){o().currentStepIndex+=t,pc(e,{delta:t})}}}(e,r)}throw new Error("Unknown viewport type")}(d,t),f=Eu(e),g=t.dynamicCineEnabled&&(null==u?void 0:u.isDynamicVolume());if(g&&Su(e),f?Du(e,g):(f={intervalId:void 0,framesPerSecond:30,lastFrameTimeStamp:void 0,ignoreFrameTimeVector:!1,usingFrameTimeVector:!1,frameTimeVector:null!==(i=t.frameTimeVector)&&void 0!==i?i:void 0,speed:null!==(l=t.frameTimeVectorSpeedMultiplier)&&void 0!==l?l:1,reverse:null!==(c=t.reverse)&&void 0!==c&&c,loop:null===(s=t.loop)||void 0===s||s},wu(e,f)),f.dynamicCineEnabled=t.dynamicCineEnabled,(t.framesPerSecond<0||t.framesPerSecond>0)&&(f.framesPerSecond=Number(t.framesPerSecond),f.reverse=f.framesPerSecond<0,f.ignoreFrameTimeVector=!0),!0!==f.ignoreFrameTimeVector&&f.frameTimeVector&&f.frameTimeVector.length===v.numScrollSteps&&v.frameTimeVectorEnabled){var h=function(e,t){var n,r,o,a=0,i=e.length,l=[],c=!1;for(("number"!=typeof t||t<=0)&&(t=1),n=1;n<i;n++)o=Number(e[n])/t|0,l.push(o),1===n?r=o:o!==r&&(c=!0),a+=o;return l.length>0&&(o=c?a/l.length|0:l[0],l.push(o)),{timeouts:l,isTimeVarying:c}}(f.frameTimeVector,f.speed),p=h.timeouts,m=h.isTimeVarying;r=p,o=m}var w=function(){var t=v.numScrollSteps,n=v.currentStepIndex,r=n+(f.reverse?-1:1);if(Cu||!(r<0||r>=t)){r>=t?r=0:r<0&&(r=t-1);var o=r-n;o&&v.scroll(o)}else{Du(e,g);var a={element:e};Iu(e,pu.CLIP_STOPPED,a)}};g&&_u.set(u.volumeId,e),r&&r.length>0&&o?(f.usingFrameTimeVector=!0,f.intervalId=window.setTimeout((function e(){f.intervalId=window.setTimeout(e,r[v.currentStepIndex]),w()}),0)):(f.usingFrameTimeVector=!1,f.intervalId=window.setInterval(w,1e3/Math.abs(f.framesPerSecond)));var E={element:e};Iu(e,pu.CLIP_STARTED,E)}function Ou(e){Du(e,!0)}function Du(e,t){var n=(0,K.getEnabledElement)(e);if(n){var r,o,a=n.viewport,i=Eu(a.element);i&&void 0!==(o=(r=i).intervalId)&&(r.intervalId=void 0,r.usingFrameTimeVector?clearTimeout(o):clearInterval(o)),t&&a instanceof K.BaseVolumeViewport&&Su(e)}}function Su(e){var t=Mu((0,K.getEnabledElement)(e).viewport);if(null!=t&&t.isDynamicVolume()){var n=_u.get(t.volumeId);_u.delete(t.volumeId),n&&n!==e&&Ou(n)}}function Mu(e){var t=function(e){return e.getActors().map((function(e){return K.cache.getVolume(e.uid)})).filter((function(e){return!!e}))}(e),n=t.find((function(e){return e.isDynamicVolume()}));return null!=n?n:t[0]}function ku(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),o=e[r],a=e[r+1],i=r>0?e[r-1]:2*o-a,l=r<t-1?e[r+2]:2*a-o;return function(e,t,n,r,o){var a=e*e,i=a*e;return((1-3*e+3*a-i)*t+(4-6*a+3*i)*n+(1+3*e+3*a-3*i)*r+i*o)/6}((n-r/t)*t,i,o,a,l)}}function xu(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}function Pu(e){return e.length}function Ru(){return function(e){if(!(o=e.length))return[];for(var t=-1,n=function(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let o of e)null!=(o=t(o,++r,e))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}(e,Pu),r=new Array(n);++t<n;)for(var o,a=-1,i=r[t]=new Array(o);++a<o;)i[a]=e[a][t];return r}(arguments)}function Au(e,t,n,r){var o,a,i=n-t+1,l=null!==(o=Math.floor(r/100*i))&&void 0!==o?o:1,c=null!==(a=Math.floor(i/l))&&void 0!==a?a:1;if(isNaN(i)||!i||!c)return e;if(i/c<2)return e;var s=Math.max(0,t),d=Math.min(e.length-1,n),u=e.slice(0,s),v=e.slice(d+1,e.length),f=function(e,t){if(!t||0===t.length||t.length===e.length)return e;var n,r=t[t.length-1]-t[0]+1,o=ku(t.map((function(t){return e[t][0]}))),a=ku(t.map((function(t){return e[t][1]})));if(3===(null===(n=e[0])||void 0===n?void 0:n.length)){var i=ku(t.map((function(t){return e[t][2]})));return Ru(xu(o,r),xu(a,r),xu(i,r))}return Ru(xu(o,r),xu(a,r))}(e,function(e,t){for(var n=[],r=it(t,2),o=r[0],a=r[1],i=a-o+1,l=Math.floor(i/e),c=0,s=Math.round((i-1)/(l-1)*c)+o;s<=a;)n.push(s),c++,s=Math.round((i-1)/(l-1)*c)+o;return n}(c,[s,d]));return[].concat(Rr(u),Rr(f),Rr(v))}function Nu(e){var t,n;return!0===(null==e||null===(t=e.interpolation)||void 0===t?void 0:t.interpolateOnAdd)||!0===(null==e||null===(n=e.interpolation)||void 0===n?void 0:n.interpolateOnEdit)}function Lu(e,t,n){return(e+t+n)%t}function Uu(e,t,n,r){var o=it(e,3),a=o[1],i=o[2],l=it(t,3),c=l[1],s=l[2],d=i.length,u=s.length,v=e[0],f=t[0];if(!(i[v]&&s[f]&&i[a]&&s[c]))return[void 0,void 0];for(;v!==a&&f!==c;){if(n(s[f],i[v]))return[v,f];v=Lu(v,d,r),f=Lu(f,u,r)}return[void 0,void 0]}function Vu(e,t,n){var r=e.interpolation,o=t;if(r){var a=r.knotsRatioPercentageOnAdd,i=r.knotsRatioPercentageOnEdit,l=r.interpolateOnAdd,c=void 0!==l&&l,s=r.interpolateOnEdit,d=n?i:a;if(n?void 0!==s&&s:c){var u=it(n?function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++)for(var r=0;r<t.length;r++)if(0===lu(e[n],t[r]))return[n,r]}(e,t)||[],r=it(n,2),o=r[0],a=r[1],i=function(e,t){return!1===function(e,t){return lu(e,t)<.001}(e,t)},l=it(Uu([Lu(o,e.length,1),o,e],[Lu(a,t.length,1),a,t],i,1),2),c=l[0],s=l[1];return[c,it(Uu([Lu(c,e.length,-1),c,e],[Lu(s,t.length,-1),s,t],i,-1),1)[0]]}(t,n):[0,t.length-1],2),v=u[0],f=u[1];return t[v]&&t[f]?Au(t,v,f,d):t}}return o}function Bu(e,t){var n=e[0],r=e[e.length-1],o=gc.vec2.create();gc.vec2.set(o,r[0]-n[0],r[1]-n[1]),gc.vec2.normalize(o,o);var a=gc.vec2.create(),i=gc.vec2.create();gc.vec2.set(a,-o[1],o[0]),gc.vec2.set(i,o[1],-o[0]);for(var l=[(n[0]+r[0])/2,(n[1]+r[1])/2],c={dist:0,index:null},s=0;s<e.length;s++){var d=e[s],u=gc.vec2.dist(d,l);u>c.dist&&(c.dist=u,c.index=s)}return[e[c.index],l].map(t.canvasToWorld)}var ju=ou,Wu=ru,Hu=Xd,Fu=nu;function Gu(e,t,n){this.isDrawing=!0;var r=e.detail,o=r.currentPoints,a=r.element,i=o.canvas,l=(0,K.getEnabledElement)(a).viewport,c=Fu(l,this.configuration.subPixelResolution),s=c.spacing,d=c.xDir,u=c.yDir;this.drawData={canvasPoints:[i],polylineIndex:0},this.commonData={annotation:t,viewportIdsToRender:n,spacing:s,xDir:d,yDir:u,movingTextBox:!1},Fe.isInteractingWithTool=!0,a.addEventListener(X.MOUSE_UP,this.mouseUpDrawCallback),a.addEventListener(X.MOUSE_DRAG,this.mouseDragDrawCallback),a.addEventListener(X.MOUSE_CLICK,this.mouseUpDrawCallback),a.addEventListener(X.TOUCH_END,this.mouseUpDrawCallback),a.addEventListener(X.TOUCH_DRAG,this.mouseDragDrawCallback),a.addEventListener(X.TOUCH_TAP,this.mouseUpDrawCallback),Jl(a)}function qu(e){Fe.isInteractingWithTool=!1,e.removeEventListener(X.MOUSE_UP,this.mouseUpDrawCallback),e.removeEventListener(X.MOUSE_DRAG,this.mouseDragDrawCallback),e.removeEventListener(X.MOUSE_CLICK,this.mouseUpDrawCallback),e.removeEventListener(X.TOUCH_END,this.mouseUpDrawCallback),e.removeEventListener(X.TOUCH_DRAG,this.mouseDragDrawCallback),e.removeEventListener(X.TOUCH_TAP,this.mouseUpDrawCallback),Zl(e)}function zu(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=n.canvas,i=(0,K.getEnabledElement)(r),l=i.renderingEngine,c=i.viewport,s=this.commonData,d=s.annotation,u=s.viewportIdsToRender,v=s.xDir,f=s.yDir,g=s.spacing,h=s.movingTextBox,p=this.drawData,m=p.polylineIndex,w=p.canvasPoints,E=w[w.length-1],y=c.canvasToWorld(E),I=gc.vec3.create();gc.vec3.subtract(I,o,y);var b=Math.abs(gc.vec3.dot(I,v)),C=Math.abs(gc.vec3.dot(I,f));if(!(b<=g[0]&&C<=g[1])){if(h){this.isDrawing=!1;var _=t.deltaPoints.world,T=d.data.handles.textBox,O=T.worldPosition;O[0]+=_[0],O[1]+=_[1],O[2]+=_[2],T.hasMoved=!0}else{var D=this.findCrossingIndexDuringCreate(e);if(void 0!==D)this.applyCreateOnCross(e,D);else{var S=ju(r,w,a,this.commonData);this.drawData.polylineIndex=m+S}}ia(l,u)}}function Ku(e){var t=this.configuration.allowOpenContours,n=this.drawData.canvasPoints,r=n[0],o=n[n.length-1],a=e.detail.element;t&&!Wu(r,o,this.configuration.closeContourProximity)?this.completeDrawOpenContour(a):this.completeDrawClosedContour(a)}function Yu(e){this.removeCrossedLinesOnCompleteDraw();var t=this.drawData.canvasPoints;if(this.haltDrawing(e,t))return!1;var n=this.commonData,r=n.annotation,o=n.viewportIdsToRender,a=(0,K.getEnabledElement)(e),i=a.viewport,l=a.renderingEngine;ju(e,t,t[0],this.commonData),t.pop();var c=(Nu(this.configuration)?Vu(this.configuration,t):t).map((function(e){return i.canvasToWorld(e)}));return r.data.polyline=c,r.data.isOpenContour=!1,r.data.handles.textBox.hasMoved||this.triggerAnnotationCompleted(r),this.isDrawing=!1,this.drawData=void 0,this.commonData=void 0,ia(l,o),this.deactivateDraw(e),!0}function Xu(){var e=this.drawData.canvasPoints,t=e.length,n=[e[0],e[t-1]],r=e.slice(0,-1).slice(1),o=Hu(r,n[0],n[1],!1);if(o){var a=o[1];this.drawData.canvasPoints=e.splice(0,a)}}function Zu(e){var t=this.drawData.canvasPoints;if(this.haltDrawing(e,t))return!1;var n=this.commonData,r=n.annotation,o=n.viewportIdsToRender,a=(0,K.getEnabledElement)(e),i=a.viewport,l=a.renderingEngine,c=(Nu(this.configuration)?Vu(this.configuration,t):t).map((function(e){return i.canvasToWorld(e)}));r.data.polyline=c,r.data.isOpenContour=!0;var s=r.data.handles.textBox;return r.data.handles.points=[c[0],c[c.length-1]],r.data.isOpenUShapeContour&&(r.data.openUShapeContourVectorToPeak=Bu(t,i)),s.hasMoved||this.triggerAnnotationCompleted(r),this.isDrawing=!1,this.drawData=void 0,this.commonData=void 0,ia(l,o),this.deactivateDraw(e),!0}function Ju(e){var t=e.detail,n=t.currentPoints,r=t.lastPoints,o=n.canvas,a=r.canvas,i=this.drawData.canvasPoints.slice(0,-1),l=Hu(i,o,a,!1);if(void 0!==l)return l[0]}function $u(e,t){var n=e.detail.element,r=this.drawData.canvasPoints,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender;ju(n,r,r[t],this.commonData),r.pop();for(var l=0;l<t;l++)r.shift();this.completeDrawClosedContour(n)&&this.activateClosedContourEdit(e,a,i)}function Qu(e){var t=this.configuration.allowOpenContours,n=this.drawData.canvasPoints,r=n[0],o=n[n.length-1];t&&!Wu(r,o,this.configuration.closeContourProximity)?this.completeDrawOpenContour(e):this.completeDrawClosedContour(e)}function ev(e,t){if(function(e,t){var n=Math.max(3*t,3);return e.length<n}(t,this.configuration.subPixelResolution)){var n=this.commonData,r=n.annotation,o=n.viewportIdsToRender,a=(0,K.getEnabledElement)(e).renderingEngine;return tt(r.annotationUID),this.isDrawing=!1,this.drawData=void 0,this.commonData=void 0,ia(a,o),this.deactivateDraw(e),!0}return!1}var tv=function(e){e.activateDraw=Gu.bind(e),e.deactivateDraw=qu.bind(e),e.applyCreateOnCross=$u.bind(e),e.findCrossingIndexDuringCreate=Ju.bind(e),e.completeDrawOpenContour=Zu.bind(e),e.removeCrossedLinesOnCompleteDraw=Xu.bind(e),e.mouseDragDrawCallback=zu.bind(e),e.mouseUpDrawCallback=Ku.bind(e),e.completeDrawClosedContour=Yu.bind(e),e.cancelDrawing=Qu.bind(e),e.haltDrawing=ev.bind(e)},nv=ou,rv=Xd;function ov(e,t){var n=e.detail,r=n.element,o=n.currentPoints,a=n.lastPoints,i=o.canvas,l=a.canvas,c=this.editData,s=c.editCanvasPoints,d=c.prevCanvasPoints,u=rv(d,i,l,t);if(u)this.editData.startCrossingIndex=u[0],this.removePointsUpUntilFirstCrossing(t);else if(d.length>=2)if(s.length>this.configuration.checkCanvasEditFallbackProximity){for(var v=s[0],f=[],g=0;g<d.length;g++){var h=d[g],p=gc.vec2.distance(h,v);f.push({distance:p,index:g})}f.sort((function(e,t){return e.distance-t.distance}));var m=[f[0],f[1]],w=Math.min(m[0].index,m[1].index);this.editData.startCrossingIndex=w}else{var E=gc.vec2.create();gc.vec2.subtract(E,s[1],s[0]),gc.vec2.normalize(E,E);var y=[s[0][0]-6*E[0],s[0][1]-6*E[1]],I=rv(d,y,s[0],t);if(I){var b=[y];nv(r,b,s[0],this.commonData),s.unshift.apply(s,b),this.removePointsUpUntilFirstCrossing(t),this.editData.editIndex=s.length-1,this.editData.startCrossingIndex=I[0]}}}function av(e){for(var t=this.editData,n=t.editCanvasPoints,r=t.prevCanvasPoints,o=0,a=0;a<n.length-1;a++){var i=[n[a],n[a+1]];if(o++,rv(r,i[0],i[1],e))break}n.splice(0,o),this.editData.editIndex=n.length-1}function iv(e,t){var n=e.detail,r=n.currentPoints,o=n.lastPoints,a=r.canvas,i=o.canvas,l=this.editData.prevCanvasPoints;return!!rv(l,a,i,t)}function lv(e){for(var t=this.editData,n=t.prevCanvasPoints,r=t.editCanvasPoints,o=r.length-1;o>0;o--){var a=[r[o],r[o-1]],i=!!rv(n,a[0],a[1],e);if(r.pop(),i)break}}function cv(){var e=this.editData,t=e.editCanvasPoints,n=e.prevCanvasPoints;if(void 0!==e.startCrossingIndex){for(var r=t[t.length-1],o=[],a=0;a<n.length;a++){var i=n[a],l=gc.vec2.distance(i,r);o.push({distance:l,index:a})}o.sort((function(e,t){return e.distance-t.distance}));for(var c=t.slice(0,-1),s=0;s<o.length;s++){var d=o[s].index,u=n[d],v=t[t.length-1];if(!rv(c,u,v,!1))return d}return-1}}function sv(e){var t=e.detail,n=t.currentPoints,r=t.lastPoints,o=n.canvas,a=r.canvas,i=this.editData.editCanvasPoints,l=i.slice(0,-2),c=rv(l,o,a,!1);if(c)for(var s=c[0],d=i.length-s,u=0;u<d;u++)i.pop()}var dv=function(e){e.checkForFirstCrossing=ov.bind(e),e.removePointsUpUntilFirstCrossing=av.bind(e),e.checkForSecondCrossing=iv.bind(e),e.findSnapIndex=cv.bind(e),e.removePointsAfterSecondCrossing=lv.bind(e),e.checkAndRemoveCrossesOnEditLine=sv.bind(e)},uv=nu,vv=ou,fv=iu;function gv(e,t,n){this.isEditingClosed=!0;var r=e.detail,o=r.currentPoints,a=r.element,i=o.canvas,l=(0,K.getEnabledElement)(a).viewport,c=t.data.polyline.map(l.worldToCanvas),s=uv(l,this.configuration.subPixelResolution),d=s.spacing,u=s.xDir,v=s.yDir;this.editData={prevCanvasPoints:c,editCanvasPoints:[i],startCrossingIndex:void 0,editIndex:0},this.commonData={annotation:t,viewportIdsToRender:n,spacing:d,xDir:u,yDir:v,movingTextBox:!1},Fe.isInteractingWithTool=!0,a.addEventListener(X.MOUSE_UP,this.mouseUpClosedContourEditCallback),a.addEventListener(X.MOUSE_DRAG,this.mouseDragClosedContourEditCallback),a.addEventListener(X.MOUSE_CLICK,this.mouseUpClosedContourEditCallback),a.addEventListener(X.TOUCH_END,this.mouseUpClosedContourEditCallback),a.addEventListener(X.TOUCH_DRAG,this.mouseDragClosedContourEditCallback),a.addEventListener(X.TOUCH_TAP,this.mouseUpClosedContourEditCallback),Jl(a)}function hv(e){Fe.isInteractingWithTool=!1,e.removeEventListener(X.MOUSE_UP,this.mouseUpClosedContourEditCallback),e.removeEventListener(X.MOUSE_DRAG,this.mouseDragClosedContourEditCallback),e.removeEventListener(X.MOUSE_CLICK,this.mouseUpClosedContourEditCallback),e.removeEventListener(X.TOUCH_END,this.mouseUpClosedContourEditCallback),e.removeEventListener(X.TOUCH_DRAG,this.mouseDragClosedContourEditCallback),e.removeEventListener(X.TOUCH_TAP,this.mouseUpClosedContourEditCallback),Zl(e)}function pv(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=n.canvas,i=(0,K.getEnabledElement)(r),l=i.renderingEngine,c=i.viewport,s=this.commonData,d=s.viewportIdsToRender,u=s.xDir,v=s.yDir,f=s.spacing,g=this.editData,h=g.editIndex,p=g.editCanvasPoints,m=g.startCrossingIndex,w=p[p.length-1],E=c.canvasToWorld(w),y=gc.vec3.create();gc.vec3.subtract(y,o,E);var I=Math.abs(gc.vec3.dot(y,u)),b=Math.abs(gc.vec3.dot(y,v));if(!(I<=f[0]&&b<=f[1])){void 0!==m&&this.checkAndRemoveCrossesOnEditLine(e);var C=h+vv(r,p,a,this.commonData);this.editData.editIndex=C,void 0===m&&p.length>1&&this.checkForFirstCrossing(e,!0),this.editData.snapIndex=this.findSnapIndex(),-1!==this.editData.snapIndex?(this.editData.fusedCanvasPoints=this.fuseEditPointsWithClosedContour(e),void 0!==m&&this.checkForSecondCrossing(e,!0)&&(this.removePointsAfterSecondCrossing(!0),this.finishEditAndStartNewEdit(e)),ia(l,d)):this.finishEditAndStartNewEdit(e)}}function mv(e){var t=e.detail.element,n=(0,K.getEnabledElement)(t),r=n.viewport,o=n.renderingEngine,a=this.commonData,i=a.annotation,l=a.viewportIdsToRender,c=this.editData,s=c.fusedCanvasPoints,d=c.editCanvasPoints,u=s.map((function(e){return r.canvasToWorld(e)}));i.data.polyline=u,i.data.isOpenContour=!1,this.triggerAnnotationModified(i,n);var v=d.pop();this.editData={prevCanvasPoints:s,editCanvasPoints:[v],startCrossingIndex:void 0,editIndex:0,snapIndex:void 0},ia(o,l)}function wv(e){var t=this.editData,n=t.prevCanvasPoints,r=t.editCanvasPoints,o=t.startCrossingIndex,a=t.snapIndex;if(void 0!==o&&void 0!==a){var i,l,c=e.detail.element,s=Rr(r);vv(c,s,n[a],this.commonData),s.length>r.length&&s.pop(),o>a?(i=a,l=o):(i=o,l=a);for(var d=gc.vec2.distance(n[i],s[0]),u=gc.vec2.distance(n[i],s[s.length-1]),v=gc.vec2.distance(n[l],s[0]),f=gc.vec2.distance(n[l],s[s.length-1]),g=[],h=0;h<i;h++){var p=n[h];g.push([p[0],p[1]])}var m=d+f,w=u+v;if(m<w)for(var E=0;E<s.length;E++){var y=s[E];g.push([y[0],y[1]])}else for(var I=s.length-1;I>=0;I--){var b=s[I];g.push([b[0],b[1]])}for(var C=l;C<n.length;C++){var _=n[C];g.push([_[0],_[1]])}for(var T=[],O=i;O<l;O++){var D=n[O];T.push([D[0],D[1]])}if((m=v+u)<(w=f+d))for(var S=0;S<s.length;S++){var M=s[S];T.push([M[0],M[1]])}else for(var k=s.length-1;k>=0;k--){var x=s[k];T.push([x[0],x[1]])}return fv(g)>fv(T)?g:T}}function Ev(e){var t=e.detail.element;this.completeClosedContourEdit(t)}function yv(e){var t=(0,K.getEnabledElement)(e),n=t.viewport,r=t.renderingEngine,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender,l=this.editData,c=l.fusedCanvasPoints,s=l.prevCanvasPoints;if(c){var d=(Nu(this.configuration)?Vu(this.configuration,c,s):c).map((function(e){return n.canvasToWorld(e)}));a.data.polyline=d,a.data.isOpenContour=!1,a.invalidated=!0,this.triggerAnnotationModified(a,t)}this.isEditingClosed=!1,this.editData=void 0,this.commonData=void 0,ia(r,i),this.deactivateClosedContourEdit(e)}function Iv(e){this.completeClosedContourEdit(e)}var bv=function(e){e.activateClosedContourEdit=gv.bind(e),e.deactivateClosedContourEdit=hv.bind(e),e.mouseDragClosedContourEditCallback=pv.bind(e),e.mouseUpClosedContourEditCallback=Ev.bind(e),e.finishEditAndStartNewEdit=mv.bind(e),e.fuseEditPointsWithClosedContour=wv.bind(e),e.cancelClosedContourEdit=Iv.bind(e),e.completeClosedContourEdit=yv.bind(e)},Cv=ou,_v=nu;function Tv(e,t,n){this.isEditingOpen=!0;var r=e.detail,o=r.currentPoints,a=r.element,i=o.canvas,l=(0,K.getEnabledElement)(a).viewport,c=t.data.polyline.map(l.worldToCanvas),s=_v(l,this.configuration.subPixelResolution),d=s.spacing,u=s.xDir,v=s.yDir;this.editData={prevCanvasPoints:c,editCanvasPoints:[i],startCrossingIndex:void 0,editIndex:0},this.commonData={annotation:t,viewportIdsToRender:n,spacing:d,xDir:u,yDir:v,movingTextBox:!1},Fe.isInteractingWithTool=!0,a.addEventListener(X.MOUSE_UP,this.mouseUpOpenContourEditCallback),a.addEventListener(X.MOUSE_DRAG,this.mouseDragOpenContourEditCallback),a.addEventListener(X.MOUSE_CLICK,this.mouseUpOpenContourEditCallback),a.addEventListener(X.TOUCH_END,this.mouseUpOpenContourEditCallback),a.addEventListener(X.TOUCH_DRAG,this.mouseDragOpenContourEditCallback),a.addEventListener(X.TOUCH_TAP,this.mouseUpOpenContourEditCallback),Jl(a)}function Ov(e){Fe.isInteractingWithTool=!1,e.removeEventListener(X.MOUSE_UP,this.mouseUpOpenContourEditCallback),e.removeEventListener(X.MOUSE_DRAG,this.mouseDragOpenContourEditCallback),e.removeEventListener(X.MOUSE_CLICK,this.mouseUpOpenContourEditCallback),e.removeEventListener(X.TOUCH_END,this.mouseUpOpenContourEditCallback),e.removeEventListener(X.TOUCH_DRAG,this.mouseDragOpenContourEditCallback),e.removeEventListener(X.TOUCH_TAP,this.mouseUpOpenContourEditCallback),Zl(e)}function Dv(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=n.canvas,i=(0,K.getEnabledElement)(r),l=i.renderingEngine,c=i.viewport,s=this.commonData,d=s.viewportIdsToRender,u=s.xDir,v=s.yDir,f=s.spacing,g=this.editData,h=g.editIndex,p=g.editCanvasPoints,m=g.startCrossingIndex,w=p[p.length-1],E=c.canvasToWorld(w),y=gc.vec3.create();gc.vec3.subtract(y,o,E);var I=Math.abs(gc.vec3.dot(y,u)),b=Math.abs(gc.vec3.dot(y,v));if(!(I<=f[0]&&b<=f[1])){void 0!==m&&this.checkAndRemoveCrossesOnEditLine(e);var C=h+Cv(r,p,a,this.commonData);this.editData.editIndex=C,void 0===m&&p.length>1&&this.checkForFirstCrossing(e,!1),this.editData.snapIndex=this.findSnapIndex(),this.editData.fusedCanvasPoints=this.fuseEditPointsWithOpenContour(e),void 0!==m&&this.checkForSecondCrossing(e,!1)?(this.removePointsAfterSecondCrossing(!1),this.finishEditOpenOnSecondCrossing(e)):this.checkIfShouldOverwriteAnEnd(e)&&this.openContourEditOverwriteEnd(e),ia(l,d)}}function Sv(e){var t=e.detail.element,n=(0,K.getEnabledElement)(t),r=n.viewport,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender,l=this.fuseEditPointsForOpenContourEndEdit().map((function(e){return r.canvasToWorld(e)}));a.data.polyline=l,a.data.isOpenContour=!0,a.data.handles.points=[l[0],l[l.length-1]],a.data.handles.activeHandleIndex=1,this.triggerAnnotationModified(a,n),this.isEditingOpen=!1,this.editData=void 0,this.commonData=void 0,this.deactivateOpenContourEdit(t),this.activateOpenContourEndEdit(e,a,i,null)}function Mv(e){var t=e.detail,n=t.currentPoints,r=t.lastPoints,o=n.canvas,a=r.canvas,i=this.editData,l=i.snapIndex,c=i.prevCanvasPoints;if(void 0===i.startCrossingIndex||void 0===l)return!1;if(-1===l)return!0;if(0!==l&&l!==c.length-1)return!1;var s=o,d=a,u=c[l],v=gc.vec2.create(),f=gc.vec2.create();gc.vec2.set(v,s[0]-d[0],s[1]-d[1]),gc.vec2.set(f,s[0]-u[0],s[1]-u[1]);var g=gc.vec2.dot(v,f),h=Math.sqrt(v[0]*v[0]+v[1]*v[1]),p=Math.sqrt(f[0]*f[0]+f[1]*f[1]);return Math.acos(g/(h*p))<Math.PI/2}function kv(){var e=this.editData,t=e.snapIndex,n=e.prevCanvasPoints,r=e.editCanvasPoints,o=e.startCrossingIndex,a=[];if(0===t)for(var i=n.length-1;i>=o;i--){var l=n[i];a.push([l[0],l[1]])}else for(var c=0;c<o;c++){var s=n[c];a.push([s[0],s[1]])}if(gc.vec2.distance(n[o],r[0])<gc.vec2.distance(n[o],r[r.length-1]))for(var d=0;d<r.length;d++){var u=r[d];a.push([u[0],u[1]])}else for(var v=r.length-1;v>=0;v--){var f=r[v];a.push([f[0],f[1]])}return a}function xv(e){var t=this.editData,n=t.prevCanvasPoints,r=t.editCanvasPoints,o=t.startCrossingIndex,a=t.snapIndex;if(void 0!==o&&void 0!==a){var i,l,c=e.detail.element,s=Rr(r);Cv(c,s,n[a],this.commonData),s.length>r.length&&s.pop(),o>a?(i=a,l=o):(i=o,l=a);for(var d=gc.vec2.distance(n[i],s[0]),u=gc.vec2.distance(n[i],s[s.length-1]),v=gc.vec2.distance(n[l],s[0]),f=gc.vec2.distance(n[l],s[s.length-1]),g=[],h=0;h<i;h++){var p=n[h];g.push([p[0],p[1]])}if(d+f<u+v)for(var m=0;m<s.length;m++){var w=s[m];g.push([w[0],w[1]])}else for(var E=s.length-1;E>=0;E--){var y=s[E];g.push([y[0],y[1]])}for(var I=l;I<n.length;I++){var b=n[I];g.push([b[0],b[1]])}return g}}function Pv(e){var t=e.detail.element,n=(0,K.getEnabledElement)(t),r=n.viewport,o=n.renderingEngine,a=this.commonData,i=a.annotation,l=a.viewportIdsToRender,c=this.editData,s=c.fusedCanvasPoints,d=c.editCanvasPoints,u=s.map((function(e){return r.canvasToWorld(e)}));i.data.polyline=u,i.data.isOpenContour=!0,i.data.handles.points=[u[0],u[u.length-1]],this.triggerAnnotationModified(i,n);var v=d.pop();this.editData={prevCanvasPoints:s,editCanvasPoints:[v],startCrossingIndex:void 0,editIndex:0},ia(o,l)}function Rv(e){var t=e.detail.element;this.completeOpenContourEdit(t)}function Av(e){var t=(0,K.getEnabledElement)(e),n=t.viewport,r=t.renderingEngine,o=this.commonData,a=o.annotation,i=o.viewportIdsToRender,l=this.editData,c=l.fusedCanvasPoints,s=l.prevCanvasPoints;if(c){var d=(Nu(this.configuration)?Vu(this.configuration,c,s):c).map((function(e){return n.canvasToWorld(e)}));a.data.polyline=d,a.data.isOpenContour=!0,a.data.handles.points=[d[0],d[d.length-1]],a.data.isOpenUShapeContour&&(a.data.openUShapeContourVectorToPeak=Bu(c,n)),a.invalidated=!0,this.triggerAnnotationModified(a,t)}this.isEditingOpen=!1,this.editData=void 0,this.commonData=void 0,ia(r,i),this.deactivateOpenContourEdit(e)}function Nv(e){this.completeOpenContourEdit(e)}var Lv=function(e){e.activateOpenContourEdit=Tv.bind(e),e.deactivateOpenContourEdit=Ov.bind(e),e.mouseDragOpenContourEditCallback=Dv.bind(e),e.mouseUpOpenContourEditCallback=Rv.bind(e),e.fuseEditPointsWithOpenContour=xv.bind(e),e.finishEditOpenOnSecondCrossing=Pv.bind(e),e.checkIfShouldOverwriteAnEnd=Mv.bind(e),e.fuseEditPointsForOpenContourEndEdit=kv.bind(e),e.openContourEditOverwriteEnd=Sv.bind(e),e.cancelOpenContourEdit=Nv.bind(e),e.completeOpenContourEdit=Av.bind(e)},Uv=nu;function Vv(e,t,n,r){this.isDrawing=!0;var o=e.detail.element,a=(0,K.getEnabledElement)(o).viewport,i=Uv(a,this.configuration.subPixelResolution),l=i.spacing,c=i.xDir,s=i.yDir,d=t.data.polyline.map(a.worldToCanvas);0===t.data.handles.activeHandleIndex&&d.reverse();var u=!1;r.worldPosition&&(u=!0),this.drawData={canvasPoints:d,polylineIndex:d.length-1},this.commonData={annotation:t,viewportIdsToRender:n,spacing:l,xDir:c,yDir:s,movingTextBox:u},Fe.isInteractingWithTool=!0,o.addEventListener(X.MOUSE_UP,this.mouseUpDrawCallback),o.addEventListener(X.MOUSE_DRAG,this.mouseDragDrawCallback),o.addEventListener(X.MOUSE_CLICK,this.mouseUpDrawCallback),o.addEventListener(X.TOUCH_END,this.mouseUpDrawCallback),o.addEventListener(X.TOUCH_DRAG,this.mouseDragDrawCallback),o.addEventListener(X.TOUCH_TAP,this.mouseUpDrawCallback),Jl(o)}var Bv=function(e){e.activateOpenContourEndEdit=Vv.bind(e)},jv=ru;function Wv(e,t){var n={toolGroupId:this.toolGroupId,toolName:this.getToolName(),viewportId:e.viewport.id,annotationUID:t.annotationUID},r=this.getStyle("lineWidth",n,t),o=this.getStyle("lineDash",n,t),a=this.getStyle("color",n,t);return{color:void 0===a?void 0:a,width:void 0===r?void 0:r,lineDash:void 0===o?void 0:o,connectLastToFirst:!t.data.isOpenContour}}function Hv(e,t,n){var r;null!=e&&null!==(r=e.viewport)&&void 0!==r&&r.getImageData()&&(n.data.isOpenContour?n.data.isOpenUShapeContour?(function(e,t){t.data.openUShapeContourVectorToPeak||(t.data.openUShapeContourVectorToPeak=function(e,t){var n=e.viewport;return Bu(t.data.polyline.map(n.worldToCanvas),n)}(e,t))}(e,n),this.renderOpenUShapedContour(e,t,n)):this.renderOpenContour(e,t,n):this.renderClosedContour(e,t,n))}function Fv(e,t,n){var r=e.viewport,o=this._getRenderingOptions(e,n),a=n.data.polyline.map((function(e){return r.worldToCanvas(e)}));Nc(t,n.annotationUID,"1",a,o)}function Gv(e,t,n){var r,o=e.viewport,a=this._getRenderingOptions(e,n),i=n.data.polyline.map((function(e){return o.worldToCanvas(e)}));Nc(t,n.annotationUID,"1",i,a);var l=n.data.handles.activeHandleIndex;if(!0===(null===(r=this.configuration.alwaysRenderOpenContourHandles)||void 0===r?void 0:r.enabled)){var c=this.configuration.alwaysRenderOpenContourHandles.radius,s=[i[0],i[i.length-1]];0===l?s.shift():1===l&&s.pop(),Pc(t,n.annotationUID,"0",s,{color:a.color,handleRadius:c})}if(null!==l){var d=i[0===l?0:i.length-1];Pc(t,n.annotationUID,"1",[d],{color:a.color})}}function qv(e,t,n){var r=e.viewport,o=n.data,a=o.polyline,i=o.openUShapeContourVectorToPeak;if(this.renderOpenContour(e,t,n),i){var l=r.worldToCanvas(a[0]),c=r.worldToCanvas(a[a.length-1]),s=[r.worldToCanvas(i[0]),r.worldToCanvas(i[1])],d=this._getRenderingOptions(e,n);Nc(t,n.annotationUID,"first-to-last",[l,c],{color:d.color,width:d.width,connectLastToFirst:!1,lineDash:"2,2"}),Nc(t,n.annotationUID,"midpoint-to-open-contour",[s[0],s[1]],{color:d.color,width:d.width,connectLastToFirst:!1,lineDash:"2,2"})}}function zv(e,t,n){var r=this._getRenderingOptions(e,n),o=this.configuration.allowOpenContours,a=this.drawData.canvasPoints;if(r.connectLastToFirst=!1,Nc(t,n.annotationUID,"1",a,r),o){var i=a[0],l=a[a.length-1];jv(i,l,this.configuration.closeContourProximity)?Nc(t,n.annotationUID,"2",[l,i],r):Pc(t,n.annotationUID,"0",[i],{color:r.color,handleRadius:2})}}function Kv(e,t,n){var r=this.editData.fusedCanvasPoints;if(void 0!==r){var o=this._getRenderingOptions(e,n);Nc(t,n.annotationUID,"preview-1",r,o)}else this.renderClosedContour(e,t,n)}function Yv(e,t,n){var r=this.editData.fusedCanvasPoints;if(void 0!==r){var o=this._getRenderingOptions(e,n);Nc(t,n.annotationUID,"preview-1",r,o)}else this.renderOpenContour(e,t,n)}var Xv=function(e){e.renderContour=Hv.bind(e),e.renderClosedContour=Fv.bind(e),e.renderOpenContour=Gv.bind(e),e.renderOpenUShapedContour=qv.bind(e),e.renderContourBeingDrawn=zv.bind(e),e.renderClosedContourBeingEdited=Kv.bind(e),e.renderOpenContourBeingEdited=Yv.bind(e),e._getRenderingOptions=Wv.bind(e)};function Zv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Jv=au,$v=1-K.CONSTANTS.EPSILON,Qv=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,alwaysRenderOpenContourHandles:{enabled:!1,radius:2},allowOpenContours:!0,closeContourProximity:10,checkCanvasEditFallbackProximity:6,subPixelResolution:4,interpolation:{interpolateOnAdd:!1,interpolateOnEdit:!1,knotsRatioPercentageOnAdd:40,knotsRatioPercentageOnEdit:40},calculateStats:!1,getTextLines:ef,statsCalculator:fd}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"commonData",void 0),te(ua(e),"isDrawing",!1),te(ua(e),"isEditingClosed",!1),te(ua(e),"isEditingOpen",!1),te(ua(e),"activateDraw",void 0),te(ua(e),"activateClosedContourEdit",void 0),te(ua(e),"activateOpenContourEdit",void 0),te(ua(e),"activateOpenContourEndEdit",void 0),te(ua(e),"cancelDrawing",void 0),te(ua(e),"cancelClosedContourEdit",void 0),te(ua(e),"cancelOpenContourEdit",void 0),te(ua(e),"renderContour",void 0),te(ua(e),"renderContourBeingDrawn",void 0),te(ua(e),"renderClosedContourBeingEdited",void 0),te(ua(e),"renderOpenContourBeingEdited",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine,s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=Ws(o,e.getToolName()),g=l.getFrameOfReferenceUID(),h={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:g,referencedImageId:v,toolName:e.getToolName()},data:{handles:{points:[],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},polyline:[Rr(a)],label:"",cachedStats:{}}};return Qe(h,o),e.activateDraw(t,h,f),t.preventDefault(),ia(c,f),h})),te(ua(e),"handleSelectedCallback",(function(t,n,r){var o=Ws(t.detail.element,e.getToolName());e.activateOpenContourEndEdit(t,n,o,r)})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=Ws(t.detail.element,e.getToolName());n.data.isOpenContour?e.activateOpenContourEdit(t,n,r):e.activateClosedContourEdit(t,n,r)})),te(ua(e),"isPointNearTool",(function(e,t,n,r){for(var o=(0,K.getEnabledElement)(e).viewport,a=t.data.polyline,i=o.worldToCanvas(a[0]),l=1;l<a.length;l++){var c=i,s=o.worldToCanvas(a[l]);if(!0===Jv(n,c,s,r))return!0;i=s}if(t.data.isOpenContour)return!1;var d=o.worldToCanvas(a[0]),u=o.worldToCanvas(a[a.length-1]);return!0===Jv(n,d,u,r)})),te(ua(e),"cancel",(function(t){var n=e.isDrawing,r=e.isEditingOpen,o=e.isEditingClosed;n?e.cancelDrawing(t):r?e.cancelOpenContourEdit(t):o&&e.cancelClosedContourEdit(t)})),te(ua(e),"triggerAnnotationModified",(function(e,t){var n=t.viewportId,r=t.renderingEngineId,o=X.ANNOTATION_MODIFIED,a={annotation:e,viewportId:n,renderingEngineId:r};(0,K.triggerEvent)(K.eventTarget,o,a)})),te(ua(e),"triggerAnnotationCompleted",(function(e){var t=X.ANNOTATION_COMPLETED,n={annotation:e};(0,K.triggerEvent)(K.eventTarget,t,n)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=t.renderingEngine,c=i.element,s=e.getTargetId(i),d=$e(e.getToolName(),c);if(null===(r=d)||void 0===r||!r.length)return a;if(null===(o=d=e.filterInteractableAnnotationsForElement(c,d))||void 0===o||!o.length)return a;var u=e.isDrawing,v=e.isEditingOpen,f=e.isEditingClosed;if(u||v||f){var g=e.commonData.annotation.annotationUID;d.forEach((function(r){if(r.annotationUID===g)if(u)e.renderContourBeingDrawn(t,n,r);else if(f)e.renderClosedContourBeingEdited(t,n,r);else{if(!v)throw new Error("Unknown ".concat(e.getToolName()," annotation rendering state"));e.renderOpenContourBeingEdited(t,n,r)}else e.renderContour(t,n,r)})),a=!0}else d.forEach((function(r){e.renderContour(t,n,r)}));return e.configuration.calculateStats?(d.forEach((function(r){var o,a,c,d=null===(o=e.commonData)||void 0===o?void 0:o.annotation.annotationUID;if(r.annotationUID!==d||null!==(a=e.commonData)&&void 0!==a&&a.movingTextBox){if(null===(c=e.commonData)||void 0===c||!c.movingTextBox){var u=r.data;u.cachedStats[s]&&null!=u.cachedStats[s].areaUnit?r.invalidated&&e._throttledCalculateCachedStats(r,i,l,t):(u.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null},e._calculateCachedStats(r,i,l,t))}e._renderStats(r,i,t,n)}})),a):void 0})),te(ua(e),"_calculateCachedStats",(function(t,n,r,o){for(var a=t.data,i=a.cachedStats,l=a.polyline,c=Object.keys(i),s=function(){var o,a,s,u=c[d],v=e.getTargetIdImage(u,r);if(!v)return"continue";var f=v.imageData,g=v.metadata,h=l.map((function(e){return n.worldToCanvas(e)})),p=h[0],m=n.canvasToWorld(p),w=n.canvasToWorld([p[0]+1,p[1]]),E=n.canvasToWorld([p[0],p[1]+1]),y=gc.vec3.distance(m,w),I=gc.vec3.distance(m,E),b=nd(v),C=iu(h)/b/b;C*=y*I;var _=K.utilities.transformWorldToIndex(f,l[0]);_[0]=Math.floor(_[0]),_[1]=Math.floor(_[1]),_[2]=Math.floor(_[2]);for(var T=_[0],O=_[0],D=_[1],S=_[1],M=_[2],k=_[2],x=1;x<l.length;x++){var P=K.utilities.transformWorldToIndex(f,l[x]);P[0]=Math.floor(P[0]),P[1]=Math.floor(P[1]),P[2]=Math.floor(P[2]),T=Math.min(T,P[0]),O=Math.max(O,P[0]),D=Math.min(D,P[1]),S=Math.max(S,P[1]),M=Math.min(M,P[2]),k=Math.max(k,P[2])}var R=.01*(O-T),A=.01*(S-D),N=.01*(k-M),L=[[T=Math.floor(T-R),O=Math.ceil(O+R)],[D=Math.floor(D-A),S=Math.ceil(S+A)],[M=Math.floor(M-N),k=Math.ceil(k+N)]],U=f.indexToWorld([O,S,k]),V=n.worldToCanvas(U),B=0,j=[],W=0,H=$c(f,(function(e,t){var r=!0,o=n.worldToCanvas(e);return o[1]!=B&&(W=0,B=o[1],(j=function(e,t,n){for(var r=[],o=function(e,t,n){var r,o,a=[];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(o=0,r=1):(o=e.length-1,r=0);for(var i=r;i<e.length;i++)Jd(t,n,e[o],e[i])&&a.push([o,i]),o=i;return a}(e,t,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]),a=0;a<o.length;a++){var i=eu(t,n,e[o[a][0]],e[o[a][1]]);r.push(i)}return r}(h,o,[V[0],o[1]])).sort((function(e,t){return e[0]===t[0]?0:e[0]<t[0]?-1:1}))),j.length&&o[0]>j[0][0]&&(j.shift(),W++),W%2==0&&(r=!1),r}),e.configuration.statsCalculator.statsCallback,L),F={isPreScaled:dd(n,u),isSuvScaled:e.isSuvScaled(n,u,t.metadata.referencedImageId)},G=sd(g.Modality,t.metadata.referencedImageId,F),q=e.configuration.statsCalculator.getStatistics();i[u]={Modality:g.Modality,area:C,mean:null===(o=q[1])||void 0===o?void 0:o.value,max:null===(a=q[0])||void 0===a?void 0:a.value,stdDev:null===(s=q[3])||void 0===s?void 0:s.value,statsArray:q,pointsInShape:H,areaUnit:td(0,v),modalityUnit:G}},d=0;d<c.length;d++)s();return e.triggerAnnotationModified(t,o),t.invalidated=!1,i})),te(ua(e),"_renderStats",(function(t,n,r,o){var a,i=t.data,l=e.getTargetId(n),c={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:r.viewport.id},s=e.getLinkedTextBoxStyle(c,t);if(s.visibility){var d=e.configuration.getTextLines(i,l);if(d&&0!==d.length){var u=i.polyline.map((function(e){return n.worldToCanvas(e)}));if(!i.handles.textBox.hasMoved){var v=ld(u);i.handles.textBox.worldPosition=n.canvasToWorld(v)}var f=n.worldToCanvas(i.handles.textBox.worldPosition),g=jc(o,null!==(a=t.annotationUID)&&void 0!==a?a:"","1",d,f,u,{},s),h=g.x,p=g.y,m=g.width,w=g.height;i.handles.textBox.worldBoundingBox={topLeft:n.canvasToWorld([h,p]),topRight:n.canvasToWorld([h+m,p]),bottomLeft:n.canvasToWorld([h,p+w]),bottomRight:n.canvasToWorld([h+m,p+w])}}}})),tv(ua(e)),dv(ua(e)),bv(ua(e)),Lv(ua(e)),Bv(ua(e)),Xv(ua(e)),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o,[{key:"filterInteractableAnnotationsForElement",value:function(e,t){if(t&&t.length){var n,r=(0,K.getEnabledElement)(e).viewport;if(r instanceof K.StackViewport)n=qs(r,t);else{if(!(r instanceof K.VolumeViewport))throw new Error("Viewport Type ".concat(r.type," not supported"));var o=r.getCamera(),a=K.utilities.getTargetVolumeAndSpacingInNormalDir(r,o).spacingInNormalDirection;n=this.filterAnnotationsWithinSlice(t,o,a)}return n}}},{key:"filterAnnotationsWithinSlice",value:function(e,t,n){var r=t.viewPlaneNormal,o=e.filter((function(e){var t=e.metadata.viewPlaneNormal,n=Math.abs(gc.vec3.dot(r,t))>$v;return t&&n}));if(!o.length)return[];var a,i=n/2,l=t.focalPoint,c=[],s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return Zv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zv(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){l=!0,a=e},f:function(){try{i||null==n.return||n.return()}finally{if(l)throw a}}}}(o);try{for(s.s();!(a=s.n()).done;){var d=a.value,u=d.data.polyline[0];if(d.isVisible){var v=gc.vec3.create();gc.vec3.sub(v,l,u);var f=gc.vec3.dot(v,r);Math.abs(f)<i&&c.push(d)}}}catch(e){s.e(e)}finally{s.f()}return c}}]),o}(Js);function ef(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.stdDev,i=n.max,l=n.isEmptyArea,c=n.areaUnit,s=n.modalityUnit,d=[];if(r){var u=l?"Area: Oblique not supported":"Area: ".concat(ns(r)," ").concat(c);d.push(u)}return o&&d.push("Mean: ".concat(ns(o)," ").concat(s)),i&&d.push("Max: ".concat(ns(i)," ").concat(s)),a&&d.push("Std Dev: ".concat(ns(a)," ").concat(s)),d}te(Qv,"toolName",void 0),Qv.toolName="PlanarFreehandROI";var tf=Qv;function nf(e,t,n){if(function(e,t,n){var r;if(null==t||null===(r=t.data)||void 0===r||!r.polyline||n<=0)return!0;if(!e.viewport)return!0;var o=e.renderingEngineId,a=e.viewportId,i=e.FrameOfReferenceUID,l=Br(a,o);if(t.metadata.FrameOfReferenceUID!==i)return!0;if(!l)return!0;var c=l.getToolInstance(t.metadata.toolName);return!(c instanceof tf)||c.isDrawing||c.isEditingOpen||c.isEditingClosed}(e,t,n))return!1;var r=e.viewport,o=t.data.polyline.map(r.worldToCanvas),a=Au(o,0,o.length,n);return a!==o&&(t.data.polyline=a.map(r.canvasToWorld),!0)}var rf={interpolateAnnotation:nf},of={};function af(e,t){var n=(0,K.getEnabledElement)(e).viewportId;of[n]=t}function lf(e){var t=(0,K.getEnabledElement)(e).viewportId;return of[t]}var cf=K.Enums.RequestType.Prefetch,sf=0;function df(e,t){e=Math.round(e)||0;var n=[],r=(t=Math.round(t)||0)-e+1;if(r<=0)return n;for(;r--;)n[r]=t--;return n}function uf(e){var t=(0,K.getEnabledElement)(e);if(!t)return null;var n=t.viewport;if(!(n instanceof K.StackViewport))throw new Error("stackPrefetch: element must be a StackViewport, VolumeViewport stackPrefetch not yet implemented");return{currentImageIdIndex:n.getCurrentImageIdIndex(),imageIds:n.getImageIds()}}function vf(e){return function(t){var n,r=t.detail;try{n=uf(e)}catch(e){return}if(n&&n.imageIds&&0!==n.imageIds.length){var o=n.imageIds.indexOf(r.imageId);if(!(o<0)){var a=lf(e);a&&a.data&&a.data.length&&a.indicesToRequest.push(o)}}}}var ff,gf=function(e){var t=new Set(e.imageIds);return function(e){return e.type!==cf||!t.has(e.additionalDetails.imageId)}},hf={maxImagesToPrefetch:1/0,preserveExistingPool:!0};function pf(e){var t,n,r=lf(e);if(r){var o=r||{},a=uf(e);if(null!=a&&null!==(t=a.imageIds)&&void 0!==t&&t.length){var i=a.currentImageIdIndex;if(o.enabled&&(o.enabled=null===(n=o.indicesToRequest)||void 0===n?void 0:n.length),!1!==o.enabled&&(r.indicesToRequest.sort((function(e,t){return e-t})),o.indicesToRequest.slice().forEach((function(e){var t=a.imageIds[e];t&&(Math.abs(i-e)<6?K.cache.getImageLoadObject(t):K.cache.isLoaded(t))&&function(e){var t=o.indicesToRequest.indexOf(e);t>-1&&o.indicesToRequest.splice(t,1)}(e)})),o.indicesToRequest.length)){hf.preserveExistingPool||K.imageLoadPoolManager.clearRequestStack(cf);for(var l,c,s,d,u,v,f=(l=o.indicesToRequest,c=a.currentImageIdIndex,s=0,d=l.length-1,l.forEach((function(e,t){e<c?s=Math.max(t,s):e>c&&(d=Math.min(t,d))})),{low:s,high:d}),g=f.low,h=f.high,p=[];g>=0||h<o.indicesToRequest.length;){var m=a.currentImageIdIndex,w=!(m-o.indicesToRequest[g]>hf.maxImagesToPrefetch)&&g>=0,E=!(o.indicesToRequest[h]-m>hf.maxImagesToPrefetch)&&h<o.indicesToRequest.length;if(!E&&!w)break;w&&(v=o.indicesToRequest[g--],u=a.imageIds[v],p.push(u)),E&&(v=o.indicesToRequest[h++],u=a.imageIds[v],p.push(u))}var y=function(e,t){return K.imageLoader.loadAndCacheImage(e,t)},I=(0,K.getConfiguration)().rendering.useNorm16Texture;p.forEach((function(e){var t={targetBuffer:{type:I?void 0:"Float32Array"},preScale:{enabled:!0},requestType:cf};K.imageLoadPoolManager.addRequest(y.bind(null,e,t),cf,{imageId:e},sf)}))}}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.")}}function mf(e){clearTimeout(ff),ff=setTimeout((function(){var t=e.target;try{pf(t)}catch(e){return}}),10)}var wf,Ef={enable:function(e){var t=uf(e);if(t&&t.imageIds&&0!==t.imageIds.length){var n={indicesToRequest:df(0,t.imageIds.length-1),enabled:!0,direction:1},r=n.indicesToRequest.indexOf(t.currentImageIdIndex);n.indicesToRequest.splice(r,1),af(e,n),pf(e),e.removeEventListener(K.Enums.Events.STACK_NEW_IMAGE,mf),e.addEventListener(K.Enums.Events.STACK_NEW_IMAGE,mf);var o=vf(e);K.eventTarget.removeEventListener(K.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,o),K.eventTarget.addEventListener(K.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,o)}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.")},disable:function(e){clearTimeout(ff),e.removeEventListener(K.Enums.Events.STACK_NEW_IMAGE,mf);var t=vf(e);K.eventTarget.removeEventListener(K.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,t);var n=lf(e);n&&n.indicesToRequest.length&&(n.enabled=!1,K.imageLoadPoolManager.clearRequestStack(cf))},getConfiguration:function(){return hf},setConfiguration:function(e){hf=e}},yf={maxImagesToPrefetch:1/0,minBefore:2,maxAfter:2,directionExtraImages:10,preserveExistingPool:!1};function If(e){var t,n,r=uf(e);if(null!=r&&null!==(t=r.imageIds)&&void 0!==t&&t.length){var o=lf(e);if(o){var a=o||{};if(a.enabled&&(a.enabled=null===(n=a.indicesToRequest)||void 0===n?void 0:n.length),!1!==a.enabled){var i=a.indicesToRequest.slice(),l=r.currentImageIdIndex;if(i.forEach((function(e){var t=r.imageIds[e];t&&(Math.abs(l-e)<6?K.cache.getImageLoadObject(t):K.cache.isLoaded(t))&&d(e)})),a.indicesToRequest.length){yf.preserveExistingPool||K.imageLoadPoolManager.filterRequests(gf(r));var c=function(t,n){return K.imageLoader.loadAndCacheImage(t,n).then((function(){return function(t){var n;d(r.imageIds.indexOf(t));var o=K.cache.getCachedImageBasedOnImageURI(t),i=a.stats,l=(null==o||null===(n=o.image)||void 0===n?void 0:n.decodeTimeInMS)||0;if(l){var c;i.imageIds.set(t,l),i.decodeTimeInMS+=l;var s=(null==o||null===(c=o.image)||void 0===c?void 0:c.loadTimeInMS)||0;i.loadTimeInMS+=s}if(!a.indicesToRequest.length&&null!=o&&o.sizeInBytes){var u=o.sizeInBytes,v=K.cache.getMaxCacheSize()/4/u;if(a.cacheFill){if(i.imageIds.size){i.fillTime=Date.now()-i.start;var f=i.imageIds.size;i.fillSize=f,console.log("Done cache fill",i.fillTime,"ms",f,"items","average total time",ns(i.fillTime/f),"ms","average load",ns(i.loadTimeInMS/f),"ms","average decode",ns(i.decodeTimeInMS/f),"ms")}}else i.initialTime=Date.now()-i.start,i.initialSize=i.imageIds.size,Cf(e,v),If(e)}}(t)}))},s=(0,K.getConfiguration)().rendering.useNorm16Texture;i.forEach((function(e){var t=r.imageIds[e],n={targetBuffer:{type:s?void 0:"Float32Array"},preScale:{enabled:!0},requestType:cf};K.imageLoadPoolManager.addRequest(c.bind(null,t,n),cf,{imageId:t},sf)}))}}}}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.");function d(e){var t=a.indicesToRequest.indexOf(e);t>-1&&a.indicesToRequest.splice(t,1)}}function bf(e){clearTimeout(wf),wf=setTimeout((function(){var t=e.target;try{Cf(t),If(t)}catch(e){return}}),5)}var Cf=function(e,t){var n=uf(e);if(n&&n.imageIds&&0!==n.imageIds.length){var r=n.currentImageIdIndex,o=yf,a=o.maxAfter,i=void 0===a?2:a,l=o.minBefore,c=void 0===l?2:l,s=yf.directionExtraImages,d=void 0===s?10:s,u=lf(e)||{indicesToRequest:[],currentImageIdIndex:r,stackCount:0,enabled:!0,direction:1,stats:{start:Date.now(),imageIds:new Map,decodeTimeInMS:0,loadTimeInMS:0,totalBytes:0}},v=r-u.currentImageIdIndex;if(u.direction=v<0?-1:1,u.currentImageIdIndex=r,u.enabled=!0,u.stackCount<100&&(u.stackCount+=d),Math.abs(v)>i||!v)if(u.stackCount=0,t){var f=r/n.imageIds.length;c=Math.ceil(t*f),i=Math.ceil(t*(1-f)),u.cacheFill=!0}else u.cacheFill=!1;else v<0?(c+=u.stackCount,i=0):(i+=u.stackCount,c=0);for(var g=Math.max(0,r-c),h=Math.min(n.imageIds.length-1,r+i),p=[],m=r+1;m<=h;m++)p.push(m);for(var w=r-1;w>=g;w--)p.push(w);u.indicesToRequest=p,af(e,u)}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.")},_f={enable:function(e){var t=uf(e);if(t&&t.imageIds&&0!==t.imageIds.length){Cf(e),If(e),e.removeEventListener(K.Enums.Events.STACK_NEW_IMAGE,bf),e.addEventListener(K.Enums.Events.STACK_NEW_IMAGE,bf);var n=vf(e);K.eventTarget.removeEventListener(K.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,n),K.eventTarget.addEventListener(K.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,n)}else console.warn("CornerstoneTools.stackPrefetch: No images in stack.")},disable:function(e){clearTimeout(wf),e.removeEventListener(K.Enums.Events.STACK_NEW_IMAGE,bf);var t=vf(e);K.eventTarget.removeEventListener(K.Enums.Events.IMAGE_CACHE_IMAGE_REMOVED,t);var n=lf(e);n&&n.data.length&&(n.enabled=!1)},getConfiguration:function(){return yf},setConfiguration:function(e){yf=e}};function Tf(e,t){if(e instanceof K.VolumeViewport){var n=e.getCamera().focalPoint,r=[0,0,0];return gc.vec3.sub(r,t,n),function(e,t){var n=e.getCamera(),r=n.viewPlaneNormal,o=gc.vec3.dot(t,r),a=gc.vec3.fromValues(r[0],r[1],r[2]);if(gc.vec3.scale(a,a,o),Math.abs(a[0])>.001||Math.abs(a[1])>.001||Math.abs(a[2])>.001){var i=[0,0,0],l=[0,0,0];gc.vec3.add(i,n.focalPoint,a),gc.vec3.add(l,n.position,a),e.setCamera({focalPoint:i,position:l}),e.render()}}(e,r),!0}}var Of=function(e,t){var n=t.frameNumbers||Rr(Array(e.numTimePoints).keys());if(!t.maskVolumeId&&!t.imageCoordinate)throw new Error("No ROI provided");if(t.maskVolumeId&&t.imageCoordinate)throw new Error("Please provide only one ROI");if(t.maskVolumeId){for(var r=K.cache.getVolume(t.maskVolumeId).getScalarData(),o=[],a=0,i=r.length;a<i;a++)0!==r[a]&&o.push(a);var l=function(e,t,n){for(var r=n.getScalarDataArrays(),o=[],a=function(n){var a=[];e.forEach((function(e){var o=r[e];a.push(o[t[n]])})),o.push(a)},i=0;i<t.length;i++)a(i);return o}(n,o,e);return l}if(t.imageCoordinate){var c=function(e,t,n){var r=n.dimensions,o=n.imageData.worldToIndex(t);if(o[0]=Math.floor(o[0]),o[1]=Math.floor(o[1]),o[2]=Math.floor(o[2]),!K.utilities.indexWithinDimensions(o,r))throw new Error("outside bounds");var a=r[0],i=r[0]*r[1],l=n.getScalarDataArrays(),c=[];return e.forEach((function(e){var t=l[e],n=o[2]*i+o[1]*a+o[0];c.push(t[n])})),c}(n,t.imageCoordinate,e);return c}},Df=function(e,t,n){var r=n||Rr(Array(e.numTimePoints).keys()),o=r.length;if(r.length<=1)throw new Error("Please provide two or more time points");var a=e.getScalarDataArrays(),i=a[0].length,l=new Float32Array(i);if(t===K.Enums.DynamicOperatorType.SUM){for(var c=0;c<o;c++)for(var s=a[r[c]],d=0;d<i;d++)l[d]+=s[d];return l}if(t===K.Enums.DynamicOperatorType.SUBTRACT){if(r.length>2)throw new Error("Please provide only 2 time points for subtraction.");for(var u=0;u<i;u++)l[u]+=a[r[0]][u]-a[r[1]][u];return l}if(t===K.Enums.DynamicOperatorType.AVERAGE){for(var v=0;v<o;v++)for(var f=a[r[v]],g=0;g<i;g++)l[g]+=f[g];for(var h=0;h<i;h++)l[h]=l[h]/o;return l}},Sf=function(e,t){var n=Hl.getDefinedCursor(t,!0);n||(n=wl.getDefinedCursor(t)),n||(console.log("Cursor ".concat(t," is not defined either as SVG or as a standard cursor.")),n=wl.getDefinedCursor(t)),Xl(e,n)},Mf=[].concat(Rr(Nl),Rr(yl)),kf=function(e,t,n){var r=Bl("textBoxFontSize",e,t,n),o=Bl("textBoxFontFamily",e,t,n);return"".concat(r,"px ").concat(o)},xf=function(e){if(!e||!e.length)throw new Error("The segmentationInputArray is undefined or empty array");e.forEach((function(e){if(void 0===e.segmentationId)throw new Error("The segmentationInput.segmentationId is undefined, please provide a valid segmentationId");if(void 0===e.representation)throw new Error("The segmentationInput.representation is undefined, please provide a valid representation");e.representation.type===dt.Labelmap&&function(e){if(!e.representation.data)throw new Error("The segmentationInput.representationData.data is undefined, please provide a valid representationData.data");var t=e.representation.data;if(!t.volumeId)throw new Error("The segmentationInput.representationData.volumeId is undefined, please provide a valid representationData.volumeId");if(!K.cache.getVolume(t.volumeId))throw new Error("volumeId of ".concat(t.volumeId," not found in cache, you should load and cache volume before adding segmentation"))}(e)}))},Pf=function(e){xf(e),e.map((function(e){xt(re()(e))}))};function Rf(){return(Rf=Na(Ua().mark((function e(t,n,r){var o,a;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(da(t)){e.next=3;break}throw new Error("No tool group found for toolGroupId: ".concat(t));case 3:return o=n.map((function(e){return Af(t,e,r)})),e.next=6,Promise.all(o);case 6:return a=e.sent,e.abrupt("return",a);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Af(e,t,n){return Nf.apply(this,arguments)}function Nf(){return(Nf=Na(Ua().mark((function e(t,n,r){var o;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.type!==dt.Labelmap){e.next=6;break}return e.next=3,Ai.addSegmentationRepresentation(t,n,r);case 3:case 9:o=e.sent,e.next=13;break;case 6:if(n.type!==dt.Contour){e.next=12;break}return e.next=9,fi.addSegmentationRepresentation(t,n,r);case 12:throw new Error("The representation type ".concat(n.type," is not supported"));case 13:return e.abrupt("return",o);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Lf=function(e,t,n){return Rf.apply(this,arguments)};var Uf=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return ee(this,o),r.call(this,e,t)}return Q(o,[{key:"touchDragCallback",value:function(e){this._dragCallback(e)}},{key:"mouseDragCallback",value:function(e){this._dragCallback(e)}},{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.deltaPoints,o=(0,K.getEnabledElement)(n),a=r.world,i=o.viewport.getCamera(),l=i.focalPoint,c=i.position,s=[c[0]-a[0],c[1]-a[1],c[2]-a[2]],d=[l[0]-a[0],l[1]-a[1],l[2]-a[2]];o.viewport.setCamera({focalPoint:d,position:s}),o.viewport.render()}}]),o}(Ra);te(Uf,"toolName",void 0),Uf.toolName="Pan";var Vf=Uf;var Bf=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{rotateIncrementDegrees:2}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"rotateCamera",(function(e,t,n,r){var o=e.getVtkActiveCamera(),a=o.getViewUp(),i=o.getFocalPoint(),l=o.getPosition(),c=[0,0,0],s=[0,0,0],d=[0,0,0],u=gc.mat4.identity(new Float32Array(16));gc.mat4.translate(u,u,t),gc.mat4.rotate(u,u,r,n),gc.mat4.translate(u,u,[-t[0],-t[1],-t[2]]),gc.vec3.transformMat4(c,l,u),gc.vec3.transformMat4(s,i,u),gc.mat4.identity(u),gc.mat4.rotate(u,u,r,n),gc.vec3.transformMat4(d,a,u),e.setCamera({position:c,viewUp:d,focalPoint:s})})),e.touchDragCallback=e._dragCallback.bind(ua(e)),e.mouseDragCallback=e._dragCallback.bind(ua(e)),e}return Q(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=t.lastPoints,a=r.canvas,i=o.canvas,l=this.configuration.rotateIncrementDegrees,c=(0,K.getEnabledElement)(n).viewport,s=c.getCamera(),d=n.clientWidth,u=n.clientHeight,v=[a[0]/d,a[1]/u],f=[i[0]/d,i[1]/u],g=[.5*d,.5*u],h=c.canvasToWorld(g),p=Math.pow(1+Math.abs(.5),2),m=[f[0],0,0],w=[v[0],0,0],E=Math.pow(m[0],2),y=Math.pow(w[0],2),I=E>p?0:Math.sqrt(p-E),b=y>p?0:Math.sqrt(p-y),C=[m[0],0,I];su().normalize(C);var _=[w[0],0,b];su().normalize(_);var T=su().dot(C,_);if(Math.abs(T)>1e-4){var O=-2*Math.acos(su().clampValue(T,-1,1))*Math.sign(v[0]-f[0])*l,D=s.viewUp,S=s.viewPlaneNormal,M=[0,0,0],k=[0,0,0];su().cross(D,S,M),su().normalize(M),su().cross(S,M,k),su().normalize(k),su().normalize(D),this.rotateCamera(c,h,k,O);var x=(f[1]-v[1])*l;this.rotateCamera(c,h,M,x),c.render()}}}]),o}(Ra);te(Bf,"toolName",void 0),Bf.toolName="TrackballRotate";var jf=Bf;var Wf=K.utilities.transformWorldToIndex,Hf=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:Ff}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"editData",void 0),te(ua(e),"eventDispatchDetail",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={invalidated:!0,highlighted:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{points:[Rr(a)]},cachedStats:{}}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,newAnnotation:!0,viewportIdsToRender:h},e._activateModify(o),Jl(o),t.preventDefault(),ia(c,h),g})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=(0,K.getEnabledElement)(n),c=l.renderingEngine,s=l.viewportId;if(e.eventDispatchDetail={viewportId:s,renderingEngineId:c.id},e._deactivateModify(n),Zl(n),e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(c,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=e.editData,l=i.annotation,c=i.viewportIdsToRender;l.data.handles.points[0]=Rr(a),l.invalidated=!0;var s=(0,K.getEnabledElement)(o).renderingEngine;ia(s,c)})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles.points[0],g=i.worldToCanvas(v);u.annotationUID=o;var h=e.getStyle("color",u,r);if(l.cachedStats[s]&&null!=l.cachedStats[s].value){if(r.invalidated&&(e._calculateCachedStats(r,d,t),i instanceof K.VolumeViewport)){var p=r.metadata.referencedImageId;for(var m in l.cachedStats)m.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=K.utilities.imageIdToURI(p),n=e.hasImageURI(t),r=K.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[m]}}else l.cachedStats[s]={Modality:null,index:null,value:null},e._calculateCachedStats(r,d,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};Pc(n,o,"0",[g],{color:h}),a=!0;var w=e.getLinkedTextBoxStyle(u,r);if(!w.visibility)return"continue";var E=e.configuration.getTextLines(l,s);if(E){var y=[g[0]+6,g[1]-6];Vc(n,o,"0",E,[y[0],y[1]],w)}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),e}return Q(o,[{key:"isPointNearTool",value:function(){return!1}},{key:"toolSelectedCallback",value:function(){}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=t.data.handles.points[0],i=o.worldToCanvas(a);if(!0==gc.vec2.distance(n,i)<r)return a}},{key:"handleSelectedCallback",value:function(e,t){var n=e.detail.element;t.highlighted=!0;var r=Ws(n,this.getToolName());this.editData={annotation:t,viewportIdsToRender:r},this._activateModify(n),Jl(n);var o=(0,K.getEnabledElement)(n).renderingEngine;ia(o,r),e.preventDefault()}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportId,a=n.renderingEngineId,i=n.viewport,l=r.handles.points[0],c=r.cachedStats,s=Object.keys(c),d=0;d<s.length;d++){var u=s[d],v={isPreScaled:dd(i,u),isSuvScaled:this.isSuvScaled(i,u,e.metadata.referencedImageId)},f=this.getTargetIdImage(u,t);if(f){var g=f.dimensions,h=f.imageData,p=f.metadata,m="getScalarData"in f?f.getScalarData():f.scalarData,w=p.Modality,E=Wf(h,l);if(E[0]=Math.round(E[0]),E[1]=Math.round(E[1]),E[2]=Math.round(E[2]),K.utilities.indexWithinDimensions(E,g)){this.isHandleOutsideImage=!1;var y=g[0],I=g[0]*g[1],b=m[E[2]*I+E[1]*y+E[0]];if(u.startsWith("imageId:")){var C=u.split("imageId:")[1],_=K.utilities.imageIdToURI(C),T=K.utilities.getViewportsWithImageURI(_,a)[0];E[2]=T.getCurrentImageIdIndex()}var O=sd(w,e.metadata.referencedImageId,v);c[u]={index:E,value:b,Modality:w,modalityUnit:O}}else this.isHandleOutsideImage=!0,c[u]={index:E,Modality:w};e.invalidated=!1;var D=X.ANNOTATION_MODIFIED,S={annotation:e,viewportId:o,renderingEngineId:a};(0,K.triggerEvent)(K.eventTarget,D,S)}}return c}}]),o}(Js);function Ff(e,t){var n=e.cachedStats[t],r=n.index,o=n.value,a=n.modalityUnit;if(void 0!==o){var i=[];return i.push("(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")")),i.push("".concat(o.toFixed(2)," ").concat(a)),i}}te(Hf,"toolName",void 0),Hf.toolName="Probe";var Gf=Hf;var qf=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:zf}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"editData",void 0),te(ua(e),"eventDispatchDetail",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"postMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f={invalidated:!0,highlighted:!0,isVisible:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:l.getFrameOfReferenceUID(),referencedImageId:v},data:{label:"",handles:{points:[Rr(a)]},cachedStats:{}}},g=Ws(o,e.getToolName());return e.editData={annotation:f,newAnnotation:!0,viewportIdsToRender:g},e._activateModify(o),Jl(o),t.preventDefault(),ia(c,g),f})),te(ua(e),"postTouchStartCallback",(function(t){return e.postMouseDownCallback(t)})),te(ua(e),"renderAnnotation",(function(t,n){var r=!1,o=t.viewport;if(!e.editData)return r;var a=e.filterInteractableAnnotationsForElement(o.element,[e.editData.annotation]);if(null==a||!a.length)return r;var i=e.getTargetId(o),l=o.getRenderingEngine(),c={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},s=e.editData.annotation,d=s.annotationUID,u=s.data,v=u.handles.points[0],f=o.worldToCanvas(v);c.annotationUID=d;var g=e.getStyle("color",c,s);if(dd(o,i),e.isSuvScaled(o,i,s.metadata.referencedImageId),u.cachedStats[i]&&null!=u.cachedStats[i].value?s.invalidated&&e._calculateCachedStats(s,l,t):(u.cachedStats[i]={Modality:null,index:null,value:null},e._calculateCachedStats(s,l,t)),!o.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),r;Pc(n,d,"0",[f],{color:g}),r=!0;var h=e.configuration.getTextLines(u,i);if(h){var p=[f[0]+6,f[1]-6];Vc(n,d,"0",h,[p[0],p[1]],e.getLinkedTextBoxStyle(c,s))}return r})),e}return Q(o)}(Gf);function zf(e,t){var n=e.cachedStats[t],r=n.index,o=n.value,a=n.modalityUnit;if(void 0!==o){var i=[];return i.push("(".concat(r[0],", ").concat(r[1],", ").concat(r[2],")")),i.push("".concat(o.toFixed(2)," ").concat(a)),i}}te(qf,"toolName",void 0),qf.toolName="DragProbe";var Kf=qf;var Yf=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return ee(this,o),te(ua(e=r.call(this,t,n)),"_getImageDynamicRangeFromMiddleSlice",(function(t,n){var r,o,a=Math.floor(n[2]/2),i=n[0]*n[1];t instanceof Float32Array?(r=4,o=Float32Array):t instanceof Uint8Array?(r=1,o=Uint8Array):t instanceof Uint16Array?(r=2,o=Uint16Array):t instanceof Int16Array&&(r=2,o=Int16Array);var l=new o(t.buffer,a*i*r,i),c=e._getMinMax(l,i);return c.max-c.min})),e}return Q(o,[{key:"touchDragCallback",value:function(e){this.mouseDragCallback(e)}},{key:"mouseDragCallback",value:function(e){var t,n,r,o,a,i,l=e.detail,c=l.element,s=l.deltaPoints,d=(0,K.getEnabledElement)(c),u=d.renderingEngine,v=d.viewport,f=!1;if(v instanceof K.VolumeViewport){t=this.getTargetId(v).split("volumeId:")[1],i=K.utilities.getViewportsWithVolumeId(t,u.id);var g=v.getProperties().voiRange;n=g.lower,r=g.upper;var h=K.cache.getVolume(t);o=h.metadata.Modality,f=h.scaling&&Object.keys(h.scaling).length>0}else{if(!(v instanceof K.StackViewport))throw new Error("Viewport is not a valid type");var p,m=v.getProperties();o=v.modality;var w=m.voiRange;n=w.lower,r=w.upper;var E=v.getImageData().preScale;f=E.scaled&&void 0!==(null===(p=E.scalingParameters)||void 0===p?void 0:p.suvbw)}return a="PT"===o?this.getPTScaledNewRange({deltaPointsCanvas:s.canvas,lower:n,upper:r,clientHeight:c.clientHeight,isPreScaled:f,viewport:v,volumeId:t}):this.getNewRange({viewport:v,deltaPointsCanvas:s.canvas,volumeId:t,lower:n,upper:r}),v instanceof K.StackViewport?(v.setProperties({voiRange:a}),void v.render()):v instanceof K.VolumeViewport?(v.setProperties({voiRange:a}),void i.forEach((function(e){e.render()}))):void 0}},{key:"getPTScaledNewRange",value:function(e){var t,n=e.deltaPointsCanvas,r=e.lower,o=e.upper,a=e.clientHeight,i=e.viewport,l=e.volumeId,c=e.isPreScaled;return t=c?5/a:this._getMultiplierFromDynamicRange(i,l)||4,o-=n[1]*t,{lower:r,upper:o=c?Math.max(o,.1):o}}},{key:"getNewRange",value:function(e){var t=e.viewport,n=e.deltaPointsCanvas,r=e.volumeId,o=e.lower,a=e.upper,i=this._getMultiplierFromDynamicRange(t,r)||4,l=n[0]*i,c=n[1]*i,s=K.utilities.windowLevel.toWindowLevel(o,a),d=s.windowWidth,u=s.windowCenter;return d+=l,u+=c,d=Math.max(d,1),K.utilities.windowLevel.toLowHighRange(d,u)}},{key:"_getMultiplierFromDynamicRange",value:function(e,t){var n;if(t){var r,o=K.cache.getVolume(t),a=o.dimensions,i=o.getScalarData(),l=this._getImageDynamicRangeFromMiddleSlice(i,a),c=null==o||null===(r=o.metadata)||void 0===r?void 0:r.BitsStored,s=c?Math.pow(2,c):1/0;n=Math.min(l,s)}else n=this._getImageDynamicRangeFromViewport(e);var d=n/1024,u=4;return d>1&&(u=Math.round(d)),u}},{key:"_getImageDynamicRangeFromViewport",value:function(e){var t,n,r=e.getImageData().imageData,o=r.getDimensions();if(t=r.getScalarData?r.getScalarData():r.getPointData().getScalars(),1!==o[2])return this._getImageDynamicRangeFromMiddleSlice(t,o);if(t.getRange)n=t.getRange();else{var a=this._getMinMax(t,t.length);n=[a.min,a.max]}return n[1]-n[0]}},{key:"_getMinMax",value:function(e,t){for(var n=1/0,r=-1/0,o=0;o<t;o++){var a=e[o];a<n&&(n=a),a>r&&(r=a)}return{max:r,min:n}}}]),o}(Ra);te(Yf,"toolName",void 0),Yf.toolName="WindowLevel";var Xf=Yf;var Zf=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{zoomToCenter:!1,minZoomScale:.1,maxZoomScale:30,pinchToZoom:!0,pan:!0,invert:!1}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"initialMousePosWorld",void 0),te(ua(e),"dirVec",void 0),te(ua(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.element,o=n.currentPoints.world,a=(0,K.getEnabledElement)(r).viewport.getCamera().focalPoint;e.initialMousePosWorld=o;var i=gc.vec3.fromValues(a[0]-o[0],a[1]-o[1],a[2]-o[2]);return i=gc.vec3.normalize(gc.vec3.create(),i),e.dirVec=i,!1})),te(ua(e),"preTouchStartCallback",(function(t){if(!e.configuration.pinchToZoom)return e.preMouseDownCallback(t)})),te(ua(e),"_dragParallelProjection",(function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=t.detail,i=a.element,l=a.deltaPoints,c=o?t.detail.deltaDistance.canvas:l.canvas[1],s=[i.clientWidth,i.clientHeight],d=r.parallelScale,u=r.focalPoint,v=r.position,f=(1-c*(1.5/s[1])*(e.configuration.invert?-1:1))*d,g=u,h=v;if(!e.configuration.zoomToCenter){var p=gc.vec3.distance(u,e.initialMousePosWorld),m=c*(5/s[1])*(e.configuration.invert?-1:1);f=(1-m)*d,h=gc.vec3.scaleAndAdd(gc.vec3.create(),v,e.dirVec,-p*m),g=gc.vec3.scaleAndAdd(gc.vec3.create(),u,e.dirVec,-p*m)}var w=n.getImageData(),E=[1,1,1];w&&(E=w.spacing);var y=e.configuration,I=y.minZoomScale,b=y.maxZoomScale,C=i.clientHeight*E[1]*.5,_=C/f,T=f,O=!1;w&&(_<I?(T=C/I,O=!0):_>=b&&(T=C/b,O=!0)),n.setCamera({parallelScale:T,focalPoint:O?u:g,position:O?v:h})})),te(ua(e),"_dragPerspectiveProjection",(function(t,n,r){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=t.detail,i=a.element,l=a.deltaPoints,c=o?t.detail.deltaDistance.canvas:l.canvas[1],s=[i.clientWidth,i.clientHeight],d=r.position,u=r.focalPoint,v=r.viewPlaneNormal,f=su().distance2BetweenPoints(d,u),g=Math.sqrt(f)/s[1],h=[-v[0],-v[1],-v[2]],p=e.configuration.invert?c/g:c*g,m=p*h[0];d[0]+=m,u[0]+=m,m=p*h[1],d[1]+=m,u[1]+=m,m=p*h[2],d[2]+=m,u[2]+=m,n.setCamera({position:d,focalPoint:u})})),e.initialMousePosWorld=[0,0,0],e.dirVec=[0,0,0],e.configuration.pinchToZoom?e.touchDragCallback=e._pinchCallback.bind(ua(e)):e.touchDragCallback=e._dragCallback.bind(ua(e)),e.mouseDragCallback=e._dragCallback.bind(ua(e)),e}return Q(o,[{key:"_pinchCallback",value:function(e){if(e.detail.currentPointsList.length>1){var t=e.detail,n=t.element,r=t.currentPoints,o=(0,K.getEnabledElement)(n).viewport,a=o.getCamera(),i=r.world,l=a.focalPoint;this.initialMousePosWorld=i;var c=gc.vec3.fromValues(l[0]-i[0],l[1]-i[1],l[2]-i[2]);c=gc.vec3.normalize(gc.vec3.create(),c),this.dirVec=c,a.parallelProjection?this._dragParallelProjection(e,o,a,!0):this._dragPerspectiveProjection(e,o,a,!0),o.render()}this.configuration.pan&&this._panCallback(e)}},{key:"_dragCallback",value:function(e){var t=e.detail.element,n=(0,K.getEnabledElement)(t).viewport,r=n.getCamera();r.parallelProjection?this._dragParallelProjection(e,n,r):this._dragPerspectiveProjection(e,n,r),n.render()}},{key:"_panCallback",value:function(e){var t=e.detail,n=t.element,r=t.deltaPoints,o=(0,K.getEnabledElement)(n),a=r.world,i=o.viewport.getCamera(),l=i.focalPoint,c=i.position,s=[c[0]-a[0],c[1]-a[1],c[2]-a[2]],d=[l[0]-a[0],l[1]-a[1],l[2]-a[2]];o.viewport.setCamera({focalPoint:d,position:s}),o.viewport.render()}}]),o}(Ra);te(Zf,"toolName",void 0),Zf.toolName="Zoom";var Jf=Zf;var $f=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1,debounceIfNotLoaded:!0,loop:!1}};return ee(this,o),te(ua(e=r.call(this,t,n)),"deltaY",void 0),e.deltaY=1,e}return Q(o,[{key:"mouseDragCallback",value:function(e){this._dragCallback(e)}},{key:"touchDragCallback",value:function(e){this._dragCallback(e)}},{key:"_dragCallback",value:function(e){var t,n=e.detail,r=n.deltaPoints,o=n.viewportId,a=n.renderingEngineId,i=(0,K.getEnabledElementByIds)(o,a).viewport,l=this.getTargetId(i),c=this.configuration,s=c.debounceIfNotLoaded,d=c.invert,u=c.loop,v=r.canvas[1];i instanceof K.VolumeViewport&&(t=l.split("volumeId:")[1]);var f=this._getPixelPerImage(i),g=v+this.deltaY;if(f)if(Math.abs(g)>=f){var h=Math.round(g/f);pc(i,{delta:d?-h:h,volumeId:t,debounceLoading:s,loop:u}),this.deltaY=g%f}else this.deltaY=g}},{key:"_getPixelPerImage",value:function(e){var t=e.element,n=this._getNumberOfSlices(e);return Math.max(2,t.offsetHeight/Math.max(n,8))}},{key:"_getNumberOfSlices",value:function(e){return e instanceof K.VolumeViewport?K.utilities.getImageSliceDataForVolumeViewport(e).numberOfSlices:e instanceof K.StackViewport?e.getImageIds().length:void 0}}]),o}(Ra);te($f,"toolName",void 0),$f.toolName="StackScroll";var Qf=$f;function eg(e,t){return 3===e[0].length?function(e,t){var n=it(e,2),r=n[0],o=n[1],a=it(t,2),i=a[0],l=a[1],c=gc.vec3.sub(gc.vec3.create(),o,r),s=gc.vec3.sub(gc.vec3.create(),i,l),d=gc.vec3.dot(c,s)/(gc.vec3.length(c)*gc.vec3.length(s));return 180*Math.acos(d)/Math.PI}(e,t):function(e,t){var n=it(e,2),r=n[0],o=n[1],a=it(t,2),i=a[0],l=a[1],c=gc.vec2.sub(gc.vec2.create(),o,r),s=gc.vec2.sub(gc.vec2.create(),i,l),d=gc.vec2.dot(c,s)/(gc.vec2.length(c)*gc.vec2.length(s));return Math.acos(d)*(180/Math.PI)}(e,t)}var tg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),e.touchDragCallback=e._dragCallback.bind(ua(e)),e.mouseDragCallback=e._dragCallback.bind(ua(e)),e}return Q(o,[{key:"_dragCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=t.startPoints,a=r.world,i=o.world,l=(0,K.getEnabledElement)(n).viewport,c=l.getCamera(),s=[.5*n.clientWidth,.5*n.clientHeight],d=l.canvasToWorld(s),u=eg([i,d],[d,a]),v=c.viewPlaneNormal,f=c.viewUp,g=gc.vec3.sub(gc.vec3.create(),d,i),h=gc.vec3.sub(gc.vec3.create(),d,a),p=gc.vec3.cross(gc.vec3.create(),g,h);if(gc.vec3.dot(v,p)>0&&(u=-u),!Number.isNaN(u)){if(l instanceof K.BaseVolumeViewport){var m=u*Math.PI/180,w=gc.mat4.identity(new Float32Array(16));gc.mat4.rotate(w,w,m,v);var E=gc.vec3.transformMat4(gc.vec3.create(),f,w);l.setCamera({viewUp:E})}else{var y=l.getProperties().rotation;l.setProperties({rotation:y+u})}l.render()}}}]),o}(Ra);te(tg,"toolName",void 0),tg.toolName="PlanarRotate";var ng=tg;var rg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{invert:!1,debounceIfNotLoaded:!0,loop:!1}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_configuration",void 0),e}return Q(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.wheel,r=t.element,o=n.direction,a=this.configuration.invert,i=(0,K.getEnabledElement)(r).viewport,l=o*(a?-1:1),c=this.getTargetId(i).split("volumeId:")[1];pc(i,{delta:l,debounceLoading:this.configuration.debounceIfNotLoaded,loop:this.configuration.loop,volumeId:c})}}]),o}(Ra);te(rg,"toolName",void 0),rg.toolName="StackScrollMouseWheel";var og=rg;var ag={X:[1,0,0],Y:[0,1,0],Z:[0,0,1],CUSTOM:[]},ig=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{direction:ag.Z,rotateIncrementDegrees:.5}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_configuration",void 0),e}return Q(o,[{key:"mouseWheelCallback",value:function(e){var t=e.detail,n=t.element,r=t.wheel,o=(0,K.getEnabledElement)(n).viewport,a=this.configuration,i=a.direction,l=a.rotateIncrementDegrees,c=o.getCamera(),s=c.viewUp,d=c.position,u=c.focalPoint,v=r.direction,f=it(u,3),g=f[0],h=f[1],p=f[2],m=it(i,3),w=m[0],E=m[1],y=m[2],I=v*l,b=[0,0,0],C=[0,0,0],_=[0,0,0],T=gc.mat4.identity(new Float32Array(16));gc.mat4.translate(T,T,[g,h,p]),gc.mat4.rotate(T,T,I,[w,E,y]),gc.mat4.translate(T,T,[-g,-h,-p]),gc.vec3.transformMat4(b,d,T),gc.vec3.transformMat4(C,u,T),gc.mat4.identity(T),gc.mat4.rotate(T,T,I,[w,E,y]),gc.vec3.transformMat4(_,s,T),o.setCamera({position:b,viewUp:_,focalPoint:C}),o.render()}}]),o}(Ra);te(ig,"toolName",void 0),ig.toolName="VolumeRotateMouseWheel";var lg=ig;var cg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{targetViewportIds:[]}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_bounds",void 0),e}return Q(o,[{key:"mouseClickCallback",value:function(e){var t=e.detail,n=t.element,r=t.currentPoints,o=(0,K.getEnabledElement)(n),a=o.viewport,i=o.renderingEngine,l=this.getTargetId(a);if(!l.startsWith("volumeId"))throw new Error("MIPJumpToClickTool: targetId is not a volumeId, you should only use MIPJumpToClickTool with a volumeId as the targetId");var c=l.split("volumeId:")[1],s=-1/0,d=du(a,r.world,c,(function(e,t){if(e>s)return s=e,t}));if(d&&d.length){var u=this.configuration,v=u.targetViewportIds,f=u.toolGroupId;i.getViewports().filter((function(e){if((null==v?void 0:v.indexOf(e.id))>=0)return!0;var t=Br(e.id,i.id);return!(!f||f!==(null==t?void 0:t.id))})).forEach((function(e){e instanceof K.VolumeViewport?Tf(e,d):console.warn("Cannot jump to specified world coordinates for a viewport that is not a VolumeViewport")}))}}}]),o}(Ra);te(cg,"toolName",void 0),cg.toolName="MIPJumpToClickTool";var sg=cg;var dg=K.utilities.transformWorldToIndex,ug=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{preventHandleOutsideImage:!1,getTextLines:vg}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;Jl(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{handles:{points:[Rr(a),Rr(a)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),ia(c,h),g})),te(ua(e),"isPointNearTool",(function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=it(t.data.handles.points,2),i=a[0],l=a[1],c=o.worldToCanvas(i),s=o.worldToCanvas(l),d={start:{x:c[0],y:c[1]},end:{x:s[0],y:s[1]}};return ad([d.start.x,d.start.y],[d.end.x,d.end.y],[n[0],n[1]])<=r})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),Jl(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}e.editData=null,e.isDrawing=!1}})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Rr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,K.getEnabledElement)(r).renderingEngine;ia(h,i)})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_MOVE,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f=c[v],g=f.annotationUID,h=f.data,p=h.handles,m=p.points,w=p.activeHandleIndex;u.annotationUID=g;var E=e.getStyle("lineWidth",u,f),y=e.getStyle("lineDash",u,f),I=e.getStyle("color",u,f),b=e.getStyle("shadow",u,f),C=m.map((function(e){return i.worldToCanvas(e)})),_=void 0;if(h.cachedStats[s]&&null!=h.cachedStats[s].unit?f.invalidated&&e._throttledCalculateCachedStats(f,d,t):(h.cachedStats[s]={length:null,unit:null},e._calculateCachedStats(f,d,t)),Me(g)){ce(f)||e.editData||null===w||(_=[C[w]]),_&&Pc(n,g,"0",C,{color:I,lineDash:y,lineWidth:E});var T="".concat(g,"-line");if(Rc(n,g,"1",C[0],C[1],{color:I,width:E,lineDash:y,shadow:b},T),a=!0,!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;var O=e.getLinkedTextBoxStyle(u,f);if(O.visibility){var D=e.configuration.getTextLines(h,s);if(!h.handles.textBox.hasMoved){var S=ld(C);h.handles.textBox.worldPosition=i.canvasToWorld(S)}var M=i.worldToCanvas(h.handles.textBox.worldPosition),k=jc(n,g,"1",D,M,C,{},O),x=k.x,P=k.y,R=k.width,A=k.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([x,P]),topRight:i.canvasToWorld([x+R,P]),bottomLeft:i.canvasToWorld([x,P+A]),bottomRight:i.canvasToWorld([x+R,P+A])}}else h.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=Ws(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),Jl(r);var c=(0,K.getEnabledElement)(r).renderingEngine;ia(c,l),e.preventDefault()}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}},{key:"_calculateCachedStats",value:function(e,t,n){for(var r=e.data,o=n.viewportId,a=n.renderingEngineId,i=r.handles.points[0],l=r.handles.points[1],c=r.cachedStats,s=Object.keys(c),d=0;d<s.length;d++){var u=s[d],v=this.getTargetIdImage(u,t);if(v){var f=v.imageData,g=v.dimensions,h=nd(v),p=this._calculateLength(i,l)/h,m=dg(f,i),w=dg(f,l);this._isInsideVolume(m,w,g)?this.isHandleOutsideImage=!1:this.isHandleOutsideImage=!0,c[u]={length:p,unit:ed(0,v)}}}e.invalidated=!1;var E=X.ANNOTATION_MODIFIED,y={annotation:e,viewportId:o,renderingEngineId:a};return(0,K.triggerEvent)(K.eventTarget,E,y),c}},{key:"_isInsideVolume",value:function(e,t,n){return K.utilities.indexWithinDimensions(e,n)&&K.utilities.indexWithinDimensions(t,n)}}]),o}(Js);function vg(e,t){var n=e.cachedStats[t],r=n.length,o=n.unit;if(null!=r&&!isNaN(r))return["".concat(ns(r)," ").concat(o)]}te(ug,"toolName",void 0),ug.toolName="Length";var fg=ug,gg=E(847),hg=E.n(gg);var pg=K.CONSTANTS.RENDERING_DEFAULTS;function mg(){return"rgb(0, 200, 0)"}function wg(){return!0}function Eg(){return!0}function yg(){return!0}var Ig=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t,n,a,i,l=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse"],configuration:{shadow:!0,viewportIndicators:!0,autoPan:{enabled:!1,panSize:10},referenceLinesCenterGapRadius:20,filterActorUIDsToSetSlabThickness:[],slabThicknessBlendMode:K.Enums.BlendModes.MAXIMUM_INTENSITY_BLEND,mobile:{enabled:!1,opacity:.8,handleRadius:9}}};return ee(this,o),te(ua(i=r.call(this,l,c)),"toolCenter",[0,0,0]),te(ua(i),"_getReferenceLineColor",void 0),te(ua(i),"_getReferenceLineControllable",void 0),te(ua(i),"_getReferenceLineDraggableRotatable",void 0),te(ua(i),"_getReferenceLineSlabThicknessControlsOn",void 0),te(ua(i),"editData",void 0),te(ua(i),"initializeViewport",(function(e){var t=e.renderingEngineId,n=e.viewportId,r=(0,K.getEnabledElementByIds)(n,t),o=r.FrameOfReferenceUID,a=r.viewport,l=a.element,c=a.getCamera(),s=c.position,d=c.focalPoint,u=c.viewPlaneNormal,v=i._getAnnotations(r);return(v=i.filterInteractableAnnotationsForElement(l,v)).length&&tt(v[0].annotationUID),Qe({highlighted:!1,metadata:{cameraPosition:Rr(s),cameraFocalPoint:Rr(d),FrameOfReferenceUID:o,toolName:i.getToolName()},data:{handles:{rotationPoints:[],slabThicknessPoints:[],toolCenter:i.toolCenter},activeOperation:null,activeViewportIds:[],viewportId:n}},l),{normal:u,point:a.canvasToWorld([a.canvas.clientWidth/2,a.canvas.clientHeight/2])}})),te(ua(i),"_getViewportsInfo",(function(){return da(i.toolGroupId).viewportsInfo})),te(ua(i),"computeToolCenter",(function(e){if(!e.length||1===e.length)throw new Error("For crosshairs to operate, at least two viewports must be given.");var t=it(e,3),n=t[0],r=t[1],o=t[2],a=i.initializeViewport(n),l=a.normal,c=a.point,s=i.initializeViewport(r),d=s.normal,u=s.point,v=[0,0,0],f=gc.vec3.create();if(o){var g=i.initializeViewport(o);v=g.normal,f=g.point}else gc.vec3.add(f,c,u),gc.vec3.scale(f,f,.5),gc.vec3.cross(v,l,d);var h=K.utilities.planar.planeEquation(l,c),p=K.utilities.planar.planeEquation(d,u),m=K.utilities.planar.planeEquation(v,f);i.toolCenter=K.utilities.planar.threePlaneIntersection(h,p,m);var w=(0,K.getEnabledElementByIds)(e[0].viewportId,e[0].renderingEngineId).renderingEngine;ia(w,e.map((function(e){return e.viewportId})))})),te(ua(i),"addNewAnnotation",(function(e){var t=e.detail,n=t.element,r=t.currentPoints.world,o=(0,K.getEnabledElement)(n),a=o.viewport;i._jump(o,r);for(var l=i._getAnnotations(o),c=i.filterInteractableAnnotationsForElement(a.element,l),s=c[0].data,d=s.handles.rotationPoints,u=[],v=0;v<d.length-1;++v){var f=d[v][1],g=i._getReferenceLineControllable(f.id),h=i._getReferenceLineDraggableRotatable(f.id);g&&h&&(u.push(f.id),v++)}return s.activeViewportIds=[].concat(u),s.handles.activeOperation=1,e.preventDefault(),Jl(n),i._activateModify(n),c[0]})),te(ua(i),"cancel",(function(){console.log("Not implemented yet")})),te(ua(i),"handleSelectedCallback",(function(e,t){var n=e.detail.element;t.highlighted=!0,i._activateModify(n),Jl(n),e.preventDefault()})),te(ua(i),"isPointNearTool",(function(e,t,n,r){return!!i._pointNearTool(e,t,n,6)})),te(ua(i),"toolSelectedCallback",(function(e,t,n){var r=e.detail.element;t.highlighted=!0,i._activateModify(r),Jl(r),e.preventDefault()})),te(ua(i),"onCameraModified",(function(e){var t,n=e.detail.element,r=(0,K.getEnabledElement)(n),o=r.renderingEngine,a=r.viewport,l=i._getAnnotations(r),c=i.filterInteractableAnnotationsForElement(n,l)[0];if(c){var s=a.getCamera(),d=c.metadata.cameraPosition,u=[0,0,0];su().subtract(s.position,d,u);var v=c.metadata.cameraFocalPoint,f=[0,0,0];su().subtract(s.focalPoint,v,f),c.metadata.cameraPosition=Rr(s.position),c.metadata.cameraFocalPoint=Rr(s.focalPoint);var g=i._getReferenceLineControllable(a.id),h=i._getReferenceLineDraggableRotatable(a.id);if(!K.utilities.isEqual(s.position,d,.001)&&g&&h){var p=!1;K.utilities.isEqual(u,f,.001)||(p=!0);var m=Math.abs(su().dot(u,s.viewPlaneNormal))<.01;p||m||(i.toolCenter[0]+=u[0],i.toolCenter[1]+=u[1],i.toolCenter[2]+=u[2])}null!==(t=i.configuration.autoPan)&&void 0!==t&&t.enabled&&Br(a.id,o.id).getViewportIds().filter((function(e){return e!==a.id})).forEach((function(e){i._autoPanViewportIfNecessary(e,o)}));var w=Ws(n,i.getToolName(),!1);ia(o,w)}})),te(ua(i),"mouseMoveCallback",(function(e,t){for(var n=e.detail,r=n.element,o=n.currentPoints.canvas,a=!1,l=0;l<t.length;l++){var c=t[l];if(!ce(c)){var s=c.data,d=c.highlighted;if(s.handles){var u=s.handles.activeOperation,v=s.activeViewportIds&&s.activeViewportIds.length>0?Rr(s.activeViewportIds):[];s.activeViewportIds=[],s.handles.activeOperation=null;var f;(f=!!i.getHandleNearImagePoint(r,c,o,6)||i._pointNearTool(r,c,o,6))&&!d||!f&&d?(c.highlighted=!d,a=!0):s.handles.activeOperation===u&&i._areViewportIdArraysEqual(s.activeViewportIds,v)||(a=!0)}}}return a})),te(ua(i),"filterInteractableAnnotationsForElement",(function(e,t){if(!t||!t.length)return[];var n=(0,K.getEnabledElement)(e).viewportId;return t.filter((function(e){return e.data.viewportId===n}))})),te(ua(i),"renderAnnotation",(function(e,t){var n=!1,r=e.viewport,o=e.renderingEngine,a=r.element,l=i._getAnnotations(e),c=r.getCamera(),s=i.filterInteractableAnnotationsForElement(a,l)[0];if(null==l||!l.length||null==s||!s.data)return n;var d=s.annotationUID,u=r.canvas,v=u.clientWidth,f=u.clientHeight,g=Math.sqrt(v*v+f*f),h=Math.min(v,f),p=s.data,m=r.worldToCanvas(i.toolCenter),w=i._filterAnnotationsByUniqueViewportOrientations(e,l),E=[],y=[0,0,v,f];w.forEach((function(e){var t=e.data;t.handles.toolCenter=i.toolCenter;var n=o.getViewport(t.viewportId),a=n.getCamera(),l=i._getReferenceLineControllable(n.id),s=i._getReferenceLineDraggableRotatable(n.id),d=i._getReferenceLineSlabThicknessControlsOn(n.id),u=n.canvas,v=u.clientWidth,f=u.clientHeight,p=Math.sqrt(v*v+f*f),I=[.5*v,.5*f],b=n.canvasToWorld(I),C=[0,0,0];su().cross(c.viewPlaneNormal,a.viewPlaneNormal,C),su().normalize(C),su().multiplyScalar(C,p);var _=[0,0,0];su().add(b,C,_);var T=[0,0,0];su().subtract(b,C,T);var O=r.worldToCanvas(_),D=r.worldToCanvas(b),S=gc.vec2.create();gc.vec2.subtract(S,O,D),gc.vec2.normalize(S,S);var M=gc.vec2.create();gc.vec2.scale(M,S,100*g);var k=gc.vec2.create();gc.vec2.scale(k,S,.4*h);var x=gc.vec2.create();gc.vec2.scale(x,S,.2*h);var P=gc.vec2.create(),R=i.configuration.referenceLinesCenterGapRadius;gc.vec2.scale(P,S,2===w.length?R:0);var A=gc.vec2.create(),N=gc.vec2.create(),L=gc.vec2.create(),U=gc.vec2.create(),V=gc.vec2.clone(m);s&&l||(V=gc.vec2.clone(D)),gc.vec2.add(A,V,P),gc.vec2.add(N,V,M),gc.vec2.subtract(L,V,P),gc.vec2.subtract(U,V,M),zd(A,N,y),zd(L,U,y);var B=gc.vec2.create();gc.vec2.subtract(B,m,k);var j=gc.vec2.create();gc.vec2.add(j,m,k);var W=gc.vec2.clone(m);!s&&d&&(W=gc.vec2.clone(D));var H=Rr(i.toolCenter);!s&&d&&(H=Rr(b));var F=[0,0,0];su().subtract(_,T,F),su().normalize(F);var G=c.viewPlaneNormal,q=hg().buildFromDegree().rotate(90,G).matrix,z=[0,0,0];gc.vec3.transformMat4(z,F,q);var K=n.getSlabThickness(),Y=[].concat(z);su().multiplyScalar(Y,K);var X=[0,0,0];su().add(H,Y,X);var Z=r.worldToCanvas(X),J=gc.vec2.create();gc.vec2.subtract(J,W,Z);var $=gc.vec2.create();gc.vec2.subtract($,W,M),gc.vec2.add($,$,J);var Q=gc.vec2.create();gc.vec2.add(Q,W,M),gc.vec2.add(Q,Q,J),zd($,Q,y);var ee=gc.vec2.create();gc.vec2.add(ee,W,M),gc.vec2.subtract(ee,ee,J);var te=gc.vec2.create();gc.vec2.subtract(te,W,M),gc.vec2.subtract(te,te,J),zd(ee,te,y);var ne=gc.vec2.create(),re=gc.vec2.create(),oe=gc.vec2.create(),ae=gc.vec2.create();gc.vec2.subtract(ne,W,x),gc.vec2.add(ne,ne,J),gc.vec2.add(re,W,x),gc.vec2.add(re,re,J),gc.vec2.subtract(oe,W,x),gc.vec2.subtract(oe,oe,J),gc.vec2.add(ae,W,x),gc.vec2.subtract(ae,ae,J),E.push([n,A,N,L,U,$,Q,ee,te,B,j,ne,re,oe,ae])}));var I=[],b=[],C=i._getReferenceLineColor(r.id),_=void 0!==C?C:"rgb(200, 200, 200)";return E.forEach((function(e,n){var o,a,l=e[0],c=i._getReferenceLineColor(l.id),s=i._getReferenceLineControllable(l.id),u=i._getReferenceLineDraggableRotatable(l.id)||(null===(o=i.configuration.mobile)||void 0===o?void 0:o.enabled),v=i._getReferenceLineSlabThicknessControlsOn(l.id)||(null===(a=i.configuration.mobile)||void 0===a?void 0:a.enabled),f=p.activeViewportIds.find((function(e){return e===l.id})),g=void 0!==c?c:"rgb(200, 200, 200)",h=1,m=null!==p.handles.activeOperation&&1===p.handles.activeOperation&&f;m&&(h=2.5);var w="".concat(n);if(s&&u?(w="".concat(n,"One"),Rc(t,d,w,e[1],e[2],{color:g,lineWidth:h}),w="".concat(n,"Two"),Rc(t,d,w,e[3],e[4],{color:g,lineWidth:h})):Rc(t,d,w,e[2],e[4],{color:g,lineWidth:h}),s){var E;g=void 0!==c?c:"rgb(200, 200, 200)";var y=2===p.handles.activeOperation,C=[e[9],e[10]],_=[r.canvasToWorld(e[9]),l,e[1],e[2]],T=[r.canvasToWorld(e[10]),l,e[3],e[4]];I.push(_,T);var O=3===p.handles.activeOperation,D=[e[11],e[12],e[13],e[14]],S=[r.canvasToWorld(e[11]),l,e[5],e[6]],M=[r.canvasToWorld(e[12]),l,e[5],e[6]],k=[r.canvasToWorld(e[13]),l,e[7],e[8]],x=[r.canvasToWorld(e[14]),l,e[7],e[8]];if(b.push(S,M,k,x),(m||null!==(E=i.configuration.mobile)&&void 0!==E&&E.enabled)&&!y&&!O&&u&&v){var P,R,A,N,L,U,V,B,j="".concat(n,"One");Pc(t,d,j,C,{color:g,handleRadius:null!==(P=i.configuration.mobile)&&void 0!==P&&P.enabled?null===(R=i.configuration.mobile)||void 0===R?void 0:R.handleRadius:3,opacity:null!==(A=i.configuration.mobile)&&void 0!==A&&A.enabled?null===(N=i.configuration.mobile)||void 0===N?void 0:N.opacity:1,type:"circle"}),j="".concat(n,"Two"),Pc(t,d,j,D,{color:g,handleRadius:null!==(L=i.configuration.mobile)&&void 0!==L&&L.enabled?null===(U=i.configuration.mobile)||void 0===U?void 0:U.handleRadius:3,opacity:null!==(V=i.configuration.mobile)&&void 0!==V&&V.enabled?null===(B=i.configuration.mobile)||void 0===B?void 0:B.opacity:1,type:"rect"})}else if(m&&!y&&!O&&u){var W,H,F,G,q="".concat(n);Pc(t,d,q,C,{color:g,handleRadius:null!==(W=i.configuration.mobile)&&void 0!==W&&W.enabled?null===(H=i.configuration.mobile)||void 0===H?void 0:H.handleRadius:3,opacity:null!==(F=i.configuration.mobile)&&void 0!==F&&F.enabled?null===(G=i.configuration.mobile)||void 0===G?void 0:G.opacity:1,type:"circle"})}else if(f&&!y&&!O&&v){var z,K,Y,X,Z="".concat(n);Pc(t,d,Z,D,{color:g,handleRadius:null!==(z=i.configuration.mobile)&&void 0!==z&&z.enabled?null===(K=i.configuration.mobile)||void 0===K?void 0:K.handleRadius:3,opacity:null!==(Y=i.configuration.mobile)&&void 0!==Y&&Y.enabled?null===(X=i.configuration.mobile)||void 0===X?void 0:X.opacity:1,type:"rect"})}else if(y&&u){var J="".concat(n);Pc(t,d,J,C,{color:g,handleRadius:2,fill:g,type:"circle"})}else O&&f&&v&&Pc(t,d,w,D,{color:g,handleRadius:2,fill:g,type:"rect"});l.getSlabThickness()>.5&&v&&(w="".concat(n,"STOne"),Rc(t,d,w,e[5],e[6],{color:g,width:1,lineDash:[2,3]}),w="".concat(n,"STTwo"),Rc(t,d,w,e[7],e[8],{color:g,width:e,lineDash:[2,3]}))}})),n=!0,p.handles.rotationPoints=I,p.handles.slabThicknessPoints=b,i.configuration.viewportIndicators&&kc(t,d,"0",[.95*v,.05*f],.01*g,{color:_,fill:_}),n})),te(ua(i),"_getAnnotations",(function(e){var t=e.viewport;return $e(i.getToolName(),t.element)})),te(ua(i),"_onNewVolume",(function(e){var t=i._getViewportsInfo();i.computeToolCenter(t)})),te(ua(i),"_areViewportIdArraysEqual",(function(e,t){return e.length===t.length&&(e.forEach((function(e){for(var n=!1,r=0;r<t.length;++r)if(e===t[r]){n=!0;break}if(!1===n)return!1})),!0)})),te(ua(i),"_getAnnotationsForViewportsWithDifferentCameras",(function(e,t){var n=e.viewportId,r=e.renderingEngine,o=e.viewport,a=t.filter((function(e){return e.data.viewportId!==n}));if(!a||!a.length)return[];var i=o.getCamera(),l=i.viewPlaneNormal,c=i.position,s=a.filter((function(e){var t=e.data.viewportId,n=r.getViewport(t).getCamera();return!(K.utilities.isEqual(n.viewPlaneNormal,l,.01)&&K.utilities.isEqual(n.position,c,1))}));return s})),te(ua(i),"_filterViewportWithSameOrientation",(function(e,t,n){var r=e.renderingEngine,o=t.data,a=r.getViewport(o.viewportId),l=n.filter((function(e){var t=e.data,n=r.getViewport(t.viewportId);return!0===i._getReferenceLineControllable(n.id)}));if(!l||!l.length)return[];var c=a.getCamera(),s=c.viewPlaneNormal;return su().normalize(s),l.filter((function(e){var t=e.data.viewportId,n=r.getViewport(t).getCamera(),o=n.viewPlaneNormal;return su().normalize(o),K.utilities.isEqual(s,o,.01)&&K.utilities.isEqual(c.viewUp,n.viewUp,.01)}))})),te(ua(i),"_filterAnnotationsByUniqueViewportOrientations",(function(e,t){var n=e.renderingEngine,r=e.viewport,o=r.getCamera().viewPlaneNormal;su().normalize(o);for(var a=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportId),a=i._getReferenceLineControllable(o.id);return r!==o&&!0===a})),l=[],c=0;c<a.length;++c){var s=a[c],d=s.data.viewportId,u=n.getViewport(d).getCamera(),v=u.viewPlaneNormal;if(su().normalize(v),!K.utilities.isEqual(o,v,.01)&&!K.utilities.isOpposite(o,v,.01)){for(var f=!1,g=0;g<l.length;++g){var h=l[g].data.viewportId,p=n.getViewport(h).getCamera();K.utilities.isEqual(p.viewPlaneNormal,u.viewPlaneNormal,.01)&&K.utilities.isEqual(p.position,u.position,1)&&(f=!0)}f||l.push(s)}}for(var m=t.filter((function(e){var t=e.data,o=n.getViewport(t.viewportId),a=i._getReferenceLineControllable(o.id);return r!==o&&!0!==a})),w=0;w<m.length;++w){var E=m[w],y=E.data.viewportId,I=n.getViewport(y).getCamera(),b=I.viewPlaneNormal;if(su().normalize(b),!K.utilities.isEqual(o,b,.01)&&!K.utilities.isOpposite(o,b,.01)){for(var C=!1,_=0;_<l.length;++_){var T=l[_].data.viewportId,O=n.getViewport(T).getCamera();K.utilities.isEqual(O.viewPlaneNormal,I.viewPlaneNormal,.01)&&K.utilities.isEqual(O.position,I.position,1)&&(C=!0)}C||l.push(E)}}for(var D=i._getAnnotationsForViewportsWithDifferentCameras(e,t),S=function(){var e=D[M];if(l.some((function(t){return t===e})))return"continue";var t=e.data.viewportId,r=n.getViewport(t).getCamera(),a=r.viewPlaneNormal;if(su().normalize(a),K.utilities.isEqual(o,a,.01)||K.utilities.isOpposite(o,a,.01))return"continue";for(var i=!1,c=0;c<l.length;++c){var s=l[c].data.viewportId,d=n.getViewport(s).getCamera();K.utilities.isEqual(d.viewPlaneNormal,r.viewPlaneNormal,.01)&&K.utilities.isEqual(d.position,r.position,1)&&(i=!0)}i||l.push(e)},M=0;M<D.length;++M)S();return l})),te(ua(i),"_checkIfViewportsRenderingSameScene",(function(e,t){var n=e.getActors(),r=t.getActors(),o=!0;return n.forEach((function(e){n.length===r.length&&void 0!==r.find((function(t){return t.uid===e.uid}))||(o=!1)})),o})),te(ua(i),"_jump",(function(e,t){Fe.isInteractingWithTool=!0;var n=e.viewport,r=e.renderingEngine,o=i._getAnnotations(e),a=[0,0,0];su().subtract(t,i.toolCenter,a);var l=i._getAnnotationsForViewportsWithDifferentCameras(e,o).filter((function(e){var t=e.data,o=r.getViewport(t.viewportId),a=i._checkIfViewportsRenderingSameScene(n,o);return i._getReferenceLineControllable(o.id)&&i._getReferenceLineDraggableRotatable(o.id)&&a}));return 0===l.length?(Fe.isInteractingWithTool=!1,!1):(i._applyDeltaShiftToSelectedViewportCameras(r,l,a),Fe.isInteractingWithTool=!1,!0)})),te(ua(i),"_activateModify",(function(e){var t;Fe.isInteractingWithTool=!(null!==(t=i.configuration.mobile)&&void 0!==t&&t.enabled),e.addEventListener(X.MOUSE_UP,i._endCallback),e.addEventListener(X.MOUSE_DRAG,i._dragCallback),e.addEventListener(X.MOUSE_CLICK,i._endCallback),e.addEventListener(X.TOUCH_END,i._endCallback),e.addEventListener(X.TOUCH_DRAG,i._dragCallback),e.addEventListener(X.TOUCH_TAP,i._endCallback)})),te(ua(i),"_deactivateModify",(function(e){Fe.isInteractingWithTool=!1,e.removeEventListener(X.MOUSE_UP,i._endCallback),e.removeEventListener(X.MOUSE_DRAG,i._dragCallback),e.removeEventListener(X.MOUSE_CLICK,i._endCallback),e.removeEventListener(X.TOUCH_END,i._endCallback),e.removeEventListener(X.TOUCH_DRAG,i._dragCallback),e.removeEventListener(X.TOUCH_TAP,i._endCallback)})),te(ua(i),"_endCallback",(function(e){var t=e.detail.element;i.editData.annotation.data.handles.activeOperation=null,i.editData.annotation.data.activeViewportIds=[],i._deactivateModify(t),Zl(t),i.editData=null;var n=(0,K.getEnabledElement)(t).renderingEngine,r=Ws(t,i.getToolName(),!1);ia(n,r)})),te(ua(i),"_dragCallback",(function(e){var t=e.detail,n=t.deltaPoints.world;if(!(Math.abs(n[0])<.001&&Math.abs(n[1])<.001&&Math.abs(n[2])<.001)){var r=t.element,o=(0,K.getEnabledElement)(r),a=o.renderingEngine,l=o.viewport,c=i._getAnnotations(o),s=i.filterInteractableAnnotationsForElement(r,c)[0];if(s){var d=s.data.handles,u=e.detail.currentPoints.canvas;if(1===d.activeOperation){var v=i._getAnnotationsForViewportsWithDifferentCameras(o,c).filter((function(e){var t=e.data,n=a.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineDraggableRotatable(n.id);return!0===r&&!0===o&&s.data.activeViewportIds.find((function(e){return e===n.id}))}));i._applyDeltaShiftToSelectedViewportCameras(a,v,n)}else if(2===d.activeOperation){var f=i._getAnnotationsForViewportsWithDifferentCameras(o,c).filter((function(e){var t=e.data,n=a.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineDraggableRotatable(n.id);return!0===r&&!0===o})),g=gc.vec2.create(),h=gc.vec2.create(),p=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]],m=l.worldToCanvas(p),w=t.currentPoints.canvas,E=gc.vec2.create();gc.vec2.sub(E,w,t.deltaPoints.canvas),gc.vec2.sub(g,E,m),gc.vec2.sub(h,w,m);var y=gc.vec2.angle(g,h);i._isClockWise(m,E,w)&&(y*=-1),y=Math.round(100*y)/100;var I=l.getCamera().viewPlaneNormal,b=hg().buildFromRadian().translate(p[0],p[1],p[2]).rotate(y,I).translate(-p[0],-p[1],-p[2]).matrix,C=[];f.forEach((function(e){var t=e.data;t.handles.toolCenter=p;var n=a.getViewport(t.viewportId),r=n.getCamera(),o=r.viewUp,i=r.position,l=r.focalPoint;o[0]+=i[0],o[1]+=i[1],o[2]+=i[2],gc.vec3.transformMat4(l,l,b),gc.vec3.transformMat4(i,i,b),gc.vec3.transformMat4(o,o,b),o[0]-=i[0],o[1]-=i[1],o[2]-=i[2],n.setCamera({position:i,viewUp:o,focalPoint:l}),C.push(n.id)})),a.renderViewports(C)}else if(3===d.activeOperation){var _=i._getAnnotationsForViewportsWithDifferentCameras(o,c).filter((function(e){var t=e.data,n=a.getViewport(t.viewportId),r=i._getReferenceLineControllable(n.id),o=i._getReferenceLineSlabThicknessControlsOn(n.id);return!0===r&&!0===o&&s.data.activeViewportIds.find((function(e){return e===n.id}))}));if(0===_.length)return;var T=i._filterViewportWithSameOrientation(o,_[0],c),O=[];O.push(l.id),T.forEach((function(e){var r=e.data,o=a.getViewport(r.viewportId),c=o.getCamera().viewPlaneNormal,d=su().dot(n,c),v=Rr(c);if(su().multiplyScalar(v,d),Math.abs(v[0])>.001||Math.abs(v[1])>.001||Math.abs(v[2])>.001){var f=Math.sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]),g=t.lastPoints.world,h=[0,0,0],p=[i.toolCenter[0],i.toolCenter[1],i.toolCenter[2]];if(!i._getReferenceLineDraggableRotatable(o.id)){var m=i.editData.annotation.data.handles.rotationPoints.filter((function(e){return e[1].uid===o.id}));if(2===m.length){var w=l.canvasToWorld(m[0][3]),E=l.canvasToWorld(m[1][3]);su().add(w,E,p),su().multiplyScalar(p,.5)}}su().subtract(g,p,h);var y=su().dot(h,c),I=Rr(c);su().multiplyScalar(I,y);var b=[I[0],I[1],I[2]];gc.vec3.normalize(b,b);var C=[v[0],v[1],v[2]];gc.vec3.normalize(C,C);var _=o.getSlabThickness();K.utilities.isOpposite(b,C,.001)?_-=f:_+=f,_=Math.abs(_),_=Math.max(pg.MINIMUM_SLAB_THICKNESS,_),i._pointNearReferenceLine(s,u,6,o)&&(_=pg.MINIMUM_SLAB_THICKNESS),Br(o.id,a.id).getToolInstance(i.getToolName()).setSlabThickness(o,_),O.push(o.id)}})),a.renderViewports(O)}}}})),te(ua(i),"_pointNearReferenceLine",(function(e,t,n,r){for(var o=e.data.handles.rotationPoints,a=0;a<o.length-1;++a){var l=o[a][1];if(l.id===r.id&&i._getReferenceLineControllable(l.id)){var c={start:{x:o[a][2][0],y:o[a][2][1]},end:{x:o[a][3][0],y:o[a][3][1]}},s=ad([c.start.x,c.start.y],[c.end.x,c.end.y],[t[0],t[1]]),d={start:{x:o[a+1][2][0],y:o[a+1][2][1]},end:{x:o[a+1][3][0],y:o[a+1][3][1]}},u=ad([d.start.x,d.start.y],[d.end.x,d.end.y],[t[0],t[1]]);if(s<=n||u<=n)return!0;a++}}return!1})),i._getReferenceLineColor=(null===(e=l.configuration)||void 0===e?void 0:e.getReferenceLineColor)||mg,i._getReferenceLineControllable=(null===(t=l.configuration)||void 0===t?void 0:t.getReferenceLineControllable)||wg,i._getReferenceLineDraggableRotatable=(null===(n=l.configuration)||void 0===n?void 0:n.getReferenceLineDraggableRotatable)||Eg,i._getReferenceLineSlabThicknessControlsOn=(null===(a=l.configuration)||void 0===a?void 0:a.getReferenceLineSlabThicknessControlsOn)||yg,i}return Q(o,[{key:"onSetToolActive",value:function(){var e=this._getViewportsInfo();this._unsubscribeToViewportNewVolumeSet(e),this._subscribeToViewportNewVolumeSet(e),this.computeToolCenter(e)}},{key:"onSetToolPassive",value:function(){var e=this._getViewportsInfo();this.computeToolCenter(e)}},{key:"onSetToolEnabled",value:function(){var e=this._getViewportsInfo();this.computeToolCenter(e)}},{key:"onSetToolDisabled",value:function(){var e=this,t=this._getViewportsInfo();this._unsubscribeToViewportNewVolumeSet(t),t.forEach((function(t){var n=t.renderingEngineId,r=t.viewportId,o=(0,K.getEnabledElementByIds)(r,n);if(o){var a=e._getAnnotations(o);null!=a&&a.length&&a.forEach((function(e){tt(e.annotationUID)}))}}))}},{key:"getHandleNearImagePoint",value:function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=this._getRotationHandleNearImagePoint(o,t,n,r);return null!==a||null!==(a=this._getSlabThicknessHandleNearImagePoint(o,t,n,r))?a:void 0}},{key:"_unsubscribeToViewportNewVolumeSet",value:function(e){var t=this;e.forEach((function(e){var n=e.viewportId,r=e.renderingEngineId;(0,K.getEnabledElementByIds)(n,r).viewport.element.removeEventListener(K.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,t._onNewVolume)}))}},{key:"_subscribeToViewportNewVolumeSet",value:function(e){var t=this;e.forEach((function(e){var n=e.viewportId,r=e.renderingEngineId;(0,K.getEnabledElementByIds)(n,r).viewport.element.addEventListener(K.Enums.Events.VOLUME_VIEWPORT_NEW_VOLUME,t._onNewVolume)}))}},{key:"_autoPanViewportIfNecessary",value:function(e,t){var n=t.getViewport(e),r=n.canvas,o=r.clientWidth,a=r.clientHeight,i=n.worldToCanvas(this.toolCenter),l=this.configuration.autoPan.panSize,c=[i[0],i[1]];if(i[0]<0?c[0]=l:i[0]>o&&(c[0]=o-l),i[1]<0?c[1]=l:i[1]>a&&(c[1]=a-l),c[0]!==i[0]||c[1]!==i[1]){var s=n.canvasToWorld(c),d=[s[0]-this.toolCenter[0],s[1]-this.toolCenter[1],s[2]-this.toolCenter[2]],u=n.getCamera(),v=u.focalPoint,f=u.position,g=[f[0]-d[0],f[1]-d[1],f[2]-d[2]],h=[v[0]-d[0],v[1]-d[1],v[2]-d[2]];n.setCamera({focalPoint:h,position:g}),n.render()}}},{key:"setSlabThickness",value:function(e,t){var n,r=this.configuration.filterActorUIDsToSetSlabThickness;r&&r.length>0&&(n=r);var o=this.configuration.slabThicknessBlendMode;t===pg.MINIMUM_SLAB_THICKNESS&&(o=K.Enums.BlendModes.COMPOSITE),e.setBlendMode(o,n,!1),e.setSlabThickness(t,n)}},{key:"_isClockWise",value:function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])>0}},{key:"_applyDeltaShiftToSelectedViewportCameras",value:function(e,t,n){var r=this;t.forEach((function(t){r._applyDeltaShiftToViewportCamera(e,t,n)}))}},{key:"_applyDeltaShiftToViewportCamera",value:function(e,t,n){var r=t.data,o=e.getViewport(r.viewportId),a=o.getCamera(),i=a.viewPlaneNormal,l=su().dot(n,i),c=Rr(i);if(su().multiplyScalar(c,l),Math.abs(c[0])>.001||Math.abs(c[1])>.001||Math.abs(c[2])>.001){var s=[0,0,0],d=[0,0,0];su().add(a.focalPoint,c,s),su().add(a.position,c,d),o.setCamera({focalPoint:s,position:d}),o.render()}}},{key:"_getRotationHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.rotationPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.id)&&this._getReferenceLineDraggableRotatable(c.id)){var s=e.worldToCanvas(l);if(gc.vec2.distance(n,s)<r)return o.handles.activeOperation=2,this.editData={annotation:t},l}}return null}},{key:"_getSlabThicknessHandleNearImagePoint",value:function(e,t,n,r){for(var o=t.data,a=o.handles.slabThicknessPoints,i=0;i<a.length;i++){var l=a[i][0],c=a[i][1];if(this._getReferenceLineControllable(c.id)&&this._getReferenceLineSlabThicknessControlsOn(c.id)){var s=e.worldToCanvas(l);if(gc.vec2.distance(n,s)<r)return o.handles.activeOperation=3,o.activeViewportIds=[c.id],this.editData={annotation:t},l}}return null}},{key:"_pointNearTool",value:function(e,t,n,r){for(var o=this,a=(0,K.getEnabledElement)(e).viewport.canvas,i=a.clientWidth,l=a.clientHeight,c=Math.sqrt(i*i+l*l),s=t.data,d=s.handles.rotationPoints,u=s.handles.slabThicknessPoints,v=[],f=0;f<d.length-1;++f){var g=d[f][1],h=this._getReferenceLineControllable(g.id),p=this._getReferenceLineDraggableRotatable(g.id);if(h&&p){var m={start:{x:d[f][2][0],y:d[f][2][1]},end:{x:d[f][3][0],y:d[f][3][1]}},w=ad([m.start.x,m.start.y],[m.end.x,m.end.y],[n[0],n[1]]),E={start:{x:d[f+1][2][0],y:d[f+1][2][1]},end:{x:d[f+1][3][0],y:d[f+1][3][1]}},y=ad([E.start.x,E.start.y],[E.end.x,E.end.y],[n[0],n[1]]);(w<=r||y<=r)&&(v.push(g.id),s.handles.activeOperation=1),f++}}for(var I=function(e){var t=u[e][1];if(v.find((function(e){return e===t.id})))return b=e,"continue";var a=o._getReferenceLineControllable(t.id),i=o._getReferenceLineSlabThicknessControlsOn(t.id);if(!a||!i)return b=e,"continue";var l=u[e][2],d=u[e][3],f=gc.vec2.create();gc.vec2.add(f,l,d),gc.vec2.scale(f,f,.5);var g=gc.vec2.create();gc.vec2.subtract(g,l,f),gc.vec2.normalize(g,g);var h=gc.vec2.create();gc.vec2.scale(h,g,.05*c);var p=gc.vec2.create(),m=gc.vec2.create();gc.vec2.add(p,f,h),gc.vec2.subtract(m,f,h);var w={start:{x:p[0],y:p[1]},end:{x:l[0],y:l[1]}},E=ad([w.start.x,w.start.y],[w.end.x,w.end.y],[n[0],n[1]]),y={start:{x:m[0],y:m[1]},end:{x:d[0],y:d[1]}},I=ad([y.start.x,y.start.y],[y.end.x,y.end.y],[n[0],n[1]]);(E<=r||I<=r)&&(v.push(t.id),s.handles.activeOperation=null),e++,b=e},b=0;b<u.length-1;++b)I(b);return s.activeViewportIds=[].concat(v),this.editData={annotation:t},1===s.handles.activeOperation}}]),o}(Js);te(Ig,"toolName",void 0),Ig.toolName="Crosshairs";var bg=Ig;var Cg=K.CONSTANTS.EPSILON,_g=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{sourceViewportId:"",showFullDimension:!1}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",{}),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"_init",(function(){var t=(0,K.getRenderingEngines)()[0];if(t){var n=t.getViewports();n=Vs(n,e.getToolName());var r=t.getViewport(e.configuration.sourceViewportId);if(r&&r.getImageData()){var o=r.element,a=r.getCamera(),i=a.viewUp,l=a.viewPlaneNormal,c=K.utilities.getViewportImageCornersInWorld(r),s=e.editData.annotation,d=r.getFrameOfReferenceUID();if(s)e.editData.annotation.data.handles.points=c;else{var u={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(l),viewUp:Rr(i),FrameOfReferenceUID:d,referencedImageId:null},data:{handles:{points:c}}};Qe(u,o),s=u}e.editData={sourceViewport:r,renderingEngine:t,annotation:s},ia(t,n.filter((function(e){return e.id!==r.id})).map((function(e){return e.id})))}}})),te(ua(e),"onSetToolEnabled",(function(){e._init()})),te(ua(e),"onCameraModified",(function(t){e._init()})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=t.viewport,i=e.editData,l=i.annotation,c=i.sourceViewport,s=!1;if(!c)return s;if(c.id===a.id)return s;if(!l||null==l||null===(r=l.data)||void 0===r||null===(o=r.handles)||void 0===o||!o.points)return s;var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=l.data.handles.points[0],v=l.data.handles.points[1],f=l.data.handles.points[2],g=l.data.handles.points[3],h=a.getCamera(),p=h.focalPoint,m=h.viewPlaneNormal,w=h.viewUp,E=c.getCamera().viewPlaneNormal;if(e.isParallel(m,E))return s;var y=K.utilities.planar.planeEquation(m,p),I=[u,f,v,g],b=[u,v,f,g],C=I,_=gc.vec3.subtract(gc.vec3.create(),I[0],I[1]);_=gc.vec3.normalize(gc.vec3.create(),_);var T=gc.vec3.subtract(gc.vec3.create(),I[2],I[0]);T=gc.vec3.normalize(gc.vec3.create(),T);var O=gc.vec3.cross(gc.vec3.create(),_,T);if(e.isParallel(O,m))return s;e.isPerpendicular(_,m)&&(C=b);var D=K.utilities.planar.linePlaneIntersection(C[0],C[1],y),S=K.utilities.planar.linePlaneIntersection(C[2],C[3],y),M=l.annotationUID;d.annotationUID=M;var k=e.getStyle("lineWidth",d,l),x=e.getStyle("lineDash",d,l),P=e.getStyle("color",d,l),R=e.getStyle("shadow",d,l),A=[D,S].map((function(e){return a.worldToCanvas(e)}));e.configuration.showFullDimension&&(A=e.handleFullDimension(a,D,m,w,S,A));var N="".concat(M,"-line");return Rc(n,M,"1",A[0],A[1],{color:P,width:k,lineDash:x,shadow:R},N),!0})),te(ua(e),"isPerpendicular",(function(e,t){var n=gc.vec3.dot(e,t);return Math.abs(n)<Cg})),e}return Q(o,[{key:"handleFullDimension",value:function(e,t,n,r,o,a){var i=this,l=e.getRenderingEngine(),c=this.getTargetId(e),s=this.getTargetIdImage(c,l),d=this.getReferencedImageId(e,t,n,r);if(d&&s)try{var u=s.imageData,v=s.dimensions,f=it([u.indexToWorld([0,0,0]),u.indexToWorld([v[0]-1,0,0]),u.indexToWorld([v[0]-1,v[1]-1,0]),u.indexToWorld([0,v[1]-1,0])].map((function(e){return K.utilities.worldToImageCoords(d,e)})),4),g=f[0],h=f[1],p=f[2],m=f[3],w=it([t,o].map((function(e){return K.utilities.worldToImageCoords(d,e)})),2),E=w[0],y=w[1];a=[[g,h],[h,p],[m,p],[g,m]].map((function(e){var t=it(e,2),n=t[0],r=t[1];return i.intersectInfiniteLines(n,r,E,y)})).filter((function(e){return e&&i.isInBound(e,v)})).map((function(t){var n=K.utilities.imageToWorldCoords(d,t);return e.worldToCanvas(n)}))}catch(e){console.log(e)}return a}},{key:"intersectInfiniteLines",value:function(e,t,n,r){var o=it(e,2),a=o[0],i=o[1],l=it(t,2),c=l[0],s=l[1],d=it(n,2),u=d[0],v=d[1],f=it(r,2),g=f[0],h=f[1],p=s-i,m=a-c,w=c*i-a*s,E=h-v,y=u-g,I=g*v-u*h;if(!(Math.abs(p*y-E*m)<Cg))return[(m*I-y*w)/(p*y-E*m),(E*w-p*I)/(p*y-E*m)]}},{key:"isParallel",value:function(e,t){return Math.abs(gc.vec3.dot(e,t))>1-Cg}},{key:"isInBound",value:function(e,t){return e[0]>=0&&e[0]<=t[0]&&e[1]>=0&&e[1]<=t[1]}}]),o}(Ys);te(_g,"toolName",void 0),_g.toolName="ReferenceLines";var Tg=_g;var Og=K.CONSTANTS.EPSILON,Dg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{sourceImageIds:[]}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"onSetToolEnabled",(function(){e._init()})),te(ua(e),"onSetToolActive",(function(){e._init()})),te(ua(e),"_init",(function(){var t=e.configuration.sourceImageIds;if(null!=t&&t.length){var n=K.metaData.get("imagePlaneModule",t[0]);if(n){var r=n.frameOfReferenceUID,o=da(e.toolGroupId).viewportsInfo;if(null!=o&&o.length){var a=$e(e.getToolName(),r);if(null==a||!a.length){var i=t.map((function(t){return e.calculateImageIdPointSets(t)}));Qe({highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),FrameOfReferenceUID:r,referencedImageId:null},data:{viewportData:new Map,pointSets:i}},r)}ia((0,K.getRenderingEngine)(o[0].renderingEngineId),o.map((function(e){return e.viewportId})))}else console.warn("OverlayGridTool: No viewports found")}else console.warn("OverlayGridTool: No imagePlaneModule found for sourceImageIds")}else console.warn("OverlayGridTool: No sourceImageIds provided in configuration")})),te(ua(e),"calculateImageIdPointSets",(function(e){var t=K.metaData.get("imagePlaneModule",e),n=t.imagePositionPatient,r=t.rows,o=t.columns,a=t.rowCosines,i=t.columnCosines,l=t.rowPixelSpacing,c=t.columnPixelSpacing,s=Rr(n),d=Rr(n),u=Rr(n),v=Rr(n);return gc.vec3.scaleAndAdd(d,n,i,o*c),gc.vec3.scaleAndAdd(u,n,a,r*l),gc.vec3.scaleAndAdd(v,u,i,o*c),{pointSet1:[s,u,d,v],pointSet2:[s,d,u,v]}})),te(ua(e),"renderAnnotation",(function(t,n){var r=e.configuration.sourceImageIds,o=!1;if(null==r||!r.length)return o;var a=t.viewport,i=t.FrameOfReferenceUID;if(a.getImageIds().length<2)return o;var l=$e(e.getToolName(),i);if(null==l||!l.length)return o;var c=l[0],s=c.annotationUID,d=a.getCamera(),u=d.focalPoint,v=d.viewPlaneNormal,f={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},g=e.getImageIdNormal(r[0]);if(e.isParallel(v,g))return o;for(var h=K.utilities.planar.planeEquation(v,u),p=c.data.pointSets,m=c.data.viewportData,w=0;w<r.length;w++){var E=p[w],y=E.pointSet1,I=E.pointSet2,b=m.get(a.id)||e.initializeViewportData(m,a.id);if(!b.pointSetsToUse[w]){var C=y,_=gc.vec3.subtract(gc.vec3.create(),y[0],y[1]);_=gc.vec3.normalize(gc.vec3.create(),_),e.isPerpendicular(_,v)&&(C=I),b.pointSetsToUse[w]=C,b.lineStartsWorld[w]=K.utilities.planar.linePlaneIntersection(C[0],C[1],h),b.lineEndsWorld[w]=K.utilities.planar.linePlaneIntersection(C[2],C[3],h)}var T=b.lineStartsWorld[w],O=b.lineEndsWorld[w];f.annotationUID=s;var D=e.getStyle("lineWidth",f,c),S=e.getStyle("lineDash",f,c),M=e.getStyle("color",f,c),k=e.getStyle("shadow",f,c),x=[T,O].map((function(e){return a.worldToCanvas(e)})),P="".concat(s,"-line");Rc(n,s,"".concat(w),x[0],x[1],{color:M,width:D,lineDash:S,shadow:k},P)}return!0})),te(ua(e),"initializeViewportData",(function(e,t){return e.set(t,{pointSetsToUse:[],lineStartsWorld:[],lineEndsWorld:[]}),e.get(t)})),te(ua(e),"isPerpendicular",(function(e,t){var n=gc.vec3.dot(e,t);return Math.abs(n)<Og})),e}return Q(o,[{key:"isParallel",value:function(e,t){return Math.abs(gc.vec3.dot(e,t))>1-Og}},{key:"getImageIdNormal",value:function(e){var t=K.metaData.get("imagePlaneModule",e).imageOrientationPatient,n=gc.vec3.fromValues(t[0],t[1],t[2]),r=gc.vec3.fromValues(t[3],t[4],t[5]);return gc.vec3.cross(gc.vec3.create(),n,r)}}]),o}(Ys);te(Dg,"toolName",void 0),Dg.toolName="OverlayGrid";var Sg=Dg;function Mg(e,t,n,r){var o=gc.vec3.create();gc.vec3.cross(o,t,e);var a=gc.vec3.fromValues.apply(gc.vec3,Rr(n)),i=gc.vec3.fromValues.apply(gc.vec3,Rr(r)),l=gc.vec3.create();gc.vec3.subtract(l,a,i);var c=gc.vec3.length(l);if(c<1e-4)return{worldWidth:0,worldHeight:0};var s=gc.vec3.dot(l,o)/(c*gc.vec3.length(o));return{worldWidth:Math.sqrt(1-s*s)*c,worldHeight:s*c}}var kg=K.utilities.transformWorldToIndex,xg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,centerPointRadius:0,getTextLines:Pg,statsCalculator:fd}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",!1),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(r.canvas,(0,K.getEnabledElement)(o)),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},points:[Rr(a),Rr(a),Rr(a),Rr(a)],activeHandleIndex:null},cachedStats:{},initialRotation:l.getRotation()}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,centerWorld:a,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(c,h),g})),te(ua(e),"isPointNearTool",(function(t,n,r,o){var a=(0,K.getEnabledElement)(t).viewport,i=it(cs(n.data.handles.points.map((function(e){return a.worldToCanvas(e)}))),2),l=i[0],c=i[1],s={left:Math.min(l[0],c[0])+o/2,top:Math.min(l[1],c[1])+o/2,width:Math.abs(l[0]-c[0])-o,height:Math.abs(l[1]-c[1])-o},d={left:Math.min(l[0],c[0])-o/2,top:Math.min(l[1],c[1])-o/2,width:Math.abs(l[0]-c[0])+o,height:Math.abs(l[1]-c[1])+o},u=e._pointInEllipseCanvas(s,r);return!(!e._pointInEllipseCanvas(d,r)||u)})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},Jl(r),e._activateModify(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l,c,s,d,u=!1;if(r.worldPosition)u=!0;else{var v=a.handles.points,f=(0,K.getEnabledElement)(o).viewport,g=f.worldToCanvas,h=f.canvasToWorld;i=v.findIndex((function(e){return e===r}));var p=v.map(g);d=p[i],c=Math.abs(p[2][0]-p[3][0]),s=Math.abs(p[0][1]-p[1][1]),l=h([(p[2][0]+p[3][0])/2,(p[0][1]+p[1][1])/2])}var m=Ws(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:m,handleIndex:i,canvasWidth:c,canvasHeight:s,centerWorld:l,originalHandleCanvas:d,movingTextBox:u},e._activateModify(o),Jl(o);var w=(0,K.getEnabledElement)(o).renderingEngine;ia(w,m),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}}})),te(ua(e),"_dragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,K.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport,c=l.canvasToWorld,s=e.editData,d=s.annotation,u=s.viewportIdsToRender,v=s.centerWorld,f=l.worldToCanvas(v),g=d.data,h=Math.abs(o[0]-f[0]),p=Math.abs(o[1]-f[1]),m=[f[0],f[1]-p],w=[f[0],f[1]+p],E=[f[0]-h,f[1]],y=[f[0]+h,f[1]];g.handles.points=[c(m),c(w),c(E),c(y)],d.invalidated=!0,e.editData.hasMoved=!0,ia(i,u)})),te(ua(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var g=(0,K.getEnabledElement)(r).renderingEngine;ia(g,i)})),te(ua(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,K.getEnabledElement)(r).viewport,a=o.canvasToWorld,i=(o.worldToCanvas,e.editData),l=i.annotation,c=i.canvasWidth,s=i.canvasHeight,d=i.handleIndex,u=i.centerWorld,v=i.originalHandleCanvas,f=o.worldToCanvas(u),g=l.data.handles.points,h=n.currentPoints.canvas;if(0===d||1===d){var p=Math.abs(h[1]-f[1]),m=[f[0],f[1]-p],w=[f[0],f[1]+p];g[0]=a(m),g[1]=a(w);var E=c/2+(h[0]-v[0]),y=[f[0]-E,f[1]],I=[f[0]+E,f[1]];g[2]=a(y),g[3]=a(I)}else{var b=Math.abs(h[0]-f[0]),C=[f[0]-b,f[1]],_=[f[0]+b,f[1]];g[2]=a(C),g[3]=a(_);var T=s/2+(h[1]-v[1]),O=[f[0],f[1]-T],D=[f[0],f[1]+T];g[0]=a(O),g[1]=a(D)}})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragDrawCallback),t.addEventListener(X.MOUSE_MOVE,e._dragDrawCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragDrawCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragDrawCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragDrawCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragDrawCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles,g=v.points,h=v.activeHandleIndex;u.annotationUID=o;var p,m=e.getStyle("lineWidth",u,r),w=e.getStyle("lineDash",u,r),E=e.getStyle("color",u,r),y=g.map((function(e){return i.worldToCanvas(e)})),I=Math.abs(i.getRotation()-(l.initialRotation||0));p=cs(90==I||270==I?[y[2],y[3],y[0],y[1]]:y);var b,C=e.configuration.centerPointRadius;if(l.cachedStats[s]&&null!=l.cachedStats[s].areaUnit){if(r.invalidated&&(e._throttledCalculateCachedStats(r,i,d,t),i instanceof K.VolumeViewport)){var _=r.metadata.referencedImageId;for(var T in l.cachedStats)T.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=K.utilities.imageIdToURI(_),n=e.hasImageURI(t),r=K.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[T]}}else l.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null},e._calculateCachedStats(r,i,d,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};if(!Me(o))return"continue";ce(r)||e.editData||null===h||(b=[y[h]]),b&&Pc(n,o,"0",b,{color:E});var O="".concat(o,"-ellipse");if(xc(n,o,"0",p[0],p[1],{color:E,lineDash:w,lineWidth:m},O),C>0&&Math.min(Math.abs(p[0][0]-p[1][0])/2,Math.abs(p[0][1]-p[1][1])/2)>3*C){var D=e._getCanvasEllipseCenter(y);kc(n,o,"".concat("0","-center"),D,C,{color:E,lineDash:w,lineWidth:m})}a=!0;var S=e.getLinkedTextBoxStyle(u,r);if(!S.visibility)return l.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},"continue";var M,k=e.configuration.getTextLines(l,s);if(!k||0===k.length)return"continue";l.handles.textBox.hasMoved||(M=ld(p),l.handles.textBox.worldPosition=i.canvasToWorld(M));var x=i.worldToCanvas(l.handles.textBox.worldPosition),P=jc(n,o,"1",k,x,y,{},S),R=P.x,A=P.y,N=P.width,L=P.height;l.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([R,A]),topRight:i.canvasToWorld([R+N,A]),bottomLeft:i.canvasToWorld([R,A+L]),bottomRight:i.canvasToWorld([R+N,A+L])}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),te(ua(e),"_calculateCachedStats",(function(t,n,r,o){for(var a=t.data,i=o.viewportId,l=o.renderingEngineId,c=a.handles.points.map((function(e){return n.worldToCanvas(e)})),s=n.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=it(cs(c),2),f=v[0],g=v[1],h=n.canvasToWorld(f),p=n.canvasToWorld(g),m=a.cachedStats,w=Object.keys(m),E=h,y=p,I=function(){var o=w[b],a=e.getTargetIdImage(o,r);if(!a)return"continue";var i=a.dimensions,l=a.imageData,c=a.metadata,s=(a.hasPixelSpacing,kg(l,E));s[0]=Math.floor(s[0]),s[1]=Math.floor(s[1]),s[2]=Math.floor(s[2]);var v=kg(l,y);if(v[0]=Math.floor(v[0]),v[1]=Math.floor(v[1]),v[2]=Math.floor(v[2]),e._isInsideVolume(s,v,i)){var f,g,I,C=[[Math.min(s[0],v[0]),Math.max(s[0],v[0])],[Math.min(s[1],v[1]),Math.max(s[1],v[1])],[Math.min(s[2],v[2]),Math.max(s[2],v[2])]],_={center:[(h[0]+p[0])/2,(h[1]+p[1])/2,(h[2]+p[2])/2],xRadius:Math.abs(h[0]-p[0])/2,yRadius:Math.abs(h[1]-p[1])/2,zRadius:Math.abs(h[2]-p[2])/2},T=Mg(d,u,E,y),O=T.worldWidth,D=T.worldHeight,S=0===O&&0===D,M=nd(a),k=Math.abs(Math.PI*(O/2)*(D/2))/M/M,x={isPreScaled:dd(n,o),isSuvScaled:e.isSuvScaled(n,o,t.metadata.referencedImageId)},P=sd(c.Modality,t.metadata.referencedImageId,x),R=$c(l,(function(e,t){return ss(_,e)}),e.configuration.statsCalculator.statsCallback,C),A=e.configuration.statsCalculator.getStatistics();m[o]={Modality:c.Modality,area:k,mean:null===(f=A[1])||void 0===f?void 0:f.value,max:null===(g=A[0])||void 0===g?void 0:g.value,stdDev:null===(I=A[2])||void 0===I?void 0:I.value,statsArray:A,pointsInShape:R,isEmptyArea:S,areaUnit:td(0,a),modalityUnit:P}}else e.isHandleOutsideImage=!0,m[o]={Modality:c.Modality}},b=0;b<w.length;b++)I();t.invalidated=!1;var C=X.ANNOTATION_MODIFIED,_={annotation:t,viewportId:i,renderingEngineId:l};return(0,K.triggerEvent)(K.eventTarget,C,_),m})),te(ua(e),"_isInsideVolume",(function(e,t,n){return K.utilities.indexWithinDimensions(e,n)&&K.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o,[{key:"_pointInEllipseCanvas",value:function(e,t){var n=e.width/2,r=e.height/2;if(n<=0||r<=0)return!1;var o=[e.left+n,e.top+r],a=[t[0]-o[0],t[1]-o[1]];return a[0]*a[0]/(n*n)+a[1]*a[1]/(r*r)<=1}},{key:"_getCanvasEllipseCenter",value:function(e){var t=it(e,4),n=t[0],r=t[1],o=t[2],a=t[3],i=[o[0],r[1]],l=[a[0],n[1]];return[(i[0]+l[0])/2,(i[1]+l[1])/2]}}]),o}(Js);function Pg(e,t){var n=e.cachedStats[t],r=n.area,o=n.mean,a=n.stdDev,i=n.max,l=n.isEmptyArea,c=n.areaUnit,s=n.modalityUnit,d=[];if(r){var u=l?"Area: Oblique not supported":"Area: ".concat(ns(r)," ").concat(c);d.push(u)}return o&&d.push("Mean: ".concat(ns(o)," ").concat(s)),i&&d.push("Max: ".concat(ns(i)," ").concat(s)),a&&d.push("Std Dev: ".concat(ns(a)," ").concat(s)),d}te(xg,"toolName",void 0),xg.toolName="EllipticalROI";var Rg=xg;function Ag(e){var t=it(e,2);return lu(t[0],t[1])}function Ng(e){var t=it(e,2),n=t[0],r=lu(n,t[1]);return[[n[0]-r,n[1]-r],[n[0]+r,n[1]+r]]}var Lg=K.utilities.transformWorldToIndex,Ug=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,centerPointRadius:0,getTextLines:Vg,statsCalculator:fd}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",!1),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(r.canvas,(0,K.getEnabledElement)(o)),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{label:"",handles:{textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},points:[Rr(a),Rr(a)],activeHandleIndex:null},cachedStats:{}}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(c,h),g})),te(ua(e),"isPointNearTool",(function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=t.data.handles.points.map((function(e){return o.worldToCanvas(e)})),i=Ag(a),l=Ag([a[0],n]);return Math.abs(l-i)<r/2})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},Jl(r),e._activateModify(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l=!1;r.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===r}));var c=Ws(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},e._activateModify(o),Jl(o);var s=(0,K.getEnabledElement)(o).renderingEngine;ia(s,c),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){o.highlighted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}}})),te(ua(e),"_dragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,K.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=s.data;u.handles.points=[u.handles.points[0],l(o)],s.invalidated=!0,e.editData.hasMoved=!0,ia(i,d)})),te(ua(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var g=(0,K.getEnabledElement)(r).renderingEngine;ia(g,i)})),te(ua(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,K.getEnabledElement)(r).viewport,a=o.canvasToWorld,i=o.worldToCanvas,l=e.editData,c=l.annotation,s=l.handleIndex,d=c.data.handles.points,u=d.map((function(e){return i(e)})),v=n.currentPoints.canvas;if(0===s){var f=v[0]-u[0][0],g=v[1]-u[0][1],h=v,p=[u[1][0]+f,u[1][1]+g];d[0]=a(h),d[1]=a(p)}else d[1]=a(v)})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragDrawCallback),t.addEventListener(X.MOUSE_MOVE,e._dragDrawCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragDrawCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragDrawCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragDrawCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragDrawCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=function(){var r=c[f],o=r.annotationUID,l=r.data,v=l.handles,g=v.points,h=v.activeHandleIndex;u.annotationUID=o;var p,m=e.getStyle("lineWidth",u,r),w=e.getStyle("lineDash",u,r),E=e.getStyle("color",u,r),y=g.map((function(e){return i.worldToCanvas(e)})),I=y[0],b=Ag(y),C=Ng(y),_=e.configuration.centerPointRadius;if(l.cachedStats[s]&&null!=l.cachedStats[s].areaUnit){if(r.invalidated&&(e._throttledCalculateCachedStats(r,i,d,t),i instanceof K.VolumeViewport)){var T=r.metadata.referencedImageId;for(var O in l.cachedStats)O.startsWith("imageId")&&d.getStackViewports().find((function(e){var t=K.utilities.imageIdToURI(T),n=e.hasImageURI(t),r=K.utilities.imageIdToURI(e.getCurrentImageId());return n&&r!==t}))&&delete l.cachedStats[O]}}else l.cachedStats[s]={Modality:null,area:null,max:null,mean:null,stdDev:null,areaUnit:null,radius:null,radiusUnit:null,perimeter:null},e._calculateCachedStats(r,i,d,t);if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),{v:a};if(!Me(o))return"continue";ce(r)||e.editData||null===h||(p=[y[h]]),p&&Pc(n,o,"0",p,{color:E});var D="".concat(o,"-circle");kc(n,o,"0",I,b,{color:E,lineDash:w,lineWidth:m},D),_>0&&b>3*_&&kc(n,o,"".concat("0","-center"),I,_,{color:E,lineDash:w,lineWidth:m}),a=!0;var S=e.getLinkedTextBoxStyle(u,r);if(!S.visibility)return l.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},"continue";var M,k=e.configuration.getTextLines(l,s);if(!k||0===k.length)return"continue";l.handles.textBox.hasMoved||(M=ld(C),l.handles.textBox.worldPosition=i.canvasToWorld(M));var x=i.worldToCanvas(l.handles.textBox.worldPosition),P=jc(n,o,"1",k,x,y,{},S),R=P.x,A=P.y,N=P.width,L=P.height;l.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([R,A]),topRight:i.canvasToWorld([R+N,A]),bottomLeft:i.canvasToWorld([R,A+L]),bottomRight:i.canvasToWorld([R+N,A+L])}},f=0;f<c.length;f++){var g=v();if("continue"!==g&&"object"===Z(g))return g.v}return a})),te(ua(e),"_calculateCachedStats",(function(t,n,r,o){for(var a=t.data,i=o.viewportId,l=o.renderingEngineId,c=a.handles.points.map((function(e){return n.worldToCanvas(e)})),s=n.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=it(Ng(c),2),f=v[0],g=v[1],h=n.canvasToWorld(f),p=n.canvasToWorld(g),m=a.cachedStats,w=Object.keys(m),E=h,y=p,I=function(){var o=w[b],a=e.getTargetIdImage(o,r);if(!a)return"continue";var i=a.dimensions,l=a.imageData,c=a.metadata,s=(a.hasPixelSpacing,Lg(l,E));s[0]=Math.floor(s[0]),s[1]=Math.floor(s[1]),s[2]=Math.floor(s[2]);var v=Lg(l,y);if(v[0]=Math.floor(v[0]),v[1]=Math.floor(v[1]),v[2]=Math.floor(v[2]),e._isInsideVolume(s,v,i)){var f,g,I,C=[[Math.min(s[0],v[0]),Math.max(s[0],v[0])],[Math.min(s[1],v[1]),Math.max(s[1],v[1])],[Math.min(s[2],v[2]),Math.max(s[2],v[2])]],_={center:[(h[0]+p[0])/2,(h[1]+p[1])/2,(h[2]+p[2])/2],xRadius:Math.abs(h[0]-p[0])/2,yRadius:Math.abs(h[1]-p[1])/2,zRadius:Math.abs(h[2]-p[2])/2},T=Mg(d,u,E,y),O=T.worldWidth,D=T.worldHeight,S=0===O&&0===D,M=nd(a),k=function(e){var t;return(null===(t=e.calibration)||void 0===t?void 0:t.aspect)||1}(a),x=Math.abs(Math.PI*(O/M/2)*(D/k/M/2)),P={isPreScaled:dd(n,o),isSuvScaled:e.isSuvScaled(n,o,t.metadata.referencedImageId)},R=sd(c.Modality,t.metadata.referencedImageId,P),A=$c(l,(function(e,t){return ss(_,e)}),e.configuration.statsCalculator.statsCallback,C),N=e.configuration.statsCalculator.getStatistics();m[o]={Modality:c.Modality,area:x,mean:null===(f=N[1])||void 0===f?void 0:f.value,max:null===(g=N[0])||void 0===g?void 0:g.value,stdDev:null===(I=N[2])||void 0===I?void 0:I.value,statsArray:N,pointsInShape:A,isEmptyArea:S,areaUnit:td(0,a),radius:O/2/M,radiusUnit:ed(0,a),perimeter:2*Math.PI*(O/2)/M,modalityUnit:R}}else e.isHandleOutsideImage=!0,m[o]={Modality:c.Modality}},b=0;b<w.length;b++)I();t.invalidated=!1;var C=X.ANNOTATION_MODIFIED,_={annotation:t,viewportId:i,renderingEngineId:l};return(0,K.triggerEvent)(K.eventTarget,C,_),m})),te(ua(e),"_isInsideVolume",(function(e,t,n){return K.utilities.indexWithinDimensions(e,n)&&K.utilities.indexWithinDimensions(t,n)})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o)}(Js);function Vg(e,t){var n=e.cachedStats[t],r=n.radius,o=n.radiusUnit,a=n.area,i=n.mean,l=n.stdDev,c=n.max,s=n.isEmptyArea,d=(n.Modality,n.areaUnit),u=n.modalityUnit,v=[];if(r){var f=s?"Radius: Oblique not supported":"Radius: ".concat(ns(r)," ").concat(o);v.push(f)}if(a){var g=s?"Area: Oblique not supported":"Area: ".concat(ns(a)," ").concat(d);v.push(g)}return i&&v.push("Mean: ".concat(ns(i)," ").concat(u)),c&&v.push("Max: ".concat(ns(c)," ").concat(u)),l&&v.push("Std Dev: ".concat(ns(l)," ").concat(u)),v}te(Ug,"toolName",void 0),Ug.toolName="CircleROI";var Bg=Ug;var jg=K.utilities.transformWorldToIndex,Wg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{preventHandleOutsideImage:!1,getTextLines:Hg}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"preventHandleOutsideImage",void 0),te(ua(e),"isPointNearTool",(function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=t.data.handles.points,i=o.worldToCanvas(a[0]),l=o.worldToCanvas(a[1]),c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}},s=ad([c.start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]);return s<=r||(i=o.worldToCanvas(a[2]),l=o.worldToCanvas(a[3]),(s=ad([(c={start:{x:i[0],y:i[1]},end:{x:l[0],y:l[1]}}).start.x,c.start.y],[c.end.x,c.end.y],[n[0],n[1]]))<=r)})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),Jl(r),t.preventDefault()})),te(ua(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i,l=!1;r.worldPosition?l=!0:i=a.handles.points.findIndex((function(e){return e===r}));var c=Ws(o,e.getToolName());Jl(o),e.editData={annotation:n,viewportIdsToRender:c,handleIndex:i,movingTextBox:l},e._activateModify(o);var s=(0,K.getEnabledElement)(o).renderingEngine;ia(s,c),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(void 0!==e.editData.handleIndex){var d=c.handles.points,u=gc.vec3.distance(d[0],d[1]);if(gc.vec3.distance(d[2],d[3])>u){var v=[Rr(d[2]),Rr(d[3])],f=Rr(d[0]),g=Rr(d[1]),h=gc.vec2.create();gc.vec2.set(h,v[1][0]-v[0][0],v[1][1]-v[1][0]);var p=gc.vec2.create();gc.vec2.set(p,-h[1],h[0]);var m,w=gc.vec2.create();gc.vec2.set(w,g[0]-f[0],g[1]-f[0]),m=gc.vec2.dot(w,p)>0?[f,g]:[g,f],c.handles.points=[v[0],v[1],m[0],m[1]]}}if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var E=X.ANNOTATION_COMPLETED,y={annotation:o};(0,K.triggerEvent)(K.eventTarget,E,y)}e.editData=null,e.isDrawing=!1}})),te(ua(e),"_dragDrawCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=(0,K.getEnabledElement)(o),i=a.renderingEngine,l=a.viewport,c=l.worldToCanvas,s=e.editData,d=s.annotation,u=s.viewportIdsToRender,v=s.handleIndex,f=d.data,g=r.world;f.handles.points[v]=Rr(g);var h=f.handles.points.map(c),p={x:h[0][0],y:h[0][1]},m={x:h[1][0],y:h[1][1]},w=(h[2][0],h[2][1],h[3][0],h[3][1],gc.vec2.distance(h[0],h[1])/3),E=p.x-m.x,y=p.y-m.y,I=Math.sqrt(E*E+y*y),b=E/I,C=y/I,_=(p.x+m.x)/2,T=(p.y+m.y)/2,O=_+w*C,D=T-w*b,S=_-w*C,M=T+w*b;f.handles.points[2]=l.canvasToWorld([O,D]),f.handles.points[3]=l.canvasToWorld([S,M]),d.invalidated=!0,ia(i,u),e.editData.hasMoved=!0})),te(ua(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=(0,K.getEnabledElement)(r).renderingEngine,a=e.editData,i=a.annotation,l=a.viewportIdsToRender,c=a.handleIndex,s=a.movingTextBox,d=i.data;if(s){var u=n.deltaPoints.world,v=d.handles.textBox,f=v.worldPosition;f[0]+=u[0],f[1]+=u[1],f[2]+=u[2],v.hasMoved=!0}else if(void 0===c){var g=n.deltaPoints.world;d.handles.points.forEach((function(e){e[0]+=g[0],e[1]+=g[1],e[2]+=g[2]})),i.invalidated=!0}else e._dragModifyHandle(t),i.invalidated=!0;ia(o,l)})),te(ua(e),"_dragModifyHandle",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=(0,K.getEnabledElement)(o).viewport,i=e.editData,l=i.annotation,c=i.handleIndex,s=l.data,d=r.world,u=[a.worldToCanvas(s.handles.points[0]),a.worldToCanvas(s.handles.points[1]),a.worldToCanvas(s.handles.points[2]),a.worldToCanvas(s.handles.points[3])],v={start:{x:u[0][0],y:u[0][1]},end:{x:u[1][0],y:u[1][1]}},f={start:{x:u[2][0],y:u[2][1]},end:{x:u[3][0],y:u[3][1]}},g=Rr(d),h=a.worldToCanvas(g);if(0===c||1===c){var p=u[0===c?1:0],m=gc.vec2.set(gc.vec2.create(),h[0]-p[0],h[1]-p[1]),w=gc.vec2.set(gc.vec2.create(),u[c][0]-p[0],u[c][1]-p[1]);gc.vec2.normalize(m,m),gc.vec2.normalize(w,w);var E={start:{x:p[0],y:p[1]},end:{x:h[0],y:h[1]}};if(e._movingLongAxisWouldPutItThroughShortAxis(E,f))return;var y=p,I=e._getSignedAngle(w,m),b=u[2][0],C=u[2][1],_=u[3][0],T=u[3][1];b-=y[0],C-=y[1],_-=y[0],T-=y[1];var O=b*Math.cos(I)-C*Math.sin(I),D=b*Math.sin(I)+C*Math.cos(I),S=_*Math.cos(I)-T*Math.sin(I),M=_*Math.sin(I)+T*Math.cos(I);b=O+y[0],C=D+y[1],_=S+y[0],T=M+y[1];var k=a.canvasToWorld([b,C]),x=a.canvasToWorld([_,T]);s.handles.points[c]=g,s.handles.points[2]=k,s.handles.points[3]=x}else{var P=2===c?3:2,R={longLineSegment:{start:v.start,end:v.end},shortLineSegment:{start:f.start,end:f.end}},A=gc.vec2.subtract(gc.vec2.create(),[R.longLineSegment.end.x,R.longLineSegment.end.y],[R.longLineSegment.start.x,R.longLineSegment.start.y]),N=gc.vec2.normalize(gc.vec2.create(),A),L=gc.vec2.subtract(gc.vec2.create(),[h[0],h[1]],[u[c][0],u[c][1]]),U=gc.vec2.length(L),V=e._getSignedAngle(N,L),B=Math.cos(V)*U,j=gc.vec2.scaleAndAdd(gc.vec2.create(),[u[P][0],u[P][1]],N,B);if(e._movingLongAxisWouldPutItThroughShortAxis({start:{x:h[0],y:h[1]},end:{x:j[0],y:j[1]}},{start:{x:R.longLineSegment.start.x,y:R.longLineSegment.start.y},end:{x:R.longLineSegment.end.x,y:R.longLineSegment.end.y}}))return;if(!Yd([h[0],h[1]],[j[0],j[1]],[v.start.x,v.start.y],[v.end.x,v.end.y]))return;s.handles.points[P]=a.canvasToWorld(j),s.handles.points[c]=g}})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragDrawCallback),t.addEventListener(X.MOUSE_MOVE,e._dragDrawCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragDrawCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragDrawCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragDrawCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragDrawCallback)})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!0,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f=c[v],g=f.annotationUID,h=f.data,p=h.handles,m=p.points,w=p.activeHandleIndex,E=m.map((function(e){return i.worldToCanvas(e)}));u.annotationUID=g;var y=e.getStyle("lineWidth",u,f),I=e.getStyle("lineDash",u,f),b=e.getStyle("color",u,f),C=e.getStyle("shadow",u,f);if(h.cachedStats[s]&&null!=h.cachedStats[s].unit?f.invalidated&&e._throttledCalculateCachedStats(f,d,t):(h.cachedStats[s]={length:null,width:null,unit:null},e._calculateCachedStats(f,d,t)),!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;var _=void 0;if(Me(g)){ce(f)||e.editData||null===w||(_=[E[w]]),_&&Pc(n,g,"0",_,{color:b});var T="".concat(g,"-line-1"),O="".concat(g,"-line-2");Rc(n,g,"0",E[0],E[1],{color:b,lineDash:I,lineWidth:y,shadow:C},T),Rc(n,g,"1",E[2],E[3],{color:b,lineDash:I,lineWidth:y,shadow:C},O),a=!0;var D=e.getLinkedTextBoxStyle(u,f);if(D.visibility){var S=e.configuration.getTextLines(h,s);if(S&&0!==S.length){var M=void 0;h.handles.textBox.hasMoved||(M=ld(E),h.handles.textBox.worldPosition=i.canvasToWorld(M));var k=i.worldToCanvas(h.handles.textBox.worldPosition),x=jc(n,g,"1",S,k,E,{},D),P=x.x,R=x.y,A=x.width,N=x.height;h.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([P,R]),topRight:i.canvasToWorld([P+A,R]),bottomLeft:i.canvasToWorld([P,R+N]),bottomRight:i.canvasToWorld([P+A,R+N])}}}else h.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),te(ua(e),"_movingLongAxisWouldPutItThroughShortAxis",(function(e,t){var n=gc.vec2.create();gc.vec2.set(n,t.end.x-t.start.x,t.end.y-t.start.y),gc.vec2.normalize(n,n);var r={start:{x:t.start.x-10*n[0],y:t.start.y-10*n[1]},end:{x:t.end.x+10*n[0],y:t.end.y+10*n[1]}};return!Yd([r.start.x,r.start.y],[r.end.x,r.end.y],[e.start.x,e.start.y],[e.end.x,e.end.y])})),te(ua(e),"_calculateCachedStats",(function(t,n,r){for(var o=t.data,a=r.viewportId,i=r.renderingEngineId,l=o.handles.points[0],c=o.handles.points[1],s=o.handles.points[2],d=o.handles.points[3],u=o.cachedStats,v=Object.keys(u),f=0;f<v.length;f++){var g=v[f],h=e.getTargetIdImage(g,n);if(h){var p=h.imageData,m=h.dimensions,w=nd(h),E=e._calculateLength(l,c)/w,y=e._calculateLength(s,d)/w,I=E>y?E:y,b=E>y?y:E,C=jg(p,l),_=jg(p,c),T=jg(p,s),O=jg(p,d);e._isInsideVolume(C,_,T,O,m)?e.isHandleOutsideImage=!1:e.isHandleOutsideImage=!0,u[g]={length:I,width:b,unit:ed(0,h)}}}t.invalidated=!1;var D=X.ANNOTATION_MODIFIED,S={annotation:t,viewportId:a,renderingEngineId:i};return(0,K.triggerEvent)(K.eventTarget,D,S),u})),te(ua(e),"_isInsideVolume",(function(e,t,n,r,o){return K.utilities.indexWithinDimensions(e,o)&&K.utilities.indexWithinDimensions(t,o)&&K.utilities.indexWithinDimensions(n,o)&&K.utilities.indexWithinDimensions(r,o)})),te(ua(e),"_getSignedAngle",(function(e,t){return Math.atan2(e[0]*t[1]-e[1]*t[0],e[0]*t[0]+e[1]*t[1])})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o,[{key:"addNewAnnotation",value:function(e){var t=e.detail,n=t.currentPoints,r=t.element,o=n.world,a=(0,K.getEnabledElement)(r),i=a.viewport,l=a.renderingEngine;this.isDrawing=!0;var c=i.getCamera(),s=c.viewPlaneNormal,d=c.viewUp,u=this.getReferencedImageId(i,o,s,d),v=i.getFrameOfReferenceUID(),f={highlighted:!0,invalidated:!0,metadata:{toolName:this.getToolName(),viewPlaneNormal:Rr(s),viewUp:Rr(d),FrameOfReferenceUID:v,referencedImageId:u},data:{handles:{points:[Rr(o),Rr(o),Rr(o),Rr(o)],textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}},activeHandleIndex:null},label:"",cachedStats:{}}};Qe(f,r);var g=Ws(r,this.getToolName());return this.editData={annotation:f,viewportIdsToRender:g,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},this._activateDraw(r),Jl(r),e.preventDefault(),ia(l,g),f}},{key:"_calculateLength",value:function(e,t){var n=e[0]-t[0],r=e[1]-t[1],o=e[2]-t[2];return Math.sqrt(n*n+r*r+o*o)}}]),o}(Js);function Hg(e,t){var n=e.cachedStats[t],r=n.length,o=n.width,a=n.unit;if(void 0!==r)return["L: ".concat(ns(r)," ").concat(a),"W: ".concat(ns(o)," ").concat(a)]}te(Wg,"toolName",void 0),Wg.toolName="Bidirectional";var Fg=Wg;var Gg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,getTextCallback:qg,changeTextCallback:zg,preventHandleOutsideImage:!1,arrowFirst:!0}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;Jl(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=e.configuration.arrowFirst,g=l.getFrameOfReferenceUID(),h={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:g,referencedImageId:v},data:{text:"",handles:{points:[Rr(a),Rr(a)],activeHandleIndex:null,arrowFirst:f,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:""}};Qe(h,o);var p=Ws(o,e.getToolName());return e.editData={annotation:h,viewportIdsToRender:p,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),ia(c,p),h})),te(ua(e),"isPointNearTool",(function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=it(t.data.handles.points,2),i=a[0],l=a[1],c=o.worldToCanvas(i),s=o.worldToCanvas(l),d={start:{x:c[0],y:c[1]},end:{x:s[0],y:s[1]}};return ad([d.start.x,d.start.y],[d.end.x,d.end.y],[n[0],n[1]])<=r})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),Jl(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n),d=s.viewportId,u=s.renderingEngineId,v=s.renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),i)e.configuration.getTextCallback((function(t){if(!t)return tt(o.annotationUID),ia(v,a),e.editData=null,void(e.isDrawing=!1);o.data.text=t;var n=X.ANNOTATION_COMPLETED,r={annotation:o};(0,K.triggerEvent)(K.eventTarget,n,r),ia(v,a)}));else{var f=X.ANNOTATION_MODIFIED,g={annotation:o,viewportId:d,renderingEngineId:u};(0,K.triggerEvent)(K.eventTarget,f,g)}e.editData=null,e.isDrawing=!1}})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Rr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,K.getEnabledElement)(r).renderingEngine;ia(h,i)})),te(ua(e),"touchTapCallback",(function(t){2==t.detail.taps&&e.doubleClickCallback(t)})),te(ua(e),"doubleClickCallback",(function(t){var n,r=t.detail,o=r.element,a=$e(e.getToolName(),o);if(null!==(n=a=e.filterInteractableAnnotationsForElement(o,a))&&void 0!==n&&n.length){var i=a.find((function(t){return e.isPointNearTool(o,t,r.currentPoints.canvas,6)}));if(i){var l=i;e.configuration.changeTextCallback(i,t.detail,e._doneChangingTextCallback.bind(ua(e),o,l)),e.editData=null,e.isDrawing=!1,t.stopImmediatePropagation(),t.preventDefault()}}})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_END,e._endCallback)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_MOVE,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},d=0;d<c.length;d++){var u=c[d],v=u.annotationUID,f=u.data,g=f.handles,h=f.text,p=g.points,m=g.activeHandleIndex;s.annotationUID=v;var w=e.getStyle("lineWidth",s,u),E=e.getStyle("lineDash",s,u),y=e.getStyle("color",s,u),I=p.map((function(e){return i.worldToCanvas(e)})),b=void 0;if(ce(u)||e.editData||null===m||(b=[I[m]]),b&&Pc(n,v,"0",I,{color:y,lineWidth:w}),e.configuration.arrowFirst?Hc(n,v,"1",I[1],I[0],{color:y,width:w,lineDash:E}):Hc(n,v,"1",I[0],I[1],{color:y,width:w,lineDash:E}),a=!0,!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;if(h){var C=e.getLinkedTextBoxStyle(s,u);if(C.visibility){if(!f.handles.textBox.hasMoved){var _=I[1];f.handles.textBox.worldPosition=i.canvasToWorld(_)}var T=i.worldToCanvas(f.handles.textBox.worldPosition),O=jc(n,v,"1",[h],T,I,{},C),D=O.x,S=O.y,M=O.width,k=O.height;f.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([D,S]),topRight:i.canvasToWorld([D+M,S]),bottomLeft:i.canvasToWorld([D,S+k]),bottomRight:i.canvasToWorld([D+M,S+k])}}else f.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e}return Q(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=Ws(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),Jl(r);var c=(0,K.getEnabledElement)(r).renderingEngine;ia(c,l),e.preventDefault()}},{key:"_doneChangingTextCallback",value:function(e,t,n){t.data.text=n;var r=(0,K.getEnabledElement)(e),o=r.renderingEngine,a=r.viewportId,i=r.renderingEngineId,l=Ws(e,this.getToolName());ia(o,l);var c=X.ANNOTATION_MODIFIED;(0,K.triggerEvent)(K.eventTarget,c,{annotation:t,viewportId:a,renderingEngineId:i})}},{key:"_isInsideVolume",value:function(e,t,n){return K.utilities.indexWithinDimensions(e,n)&&K.utilities.indexWithinDimensions(t,n)}}]),o}(Js);function qg(e){return e(prompt("Enter your annotation:"))}function zg(e,t,n){return n(prompt("Enter your annotation:"))}te(Gg,"toolName",void 0),Gg.toolName="ArrowAnnotate";var Kg=Gg;var Yg=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:Xg}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"angleStartedNotYetCompleted",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){if(!e.angleStartedNotYetCompleted){e.angleStartedNotYetCompleted=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;Jl(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{handles:{points:[Rr(a),Rr(a)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),ia(c,h),g}})),te(ua(e),"isPointNearTool",(function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=it(t.data.handles.points,3),i=a[0],l=a[1],c=a[2],s=o.worldToCanvas(i),d=o.worldToCanvas(l),u={start:{x:s[0],y:s[1]},end:{x:d[0],y:d[1]}};if(ad([u.start.x,u.start.y],[u.end.x,u.end.y],[n[0],n[1]])<=r)return!0;if(!c)return!1;var v=o.worldToCanvas(c),f={start:{x:d[0],y:d[1]},end:{x:v[0],y:v[1]}};return ad([f.start.x,f.start.y],[f.end.x,f.end.y],[n[0],n[1]])<=r})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o,movingTextBox:!1},e._activateModify(r),Jl(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l)if(e.angleStartedNotYetCompleted&&2===c.handles.points.length)e.editData.handleIndex=2;else{e.angleStartedNotYetCompleted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}e.editData=null,e.isDrawing=!1}})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=a.data;if(c){var d=n.deltaPoints.world,u=s.handles.textBox,v=u.worldPosition;v[0]+=d[0],v[1]+=d[1],v[2]+=d[2],u.hasMoved=!0}else if(void 0===l){var f=n.deltaPoints.world;s.handles.points.forEach((function(e){e[0]+=f[0],e[1]+=f[1],e[2]+=f[2]})),a.invalidated=!0}else{var g=n.currentPoints.world;s.handles.points[l]=Rr(g),a.invalidated=!0}e.editData.hasMoved=!0;var h=(0,K.getEnabledElement)(r).renderingEngine;ia(h,i)})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,e.angleStartedNotYetCompleted=!1,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_MOVE,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_MOVE,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f,g=c[v],h=g.annotationUID,p=g.data,m=p.handles,w=m.points,E=m.activeHandleIndex;u.annotationUID=h;var y=e.getStyle("lineWidth",u,g),I=e.getStyle("lineDash",u,g),b=e.getStyle("color",u,g),C=w.map((function(e){return i.worldToCanvas(e)}));p.cachedStats[s]&&null!=p.cachedStats[s].angle?g.invalidated&&e._throttledCalculateCachedStats(g,d,t):(p.cachedStats[s]={angle:null},e._calculateCachedStats(g,d,t));var _=void 0;if(ce(g)||e.editData||null===E||(_=[C[E]]),!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;_&&Pc(n,h,"0",C,{color:b,lineDash:I,lineWidth:y});var T="1";if(Rc(n,h,T,C[0],C[1],{color:b,width:y,lineDash:I}),a=!0,3!==C.length)return a;if(Rc(n,h,T="2",C[1],C[2],{color:b,width:y,lineDash:I}),null!==(f=p.cachedStats[s])&&void 0!==f&&f.angle){var O=e.getLinkedTextBoxStyle(u,g);if(O.visibility){var D=e.configuration.getTextLines(p,s);if(!p.handles.textBox.hasMoved){var S=C[1];p.handles.textBox.worldPosition=i.canvasToWorld(S)}var M=i.worldToCanvas(p.handles.textBox.worldPosition),k=jc(n,h,"1",D,M,C,{},O),x=k.x,P=k.y,R=k.width,A=k.height;p.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([x,P]),topRight:i.canvasToWorld([x+R,P]),bottomLeft:i.canvasToWorld([x,P+A]),bottomRight:i.canvasToWorld([x+R,P+A])}}else p.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,100,{trailing:!0}),e}return Q(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=Ws(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),Jl(r);var c=(0,K.getEnabledElement)(r).renderingEngine;ia(c,l),e.preventDefault()}},{key:"_calculateCachedStats",value:function(e,t,n){var r=e.data,o=n.viewportId,a=n.renderingEngineId;if(3===r.handles.points.length){for(var i=r.handles.points[0],l=r.handles.points[1],c=r.handles.points[2],s=r.cachedStats,d=Object.keys(s),u=0;u<d.length;u++){var v=d[u],f=eg([i,l],[l,c]);s[v]={angle:isNaN(f)?"Incomplete Angle":f}}e.invalidated=!1;var g=X.ANNOTATION_MODIFIED,h={annotation:e,viewportId:o,renderingEngineId:a};return(0,K.triggerEvent)(K.eventTarget,g,h),s}}}]),o}(Js);function Xg(e,t){var n=e.cachedStats[t].angle;if(void 0!==n)return["".concat(ns(n)," ").concat(String.fromCharCode(176))]}te(Yg,"toolName",void 0),Yg.toolName="Angle";var Zg=Yg,Jg=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=2===t[0].length?[0,0]:[0,0,0],o=t.length,a=0,i=t;a<i.length;a++){var l=i[a];r[0]+=l[0]/o,r[1]+=l[1]/o,3===r.length&&(r[2]+=l[2]/o)}return r};function $g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qg(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$g(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var eh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,getTextLines:th}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"angleStartedNotYetCompleted",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"addNewAnnotation",(function(t){if(!e.angleStartedNotYetCompleted){e.angleStartedNotYetCompleted=!0;var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;Jl(o),e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.getReferencedImageId(l,a,d,u),f=l.getFrameOfReferenceUID(),g={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:f,referencedImageId:v},data:{handles:{points:[Rr(a),Rr(a)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}},label:"",cachedStats:{}}};Qe(g,o);var h=Ws(o,e.getToolName());return e.editData={annotation:g,viewportIdsToRender:h,handleIndex:1,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),t.preventDefault(),ia(c,h),g}})),te(ua(e),"isPointNearTool",(function(t,n,r,o){var a=(0,K.getEnabledElement)(t).viewport,i=n.data,l=e.distanceToLines({viewport:a,points:i.handles.points,canvasCoords:r,proximity:o}),c=l.distanceToPoint,s=l.distanceToPoint2;return c<=o||s<=o})),te(ua(e),"toolSelectedCallback",(function(t,n,r,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:6,i=t.detail.element;n.highlighted=!0;var l=Ws(i,e.getToolName()),c=(0,K.getEnabledElement)(i),s=c.renderingEngine,d=c.viewport,u=e.distanceToLines({viewport:d,points:n.data.handles.points,canvasCoords:o,proximity:a}),v=u.isNearFirstLine,f=u.isNearSecondLine;e.editData={annotation:n,viewportIdsToRender:l,movingTextBox:!1,isNearFirstLine:v,isNearSecondLine:f},e._activateModify(i),Jl(i),ia(s,l),t.preventDefault()})),te(ua(e),"_mouseUpCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation,l=r.hasMoved,c=o.data;if(!i||l){if(e.angleStartedNotYetCompleted&&c.handles.points.length<4)return Zl(n),void(e.editData.handleIndex=c.handles.points.length);e.angleStartedNotYetCompleted=!1,c.handles.activeHandleIndex=null,e._deactivateModify(n),e._deactivateDraw(n),Zl(n);var s=(0,K.getEnabledElement)(n).renderingEngine;if(e.isHandleOutsideImage&&e.configuration.preventHandleOutsideImage&&tt(o.annotationUID),ia(s,a),i){var d=X.ANNOTATION_COMPLETED,u={annotation:o};(0,K.triggerEvent)(K.eventTarget,d,u)}e.editData=null,e.isDrawing=!1}})),te(ua(e),"_mouseDownCallback",(function(t){var n=e.editData,r=n.annotation,o=n.handleIndex,a=t.detail,i=a.element,l=a.currentPoints.world,c=r.data;return 1===o?(c.handles.points[1]=l,void(e.editData.hasMoved=c.handles.points[1][0]!==c.handles.points[0][0]||c.handles.points[1][1]!==c.handles.points[0][0])):3===o?(c.handles.points[3]=l,e.editData.hasMoved=c.handles.points[3][0]!==c.handles.points[2][0]||c.handles.points[3][1]!==c.handles.points[2][0],void(e.angleStartedNotYetCompleted=!1)):(e.editData.hasMoved=!1,Jl(i),c.handles.points[2]=c.handles.points[3]=l,void(e.editData.handleIndex=c.handles.points.length-1))})),te(ua(e),"_mouseDragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=o.movingTextBox,s=o.isNearFirstLine,d=o.isNearSecondLine,u=a.data;if(c){var v=n.deltaPoints.world,f=u.handles.textBox,g=f.worldPosition;g[0]+=v[0],g[1]+=v[1],g[2]+=v[2],f.hasMoved=!0}else if(void 0===l&&(s||d)){var h=n.deltaPoints.world,p=u.handles.points;s?[p[0],p[1]].forEach((function(e){e[0]+=h[0],e[1]+=h[1],e[2]+=h[2]})):d&&[p[2],p[3]].forEach((function(e){e[0]+=h[0],e[1]+=h[1],e[2]+=h[2]})),a.invalidated=!0}else{var m=n.currentPoints.world;u.handles.points[l]=Rr(m),a.invalidated=!0}e.editData.hasMoved=!0;var w=(0,K.getEnabledElement)(r).renderingEngine;ia(w,i)})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateDraw(t),e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;i.handles.points.length<4&&tt(r.annotationUID),r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,e.angleStartedNotYetCompleted=!1,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._mouseUpCallback),t.addEventListener(X.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(X.MOUSE_CLICK,e._mouseUpCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(X.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(X.MOUSE_CLICK,e._mouseUpCallback)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._mouseUpCallback),t.addEventListener(X.MOUSE_DRAG,e._mouseDragCallback),t.addEventListener(X.MOUSE_MOVE,e._mouseDragCallback),t.addEventListener(X.MOUSE_CLICK,e._mouseUpCallback),t.addEventListener(X.MOUSE_DOWN,e._mouseDownCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._mouseUpCallback),t.removeEventListener(X.MOUSE_DRAG,e._mouseDragCallback),t.removeEventListener(X.MOUSE_MOVE,e._mouseDragCallback),t.removeEventListener(X.MOUSE_CLICK,e._mouseUpCallback),t.removeEventListener(X.MOUSE_DOWN,e._mouseDownCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=i.element,c=$e(e.getToolName(),l);if(null===(r=c)||void 0===r||!r.length)return a;if(null===(o=c=e.filterInteractableAnnotationsForElement(l,c))||void 0===o||!o.length)return a;for(var s=e.getTargetId(i),d=i.getRenderingEngine(),u={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},v=0;v<c.length;v++){var f,g=c[v],h=g.annotationUID,p=g.data,m=p.handles,w=m.points,E=m.activeHandleIndex;u.annotationUID=h;var y=e.getStyle("lineWidth",u,g),I=e.getStyle("lineDash",u,g),b=e.getStyle("color",u,g),C=w.map((function(e){return i.worldToCanvas(e)}));p.cachedStats[s]&&null!=p.cachedStats[s].angle?g.invalidated&&e._throttledCalculateCachedStats(g,d,t):(p.cachedStats[s]={angle:null,arc1Angle:null,arc2Angle:null,points:{world:{arc1Start:null,arc1End:null,arc2Start:null,arc2End:null,arc1Angle:null,arc2Angle:null},canvas:{arc1Start:null,arc1End:null,arc2Start:null,arc2End:null,arc1Angle:null,arc2Angle:null}}},e._calculateCachedStats(g,d,t));var _=void 0;if(ce(g)||e.editData||null===E||(_=[C[E]]),!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;_&&Pc(n,h,"0",C,{color:b,lineDash:I,lineWidth:y});var T=[C[0],C[1]],O=[C[2],C[3]],D="line1";if(Rc(n,h,D,T[0],T[1],{color:b,width:y,lineDash:I}),a=!0,C.length<4)return a;Rc(n,h,D="line2",O[0],O[1],{color:b,width:y,lineDash:I}),Rc(n,h,D="linkLine",Jg(T[0],T[1]),Jg(O[0],O[1]),{color:b,lineWidth:"1",lineDash:"1,4"});var S=p.cachedStats[s].points.canvas,M=S.arc1Start,k=S.arc1End,x=S.arc2End,P=S.arc2Start,R=p.cachedStats[s],A=R.arc1Angle,N=R.arc2Angle;if(Rc(n,h,D="arc1",M,k,{color:b,lineWidth:"1"}),Rc(n,h,D="arc2",P,x,{color:b,lineWidth:"1"}),null!==(f=p.cachedStats[s])&&void 0!==f&&f.angle){var L=e.getLinkedTextBoxStyle(u,g);if(L.visibility){var U=e.configuration.getTextLines(p,s);if(!p.handles.textBox.hasMoved){var V=ld(C);p.handles.textBox.worldPosition=i.canvasToWorld(V)}var B=i.worldToCanvas(p.handles.textBox.worldPosition),j=jc(n,h,"cobbAngleText",U,B,C,{},L),W=j.x,H=j.y,F=j.width,G=j.height;p.handles.textBox.worldBoundingBox={topLeft:i.canvasToWorld([W,H]),topRight:i.canvasToWorld([W+F,H]),bottomLeft:i.canvasToWorld([W,H+G]),bottomRight:i.canvasToWorld([W+F,H+G])};var q=["".concat(A.toFixed(2)," ").concat(String.fromCharCode(176))],z=Jg(M,k);Vc(n,h,"arcAngle1",q,z,Qg(Qg({},L),{},{padding:3}));var K=["".concat(N.toFixed(2)," ").concat(String.fromCharCode(176))],Y=Jg(P,x);Vc(n,h,"arcAngle2",K,Y,Qg(Qg({},L),{},{padding:3}))}else p.handles.textBox={hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}return a})),te(ua(e),"distanceToLines",(function(e){var t=e.viewport,n=e.points,r=e.canvasCoords,o=e.proximity,a=it(n,4),i=a[0],l=a[1],c=a[2],s=a[3],d=t.worldToCanvas(i),u=t.worldToCanvas(l),v=t.worldToCanvas(c),f=t.worldToCanvas(s),g={start:{x:d[0],y:d[1]},end:{x:u[0],y:u[1]}},h={start:{x:v[0],y:v[1]},end:{x:f[0],y:f[1]}},p=ad([g.start.x,g.start.y],[g.end.x,g.end.y],[r[0],r[1]]),m=ad([h.start.x,h.start.y],[h.end.x,h.end.y],[r[0],r[1]]),w=!1,E=!1;return p<=o?w=!0:m<=o&&(E=!0),{distanceToPoint:p,distanceToPoint2:m,isNearFirstLine:w,isNearSecondLine:E}})),te(ua(e),"getArcsStartEndPoints",(function(e){var t=e.firstLine,n=e.secondLine,r=e.mid1,o=e.mid2,a=[r,o],i=eg(t,a),l=eg(n,a),c=i>90?1:0,s=l>90?0:1,d=Jg(a[0],a[1]),u=Math.sqrt(Math.pow(a[1][0]-a[0][0],2)+Math.pow(a[1][1]-a[0][1],2)),v=.1,f=Jg(t[0],t[1]),g=Jg(n[0],n[1]),h=[t[c][0]-f[0],t[c][1]-f[1]],p=Math.sqrt(Math.pow(h[0],2)+Math.pow(h[1],2)),m=[h[0]/p,h[1]/p],w=[f[0]+m[0]*u*v,f[1]+m[1]*u*v],E=[d[0]-r[0],d[1]-r[1]],y=Math.sqrt(Math.pow(E[0],2)+Math.pow(E[1],2)),I=[E[0]/y,E[1]/y],b=[r[0]+I[0]*u*v,r[1]+I[1]*u*v],C=[n[s][0]-g[0],n[s][1]-g[1]],_=Math.sqrt(Math.pow(C[0],2)+Math.pow(C[1],2)),T=[C[0]/_,C[1]/_],O=[g[0]+T[0]*u*v,g[1]+T[1]*u*v],D=[d[0]-o[0],d[1]-o[1]],S=Math.sqrt(Math.pow(D[0],2)+Math.pow(D[1],2)),M=[D[0]/S,D[1]/S];return{arc1Start:w,arc1End:b,arc2Start:O,arc2End:[o[0]+M[0]*u*v,o[1]+M[1]*u*v],arc1Angle:i>90?180-i:i,arc2Angle:l>90?180-l:l}})),e._throttledCalculateCachedStats=Xc(e._calculateCachedStats,25,{trailing:!0}),e}return Q(o,[{key:"handleSelectedCallback",value:function(e,t,n){var r=e.detail.element,o=t.data;t.highlighted=!0;var a,i=!1;n.worldPosition?i=!0:a=o.handles.points.findIndex((function(e){return e===n}));var l=Ws(r,this.getToolName());this.editData={annotation:t,viewportIdsToRender:l,handleIndex:a,movingTextBox:i},this._activateModify(r),Jl(r);var c=(0,K.getEnabledElement)(r).renderingEngine;ia(c,l),e.preventDefault()}},{key:"_calculateCachedStats",value:function(e,t,n){var r=e.data,o=n.viewportId,a=n.renderingEngineId;if(4===r.handles.points.length){for(var i=[null,null],l=[null,null],c=Number.MAX_VALUE,s=0;s<2;s+=1)for(var d=2;d<4;d+=1){var u=gc.vec3.distance(r.handles.points[s],r.handles.points[d]);u<c&&(c=u,i[1]=r.handles.points[s],i[0]=r.handles.points[(s+1)%2],l[0]=r.handles.points[d],l[1]=r.handles.points[2+(d-1)%2])}for(var v=n.viewport,f=r.handles.points.map((function(e){return v.worldToCanvas(e)})),g=[f[0],f[1]],h=[f[2],f[3]],p=Jg(g[0],g[1]),m=Jg(h[0],h[1]),w=this.getArcsStartEndPoints({firstLine:g,secondLine:h,mid1:p,mid2:m}),E=w.arc1Start,y=w.arc1End,I=w.arc2End,b=w.arc2Start,C=w.arc1Angle,_=w.arc2Angle,T=r.cachedStats,O=Object.keys(T),D=0;D<O.length;D++)T[O[D]]={angle:eg(i,l),arc1Angle:C,arc2Angle:_,points:{canvas:{arc1Start:E,arc1End:y,arc2End:I,arc2Start:b},world:{arc1Start:v.canvasToWorld(E),arc1End:v.canvasToWorld(y),arc2End:v.canvasToWorld(I),arc2Start:v.canvasToWorld(b)}}};e.invalidated=!1;var S=X.ANNOTATION_MODIFIED,M={annotation:e,viewportId:o,renderingEngineId:a};return(0,K.triggerEvent)(K.eventTarget,S,M),T}}}]),o}(Js);function th(e,t){var n=e.cachedStats[t].angle;if(void 0!==n)return["".concat(n.toFixed(2)," ").concat(String.fromCharCode(176))]}te(eh,"toolName",void 0),eh.toolName="CobbAngle";var nh=eh;var rh="magnify-viewport",oh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{magnifySize:10,magnifyWidth:250,magnifyHeight:250}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_bounds",void 0),te(ua(e),"editData",void 0),te(ua(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.element,o=n.currentPoints,a=(0,K.getEnabledElement)(r),i=a.viewport,l=a.renderingEngine;if(!(i instanceof K.StackViewport))throw new Error("MagnifyTool only works on StackViewports");var c=e._getReferencedImageId(i);if(!c)throw new Error("MagnifyTool: No referenced image id found, reconstructed planes not supported yet");var s=Ws(r,e.getToolName());return e.editData={referencedImageId:c,viewportIdsToRender:s,enabledElement:a,renderingEngine:l,currentPoints:o},e._createMagnificationViewport(),e._activateDraw(r),Jl(r),t.preventDefault(),ia(l,s),!0})),te(ua(e),"preTouchStartCallback",(function(t){e.preMouseDownCallback(t)})),te(ua(e),"_createMagnificationViewport",(function(){var t,n=e.editData,r=n.enabledElement,o=n.referencedImageId,a=n.viewportIdsToRender,i=n.renderingEngine,l=n.currentPoints,c=r.viewport,s=c.element,d=c.getProperties(),u=l.canvas,v=l.world;if(null===(t=s.querySelector(".magnifyTool"))){var f=document.createElement("div");f.classList.add("magnifyTool"),f.style.display="block",f.style.width="".concat(e.configuration.magnifyWidth,"px"),f.style.height="".concat(e.configuration.magnifyHeight,"px"),f.style.position="absolute",t=f,s.querySelector(".viewport-element").appendChild(f);var g={viewportId:rh,type:K.Enums.ViewportType.STACK,element:t};i.enableElement(g)}t.style.top="".concat(u[1]-e.configuration.magnifyHeight/2,"px"),t.style.left="".concat(u[0]-e.configuration.magnifyWidth/2,"px");var h=i.getViewport(rh);h.setStack([o]).then((function(){h.setProperties(d);var t=c.getCamera().parallelScale,n=h.getCamera(),r=n.focalPoint,o=n.position,a=n.viewPlaneNormal,i=Math.sqrt(Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2)),l=[v[0],v[1],v[2]],s=[l[0]+i*a[0],l[1]+i*a[1],l[2]+i*a[2]];h.setCamera({parallelScale:t*(1/e.configuration.magnifySize),focalPoint:l,position:s}),h.render()})),t.style.display="block",ia(i,a)})),te(ua(e),"_dragCallback",(function(t){var n=t.detail,r=n.deltaPoints,o=n.element,a=n.currentPoints,i=r.world,l=a.canvas,c=(0,K.getEnabledElement)(o).renderingEngine.getViewport(rh),s=o.querySelector(".magnifyTool");if(s){s.style.top="".concat(l[1]-e.configuration.magnifyHeight/2,"px"),s.style.left="".concat(l[0]-e.configuration.magnifyWidth/2,"px");var d=c.getCamera(),u=d.focalPoint,v=d.position,f=[v[0]+i[0],v[1]+i[1],v[2]+i[2]],g=[u[0]+i[0],u[1]+i[1],u[2]+i[2]];c.setCamera({focalPoint:g,position:f}),c.render()}})),te(ua(e),"_dragEndCallback",(function(t){var n=t.detail.element;(0,K.getEnabledElement)(n).renderingEngine.disableElement(rh);var r=n.querySelector(".viewport-element"),o=r.querySelector(".magnifyTool");r.removeChild(o),e._deactivateDraw(n),Zl(n)})),te(ua(e),"_activateDraw",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._dragEndCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._dragEndCallback),t.addEventListener(X.TOUCH_END,e._dragEndCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_deactivateDraw",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._dragEndCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._dragEndCallback),t.removeEventListener(X.TOUCH_END,e._dragEndCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback)})),e}return Q(o,[{key:"_getReferencedImageId",value:function(e){var t,n=this.getTargetId(e);return e instanceof K.StackViewport&&(t=n.split("imageId:")[1]),t}}]),o}(Ra);te(oh,"toolName",void 0),oh.toolName="Magnify";var ah=oh;function ih(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ih(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ih(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var ch=function(e){return e.uid!==e.referenceId},sh=function(){function e(t){var n=t.magnifyViewportId,r=t.sourceEnabledElement,o=t.radius,a=void 0===o?125:o,i=t.position,l=void 0===i?[0,0]:i,c=t.zoomFactor,s=t.autoPan;ee(this,e),te(this,"_viewportId",void 0),te(this,"_sourceEnabledElement",void 0),te(this,"_enabledElement",null),te(this,"_sourceToolGroup",null),te(this,"_magnifyToolGroup",null),te(this,"_isViewportReady",!1),te(this,"_radius",0),te(this,"_resized",!1),te(this,"_resizeViewportAsync",void 0),te(this,"_canAutoPan",!1),te(this,"_autoPan",void 0),te(this,"position",void 0),te(this,"zoomFactor",void 0),te(this,"visible",void 0),this._viewportId=null!=n?n:K.utilities.uuidv4(),this._sourceEnabledElement=r,this._autoPan=s,this.radius=a,this.position=l,this.zoomFactor=c,this.visible=!0,this._browserMouseDownCallback=this._browserMouseDownCallback.bind(this),this._browserMouseUpCallback=this._browserMouseUpCallback.bind(this),this._handleToolModeChanged=this._handleToolModeChanged.bind(this),this._mouseDragCallback=this._mouseDragCallback.bind(this),this._resizeViewportAsync=Yc(this._resizeViewport.bind(this),1),this._initialize()}return Q(e,[{key:"sourceEnabledElement",get:function(){return this._sourceEnabledElement}},{key:"viewportId",get:function(){return this._viewportId}},{key:"radius",get:function(){return this._radius},set:function(e){Math.abs(this._radius-e)>1e-5&&(this._radius=e,this._resized=!0)}},{key:"update",value:function(){var e=this.radius,t=this.position,n=this.visible,r=this._enabledElement.viewport,o=r.element,a=2*e,i=it(t,2),l=i[0],c=i[1];this._resized&&(this._resizeViewportAsync(),this._resized=!1),Object.assign(o.style,{display:n?"block":"hidden",width:"".concat(a,"px"),height:"".concat(a,"px"),left:"".concat(-e,"px"),top:"".concat(-e,"px"),transform:"translate(".concat(l,"px, ").concat(c,"px)")}),this._isViewportReady&&(this._syncViewports(),r.render())}},{key:"dispose",value:function(){var e=this._enabledElement.viewport,t=e.element,n=e.getRenderingEngine();this._removeEventListeners(t),n.disableElement(e.id),t.parentNode&&t.parentNode.removeChild(t)}},{key:"_handleToolModeChanged",value:function(e){var t,n=this._magnifyToolGroup,r=e.detail,o=r.toolGroupId,a=r.toolName,i=r.mode,l=r.toolBindingsOptions;if((null===(t=this._sourceToolGroup)||void 0===t?void 0:t.id)===o)switch(i){case qe.Active:n.setToolActive(a,l);break;case qe.Passive:n.setToolPassive(a);break;case qe.Enabled:n.setToolEnabled(a);break;case qe.Disabled:n.setToolDisabled(a);break;default:throw new Error("Unknow tool mode (".concat(i,")"))}}},{key:"_inheritBorderRadius",value:function(e){var t=e.querySelector(".viewport-element"),n=e.querySelector(".cornerstone-canvas");t.style.borderRadius="inherit",n.style.borderRadius="inherit"}},{key:"_createViewportNode",value:function(){var e=document.createElement("div"),t=this.radius,n=2*t;return e.classList.add("advancedMagnifyTool"),Object.assign(e.style,{display:"block",width:"".concat(n,"px"),height:"".concat(n,"px"),position:"absolute",overflow:"hidden",borderRadius:"50%",boxSizing:"border-box",left:"".concat(-t,"px"),top:"".concat(-t,"px"),transform:"translate(-1000px, -1000px)"}),e}},{key:"_convertZoomFactorToParalellScale",value:function(e,t,n){return e.getCamera().parallelScale*(1/n)*(t.canvas.offsetWidth/e.canvas.offsetWidth)}},{key:"_isStackViewport",value:function(e){return"setStack"in e}},{key:"_isVolumeViewport",value:function(e){return"addVolumes"in e}},{key:"_cloneToolGroups",value:function(e,t){var n=e.getActors(),r="".concat(t.id,"-toolGroup"),o=Br(e.id,e.renderingEngineId),a=o.clone(r,(function(e){var t=o.getToolInstance(e);return t instanceof Js&&!(t instanceof fh)||e===Ui.toolName}));return a.addViewport(t.id,t.renderingEngineId),n.filter(ch).forEach((function(e){Lf(r,[{segmentationId:e.referenceId,type:dt.Labelmap}])})),{sourceToolGroup:o,magnifyToolGroup:a}}},{key:"_cloneStack",value:function(e,t){var n=this,r=e.getImageIds();t.setStack(r).then((function(){n._isViewportReady=!0,n.update()}))}},{key:"_cloneVolumes",value:function(e,t){var n=this,r=e.getActors().filter((function(e){return!ch(e)})).map((function(e){return{volumeId:e.uid}}));return t.setVolumes(r).then((function(){n._isViewportReady=!0,n.update()})),t}},{key:"_cloneViewport",value:function(e,t){var n=this.viewportId,r=e.getRenderingEngine(),o=e.options,a={element:t,viewportId:n,type:e.type,defaultOptions:lh({},o)};r.enableElement(a);var i=r.getViewport(n);this._isStackViewport(e)?this._cloneStack(e,i):this._isVolumeViewport(e)&&this._cloneVolumes(e,i),this._inheritBorderRadius(t);var l=this._cloneToolGroups(e,i);this._sourceToolGroup=l.sourceToolGroup,this._magnifyToolGroup=l.magnifyToolGroup}},{key:"_cancelMouseEventCallback",value:function(e){e.stopPropagation(),e.preventDefault()}},{key:"_browserMouseUpCallback",value:function(e){var t=this._enabledElement.viewport.element;document.removeEventListener("mouseup",this._browserMouseUpCallback),t.addEventListener("mouseup",this._cancelMouseEventCallback),t.addEventListener("mousemove",this._cancelMouseEventCallback)}},{key:"_browserMouseDownCallback",value:function(e){var t,n=this._enabledElement.viewport.element;this._canAutoPan=!(null===(t=e.target)||void 0===t||!t.closest(".advancedMagnifyTool")),document.addEventListener("mouseup",this._browserMouseUpCallback),n.removeEventListener("mouseup",this._cancelMouseEventCallback),n.removeEventListener("mousemove",this._cancelMouseEventCallback)}},{key:"_mouseDragCallback",value:function(e){if(Fe.isInteractingWithTool){var t=this._autoPan;if(t.enabled&&this._canAutoPan){var n=e.detail.currentPoints,r=this._enabledElement.viewport.canvasToWorld,o=n.canvas,a=this.radius,i=[a,a],l=lu(i,o),c=a-t.padding;if(!(l<=c)){var s=l-c,d=gc.vec2.sub(gc.vec2.create(),o,i);gc.vec2.normalize(d,d),gc.vec2.scale(d,d,s);var u=gc.vec2.add(gc.vec2.create(),this.position,d),v=r(this.position),f=r(u),g=gc.vec3.sub(gc.vec3.create(),f,v),h={points:{currentPosition:{canvas:this.position,world:v},newPosition:{canvas:u,world:f}},delta:{canvas:d,world:g}};t.callback(h)}}}}},{key:"_addBrowserEventListeners",value:function(e){document.addEventListener("mousedown",this._browserMouseDownCallback,!0),e.addEventListener("mousedown",this._cancelMouseEventCallback),e.addEventListener("mouseup",this._cancelMouseEventCallback),e.addEventListener("mousemove",this._cancelMouseEventCallback),e.addEventListener("dblclick",this._cancelMouseEventCallback)}},{key:"_removeBrowserEventListeners",value:function(e){document.removeEventListener("mousedown",this._browserMouseDownCallback,!0),document.removeEventListener("mouseup",this._browserMouseUpCallback),e.removeEventListener("mousedown",this._cancelMouseEventCallback),e.removeEventListener("mouseup",this._cancelMouseEventCallback),e.removeEventListener("mousemove",this._cancelMouseEventCallback),e.removeEventListener("dblclick",this._cancelMouseEventCallback)}},{key:"_addEventListeners",value:function(e){K.eventTarget.addEventListener(X.TOOL_MODE_CHANGED,this._handleToolModeChanged),e.addEventListener(X.MOUSE_MOVE,this._mouseDragCallback),e.addEventListener(X.MOUSE_DRAG,this._mouseDragCallback),this._addBrowserEventListeners(e)}},{key:"_removeEventListeners",value:function(e){K.eventTarget.removeEventListener(X.TOOL_MODE_CHANGED,this._handleToolModeChanged),e.addEventListener(X.MOUSE_MOVE,this._mouseDragCallback),e.addEventListener(X.MOUSE_DRAG,this._mouseDragCallback),this._removeBrowserEventListeners(e)}},{key:"_initialize",value:function(){var e=this._sourceEnabledElement.viewport,t=e.canvas,n=this._createViewportNode();t.parentNode.appendChild(n),this._addEventListeners(n),this._cloneViewport(e,n),this._enabledElement=(0,K.getEnabledElement)(n)}},{key:"_syncViewportsCameras",value:function(e,t){var n=e.canvasToWorld(this.position),r=this._convertZoomFactorToParalellScale(e,t,this.zoomFactor),o=t.getCamera(),a=o.focalPoint,i=o.position,l=o.viewPlaneNormal,c=Math.sqrt(Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)+Math.pow(a[2]-i[2],2)),s=[n[0],n[1],n[2]],d=[s[0]+c*l[0],s[1]+c*l[1],s[2]+c*l[2]];t.setCamera({parallelScale:r,focalPoint:s,position:d})}},{key:"_syncStackViewports",value:function(e,t){t.setImageIdIndex(e.getCurrentImageIdIndex())}},{key:"_syncViewports",value:function(){var e=this._sourceEnabledElement.viewport,t=this._enabledElement.viewport,n=e.getProperties();t.setProperties(n),this._syncViewportsCameras(e,t),this._isStackViewport(e)&&this._syncStackViewports(e,t)}},{key:"_resizeViewport",value:function(){this._enabledElement.viewport.getRenderingEngine().resize()}}]),e}(),dh=1-K.CONSTANTS.EPSILON,uh=K.Enums.Events,vh=function(){function e(){var t=this;ee(this,e),te(this,"_magnifyViewportsMap",void 0),te(this,"createViewport",(function(e,n){var r=n.magnifyViewportId,o=n.sourceEnabledElement,a=n.position,i=n.radius,l=n.zoomFactor,c=n.autoPan,s=o.viewport.element,d=new sh({magnifyViewportId:r,sourceEnabledElement:o,radius:i,position:a,zoomFactor:l,autoPan:c});return t._addSourceElementEventListener(s),t._magnifyViewportsMap.set(d.viewportId,{annotation:e,magnifyViewport:d}),d})),te(this,"_annotationRemovedCallback",(function(e){var n=e.detail.annotation;"AdvancedMagnify"===n.metadata.toolName&&t._destroyViewport(n.data.magnifyViewportId)})),te(this,"_newStackImageCallback",(function(e){var n=e.detail,r=n.viewportId,o=n.imageId;t._getMagnifyViewportsMapEntriesBySourceViewportId(r).forEach((function(e){var t=e.annotation;t.metadata.referencedImageId=o,t.invalidated=!0}))})),te(this,"_newVolumeImageCallback",(function(e){var n=e.detail,r=n.renderingEngineId,o=n.viewportId,a=(0,K.getRenderingEngine)(r).getViewport(o),i=a.getCamera().viewPlaneNormal;t._getMagnifyViewportsMapEntriesBySourceViewportId(o).forEach((function(e){var t=e.annotation,n=t.metadata.viewPlaneNormal;if(Math.abs(gc.vec3.dot(n,i))>dh){for(var r=t.data.handles,o=a.canvasToWorld([0,0]),l=gc.vec3.sub(gc.vec3.create(),o,r.points[0]),c=gc.vec3.dot(l,i),s=gc.vec3.scale(gc.vec3.create(),i,c),d=0,u=r.points.length;d<u;d++){var v=r.points[d];v[0]+=s[0],v[1]+=s[1],v[2]+=s[2]}t.invalidated=!0}}))})),this._magnifyViewportsMap=new Map,this._initialize()}return Q(e,[{key:"getViewport",value:function(e){var t;return null===(t=this._magnifyViewportsMap.get(e))||void 0===t?void 0:t.magnifyViewport}},{key:"dispose",value:function(){this._removeEventListeners(),this._destroyViewports()}},{key:"_destroyViewport",value:function(e){var t=this._magnifyViewportsMap.get(e);if(t){var n=t.magnifyViewport,r=n.sourceEnabledElement.viewport.element;this._removeSourceElementEventListener(r),n.dispose(),this._magnifyViewportsMap.delete(e)}}},{key:"_destroyViewports",value:function(){var e=this;Array.from(this._magnifyViewportsMap.keys()).forEach((function(t){return e._destroyViewport(t)}))}},{key:"_getMagnifyViewportsMapEntriesBySourceViewportId",value:function(e){return Array.from(this._magnifyViewportsMap.values()).filter((function(t){return t.magnifyViewport.sourceEnabledElement.viewport.id===e}))}},{key:"_addEventListeners",value:function(){K.eventTarget.addEventListener(X.ANNOTATION_REMOVED,this._annotationRemovedCallback)}},{key:"_removeEventListeners",value:function(){K.eventTarget.removeEventListener(X.ANNOTATION_REMOVED,this._annotationRemovedCallback)}},{key:"_addSourceElementEventListener",value:function(e){e.addEventListener(uh.STACK_NEW_IMAGE,this._newStackImageCallback),e.addEventListener(uh.VOLUME_NEW_IMAGE,this._newVolumeImageCallback)}},{key:"_removeSourceElementEventListener",value:function(e){e.removeEventListener(uh.STACK_NEW_IMAGE,this._newStackImageCallback),e.removeEventListener(uh.VOLUME_NEW_IMAGE,this._newVolumeImageCallback)}},{key:"_initialize",value:function(){this._addEventListeners()}}],[{key:"getInstance",value:function(){var t;return e._singleton=null!==(t=e._singleton)&&void 0!==t?t:new e,e._singleton}}]),e}();te(vh,"_singleton",void 0);var fh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,magnifyingGlass:{radius:125,zoomFactor:2.5,zoomFactorList:[2.5,3,3.5,4,4.5,5],autoPan:{enabled:!0,padding:10}},actions:[{method:"showZoomFactorsList",bindings:[{mouseButton:po.Secondary,modifierKey:mo.Shift}]}]}};return ee(this,o),te(ua(e=r.call(this,t,n)),"magnifyViewportManager",void 0),te(ua(e),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"addNewAnnotation",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=(0,K.getEnabledElement)(o),i=a.viewport,l=a.renderingEngine,c=r.world,s=r.canvas,d=e.configuration.magnifyingGlass,u=d.radius,v=d.zoomFactor,f=d.autoPan,g=e._getWorldHandlesPoints(i,s,u),h=i.getCamera(),p=h.viewPlaneNormal,m=h.viewUp,w=e.getReferencedImageId(i,c,p,m),E=K.utilities.uuidv4(),y=K.utilities.uuidv4(),I=i.getFrameOfReferenceUID(),b={annotationUID:E,highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(p),viewUp:Rr(m),FrameOfReferenceUID:I,referencedImageId:w},data:{sourceViewportId:i.id,magnifyViewportId:y,zoomFactor:v,handles:{points:g,activeHandleIndex:null}}};e.magnifyViewportManager.createViewport(b,{magnifyViewportId:y,sourceEnabledElement:a,position:s,radius:u,zoomFactor:v,autoPan:{enabled:f.enabled,padding:f.padding,callback:function(e){for(var t=b.data.handles.points,n=e.delta.world,r=0,o=t.length;r<o;r++)t[r][0]+=n[0],t[r][1]+=n[1],t[r][2]+=n[2]}}}),Qe(b,o);var C=Ws(o,e.getToolName());return t.preventDefault(),ia(l,C),b})),te(ua(e),"isPointNearTool",(function(e,t,n,r){var o=(0,K.getEnabledElement)(e).viewport,a=t.data.handles.points.map((function(e){return o.worldToCanvas(e)})),i=a[0],l=a[2],c=a[3],s=.5*Math.abs(l[1]-i[1]),d=Ag([[c[0]+s,i[1]+s],n]);return Math.abs(d-s)<1.5*r})),te(ua(e),"toolSelectedCallback",(function(t,n){var r=t.detail.element;n.highlighted=!0;var o=Ws(r,e.getToolName());e.editData={annotation:n,viewportIdsToRender:o},Jl(r),e._activateModify(r);var a=(0,K.getEnabledElement)(r).renderingEngine;ia(a,o),t.preventDefault()})),te(ua(e),"handleSelectedCallback",(function(t,n,r){var o=t.detail.element,a=n.data;n.highlighted=!0;var i=a.handles.points.findIndex((function(e){return e===r})),l=Ws(o,e.getToolName());e.editData={annotation:n,viewportIdsToRender:l,handleIndex:i},e._activateModify(o),Jl(o);var c=(0,K.getEnabledElement)(o).renderingEngine;ia(c,l),t.preventDefault()})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.viewportIdsToRender,i=r.newAnnotation;o.data.handles.activeHandleIndex=null,e._deactivateModify(n),Zl(n);var l=(0,K.getEnabledElement)(n).renderingEngine;if(e.editData=null,e.isDrawing=!1,ia(l,a),i){var c=X.ANNOTATION_COMPLETED,s={annotation:o};(0,K.triggerEvent)(K.eventTarget,c,s)}})),te(ua(e),"_dragDrawCallback",(function(t){var n;e.isDrawing=!0;var r=t.detail,o=r.element,a=r.deltaPoints,i=null!==(n=null==a?void 0:a.world)&&void 0!==n?n:[0,0,0],l=(0,K.getEnabledElement)(o).renderingEngine,c=e.editData,s=c.annotation,d=c.viewportIdsToRender;s.data.handles.points.forEach((function(e){e[0]+=i[0],e[1]+=i[1],e[2]+=i[2]})),s.invalidated=!0,e.editData.hasMoved=!0,ia(l,d)})),te(ua(e),"_dragModifyCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=e.editData,a=o.annotation,i=o.viewportIdsToRender,l=o.handleIndex,c=a.data;if(void 0===l){var s=n.deltaPoints.world;c.handles.points.forEach((function(e){e[0]+=s[0],e[1]+=s[1],e[2]+=s[2]})),a.invalidated=!0}else e._dragHandle(t),a.invalidated=!0;var d=(0,K.getEnabledElement)(r).renderingEngine;ia(d,i)})),te(ua(e),"_dragHandle",(function(t){var n=t.detail,r=n.element,o=(0,K.getEnabledElement)(r).viewport,a=o.worldToCanvas,i=e.editData.annotation.data.handles.points,l=i.map((function(e){return a(e)})),c=l[0],s=l[2],d=l[3],u=.5*Math.abs(s[1]-c[1]),v=[d[0]+u,c[1]+u],f=Ag([v,n.currentPoints.canvas]),g=e._getWorldHandlesPoints(o,v,f);i[0]=g[0],i[1]=g[1],i[2]=g[2],i[3]=g[3]})),te(ua(e),"cancel",(function(t){if(e.isDrawing){e.isDrawing=!1,e._deactivateModify(t),Zl(t);var n=e.editData,r=n.annotation,o=n.viewportIdsToRender,a=n.newAnnotation,i=r.data;r.highlighted=!1,i.handles.activeHandleIndex=null;var l=(0,K.getEnabledElement)(t).renderingEngine;if(ia(l,o),a){var c=X.ANNOTATION_COMPLETED,s={annotation:r};(0,K.triggerEvent)(K.eventTarget,c,s)}return e.editData=null,r.annotationUID}})),te(ua(e),"_activateModify",(function(t){Fe.isInteractingWithTool=!0,t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateModify",(function(t){Fe.isInteractingWithTool=!1,t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragModifyCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragModifyCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a,i=!1,l=t.viewport,c=l.element,s=$e(e.getToolName(),c);if(null===(r=s)||void 0===r||!r.length)return i;if(s=null===(o=s=e.filterInteractableAnnotationsForElement(c,s))||void 0===o?void 0:o.filter((function(e){return e.data.sourceViewportId===l.id})),null===(a=s)||void 0===a||!a.length)return i;for(var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=0;u<s.length;u++){var v=s[u],f=v.annotationUID,g=v.data,h=g.magnifyViewportId,p=g.zoomFactor,m=g.handles,w=m.points,E=m.activeHandleIndex;d.annotationUID=f;var y=e.getStyle("lineWidth",d,v),I=e.getStyle("lineDash",d,v),b=e.getStyle("color",d,v),C=w.map((function(e){return l.worldToCanvas(e)})),_=C[0],T=C[2],O=C[3],D=.5*Math.abs(T[1]-_[1]),S=[O[0]+D,_[1]+D];if(!l.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),i;var M=void 0;if(Me(f)){ce(v)||e.editData||null===E||(M=[C[E]]),M&&Pc(n,f,"0",M,{color:b});var k="".concat(f,"-advancedMagnify");kc(n,f,"0",S,D,{color:b,lineDash:I,lineWidth:y},k);var x=e.magnifyViewportManager.getViewport(h);x.position=S,x.radius=D,x.zoomFactor=p,x.update(),i=!0}}return i})),te(ua(e),"_getWorldHandlesPoints",(function(e,t,n){return[[t[0],t[1]-n],[t[0]+n,t[1]],[t[0],t[1]+n],[t[0]-n,t[1]]].map((function(t){return e.canvasToWorld(t)}))})),e.magnifyViewportManager=vh.getInstance(),e}return Q(o,[{key:"showZoomFactorsList",value:function(e,t){var n=e.detail,r=n.element,o=n.currentPoints,a=(0,K.getEnabledElement)(r).viewport,i=o.canvas,l=r.querySelector(":scope .viewport-element"),c=t.data.zoomFactor,s=this._getZoomFactorsListDropdown(c,(function(e){void 0!==e&&(t.data.zoomFactor=Number.parseFloat(e),t.invalidated=!0),s.parentElement.removeChild(s),a.render()}));Object.assign(s.style,{left:"".concat(i[0],"px"),top:"".concat(i[1],"px")}),l.appendChild(s),s.focus()}},{key:"_getZoomFactorsListDropdown",value:function(e,t){var n=this.configuration.magnifyingGlass.zoomFactorList,r=document.createElement("select");return r.size=5,Object.assign(r.style,{width:"50px",position:"absolute"}),["mousedown","mouseup","mousemove","click"].forEach((function(e){r.addEventListener(e,(function(e){return e.stopPropagation()}))})),r.addEventListener("change",(function(e){e.stopPropagation(),t(r.value)})),r.addEventListener("keydown",(function(e){var n,r;((null!==(n=e.keyCode)&&void 0!==n?n:27===e.which)||"escape"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase()))&&(e.stopPropagation(),t())})),n.forEach((function(t){var n=document.createElement("option");n.label=t,n.title="Zoom factor ".concat(t.toFixed(1)),n.value=t,n.defaultSelected=t===e,r.add(n)})),r}}]),o}(Js);te(fh,"toolName",void 0),fh.toolName="AdvancedMagnify";var gh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{shadow:!0,preventHandleOutsideImage:!1,displayThreshold:5,positionSync:!0,disableCursor:!1}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"isDrawing",!1),te(ua(e),"isHandleOutsideImage",!1),te(ua(e),"_elementWithCursor",null),te(ua(e),"_currentCursorWorldPosition",null),te(ua(e),"_currentCanvasPosition",null),te(ua(e),"_disableCursorEnabled",!1),te(ua(e),"mouseMoveCallback",(function(t){var n=t.detail,r=n.element,o=n.currentPoints;e._currentCursorWorldPosition=o.world,e._currentCanvasPosition=o.canvas,e._elementWithCursor=r;var a=e.getActiveAnnotation(r);return null===a?(e.createInitialAnnotation(o.world,r),!1):(e.updateAnnotationPosition(r,a),!1)})),te(ua(e),"createInitialAnnotation",(function(t,n){var r=(0,K.getEnabledElement)(n);if(!r)throw new Error("No enabled element found");var o=r.viewport,a=r.renderingEngine;e.isDrawing=!0;var i=o.getCamera(),l=i.viewPlaneNormal,c=i.viewUp;if(!l||!c)throw new Error("Camera not found");var s=e.getReferencedImageId(o,t,l,c),d=o.getFrameOfReferenceUID(),u={highlighted:!0,invalidated:!0,metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(l),viewUp:Rr(c),FrameOfReferenceUID:d,referencedImageId:s},data:{label:"",handles:{points:[Rr(t)],activeHandleIndex:null,textBox:{hasMoved:!1,worldPosition:[0,0,0],worldBoundingBox:{topLeft:[0,0,0],topRight:[0,0,0],bottomLeft:[0,0,0],bottomRight:[0,0,0]}}}}};if($e(e.getToolName(),n).length>0)return null;if(null!==Qe(u,n)){var v=Ws(n,e.getToolName(),!1);ia(a,v)}})),te(ua(e),"onCameraModified",(function(t){var n=t.detail,r=n.element,o=n.previousCamera,a=n.camera,i=(0,K.getEnabledElement)(r).viewport;if(r===e._elementWithCursor){var l=o.focalPoint,c=a.viewPlaneNormal,s=a.focalPoint,d=[0,0,0];if(su().subtract(s,l,d),0!==d.reduce((function(e,t){return e+t}),0)){var u=su().dot(d,c);if(!(Math.abs(u)<.01)&&e._currentCanvasPosition){var v=i.canvasToWorld(e._currentCanvasPosition);e._currentCursorWorldPosition=v,e.updateAnnotationPosition(r,e.getActiveAnnotation(r))}}}})),te(ua(e),"renderAnnotation",(function(t,n){var r,o,a=!1,i=t.viewport,l=(t.FrameOfReferenceUID,e._elementWithCursor===i.element);e.configuration.positionSync&&!l&&e.updateViewportImage(i);var c=i.element,s=$e(e.getToolName(),c);if(null===(r=s)||void 0===r||!r.length)return a;if(null===(o=s=e.filterInteractableAnnotationsForElement(c,s))||void 0===o||!o.length)return a;for(var d={toolGroupId:e.toolGroupId,toolName:e.getToolName(),viewportId:t.viewport.id},u=0;u<s.length;u++){var v=s[u],f=v.annotationUID,g=v.data.handles.points;if(!f)return a;d.annotationUID=f;var h=parseFloat(e.getStyle("lineWidth",d,v)),p=e.getStyle("lineDash",d,v),m=e.getStyle("color",d,v);if(g[0].some((function(e){return isNaN(e)})))return a;var w=g.map((function(e){return i.worldToCanvas(e)}));if(!i.getRenderingEngine())return console.warn("Rendering Engine has been destroyed"),a;if(Me(f)){var E={upper:"upper",right:"right",lower:"lower",left:"left"},y=it(w[0],2),I=y[0],b=y[1],C=l?20:7,_=l?5:7;Rc(n,f,E.upper,[I,b-(C/2+_)],[I,b-C/2],{color:m,lineDash:p,lineWidth:h}),Rc(n,f,E.lower,[I,b+(C/2+_)],[I,b+C/2],{color:m,lineDash:p,lineWidth:h}),Rc(n,f,E.right,[I+(C/2+_),b],[I+C/2,b],{color:m,lineDash:p,lineWidth:h}),Rc(n,f,E.left,[I-(C/2+_),b],[I-C/2,b],{color:m,lineDash:p,lineWidth:h}),a=!0}}return a})),e._disableCursorEnabled=e.configuration.disableCursor,e}return Q(o,[{key:"onSetToolActive",value:function(){if(this._disableCursorEnabled=this.configuration.disableCursor,this._disableCursorEnabled){var e=da(this.toolGroupId).viewportsInfo;e&&e.map((function(e){return(0,K.getEnabledElementByIds)(e.viewportId,e.renderingEngineId)})).forEach((function(e){e&&Jl(e.viewport.element)}))}}},{key:"onSetToolDisabled",value:function(){if(this._disableCursorEnabled){var e=da(this.toolGroupId).viewportsInfo;e&&e.map((function(e){return(0,K.getEnabledElementByIds)(e.viewportId,e.renderingEngineId)})).forEach((function(e){e&&Zl(e.viewport.element)}))}}},{key:"getActiveAnnotation",value:function(e){var t=$e(this.getToolName(),e);return t.length?t[0]:null}},{key:"updateAnnotationPosition",value:function(e,t){var n,r,o=this._currentCursorWorldPosition;if(o&&null!==(n=t.data)&&void 0!==n&&null!==(r=n.handles)&&void 0!==r&&r.points){t.data.handles.points=[Rr(o)],t.invalidated=!0;var a=Ws(e,this.getToolName(),!1),i=(0,K.getEnabledElement)(e);if(i){var l=i.renderingEngine;ia(l,a)}}}},{key:"filterInteractableAnnotationsForElement",value:function(e,t){var n,r,o;if(!(t instanceof Array)||0===t.length)return[];var a=t[0],i=null===(n=(0,K.getEnabledElement)(e))||void 0===n?void 0:n.viewport;if(!i)return[];var l=i.getCamera(),c=l.viewPlaneNormal,s=l.focalPoint;if(!c||!s)return[];var d=null===(r=a.data)||void 0===r||null===(o=r.handles)||void 0===o?void 0:o.points;if(!(d instanceof Array)||1!==d.length)return[];var u=d[0],v=K.utilities.planar.planeEquation(c,s);return K.utilities.planar.planeDistanceToPoint(v,u)<this.configuration.displayThreshold?[a]:[]}},{key:"updateViewportImage",value:function(e){var t=this._currentCursorWorldPosition;if(t&&!t.some((function(e){return isNaN(e)})))if(e instanceof K.StackViewport){var n=K.utilities.getClosestStackImageIndexForPoint(t,e);if(null===n)return;n!==e.getCurrentImageIdIndex()&&e.setImageIdIndex(n)}else if(e instanceof K.VolumeViewport){var r=e.getCamera(),o=r.focalPoint,a=r.viewPlaneNormal;if(!o||!a)return;var i=K.utilities.planar.planeEquation(a,o),l=K.utilities.planar.planeDistanceToPoint(i,t,!0);if(Math.abs(l)<.5)return;var c=gc.vec3.normalize(gc.vec3.create(),gc.vec3.fromValues.apply(gc.vec3,Rr(a))),s=gc.vec3.scale(gc.vec3.create(),c,l),d=gc.vec3.add(gc.vec3.create(),gc.vec3.fromValues.apply(gc.vec3,Rr(o)),s);e.setCamera({focalPoint:d});var u=e.getRenderingEngine();u&&u.renderViewport(e.id)}}}]),o}(Ys);te(gh,"toolName",void 0),gh.toolName="ReferenceCursors";var hh=gh;var ph=[],mh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{viewportId:"",scaleLocation:"bottom"}};return ee(this,o),te(ua(e=r.call(this,t,n)),"touchDragCallback",void 0),te(ua(e),"mouseDragCallback",void 0),te(ua(e),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",{}),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"_init",(function(){var t=(0,K.getRenderingEngines)()[0];if(t){var n=da(e.toolGroupId).viewportsInfo;if(n){var r=n.map((function(e){return(0,K.getEnabledElementByIds)(e.viewportId,e.renderingEngineId)})),o=r[0].viewport,a=r[0].FrameOfReferenceUID;if(e.configuration.viewportId&&r.forEach((function(t){t.viewport.id==e.configuration.viewportId&&(o=t.viewport)})),o){var i=o.getCamera(),l=i.viewUp,c=i.viewPlaneNormal,s=K.utilities.getViewportImageCornersInWorld(o),d=e.editData.annotation,u=$e(e.getToolName(),o.element);if(u.length&&(d=u.filter((function(e){return e.data.viewportId==o.id}))[0]),ph.includes(o.id))e.editData.annotation.data.viewportId==o.id&&(e.editData.annotation.data.handles.points=s,e.editData.annotation.data.viewportId=o.id);else{var v={metadata:{toolName:e.getToolName(),viewPlaneNormal:Rr(c),viewUp:Rr(l),FrameOfReferenceUID:a,referencedImageId:null},data:{handles:{points:s},viewportId:o.id}};ph.push(o.id),Qe(v,o.element),d=v}e.editData={viewport:o,renderingEngine:t,annotation:d}}}}})),te(ua(e),"onSetToolEnabled",(function(){e._init()})),te(ua(e),"onCameraModified",(function(t){e.configuration.viewportId=t.detail.viewportId,e._init()})),te(ua(e),"computeScaleSize",(function(e,t,n){var r=[16e3,8e3,4e3,2e3,1e3,500,250,100,50,25,10,5,2];return("top"==n||"bottom"==n?r.filter((function(t){return t<.6*e&&t>.2*e})):r.filter((function(e){return e<.6*t&&e>.2*t})))[0]})),te(ua(e),"computeEndScaleTicks",(function(e,t){var n={bottom:[[0,-10],[0,-10]],top:[[0,10],[0,10]],left:[[0,0],[10,0]],right:[[0,0],[-10,0]]};return{endTick1:[[e[1][0]+n[t][0][0],e[1][1]+n[t][0][0]],[e[1][0]+n[t][1][0],e[1][1]+n[t][1][1]]],endTick2:[[e[0][0]+n[t][0][0],e[0][1]+n[t][0][0]],[e[0][0]+n[t][1][0],e[0][1]+n[t][1][1]]]}})),te(ua(e),"computeInnerScaleTicks",(function(e,t,n,r,o){var a;"bottom"==t||"top"==t?a=o[0][0]-r[0][0]:"left"!=t&&"right"!=t||(a=o[0][1]-r[0][1]);var i=[],l=[],c=[],s=e;e>=50&&(s=e/10);for(var d=a/s,u=0;u<s-1;u++){var v={bottom:[[d*(u+1),0],[d*(u+1),5]],top:[[d*(u+1),0],[d*(u+1),-5]],left:[[0,d*(u+1)],[-5,d*(u+1)]],right:[[0,d*(u+1)],[5,d*(u+1)]]};i.push("".concat(n,"-tick").concat(u)),l.push("tick".concat(u)),(u+1)%5==0?c.push([[r[0][0]+v[t][0][0],r[0][1]+v[t][0][1]],[r[1][0]+v[t][0][0],r[1][1]+v[t][0][1]]]):c.push([[r[0][0]+v[t][0][0],r[0][1]+v[t][0][1]],[r[1][0]+v[t][1][0],r[1][1]+v[t][1][1]]])}return{tickIds:i,tickUIDs:l,tickCoordinates:c}})),te(ua(e),"computeWorldScaleCoordinates",(function(e,t,n){var r,o=gc.vec3.subtract(gc.vec3.create(),n[0],n[1]);o=gc.vec3.normalize(gc.vec3.create(),o);var a=gc.vec3.subtract(gc.vec3.create(),n[2],n[0]);a=gc.vec3.normalize(gc.vec3.create(),a);var i={bottom:[n[1],n[2]],top:[n[0],n[3]],right:[n[2],n[3]],left:[n[0],n[1]]},l=gc.vec3.add(gc.vec3.create(),i[t][0],i[t][0]).map((function(e){return e/2})),c=e/2/Math.sqrt(Math.pow(o[0],2)+Math.pow(o[1],2)+Math.pow(o[2],2));return"top"==t||"bottom"==t?r=[gc.vec3.subtract(gc.vec3.create(),l,a.map((function(e){return e*c}))),gc.vec3.add(gc.vec3.create(),l,a.map((function(e){return e*c})))]:"left"!=t&&"right"!=t||(r=[gc.vec3.add(gc.vec3.create(),l,o.map((function(e){return e*c}))),gc.vec3.subtract(gc.vec3.create(),l,o.map((function(e){return e*c})))]),r})),te(ua(e),"computeCanvasScaleCoordinates",(function(e,t,n,r,o){var a;if("top"==o||"bottom"==o){var i=t[0][0]-t[1][0];a=[[e.width/2-i/2,n.height],[e.width/2+i/2,n.height]]}else if("left"==o||"right"==o){var l=t[0][1]-t[1][1];a=[[r.width,e.height/2-l/2],[r.width,e.height/2+l/2]]}return a})),te(ua(e),"computeScaleBounds",(function(e,t,n,r){var o=t*Math.min(1e3,e.width),a=n*Math.min(1e3,e.height),i={bottom:[-a,-o],top:[a,o],left:[a,o],right:[-a,-o]},l={bottom:[e.height,e.width],top:[0,e.width],left:[e.height,0],right:[e.height,e.width]};return{height:l[r][0]+i[r][0],width:l[r][1]+i[r][1]}})),e}return Q(o,[{key:"renderAnnotation",value:function(e,t){if(this.editData.viewport){var n=this.configuration.scaleLocation,r=e.viewport,o=$e(this.getToolName(),r.element).filter((function(e){return e.data.viewportId==r.id}))[0],a=e.viewport.canvas;if(!r)return!1;var i={toolGroupId:this.toolGroupId,toolName:this.getToolName(),viewportId:e.viewport.id},l={width:a.width,height:a.height},c=o.data.handles.points[0],s=o.data.handles.points[1],d=o.data.handles.points[2],u=o.data.handles.points[3],v=[c,d,s,u],f=gc.vec3.distance(d,u),g=gc.vec3.distance(c,d),h=this.computeScaleBounds(l,.05,.05,n),p=this.computeScaleBounds(l,.05,.05,n),m=this.computeScaleSize(f,g,n),w=this.computeWorldScaleCoordinates(m,n,v).map((function(e){return r.worldToCanvas(e)})),E=this.computeCanvasScaleCoordinates(l,w,p,h,n),y=this.computeEndScaleTicks(E,n),I=o.annotationUID;i.annotationUID=I;var b=this.getStyle("lineWidth",i,o),C=this.getStyle("lineDash",i,o),_=this.getStyle("color",i,o),T=this.getStyle("shadow",i,o),O="".concat(I,"-scaleline");Rc(t,I,"1",E[0],E[1],{color:_,width:b,lineDash:C,shadow:T},O);var D="".concat(I,"-left");Rc(t,I,"2",y.endTick1[0],y.endTick1[1],{color:_,width:b,lineDash:C,shadow:T},D);var S="".concat(I,"-right");Rc(t,I,"3",y.endTick2[0],y.endTick2[1],{color:_,width:b,lineDash:C,shadow:T},S);for(var M={bottom:[-10,-42],top:[-12,-35],left:[-40,-20],right:[-50,-20]},k=[E[0][0]+M[n][0],E[0][1]+M[n][1]],x=this._getTextLines(m),P=this.computeInnerScaleTicks(m,n,I,y.endTick1,y.endTick2),R=P.tickIds,A=P.tickUIDs,N=P.tickCoordinates,L=0;L<A.length;L++)Rc(t,I,A[L],N[L][0],N[L][1],{color:_,width:b,lineDash:C,shadow:T},R[L]);return Vc(t,I,"text0",x,[k[0],k[1]],{fontFamily:"Helvetica Neue, Helvetica, Arial, sans-serif",fontSize:"14px",lineDash:"2,3",lineWidth:"1",shadow:!0,color:_}),!1}}},{key:"_getTextLines",value:function(e){var t,n;return e>=50?(t=e/10,n=" cm"):(t=e,n=" mm"),[t.toString().concat(n)]}}]),o}(Ys);te(mh,"toolName",void 0),mh.toolName="ScaleOverlay";var wh=mh,Eh=K.utilities.transformWorldToIndex;function yh(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentIndex,i=t.segmentationId,l=t.constraintFn,c=n.imageData,s=n.dimensions,d=n.getScalarData(),u=r.map((function(e){return Eh(c,e)}));u=u.map((function(e){return e.map((function(e){return Math.round(e)}))}));var v=Qc(u,s);$c(c,(function(){return!0}),(function(e){var t=e.value,n=e.index,r=e.pointIJK;o.includes(t)||(l?l(r)&&(d[n]=a):d[n]=a)}),v),_t(i)}(0,t)}var Ih=K.utilities.transformWorldToIndex;function bh(e,t){!function(e,t){var n=t.volume,r=t.points,o=t.segmentsLocked,a=t.segmentationId,i=n.imageData,l=n.dimensions,c=n.getScalarData(),s=r.map((function(e){return Ih(i,e)})),d=Qc(s,l);$c(i,(function(){return!0}),(function(e){var t=e.value,n=e.index;o.includes(t)||(c[n]=0)}),d),_t(a)}(0,t)}var Ch=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:yh,ERASE_INSIDE:bh},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return ee(this,o),te(ua(e=r.call(this,t,n)),"_throttledCalculateCachedStats",void 0),te(ua(e),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o),l=i.viewport,c=i.renderingEngine;e.isDrawing=!0;var s=l.getCamera(),d=s.viewPlaneNormal,u=s.viewUp,v=e.toolGroupId,f=ms(v);if(!f)throw new Error("No active segmentation detected, create one before using scissors tool");var g=f.segmentationRepresentationUID,h=f.segmentationId,p=f.type,m=Cs(h),w=Is(h),E=Os(v,g,m),y=Mt(h).representationData[p].volumeId,I=K.cache.getVolume(y),b={highlighted:!0,invalidated:!0,metadata:{viewPlaneNormal:Rr(d),viewUp:Rr(u),FrameOfReferenceUID:l.getFrameOfReferenceUID(),referencedImageId:"",toolName:e.getToolName(),segmentColor:E},data:{handles:{points:[Rr(a),Rr(a),Rr(a),Rr(a)],activeHandleIndex:null}}},C=Ws(o,e.getToolName());return e.editData={annotation:b,segmentation:I,segmentIndex:m,segmentsLocked:w,segmentColor:E,segmentationId:h,viewportIdsToRender:C,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(c,C),!0})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n,r,o,a,i,l,c,s,d=t.detail,u=d.element,v=e.editData,f=v.annotation,g=v.viewportIdsToRender,h=v.handleIndex,p=f.data,m=d.currentPoints,w=(0,K.getEnabledElement)(u),E=w.viewport,y=E.worldToCanvas,I=E.canvasToWorld,b=m.world,C=p.handles.points;switch(C[h]=Rr(b),h){case 0:case 3:n=y(C[0]),r=[(a=y(C[3]))[0],n[1]],o=[n[0],a[1]],l=I(r),c=I(o),C[1]=l,C[2]=c;break;case 1:case 2:r=y(C[1]),n=[(o=y(C[2]))[0],r[1]],a=[r[0],o[1]],i=I(n),s=I(a),C[0]=i,C[3]=s}f.invalidated=!0,e.editData.hasMoved=!0;var _=w.renderingEngine;ia(_,g)})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentationId,s=r.segmentIndex,d=r.segmentsLocked,u=o.data;if(!a||i){u.handles.activeHandleIndex=null,e._deactivateDraw(n),Zl(n);var v=(0,K.getEnabledElement)(n),f=v.viewport;if(e.editData=null,e.isDrawing=!1,f instanceof K.StackViewport)throw new Error("Not implemented yet");var g={points:u.handles.points,volume:l,segmentationId:c,segmentIndex:s,segmentsLocked:d};e.applyActiveStrategy(v,g)}})),te(ua(e),"_activateDraw",(function(t){t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r=!1;if(!e.editData)return r;var o=t.viewport,a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return o.worldToCanvas(e)})),s="rgb(".concat(i.segmentColor.slice(0,3),")");return o.getRenderingEngine()?(Wc(n,l,"0",c[0],c[3],{color:s}),!0):(console.warn("Rendering Engine has been destroyed"),r)})),e}return Q(o)}(Ra);te(Ch,"toolName",void 0),Ch.toolName="RectangleScissor";var _h=Ch;var Th=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:vs},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return ee(this,o),te(ua(e=r.call(this,t,n)),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=r.canvas,l=(0,K.getEnabledElement)(o),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var d=c.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=e.toolGroupId,g=ms(f);if(!g)throw new Error("No active segmentation detected, create one before using scissors tool");var h=g.segmentationRepresentationUID,p=g.segmentationId,m=g.type,w=Cs(p),E=Is(p),y=Os(f,h,w),I=Mt(p).representationData[m].volumeId,b=K.cache.getVolume(I),C={invalidated:!0,highlighted:!0,metadata:{viewPlaneNormal:Rr(u),viewUp:Rr(v),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:"",toolName:e.getToolName(),segmentColor:y},data:{handles:{points:[Rr(a),Rr(a),Rr(a),Rr(a)],activeHandleIndex:null},isDrawing:!0,cachedStats:{}}},_=[c.id];return e.editData={annotation:C,segmentation:b,centerCanvas:i,segmentIndex:w,segmentationId:p,segmentsLocked:E,segmentColor:y,viewportIdsToRender:_,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(s,_),!0})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,K.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=c.centerCanvas,v=s.data,f=Math.abs(o[0]-u[0]),g=Math.abs(o[1]-u[1]),h=Math.sqrt(f*f+g*g),p=[u[0],u[1]+h],m=[u[0],u[1]-h],w=[u[0]-h,u[1]],E=[u[0]+h,u[1]];v.handles.points=[l(p),l(m),l(w),l(E)],s.invalidated=!0,e.editData.hasMoved=!0,ia(i,d)})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,d=r.segmentationId,u=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){u.handles.activeHandleIndex=null,e._deactivateDraw(n),Zl(n);var h=(0,K.getEnabledElement)(n),p=h.viewport;if(e.editData=null,e.isDrawing=!1,p instanceof K.StackViewport)throw new Error("Not implemented yet");var m={points:u.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,viewPlaneNormal:f,segmentationId:d,viewUp:g};e.applyActiveStrategy(h,m)}})),te(ua(e),"_activateDraw",(function(t){t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback),t.addEventListener(X.TOUCH_END,e._endCallback)})),te(ua(e),"_deactivateDraw",(function(t){t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r=!1;if(!e.editData)return r;var o=t.viewport;if(!e.editData.viewportIdsToRender.includes(o.id))return r;var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return o.worldToCanvas(e)})),s=c[0],d=c[1],u=[Math.floor((s[0]+d[0])/2),Math.floor((s[1]+d[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+d[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");return o.getRenderingEngine()?(kc(n,l,"0",u,v,{color:f}),!0):(console.warn("Rendering Engine has been destroyed"),r)})),e}return Q(o)}(Ra);te(Th,"toolName",void 0),Th.toolName="CircleScissor";var Oh=Th;var Dh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"],configuration:{strategies:{FILL_INSIDE:as},defaultStrategy:"FILL_INSIDE",activeStrategy:"FILL_INSIDE"}};return ee(this,o),te(ua(e=r.call(this,t,n)),"editData",void 0),te(ua(e),"isDrawing",void 0),te(ua(e),"isHandleOutsideImage",void 0),te(ua(e),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=r.canvas,l=(0,K.getEnabledElement)(o),c=l.viewport,s=l.renderingEngine;e.isDrawing=!0;var d=c.getCamera(),u=d.viewPlaneNormal,v=d.viewUp,f=e.toolGroupId,g=ms(f);if(!g)throw new Error("No active segmentation detected, create one before using scissors tool");var h=g.segmentationRepresentationUID,p=g.segmentationId,m=g.type,w=Cs(p),E=Is(p),y=Os(f,h,w),I=Mt(p).representationData[m].volumeId,b=K.cache.getVolume(I);e.isDrawing=!0;var C={metadata:{viewPlaneNormal:Rr(u),viewUp:Rr(v),FrameOfReferenceUID:c.getFrameOfReferenceUID(),referencedImageId:"",toolName:e.getToolName(),segmentColor:y},data:{invalidated:!0,handles:{points:[Rr(a),Rr(a),Rr(a),Rr(a)],activeHandleIndex:null},cachedStats:{},highlighted:!0}},_=[c.id];return e.editData={annotation:C,segmentation:b,centerCanvas:i,segmentIndex:w,segmentsLocked:E,segmentColor:y,segmentationId:p,toolGroupId:f,viewportIdsToRender:_,handleIndex:3,movingTextBox:!1,newAnnotation:!0,hasMoved:!1},e._activateDraw(o),Jl(o),t.preventDefault(),ia(s,_),!0})),te(ua(e),"_dragCallback",(function(t){e.isDrawing=!0;var n=t.detail,r=n.element,o=n.currentPoints.canvas,a=(0,K.getEnabledElement)(r),i=a.renderingEngine,l=a.viewport.canvasToWorld,c=e.editData,s=c.annotation,d=c.viewportIdsToRender,u=c.centerCanvas,v=s.data,f=Math.abs(o[0]-u[0]),g=Math.abs(o[1]-u[1]),h=Math.sqrt(f*f+g*g),p=[u[0],u[1]+h],m=[u[0],u[1]-h],w=[u[0]-h,u[1]],E=[u[0]+h,u[1]];v.handles.points=[l(p),l(m),l(w),l(E)],s.invalidated=!0,e.editData.hasMoved=!0,ia(i,d)})),te(ua(e),"_endCallback",(function(t){var n=t.detail.element,r=e.editData,o=r.annotation,a=r.newAnnotation,i=r.hasMoved,l=r.segmentation,c=r.segmentIndex,s=r.segmentsLocked,d=r.segmentationId,u=o.data,v=o.metadata,f=v.viewPlaneNormal,g=v.viewUp;if(!a||i){o.highlighted=!1,u.handles.activeHandleIndex=null,e._deactivateDraw(n),Zl(n);var h=(0,K.getEnabledElement)(n),p=h.viewport;if(e.editData=null,e.isDrawing=!1,p instanceof K.StackViewport)throw new Error("Not implemented yet");var m={points:u.handles.points,volume:l,segmentIndex:c,segmentsLocked:s,segmentationId:d,viewPlaneNormal:f,viewUp:g};e.applyActiveStrategy(h,m)}})),te(ua(e),"_activateDraw",(function(t){t.addEventListener(X.MOUSE_UP,e._endCallback),t.addEventListener(X.MOUSE_DRAG,e._dragCallback),t.addEventListener(X.MOUSE_CLICK,e._endCallback),t.addEventListener(X.TOUCH_END,e._endCallback),t.addEventListener(X.TOUCH_TAP,e._endCallback),t.addEventListener(X.TOUCH_DRAG,e._dragCallback)})),te(ua(e),"_deactivateDraw",(function(t){t.removeEventListener(X.MOUSE_UP,e._endCallback),t.removeEventListener(X.MOUSE_DRAG,e._dragCallback),t.removeEventListener(X.MOUSE_CLICK,e._endCallback),t.removeEventListener(X.TOUCH_END,e._endCallback),t.removeEventListener(X.TOUCH_DRAG,e._dragCallback),t.removeEventListener(X.TOUCH_TAP,e._endCallback)})),te(ua(e),"renderAnnotation",(function(t,n){var r=!1;if(!e.editData)return r;var o=t.viewport;if(!e.editData.viewportIdsToRender.includes(o.id))return r;var a=e.editData.annotation,i=a.metadata,l=a.annotationUID,c=a.data.handles.points.map((function(e){return o.worldToCanvas(e)})),s=c[0],d=c[1],u=[Math.floor((s[0]+d[0])/2),Math.floor((s[1]+d[1])/2)],v=Math.abs(s[1]-Math.floor((s[1]+d[1])/2)),f="rgb(".concat(i.segmentColor.slice(0,3),")");return o.getRenderingEngine()?(kc(n,l,"0",u,v,{color:f}),!0):(console.warn("Rendering Engine has been destroyed"),r)})),e}return Q(o)}(Ra);te(Dh,"toolName",void 0),Dh.toolName="SphereScissor";var Sh=Dh,Mh=E(518),kh=E.n(Mh),xh=E(744),Ph=E.n(xh),Rh=E(424),Ah=E.n(Rh),Nh=E(614),Lh=E.n(Nh);function Uh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Uh(Object(n),!0).forEach((function(t){te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Uh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var Bh={ANNOTATED_CUBE:1,AXES:2,CUSTOM:3},jh=function(e){fa(l,e);var t,n,r,o,a,i=(o=l,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=ha(o);if(a){var n=ha(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return ga(this,e)});function l(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{configuration:{orientationWidget:{enabled:!0,viewportCorner:kh().Corners.BOTTOM_RIGHT,viewportSize:.15,minPixelSize:100,maxPixelSize:300},overlayMarkerType:l.OVERLAY_MARKER_TYPES.ANNOTATED_CUBE,overlayConfiguration:(e={},te(e,l.OVERLAY_MARKER_TYPES.ANNOTATED_CUBE,{faceProperties:{xPlus:{text:"R",faceColor:"#ffff00",faceRotation:90},xMinus:{text:"L",faceColor:"#ffff00",faceRotation:270},yPlus:{text:"P",faceColor:"#00ffff",fontColor:"white",faceRotation:180},yMinus:{text:"A",faceColor:"#00ffff",fontColor:"white"},zPlus:{text:"S"},zMinus:{text:"I"}},defaultStyle:{fontStyle:"bold",fontFamily:"Arial",fontColor:"black",fontSizeScale:function(e){return e/2},faceColor:"#0000ff",edgeThickness:.1,edgeColor:"black",resolution:400}}),te(e,l.OVERLAY_MARKER_TYPES.AXES,{}),te(e,l.OVERLAY_MARKER_TYPES.CUSTOM,{polyDataURL:"https://raw.githubusercontent.com/Slicer/Slicer/80ad0a04dacf134754459557bf2638c63f3d1d1b/Base/Logic/Resources/OrientationMarkers/Human.vtp"}),e)}};return ee(this,l),te(ua(t=i.call(this,n,r)),"orientationMarkers",void 0),te(ua(t),"polyDataURL",void 0),te(ua(t),"configuration_invalidated",!0),te(ua(t),"onSetToolEnabled",(function(){t.initViewports(),t.configuration_invalidated=!0})),te(ua(t),"onSetToolActive",(function(){t.initViewports()})),t.orientationMarkers={},t.configuration_invalidated=!0,t}return Q(l,[{key:"initViewports",value:function(){var e=this,t=(0,K.getRenderingEngines)()[0];if(t){var n=t.getViewports();(n=Vs(n,this.getToolName())).forEach((function(t){return e.addAxisActorInViewport(t)}))}}},{key:"addAxisActorInViewport",value:(r=Na(Ua().mark((function e(t){var n,r,o,a,i,l,c,s,d,u,v,f,g,h,p,m;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.id,r=this.configuration.overlayMarkerType,o=this.configuration.overlayConfiguration[r],this.orientationMarkers[n]&&(a=this.orientationMarkers[n],i=a.actor,l=a.orientationWidget,t.getRenderer().removeActor(i),l.setEnabled(!1)),1!==r){e.next=8;break}c=this.createAnnotationCube(o),e.next=16;break;case 8:if(2!==r){e.next=12;break}c=Ah().newInstance(),e.next=16;break;case 12:if(3!==r){e.next=16;break}return e.next=15,this.createCustomActor();case 15:c=e.sent;case 16:s=t.getRenderer(),d=t.getRenderingEngine().offscreenMultiRenderWindow.getRenderWindow(),u=this.configuration.orientationWidget,v=u.enabled,f=u.viewportCorner,g=u.viewportSize,h=u.minPixelSize,p=u.maxPixelSize,(m=kh().newInstance({actor:c,interactor:d.getInteractor(),parentRenderer:s})).setEnabled(v),m.setViewportCorner(f),m.setViewportSize(g),m.setMinPixelSize(h),m.setMaxPixelSize(p),m.updateMarkerOrientation(),this.orientationMarkers[n]={orientationWidget:m,actor:c},s.resetCamera(),d.render(),t.getRenderingEngine().render(),this.configuration_invalidated=!1;case 31:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"createCustomActor",value:(n=Na(Ua().mark((function e(){var t,n,r,o,a,i,l;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.configuration.overlayConfiguration[Bh.CUSTOM].polyDataURL,e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return r=e.sent,(o=Lh().newInstance()).parseAsArrayBuffer(r),o.update(),(a=Ja().newInstance()).shallowCopy(o.getOutputData()),a.getPointData().setActiveScalars("Color"),(i=qa().newInstance()).setInputData(a),i.setColorModeToDirectScalars(),(l=Fa().newInstance()).setMapper(i),l.rotateZ(180),e.abrupt("return",l);case 20:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"createAnnotationCube",value:function(e){var t=Ph().newInstance();return t.setDefaultStyle(Vh({},e.defaultStyle)),t.setXPlusFaceProperty(Vh({},e.faceProperties.xPlus)),t.setXMinusFaceProperty(Vh({},e.faceProperties.xMinus)),t.setYPlusFaceProperty(Vh({},e.faceProperties.yPlus)),t.setYMinusFaceProperty(Vh({},e.faceProperties.yMinus)),t.setZPlusFaceProperty(Vh({},e.faceProperties.zPlus)),t.setZMinusFaceProperty(Vh({},e.faceProperties.zMinus)),t}},{key:"createAnnotatedCubeActor",value:(t=Na(Ua().mark((function e(){var t,n,r,o;return Ua().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Ph().newInstance(),n=this.configuration.annotatedCube,r=n.faceProperties,o=n.defaultStyle,t.setDefaultStyle(o),Object.keys(r).forEach((function(e){var n="set".concat(e.charAt(0).toUpperCase()+e.slice(1),"FaceProperty");t[n](r[e])})),e.abrupt("return",t);case 5:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),l}(Ra);te(jh,"toolName",void 0),te(jh,"CUBE",1),te(jh,"AXIS",2),te(jh,"VTPFILE",3),te(jh,"OVERLAY_MARKER_TYPES",Bh),jh.toolName="OrientationMarker";var Wh=jh;var Hh=K.utilities.transformWorldToIndex,Fh=K.utilities.isEqual,Gh=function(e){fa(o,e);var t,n,r=(t=o,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=ha(t);if(n){var o=ha(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return ga(this,e)});function o(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{supportedInteractionTypes:["Mouse","Touch"]};return ee(this,o),te(ua(e=r.call(this,t,n)),"preMouseDownCallback",(function(t){var n=t.detail,r=n.currentPoints,o=n.element,a=r.world,i=(0,K.getEnabledElement)(o).viewport.getCamera().viewPlaneNormal,l=ms(e.toolGroupId);if(!l)throw new Error("No active segmentation detected, create one before using scissors tool");var c=l.segmentationId,s=l.type,d=Cs(c),u=Is(c),v=Mt(c).representationData[s].volumeId,f=K.cache.getVolume(v),g=f.dimensions,h=f.direction,p=f.getScalarData(),m=Hh(f.imageData,a),w=e.getFixedDimension(i,h);if(void 0!==w){var E=e.generateHelpers(p,g,m,w),y=E.floodFillGetter,I=E.getLabelValue,b=E.getScalarDataPositionFromPlane,C=E.inPlaneSeedPoint,_=E.fixedDimensionValue;if(!(m[0]<0||m[0]>=g[0]||m[1]<0||m[1]>=g[1]||m[2]<0||m[2]>=g[2])){var T=I(m[0],m[1],m[2]);if(!u.includes(T)){var O=Ld(y,C);return O.flooded.forEach((function(e){var t=b(e[0],e[1]);p[t]=d})),_t(c,e.getFramesModified(w,_,O)),!0}}}else console.warn("Oblique paint fill not yet supported")})),te(ua(e),"getFramesModified",(function(e,t,n){var r=n.boundaries;if(2===e)return[t];for(var o=1/0,a=-1/0,i=0;i<r.length;i++){var l=r[i][1];l<o&&(o=l),l>a&&(a=l)}for(var c=[],s=o;s<=a;s++)c.push(s);return c})),te(ua(e),"generateHelpers",(function(t,n,r){var o,a,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;switch(i){case 0:o=r[0],a=[r[1],r[2]];break;case 1:o=r[1],a=[r[0],r[2]];break;case 2:o=r[2],a=[r[0],r[1]];break;default:throw new Error("Invalid fixedDimension: ".concat(i))}var l=function(e,t,r){return r*n[1]*n[0]+t*n[0]+e},c=function(e,n,r){return t[l(e,n,r)]},s=e.generateFloodFillGetter(n,i,o,c);return{getScalarDataPositionFromPlane:e.generateGetScalarDataPositionFromPlane(l,i,o),getLabelValue:c,floodFillGetter:s,inPlaneSeedPoint:a,fixedDimensionValue:o}})),te(ua(e),"generateFloodFillGetter",(function(e,t,n,r){var o;switch(t){case 0:o=function(t,o){if(!(t>=e[1]||t<0||o>=e[2]||o<0))return r(n,t,o)};break;case 1:o=function(t,o){if(!(t>=e[0]||t<0||o>=e[2]||o<0))return r(t,n,o)};break;case 2:o=function(t,o){if(!(t>=e[0]||t<0||o>=e[1]||o<0))return r(t,o,n)};break;default:throw new Error("Invalid fixedDimension: ".concat(t))}return o})),te(ua(e),"generateGetScalarDataPositionFromPlane",(function(e,t,n){var r;switch(t){case 0:r=function(t,r){return e(n,t,r)};break;case 1:r=function(t,r){return e(t,n,r)};break;case 2:r=function(t,r){return e(t,r,n)};break;default:throw new Error("Invalid fixedDimension: ".concat(t))}return r})),e}return Q(o,[{key:"getFixedDimension",value:function(e,t){var n=t.slice(0,3),r=t.slice(3,6),o=t.slice(6,9),a=[Math.abs(e[0]),Math.abs(e[1]),Math.abs(e[2])],i=[Math.abs(n[0]),Math.abs(n[1]),Math.abs(n[2])];if(Fh(a,i))return 0;var l=[Math.abs(r[0]),Math.abs(r[1]),Math.abs(r[2])];if(Fh(a,l))return 1;var c=[Math.abs(o[0]),Math.abs(o[1]),Math.abs(o[2])];return Fh(a,c)?2:void 0}}]),o}(Ra);te(Gh,"toolName",void 0),Gh.toolName="PaintFill";var qh=Gh}(),y}()}));
|
|
3
3
|
//# sourceMappingURL=index.js.map
|