our-medical
Version:
medical image vue component
20 lines • 2.66 MB
JavaScript
(function(tA,R){typeof exports=="object"&&typeof module<"u"?R(exports,require("vue"),require("@cornerstonejs/tools"),require("@cornerstonejs/core"),require("lodash"),require("@kitware/vtk.js/Filters/General/ImageMarchingSquares"),require("gl-matrix"),require("@cornerstonejs/calculate-suv"),require("@cornerstonejs/dicom-image-loader"),require("dicomweb-client"),require("@kitware/vtk.js/Imaging"),require("@kitware/vtk.js/Common/Core/DataArray"),require("@kitware/vtk.js/Common/DataModel/ImageData"),require("@kitware/vtk.js/Common/DataModel/PolyData"),require("@kitware/vtk.js/Rendering/Core/Actor"),require("@kitware/vtk.js/Rendering/Core/Mapper"),require("@kitware/vtk.js/Rendering/Core/Property"),require("@kitware/vtk.js/Common/Core/Math"),require("@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps"),require("@cornerstonejs/streaming-image-volume-loader"),require("dicom-parser"),require("@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget"),require("@kitware/vtk.js/IO/XML/XMLPolyDataReader"),require("@kitware/vtk.js/Common/Core/ImageHelper"),require("@kitware/vtk.js/Filters/General/ImageCropFilter")):typeof define=="function"&&define.amd?define(["exports","vue","@cornerstonejs/tools","@cornerstonejs/core","lodash","@kitware/vtk.js/Filters/General/ImageMarchingSquares","gl-matrix","@cornerstonejs/calculate-suv","@cornerstonejs/dicom-image-loader","dicomweb-client","@kitware/vtk.js/Imaging","@kitware/vtk.js/Common/Core/DataArray","@kitware/vtk.js/Common/DataModel/ImageData","@kitware/vtk.js/Common/DataModel/PolyData","@kitware/vtk.js/Rendering/Core/Actor","@kitware/vtk.js/Rendering/Core/Mapper","@kitware/vtk.js/Rendering/Core/Property","@kitware/vtk.js/Common/Core/Math","@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps","@cornerstonejs/streaming-image-volume-loader","dicom-parser","@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget","@kitware/vtk.js/IO/XML/XMLPolyDataReader","@kitware/vtk.js/Common/Core/ImageHelper","@kitware/vtk.js/Filters/General/ImageCropFilter"],R):(tA=typeof globalThis<"u"?globalThis:tA||self,R(tA["our-medical"]={},tA.vue,tA.cornerstoneTools,tA.cornerstone,tA.lodash,tA.vtkImageMarchingSquares,tA.glMatrix,tA.calculateSuv,tA.dicomImageLoader,tA.dicomwebClient,tA.vtkImaging,tA.vtkDataArray,tA.vtkImageData,tA.vtkPolyData,tA.vtkActor,tA.vtkMapper,null,tA.vtkMath,tA.vtkColorMaps,tA.streamingImageVolumeLoader,tA.dicomParser,tA.vtkOrientationMarkerWidget,tA.vtkXMLPolyDataReader,tA.vtkImageHelper,tA.vtkImageCropFilter))})(this,function(tA,R,I,l,W,zP,V,jP,f3,VP,aC,cC,bP,rC,UC,kC,Di,n3,WP,XP,qP,lC,_P,$P,AD){"use strict";var Bi=Object.defineProperty;var Pi=(tA,R,I)=>R in tA?Bi(tA,R,{enumerable:!0,configurable:!0,writable:!0,value:I}):tA[R]=I;var Z=(tA,R,I)=>Pi(tA,typeof R!="symbol"?R+"":R,I);function FC(t){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const Q in t)if(Q!=="default"){const C=Object.getOwnPropertyDescriptor(t,Q);Object.defineProperty(A,Q,C.get?C:{enumerable:!0,get:()=>t[Q]})}}return A.default=t,Object.freeze(A)}const nA=FC(I),HA=FC(l),dD=["onClick"],tD=R.defineComponent({__name:"AxisSelect",props:{select:{type:String,required:!0},color:{type:String},i18n:{type:String,required:!0},prefixMark:{type:String},list:{type:Array,required:!0},onUpdateSelect:{type:Function}},emits:{"update:select":t=>t||!0},setup(t,{emit:A}){const Q=t,C=A,B=R.ref(),D=R.ref(),E=R.ref(!1),g=R.reactive({x:0,y:0}),T=R.computed(()=>({left:g.x+"px",top:g.y+"px"})),s=R.computed(()=>{for(const c of Q.list)if(c.key===Q.select)return c.text;return Q.i18n==="en"?"Viewport":"视口"});R.onMounted(()=>{document.addEventListener("click",i)}),R.onBeforeUnmount(()=>{document.removeEventListener("click",i)});function i(c){var U;c.target!==D.value&&!((U=B.value)!=null&&U.contains(c.target))&&(E.value=!1)}async function n(c){E.value?E.value=!1:(E.value=!0,R.nextTick(()=>{const r=c.target.parentElement,{offsetHeight:F,offsetWidth:h}=r,{offsetX:J,offsetY:N}=c;B.value.style.width=r.offsetWidth+"px";const O=B.value.offsetWidth;g.x=c.clientX-J+h-O-5,g.y=c.clientY-N+F}))}function M(c){c.disabled||(C("update:select",c.key),Q.onUpdateSelect&&Q.onUpdateSelect(c.key),E.value=!1)}return(c,U)=>(R.openBlock(),R.createElementBlock(R.Fragment,null,[R.createElementVNode("div",{class:"title",ref_key:"titleNode",ref:D,onClick:n},R.toDisplayString(`${t.prefixMark?t.prefixMark+" - ":""}${s.value}`),513),(R.openBlock(),R.createBlock(R.Teleport,{to:"body"},[E.value?(R.openBlock(),R.createElementBlock("ul",{key:0,class:"list frosted-glass",ref_key:"listNode",ref:B,style:R.normalizeStyle(T.value),onMouseleave:U[0]||(U[0]=r=>E.value=!1)},[(R.openBlock(!0),R.createElementBlock(R.Fragment,null,R.renderList(t.list,r=>(R.openBlock(),R.createElementBlock("li",{class:R.normalizeClass([r.key===t.select?"select":"",r.disabled?"disabled":""]),key:r.key,style:R.normalizeStyle({background:t.color&&r.key===t.select?t.color:void 0}),onClick:F=>M(r)},R.toDisplayString(r.text),15,dD))),128))],36)):R.createCommentVNode("",!0)]))],64))}}),ct=(t,A)=>{const Q=t.__vccOpts||t;for(const[C,B]of A)Q[C]=B;return Q},QD=ct(tD,[["__scopeId","data-v-8f8e987b"]]);var dA=(t=>(t.CONTOUR_DATA_MODIFIED="contour_data_modified",t.VOI_MODIFIED_FROM_TOOL="voi_modified_from_tool",t.ORIGIN_MODIFIED_FROM_DRAG="origin_modified_from_drag",t.ORIGIN_DRAG_END="origin_drag_end",t.SHOT_MODIFIED_FROM_DRAG="shot_modified_from_drag",t.SHOT_REMOVED_FROM_DRAG="shot_removed_from_drag",t.NEW_SHOT_FROM_DRAG="new_shot_from_drag",t.CURR_SHOT_ID_MODIFIED="current_shot_id_modified",t.CURR_FRAME_VERTICE_INFO_MODIFIED="current_frame_vertice_infor_modified",t.FRAME_VERTICE_MOVED="frame_vertice_moved",t.FRAME_MOVED="frame_moved",t.FRAME_DRAG_END="frame_drag_end",t.NAIL_MODIFIED_FROM_DRAG="nail_modified_from_drag",t.NEW_NAIL_FROM_DRAG="new_nail_from_drag",t.CURR_NAIL_MODIFIED="current_nail_modified",t.IMAGE_CENTER_MODIFIED="image_center_modified",t.IMAGE_CENTER_DRAG_END="image_center_drag_end",t.IMGAE_CENTER_REMOVED_FROM_DRAG="image_center_removed_from_drag",t.COUCH_MODIFIED_FROM_DRAG="couch_modified_from_drag",t.COUCH_DRAG_END="couch_drag_end",t.FIDUCIAL_MODIFIED_FROM_DRAG="fiducial_modified_from_drag",t.FIDUCIAL_REMOVED_FROM_DRAG="fiducial_removed_from_drag",t.NEW_FIDUCIAL_FROM_DRAG="new_fiducial_from_drag",t.DOSE_PT_MODIFIED_FROM_DRAG="dose_point_modified_from_drag",t.DOSE_PT_REMOVED_FROM_DRAG="dose_point_removed_from_drag",t.DOSE_PT_UPDATE_DOSE="dose_point_update_dose",t.NEW_DOSE_PT_FROM_DRAG="new_dose_point_from_drag",t.VIEWPORT_VOLUMES_SETTED="viewport_reference_volumes_setted",t.ACCESS_3D="access_to_3d_display",t.Exit_3D="exit_3d_display",t.DOSE_DRAWED="dose_path_draw_end",t.VOLUME_TRANSFORM="volume_transform",t))(dA||{}),I3=(t=>(t.C="core",t.S="south",t.N="north",t))(I3||{}),mA=(t=>(t.Primary="P",t.Secondary="S",t.SideBySide="P&S",t.Fusion="P+S",t))(mA||{}),sd=(t=>(t.Horizontal="horizontal",t.Vertical="vertical",t))(sd||{}),u=(t=>(t.AdvanceBrush="AdvanceBrush",t.ContourDelete="ContourDelete",t.Draggable="Draggable",t.DraggableDisplay="DraggableDisplay",t.DoseDisplay="DoseDisplay",t.ManualRegistration="ManualRegistration",t.MeasuringScale="MeasuringScale",t.OrientationMark="OrientationMark",t.SimplePencil="SimplePencil",t.SliceInfo="SliceInfo",t.WWWC="WWWC",t))(u||{}),TA=(t=>(t.P="primary",t.S="secondary",t))(TA||{}),R3=(t=>(t.A="absolute",t.R="relative",t))(R3||{}),rt=(t=>(t.F="fill",t.L="line",t))(rt||{});const Ut="#efefef",GC="00080060",C3="our-medial-rendering-engin "+l.utilities.uuidv4(),CD="0020000E",HC="00080018",kt="segmentation",bA="cornerstoneStreamingImageVolume",M3={[l.Enums.OrientationAxis.AXIAL]:{en:"Axial",zh:"轴状位"},[l.Enums.OrientationAxis.SAGITTAL]:{en:"Sagittal",zh:"矢状位"},[l.Enums.OrientationAxis.CORONAL]:{en:"Coronal",zh:"冠状位"},[l.Enums.ViewportType.VOLUME_3D]:{en:"3D",zh:"三 维"}};Object.freeze(M3);const nd=["DoseDisplay","DraggableDisplay","MeasuringScale","OrientationMark","SliceInfo"];Object.freeze(nd);const uA=4,lt=.2,Ft=.4,w3={fullIn:["M382 828H204c-4.4 0-8-3.6-8-8V665c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v195c0 17.7 14.3 32 32 32h218c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM884 657h-48c-4.4 0-8 3.6-8 8v155c0 4.4-3.6 8-8 8H642c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h218c17.7 0 32-14.3 32-32V665c0-4.4-3.6-8-8-8zM642 196h178c4.4 0 8 3.6 8 8v155c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V164c0-17.7-14.3-32-32-32H642c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM140 367h48c4.4 0 8-3.6 8-8V204c0-4.4 3.6-8 8-8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H164c-17.7 0-32 14.3-32 32v195c0 4.4 3.6 8 8 8z"],fullOut:["M358 657c17.7 0 32 14.3 32 32v195c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V729c0-4.4-3.6-8-8-8H140c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h218z m526 0c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H706c-4.4 0-8 3.6-8 8v155c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V689c0-17.7 14.3-32 32-32h218zM690 132c4.4 0 8 3.6 8 8v155c0 4.4 3.6 8 8 8h178c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H666c-17.7 0-32-14.3-32-32V140c0-4.4 3.6-8 8-8h48z m-308 0c4.4 0 8 3.6 8 8v195c0 17.7-14.3 32-32 32H140c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h178c4.4 0 8-3.6 8-8V140c0-4.4 3.6-8 8-8h48z"],pointer:["M836.54 429.526667l-498.833333-288-91.946667-53.086667c-10-5.78-18.553333-2.1-21.76-0.246667A21.333333 21.333333 0 0 0 213.333333 106.666667v682.666666a21.333333 21.333333 0 0 0 36.113334 15.386667l154.666666-148.586667 130.38 225.826667A53.333333 53.333333 0 0 0 607.333333 901.486667l129.333334-74.666667a53.333333 53.333333 0 0 0 19.526666-72.86L625.8 528.133333l206-59.64a21.333333 21.333333 0 0 0 4.733333-38.966666z"],reset:["M921.728 654.4a428.352 428.352 0 1 0-647.04 203.264c3.2 2.24 7.488 1.856 10.24-0.896l43.2-43.2a8 8 0 0 0-1.28-12.352 352.256 352.256 0 1 1 462.592-67.968l-70.4-69.76a8 8 0 0 0-13.632 4.608l-27.904 219.776a8 8 0 0 0 9.024 8.96l219.52-29.952a8 8 0 0 0 4.48-13.632l-67.008-66.368a431.36 431.36 0 0 0 78.208-132.48z"],[I.AngleTool.toolName]:["M968 736.96h-315.84c11.52-202.56-82.24-304.96-153.28-352.64l132.8-147.84c20.8-23.04 18.88-58.24-4.16-079.04-23.04-20.8-58.56-18.88-79.04 4.16L14.4 755.52c-14.72 16.32-18.56 40-9.6 60.16 8.96 20.16 29.12 33.28 51.2 33.28h912c31.04 0 56-24.96 56-56s-24.96-56-56-56z m-544.32-269.12c45.76 25.92 127.68 96.64 116.16 269.12H181.76l241.92-269.12z"],[I.LengthTool.toolName]:["M964.693333 300.8L725.333333 59.306667a42.666667 42.666667 0 0 0-30.293333-12.373334 42.666667 42.666667 0 0 0-29.866667 12.373334L59.306667 663.04a42.666667 42.666667 0 0 0 0 60.16l241.493333 241.493333a42.666667 42.666667 0 0 0 30.293333 12.373334 42.666667 42.666667 0 0 0 29.866667-12.373334l120.746667-120.746666 362.24-362.24 120.746666-120.746667a42.666667 42.666667 0 0 0 0-60.16z m-151.04 90.453333l-30.293333-30.293333a42.666667 42.666667 0 0 0-60.16 0 42.666667 42.666667 0 0 0 0 60.586667l30.293333 30.293333L692.906667 512l-90.453334-90.453333a42.666667 42.666667 0 0 0-60.16 60.16l90.453334 90.453333-60.586667 60.586667-29.866667-30.293334a42.666667 42.666667 0 1 0-60.586666 60.586667l30.293333 29.866667-60.16 60.586666-90.88-90.453333a42.666667 42.666667 0 0 0-60.16 0 42.666667 42.666667 0 0 0 0 60.16l90.453333 90.453333-60.16 60.586667-181.333333-181.333333L692.906667 149.76l181.333333 181.333333z"],[I.PanTool.toolName]:["M510.7 896.2c-15.3 0-28.7-11.3-31.4-26.6-0.7-4-0.6-7.9 0.1-11.7 1.7-43.3 0.6-444.5-0.6-710.7-0.1-17.5 14-31.7 31.5-31.8h0.1c17.4 0 31.6 14.1 31.7 31.5 0 0 0.8 179.3 1.3 358.7 0.2 89.7 0.3 179.4 0.2 246.8-0.3 141-0.3 141-30.2 143.7-0.9 0.1-1.8 0.1-2.7 0.1z","M510.7 896.2c-15.3 0-28.7-11.3-31.4-26.6-0.7-4-0.6-7.9 0.1-11.7 1.7-43.3 0.6-444.5-0.6-710.7-0.1-17.5 14-31.7 31.5-31.8h0.1c17.4 0 31.6 14.1 31.7 31.5 0 0 0.8 179.3 1.3 358.7 0.2 89.7 0.3 179.4 0.2 246.8-0.3 141-0.3 141-30.2 143.7-0.9 0.1-1.8 0.1-2.7 0.1z","M330.2 538.2h-65.5c-141-0.3-141-0.3-143.7-30.2-1.5-16.4 10.3-31.3 26.5-34.1 4-0.7 8-0.6 11.7 0.1 43.3 1.8 444.4 0.6 710.7-0.6h0.1c17.4 0 31.6 14.1 31.7 31.5 0.1 17.5-14 31.7-31.5 31.8 0 0-179.3 0.8-358.7 1.3-63 0.1-126 0.2-181.3 0.2zM614.8 250c-8.1 0-16.2-3.1-22.4-9.3L512 160.4l-80.4 80.4c-12.4 12.4-32.4 12.4-44.8 0-12.4-12.4-12.4-32.4 0-44.8L489.6 93.2c12.4-12.4 32.4-12.4 44.8 0L637.2 196c12.4 12.4 12.4 32.4 0 44.8-6.2 6.1-14.3 9.2-22.4 9.2zM512 920.5c-8.1 0-16.2-3.1-22.4-9.3L386.8 808.4c-12.4-12.4-12.4-32.4 0-44.8 12.4-12.4 32.4-12.4 44.8 0L512 844l80.4-80.4c12.4-12.4 32.4-12.4 44.8 0 12.4 12.4 12.4 32.4 0 44.8L534.4 911.2c-6.2 6.2-14.3 9.3-22.4 9.3z","M795.8 636.6c-8.1 0-16.2-3.1-22.4-9.3-12.4-12.4-12.4-32.4 0-44.8l80.4-80.4-80.4-80.4c-12.4-12.4-12.4-32.4 0-44.8 12.4-12.4 32.4-12.4 44.8 0L921 479.8c12.4 12.4 12.4 32.4 0 44.8L818.2 627.4c-6.2 6.1-14.3 9.2-22.4 9.2zM228.2 636.6c-8.1 0-16.2-3.1-22.4-9.3L103 524.6c-12.4-12.4-12.4-32.4 0-44.8L205.8 377c12.4-12.4 32.4-12.4 44.8 0 12.4 12.4 12.4 32.4 0 44.8l-80.4 80.4 80.4 80.4c12.4 12.4 12.4 32.4 0 44.8-6.2 6.1-14.3 9.2-22.4 9.2z"],WWWC:["M512 142.849636c49.823744 0 98.131965 9.747516 143.585504 28.972526 43.924636 18.579149 83.382979 45.184734 117.277915 79.080887 33.894936 33.894936 60.501738 73.353279 79.080887 117.277915 19.22501 45.452323 28.972526 93.76176 28.972526 143.585504s-9.747516 98.131965-28.972526 143.585504c-18.579149 43.924636-45.184734 83.382979-79.080887 117.277916-33.894936 33.894936-73.353279 60.501738-117.277915 79.080887-45.452323 19.22501-93.76176 28.972526-143.585504 28.972526s-98.131965-9.747516-143.585504-28.972526c-43.924636-18.579149-83.382979-45.184734-117.277915-79.080887-33.894936-33.894936-60.501738-73.353279-79.080887-117.277916-19.22501-45.452323-28.972526-93.76176-28.972526-143.585504s9.747516-98.131965 28.972526-143.585504c18.579149-43.924636 45.184734-83.382979 79.080887-117.277915s73.353279-60.501738 117.277915-79.080887c45.453539-19.223794 93.762976-28.972526 143.585504-28.972526m0-44.821057c-228.501035 0-413.736673 185.236855-413.736673 413.736673S283.500182 925.503142 512 925.503142s413.736673-185.236855 413.736673-413.736674S740.501035 98.028579 512 98.028579z","M488.542228 115.289247h44.821057v780.948238h-44.821057z","M661.647598 143.001675l31.693413 31.69463-166.01671 166.015493-31.692197-31.693413zM767.461782 217.801147l31.693414 31.693414L527.326734 521.323023l-31.693414-31.693413zM850.471354 319.054166l31.693413 31.693414-353.25318 353.25318-31.693414-31.693413zM891.520631 458.61733l31.692197 31.693414-401.358277 401.358277-31.693414-31.693414z"],[I.ZoomTool.toolName]:["M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z","M921 867L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"],[I.CrosshairsTool.toolName]:["M62.016 474.016h900v76H62.016v-76zM474.016 62.016h76v900h-76V62.016z"]};Object.freeze(w3);const vA={full:"viewport-container-full",halfL:"viewport-container-half-left",halfR:"viewport-container-half-right",on:"viewport-container-on"};Object.freeze(vA);const Id=[[0,1,0,0,0,0,1,0,-1,0,0,0,null,0,0,1],[1,0,0,0,0,0,1,0,0,1,0,0,0,null,0,1],[1,0,0,0,0,1,0,0,0,0,1,0,0,0,null,1]],Gt={SimplePencil:{iconContent:`
<g xmlns="http://www.w3.org/2000/svg" transform="scale(0.04116214)">
<path style="fill: {{color}};" d="m 503.46668,777.41329 a 17.03253,17.03253 0 0 1 -12.15147,-5.08587 a 17.064088,17.064088 0 1 1 24.13227,24.13226 l -48.60587,48.60587 47.83787,48.52053 a 17.0496,17.0496 0 0 1 -12.15147,29.04747 z m -230.4,-145.92 H 102.40001 A 17.06667,17.06667 0 0 1 85.33335,614.42662 V 546.15996 H 17.06668 a 17.06667,17.06667 0 1 1 0,-34.13334 H 74.78615 L 1.80908,366.05542 a 17.06667,17.06667 0 0 1 0,-15.27466 L 172.39041,9.61809 a 16.896,16.896 0 0 1 10.82027,-8.99413 16.9472,16.9472 0 0 1 11.81013,1.00693 l 0.85334,0.42667 a 17.03253,17.03253 0 0 1 7.18506,7.50933 l 170.5984,341.17973 a 17.06667,17.06667 0 0 1 0,15.27467 l -72.97706,145.9712 h 57.71946 a 17.06667,17.06667 0 1 1 0,34.13333 h -68.26666 v 68.26667 a 17.06667,17.06667 0 0 1 -17.06667,17.1008 z m -153.6,-34.13333 h 136.53333 v -51.2 H 119.46668 Z m -6.51947,-85.33334 h 149.57227 l 76.8,-153.6 L 204.80001,89.38769 v 126.8224 c 8.78934,2.7648 16.5376,7.4752 23.15947,14.11413 a 58.5728,58.5728 0 0 1 17.80053,42.78614 c 0,16.57173 -6.2976,31.21493 -18.21013,42.3424 -10.30827,11.09333 -24.9344,17.39093 -41.5232,17.39093 a 58.5728,58.5728 0 0 1 -42.78613,-17.80053 c -11.24694,-11.22987 -16.9472,-25.344 -16.9472,-41.9328 0,-16.36694 5.56373,-30.6176 16.55466,-42.35947 8.46507,-7.95307 17.69814,-13.07307 27.81867,-15.5648 V 89.40476 L 36.14721,358.42662 Z m 73.07947,-264.53333 c -7.64587,0 -13.70453,2.33813 -19.06347,7.35573 -4.1984,4.5568 -6.53653,10.61547 -6.53653,18.24427 0,7.40693 2.2016,13.056 6.94613,17.78347 5.3248,5.3248 11.264,7.81653 18.65387,7.81653 7.2704,0 12.62933,-2.26987 17.39093,-7.38987 5.9392,-5.59786 8.20907,-10.9568 8.20907,-18.21013 a 24.91733,24.91733 0 0 0 -7.79947,-18.65387 c -4.31786,-4.31786 -9.59146,-6.53653 -16.55466,-6.94613 z"/>
</g>
`,iconSize:32,viewBox:{x:32,y:32},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'},Fiducial:{iconContent:`
<g xmlns="http://www.w3.org/2000/svg" transform="translate(0,0)">
<path style="fill:RED;fill-rule:evenodd;stroke-width:0.279359;fill-opacity:1" d="m 0,-4 a 4,4 0 0 1 -4,4 4,4 0 0 1 -4,-4 4,4 0 0 1 4,-4 4,4 0 0 1 4,4 z"/>
</g>
`,iconSize:32,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:""},Nail:{iconContent:"",iconSize:32,viewBox:{x:16,y:16},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'},ContourDelete:{iconContent:`
<g xmlns="http://www.w3.org/2000/svg" transform="scale(0.04116214)">
<path style="fill: {{color}};" d="m 503.46668,777.41329 a 17.03253,17.03253 0 0 1 -12.15147,-5.08587 l -47.6672,-48.34986 -47.58186,47.58186 a 17.064088,17.064088 0 1 1 -24.13227,-24.13226 l 47.58187,-47.58187 -48.34987,-47.6672 a 17.06667,17.06667 0 1 1 23.9616,-24.30293 l 48.52053,47.83786 48.60587,-48.60586 a 17.064088,17.064088 0 1 1 24.13227,24.13226 l -48.60587,48.60587 47.83787,48.52053 a 17.0496,17.0496 0 0 1 -12.15147,29.04747 z m -230.4,-145.92 H 102.40001 A 17.06667,17.06667 0 0 1 85.33335,614.42662 V 546.15996 H 17.06668 a 17.06667,17.06667 0 1 1 0,-34.13334 H 74.78615 L 1.80908,366.05542 a 17.06667,17.06667 0 0 1 0,-15.27466 L 172.39041,9.61809 a 16.896,16.896 0 0 1 10.82027,-8.99413 16.9472,16.9472 0 0 1 11.81013,1.00693 l 0.85334,0.42667 a 17.03253,17.03253 0 0 1 7.18506,7.50933 l 170.5984,341.17973 a 17.06667,17.06667 0 0 1 0,15.27467 l -72.97706,145.9712 h 57.71946 a 17.06667,17.06667 0 1 1 0,34.13333 h -68.26666 v 68.26667 a 17.06667,17.06667 0 0 1 -17.06667,17.1008 z m -153.6,-34.13333 h 136.53333 v -51.2 H 119.46668 Z m -6.51947,-85.33334 h 149.57227 l 76.8,-153.6 L 204.80001,89.38769 v 126.8224 c 8.78934,2.7648 16.5376,7.4752 23.15947,14.11413 a 58.5728,58.5728 0 0 1 17.80053,42.78614 c 0,16.57173 -6.2976,31.21493 -18.21013,42.3424 -10.30827,11.09333 -24.9344,17.39093 -41.5232,17.39093 a 58.5728,58.5728 0 0 1 -42.78613,-17.80053 c -11.24694,-11.22987 -16.9472,-25.344 -16.9472,-41.9328 0,-16.36694 5.56373,-30.6176 16.55466,-42.35947 8.46507,-7.95307 17.69814,-13.07307 27.81867,-15.5648 V 89.40476 L 36.14721,358.42662 Z m 73.07947,-264.53333 c -7.64587,0 -13.70453,2.33813 -19.06347,7.35573 -4.1984,4.5568 -6.53653,10.61547 -6.53653,18.24427 0,7.40693 2.2016,13.056 6.94613,17.78347 5.3248,5.3248 11.264,7.81653 18.65387,7.81653 7.2704,0 12.62933,-2.26987 17.39093,-7.38987 5.9392,-5.59786 8.20907,-10.9568 8.20907,-18.21013 a 24.91733,24.91733 0 0 0 -7.79947,-18.65387 c -4.31786,-4.31786 -9.59146,-6.53653 -16.55466,-6.94613 z"/>
</g>
`,iconSize:32,viewBox:{x:32,y:32},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'},ContourDeleteDisabled:{iconContent:`
<g xmlns="http://www.w3.org/2000/svg" transform="scale(0.04116214)">
<path style="fill: {{color}};" d="m 503.46668,777.41329 a 17.03253,17.03253 0 0 1 -12.15147,-5.08587 l -47.6672,-48.34986 -47.58186,47.58186 a 17.064088,17.064088 0 1 1 -24.13227,-24.13226 l 47.58187,-47.58187 -48.34987,-47.6672 a 17.06667,17.06667 0 1 1 23.9616,-24.30293 l 48.52053,47.83786 48.60587,-48.60586 a 17.064088,17.064088 0 1 1 24.13227,24.13226 l -48.60587,48.60587 47.83787,48.52053 a 17.0496,17.0496 0 0 1 -12.15147,29.04747 z m -230.4,-145.92 H 102.40001 A 17.06667,17.06667 0 0 1 85.33335,614.42662 V 546.15996 H 17.06668 a 17.06667,17.06667 0 1 1 0,-34.13334 H 74.78615 L 1.80908,366.05542 a 17.06667,17.06667 0 0 1 0,-15.27466 L 172.39041,9.61809 a 16.896,16.896 0 0 1 10.82027,-8.99413 16.9472,16.9472 0 0 1 11.81013,1.00693 l 0.85334,0.42667 a 17.03253,17.03253 0 0 1 7.18506,7.50933 l 170.5984,341.17973 a 17.06667,17.06667 0 0 1 0,15.27467 l -72.97706,145.9712 h 57.71946 a 17.06667,17.06667 0 1 1 0,34.13333 h -68.26666 v 68.26667 a 17.06667,17.06667 0 0 1 -17.06667,17.1008 z m -153.6,-34.13333 h 136.53333 v -51.2 H 119.46668 Z m -6.51947,-85.33334 h 149.57227 l 76.8,-153.6 L 204.80001,89.38769 v 126.8224 c 8.78934,2.7648 16.5376,7.4752 23.15947,14.11413 a 58.5728,58.5728 0 0 1 17.80053,42.78614 c 0,16.57173 -6.2976,31.21493 -18.21013,42.3424 -10.30827,11.09333 -24.9344,17.39093 -41.5232,17.39093 a 58.5728,58.5728 0 0 1 -42.78613,-17.80053 c -11.24694,-11.22987 -16.9472,-25.344 -16.9472,-41.9328 0,-16.36694 5.56373,-30.6176 16.55466,-42.35947 8.46507,-7.95307 17.69814,-13.07307 27.81867,-15.5648 V 89.40476 L 36.14721,358.42662 Z m 73.07947,-264.53333 c -7.64587,0 -13.70453,2.33813 -19.06347,7.35573 -4.1984,4.5568 -6.53653,10.61547 -6.53653,18.24427 0,7.40693 2.2016,13.056 6.94613,17.78347 5.3248,5.3248 11.264,7.81653 18.65387,7.81653 7.2704,0 12.62933,-2.26987 17.39093,-7.38987 5.9392,-5.59786 8.20907,-10.9568 8.20907,-18.21013 a 24.91733,24.91733 0 0 0 -7.79947,-18.65387 c -4.31786,-4.31786 -9.59146,-6.53653 -16.55466,-6.94613 z"/>
<line stroke="{{color}}" stroke-width="60" fill="none" x1="32" y1="727.93518" x2="489" y2="49.064789" stroke-linejoin="undefined" stroke-linecap="undefined"/>
<circle stroke-width="30" cy="728" cx="32" stroke="{{color}}" fill="none" r="15"/>
<circle stroke-width="30" cy="49" cx="489" stroke="{{color}}" fill="none" r="15"/>
</g>
`,iconSize:32,viewBox:{x:32,y:32},mousePoint:{x:8,y:8},mousePointerGroupString:'<path stroke="{{color}}" d="M8 16L8 0"></path><path stroke="{{color}}" d="M16 8L0 8"></path>'}},wD=Object.freeze(Object.defineProperty({__proto__:null,AXIS_AXES:Id,AxisLayout:sd,AxisNameI18n:M3,CUSTOM_CURSOR:Gt,DOSE_DISPLAY_TYPES:rt,DOSE_LEGENDS:R3,DOSE_OPACITY_IN_3D:Ft,Events:dA,FRAME_PT_R:uA,Grid:I3,HeaderIconPaths:w3,Layout:mA,MODALITY:GC,RENDERING_ENGINE_ID:C3,SEGMENTATION_PREFIX:kt,SERIES_INSTANCE_UID:CD,SOP_INSTANCE_UID:HC,STREAMING_LOADER_NAME:bA,TEXT_WHITE_IN_VIEWPORT:Ut,TOOL_GROUP_TYPE:TA,ToolsName:u,ToolsOrder:nd,VOLUME_OPACITY_IN_3D:lt,ViewportContainerGridAreaClassName:vA},Symbol.toStringTag,{value:"Module"}));function b(t){const[A,Q]=t.split("|");return{medicalComponentId:A,seriesType:Q}}function x(...t){return t.length?t.join("|"):""}function PA(t){return t.split("|")}function FA(t){const A=t.getDefaultActor();return A==null?void 0:A.uid.startsWith(bA)}const S3=new Map;function JC(t){const{medicalComponentId:A,seriesType:Q}=b(t);let C=S3.get(A);C||(C={primary:null,secondary:null},S3.set(A,C));const B={[l.Enums.OrientationAxis.AXIAL]:R.ref(),[l.Enums.OrientationAxis.SAGITTAL]:R.ref(),[l.Enums.OrientationAxis.CORONAL]:R.ref()};return Reflect.set(C,Q,B),B}function BD(t){const{medicalComponentId:A,seriesType:Q}=b(t),C=S3.get(A);return C?Reflect.get(C,Q):null}function PD(t){const A=S3.get(t);return A||null}function hC(t){const{medicalComponentId:A,seriesType:Q}=b(t),C=S3.get(A);C&&Reflect.set(C,Q,null)}const Md=new Map;function NC(t){const{medicalComponentId:A,seriesType:Q}=b(t);let C=Md.get(A);C||(C={primary:null,secondary:null},Md.set(A,C));const B=R.reactive({core:l.Enums.OrientationAxis.AXIAL,south:l.Enums.OrientationAxis.SAGITTAL,north:l.Enums.OrientationAxis.CORONAL});return Reflect.set(C,Q,B),B}function DD(t){const{medicalComponentId:A,seriesType:Q}=b(t),C=Md.get(A);return C?Reflect.get(C,Q):null}function Ht(t){const A=Md.get(t);return A||null}const ad=new Map;function YC(t){const{medicalComponentId:A,seriesType:Q}=b(t);let C=ad.get(A);C||(C={primary:null,secondary:null},ad.set(A,C));const B=R.reactive({core:!1,south:!1,north:!1});return Reflect.set(C,Q,B),B}function ED(t){const{medicalComponentId:A,seriesType:Q}=b(t),C=ad.get(A);return C?Reflect.get(C,Q):null}function OC(t){const A=ad.get(t);return A||null}const Jt=new Map;function LC(t,A){const{medicalComponentId:Q,seriesType:C}=b(t);let B=Jt.get(Q);return B||(B={primary:null,secondary:null},Jt.set(Q,B)),Reflect.set(B,C,A),A}function B3(t){const{medicalComponentId:A,seriesType:Q}=b(t),C=y3(A);return C&&Q?C[Q]:null}function y3(t){const A=Jt.get(t);return A&&(A.primary||A.secondary)?A:null}const ht=new Map;function Nt(t){let A=ht.get(t);return A||(A=R.reactive({componentId:null,initOrientation:null,visible:!1}),ht.set(t,A)),A}function x3(t){const{medicalComponentId:A}=b(t);return ht.get(A)}const uC=Object.freeze(Object.defineProperty({__proto__:null,deleteAxisElementRef:hC,get3DViewState:x3,getAxisElementRef:BD,getAxisFullScreen:ED,getAxisOrientation:DD,getAxixViewportIds:B3,getComponentAxisElementRef:PD,getComponentAxisFullScreen:OC,getComponentAxisOrientation:Ht,getComponentViewportIds:y3,init3DViewState:Nt,initAxisElementRef:JC,initAxisFullScreen:YC,initAxisOrientation:NC,setAxisViewportIds:LC},Symbol.toStringTag,{value:"Module"})),pC={};function gD(t,A){if(eD(A))Reflect.set(pC,t,A);else throw TypeError("Input parameter type error.")}function KC(t){return Reflect.get(pC,t)}function eD(t){return Array.isArray(t)?!(isNaN(t[0].hu)||isNaN(t[0].ed)):!1}const TD=Object.freeze(Object.defineProperty({__proto__:null,getElectronDensity:KC,setElectronDensity:gD},Symbol.toStringTag,{value:"Module"}));function oD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var cd={},fC={exports:{}};(function(t){(function(){var A={};A.version="6.4.2.2",A.use_lines=!0,A.use_xyz=!1;var Q=!1;t.exports?(t.exports=A,Q=!0):typeof document<"u"?window.ClipperLib=A:self.ClipperLib=A;var C;if(Q){var B="chrome";C="Netscape"}else{var B=navigator.userAgent.toString().toLowerCase();C=navigator.appName}var D={};B.indexOf("chrome")!=-1&&B.indexOf("chromium")==-1?D.chrome=1:D.chrome=0,B.indexOf("chromium")!=-1?D.chromium=1:D.chromium=0,B.indexOf("safari")!=-1&&B.indexOf("chrome")==-1&&B.indexOf("chromium")==-1?D.safari=1:D.safari=0,B.indexOf("firefox")!=-1?D.firefox=1:D.firefox=0,B.indexOf("firefox/17")!=-1?D.firefox17=1:D.firefox17=0,B.indexOf("firefox/15")!=-1?D.firefox15=1:D.firefox15=0,B.indexOf("firefox/3")!=-1?D.firefox3=1:D.firefox3=0,B.indexOf("opera")!=-1?D.opera=1:D.opera=0,B.indexOf("msie 10")!=-1?D.msie10=1:D.msie10=0,B.indexOf("msie 9")!=-1?D.msie9=1:D.msie9=0,B.indexOf("msie 8")!=-1?D.msie8=1:D.msie8=0,B.indexOf("msie 7")!=-1?D.msie7=1:D.msie7=0,B.indexOf("msie ")!=-1?D.msie=1:D.msie=0,A.biginteger_used=null;var E;function g(d,w,P){A.biginteger_used=1,d!=null&&(typeof d=="number"&&typeof w>"u"?this.fromInt(d):typeof d=="number"?this.fromNumber(d,w,P):w==null&&typeof d!="string"?this.fromString(d,256):this.fromString(d,w))}function T(){return new g(null,void 0,void 0)}function s(d,w,P,e,o,a){for(;--a>=0;){var k=w*this[d++]+P[e]+o;o=Math.floor(k/67108864),P[e++]=k&67108863}return o}function i(d,w,P,e,o,a){for(var k=w&32767,G=w>>15;--a>=0;){var H=this[d]&32767,Y=this[d++]>>15,y=G*H+Y*k;H=k*H+((y&32767)<<15)+P[e]+(o&1073741823),o=(H>>>30)+(y>>>15)+G*Y+(o>>>30),P[e++]=H&1073741823}return o}function n(d,w,P,e,o,a){for(var k=w&16383,G=w>>14;--a>=0;){var H=this[d]&16383,Y=this[d++]>>14,y=G*H+Y*k;H=k*H+((y&16383)<<14)+P[e]+o,o=(H>>28)+(y>>14)+G*Y,P[e++]=H&268435455}return o}C=="Microsoft Internet Explorer"?(g.prototype.am=i,E=30):C!="Netscape"?(g.prototype.am=s,E=26):(g.prototype.am=n,E=28),g.prototype.DB=E,g.prototype.DM=(1<<E)-1,g.prototype.DV=1<<E;var M=52;g.prototype.FV=Math.pow(2,M),g.prototype.F1=M-E,g.prototype.F2=2*E-M;var c="0123456789abcdefghijklmnopqrstuvwxyz",U=new Array,r,F;for(r=48,F=0;F<=9;++F)U[r++]=F;for(r=97,F=10;F<36;++F)U[r++]=F;for(r=65,F=10;F<36;++F)U[r++]=F;function h(d){return c.charAt(d)}function J(d,w){var P=U[d.charCodeAt(w)];return P??-1}function N(d){for(var w=this.t-1;w>=0;--w)d[w]=this[w];d.t=this.t,d.s=this.s}function O(d){this.t=1,this.s=d<0?-1:0,d>0?this[0]=d:d<-1?this[0]=d+this.DV:this.t=0}function p(d){var w=T();return w.fromInt(d),w}function L(d,w){var P;if(w==16)P=4;else if(w==8)P=3;else if(w==256)P=8;else if(w==2)P=1;else if(w==32)P=5;else if(w==4)P=2;else{this.fromRadix(d,w);return}this.t=0,this.s=0;for(var e=d.length,o=!1,a=0;--e>=0;){var k=P==8?d[e]&255:J(d,e);if(k<0){d.charAt(e)=="-"&&(o=!0);continue}o=!1,a==0?this[this.t++]=k:a+P>this.DB?(this[this.t-1]|=(k&(1<<this.DB-a)-1)<<a,this[this.t++]=k>>this.DB-a):this[this.t-1]|=k<<a,a+=P,a>=this.DB&&(a-=this.DB)}P==8&&d[0]&128&&(this.s=-1,a>0&&(this[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),o&&g.ZERO.subTo(this,this)}function K(){for(var d=this.s&this.DM;this.t>0&&this[this.t-1]==d;)--this.t}function m(d){if(this.s<0)return"-"+this.negate().toString(d);var w;if(d==16)w=4;else if(d==8)w=3;else if(d==2)w=1;else if(d==32)w=5;else if(d==4)w=2;else return this.toRadix(d);var P=(1<<w)-1,e,o=!1,a="",k=this.t,G=this.DB-k*this.DB%w;if(k-- >0)for(G<this.DB&&(e=this[k]>>G)>0&&(o=!0,a=h(e));k>=0;)G<w?(e=(this[k]&(1<<G)-1)<<w-G,e|=this[--k]>>(G+=this.DB-w)):(e=this[k]>>(G-=w)&P,G<=0&&(G+=this.DB,--k)),e>0&&(o=!0),o&&(a+=h(e));return o?a:"0"}function z(){var d=T();return g.ZERO.subTo(this,d),d}function j(){return this.s<0?this.negate():this}function X(d){var w=this.s-d.s;if(w!=0)return w;var P=this.t;if(w=P-d.t,w!=0)return this.s<0?-w:w;for(;--P>=0;)if((w=this[P]-d[P])!=0)return w;return 0}function AA(d){var w=1,P;return(P=d>>>16)!=0&&(d=P,w+=16),(P=d>>8)!=0&&(d=P,w+=8),(P=d>>4)!=0&&(d=P,w+=4),(P=d>>2)!=0&&(d=P,w+=2),(P=d>>1)!=0&&(d=P,w+=1),w}function $(){return this.t<=0?0:this.DB*(this.t-1)+AA(this[this.t-1]^this.s&this.DM)}function wA(d,w){var P;for(P=this.t-1;P>=0;--P)w[P+d]=this[P];for(P=d-1;P>=0;--P)w[P]=0;w.t=this.t+d,w.s=this.s}function iA(d,w){for(var P=d;P<this.t;++P)w[P-d]=this[P];w.t=Math.max(this.t-d,0),w.s=this.s}function IA(d,w){var P=d%this.DB,e=this.DB-P,o=(1<<e)-1,a=Math.floor(d/this.DB),k=this.s<<P&this.DM,G;for(G=this.t-1;G>=0;--G)w[G+a+1]=this[G]>>e|k,k=(this[G]&o)<<P;for(G=a-1;G>=0;--G)w[G]=0;w[a]=k,w.t=this.t+a+1,w.s=this.s,w.clamp()}function $A(d,w){w.s=this.s;var P=Math.floor(d/this.DB);if(P>=this.t){w.t=0;return}var e=d%this.DB,o=this.DB-e,a=(1<<e)-1;w[0]=this[P]>>e;for(var k=P+1;k<this.t;++k)w[k-P-1]|=(this[k]&a)<<o,w[k-P]=this[k]>>e;e>0&&(w[this.t-P-1]|=(this.s&a)<<o),w.t=this.t-P,w.clamp()}function OA(d,w){for(var P=0,e=0,o=Math.min(d.t,this.t);P<o;)e+=this[P]-d[P],w[P++]=e&this.DM,e>>=this.DB;if(d.t<this.t){for(e-=d.s;P<this.t;)e+=this[P],w[P++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;P<d.t;)e-=d[P],w[P++]=e&this.DM,e>>=this.DB;e-=d.s}w.s=e<0?-1:0,e<-1?w[P++]=this.DV+e:e>0&&(w[P++]=e),w.t=P,w.clamp()}function SP(d,w){var P=this.abs(),e=d.abs(),o=P.t;for(w.t=o+e.t;--o>=0;)w[o]=0;for(o=0;o<e.t;++o)w[o+P.t]=P.am(0,e[o],w,o,0,P.t);w.s=0,w.clamp(),this.s!=d.s&&g.ZERO.subTo(w,w)}function st(d){for(var w=this.abs(),P=d.t=2*w.t;--P>=0;)d[P]=0;for(P=0;P<w.t-1;++P){var e=w.am(P,w[P],d,2*P,0,1);(d[P+w.t]+=w.am(P+1,2*w[P],d,2*P+1,e,w.t-P-1))>=w.DV&&(d[P+w.t]-=w.DV,d[P+w.t+1]=1)}d.t>0&&(d[d.t-1]+=w.am(P,w[P],d,2*P,0,1)),d.s=0,d.clamp()}function nC(d,w,P){var e=d.abs();if(!(e.t<=0)){var o=this.abs();if(o.t<e.t){w!=null&&w.fromInt(0),P!=null&&this.copyTo(P);return}P==null&&(P=T());var a=T(),k=this.s,G=d.s,H=this.DB-AA(e[e.t-1]);H>0?(e.lShiftTo(H,a),o.lShiftTo(H,P)):(e.copyTo(a),o.copyTo(P));var Y=a.t,y=a[Y-1];if(y!=0){var f=y*(1<<this.F1)+(Y>1?a[Y-2]>>this.F2:0),v=this.FV/f,q=(1<<this.F1)/f,CA=1<<this.F2,BA=P.t,sA=BA-Y,LA=w??T();for(a.dlShiftTo(sA,LA),P.compareTo(LA)>=0&&(P[P.t++]=1,P.subTo(LA,P)),g.ONE.dlShiftTo(Y,LA),LA.subTo(a,a);a.t<Y;)a[a.t++]=0;for(;--sA>=0;){var VA=P[--BA]==y?this.DM:Math.floor(P[BA]*v+(P[BA-1]+CA)*q);if((P[BA]+=a.am(0,VA,P,sA,0,Y))<VA)for(a.dlShiftTo(sA,LA),P.subTo(LA,P);P[BA]<--VA;)P.subTo(LA,P)}w!=null&&(P.drShiftTo(Y,w),k!=G&&g.ZERO.subTo(w,w)),P.t=Y,P.clamp(),H>0&&P.rShiftTo(H,P),k<0&&g.ZERO.subTo(P,P)}}}function IC(d){var w=T();return this.abs().divRemTo(d,null,w),this.s<0&&w.compareTo(g.ZERO)>0&&d.subTo(w,w),w}function A3(d){this.m=d}function nt(d){return d.s<0||d.compareTo(this.m)>=0?d.mod(this.m):d}function It(d){return d}function yP(d){d.divRemTo(this.m,null,d)}function Mt(d,w,P){d.multiplyTo(w,P),this.reduce(P)}function at(d,w){d.squareTo(w),this.reduce(w)}A3.prototype.convert=nt,A3.prototype.revert=It,A3.prototype.reduce=yP,A3.prototype.mulTo=Mt,A3.prototype.sqrTo=at;function yA(){if(this.t<1)return 0;var d=this[0];if(!(d&1))return 0;var w=d&3;return w=w*(2-(d&15)*w)&15,w=w*(2-(d&255)*w)&255,w=w*(2-((d&65535)*w&65535))&65535,w=w*(2-d*w%this.DV)%this.DV,w>0?this.DV-w:-w}function s3(d){this.m=d,this.mp=d.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<d.DB-15)-1,this.mt2=2*d.t}function xT(d){var w=T();return d.abs().dlShiftTo(this.m.t,w),w.divRemTo(this.m,null,w),d.s<0&&w.compareTo(g.ZERO)>0&&this.m.subTo(w,w),w}function mT(d){var w=T();return d.copyTo(w),this.reduce(w),w}function vT(d){for(;d.t<=this.mt2;)d[d.t++]=0;for(var w=0;w<this.m.t;++w){var P=d[w]&32767,e=P*this.mpl+((P*this.mph+(d[w]>>15)*this.mpl&this.um)<<15)&d.DM;for(P=w+this.m.t,d[P]+=this.m.am(0,e,d,w,0,this.m.t);d[P]>=d.DV;)d[P]-=d.DV,d[++P]++}d.clamp(),d.drShiftTo(this.m.t,d),d.compareTo(this.m)>=0&&d.subTo(this.m,d)}function ZT(d,w){d.squareTo(w),this.reduce(w)}function zT(d,w,P){d.multiplyTo(w,P),this.reduce(P)}s3.prototype.convert=xT,s3.prototype.revert=mT,s3.prototype.reduce=vT,s3.prototype.mulTo=zT,s3.prototype.sqrTo=ZT;function jT(){return(this.t>0?this[0]&1:this.s)==0}function VT(d,w){if(d>4294967295||d<1)return g.ONE;var P=T(),e=T(),o=w.convert(this),a=AA(d)-1;for(o.copyTo(P);--a>=0;)if(w.sqrTo(P,e),(d&1<<a)>0)w.mulTo(e,o,P);else{var k=P;P=e,e=k}return w.revert(P)}function bT(d,w){var P;return d<256||w.isEven()?P=new A3(w):P=new s3(w),this.exp(d,P)}g.prototype.copyTo=N,g.prototype.fromInt=O,g.prototype.fromString=L,g.prototype.clamp=K,g.prototype.dlShiftTo=wA,g.prototype.drShiftTo=iA,g.prototype.lShiftTo=IA,g.prototype.rShiftTo=$A,g.prototype.subTo=OA,g.prototype.multiplyTo=SP,g.prototype.squareTo=st,g.prototype.divRemTo=nC,g.prototype.invDigit=yA,g.prototype.isEven=jT,g.prototype.exp=VT,g.prototype.toString=m,g.prototype.negate=z,g.prototype.abs=j,g.prototype.compareTo=X,g.prototype.bitLength=$,g.prototype.mod=IC,g.prototype.modPowInt=bT,g.ZERO=p(0),g.ONE=p(1);function WT(){var d=T();return this.copyTo(d),d}function XT(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function qT(){return this.t==0?this.s:this[0]<<24>>24}function _T(){return this.t==0?this.s:this[0]<<16>>16}function $T(d){return Math.floor(Math.LN2*this.DB/Math.log(d))}function Ao(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function to(d){if(d==null&&(d=10),this.signum()==0||d<2||d>36)return"0";var w=this.chunkSize(d),P=Math.pow(d,w),e=p(P),o=T(),a=T(),k="";for(this.divRemTo(e,o,a);o.signum()>0;)k=(P+a.intValue()).toString(d).substr(1)+k,o.divRemTo(e,o,a);return a.intValue().toString(d)+k}function Qo(d,w){this.fromInt(0),w==null&&(w=10);for(var P=this.chunkSize(w),e=Math.pow(w,P),o=!1,a=0,k=0,G=0;G<d.length;++G){var H=J(d,G);if(H<0){d.charAt(G)=="-"&&this.signum()==0&&(o=!0);continue}k=w*k+H,++a>=P&&(this.dMultiply(e),this.dAddOffset(k,0),a=0,k=0)}a>0&&(this.dMultiply(Math.pow(w,a)),this.dAddOffset(k,0)),o&&g.ZERO.subTo(this,this)}function Co(d,w,P){if(typeof w=="number")if(d<2)this.fromInt(1);else for(this.fromNumber(d,P),this.testBit(d-1)||this.bitwiseTo(g.ONE.shiftLeft(d-1),MC,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(w);)this.dAddOffset(2,0),this.bitLength()>d&&this.subTo(g.ONE.shiftLeft(d-1),this);else{var e=new Array,o=d&7;e.length=(d>>3)+1,w.nextBytes(e),o>0?e[0]&=(1<<o)-1:e[0]=0,this.fromString(e,256)}}function wo(){var d=this.t,w=new Array;w[0]=this.s;var P=this.DB-d*this.DB%8,e,o=0;if(d-- >0)for(P<this.DB&&(e=this[d]>>P)!=(this.s&this.DM)>>P&&(w[o++]=e|this.s<<this.DB-P);d>=0;)P<8?(e=(this[d]&(1<<P)-1)<<8-P,e|=this[--d]>>(P+=this.DB-8)):(e=this[d]>>(P-=8)&255,P<=0&&(P+=this.DB,--d)),e&128&&(e|=-256),o==0&&(this.s&128)!=(e&128)&&++o,(o>0||e!=this.s)&&(w[o++]=e);return w}function Bo(d){return this.compareTo(d)==0}function Po(d){return this.compareTo(d)<0?this:d}function Do(d){return this.compareTo(d)>0?this:d}function Eo(d,w,P){var e,o,a=Math.min(d.t,this.t);for(e=0;e<a;++e)P[e]=w(this[e],d[e]);if(d.t<this.t){for(o=d.s&this.DM,e=a;e<this.t;++e)P[e]=w(this[e],o);P.t=this.t}else{for(o=this.s&this.DM,e=a;e<d.t;++e)P[e]=w(o,d[e]);P.t=d.t}P.s=w(this.s,d.s),P.clamp()}function go(d,w){return d&w}function eo(d){var w=T();return this.bitwiseTo(d,go,w),w}function MC(d,w){return d|w}function To(d){var w=T();return this.bitwiseTo(d,MC,w),w}function xP(d,w){return d^w}function oo(d){var w=T();return this.bitwiseTo(d,xP,w),w}function mP(d,w){return d&~w}function io(d){var w=T();return this.bitwiseTo(d,mP,w),w}function so(){for(var d=T(),w=0;w<this.t;++w)d[w]=this.DM&~this[w];return d.t=this.t,d.s=~this.s,d}function no(d){var w=T();return d<0?this.rShiftTo(-d,w):this.lShiftTo(d,w),w}function Io(d){var w=T();return d<0?this.lShiftTo(-d,w):this.rShiftTo(d,w),w}function Mo(d){if(d==0)return-1;var w=0;return d&65535||(d>>=16,w+=16),d&255||(d>>=8,w+=8),d&15||(d>>=4,w+=4),d&3||(d>>=2,w+=2),d&1||++w,w}function ao(){for(var d=0;d<this.t;++d)if(this[d]!=0)return d*this.DB+Mo(this[d]);return this.s<0?this.t*this.DB:-1}function co(d){for(var w=0;d!=0;)d&=d-1,++w;return w}function ro(){for(var d=0,w=this.s&this.DM,P=0;P<this.t;++P)d+=co(this[P]^w);return d}function Uo(d){var w=Math.floor(d/this.DB);return w>=this.t?this.s!=0:(this[w]&1<<d%this.DB)!=0}function ko(d,w){var P=g.ONE.shiftLeft(d);return this.bitwiseTo(P,w,P),P}function lo(d){return this.changeBit(d,MC)}function Fo(d){return this.changeBit(d,mP)}function Go(d){return this.changeBit(d,xP)}function Ho(d,w){for(var P=0,e=0,o=Math.min(d.t,this.t);P<o;)e+=this[P]+d[P],w[P++]=e&this.DM,e>>=this.DB;if(d.t<this.t){for(e+=d.s;P<this.t;)e+=this[P],w[P++]=e&this.DM,e>>=this.DB;e+=this.s}else{for(e+=this.s;P<d.t;)e+=d[P],w[P++]=e&this.DM,e>>=this.DB;e+=d.s}w.s=e<0?-1:0,e>0?w[P++]=e:e<-1&&(w[P++]=this.DV+e),w.t=P,w.clamp()}function Jo(d){var w=T();return this.addTo(d,w),w}function ho(d){var w=T();return this.subTo(d,w),w}function No(d){var w=T();return this.multiplyTo(d,w),w}function Yo(){var d=T();return this.squareTo(d),d}function Oo(d){var w=T();return this.divRemTo(d,w,null),w}function Lo(d){var w=T();return this.divRemTo(d,null,w),w}function uo(d){var w=T(),P=T();return this.divRemTo(d,w,P),new Array(w,P)}function po(d){this[this.t]=this.am(0,d-1,this,0,0,this.t),++this.t,this.clamp()}function Ko(d,w){if(d!=0){for(;this.t<=w;)this[this.t++]=0;for(this[w]+=d;this[w]>=this.DV;)this[w]-=this.DV,++w>=this.t&&(this[this.t++]=0),++this[w]}}function id(){}function vP(d){return d}function fo(d,w,P){d.multiplyTo(w,P)}function Ro(d,w){d.squareTo(w)}id.prototype.convert=vP,id.prototype.revert=vP,id.prototype.mulTo=fo,id.prototype.sqrTo=Ro;function So(d){return this.exp(d,new id)}function yo(d,w,P){var e=Math.min(this.t+d.t,w);for(P.s=0,P.t=e;e>0;)P[--e]=0;var o;for(o=P.t-this.t;e<o;++e)P[e+this.t]=this.am(0,d[e],P,e,0,this.t);for(o=Math.min(d.t,w);e<o;++e)this.am(0,d[e],P,e,0,w-e);P.clamp()}function xo(d,w,P){--w;var e=P.t=this.t+d.t-w;for(P.s=0;--e>=0;)P[e]=0;for(e=Math.max(w-this.t,0);e<d.t;++e)P[this.t+e-w]=this.am(w-e,d[e],P,0,0,this.t+e-w);P.clamp(),P.drShiftTo(1,P)}function u3(d){this.r2=T(),this.q3=T(),g.ONE.dlShiftTo(2*d.t,this.r2),this.mu=this.r2.divide(d),this.m=d}function mo(d){if(d.s<0||d.t>2*this.m.t)return d.mod(this.m);if(d.compareTo(this.m)<0)return d;var w=T();return d.copyTo(w),this.reduce(w),w}function vo(d){return d}function Zo(d){for(d.drShiftTo(this.m.t-1,this.r2),d.t>this.m.t+1&&(d.t=this.m.t+1,d.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);d.compareTo(this.r2)<0;)d.dAddOffset(1,this.m.t+1);for(d.subTo(this.r2,d);d.compareTo(this.m)>=0;)d.subTo(this.m,d)}function zo(d,w){d.squareTo(w),this.reduce(w)}function jo(d,w,P){d.multiplyTo(w,P),this.reduce(P)}u3.prototype.convert=mo,u3.prototype.revert=vo,u3.prototype.reduce=Zo,u3.prototype.mulTo=jo,u3.prototype.sqrTo=zo;function Vo(d,w){var P=d.bitLength(),e,o=p(1),a;if(P<=0)return o;P<18?e=1:P<48?e=3:P<144?e=4:P<768?e=5:e=6,P<8?a=new A3(w):w.isEven()?a=new u3(w):a=new s3(w);var k=new Array,G=3,H=e-1,Y=(1<<e)-1;if(k[1]=a.convert(this),e>1){var y=T();for(a.sqrTo(k[1],y);G<=Y;)k[G]=T(),a.mulTo(y,k[G-2],k[G]),G+=2}var f=d.t-1,v,q=!0,CA=T(),BA;for(P=AA(d[f])-1;f>=0;){for(P>=H?v=d[f]>>P-H&Y:(v=(d[f]&(1<<P+1)-1)<<H-P,f>0&&(v|=d[f-1]>>this.DB+P-H)),G=e;!(v&1);)v>>=1,--G;if((P-=G)<0&&(P+=this.DB,--f),q)k[v].copyTo(o),q=!1;else{for(;G>1;)a.sqrTo(o,CA),a.sqrTo(CA,o),G-=2;G>0?a.sqrTo(o,CA):(BA=o,o=CA,CA=BA),a.mulTo(CA,k[v],o)}for(;f>=0&&!(d[f]&1<<P);)a.sqrTo(o,CA),BA=o,o=CA,CA=BA,--P<0&&(P=this.DB-1,--f)}return a.revert(o)}function bo(d){var w=this.s<0?this.negate():this.clone(),P=d.s<0?d.negate():d.clone();if(w.compareTo(P)<0){var e=w;w=P,P=e}var o=w.getLowestSetBit(),a=P.getLowestSetBit();if(a<0)return w;for(o<a&&(a=o),a>0&&(w.rShiftTo(a,w),P.rShiftTo(a,P));w.signum()>0;)(o=w.getLowestSetBit())>0&&w.rShiftTo(o,w),(o=P.getLowestSetBit())>0&&P.rShiftTo(o,P),w.compareTo(P)>=0?(w.subTo(P,w),w.rShiftTo(1,w)):(P.subTo(w,P),P.rShiftTo(1,P));return a>0&&P.lShiftTo(a,P),P}function Wo(d){if(d<=0)return 0;var w=this.DV%d,P=this.s<0?d-1:0;if(this.t>0)if(w==0)P=this[0]%d;else for(var e=this.t-1;e>=0;--e)P=(w*P+this[e])%d;return P}function Xo(d){var w=d.isEven();if(this.isEven()&&w||d.signum()==0)return g.ZERO;for(var P=d.clone(),e=this.clone(),o=p(1),a=p(0),k=p(0),G=p(1);P.signum()!=0;){for(;P.isEven();)P.rShiftTo(1,P),w?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(d,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(d,a),a.rShiftTo(1,a);for(;e.isEven();)e.rShiftTo(1,e),w?((!k.isEven()||!G.isEven())&&(k.addTo(this,k),G.subTo(d,G)),k.rShiftTo(1,k)):G.isEven()||G.subTo(d,G),G.rShiftTo(1,G);P.compareTo(e)>=0?(P.subTo(e,P),w&&o.subTo(k,o),a.subTo(G,a)):(e.subTo(P,e),w&&k.subTo(o,k),G.subTo(a,G))}if(e.compareTo(g.ONE)!=0)return g.ZERO;if(G.compareTo(d)>=0)return G.subtract(d);if(G.signum()<0)G.addTo(d,G);else return G;return G.signum()<0?G.add(d):G}var GA=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],qo=(1<<26)/GA[GA.length-1];function _o(d){var w,P=this.abs();if(P.t==1&&P[0]<=GA[GA.length-1]){for(w=0;w<GA.length;++w)if(P[0]==GA[w])return!0;return!1}if(P.isEven())return!1;for(w=1;w<GA.length;){for(var e=GA[w],o=w+1;o<GA.length&&e<qo;)e*=GA[o++];for(e=P.modInt(e);w<o;)if(e%GA[w++]==0)return!1}return P.millerRabin(d)}function $o(d){var w=this.subtract(g.ONE),P=w.getLowestSetBit();if(P<=0)return!1;var e=w.shiftRight(P);d=d+1>>1,d>GA.length&&(d=GA.length);for(var o=T(),a=0;a<d;++a){o.fromInt(GA[Math.floor(Math.random()*GA.length)]);var k=o.modPow(e,this);if(k.compareTo(g.ONE)!=0&&k.compareTo(w)!=0){for(var G=1;G++<P&&k.compareTo(w)!=0;)if(k=k.modPowInt(2,this),k.compareTo(g.ONE)==0)return!1;if(k.compareTo(w)!=0)return!1}}return!0}g.prototype.chunkSize=$T,g.prototype.toRadix=to,g.prototype.fromRadix=Qo,g.prototype.fromNumber=Co,g.prototype.bitwiseTo=Eo,g.prototype.changeBit=ko,g.prototype.addTo=Ho,g.prototype.dMultiply=po,g.prototype.dAddOffset=Ko,g.prototype.multiplyLowerTo=yo,g.prototype.multiplyUpperTo=xo,g.prototype.modInt=Wo,g.prototype.millerRabin=$o,g.prototype.clone=WT,g.prototype.intValue=XT,g.prototype.byteValue=qT,g.prototype.shortValue=_T,g.prototype.signum=Ao,g.prototype.toByteArray=wo,g.prototype.equals=Bo,g.prototype.min=Po,g.prototype.max=Do,g.prototype.and=eo,g.prototype.or=To,g.prototype.xor=oo,g.prototype.andNot=io,g.prototype.not=so,g.prototype.shiftLeft=no,g.prototype.shiftRight=Io,g.prototype.getLowestSetBit=ao,g.prototype.bitCount=ro,g.prototype.testBit=Uo,g.prototype.setBit=lo,g.prototype.clearBit=Fo,g.prototype.flipBit=Go,g.prototype.add=Jo,g.prototype.subtract=ho,g.prototype.multiply=No,g.prototype.divide=Oo,g.prototype.remainder=Lo,g.prototype.divideAndRemainder=uo,g.prototype.modPow=Vo,g.prototype.modInverse=Xo,g.prototype.pow=So,g.prototype.gcd=bo,g.prototype.isProbablePrime=_o,g.prototype.square=Yo;var QA=g;QA.prototype.IsNegative=function(){return this.compareTo(QA.ZERO)==-1},QA.op_Equality=function(d,w){return d.compareTo(w)==0},QA.op_Inequality=function(d,w){return d.compareTo(w)!=0},QA.op_GreaterThan=function(d,w){return d.compareTo(w)>0},QA.op_LessThan=function(d,w){return d.compareTo(w)<0},QA.op_Addition=function(d,w){return new QA(d,void 0,void 0).add(new QA(w,void 0,void 0))},QA.op_Subtraction=function(d,w){return new QA(d,void 0,void 0).subtract(new QA(w,void 0,void 0))},QA.Int128Mul=function(d,w){return new QA(d,void 0,void 0).multiply(new QA(w,void 0,void 0))},QA.op_Division=function(d,w){return d.divide(w)},QA.prototype.ToDouble=function(){return parseFloat(this.toString())};var ZP=function(d,w){var P;if(typeof Object.getOwnPropertyNames>"u"){for(P in w.prototype)(typeof d.prototype[P]>"u"||d.prototype[P]===Object.prototype[P])&&(d.prototype[P]=w.prototype[P]);for(P in w)typeof d[P]>"u"&&(d[P]=w[P]);d.$baseCtor=w}else{for(var e=Object.getOwnPropertyNames(w.prototype),o=0;o<e.length;o++)typeof Object.getOwnPropertyDescriptor(d.prototype,e[o])>"u"&&Object.defineProperty(d.prototype,e[o],Object.getOwnPropertyDescriptor(w.prototype,e[o]));for(P in w)typeof d[P]>"u"&&(d[P]=w[P]);d.$baseCtor=w}};A.Path=function(){return[]},A.Path.prototype.push=Array.prototype.push,A.Paths=function(){return[]},A.Paths.prototype.push=Array.prototype.push,A.DoublePoint=function(){var d=arguments;this.X=0,this.Y=0,d.length===1?(this.X=d[0].X,this.Y=d[0].Y):d.length===2&&(this.X=d[0],this.Y=d[1])},A.DoublePoint0=function(){this.X=0,this.Y=0},A.DoublePoint0.prototype=A.DoublePoint.prototype,A.DoublePoint1=function(d){this.X=d.X,this.Y=d.Y},A.DoublePoint1.prototype=A.DoublePoint.prototype,A.DoublePoint2=function(d,w){this.X=d,this.Y=w},A.DoublePoint2.prototype=A.DoublePoint.prototype,A.PolyNode=function(){this.m_Parent=null,this.m_polygon=new A.Path,this.m_Index=0,this.m_jointype=0,this.m_endtype=0,this.m_Childs=[],this.IsOpen=!1},A.PolyNode.prototype.IsHoleNode=function(){for(var d=!0,w=this.m_Parent;w!==null;)d=!d,w=w.m_Parent;return d},A.PolyNode.prototype.ChildCount=function(){return this.m_Childs.length},A.PolyNode.prototype.Contour=function(){return this.m_polygon},A.PolyNode.prototype.AddChild=function(d){var w=this.m_Childs.length;this.m_Childs.push(d),d.m_Parent=this,d.m_Index=w},A.PolyNode.prototype.GetNext=function(){return this.m_Childs.length>0?this.m_Childs[0]:this.GetNextSiblingUp()},A.PolyNode.prototype.GetNextSiblingUp=function(){return this.m_Parent===null?null:this.m_Index===this.m_Parent.m_Childs.length-1?this.m_Parent.GetNextSiblingUp():this.m_Parent.m_Childs[this.m_Index+1]},A.PolyNode.prototype.Childs=function(){return this.m_Childs},A.PolyNode.prototype.Parent=function(){return this.m_Parent},A.PolyNode.prototype.IsHole=function(){return this.IsHoleNode()},A.PolyTree=function(){this.m_AllPolys=[],A.PolyNode.call(this)},A.PolyTree.prototype.Clear=function(){for(var d=0,w=this.m_AllPolys.length;d<w;d++)this.m_AllPolys[d]=null;this.m_AllPolys.length=0,this.m_Childs.length=0},A.PolyTree.prototype.GetFirst=function(){return this.m_Childs.length>0?this.m_Childs[0]:null},A.PolyTree.prototype.Total=function(){var d=this.m_AllPolys.length;return d>0&&this.m_Childs[0]!==this.m_AllPolys[0]&&d--,d},ZP(A.PolyTree,A.PolyNode),A.Math_Abs_Int64=A.Math_Abs_Int32=A.Math_Abs_Double=function(d){return Math.abs(d)},A.Math_Max_Int32_Int32=function(d,w){return Math.max(d,w)},D.msie||D.opera||D.safari?A.Cast_Int32=function(d){return d|0}:A.Cast_Int32=function(d){return~~d},typeof Number.toInteger>"u"&&(Number.toInteger=null),D.chrome?A.Cast_Int64=function(d){return d<-2147483648||d>2147483647?d<0?Math.ceil(d):Math.floor(d):~~d}:D.firefox&&typeof Number.toInteger=="function"?A.Cast_Int64=function(d){return Number.toInteger(d)}:D.msie7||D.msie8?A.Cast_Int64=function(d){return parseInt(d,10)}:D.msie?A.Cast_Int64=function(d){return d<-2147483648||d>2147483647?d<0?Math.ceil(d):Math.floor(d):d|0}:A.Cast_Int64=function(d){return d<0?Math.ceil(d):Math.floor(d)},A.Clear=function(d){d.length=0},A.PI=3.141592653589793,A.PI2=2*3.141592653589793,A.IntPoint=function(){var d=arguments,w=d.length;if(this.X=0,this.Y=0,A.use_xyz)if(this.Z=0,w===3)this.X=d[0],this.Y=d[1],this.Z=d[2];else if(w===2)this.X=d[0],this.Y=d[1],this.Z=0;else if(w===1)if(d[0]instanceof A.DoublePoint){var P=d[0];thi