From f22f1acd5275749bfc540476dbeac6ac90f4dcfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E5=87=A1?= Date: Thu, 23 May 2024 09:45:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4webpack=EF=BC=8C=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E4=B8=BAvite=EF=BC=8C=E5=88=A0=E9=99=A4=E5=BC=83?= =?UTF-8?q?=E7=94=A8=E6=96=87=E4=BB=B6=20(#1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: xief <1789784602@qq.com> Reviewed-on: http://gitea.cf/MES/CADViewComponent/pulls/1 --- .gitignore | 1 + config/umd/cad.js | 2 - config/umd/cad.js.map | 1 - config/webpack.common.ts | 93 - config/webpack.umd.ts | 24 - config/webpack.view.ts | 31 - dist/CameraControls.d.ts | 46 - dist/CameraControls.js | 209 -- dist/CameraControls.js.map | 1 - dist/CameraUpdate.d.ts | 49 - dist/CameraUpdate.js | 186 -- dist/CameraUpdate.js.map | 1 - dist/ColorPalette.d.ts | 10 - dist/ColorPalette.js | 43 - dist/ColorPalette.js.map | 1 - dist/Dimension.d.ts | 10 - dist/Dimension.js | 64 - dist/Dimension.js.map | 1 - dist/DrawDimension.d.ts | 10 - dist/DrawDimension.js | 32 - dist/DrawDimension.js.map | 1 - dist/GeUtils.d.ts | 72 - dist/GeUtils.js | 266 --- dist/GeUtils.js.map | 1 - dist/KeyEnum.d.ts | 149 -- dist/KeyEnum.js | 161 -- dist/KeyEnum.js.map | 1 - dist/Material.d.ts | 4 - dist/Material.js | 19 - dist/Material.js.map | 1 - dist/Matrix2.d.ts | 7 - dist/Matrix2.js | 31 - dist/Matrix2.js.map | 1 - dist/Orbit.d.ts | 39 - dist/Orbit.js | 86 - dist/Orbit.js.map | 1 - dist/PlaneExt.d.ts | 7 - dist/PlaneExt.js | 51 - dist/PlaneExt.js.map | 1 - dist/PointPick.d.ts | 12 - dist/PointPick.js | 39 - dist/PointPick.js.map | 1 - dist/RotateUV.d.ts | 2 - dist/RotateUV.js | 23 - dist/RotateUV.js.map | 1 - dist/Text.d.ts | 11 - dist/Text.js | 56 - dist/Text.js.map | 1 - dist/ThreeCSG.d.ts | 58 - dist/ThreeCSG.js | 458 ---- dist/ThreeCSG.js.map | 1 - dist/Utils.d.ts | 5 - dist/Utils.js | 33 - dist/Utils.js.map | 1 - dist/ViewSrc/index.d.ts | 1 - dist/ViewSrc/index.js | 70 - dist/ViewSrc/index.js.map | 1 - dist/Viewer.d.ts | 42 - dist/Viewer.js | 172 -- dist/Viewer.js.map | 1 - dist/createBoard.d.ts | 25 - dist/createBoard.js | 188 -- dist/createBoard.js.map | 1 - dist/data.d.ts | 75 - dist/data.js | 552 ----- dist/data.js.map | 1 - dist/index.d.ts | 9 - dist/index.js | 15 - dist/index.js.map | 1 - index.html | 13 + package.json | 27 +- src/DrawDimension.ts | 8 +- src/GeUtils.ts | 16 +- src/Text.ts | 2 +- src/ViewSrc/index.html | 14 - src/ViewSrc/index.ts | 2 +- src/Viewer.ts | 446 ++-- src/vite-env.d.ts | 1 + tsconfig.json | 30 +- yarn.lock | 4225 ++---------------------------------- 80 files changed, 434 insertions(+), 7920 deletions(-) delete mode 100644 config/umd/cad.js delete mode 100644 config/umd/cad.js.map delete mode 100644 config/webpack.common.ts delete mode 100644 config/webpack.umd.ts delete mode 100644 config/webpack.view.ts delete mode 100644 dist/CameraControls.d.ts delete mode 100644 dist/CameraControls.js delete mode 100644 dist/CameraControls.js.map delete mode 100644 dist/CameraUpdate.d.ts delete mode 100644 dist/CameraUpdate.js delete mode 100644 dist/CameraUpdate.js.map delete mode 100644 dist/ColorPalette.d.ts delete mode 100644 dist/ColorPalette.js delete mode 100644 dist/ColorPalette.js.map delete mode 100644 dist/Dimension.d.ts delete mode 100644 dist/Dimension.js delete mode 100644 dist/Dimension.js.map delete mode 100644 dist/DrawDimension.d.ts delete mode 100644 dist/DrawDimension.js delete mode 100644 dist/DrawDimension.js.map delete mode 100644 dist/GeUtils.d.ts delete mode 100644 dist/GeUtils.js delete mode 100644 dist/GeUtils.js.map delete mode 100644 dist/KeyEnum.d.ts delete mode 100644 dist/KeyEnum.js delete mode 100644 dist/KeyEnum.js.map delete mode 100644 dist/Material.d.ts delete mode 100644 dist/Material.js delete mode 100644 dist/Material.js.map delete mode 100644 dist/Matrix2.d.ts delete mode 100644 dist/Matrix2.js delete mode 100644 dist/Matrix2.js.map delete mode 100644 dist/Orbit.d.ts delete mode 100644 dist/Orbit.js delete mode 100644 dist/Orbit.js.map delete mode 100644 dist/PlaneExt.d.ts delete mode 100644 dist/PlaneExt.js delete mode 100644 dist/PlaneExt.js.map delete mode 100644 dist/PointPick.d.ts delete mode 100644 dist/PointPick.js delete mode 100644 dist/PointPick.js.map delete mode 100644 dist/RotateUV.d.ts delete mode 100644 dist/RotateUV.js delete mode 100644 dist/RotateUV.js.map delete mode 100644 dist/Text.d.ts delete mode 100644 dist/Text.js delete mode 100644 dist/Text.js.map delete mode 100644 dist/ThreeCSG.d.ts delete mode 100644 dist/ThreeCSG.js delete mode 100644 dist/ThreeCSG.js.map delete mode 100644 dist/Utils.d.ts delete mode 100644 dist/Utils.js delete mode 100644 dist/Utils.js.map delete mode 100644 dist/ViewSrc/index.d.ts delete mode 100644 dist/ViewSrc/index.js delete mode 100644 dist/ViewSrc/index.js.map delete mode 100644 dist/Viewer.d.ts delete mode 100644 dist/Viewer.js delete mode 100644 dist/Viewer.js.map delete mode 100644 dist/createBoard.d.ts delete mode 100644 dist/createBoard.js delete mode 100644 dist/createBoard.js.map delete mode 100644 dist/data.d.ts delete mode 100644 dist/data.js delete mode 100644 dist/data.js.map delete mode 100644 dist/index.d.ts delete mode 100644 dist/index.js delete mode 100644 dist/index.js.map create mode 100644 index.html delete mode 100644 src/ViewSrc/index.html create mode 100644 src/vite-env.d.ts diff --git a/.gitignore b/.gitignore index 192f18b..8a8f846 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /node_modules /package-lock.json .history +/dist diff --git a/config/umd/cad.js b/config/umd/cad.js deleted file mode 100644 index caac570..0000000 --- a/config/umd/cad.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("THREE")):"function"==typeof define&&define.amd?define(["THREE"],t):"object"==typeof exports?exports.cad=t(require("THREE")):e.cad=t(e.THREE)}(window,function(e){return function(e){var t={};function l(i){if(t[i])return t[i].exports;var q=t[i]={i:i,l:!1,exports:{}};return e[i].call(q.exports,q,q.exports,l),q.l=!0,q.exports}return l.m=e,l.c=t,l.d=function(e,t,i){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(l.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var q in e)l.d(i,q,function(t){return e[t]}.bind(null,q));return i},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="",l(l.s=2)}([function(t,l){t.exports=e},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=l(0),a=l(4);function n(e,t){return(new a.Matrix2).setRotate(t).applyVector(e),e}function o(e,t,l){return void 0===l&&(l=.001),Math.abs(e-t)0)return 0;var t=Math.atan2(e.y,e.x);return t<0&&(t+=2*Math.PI),t},t.angleTo=r,t.getLoocAtUpVec=m,t.createLookAtMat4=function(e){var l=m(e),q=new i.Matrix4;return q.lookAt(t.cZeroVec,e,l),q},t.isParallelTo=function(e,t){return e.clone().cross(t).lengthSq()<1e-9},t.ptToString=function(e,t){return void 0===t&&(t=3),e.toArray().map(function(e){return e.toFixed(t)}).join(",")},t.midPoint=function(e,t){return e.clone().add(t).multiplyScalar(.5)},t.midPoint2=function(e,t){return e.clone().add(t).multiplyScalar(.5)},t.midPtCir=function(e,t){var l=new q.Vector3(1,0,0),i=t.clone().sub(e),a=n(i,-r(l,i)/2);return e.clone().add(a)},t.GetBox=s,t.GetBoxArr=function(e){for(var t=new q.Box3,l=0,i=e;ls&&x<=h?{sp:l.clone().add(n),ep:t}:x>h&&x<=c?{sp:l.clone().add(n),ep:l.clone().add(o)}:{sp:e,ep:l.clone().add(o)}},t.angleAndX=function(e){return e.x?Math.atan(e.y/e.x):Math.PI/2},t.angleTo2Pi=function(e){return(e%=2*Math.PI)<0&&(e+=2*Math.PI),e},t.updateGeometry=function(e,t){e.geometry.dispose(),e.geometry=t,t.verticesNeedUpdate=!0,t.computeBoundingSphere()}},function(e,t,l){"use strict";function i(e){for(var l in e)t.hasOwnProperty(l)||(t[l]=e[l])}Object.defineProperty(t,"__esModule",{value:!0}),i(l(6)),i(l(10)),i(l(1)),i(l(12)),i(l(15)),i(l(18)),i(l(5)),i(l(19)),i(l(20))},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=[[255,0,0,255],[255,0,0,255],[255,255,0,255],[0,255,0,255],[0,255,255,255],[0,0,255,255],[255,0,255,255]],a=function(){function e(){}return e.GetLineMaterial=function(e){if(this.m_LineMaterialMap.has(e))return this.m_LineMaterialMap.get(e);var t=new i.LineBasicMaterial({color:this.GetColor(e)});return this.m_LineMaterialMap.set(e,t),t},e.GetBasicMaterial=function(e){if(this.m_BasicMaterialMap.has(e))return this.m_BasicMaterialMap.get(e);var t=new i.MeshBasicMaterial({color:this.GetColor(e)});return this.m_BasicMaterialMap.set(e,t),t},e.GetColor=function(e){var t=q[e];if(t)return new i.Color(t[0]/255,t[1]/255,t[2]/255)},e.m_LineMaterialMap=new Map,e.m_BasicMaterialMap=new Map,e}();t.ColorMaterial=a},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(){this.el=[1,0,0,1]}return e.prototype.set=function(e,t,l,i){var q=this.el;return q[0]=e,q[1]=l,q[2]=t,q[3]=i,this},e.prototype.applyVector=function(e){var t=e.x,l=e.y,i=this.el;return e.x=i[0]*t+i[2]*l,e.y=i[1]*t+i[3]*l,this},e.prototype.setRotate=function(e){this.el;var t=Math.cos(e),l=Math.sin(e);return this.set(t,-l,l,t),this},e}();t.Matrix2=i},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0);t.boardMaterial=new i.MeshBasicMaterial({color:new i.Color(.8,.8,.8),polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),t.selectMaterial=new i.MeshBasicMaterial({color:new i.Color(.1,.5,.5),polygonOffset:!0,polygonOffsetFactor:1,polygonOffsetUnits:1}),t.edgeMaterial=new i.LineBasicMaterial({linewidth:2,color:new i.Color(0,0,0)})},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=l(2),a=l(7),n=l(3),o=l(1),r=l(9),m=function(){function e(e){var t,l=this;this.m_Camera=new a.CameraUpdate,this.m_bNeedUpdate=!0,this.m_Scene=new i.Scene,this.OnSize=function(e,t){l._Width=e||l.m_DomEl.clientWidth,l._Height=t||l.m_DomEl.clientHeight,l._Width%2==1&&(l._Width-=1),l._Height%2==1&&(l._Height-=1),l.m_Render.setSize(l._Width,l._Height),l.m_Camera.SetSize(l._Width,l._Height)},this.StartRender=function(){requestAnimationFrame(l.StartRender),null!=l.m_Scene&&l.m_bNeedUpdate&&(l.Render(),l.m_bNeedUpdate=!1)},this.m_DomEl=e,this.initRender(e),this.OnSize(),this.StartRender(),this.m_CameraCtrl=new q.CameraControls(this),window.addEventListener("resize",function(){l.OnSize()}),this.m_Render.domElement.addEventListener("mousemove",function(e){var i=q.PointPick(l,e.offsetX,e.offsetY);t&&(t.material=q.boardMaterial),i&&i.material!==n.ColorMaterial.GetBasicMaterial(1)&&(t=i,i.material=q.selectMaterial),l.m_bNeedUpdate=!0})}return e.prototype.initRender=function(e){var t={antialias:!0,precision:"highp",alpha:!0};e instanceof HTMLCanvasElement?(t.canvas=e,this.m_Render=new i.WebGLRenderer(t)):(this.m_Render=new i.WebGLRenderer(t),e.appendChild(this.m_Render.domElement)),this.m_Render.autoClear=!0,this.m_Render.setPixelRatio(window.devicePixelRatio),this.m_Render.physicallyCorrectLights=!0,this.m_Render.setClearColor(16777215,1),this.OnSize()},e.prototype.Render=function(){this.m_Render.render(this.m_Scene,this.m_Camera.Camera)},e.prototype.ScreenToWorld=function(e,t){var l=new r.PlaneExt(t||new i.Vector3(0,0,1)),q=new i.Raycaster;q.setFromCamera({x:e.x/this._Width*2-1,y:-e.y/this._Height*2+1},this.m_Camera.Camera),l.intersectRay(q.ray,e,!0)},e.prototype.WorldToScreen=function(e){var t=.5*this._Width,l=.5*this._Height;e.project(this.m_Camera.Camera),e.x=e.x*t+t,e.y=-e.y*l+l},e.prototype.UpdateLockTarget=function(){var e=this.m_Render.renderLists.get(this.m_Scene,this.m_Camera.Camera),t=o.GetBoxArr(e.opaque.map(function(e){return e.object}));this.m_LookTarget=t?t.getCenter(new i.Vector3):o.cZeroVec},e.prototype.Rotate=function(e){this.m_Camera.Rotate(e,this.m_LookTarget),this.m_bNeedUpdate=!0},e.prototype.Pan=function(e){this.m_Camera.Pan(e),this.m_bNeedUpdate=!0},e.prototype.Zoom=function(e,t){this.m_Camera.Zoom(e,t),this.m_bNeedUpdate=!0},e.prototype.ZoomAll=function(){this.m_Camera.ZoomExtensBox3(o.GetBox(this.m_Scene,!0)),this.m_bNeedUpdate=!0},e.prototype.ViewToTop=function(){this.m_Camera.LookAt(new i.Vector3(0,0,-1)),this.m_bNeedUpdate=!0},e.prototype.ViewToFront=function(){this.m_Camera.LookAt(new i.Vector3(0,1,0)),this.m_bNeedUpdate=!0},e.prototype.ViewToSwiso=function(){this.m_Camera.LookAt(new i.Vector3(1,1,-1)),this.m_bNeedUpdate=!0},e}();t.Viewer=m},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=l(0),a=l(8),n=function(){function e(){this.m_CameraArray=new Map,this.m_ViewHeight=10,this.m_Target=new i.Vector3,this.m_Direction=new i.Vector3(0,0,-1),this.m_Orbit=new a.Orbit,this.m_MinViewHeight=10,this.m_MaxViewHeight=3e4,this.m_CameraArray.set(i.OrthographicCamera,new i.OrthographicCamera(-2,2,2,-2,-1e6,1e6)),this.m_CameraArray.set(i.PerspectiveCamera,new i.PerspectiveCamera(50,1,.01,1e4)),this.m_CurCamera=this.m_CameraArray.get(i.OrthographicCamera),this.m_Orbit.UpdateRoValue(this.m_Direction),this.UpdateUp(),this.Update()}return Object.defineProperty(e.prototype,"Aspect",{get:function(){return this.m_Width/this.m_Height},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"Camera",{get:function(){return this.m_CurCamera},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ViewHeight",{get:function(){return this.m_ViewHeight},set:function(e){this.m_ViewHeight=i.Math.clamp(e,this.m_MinViewHeight,this.m_MaxViewHeight)},enumerable:!0,configurable:!0}),e.prototype.SetSize=function(e,t){this.m_Width=e,this.m_Height=t},e.prototype.Pan=function(e){e.y*=-1,e.multiplyScalar(-this.m_ViewHeight/this.m_Height),e.applyQuaternion(this.Camera.quaternion),this.m_Target.add(e),this.Update()},e.prototype.Rotate=function(e,t){this.m_Orbit.RoX-=.003*e.y,this.m_Orbit.RoZ-=.003*e.x;var l=t.clone().applyMatrix4(this.Camera.matrixWorldInverse);this.m_Orbit.UpdateDirection(this.m_Direction),this.UpdateUp(),this.Update();var i=t.clone().applyMatrix4(this.Camera.matrixWorldInverse);i.sub(l),i.applyMatrix4(this.Camera.matrix),i.sub(this.Camera.position),this.m_Target.add(i),this.Update()},e.prototype.Zoom=function(e,t){if(this.Camera instanceof i.OrthographicCamera)this.ViewHeight*=e,t&&this.m_ViewHeight1?1:-1;l*=this.Camera.position.distanceTo(this.m_Target)/10,this.m_Target.add(this.m_Direction.clone().multiplyScalar(-l))}this.Update()},e.prototype.ZoomExtensBox3=function(e){if(e&&!e.isEmpty()){this.Camera.updateMatrixWorld(!1),e.applyMatrix4(this.Camera.matrixWorldInverse),e.getCenter(this.m_Target),this.m_Target.applyMatrix4(this.Camera.matrix);var t=e.getSize(new q.Vector3),l=t.x/t.y,i=this.Aspect;this.m_ViewHeight=l>i?t.x/i:t.y,this.Update()}},e.prototype.LookAt=function(e){this.m_Orbit.UpdateRoValue(e),this.m_Direction.copy(e),this.UpdateUp(),this.Update()},e.prototype.UpdateUp=function(){a.Orbit.ComputUpDirection(this.m_Direction,this.Camera.up)},e.prototype.Update=function(){if(this.Camera.position.copy(this.m_Target),this.Camera instanceof i.OrthographicCamera)this.Camera.left=this.Aspect*this.m_ViewHeight/-2,this.Camera.right=this.Aspect*this.m_ViewHeight/2,this.Camera.bottom=this.m_ViewHeight/-2,this.Camera.top=this.m_ViewHeight/2,this.Camera.position.sub(this.m_Direction);else{if(!(this.Camera instanceof i.PerspectiveCamera))return;this.Camera.aspect=this.Aspect;var e=this.m_ViewHeight/2/Math.tan(i.Math.degToRad(this.Camera.fov)/2);this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(e))}this.Camera.lookAt(this.m_Target),this.Camera.updateProjectionMatrix(),this.Camera.updateMatrixWorld(!1)},e.prototype.SwitchCamera=function(){this.Camera instanceof i.OrthographicCamera?this.m_CurCamera=this.m_CameraArray.get(i.PerspectiveCamera):this.m_CurCamera=this.m_CameraArray.get(i.OrthographicCamera),this.UpdateUp(),this.Update()},e}();t.CameraUpdate=n},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=function(){function e(){this.m_RoX=0,this.RoZ=0}return Object.defineProperty(e.prototype,"RoX",{get:function(){return this.m_RoX},set:function(e){this.m_RoX=i.Math.clamp(e,-.5*Math.PI,.5*Math.PI)},enumerable:!0,configurable:!0}),e.prototype.UpdateDirection=function(e){var t=e||new i.Vector3;t.z=Math.sin(this.m_RoX);var l=Math.abs(Math.cos(this.m_RoX));return t.x=Math.cos(this.RoZ)*l,t.y=Math.sin(this.RoZ)*l,t},e.prototype.UpdateRoValue=function(e){e.normalize(),this.m_RoX=Math.asin(e.z),e.x<1e-4&&e.y<1e-4?this.RoZ=.5*Math.PI:this.RoZ=Math.atan2(e.y,e.x)},e.ComputUpDirection=function(e,t){var l=t||new i.Vector3;if(e.equals(new i.Vector3(0,0,-1)))l.set(0,1,0);else if(e.equals(new i.Vector3(0,0,1)))l.set(0,-1,0);else{var q=new i.Vector3;q.crossVectors(new i.Vector3(0,0,1),e),l.crossVectors(e,q),l.normalize()}return l},e}();t.Orbit=q},function(e,t,l){"use strict";var i=this&&this.__extends||function(){var e=function(t,l){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var l in t)t.hasOwnProperty(l)&&(e[l]=t[l])})(t,l)};return function(t,l){function i(){this.constructor=t}e(t,l),t.prototype=null===l?Object.create(l):(i.prototype=l.prototype,new i)}}();Object.defineProperty(t,"__esModule",{value:!0});var q=l(0),a=l(0),n=function(e){function t(t,l){return e.call(this,t,l)||this}return i(t,e),t.prototype.intersectLine=function(e,t,l){var i=new a.Vector3,q=t||new a.Vector3,n=e.delta(i),o=this.normal.dot(n);if(0===o)return 0===this.distanceToPoint(e.start)?q.copy(e.start):void 0;var r=-(e.start.dot(this.normal)+this.constant)/o;return l||!(r<0||r>1)?q.copy(n).multiplyScalar(r).add(e.start):void 0},t.prototype.intersectRay=function(e,t,l){var i=new q.Line3(e.origin.clone(),e.origin.clone().add(e.direction));return this.intersectLine(i,t,l)},t}(q.Plane);t.PlaneExt=n},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i,q=l(0),a=l(11),n=l(0);!function(e){e[e.Null=0]="Null",e[e.Pan=1]="Pan",e[e.Rotate=2]="Rotate",e[e.Scale=3]="Scale"}(i=t.CameraControlState||(t.CameraControlState={}));var o=function(){function e(e){var t=this;this.m_TouthTypeList=[i.Rotate,i.Scale,i.Pan],this.m_StartClickPoint=new q.Vector3,this.m_EndClickPoint=new q.Vector3,this.m_DollyStart=new q.Vector2,this.m_DollyEnd=new q.Vector2,this.m_KeyDown=new Map,this.m_MouseDown=new Map,this.m_State=i.Null,this.m_LeftUseRotate=!0,this.onBlur=function(){t.m_KeyDown.clear(),t.m_MouseDown.clear()},this.onTouchStart=function(e){if(t.m_Viewer.UpdateLockTarget(),t.m_StartClickPoint.set(e.touches[0].pageX,e.touches[0].pageY,0),e.touches.length<4){if(2==e.touches.length){var l=e.touches[0].pageX-e.touches[1].pageX,i=e.touches[0].pageY-e.touches[1].pageY,q=Math.sqrt(l*l+i*i);t.m_DollyStart.set(0,q)}t.m_State=t.m_TouthTypeList[e.touches.length-1]}},this.onTouchEnd=function(e){t.m_State=i.Null},this.onTouchMove=function(e){e.preventDefault(),e.stopPropagation(),t.m_EndClickPoint.set(e.touches[0].pageX,e.touches[0].pageY,0);var l=t.m_EndClickPoint.clone().sub(t.m_StartClickPoint);switch(t.m_State){case i.Pan:t.m_Viewer.Pan(l);break;case i.Scale:var q=e.touches[0].pageX-e.touches[1].pageX,a=e.touches[0].pageY-e.touches[1].pageY,n=Math.sqrt(q*q+a*a);t.m_DollyEnd.set(0,n),n>t.m_DollyStart.y?t.m_Viewer.Zoom(.95):t.m_Viewer.Zoom(1.05),t.m_DollyStart.copy(t.m_DollyEnd);break;case i.Rotate:t.m_Viewer.Rotate(l.multiplyScalar(2))}t.m_StartClickPoint.copy(t.m_EndClickPoint),t.m_Viewer.m_bNeedUpdate=!0},this.lastMiddleClickTime=0,this.onMouseDown=function(e){e.preventDefault();var l=e.button;switch(t.m_MouseDown.set(l,!0),t.m_StartClickPoint.set(e.offsetX,e.offsetY,0),l){case a.MouseKey.Left:t.m_LeftUseRotate&&t.beginRotate();break;case a.MouseKey.Middle:var q=Date.now(),n=q-t.lastMiddleClickTime;if(t.lastMiddleClickTime=q,n<350)return void t.m_Viewer.ZoomAll();t.m_KeyDown.get(a.KeyBoard.Control)?t.beginRotate():t.m_State=i.Pan;break;case a.MouseKey.Right:}},this.onMouseUp=function(e){e.preventDefault(),t.m_State=i.Null,t.m_MouseDown.set(e.button,!1)},this.onMouseMove=function(e){e.preventDefault(),t.m_EndClickPoint.set(e.offsetX,e.offsetY,0);var l=t.m_EndClickPoint.clone().sub(t.m_StartClickPoint);switch(t.m_StartClickPoint.copy(t.m_EndClickPoint),(t.m_LeftUseRotate||t.m_KeyDown.get(a.KeyBoard.Control))&&t.m_State==i.Rotate&&t.m_Viewer.Rotate(l),t.m_State){case i.Pan:t.m_Viewer.Pan(l);break;case i.Rotate:case i.Scale:}},this.onMouseWheel=function(e){e.preventDefault(),e.stopPropagation();var l=new q.Vector3(e.offsetX,e.offsetY,0);t.m_Viewer.ScreenToWorld(l,(new n.Vector3).setFromMatrixColumn(t.m_Viewer.m_Camera.Camera.matrixWorld,2)),e.deltaY<0?t.m_Viewer.Zoom(.6,l):e.deltaY>0&&t.m_Viewer.Zoom(1.4,l)},this.onKeyDown=function(e){t.m_KeyDown.set(e.keyCode,!0)},this.onKeyUp=function(e){t.m_KeyDown.set(e.keyCode,!1)},this.m_Viewer=e,this.m_domElement=e.m_Render.domElement.parentElement,this.RegisterEvent()}return e.prototype.RegisterEvent=function(){this.m_domElement&&(this.m_domElement.addEventListener("mousedown",this.onMouseDown,!1),this.m_domElement.addEventListener("mousemove",this.onMouseMove,!1),this.m_domElement.addEventListener("mouseup",this.onMouseUp,!1),window.addEventListener("keydown",this.onKeyDown,!1),window.addEventListener("keyup",this.onKeyUp,!1),this.m_domElement.addEventListener("wheel",this.onMouseWheel,!1),this.m_domElement.addEventListener("touchstart",this.onTouchStart,!1),this.m_domElement.addEventListener("touchend",this.onTouchEnd,!1),this.m_domElement.addEventListener("touchmove",this.onTouchMove,!1),window.addEventListener("blur",this.onBlur,!1))},e.prototype.beginRotate=function(){this.m_State=i.Rotate,this.m_Viewer.UpdateLockTarget()},e}();t.CameraControls=o},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Left=0]="Left",e[e.Middle=1]="Middle",e[e.Right=2]="Right"}(t.MouseKey||(t.MouseKey={})),function(e){e[e.Digit1=49]="Digit1",e[e.Digit2=50]="Digit2",e[e.Digit3=51]="Digit3",e[e.Digit4=52]="Digit4",e[e.Digit5=53]="Digit5",e[e.Digit6=54]="Digit6",e[e.Digit7=55]="Digit7",e[e.Digit8=56]="Digit8",e[e.Digit9=57]="Digit9",e[e.Digit0=58]="Digit0",e[e.KeyA=65]="KeyA",e[e.KeyB=66]="KeyB",e[e.KeyC=67]="KeyC",e[e.KeyD=68]="KeyD",e[e.KeyE=69]="KeyE",e[e.KeyF=70]="KeyF",e[e.KeyG=71]="KeyG",e[e.KeyH=72]="KeyH",e[e.KeyI=73]="KeyI",e[e.KeyJ=74]="KeyJ",e[e.KeyK=75]="KeyK",e[e.KeyL=76]="KeyL",e[e.KeyM=77]="KeyM",e[e.KeyN=78]="KeyN",e[e.KeyO=79]="KeyO",e[e.KeyP=80]="KeyP",e[e.KeyQ=81]="KeyQ",e[e.KeyR=82]="KeyR",e[e.KeyS=83]="KeyS",e[e.KeyT=84]="KeyT",e[e.KeyU=85]="KeyU",e[e.KeyV=86]="KeyV",e[e.KeyW=87]="KeyW",e[e.KeyX=88]="KeyX",e[e.KeyY=89]="KeyY",e[e.KeyZ=90]="KeyZ",e[e.Comma=188]="Comma",e[e.CommaChrome=229]="CommaChrome",e[e.Period=190]="Period",e[e.Semicolon=186]="Semicolon",e[e.Quote=222]="Quote",e[e.BracketLeft=219]="BracketLeft",e[e.BracketRight=220]="BracketRight",e[e.Backquote=192]="Backquote",e[e.Backslash=220]="Backslash",e[e.Minus=189]="Minus",e[e.Equal=187]="Equal",e[e.IntlRo=193]="IntlRo",e[e.IntlYen=255]="IntlYen",e[e.Alt=18]="Alt",e[e.CapsLock=20]="CapsLock",e[e.Control=17]="Control",e[e.OSLeft=91]="OSLeft",e[e.OSRight=92]="OSRight",e[e.Shift=16]="Shift",e[e.ContextMenu=93]="ContextMenu",e[e.Enter=13]="Enter",e[e.Space=32]="Space",e[e.Backspace=8]="Backspace",e[e.Tab=9]="Tab",e[e.Delete=46]="Delete",e[e.End=35]="End",e[e.Home=36]="Home",e[e.Insert=45]="Insert",e[e.PageDown=34]="PageDown",e[e.PageUp=33]="PageUp",e[e.ArrowDown=40]="ArrowDown",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowUp=38]="ArrowUp",e[e.Escape=27]="Escape",e[e.PrintScreen=44]="PrintScreen",e[e.ScrollLock=145]="ScrollLock",e[e.Pause=19]="Pause",e[e.F1=112]="F1",e[e.F2=113]="F2",e[e.F3=114]="F3",e[e.F5=116]="F5",e[e.F6=117]="F6",e[e.F7=118]="F7",e[e.F8=119]="F8",e[e.F9=120]="F9",e[e.F10=121]="F10",e[e.F11=122]="F11",e[e.F12=123]="F12",e[e.NumLock=114]="NumLock",e[e.Numpad0=96]="Numpad0",e[e.Numpad1=97]="Numpad1",e[e.Numpad2=98]="Numpad2",e[e.Numpad3=99]="Numpad3",e[e.Numpad4=100]="Numpad4",e[e.Numpad5=101]="Numpad5",e[e.Numpad6=102]="Numpad6",e[e.Numpad7=103]="Numpad7",e[e.Numpad8=104]="Numpad8",e[e.Numpad9=105]="Numpad9",e[e.NumpadAdd=107]="NumpadAdd",e[e.NumpadDivide=111]="NumpadDivide",e[e.NumpadEqual=12]="NumpadEqual",e[e.NumpadMultiply=106]="NumpadMultiply",e[e.NumpadSubtract=109]="NumpadSubtract",e[e.NumpadDot=110]="NumpadDot",e[e.NumpadDot1=190]="NumpadDot1"}(t.KeyBoard||(t.KeyBoard={}))},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=l(0),a=l(3),n=l(1),o=l(5),r=l(13),m=l(14),s=function(){return function(e,t,l){this.m_StartPoint=e.clone(),this.m_EndPoint=t.clone();var i=t.clone().sub(e),q=i.length(),a=i.angle();this.m_Radius=q/Math.sin(2*Math.atan(l))/2,Math.atan(l);var o=l*q/2,r=this.m_Radius-o;a+=.5*Math.PI,this.m_Center=e.clone().add(t),this.m_Center.multiplyScalar(.5),n.polar(this.m_Center,a,r),this.m_StartAn=e.clone().sub(this.m_Center).angle(),this.m_EndAn=t.clone().sub(this.m_Center).angle(),l<0&&(this.m_StartAn-=Math.PI,this.m_EndAn-=Math.PI)}}();function h(e,t,l){var i=l||new q.Shape;if(0===e.length)return i;var a=e[0];i.moveTo(a.x,a.y);for(var n=0;n0}function _(e){var t=new i.EdgesGeometry(e,1);return new q.LineSegments(t,o.edgeMaterial)}t.Arc2d=s,t.createPath=h,t.getVec=c,t.createBoard=x,t.createTemplateBoard=function(e){for(var t=[],l=[],i=0,q=e;i0?this.calculateProperties():this.normal=this.w=void 0}return e.prototype.calculateProperties=function(){var e=this.vertices[0],t=this.vertices[1],l=this.vertices[2];return this.normal=t.clone().subtract(e).cross(l.clone().subtract(e)).normalize(),this.w=this.normal.clone().dot(e),this},e.prototype.clone=function(){var t,l,i=new e;for(t=0,l=this.vertices.length;t=0;e--)t.push(this.vertices[e]);return this.vertices=t,this},e.prototype.classifyVertex=function(e){var t=this.normal.dot(e)-this.w;return t<-1e-5?2:t>1e-5?1:0},e.prototype.classifySide=function(e){var t,l,i,q=0,a=0,n=e.vertices.length;for(t=0;t0&&0===a?1:0===q&&a>0?2:0===q&&0===a?0:3},e.prototype.splitPolygon=function(t,l,i,q,a){var n=this.classifySide(t);if(0===n)(this.normal.dot(t.normal)>0?l:i).push(t);else if(1===n)q.push(t);else if(2===n)a.push(t);else{var o,r=void 0,m=void 0,s=void 0,h=void 0,c=void 0,x=void 0,u=void 0,_=void 0,p=[],d=[];for(r=0,o=t.vertices.length;r=3&&q.push(new e(p).calculateProperties()),d.length>=3&&a.push(new e(d).calculateProperties())}},e}();t.Polygon=a;var n=function(){function e(e,t,l,q,a){this.x=e,this.y=t,this.z=l,this.normal=q||new i.Vector3,this.uv=a||new i.Vector2}return e.prototype.clone=function(){return new e(this.x,this.y,this.z,this.normal.clone(),this.uv.clone())},e.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},e.prototype.subtract=function(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this},e.prototype.multiplyScalar=function(e){return this.x*=e,this.y*=e,this.z*=e,this},e.prototype.cross=function(e){var t=this.x,l=this.y,i=this.z;return this.x=l*e.z-i*e.y,this.y=i*e.x-t*e.z,this.z=t*e.y-l*e.x,this},e.prototype.normalize=function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);return this.x/=e,this.y/=e,this.z/=e,this},e.prototype.dot=function(e){return this.x*e.x+this.y*e.y+this.z*e.z},e.prototype.lerp=function(e,t){return this.add(e.clone().subtract(this).multiplyScalar(t)),this.normal.add(e.normal.clone().sub(this.normal).multiplyScalar(t)),this.uv.add(e.uv.clone().sub(this.uv).multiplyScalar(t)),this},e.prototype.interpolate=function(e,t){return this.clone().lerp(e,t)},e.prototype.applyMatrix4=function(e){var t=this.x,l=this.y,i=this.z,q=e.elements;return this.x=q[0]*t+q[4]*l+q[8]*i+q[12],this.y=q[1]*t+q[5]*l+q[9]*i+q[13],this.z=q[2]*t+q[6]*l+q[10]*i+q[14],this},e}();t.Vertex=n;var o=function(){function e(t){var l,i,q=[],a=[];if(this.polygons=[],this.front=this.back=void 0,t instanceof Array&&0!==t.length){for(this.divider=t[0].clone(),l=0,i=t.length;l0&&(this.front=new e(q)),a.length>0&&(this.back=new e(a))}}return e.prototype.isConvex=function(e){var t,l;for(t=0;t0&&(this.front||(this.front=new e),this.front.build(q)),a.length>0&&(this.back||(this.back=new e),this.back.build(a))},e.prototype.allPolygons=function(){var e=this.polygons.slice();return this.front&&(e=e.concat(this.front.allPolygons())),this.back&&(e=e.concat(this.back.allPolygons())),e},e.prototype.clone=function(){var t=new e;return t.divider=this.divider.clone(),t.polygons=this.polygons.map(function(e){return e.clone()}),t.front=this.front&&this.front.clone(),t.back=this.back&&this.back.clone(),t},e.prototype.invert=function(){var e,t,l;for(e=0,t=this.polygons.length;e":{x_min:18.0625,x_max:774,ha:792,o:"m 774 376 l 18 40 l 18 149 l 631 421 l 18 692 l 18 799 l 774 465 l 774 376 "},v:{x_min:0,x_max:675.15625,ha:761,o:"m 675 738 l 404 0 l 272 0 l 0 738 l 133 737 l 340 147 l 541 737 l 675 738 "},"τ":{x_min:.28125,x_max:644.5,ha:703,o:"m 644 628 l 382 628 l 382 179 q 388 120 382 137 q 436 91 401 91 q 474 94 447 91 q 504 97 501 97 l 504 0 q 454 -9 482 -5 q 401 -14 426 -14 q 278 67 308 -14 q 260 233 260 118 l 260 628 l 0 628 l 0 739 l 644 739 l 644 628 "},"ξ":{x_min:0,x_max:624.9375,ha:699,o:"m 624 -37 q 608 -153 624 -96 q 563 -278 593 -211 l 454 -278 q 491 -183 486 -200 q 511 -83 511 -126 q 484 -23 511 -44 q 370 1 452 1 q 323 0 354 1 q 283 -1 293 -1 q 84 76 169 -1 q 0 266 0 154 q 56 431 0 358 q 197 538 108 498 q 94 613 134 562 q 54 730 54 665 q 77 823 54 780 q 143 901 101 867 l 27 901 l 27 1012 l 576 1012 l 576 901 l 380 901 q 244 863 303 901 q 178 745 178 820 q 312 600 178 636 q 532 582 380 582 l 532 479 q 276 455 361 479 q 118 281 118 410 q 165 173 118 217 q 274 120 208 133 q 494 101 384 110 q 624 -37 624 76 "},"&":{x_min:-3,x_max:894.25,ha:992,o:"m 894 0 l 725 0 l 624 123 q 471 0 553 40 q 306 -41 390 -41 q 168 -7 231 -41 q 62 92 105 26 q 14 187 31 139 q -3 276 -3 235 q 55 433 -3 358 q 248 581 114 508 q 170 689 196 640 q 137 817 137 751 q 214 985 137 922 q 384 1041 284 1041 q 548 988 483 1041 q 622 824 622 928 q 563 666 622 739 q 431 556 516 608 l 621 326 q 649 407 639 361 q 663 493 653 426 l 781 493 q 703 229 781 352 l 894 0 m 504 818 q 468 908 504 877 q 384 940 433 940 q 293 907 331 940 q 255 818 255 875 q 289 714 255 767 q 363 628 313 678 q 477 729 446 682 q 504 818 504 771 m 556 209 l 314 499 q 179 395 223 449 q 135 283 135 341 q 146 222 135 253 q 183 158 158 192 q 333 80 241 80 q 556 209 448 80 "},"Λ":{x_min:0,x_max:862.5,ha:942,o:"m 862 0 l 719 0 l 426 847 l 143 0 l 0 0 l 356 1013 l 501 1013 l 862 0 "},I:{x_min:41,x_max:180,ha:293,o:"m 180 0 l 41 0 l 41 1013 l 180 1013 l 180 0 "},G:{x_min:0,x_max:921,ha:1011,o:"m 921 0 l 832 0 l 801 136 q 655 15 741 58 q 470 -28 568 -28 q 126 133 259 -28 q 0 499 0 284 q 125 881 0 731 q 486 1043 259 1043 q 763 957 647 1043 q 905 709 890 864 l 772 709 q 668 866 747 807 q 486 926 589 926 q 228 795 322 926 q 142 507 142 677 q 228 224 142 342 q 483 94 323 94 q 712 195 625 94 q 796 435 796 291 l 477 435 l 477 549 l 921 549 l 921 0 "},"ΰ":{x_min:0,x_max:617,ha:725,o:"m 524 800 l 414 800 l 414 925 l 524 925 l 524 800 m 183 800 l 73 800 l 73 925 l 183 925 l 183 800 m 617 352 q 540 93 617 199 q 308 -24 455 -24 q 76 93 161 -24 q 0 352 0 199 l 0 738 l 126 738 l 126 354 q 169 185 126 257 q 312 98 220 98 q 451 185 402 98 q 492 354 492 257 l 492 738 l 617 738 l 617 352 m 489 1040 l 300 819 l 216 819 l 351 1040 l 489 1040 "},"`":{x_min:0,x_max:138.890625,ha:236,o:"m 138 699 l 0 699 l 0 861 q 36 974 0 929 q 138 1041 72 1020 l 138 977 q 82 931 95 969 q 69 839 69 893 l 138 839 l 138 699 "},"·":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 "},"Υ":{x_min:.328125,x_max:819.515625,ha:889,o:"m 819 1013 l 482 416 l 482 0 l 342 0 l 342 416 l 0 1013 l 140 1013 l 411 533 l 679 1013 l 819 1013 "},r:{x_min:0,x_max:355.5625,ha:432,o:"m 355 621 l 343 621 q 179 569 236 621 q 122 411 122 518 l 122 0 l 0 0 l 0 737 l 117 737 l 117 604 q 204 719 146 686 q 355 753 262 753 l 355 621 "},x:{x_min:0,x_max:675,ha:764,o:"m 675 0 l 525 0 l 331 286 l 144 0 l 0 0 l 256 379 l 12 738 l 157 737 l 336 473 l 516 738 l 661 738 l 412 380 l 675 0 "},"μ":{x_min:0,x_max:696.609375,ha:747,o:"m 696 -4 q 628 -14 657 -14 q 498 97 513 -14 q 422 8 470 41 q 313 -24 374 -24 q 207 3 258 -24 q 120 80 157 31 l 120 -278 l 0 -278 l 0 738 l 124 738 l 124 343 q 165 172 124 246 q 308 82 216 82 q 451 177 402 82 q 492 358 492 254 l 492 738 l 616 738 l 616 214 q 623 136 616 160 q 673 92 636 92 q 696 95 684 92 l 696 -4 "},h:{x_min:0,x_max:615,ha:724,o:"m 615 472 l 615 0 l 490 0 l 490 454 q 456 590 490 535 q 338 654 416 654 q 186 588 251 654 q 122 436 122 522 l 122 0 l 0 0 l 0 1013 l 122 1013 l 122 633 q 218 727 149 694 q 362 760 287 760 q 552 676 484 760 q 615 472 615 600 "},".":{x_min:0,x_max:142,ha:239,o:"m 142 0 l 0 0 l 0 151 l 142 151 l 142 0 "},"φ":{x_min:-2,x_max:878,ha:974,o:"m 496 -279 l 378 -279 l 378 -17 q 101 88 204 -17 q -2 367 -2 194 q 68 626 -2 510 q 283 758 151 758 l 283 646 q 167 537 209 626 q 133 373 133 462 q 192 177 133 254 q 378 93 259 93 l 378 758 q 445 764 426 763 q 476 765 464 765 q 765 659 653 765 q 878 377 878 553 q 771 96 878 209 q 496 -17 665 -17 l 496 -279 m 496 93 l 514 93 q 687 183 623 93 q 746 380 746 265 q 691 569 746 491 q 522 658 629 658 l 496 656 l 496 93 "},";":{x_min:0,x_max:142,ha:239,o:"m 142 585 l 0 585 l 0 738 l 142 738 l 142 585 m 142 -12 q 105 -132 142 -82 q 0 -206 68 -182 l 0 -138 q 58 -82 43 -123 q 68 0 68 -56 l 0 0 l 0 151 l 142 151 l 142 -12 "},f:{x_min:0,x_max:378,ha:472,o:"m 378 638 l 246 638 l 246 0 l 121 0 l 121 638 l 0 638 l 0 738 l 121 738 q 137 935 121 887 q 290 1028 171 1028 q 320 1027 305 1028 q 378 1021 334 1026 l 378 908 q 323 918 346 918 q 257 870 273 918 q 246 780 246 840 l 246 738 l 378 738 l 378 638 "},"“":{x_min:1,x_max:348.21875,ha:454,o:"m 140 670 l 1 670 l 1 830 q 37 943 1 897 q 140 1011 74 990 l 140 947 q 82 900 97 940 q 68 810 68 861 l 140 810 l 140 670 m 348 670 l 209 670 l 209 830 q 245 943 209 897 q 348 1011 282 990 l 348 947 q 290 900 305 940 q 276 810 276 861 l 348 810 l 348 670 "},A:{x_min:.03125,x_max:906.953125,ha:1008,o:"m 906 0 l 756 0 l 648 303 l 251 303 l 142 0 l 0 0 l 376 1013 l 529 1013 l 906 0 m 610 421 l 452 867 l 293 421 l 610 421 "},"‘":{x_min:1,x_max:139.890625,ha:236,o:"m 139 670 l 1 670 l 1 830 q 37 943 1 897 q 139 1011 74 990 l 139 947 q 82 900 97 940 q 68 810 68 861 l 139 810 l 139 670 "},"ϊ":{x_min:-70,x_max:283,ha:361,o:"m 283 800 l 173 800 l 173 925 l 283 925 l 283 800 m 40 800 l -70 800 l -70 925 l 40 925 l 40 800 m 283 3 q 232 -10 257 -5 q 181 -15 206 -15 q 84 26 118 -15 q 41 200 41 79 l 41 737 l 166 737 l 167 215 q 171 141 167 157 q 225 101 182 101 q 247 103 238 101 q 283 112 256 104 l 283 3 "},"π":{x_min:-.21875,x_max:773.21875,ha:857,o:"m 773 -7 l 707 -11 q 575 40 607 -11 q 552 174 552 77 l 552 226 l 552 626 l 222 626 l 222 0 l 97 0 l 97 626 l 0 626 l 0 737 l 773 737 l 773 626 l 676 626 l 676 171 q 695 103 676 117 q 773 90 714 90 l 773 -7 "},"ά":{x_min:0,x_max:765.5625,ha:809,o:"m 765 -4 q 698 -14 726 -14 q 564 97 586 -14 q 466 7 525 40 q 337 -26 407 -26 q 88 98 186 -26 q 0 369 0 212 q 88 637 0 525 q 337 760 184 760 q 465 727 407 760 q 563 637 524 695 l 563 738 l 685 738 l 685 222 q 693 141 685 168 q 748 94 708 94 q 765 95 760 94 l 765 -4 m 584 371 q 531 562 584 485 q 360 653 470 653 q 192 566 254 653 q 135 379 135 489 q 186 181 135 261 q 358 84 247 84 q 528 176 465 84 q 584 371 584 260 m 604 1040 l 415 819 l 332 819 l 466 1040 l 604 1040 "},O:{x_min:0,x_max:958,ha:1057,o:"m 485 1041 q 834 882 702 1041 q 958 512 958 734 q 834 136 958 287 q 481 -26 702 -26 q 126 130 261 -26 q 0 504 0 279 q 127 880 0 728 q 485 1041 263 1041 m 480 98 q 731 225 638 98 q 815 504 815 340 q 733 783 815 669 q 480 912 640 912 q 226 784 321 912 q 142 504 142 670 q 226 224 142 339 q 480 98 319 98 "},n:{x_min:0,x_max:615,ha:724,o:"m 615 463 l 615 0 l 490 0 l 490 454 q 453 592 490 537 q 331 656 410 656 q 178 585 240 656 q 117 421 117 514 l 117 0 l 0 0 l 0 738 l 117 738 l 117 630 q 218 728 150 693 q 359 764 286 764 q 552 675 484 764 q 615 463 615 593 "},l:{x_min:41,x_max:166,ha:279,o:"m 166 0 l 41 0 l 41 1013 l 166 1013 l 166 0 "},"¤":{x_min:40.09375,x_max:728.796875,ha:825,o:"m 728 304 l 649 224 l 512 363 q 383 331 458 331 q 256 363 310 331 l 119 224 l 40 304 l 177 441 q 150 553 150 493 q 184 673 150 621 l 40 818 l 119 898 l 267 749 q 321 766 291 759 q 384 773 351 773 q 447 766 417 773 q 501 749 477 759 l 649 898 l 728 818 l 585 675 q 612 618 604 648 q 621 553 621 587 q 591 441 621 491 l 728 304 m 384 682 q 280 643 318 682 q 243 551 243 604 q 279 461 243 499 q 383 423 316 423 q 487 461 449 423 q 525 553 525 500 q 490 641 525 605 q 384 682 451 682 "},"κ":{x_min:0,x_max:632.328125,ha:679,o:"m 632 0 l 482 0 l 225 384 l 124 288 l 124 0 l 0 0 l 0 738 l 124 738 l 124 446 l 433 738 l 596 738 l 312 466 l 632 0 "},p:{x_min:0,x_max:685,ha:786,o:"m 685 364 q 598 96 685 205 q 350 -23 504 -23 q 121 89 205 -23 l 121 -278 l 0 -278 l 0 738 l 121 738 l 121 633 q 220 726 159 691 q 351 761 280 761 q 598 636 504 761 q 685 364 685 522 m 557 371 q 501 560 557 481 q 330 651 437 651 q 162 559 223 651 q 108 366 108 479 q 162 177 108 254 q 333 87 224 87 q 502 178 441 87 q 557 371 557 258 "},"‡":{x_min:0,x_max:777,ha:835,o:"m 458 238 l 458 0 l 319 0 l 319 238 l 0 238 l 0 360 l 319 360 l 319 681 l 0 683 l 0 804 l 319 804 l 319 1015 l 458 1013 l 458 804 l 777 804 l 777 683 l 458 683 l 458 360 l 777 360 l 777 238 l 458 238 "},"ψ":{x_min:0,x_max:808,ha:907,o:"m 465 -278 l 341 -278 l 341 -15 q 87 102 180 -15 q 0 378 0 210 l 0 739 l 133 739 l 133 379 q 182 195 133 275 q 341 98 242 98 l 341 922 l 465 922 l 465 98 q 623 195 563 98 q 675 382 675 278 l 675 742 l 808 742 l 808 381 q 720 104 808 213 q 466 -13 627 -13 l 465 -278 "},"η":{x_min:.78125,x_max:697,ha:810,o:"m 697 -278 l 572 -278 l 572 454 q 540 587 572 536 q 425 650 501 650 q 271 579 337 650 q 206 420 206 509 l 206 0 l 81 0 l 81 489 q 73 588 81 562 q 0 644 56 644 l 0 741 q 68 755 38 755 q 158 720 124 755 q 200 630 193 686 q 297 726 234 692 q 434 761 359 761 q 620 692 544 761 q 697 516 697 624 l 697 -278 "}},cssFontWeight:"normal",ascender:1189,underlinePosition:-100,cssFontStyle:"normal",boundingBox:{yMin:-334,xMin:-111,yMax:1189,xMax:1672},resolution:1e3,original_font_information:{postscript_name:"Helvetiker-Regular",version_string:"Version 1.00 2004 initial release",vendor_url:"http://www.magenta.gr/",full_font_name:"Helvetiker",font_family_name:"Helvetiker",copyright:"Copyright (c) Μagenta ltd, 2004",description:"",trademark:"",designer:"",designer_url:"",unique_font_identifier:"Μagenta ltd:Helvetiker:22-10-104",license_url:"http://www.ellak.gr/fonts/MgOpen/license.html",license_description:'Copyright (c) 2004 by MAGENTA Ltd. All Rights Reserved.\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions: \r\n\r\nThe above copyright and this permission notice shall be included in all copies of one or more of the Font Software typefaces.\r\n\r\nThe Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing the word "MgOpen", or if the modifications are accepted for inclusion in the Font Software itself by the each appointed Administrator.\r\n\r\nThis License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "MgOpen" name.\r\n\r\nThe Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself. \r\n\r\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL MAGENTA OR PERSONS OR BODIES IN CHARGE OF ADMINISTRATION AND MAINTENANCE OF THE FONT SOFTWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.',manufacturer_name:"Μagenta ltd",font_sub_family_name:"Regular"},descender:-334,familyName:"Helvetiker",lineHeight:1522,underlineThickness:50}},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0),q=l(2);t.DrawDimension=function(e){var t=q.GetBoxArr(e),l=t.getSize(new i.Vector3),a=new i.Matrix4;a.makeBasis(new i.Vector3(-1,0,0),new i.Vector3(0,-1,0),new i.Vector3(0,0,1)),a.setPosition(t.min.clone().add(new i.Vector3(l.x,-30)));var n=new q.Dimension(l.x,45,!0);n.applyMatrix(a);var o=new q.Dimension(l.z,45);a.makeBasis(new i.Vector3(0,0,-1),new i.Vector3(1,0,0),new i.Vector3(0,-1,0)),a.setPosition(t.max.clone().add(new i.Vector3(30,-l.y))),o.applyMatrix(a);var r=new q.Dimension(l.y,45,!0,!0);return a.makeBasis(new i.Vector3(0,1,0),new i.Vector3(-1,0,0),new i.Vector3(0,0,1)),a.setPosition(t.max.clone().add(new i.Vector3(30,-l.y))),r.applyMatrix(a),[n,r,o]}},function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=l(0);t.PointPick=function(e,t,l){var q=new i.Raycaster;q.setFromCamera({x:t/e._Width*2-1,y:-l/e._Height*2+1},e.m_Camera.Camera),q.ray.origin.set(t/e._Width*2-1,-l/e._Height*2+1,-1).unproject(e.m_Camera.Camera);var a=1/0,n=void 0;return e.m_Scene.children.forEach(function(e){if(e instanceof i.Mesh){var t=[];e.raycast(q,t);for(var l=0,o=t;l(v1: T, v2: T)\r\n{\r\n return v1.distanceToSquared(v2) < 1e-8;\r\n}\r\n\r\nexport function fixAngle(an: number, fixAngle: number, fuzz: number = 0.1)\r\n{\r\n if (an < 0)\r\n an += Math.PI * 2;\r\n an += fuzz;\r\n let rem = an % fixAngle;\r\n if (rem < fuzz * 2)\r\n {\r\n an -= rem;\r\n }\r\n else\r\n {\r\n an -= fuzz;\r\n }\r\n return an;\r\n}\r\n\r\n/**\r\n * 按照极坐标的方式移动一个点\r\n * \r\n * @export\r\n * @template \r\n * @param {T} v 向量(2d,3d)\r\n * @param {number} an 角度\r\n * @param {number} dis 距离\r\n * @returns {T} \r\n */\r\nexport function polar(v: T, an: number, dis: number): T\r\n{\r\n v.x += Math.cos(an) * dis;\r\n v.y += Math.sin(an) * dis;\r\n return v;\r\n}\r\n\r\nexport function angle(v: Vector3 | Vector2)\r\n{\r\n if (equaln(v.y, 0) && v.x > 0)\r\n return 0;\r\n let angle = Math.atan2(v.y, v.x);\r\n if (angle < 0) angle += Math.PI * 2;\r\n return angle;\r\n}\r\n\r\n/**\r\n * 求两个向量的夹角,顺时针为负,逆时针为正\r\n * \r\n * @param {THREE.Vector3} v1 \r\n * @param {THREE.Vector3} v2 \r\n * @param {THREE.Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1\r\n * @returns \r\n */\r\nexport function angleTo(v1: THREE.Vector3, v2: THREE.Vector3, ref: THREE.Vector3 = new THREE.Vector3(0, 0, 1))\r\n{\r\n if (!ref.equals(new Vector3(0, 0, 1)))\r\n {\r\n //任意轴坐标系. 使用相机的构造矩阵.\r\n ref.multiplyScalar(-1);\r\n let up = getLoocAtUpVec(ref);\r\n let refOcs = new THREE.Matrix4();\r\n refOcs.lookAt(cZeroVec, ref, up);\r\n let refOcsInv = new THREE.Matrix4().getInverse(refOcs);\r\n v1.applyMatrix4(refOcsInv);\r\n v2.applyMatrix4(refOcsInv);\r\n v1.z = 0;\r\n v2.z = 0;\r\n }\r\n if (v1.equals(cZeroVec) || v2.equals(cZeroVec))\r\n return 0;\r\n let cv = new Vector3().crossVectors(v1, v2).normalize();\r\n return cv.z === 0 ? v1.angleTo(v2) : v1.angleTo(v2) * cv.z;\r\n}\r\n\r\nexport function getLoocAtUpVec(dir: THREE.Vector3): THREE.Vector3\r\n{\r\n if (dir.equals(cZeroVec))\r\n {\r\n throw (\"zero vector\")\r\n }\r\n let norm = dir.clone().normalize();\r\n if (norm.equals(cZAxis))\r\n {\r\n return new THREE.Vector3(0, 1, 0);\r\n }\r\n else if (norm.equals(cZAxis.clone().negate()))\r\n {\r\n return new THREE.Vector3(0, -1, 0);\r\n }\r\n else\r\n {\r\n let xv: THREE.Vector3 = new THREE.Vector3();\r\n xv.crossVectors(cZAxis, norm);\r\n\r\n let up = new THREE.Vector3();\r\n up.crossVectors(norm, xv);\r\n return up;\r\n }\r\n}\r\n\r\nexport function createLookAtMat4(dir: THREE.Vector3): THREE.Matrix4\r\n{\r\n let up = getLoocAtUpVec(dir);\r\n let mat = new THREE.Matrix4();\r\n mat.lookAt(cZeroVec, dir, up);\r\n return mat;\r\n}\r\n\r\nexport function isParallelTo(v1: THREE.Vector3, v2: THREE.Vector3)\r\n{\r\n return v1.clone().cross(v2).lengthSq() < 1e-9;\r\n}\r\n\r\nexport function ptToString(v: THREE.Vector3, fractionDigits: number = 3): string\r\n{\r\n return v.toArray().map(o =>\r\n {\r\n return o.toFixed(fractionDigits)\r\n }).join(\",\")\r\n}\r\n\r\nexport function midPoint(v1: THREE.Vector3, v2: THREE.Vector3): THREE.Vector3\r\n{\r\n return v1.clone().add(v2).multiplyScalar(0.5);\r\n}\r\nexport function midPoint2(v1: THREE.Vector2, v2: THREE.Vector2): THREE.Vector2\r\n{\r\n return v1.clone().add(v2).multiplyScalar(0.5);\r\n}\r\n\r\nexport function midPtCir(v1: THREE.Vector3, v2: THREE.Vector3)\r\n{\r\n let baseline = new Vector3(1, 0, 0);\r\n let outLine = v2.clone().sub(v1);\r\n let ang = angleTo(baseline, outLine) / 2;\r\n let midLine = rotatePoint(outLine, -ang);\r\n return v1.clone().add(midLine);\r\n}\r\n\r\n/**\r\n * 获得Three对象的包围盒.\r\n * @param obj \r\n * @param [updateMatrix] 是否应该更新对象矩阵\r\n * @returns box \r\n */\r\nexport function GetBox(obj: THREE.Object3D, updateMatrix?: boolean): THREE.Box3\r\n{\r\n let box = new Box3();\r\n if (updateMatrix) obj.updateMatrixWorld(false);\r\n if (!obj.visible) return box;\r\n\r\n obj.traverse(o =>\r\n {\r\n //因为实体Erase时,实体仍然保存在Scene中.\r\n if (o.visible === false)\r\n return;\r\n\r\n //@ts-ignore\r\n let geo = o.geometry as BufferGeometry;\r\n if (geo)\r\n {\r\n if (!geo.boundingBox)\r\n geo.computeBoundingBox();\r\n box.union(geo.boundingBox.clone().applyMatrix4(o.matrixWorld));\r\n }\r\n });\r\n\r\n return box;\r\n}\r\n\r\nexport function GetBoxArr(arr: Array): THREE.Box3\r\n{\r\n let box = new Box3();\r\n for (let o of arr)\r\n {\r\n let b = GetBox(o);\r\n if (!b.isEmpty())\r\n box.union(b);\r\n }\r\n return box;\r\n}\r\n\r\nexport function MoveMatrix(v: THREE.Vector3): THREE.Matrix4\r\n{\r\n let mat = new THREE.Matrix4();\r\n mat.makeTranslation(v.x, v.y, v.z);\r\n return mat;\r\n}\r\n\r\nexport function getProjectDist(v1: Vector3, v2: Vector3)\r\n{\r\n let ang = v1.angleTo(v2);\r\n let dist = v1.length();\r\n return {\r\n h: dist * Math.cos(ang),\r\n v: dist * Math.sin(ang)\r\n }\r\n}\r\n//获得输入点在2线组成的4个区间的位置\r\nexport function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3)\r\n{\r\n let l1 = sp.clone().sub(c);\r\n let l2 = ep.clone().sub(c);\r\n let l3 = l1.clone().negate();\r\n let l4 = l2.clone().negate();\r\n let inputLine = inPt.clone().sub(c);\r\n let ang1 = angleTo(l1, l2);\r\n let ang2 = Math.PI;\r\n let ang3 = ang2 + Math.abs(ang1);\r\n let inputAng = angleTo(l1, inputLine);\r\n if (ang1 * inputAng < 0)\r\n {\r\n inputAng = (Math.PI * 2 - Math.abs(inputAng));\r\n }\r\n ang1 = Math.abs(ang1);\r\n inputAng = Math.abs(inputAng);\r\n if (inputAng <= ang1)\r\n {\r\n return { sp, ep };\r\n } else if (inputAng > ang1 && inputAng <= ang2)\r\n {\r\n return { sp: c.clone().add(l3), ep }\r\n } else if (inputAng > ang2 && inputAng <= ang3)\r\n {\r\n return { sp: c.clone().add(l3), ep: c.clone().add(l4) }\r\n } else\r\n {\r\n return { sp, ep: c.clone().add(l4) };\r\n }\r\n}\r\nexport function angleAndX(v: Vector3 | Vector2)\r\n{\r\n return v.x ? Math.atan(v.y / v.x) : Math.PI / 2;\r\n}\r\n/**\r\n * 将角度调整为0-2pi之间\r\n * \r\n * @export\r\n * @param {number} an \r\n */\r\nexport function angleTo2Pi(an: number)\r\n{\r\n an = an % (Math.PI * 2);\r\n if (an < 0) an += Math.PI * 2\r\n return an;\r\n}\r\nexport function updateGeometry(l: THREE.Line | THREE.Mesh, geometry: Geometry)\r\n{\r\n let geo = l.geometry as THREE.Geometry;\r\n geo.dispose();\r\n l.geometry = geometry;\r\n geometry.verticesNeedUpdate = true;\r\n geometry.computeBoundingSphere();\r\n}\r\n","export * from \"./Viewer\";\r\nexport * from \"./CameraControls\";\r\nexport * from \"./GeUtils\";\r\nexport * from \"./createBoard\";\r\nexport * from \"./Dimension\";\r\nexport * from \"./DrawDimension\";\r\nexport * from \"./Material\";\r\nexport * from \"./PointPick\"\r\nexport * from \"./Utils\"\r\n","import * as THREE from 'three';\r\nimport { LineBasicMaterial, MeshBasicMaterial, Color } from 'three';\r\nconst ColorPalette = [\r\n [255, 0, 0, 255], //----- 0 - lets make it red for an example\r\n //[255, 255, 255, 255],//----- 0 - ByBlock - White\r\n [255, 0, 0, 255], //----- 1 - Red\r\n // [255, 0, 0, 255], //----- 1 - Red\r\n [255, 255, 0, 255], //----- 2 - Yellow\r\n [0, 255, 0, 255], //----- 3 - Green\r\n [0, 255, 255, 255], //----- 4 - Cyan\r\n [0, 0, 255, 255], //----- 5 - Blue\r\n [255, 0, 255, 255], //----- 6 - Magenta\r\n // [255, 0, 0, 255], //----- 7 - More red Red\r\n // [255, 0, 0, 255], //----- 8 - More red Red\r\n // [255, 0, 0, 255], //----- 9 - More red Red\r\n // [255, 255, 255, 255],//----- 7 - White\r\n // [255, 255, 255, 255],//----- 8\r\n // [255, 255, 255, 255],//----- 9\r\n // [255, 0, 0, 255], //----- 10\r\n // [255, 127, 127, 255],//----- 11\r\n // [165, 0, 0, 255], //----- 12\r\n // [165, 82, 82, 255], //----- 13\r\n // [127, 0, 0, 255], //----- 14\r\n // [127, 63, 63, 255], //----- 15\r\n // [76, 0, 0, 255], //----- 16\r\n // [76, 38, 38, 255], //----- 17\r\n // [38, 0, 0, 255], //----- 18\r\n // [38, 19, 19, 255], //----- 19\r\n // [255, 63, 0, 255], //----- 20\r\n // [255, 159, 127, 255],//----- 21\r\n // [165, 41, 0, 255], //----- 22\r\n // [165, 103, 82, 255], //----- 23\r\n // [127, 31, 0, 255], //----- 24\r\n // [127, 79, 63, 255], //----- 25\r\n // [76, 19, 0, 255], //----- 26\r\n // [76, 47, 38, 255], //----- 27\r\n // [38, 9, 0, 255], //----- 28\r\n // [38, 23, 19, 255], //----- 29\r\n // [255, 127, 0, 255], //----- 30\r\n // [255, 191, 127, 255],//----- 31\r\n // [165, 82, 0, 255], //----- 32\r\n // [165, 124, 82, 255], //----- 33\r\n // [127, 63, 0, 255], //----- 34\r\n // [127, 95, 63, 255], //----- 35\r\n // [76, 38, 0, 255], //----- 36\r\n // [76, 57, 38, 255], //----- 37\r\n // [38, 19, 0, 255], //----- 38\r\n // [38, 28, 19, 255], //----- 39\r\n // [255, 191, 0, 255], //----- 40\r\n // [255, 223, 127, 255],//----- 41\r\n // [165, 124, 0, 255], //----- 42\r\n // [165, 145, 82, 255], //----- 43\r\n // [127, 95, 0, 255], //----- 44\r\n // [127, 111, 63, 255], //----- 45\r\n // [76, 57, 0, 255], //----- 46\r\n // [76, 66, 38, 255], //----- 47\r\n // [38, 28, 0, 255], //----- 48\r\n // [38, 33, 19, 255], //----- 49\r\n // [255, 255, 0, 255], //----- 50\r\n // [255, 255, 127, 255],//----- 51\r\n // [165, 165, 0, 255], //----- 52\r\n // [165, 165, 82, 255], //----- 53\r\n // [127, 127, 0, 255], //----- 54\r\n // [127, 127, 63, 255], //----- 55\r\n // [76, 76, 0, 255], //----- 56\r\n // [76, 76, 38, 255], //----- 57\r\n // [38, 38, 0, 255], //----- 58\r\n // [38, 38, 19, 255], //----- 59\r\n // [191, 255, 0, 255], //----- 60\r\n // [223, 255, 127, 255],//----- 61\r\n // [124, 165, 0, 255], //----- 62\r\n // [145, 165, 82, 255], //----- 63\r\n // [95, 127, 0, 255], //----- 64\r\n // [111, 127, 63, 255], //----- 65\r\n // [57, 76, 0, 255], //----- 66\r\n // [66, 76, 38, 255], //----- 67\r\n // [28, 38, 0, 255], //----- 68\r\n // [33, 38, 19, 255], //----- 69\r\n // [127, 255, 0, 255], //----- 70\r\n // [191, 255, 127, 255],//----- 71\r\n // [82, 165, 0, 255], //----- 72\r\n // [124, 165, 82, 255], //----- 73\r\n // [63, 127, 0, 255], //----- 74\r\n // [95, 127, 63, 255], //----- 75\r\n // [38, 76, 0, 255], //----- 76\r\n // [57, 76, 38, 255], //----- 77\r\n // [19, 38, 0, 255], //----- 78\r\n // [28, 38, 19, 255], //----- 79\r\n // [63, 255, 0, 255], //----- 80\r\n // [159, 255, 127, 255],//----- 81\r\n // [41, 165, 0, 255], //----- 82\r\n // [103, 165, 82, 255], //----- 83\r\n // [31, 127, 0, 255], //----- 84\r\n // [79, 127, 63, 255], //----- 85\r\n // [19, 76, 0, 255], //----- 86\r\n // [47, 76, 38, 255], //----- 87\r\n // [9, 38, 0, 255], //----- 88\r\n // [23, 38, 19, 255], //----- 89\r\n // [0, 255, 0, 255], //----- 90\r\n // [127, 255, 127, 255],//----- 91\r\n // [0, 165, 0, 255], //----- 92\r\n // [82, 165, 82, 255], //----- 93\r\n // [0, 127, 0, 255], //----- 94\r\n // [63, 127, 63, 255], //----- 95\r\n // [0, 76, 0, 255], //----- 96\r\n // [38, 76, 38, 255], //----- 97\r\n // [0, 38, 0, 255], //----- 98\r\n // [19, 38, 19, 255], //----- 99\r\n // [0, 255, 63, 255], //----- 100\r\n // [127, 255, 159, 255],//----- 101\r\n // [0, 165, 41, 255], //----- 102\r\n // [82, 165, 103, 255], //----- 103\r\n // [0, 127, 31, 255], //----- 104\r\n // [63, 127, 79, 255], //----- 105\r\n // [0, 76, 19, 255], //----- 106\r\n // [38, 76, 47, 255], //----- 107\r\n // [0, 38, 9, 255], //----- 108\r\n // [19, 38, 23, 255], //----- 109\r\n // [0, 255, 127, 255], //----- 110\r\n // [127, 255, 191, 255],//----- 111\r\n // [0, 165, 82, 255], //----- 112\r\n // [82, 165, 124, 255], //----- 113\r\n // [0, 127, 63, 255], //----- 114\r\n // [63, 127, 95, 255], //----- 115\r\n // [0, 76, 38, 255], //----- 116\r\n // [38, 76, 57, 255], //----- 117\r\n // [0, 38, 19, 255], //----- 118\r\n // [19, 38, 28, 255], //----- 119\r\n // [0, 255, 191, 255], //----- 120\r\n // [127, 255, 223, 255],//----- 121\r\n // [0, 165, 124, 255], //----- 122\r\n // [82, 165, 145, 255], //----- 123\r\n // [0, 127, 95, 255], //----- 124\r\n // [63, 127, 111, 255], //----- 125\r\n // [0, 76, 57, 255], //----- 126\r\n // [38, 76, 66, 255], //----- 127\r\n // [0, 38, 28, 255], //----- 128\r\n // [19, 38, 33, 255], //----- 129\r\n // [0, 255, 255, 255], //----- 130\r\n // [127, 255, 255, 255],//----- 131\r\n // [0, 165, 165, 255], //----- 132\r\n // [82, 165, 165, 255], //----- 133\r\n // [0, 127, 127, 255], //----- 134\r\n // [63, 127, 127, 255], //----- 135\r\n // [0, 76, 76, 255], //----- 136\r\n // [38, 76, 76, 255], //----- 137\r\n // [0, 38, 38, 255], //----- 138\r\n // [19, 38, 38, 255], //----- 139\r\n // [0, 191, 255, 255], //----- 140\r\n // [127, 223, 255, 255],//----- 141\r\n // [0, 124, 165, 255], //----- 142\r\n // [82, 145, 165, 255], //----- 143\r\n // [0, 95, 127, 255], //----- 144\r\n // [63, 111, 127, 255], //----- 145\r\n // [0, 57, 76, 255], //----- 146\r\n // [38, 66, 76, 255], //----- 147\r\n // [0, 28, 38, 255], //----- 148\r\n // [19, 33, 38, 255], //----- 149\r\n // [0, 127, 255, 255], //----- 150\r\n // [127, 191, 255, 255],//----- 151\r\n // [0, 82, 165, 255], //----- 152\r\n // [82, 124, 165, 255], //----- 153\r\n // [0, 63, 127, 255], //----- 154\r\n // [63, 95, 127, 255], //----- 155\r\n // [0, 38, 76, 255], //----- 156\r\n // [38, 57, 76, 255], //----- 157\r\n // [0, 19, 38, 255], //----- 158\r\n // [19, 28, 38, 255], //----- 159\r\n // [0, 63, 255, 255], //----- 160\r\n // [127, 159, 255, 255],//----- 161\r\n // [0, 41, 165, 255], //----- 162\r\n // [82, 103, 165, 255], //----- 163\r\n // [0, 31, 127, 255], //----- 164\r\n // [63, 79, 127, 255], //----- 165\r\n // [0, 19, 76, 255], //----- 166\r\n // [38, 47, 76, 255], //----- 167\r\n // [0, 9, 38, 255], //----- 168\r\n // [19, 23, 38, 255], //----- 169\r\n // [0, 0, 255, 255], //----- 170\r\n // [127, 127, 255, 255],//----- 171\r\n // [0, 0, 165, 255], //----- 172\r\n // [82, 82, 165, 255], //----- 173\r\n // [0, 0, 127, 255], //----- 174\r\n // [63, 63, 127, 255], //----- 175\r\n // [0, 0, 76, 255], //----- 176\r\n // [38, 38, 76, 255], //----- 177\r\n // [0, 0, 38, 255], //----- 178\r\n // [19, 19, 38, 255], //----- 179\r\n // [63, 0, 255, 255], //----- 180\r\n // [159, 127, 255, 255],//----- 181\r\n // [41, 0, 165, 255], //----- 182\r\n // [103, 82, 165, 255], //----- 183\r\n // [31, 0, 127, 255], //----- 184\r\n // [79, 63, 127, 255], //----- 185\r\n // [19, 0, 76, 255], //----- 186\r\n // [47, 38, 76, 255], //----- 187\r\n // [9, 0, 38, 255], //----- 188\r\n // [23, 19, 38, 255], //----- 189\r\n // [127, 0, 255, 255], //----- 190\r\n // [191, 127, 255, 255],//----- 191\r\n // [82, 0, 165, 255], //----- 192\r\n // [124, 82, 165, 255], //----- 193\r\n // [63, 0, 127, 255], //----- 194\r\n // [95, 63, 127, 255], //----- 195\r\n // [38, 0, 76, 255], //----- 196\r\n // [57, 38, 76, 255], //----- 197\r\n // [19, 0, 38, 255], //----- 198\r\n // [28, 19, 38, 255], //----- 199\r\n // [191, 0, 255, 255], //----- 200\r\n // [223, 127, 255, 255],//----- 201\r\n // [124, 0, 165, 255], //----- 202\r\n // [145, 82, 165, 255], //----- 203\r\n // [95, 0, 127, 255], //----- 204\r\n // [111, 63, 127, 255], //----- 205\r\n // [57, 0, 76, 255], //----- 206\r\n // [66, 38, 76, 255], //----- 207\r\n // [28, 0, 38, 255], //----- 208\r\n // [33, 19, 38, 255], //----- 209\r\n // [255, 0, 255, 255], //----- 210\r\n // [255, 127, 255, 255],//----- 211\r\n // [165, 0, 165, 255], //----- 212\r\n // [165, 82, 165, 255], //----- 213\r\n // [127, 0, 127, 255], //----- 214\r\n // [127, 63, 127, 255], //----- 215\r\n // [76, 0, 76, 255], //----- 216\r\n // [76, 38, 76, 255], //----- 217\r\n // [38, 0, 38, 255], //----- 218\r\n // [38, 19, 38, 255], //----- 219\r\n // [255, 0, 191, 255], //----- 220\r\n // [255, 127, 223, 255],//----- 221\r\n // [165, 0, 124, 255], //----- 222\r\n // [165, 82, 145, 255], //----- 223\r\n // [127, 0, 95, 255], //----- 224\r\n // [127, 63, 111, 255], //----- 225\r\n // [76, 0, 57, 255], //----- 226\r\n // [76, 38, 66, 255], //----- 227\r\n // [38, 0, 28, 255], //----- 228\r\n // [38, 19, 33, 255], //----- 229\r\n // [255, 0, 127, 255], //----- 230\r\n // [255, 127, 191, 255],//----- 231\r\n // [165, 0, 82, 255], //----- 232\r\n // [165, 82, 124, 255], //----- 233\r\n // [127, 0, 63, 255], //----- 234\r\n // [127, 63, 95, 255], //----- 235\r\n // [76, 0, 38, 255], //----- 236\r\n // [76, 38, 57, 255], //----- 237\r\n // [38, 0, 19, 255], //----- 238\r\n // [38, 19, 28, 255], //----- 239\r\n // [255, 0, 63, 255], //----- 240\r\n // [255, 127, 159, 255],//----- 241\r\n // [165, 0, 41, 255], //----- 242\r\n // [165, 82, 103, 255], //----- 243\r\n // [127, 0, 31, 255], //----- 244\r\n // [127, 63, 79, 255], //----- 245\r\n // [76, 0, 19, 255], //----- 246\r\n // [76, 38, 47, 255], //----- 247\r\n // [38, 0, 9, 255], //----- 248\r\n // [38, 19, 23, 255], //----- 249\r\n // [84, 84, 84, 255], //----- 250\r\n // [118, 118, 118, 255],//----- 251\r\n // [152, 152, 152, 255],//----- 252\r\n // [186, 186, 186, 255],//----- 253\r\n // [220, 220, 220, 255],//----- 254\r\n // [255, 255, 255, 255],//----- 255\r\n // [255, 255, 255, 255] //----- ByLayer - White\r\n];\r\n\r\n\r\n//颜色材质,对于二维图像来说可能有用,应该不对三维对象使用该材质\r\nexport class ColorMaterial\r\n{\r\n private constructor() { }\r\n private static m_LineMaterialMap = new Map();\r\n static GetLineMaterial(index): LineBasicMaterial\r\n {\r\n if (this.m_LineMaterialMap.has(index))\r\n return this.m_LineMaterialMap.get(index);\r\n let mat = new LineBasicMaterial({ color: this.GetColor(index) });\r\n this.m_LineMaterialMap.set(index, mat);\r\n return mat;\r\n }\r\n private static m_BasicMaterialMap = new Map();\r\n static GetBasicMaterial(index: number): MeshBasicMaterial\r\n {\r\n if (this.m_BasicMaterialMap.has(index))\r\n return this.m_BasicMaterialMap.get(index);\r\n let mat = new MeshBasicMaterial({ color: this.GetColor(index) });\r\n this.m_BasicMaterialMap.set(index, mat);\r\n return mat;\r\n }\r\n\r\n static GetColor(index: number)\r\n {\r\n let rgb = ColorPalette[index];\r\n if (rgb)\r\n return new Color(rgb[0] / 255, rgb[1] / 255, rgb[2] / 255);\r\n }\r\n}\r\n","import { Vector2, Vector3 } from \"three\";\r\n\r\nexport class Matrix2\r\n{\r\n private el = [1, 0, 0, 1];\r\n set(n11: number, n12: number, n21: number, n22: number)\r\n {\r\n let te = this.el;\r\n\r\n te[0] = n11; te[1] = n21;\r\n te[2] = n12; te[3] = n22;\r\n return this;\r\n }\r\n applyVector(vec: Vector2 | Vector3)\r\n {\r\n let x = vec.x, y = vec.y;\r\n let e = this.el;\r\n vec.x = e[0] * x + e[2] * y;\r\n vec.y = e[1] * x + e[3] * y;\r\n\r\n return this;\r\n }\r\n\r\n setRotate(theta: number): Matrix2\r\n {\r\n let el = this.el;\r\n let c = Math.cos(theta), s = Math.sin(theta);\r\n\r\n this.set(c, -s,\r\n s, c);\r\n return this;\r\n }\r\n}\r\n","import { MeshBasicMaterial, Color, LineBasicMaterial } from \"three\";\r\n\r\n//板件的材质,使用这个材质避免板件将线覆盖.\r\nexport let boardMaterial = new MeshBasicMaterial({\r\n color: new Color(0.8, 0.8, 0.8),\r\n polygonOffset: true,\r\n polygonOffsetFactor: 1, // positive value pushes polygon further away\r\n polygonOffsetUnits: 1\r\n});\r\n\r\nexport let selectMaterial = new MeshBasicMaterial({\r\n color: new Color(0.1, 0.5, 0.5),\r\n polygonOffset: true,\r\n polygonOffsetFactor: 1, // positive value pushes polygon further away\r\n polygonOffsetUnits: 1\r\n});\r\n\r\n//线框的材质\r\nexport let edgeMaterial = new LineBasicMaterial({ linewidth: 2, color: new Color(0, 0, 0) });\r\n\r\n","\r\nimport { Mesh, Raycaster, Scene, Vector3, WebGLRenderer, WebGLRendererParameters } from \"three\";\r\nimport { boardMaterial, CameraControls, PointPick, selectMaterial } from \".\";\r\nimport { CameraUpdate } from \"./CameraUpdate\";\r\nimport { ColorMaterial } from \"./ColorPalette\";\r\nimport { cZeroVec, GetBox, GetBoxArr } from \"./GeUtils\";\r\nimport { PlaneExt } from \"./PlaneExt\";\r\n\r\nexport class Viewer\r\n{\r\n m_LookTarget: any;\r\n m_Camera: CameraUpdate = new CameraUpdate();\r\n m_CameraCtrl: CameraControls;\r\n m_bNeedUpdate: boolean = true;\r\n m_Render: WebGLRenderer;//渲染器 //暂时只用这个类型\r\n m_DomEl: HTMLElement; //画布容器\r\n\r\n _Height: number;\r\n _Width: number;\r\n\r\n m_Scene: Scene = new Scene();\r\n\r\n /**\r\n * \r\n * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布\r\n * @memberof Viewer\r\n */\r\n constructor(canvasContainer: HTMLElement)\r\n {\r\n this.m_DomEl = canvasContainer;\r\n this.initRender(canvasContainer);\r\n this.OnSize();\r\n this.StartRender();\r\n this.m_CameraCtrl = new CameraControls(this);\r\n window.addEventListener(\"resize\", () =>\r\n {\r\n this.OnSize();\r\n });\r\n\r\n let oldMesh: Mesh;\r\n this.m_Render.domElement.addEventListener(\"mousemove\", (e: MouseEvent) =>\r\n {\r\n let mesh = PointPick(this, e.offsetX, e.offsetY);\r\n if (oldMesh)\r\n oldMesh.material = boardMaterial;\r\n if (mesh && mesh.material !== ColorMaterial.GetBasicMaterial(1))\r\n {\r\n oldMesh = mesh;\r\n mesh.material = selectMaterial;\r\n }\r\n this.m_bNeedUpdate = true;\r\n })\r\n }\r\n\r\n //初始化render\r\n initRender(canvasContainer: HTMLElement)\r\n {\r\n let params: WebGLRendererParameters = {\r\n antialias: true,//antialias:true/false是否开启反锯齿\r\n precision: \"highp\",//precision:highp/mediump/lowp着色精度选择\r\n alpha: true//alpha:true/false是否可以设置背景色透明\r\n };\r\n if (canvasContainer instanceof HTMLCanvasElement)\r\n {\r\n params.canvas = canvasContainer;\r\n this.m_Render = new WebGLRenderer(params);\r\n }\r\n else\r\n {\r\n this.m_Render = new WebGLRenderer(params);\r\n //加到画布\r\n canvasContainer.appendChild(this.m_Render.domElement);\r\n }\r\n\r\n this.m_Render.autoClear = true;\r\n\r\n //如果设置,那么它希望所有的纹理和颜色都是预乘的伽玛。默认值为false。\r\n // this.m_Render.gammaInput = true;\r\n // this.m_Render.gammaOutput = true;\r\n // this.m_Render.shadowMap.enabled = true;\r\n // this.m_Render.toneMapping = ReinhardToneMapping;\r\n //设置设备像素比。 这通常用于HiDPI设备,以防止模糊输出画布。\r\n this.m_Render.setPixelRatio(window.devicePixelRatio);\r\n this.m_Render.physicallyCorrectLights = true;\r\n //this.m_Render.toneMappingExposure = Math.pow(1, 5.0); // to allow for very bright scenes.\r\n\r\n //设置它的背景色为黑色\r\n this.m_Render.setClearColor(0xffffff, 1);\r\n\r\n\r\n this.OnSize();\r\n }\r\n\r\n OnSize = (width?, height?) =>\r\n {\r\n this._Width = width ? width : this.m_DomEl.clientWidth;\r\n this._Height = height ? height : this.m_DomEl.clientHeight;\r\n\r\n //校验.成为2的倍数 避免外轮廓错误.\r\n if (this._Width % 2 == 1)\r\n this._Width -= 1;\r\n if (this._Height % 2 == 1)\r\n this._Height -= 1;\r\n\r\n this.m_Render.setSize(this._Width, this._Height);\r\n this.m_Camera.SetSize(this._Width, this._Height);\r\n }\r\n\r\n StartRender = () =>\r\n {\r\n requestAnimationFrame(this.StartRender);\r\n if (this.m_Scene != null && this.m_bNeedUpdate)\r\n {\r\n this.Render();\r\n this.m_bNeedUpdate = false;\r\n }\r\n }\r\n Render()\r\n {\r\n this.m_Render.render(this.m_Scene, this.m_Camera.Camera);\r\n }\r\n\r\n ScreenToWorld(pt: Vector3, planVec?: Vector3)\r\n {\r\n //变换和求交点\r\n let plan = new PlaneExt(planVec || new Vector3(0, 0, 1));\r\n let raycaster = new Raycaster();\r\n // 射线从相机射线向屏幕点位置\r\n raycaster.setFromCamera(\r\n {\r\n x: (pt.x / this._Width) * 2 - 1,\r\n y: - (pt.y / this._Height) * 2 + 1\r\n }\r\n , this.m_Camera.Camera\r\n )\r\n plan.intersectRay(raycaster.ray, pt, true);\r\n }\r\n WorldToScreen(pt: Vector3)\r\n {\r\n let widthHalf = this._Width * 0.5;\r\n let heightHalf = this._Height * 0.5;\r\n\r\n pt.project(this.m_Camera.Camera);\r\n\r\n pt.x = (pt.x * widthHalf) + widthHalf;\r\n pt.y = - (pt.y * heightHalf) + heightHalf;\r\n }\r\n\r\n /**\r\n * 更新视角观测目标(物体中心)\r\n * \r\n * @memberof Viewer\r\n */\r\n UpdateLockTarget()\r\n {\r\n let renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera);\r\n let box = GetBoxArr(renderList.opaque.map(o => o.object));\r\n if (box)\r\n this.m_LookTarget = box.getCenter(new Vector3());\r\n else\r\n this.m_LookTarget = cZeroVec;\r\n }\r\n Rotate(mouseMove: Vector3)\r\n {\r\n this.m_Camera.Rotate(mouseMove, this.m_LookTarget);\r\n this.m_bNeedUpdate = true;\r\n }\r\n Pan(mouseMove: Vector3)\r\n {\r\n this.m_Camera.Pan(mouseMove);\r\n this.m_bNeedUpdate = true;\r\n }\r\n Zoom(scale: number, center?: Vector3)\r\n {\r\n this.m_Camera.Zoom(scale, center);\r\n this.m_bNeedUpdate = true;\r\n }\r\n ZoomAll()\r\n {\r\n this.m_Camera.ZoomExtensBox3(GetBox(this.m_Scene, true));\r\n this.m_bNeedUpdate = true;\r\n }\r\n\r\n ViewToTop()\r\n {\r\n this.m_Camera.LookAt(new Vector3(0, 0, -1));\r\n this.m_bNeedUpdate = true;\r\n }\r\n ViewToFront()\r\n {\r\n this.m_Camera.LookAt(new Vector3(0, 1, 0));\r\n this.m_bNeedUpdate = true;\r\n }\r\n ViewToSwiso()\r\n {\r\n this.m_Camera.LookAt(new Vector3(1, 1, -1));\r\n this.m_bNeedUpdate = true;\r\n }\r\n}\r\n","import * as THREE from 'three';\r\nimport { Vector3 } from 'three';\r\nimport { Orbit } from './Orbit';\r\n\r\n/**\r\n * \r\n * 相机的控制.\r\n * ->切换相机\r\n * ->设置视口大小\r\n * ->旋转和移动相机.\r\n * \r\n * @export\r\n * @class ViewCameraManage\r\n */\r\nexport class CameraUpdate\r\n{\r\n private m_CurCamera: THREE.Camera;\r\n private m_CameraArray: Map = new Map();\r\n\r\n //视口的画布大小\r\n private m_Width: number;\r\n private m_Height: number;\r\n //视口显示的高度\r\n private m_ViewHeight: number = 10;\r\n\r\n //观察的位置\r\n private m_Target: THREE.Vector3 = new THREE.Vector3();\r\n //观察向量\r\n private m_Direction: THREE.Vector3 = new THREE.Vector3(0, 0, -1);\r\n //观察的轨道.\r\n private m_Orbit: Orbit = new Orbit();\r\n\r\n m_MinViewHeight = 10;\r\n m_MaxViewHeight = 3e4;\r\n\r\n constructor()\r\n {\r\n this.m_CameraArray.set(THREE.OrthographicCamera, new THREE.OrthographicCamera(-2, 2, 2, -2,\r\n -1e6, 1e6));\r\n\r\n this.m_CameraArray.set(THREE.PerspectiveCamera, new THREE.PerspectiveCamera(50, 1, 0.01, 10000));\r\n\r\n this.m_CurCamera = this.m_CameraArray.get(THREE.OrthographicCamera);\r\n\r\n this.m_Orbit.UpdateRoValue(this.m_Direction);\r\n\r\n this.UpdateUp();\r\n\r\n this.Update();\r\n }\r\n get Aspect(): number\r\n {\r\n return this.m_Width / this.m_Height;\r\n }\r\n\r\n get Camera(): THREE.Camera\r\n {\r\n return this.m_CurCamera;\r\n }\r\n get ViewHeight()\r\n {\r\n return this.m_ViewHeight;\r\n }\r\n set ViewHeight(height)\r\n {\r\n this.m_ViewHeight = THREE.Math.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight);\r\n }\r\n\r\n SetSize(width: number, height: number)\r\n {\r\n this.m_Width = width;\r\n this.m_Height = height;\r\n }\r\n\r\n /**\r\n * 平移相机.\r\n * \r\n * @param {THREE.Vector3} mouseMove\r\n * @memberof CameraControl\r\n */\r\n Pan(mouseMove: THREE.Vector3)\r\n {\r\n mouseMove.y *= -1;\r\n mouseMove.multiplyScalar(-this.m_ViewHeight / this.m_Height);\r\n mouseMove.applyQuaternion(this.Camera.quaternion);\r\n this.m_Target.add(mouseMove);\r\n this.Update();\r\n }\r\n Rotate(mouseMove: THREE.Vector3, target: THREE.Vector3)\r\n {\r\n this.m_Orbit.RoX -= mouseMove.y * 0.003;\r\n this.m_Orbit.RoZ -= mouseMove.x * 0.003;\r\n\r\n //缓存观察点\r\n let oldTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse);\r\n\r\n this.m_Orbit.UpdateDirection(this.m_Direction);\r\n this.UpdateUp();\r\n this.Update();\r\n\r\n //-----还原观察点\r\n //得到新的观察点相对于相机的位置\r\n let newTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse);\r\n //减去原先的位置. 得到观测点在相机内移动的向量\r\n newTargetFormCameraSpace.sub(oldTargetFormCameraSpace);\r\n //乘以相机的矩阵. 得到向量在世界坐标系的位置\r\n newTargetFormCameraSpace.applyMatrix4(this.Camera.matrix);\r\n //因为使用的是点变换,所以减去基点,得到向量\r\n newTargetFormCameraSpace.sub(this.Camera.position);\r\n //加上移动的向量. 使得观察点时钟在相机的某个位置\r\n this.m_Target.add(newTargetFormCameraSpace);\r\n\r\n this.Update();\r\n }\r\n Zoom(scale: number, scaleCenter?: THREE.Vector3)\r\n {\r\n if (this.Camera instanceof THREE.OrthographicCamera)\r\n {\r\n this.ViewHeight *= scale;\r\n if (scaleCenter && this.m_ViewHeight < this.m_MaxViewHeight)\r\n {\r\n this.m_Target.sub(scaleCenter);\r\n this.m_Target.multiplyScalar(scale);\r\n this.m_Target.add(scaleCenter);\r\n }\r\n }\r\n else if (this.Camera instanceof THREE.PerspectiveCamera)\r\n {\r\n let add = scale > 1 ? 1 : -1;\r\n add *= this.Camera.position.distanceTo(this.m_Target) / 10;\r\n this.m_Target.add(this.m_Direction.clone().multiplyScalar(-add));\r\n }\r\n this.Update();\r\n }\r\n ZoomExtensBox3(box3: THREE.Box3)\r\n {\r\n if (!box3 || box3.isEmpty()) return;\r\n this.Camera.updateMatrixWorld(false);\r\n //变换到相机坐标系\r\n box3.applyMatrix4(this.Camera.matrixWorldInverse);\r\n //\r\n box3.getCenter(this.m_Target);\r\n //世界坐标系\r\n this.m_Target.applyMatrix4(this.Camera.matrix);\r\n //size\r\n let size = box3.getSize(new Vector3());\r\n //宽高比\r\n let aspectRatio = size.x / size.y;\r\n\r\n let viewAspectRatio = this.Aspect;\r\n //\r\n if (aspectRatio > viewAspectRatio)\r\n {\r\n this.m_ViewHeight = size.x / viewAspectRatio;\r\n }\r\n else\r\n {\r\n this.m_ViewHeight = size.y;\r\n }\r\n this.Update();\r\n }\r\n LookAt(dir: THREE.Vector3)\r\n {\r\n this.m_Orbit.UpdateRoValue(dir);\r\n this.m_Direction.copy(dir);\r\n this.UpdateUp();\r\n this.Update();\r\n }\r\n\r\n UpdateUp()\r\n {\r\n Orbit.ComputUpDirection(this.m_Direction, this.Camera.up);\r\n }\r\n /**\r\n * 根据视口大小,设置相机视口范围.\r\n * \r\n * @returns \r\n * @memberof CameraControl\r\n */\r\n Update()\r\n {\r\n this.Camera.position.copy(this.m_Target);\r\n\r\n if (this.Camera instanceof THREE.OrthographicCamera)\r\n {\r\n this.Camera.left = this.Aspect * this.m_ViewHeight / -2;\r\n this.Camera.right = this.Aspect * this.m_ViewHeight / 2;\r\n this.Camera.bottom = this.m_ViewHeight / -2;\r\n this.Camera.top = this.m_ViewHeight / 2;\r\n\r\n this.Camera.position.sub(this.m_Direction);\r\n }\r\n else if (this.Camera instanceof THREE.PerspectiveCamera)\r\n {\r\n this.Camera.aspect = this.Aspect;\r\n let distens = (this.m_ViewHeight / 2) / (Math.tan(THREE.Math.degToRad(this.Camera.fov) / 2));\r\n\r\n this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(distens));\r\n }\r\n else\r\n {\r\n return;\r\n }\r\n\r\n this.Camera.lookAt(this.m_Target);\r\n this.Camera.updateProjectionMatrix();\r\n this.Camera.updateMatrixWorld(false);\r\n }\r\n\r\n SwitchCamera()\r\n {\r\n if (this.Camera instanceof THREE.OrthographicCamera)\r\n {\r\n this.m_CurCamera = this.m_CameraArray.get(THREE.PerspectiveCamera);\r\n }\r\n else\r\n {\r\n this.m_CurCamera = this.m_CameraArray.get(THREE.OrthographicCamera);\r\n }\r\n this.UpdateUp();\r\n this.Update();\r\n }\r\n}\r\n","import * as THREE from \"three\";\r\n\r\n/**\r\n * 轨道控制的数学类,观察向量和角度的互相转换\r\n * 当x当抬头或者低头到90度时,触发万向锁.\r\n * \r\n * @class Orbit\r\n */\r\nexport class Orbit\r\n{\r\n //抬头低头 正数抬头 负数低头\r\n private m_RoX: number = 0;\r\n\r\n //身体旋转 0为正右边 逆时针旋转\r\n RoZ: number = 0;\r\n\r\n get RoX()\r\n {\r\n return this.m_RoX;\r\n }\r\n set RoX(v)\r\n {\r\n this.m_RoX = THREE.Math.clamp(v, Math.PI * -0.5, Math.PI * 0.5);\r\n }\r\n\r\n /**\r\n * 使用旋转角度 计算观察向量\r\n * \r\n * @param {THREE.Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量\r\n * @returns {THREE.Vector3} 返回观察向量\r\n * @memberof Orbit\r\n */\r\n UpdateDirection(dir?: THREE.Vector3): THREE.Vector3\r\n {\r\n let rtDir = dir ? dir : new THREE.Vector3();\r\n\r\n rtDir.z = Math.sin(this.m_RoX);\r\n\r\n //归一化专用.\r\n let d = Math.abs(Math.cos(this.m_RoX));\r\n\r\n rtDir.x = Math.cos(this.RoZ) * d;\r\n rtDir.y = Math.sin(this.RoZ) * d;\r\n\r\n return rtDir;\r\n }\r\n\r\n /**\r\n * 使用观察向量,计算旋转角度\r\n * \r\n * @param {THREE.Vector3} dir \r\n * @memberof Orbit\r\n */\r\n UpdateRoValue(dir: THREE.Vector3)\r\n {\r\n dir.normalize();\r\n this.m_RoX = Math.asin(dir.z);\r\n if (dir.x < 1e-4 && dir.y < 1e-4)\r\n this.RoZ = Math.PI * 0.5;\r\n else\r\n this.RoZ = Math.atan2(dir.y, dir.x);\r\n }\r\n\r\n /**\r\n * \r\n * 根据观察向量 求头部的向量.\r\n * \r\n * @static\r\n * @param {THREE.Vector3} dir \r\n * @param {THREE.Vector3} [up] \r\n * @returns {THREE.Vector3} \r\n * @memberof Orbit\r\n */\r\n static ComputUpDirection(dir: THREE.Vector3, up?: THREE.Vector3): THREE.Vector3\r\n {\r\n let upRes = up ? up : new THREE.Vector3();\r\n if (dir.equals(new THREE.Vector3(0, 0, -1)))\r\n {\r\n upRes.set(0, 1, 0);\r\n }\r\n else if (dir.equals(new THREE.Vector3(0, 0, 1)))\r\n {\r\n upRes.set(0, -1, 0);\r\n }\r\n else\r\n {\r\n let xv = new THREE.Vector3();\r\n xv.crossVectors(new THREE.Vector3(0, 0, 1), dir);\r\n upRes.crossVectors(dir, xv);\r\n upRes.normalize();\r\n }\r\n return upRes;\r\n }\r\n}\r\n","import * as THREE from 'three';\r\nimport { Vector3, Line3 } from \"three\";\r\n\r\nexport class PlaneExt extends THREE.Plane\r\n{\r\n constructor(normal?: THREE.Vector3, constant?: number)\r\n {\r\n super(normal, constant);\r\n }\r\n intersectLine(line: Line3, optionalTarget?: Vector3, extendLine?: boolean): Vector3\r\n {\r\n let v1 = new Vector3();\r\n\r\n let result = optionalTarget || new Vector3();\r\n\r\n let direction = line.delta(v1);\r\n\r\n let denominator = this.normal.dot(direction);\r\n\r\n if (denominator === 0)\r\n {\r\n // line is coplanar, return origin\r\n if (this.distanceToPoint(line.start) === 0)\r\n {\r\n return result.copy(line.start);\r\n }\r\n // Unsure if this is the correct method to handle this case.\r\n return undefined;\r\n }\r\n\r\n let t = - (line.start.dot(this.normal) + this.constant) / denominator;\r\n //If you not extendLine,check intersect point in Line\r\n if (!extendLine && (t < 0 || t > 1))\r\n {\r\n return undefined;\r\n }\r\n\r\n return result.copy(direction).multiplyScalar(t).add(line.start);\r\n }\r\n intersectRay(ray: THREE.Ray, optionalTarget?: Vector3, extendLine?: boolean): Vector3\r\n {\r\n // 从射线初始位置\r\n let line = new THREE.Line3(ray.origin.clone(), ray.origin.clone().add(ray.direction));\r\n return this.intersectLine(line, optionalTarget, extendLine);\r\n }\r\n}\r\n","import * as THREE from 'three';\r\n\r\nimport { KeyBoard, MouseKey } from './KeyEnum';\r\nimport { Vector3 } from 'three';\r\nimport { Viewer } from './Viewer';\r\n\r\n//相机控制状态\r\nexport enum CameraControlState\r\n{\r\n Null = 0, Pan = 1, Rotate = 2, Scale = 3\r\n}\r\n\r\nexport class CameraControls\r\n{\r\n m_TouthTypeList = [CameraControlState.Rotate, CameraControlState.Scale, CameraControlState.Pan];\r\n m_domElement: HTMLElement;//HTMLDocument\r\n //起始点击\r\n m_StartClickPoint: THREE.Vector3 = new THREE.Vector3();\r\n m_EndClickPoint: THREE.Vector3 = new THREE.Vector3();\r\n m_DollyStart: THREE.Vector2 = new THREE.Vector2();\r\n m_DollyEnd: THREE.Vector2 = new THREE.Vector2();\r\n\r\n m_KeyDown = new Map();\r\n m_MouseDown = new Map();\r\n\r\n //状态\r\n m_State: CameraControlState = CameraControlState.Null;\r\n m_Viewer: Viewer;\r\n //左键使用旋转\r\n m_LeftUseRotate: boolean = true;\r\n\r\n constructor(viewer: Viewer)\r\n {\r\n this.m_Viewer = viewer;\r\n this.m_domElement = viewer.m_Render.domElement.parentElement;\r\n this.RegisterEvent();\r\n }\r\n\r\n RegisterEvent()\r\n {\r\n if (this.m_domElement)\r\n {\r\n this.m_domElement.addEventListener(\"mousedown\", this.onMouseDown, false)\r\n this.m_domElement.addEventListener(\"mousemove\", this.onMouseMove, false)\r\n this.m_domElement.addEventListener(\"mouseup\", this.onMouseUp, false)\r\n window.addEventListener(\"keydown\", this.onKeyDown, false);\r\n window.addEventListener(\"keyup\", this.onKeyUp, false);\r\n this.m_domElement.addEventListener('wheel', this.onMouseWheel, false);\r\n\r\n this.m_domElement.addEventListener('touchstart', this.onTouchStart, false);\r\n this.m_domElement.addEventListener('touchend', this.onTouchEnd, false);\r\n this.m_domElement.addEventListener('touchmove', this.onTouchMove, false);\r\n\r\n window.addEventListener(\"blur\", this.onBlur, false);\r\n }\r\n }\r\n /**\r\n * 窗体失去焦点时.\r\n * \r\n * @memberof CameraControls\r\n */\r\n onBlur = () =>\r\n {\r\n this.m_KeyDown.clear();\r\n this.m_MouseDown.clear();\r\n }\r\n\r\n //触屏开始事件\r\n onTouchStart = (event: TouchEvent) =>\r\n {\r\n this.m_Viewer.UpdateLockTarget();\r\n this.m_StartClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0);\r\n if (event.touches.length < 4)\r\n {\r\n if (event.touches.length == 2)\r\n {\r\n var dx = event.touches[0].pageX - event.touches[1].pageX;\r\n var dy = event.touches[0].pageY - event.touches[1].pageY;\r\n var distance = Math.sqrt(dx * dx + dy * dy);\r\n this.m_DollyStart.set(0, distance);\r\n }\r\n this.m_State = this.m_TouthTypeList[event.touches.length - 1];\r\n }\r\n }\r\n onTouchEnd = (event: TouchEvent) =>\r\n {\r\n this.m_State = CameraControlState.Null;\r\n }\r\n onTouchMove = (event: TouchEvent) =>\r\n {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this.m_EndClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0);\r\n\r\n let vec = this.m_EndClickPoint.clone().sub(this.m_StartClickPoint);\r\n switch (this.m_State)\r\n {\r\n case CameraControlState.Pan:\r\n {\r\n this.m_Viewer.Pan(vec);\r\n break;\r\n }\r\n case CameraControlState.Scale:\r\n {\r\n var dx = event.touches[0].pageX - event.touches[1].pageX;\r\n var dy = event.touches[0].pageY - event.touches[1].pageY;\r\n\r\n var distance = Math.sqrt(dx * dx + dy * dy);\r\n this.m_DollyEnd.set(0, distance);\r\n if (distance > this.m_DollyStart.y)\r\n {\r\n this.m_Viewer.Zoom(0.95);\r\n }\r\n else\r\n {\r\n this.m_Viewer.Zoom(1.05)\r\n }\r\n this.m_DollyStart.copy(this.m_DollyEnd);\r\n break;\r\n }\r\n case CameraControlState.Rotate:\r\n {\r\n this.m_Viewer.Rotate(vec.multiplyScalar(2));\r\n break;\r\n }\r\n }\r\n this.m_StartClickPoint.copy(this.m_EndClickPoint);\r\n this.m_Viewer.m_bNeedUpdate = true;\r\n }\r\n beginRotate()\r\n {\r\n this.m_State = CameraControlState.Rotate;\r\n this.m_Viewer.UpdateLockTarget();\r\n }\r\n\r\n //最后一次按中键的时间\r\n lastMiddleClickTime = 0;\r\n //鼠标 \r\n onMouseDown = (event: MouseEvent) =>\r\n {\r\n event.preventDefault();\r\n let key: MouseKey = event.button;\r\n this.m_MouseDown.set(key, true);\r\n this.m_StartClickPoint.set(event.offsetX, event.offsetY, 0);\r\n\r\n switch (key)\r\n {\r\n case MouseKey.Left:\r\n {\r\n if (this.m_LeftUseRotate)\r\n {\r\n this.beginRotate();\r\n }\r\n break;\r\n }\r\n case MouseKey.Middle:\r\n {\r\n let curTime = Date.now();\r\n let t = curTime - this.lastMiddleClickTime;\r\n this.lastMiddleClickTime = curTime;\r\n if (t < 350)\r\n {\r\n this.m_Viewer.ZoomAll();\r\n return;\r\n }\r\n if (this.m_KeyDown.get(KeyBoard.Control))\r\n {\r\n this.beginRotate();\r\n }\r\n else\r\n {\r\n this.m_State = CameraControlState.Pan;\r\n }\r\n break;\r\n }\r\n case MouseKey.Right:\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n onMouseUp = (event: MouseEvent) =>\r\n {\r\n event.preventDefault();\r\n this.m_State = CameraControlState.Null;\r\n this.m_MouseDown.set(event.button, false);\r\n }\r\n onMouseMove = (event: MouseEvent) =>\r\n {\r\n event.preventDefault();\r\n this.m_EndClickPoint.set(event.offsetX, event.offsetY, 0);\r\n let changeVec = this.m_EndClickPoint.clone().sub(this.m_StartClickPoint);\r\n this.m_StartClickPoint.copy(this.m_EndClickPoint);\r\n if (\r\n (this.m_LeftUseRotate ||\r\n (this.m_KeyDown.get(KeyBoard.Control))\r\n )\r\n && this.m_State == CameraControlState.Rotate\r\n )\r\n {\r\n this.m_Viewer.Rotate(changeVec);\r\n }\r\n switch (this.m_State)\r\n {\r\n case CameraControlState.Pan:\r\n {\r\n this.m_Viewer.Pan(changeVec);\r\n break;\r\n }\r\n case CameraControlState.Rotate:\r\n {\r\n break;\r\n }\r\n case CameraControlState.Scale:\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n /**\r\n * 鼠标滚轮事件\r\n * \r\n * @memberof CameraControls\r\n */\r\n onMouseWheel = (event: WheelEvent) =>\r\n {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n let pt = new THREE.Vector3(event.offsetX, event.offsetY, 0);\r\n\r\n this.m_Viewer.ScreenToWorld(pt, new Vector3().setFromMatrixColumn(this.m_Viewer.m_Camera.Camera.matrixWorld, 2));\r\n if (event.deltaY < 0)\r\n {\r\n this.m_Viewer.Zoom(0.6, pt);\r\n }\r\n else if (event.deltaY > 0)\r\n {\r\n this.m_Viewer.Zoom(1.4, pt);\r\n }\r\n }\r\n //按键\r\n onKeyDown = (event: KeyboardEvent) =>\r\n {\r\n this.m_KeyDown.set(event.keyCode, true);\r\n }\r\n onKeyUp = (event: KeyboardEvent) =>\r\n {\r\n this.m_KeyDown.set(event.keyCode, false);\r\n }\r\n}\r\n","//鼠标类型\r\nexport enum MouseKey\r\n{\r\n Left = 0,\r\n Middle = 1,\r\n Right = 2,\r\n}\r\n\r\nexport enum KeyBoard\r\n{\r\n // 数字\r\n Digit1 = 49,\r\n Digit2 = 50,\r\n Digit3 = 51,\r\n Digit4 = 52,\r\n Digit5 = 53,\r\n Digit6 = 54,\r\n Digit7 = 55,\r\n Digit8 = 56,\r\n Digit9 = 57,\r\n Digit0 = 58,\r\n // 字母\r\n KeyA = 65,\r\n KeyB = 66,\r\n KeyC = 67,\r\n KeyD = 68,\r\n KeyE = 69,\r\n KeyF = 70,\r\n KeyG = 71,\r\n KeyH = 72,\r\n KeyI = 73,\r\n KeyJ = 74,\r\n KeyK = 75,\r\n KeyL = 76,\r\n KeyM = 77,\r\n KeyN = 78,\r\n KeyO = 79,\r\n KeyP = 80,\r\n KeyQ = 81,\r\n KeyR = 82,\r\n KeyS = 83,\r\n KeyT = 84,\r\n KeyU = 85,\r\n KeyV = 86,\r\n KeyW = 87,\r\n KeyX = 88,\r\n KeyY = 89,\r\n KeyZ = 90,\r\n\r\n // 符号\r\n /**\r\n * 逗号\r\n */\r\n Comma = 188,\r\n CommaChrome = 229,\r\n /**\r\n * 句号\r\n */\r\n Period = 190,\r\n /**\r\n * 分号\r\n */\r\n Semicolon = 186,\r\n /**\r\n * 引号\r\n */\r\n Quote = 222,\r\n /**\r\n * 左括号\r\n */\r\n BracketLeft = 219,\r\n /**\r\n * 右括号\r\n */\r\n BracketRight = 220,\r\n /**\r\n * 反引号\r\n */\r\n Backquote = 192,\r\n /**\r\n * 反斜杠\r\n */\r\n Backslash = 220,\r\n /**\r\n * 减号\r\n */\r\n Minus = 189,\r\n /**\r\n * 等号\r\n */\r\n Equal = 187,\r\n IntlRo = 193,\r\n IntlYen = 255,\r\n // 功能键\r\n Alt = 18,\r\n /**\r\n * 大写锁定\r\n */\r\n CapsLock = 20,\r\n Control = 17,\r\n /**\r\n * win左键\r\n */\r\n OSLeft = 91,\r\n /**\r\n * win右键\r\n */\r\n OSRight = 92,\r\n Shift = 16,\r\n\r\n ContextMenu = 93,\r\n Enter = 13,\r\n Space = 32,\r\n Backspace = 8,\r\n Tab = 9,\r\n Delete = 46,\r\n End = 35,\r\n Home = 36,\r\n Insert = 45,\r\n PageDown = 34,\r\n PageUp = 33,\r\n ArrowDown = 40,\r\n ArrowLeft = 37,\r\n ArrowRight = 39,\r\n ArrowUp = 38,\r\n Escape = 27,\r\n PrintScreen = 44,\r\n ScrollLock = 145,\r\n Pause = 19,\r\n\r\n // F数字\r\n F1 = 112,\r\n F2 = 113,\r\n F3 = 114,\r\n F5 = 116,\r\n F6 = 117,\r\n F7 = 118,\r\n F8 = 119,\r\n F9 = 120,\r\n F10 = 121,\r\n F11 = 122,\r\n F12 = 123,\r\n\r\n //数字键盘\r\n NumLock = 114,\r\n Numpad0 = 96,\r\n Numpad1 = 97,\r\n Numpad2 = 98,\r\n Numpad3 = 99,\r\n Numpad4 = 100,\r\n Numpad5 = 101,\r\n Numpad6 = 102,\r\n Numpad7 = 103,\r\n Numpad8 = 104,\r\n Numpad9 = 105,\r\n NumpadAdd = 107,\r\n NumpadDivide = 111,\r\n NumpadEqual = 12,\r\n NumpadMultiply = 106,\r\n NumpadSubtract = 109,\r\n NumpadDot = 110,\r\n NumpadDot1 = 190\r\n\r\n}\r\n","import * as THREE from 'three';\r\nimport { CylinderGeometry, Geometry, LineSegments, Mesh, Shape, Vector2 } from 'three';\r\nimport { ColorMaterial } from './ColorPalette';\r\nimport { polar } from './GeUtils';\r\nimport { boardMaterial, edgeMaterial } from './Material';\r\nimport { RotateUVs } from './RotateUV';\r\nimport { ThreeBSP } from './ThreeCSG';\r\n//解析二维圆弧类.\r\nexport class Arc2d\r\n{\r\n m_StartAn: number;\r\n m_EndAn: number;\r\n m_StartPoint: THREE.Vector2;\r\n m_EndPoint: THREE.Vector2;\r\n m_Center: THREE.Vector2;\r\n m_Radius: number;\r\n constructor(p1: THREE.Vector2, p2: THREE.Vector2, bul: number)\r\n {\r\n this.m_StartPoint = p1.clone();\r\n this.m_EndPoint = p2.clone();\r\n\r\n let vec: THREE.Vector2 = p2.clone().sub(p1);\r\n let len = vec.length();\r\n let an = vec.angle();\r\n this.m_Radius = len / Math.sin(2 * Math.atan(bul)) / 2;\r\n let allAngle = Math.atan(bul) * 4;\r\n let delDis = bul * len / 2;\r\n let toDis = this.m_Radius - delDis;\r\n an += Math.PI * 0.5;\r\n\r\n this.m_Center = p1.clone().add(p2);\r\n this.m_Center.multiplyScalar(0.5);\r\n\r\n polar(this.m_Center, an, toDis);\r\n\r\n this.m_StartAn = p1.clone().sub(this.m_Center).angle();\r\n this.m_EndAn = p2.clone().sub(this.m_Center).angle();\r\n if (bul < 0)\r\n {\r\n //一个神奇的特性 它需要这么做\r\n this.m_StartAn -= Math.PI;\r\n this.m_EndAn -= Math.PI;\r\n }\r\n }\r\n}\r\n\r\n//创建轮廓 通过点表和凸度 \r\nexport function createPath(pts: Vector2[], buls: number[], shapeOut?: Shape): Shape\r\n{\r\n let shape = shapeOut || new Shape();\r\n if (pts.length === 0) return shape;\r\n let firstPt = pts[0];\r\n\r\n shape.moveTo(firstPt.x, firstPt.y);\r\n for (let i = 0; i < pts.length - 1; i++)\r\n {\r\n let nextPt = pts[i + 1];\r\n if (buls[i] == 0)\r\n {\r\n shape.lineTo(nextPt.x, nextPt.y)\r\n }\r\n else\r\n {\r\n let pt = pts[i];\r\n //参考\r\n //http://www.dorodnic.com/blog/tag/three-js/ 绘制一个齿轮\r\n //https://www.kirupa.com/html5/drawing_circles_canvas.htm //html5\r\n let arc2 = new Arc2d(pt, nextPt, buls[i]);\r\n let cen = arc2.m_Center;\r\n shape.absarc(cen.x, cen.y, arc2.m_Radius, arc2.m_StartAn, arc2.m_EndAn, buls[i] < 0);\r\n }\r\n }\r\n return shape;\r\n}\r\nexport function getVec(data: object): THREE.Vector3\r\n{\r\n return new THREE.Vector3(data[\"x\"], data[\"y\"], data[\"z\"]);\r\n}\r\n\r\n//创建板件 暂时这么写\r\nexport function createBoard(boardData: object)\r\n{\r\n let pts: THREE.Vector2[] = [];\r\n let buls: number[] = [];\r\n let boardPts = boardData[\"Pts\"];\r\n let boardBuls = boardData[\"Buls\"];\r\n\r\n let boardHeight = boardData[\"H\"];\r\n\r\n let boardMat = new THREE.Matrix4();\r\n let matInv: THREE.Matrix4 = new THREE.Matrix4();\r\n //InitBoardMat\r\n let xD = getVec(boardData[\"XVec\"]);\r\n let yD = getVec(boardData[\"YVec\"]);\r\n let ZD = getVec(boardData[\"ZVec\"]);\r\n let pBase = getVec(boardData[\"BasePoint\"]);\r\n\r\n boardMat.makeBasis(xD, yD, ZD);\r\n boardMat.setPosition(pBase);\r\n matInv.getInverse(boardMat, true);\r\n\r\n if (boardPts && boardPts.length !== 0)\r\n for (let i = 0; i < boardPts.length; i++)\r\n {\r\n let pt = getVec(boardPts[i]);\r\n if (boardPts[i].z !== undefined)\r\n pt.applyMatrix4(matInv);\r\n pts.push(new THREE.Vector2(pt.x, pt.y));\r\n buls.push(boardBuls[i]);\r\n }\r\n else\r\n {\r\n let length = boardData[\"L\"];\r\n let width = boardData[\"W\"];\r\n let height = boardData[\"H\"];\r\n pts.push(new Vector2(0, 0),\r\n new Vector2(width, 0),\r\n new Vector2(width, length),\r\n new Vector2(0, length),\r\n new Vector2(0, 0)\r\n );\r\n buls.push(0, 0, 0, 0, 0);\r\n }\r\n\r\n let sp = createPath(pts, buls);\r\n let extrudeSettings = {\r\n steps: 1,\r\n bevelEnabled: false,\r\n amount: boardHeight\r\n };\r\n\r\n let ext = new THREE.ExtrudeGeometry(sp, extrudeSettings) as Geometry;\r\n ext.computeBoundingSphere();\r\n ext.computeBoundingBox();\r\n ext.translate(0, 0, -boardHeight)\r\n ext.applyMatrix(boardMat);\r\n\r\n //外边.\r\n let edges: (LineSegments | Mesh)[] = [createEdge(ext)];\r\n\r\n //差集\r\n if (checkObjectArray(boardData, \"SubBoardLocal\")\r\n || checkObjectArray(boardData, \"Drillings\"))\r\n {\r\n let thisCsg = new ThreeBSP(ext);\r\n\r\n if (boardData[\"SubBoardLocal\"])\r\n {\r\n let subBoardList = boardData[\"SubBoardLocal\"].map(d => createBoard(d));\r\n for (let br of subBoardList)\r\n {\r\n edges.push(...br.edges);\r\n let subCsg = new ThreeBSP(br.mesh);\r\n thisCsg = thisCsg.subtract(subCsg);\r\n }\r\n }\r\n if (boardData[\"Drillings\"])\r\n {\r\n let dris = boardData[\"Drillings\"];\r\n for (let dri of dris)\r\n {\r\n let geo = new CylinderGeometry(dri.r, dri.r, dri.h, 8);\r\n geo.rotateX(Math.PI * 0.5);\r\n\r\n if (dri.f === 0) //0正\r\n geo.translate(dri.x, dri.y, -dri.h * 0.5);\r\n else //1反\r\n geo.translate(dri.x, dri.y, dri.h * 0.5 - boardData[\"H\"]);\r\n\r\n geo.applyMatrix(boardMat);\r\n\r\n let mesh = new Mesh(geo, ColorMaterial.GetBasicMaterial(1));\r\n edges.push(mesh);\r\n // let edge = createEdge(geo);\r\n // edge.material = new LineBasicMaterial({ color: new Color(1, 0, 0) });\r\n // edges.push(edge);\r\n\r\n // let subCsg = new ThreeBSP(geo);\r\n // thisCsg = thisCsg.subtract(subCsg);\r\n }\r\n }\r\n ext = thisCsg.toGeometry();\r\n }\r\n\r\n if (boardData[\"BoardName\"] === \"地脚线\")\r\n RotateUVs(ext);\r\n\r\n let mesh = new THREE.Mesh(ext, boardMaterial);\r\n mesh.userData = ZD;\r\n edges.forEach(e => e.userData = ZD);\r\n return { mesh, edges };\r\n}\r\n\r\nfunction checkObjectArray(obj: any, key: string)\r\n{\r\n return obj[key] && obj[key].length > 0;\r\n}\r\n\r\nexport function createTemplateBoard(brDataList: any[])\r\n{\r\n let meshs = [];\r\n let edgesa = [];\r\n for (let d of brDataList)\r\n {\r\n let { mesh, edges } = createBoard(d);\r\n meshs.push(mesh);\r\n edgesa.push(...edges);\r\n }\r\n return { meshs, edgesa };\r\n}\r\n\r\nexport function createEdge(geo: Geometry): LineSegments\r\n{\r\n let edge = new THREE.EdgesGeometry(geo, 1);\r\n return new LineSegments(edge, edgeMaterial);\r\n}\r\n","import { Matrix2 } from './Matrix2';\r\nimport { Geometry, Vector2 } from 'three';\r\n\r\n\r\nexport function RotateUVs(geo: Geometry)\r\n{\r\n let roMat = new Matrix2();\r\n roMat.set(0, -1,\r\n 1, 0);\r\n\r\n let addV = new Vector2(1, 0);\r\n\r\n for (let uvs of geo.faceVertexUvs)\r\n {\r\n for (let uv of uvs)\r\n {\r\n for (let v of uv)\r\n {\r\n roMat.applyVector(v);\r\n v.add(addV);\r\n }\r\n }\r\n }\r\n geo.uvsNeedUpdate = true;\r\n}\r\n","import * as THREE from \"three\";\r\n\r\n/*jshint esversion: 6 */\r\n\r\nconst EPSILON = 1e-5,\r\n COPLANAR = 0, //共面\r\n FRONT = 1, //前\r\n BACK = 2,\r\n SPANNING = 3;\r\n\r\nexport class ThreeBSP\r\n{\r\n tree: Node;\r\n matrix: THREE.Matrix4;\r\n Node: typeof Node;\r\n Vertex: typeof Vertex;\r\n Polygon: typeof Polygon;\r\n constructor(geometry)\r\n {\r\n // Convert THREE.Geometry to ThreeBSP\r\n let i, _length_i,\r\n face, vertex, faceVertexUvs, uvs,\r\n polygon,\r\n polygons = [],\r\n tree;\r\n\r\n this.Polygon = Polygon;\r\n this.Vertex = Vertex;\r\n this.Node = Node;\r\n if (geometry instanceof THREE.Geometry)\r\n {\r\n this.matrix = new THREE.Matrix4();\r\n } else if (geometry instanceof THREE.Mesh)\r\n {\r\n // #todo: add hierarchy support\r\n geometry.updateMatrix();\r\n this.matrix = geometry.matrix.clone();\r\n geometry = geometry.geometry;\r\n } else if (geometry instanceof Node)\r\n {\r\n this.tree = geometry;\r\n this.matrix = new THREE.Matrix4();\r\n return this;\r\n } else\r\n {\r\n throw 'ThreeBSP: Given geometry is unsupported';\r\n }\r\n\r\n for (i = 0, _length_i = geometry.faces.length; i < _length_i; i++)\r\n {\r\n face = geometry.faces[i];\r\n faceVertexUvs = geometry.faceVertexUvs[0][i];\r\n polygon = new Polygon();\r\n\r\n if (face instanceof THREE.Face3)\r\n {\r\n vertex = geometry.vertices[face.a];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n\r\n vertex = geometry.vertices[face.b];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n\r\n vertex = geometry.vertices[face.c];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n } else if (typeof THREE.Face4)\r\n {\r\n vertex = geometry.vertices[face.a];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n\r\n vertex = geometry.vertices[face.b];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n\r\n vertex = geometry.vertices[face.c];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n\r\n vertex = geometry.vertices[face.d];\r\n uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[3].x, faceVertexUvs[3].y) : null;\r\n vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[3], uvs);\r\n vertex.applyMatrix4(this.matrix);\r\n polygon.vertices.push(vertex);\r\n } else\r\n {\r\n throw 'Invalid face type at index ' + i;\r\n }\r\n\r\n polygon.calculateProperties();\r\n polygons.push(polygon);\r\n }\r\n\r\n this.tree = new Node(polygons);\r\n }\r\n\r\n //减\r\n subtract(other_tree)\r\n {\r\n let a = this.tree.clone(),\r\n b = other_tree.tree.clone();\r\n\r\n a.invert();\r\n a.clipTo(b);\r\n b.clipTo(a);\r\n b.invert();\r\n b.clipTo(a);\r\n b.invert();\r\n a.build(b.allPolygons());\r\n a.invert();\r\n let bsp = new ThreeBSP(a);\r\n bsp.matrix = this.matrix;\r\n return bsp;\r\n }\r\n\r\n //结合\r\n union(other_tree)\r\n {\r\n let a = this.tree.clone(),\r\n b = other_tree.tree.clone();\r\n\r\n a.clipTo(b);\r\n b.clipTo(a);\r\n b.invert();\r\n b.clipTo(a);\r\n b.invert();\r\n a.build(b.allPolygons());\r\n let bsp = new ThreeBSP(a);\r\n bsp.matrix = this.matrix;\r\n return bsp;\r\n }\r\n\r\n //相交\r\n intersect(other_tree)\r\n {\r\n let a = this.tree.clone(),\r\n b = other_tree.tree.clone();\r\n\r\n a.invert();\r\n b.clipTo(a);\r\n b.invert();\r\n a.clipTo(b);\r\n b.clipTo(a);\r\n a.build(b.allPolygons());\r\n a.invert();\r\n let bsp = new ThreeBSP(a);\r\n bsp.matrix = this.matrix;\r\n return bsp;\r\n }\r\n\r\n toGeometry()\r\n {\r\n let i, j,\r\n matrix = new THREE.Matrix4().getInverse(this.matrix),\r\n geometry = new THREE.Geometry(),\r\n polygons = this.tree.allPolygons(),\r\n polygon_count = polygons.length,\r\n polygon, polygon_vertice_count,\r\n vertice_dict = {},\r\n vertex_idx_a, vertex_idx_b, vertex_idx_c,\r\n vertex, face,\r\n verticeUvs;\r\n\r\n for (i = 0; i < polygon_count; i++)\r\n {\r\n polygon = polygons[i];\r\n polygon_vertice_count = polygon.vertices.length;\r\n\r\n for (j = 2; j < polygon_vertice_count; j++)\r\n {\r\n verticeUvs = [];\r\n\r\n vertex = polygon.vertices[0];\r\n verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y));\r\n vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z);\r\n vertex.applyMatrix4(matrix);\r\n\r\n if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined')\r\n {\r\n vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z];\r\n } else\r\n {\r\n geometry.vertices.push(vertex);\r\n vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1;\r\n }\r\n\r\n vertex = polygon.vertices[j - 1];\r\n verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y));\r\n vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z);\r\n vertex.applyMatrix4(matrix);\r\n if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined')\r\n {\r\n vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z];\r\n } else\r\n {\r\n geometry.vertices.push(vertex);\r\n vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1;\r\n }\r\n\r\n vertex = polygon.vertices[j];\r\n verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y));\r\n vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z);\r\n vertex.applyMatrix4(matrix);\r\n if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined')\r\n {\r\n vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z];\r\n } else\r\n {\r\n geometry.vertices.push(vertex);\r\n vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1;\r\n }\r\n\r\n face = new THREE.Face3(\r\n vertex_idx_a,\r\n vertex_idx_b,\r\n vertex_idx_c,\r\n new THREE.Vector3(polygon.normal.x, polygon.normal.y, polygon.normal.z)\r\n );\r\n\r\n geometry.faces.push(face);\r\n geometry.faceVertexUvs[0].push(verticeUvs);\r\n }\r\n\r\n }\r\n return geometry;\r\n }\r\n\r\n toMesh(material)\r\n {\r\n let geometry = this.toGeometry(),\r\n mesh = new THREE.Mesh(geometry, material);\r\n\r\n mesh.position.setFromMatrixPosition(this.matrix);\r\n mesh.rotation.setFromRotationMatrix(this.matrix);\r\n\r\n return mesh;\r\n }\r\n}\r\n\r\n//多边形\r\nexport class Polygon\r\n{\r\n w: any;\r\n normal: any;\r\n vertices: any;\r\n constructor(vertices?, normal?, w?)\r\n {\r\n if (!(vertices instanceof Array))\r\n {\r\n vertices = [];\r\n }\r\n\r\n this.vertices = vertices;\r\n if (vertices.length > 0)\r\n {\r\n this.calculateProperties();\r\n } else\r\n {\r\n this.normal = this.w = undefined;\r\n }\r\n }\r\n\r\n calculateProperties()\r\n {\r\n let a = this.vertices[0],\r\n b = this.vertices[1],\r\n c = this.vertices[2];\r\n\r\n this.normal = b.clone().subtract(a).cross(\r\n c.clone().subtract(a)\r\n ).normalize();\r\n\r\n this.w = this.normal.clone().dot(a);\r\n\r\n return this;\r\n }\r\n\r\n clone()\r\n {\r\n let i, vertice_count,\r\n polygon = new Polygon();\r\n\r\n for (i = 0, vertice_count = this.vertices.length; i < vertice_count; i++)\r\n {\r\n polygon.vertices.push(this.vertices[i].clone());\r\n }\r\n polygon.calculateProperties();\r\n\r\n return polygon;\r\n }\r\n\r\n flip()\r\n {\r\n let i, vertices = [];\r\n\r\n this.normal.multiplyScalar(-1);\r\n this.w *= -1;\r\n\r\n for (i = this.vertices.length - 1; i >= 0; i--)\r\n {\r\n vertices.push(this.vertices[i]);\r\n }\r\n this.vertices = vertices;\r\n\r\n return this;\r\n }\r\n\r\n //划分?\r\n classifyVertex(vertex)\r\n {\r\n let side_value = this.normal.dot(vertex) - this.w;\r\n\r\n if (side_value < -EPSILON)\r\n {\r\n return BACK;\r\n } else if (side_value > EPSILON)\r\n {\r\n return FRONT;\r\n } else\r\n {\r\n return COPLANAR;\r\n }\r\n }\r\n\r\n //划分边?\r\n classifySide(polygon)\r\n {\r\n let i, vertex, classification,\r\n num_positive = 0,\r\n num_negative = 0,\r\n vertice_count = polygon.vertices.length;\r\n\r\n for (i = 0; i < vertice_count; i++)\r\n {\r\n vertex = polygon.vertices[i];\r\n classification = this.classifyVertex(vertex);\r\n if (classification === FRONT)\r\n {\r\n num_positive++;\r\n } else if (classification === BACK)\r\n {\r\n num_negative++;\r\n }\r\n }\r\n\r\n if (num_positive > 0 && num_negative === 0)\r\n {\r\n return FRONT;\r\n } else if (num_positive === 0 && num_negative > 0)\r\n {\r\n return BACK;\r\n } else if (num_positive === 0 && num_negative === 0)\r\n {\r\n return COPLANAR;\r\n } else\r\n {\r\n return SPANNING;\r\n }\r\n }\r\n\r\n //分解 分离 区域?\r\n splitPolygon(polygon, coplanar_front, coplanar_back, front, back)\r\n {\r\n let classification = this.classifySide(polygon);\r\n\r\n if (classification === COPLANAR)\r\n {\r\n\r\n (this.normal.dot(polygon.normal) > 0 ? coplanar_front : coplanar_back).push(polygon);\r\n\r\n } else if (classification === FRONT)\r\n {\r\n\r\n front.push(polygon);\r\n\r\n } else if (classification === BACK)\r\n {\r\n\r\n back.push(polygon);\r\n\r\n } else\r\n {\r\n\r\n let vertice_count,\r\n i, j, ti, tj, vi, vj,\r\n t, v,\r\n f = [],\r\n b = [];\r\n\r\n for (i = 0, vertice_count = polygon.vertices.length; i < vertice_count; i++)\r\n {\r\n\r\n j = (i + 1) % vertice_count;\r\n vi = polygon.vertices[i];\r\n vj = polygon.vertices[j];\r\n ti = this.classifyVertex(vi);\r\n tj = this.classifyVertex(vj);\r\n\r\n if (ti != BACK) f.push(vi);\r\n if (ti != FRONT) b.push(vi);\r\n if ((ti | tj) === SPANNING)\r\n {\r\n t = (this.w - this.normal.dot(vi)) / this.normal.dot(vj.clone().subtract(vi));\r\n v = vi.interpolate(vj, t);\r\n f.push(v);\r\n b.push(v);\r\n }\r\n }\r\n\r\n\r\n if (f.length >= 3) front.push(new Polygon(f).calculateProperties());\r\n if (b.length >= 3) back.push(new Polygon(b).calculateProperties());\r\n }\r\n }\r\n}\r\n\r\nexport class Vertex\r\n{\r\n uv: any;\r\n normal: any;\r\n z: any;\r\n y: any;\r\n x: any;\r\n constructor(x: number, y: number, z: number, normal: THREE.Vector3, uv: THREE.Vector2)\r\n {\r\n this.x = x;\r\n this.y = y;\r\n this.z = z;\r\n this.normal = normal || new THREE.Vector3();\r\n this.uv = uv || new THREE.Vector2();\r\n }\r\n\r\n clone()\r\n {\r\n return new Vertex(this.x, this.y, this.z, this.normal.clone(), this.uv.clone());\r\n }\r\n\r\n add(vertex)\r\n {\r\n this.x += vertex.x;\r\n this.y += vertex.y;\r\n this.z += vertex.z;\r\n return this;\r\n }\r\n\r\n subtract(vertex)\r\n {\r\n this.x -= vertex.x;\r\n this.y -= vertex.y;\r\n this.z -= vertex.z;\r\n return this;\r\n }\r\n\r\n multiplyScalar(scalar)\r\n {\r\n this.x *= scalar;\r\n this.y *= scalar;\r\n this.z *= scalar;\r\n return this;\r\n }\r\n\r\n //×乘\r\n cross(vertex)\r\n {\r\n let x = this.x,\r\n y = this.y,\r\n z = this.z;\r\n\r\n this.x = y * vertex.z - z * vertex.y;\r\n this.y = z * vertex.x - x * vertex.z;\r\n this.z = x * vertex.y - y * vertex.x;\r\n\r\n return this;\r\n }\r\n\r\n normalize()\r\n {\r\n let length = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);\r\n\r\n this.x /= length;\r\n this.y /= length;\r\n this.z /= length;\r\n\r\n return this;\r\n }\r\n\r\n //点乘\r\n dot(vertex)\r\n {\r\n return this.x * vertex.x + this.y * vertex.y + this.z * vertex.z;\r\n }\r\n\r\n //线性插值\r\n lerp(a, t)\r\n {\r\n this.add(\r\n a.clone().subtract(this).multiplyScalar(t)\r\n );\r\n\r\n this.normal.add(\r\n a.normal.clone().sub(this.normal).multiplyScalar(t)\r\n );\r\n\r\n this.uv.add(\r\n a.uv.clone().sub(this.uv).multiplyScalar(t)\r\n );\r\n\r\n return this;\r\n }\r\n\r\n //插值\r\n interpolate(other, t)\r\n {\r\n return this.clone().lerp(other, t);\r\n }\r\n\r\n applyMatrix4(m)\r\n {\r\n\r\n // input: THREE.Matrix4 affine matrix\r\n\r\n let x = this.x, y = this.y, z = this.z;\r\n\r\n let e = m.elements;\r\n\r\n this.x = e[0] * x + e[4] * y + e[8] * z + e[12];\r\n this.y = e[1] * x + e[5] * y + e[9] * z + e[13];\r\n this.z = e[2] * x + e[6] * y + e[10] * z + e[14];\r\n\r\n return this;\r\n\r\n }\r\n}\r\nexport class Node\r\n{\r\n divider: any;\r\n back: any;\r\n front: any;\r\n polygons: any[];\r\n constructor(polygons?)\r\n {\r\n let i, polygon_count,\r\n front = [],\r\n back = [];\r\n\r\n this.polygons = [];\r\n this.front = this.back = undefined;\r\n\r\n if (!(polygons instanceof Array) || polygons.length === 0) return;\r\n\r\n this.divider = polygons[0].clone();\r\n\r\n for (i = 0, polygon_count = polygons.length; i < polygon_count; i++)\r\n {\r\n this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back);\r\n }\r\n\r\n if (front.length > 0)\r\n {\r\n this.front = new Node(front);\r\n }\r\n\r\n if (back.length > 0)\r\n {\r\n this.back = new Node(back);\r\n }\r\n }\r\n\r\n //是凸的? 凸包?\r\n isConvex(polygons)\r\n {\r\n let i, j;\r\n for (i = 0; i < polygons.length; i++)\r\n {\r\n for (j = 0; j < polygons.length; j++)\r\n {\r\n if (i !== j && polygons[i].classifySide(polygons[j]) !== BACK)\r\n {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n build(polygons)\r\n {\r\n let i, polygon_count,\r\n front = [],\r\n back = [];\r\n\r\n if (!this.divider)\r\n {\r\n this.divider = polygons[0].clone();\r\n }\r\n\r\n for (i = 0, polygon_count = polygons.length; i < polygon_count; i++)\r\n {\r\n this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back);\r\n }\r\n\r\n if (front.length > 0)\r\n {\r\n if (!this.front) this.front = new Node();\r\n this.front.build(front);\r\n }\r\n\r\n if (back.length > 0)\r\n {\r\n if (!this.back) this.back = new Node();\r\n this.back.build(back);\r\n }\r\n }\r\n\r\n allPolygons()\r\n {\r\n let polygons = this.polygons.slice();\r\n if (this.front) polygons = polygons.concat(this.front.allPolygons());\r\n if (this.back) polygons = polygons.concat(this.back.allPolygons());\r\n return polygons;\r\n }\r\n\r\n clone()\r\n {\r\n let node = new Node();\r\n\r\n node.divider = this.divider.clone();\r\n node.polygons = this.polygons.map(function (polygon)\r\n {\r\n return polygon.clone();\r\n });\r\n node.front = this.front && this.front.clone();\r\n node.back = this.back && this.back.clone();\r\n\r\n return node;\r\n }\r\n\r\n //反转\r\n invert()\r\n {\r\n let i, polygon_count, temp;\r\n\r\n for (i = 0, polygon_count = this.polygons.length; i < polygon_count; i++)\r\n {\r\n this.polygons[i].flip();\r\n }\r\n\r\n this.divider.flip();\r\n if (this.front) this.front.invert();\r\n if (this.back) this.back.invert();\r\n\r\n temp = this.front;\r\n this.front = this.back;\r\n this.back = temp;\r\n\r\n return this;\r\n }\r\n\r\n //\r\n clipPolygons(polygons)\r\n {\r\n let i, polygon_count,\r\n front, back;\r\n\r\n if (!this.divider) return polygons.slice();\r\n\r\n front = [];\r\n back = [];\r\n\r\n for (i = 0, polygon_count = polygons.length; i < polygon_count; i++)\r\n {\r\n this.divider.splitPolygon(polygons[i], front, back, front, back);\r\n }\r\n\r\n if (this.front) front = this.front.clipPolygons(front);\r\n if (this.back) back = this.back.clipPolygons(back);\r\n else back = [];\r\n\r\n return front.concat(back);\r\n }\r\n\r\n clipTo(node)\r\n {\r\n this.polygons = node.clipPolygons(this.polygons);\r\n if (this.front) this.front.clipTo(node);\r\n if (this.back) this.back.clipTo(node);\r\n }\r\n}\r\n","import { Group, Geometry, Vector3, Line, Matrix4 } from \"three\";\r\nimport { ColorMaterial } from \"./ColorPalette\";\r\nimport { DbText } from \"./Text\";\r\nimport { MoveMatrix } from \"./GeUtils\";\r\n\r\n/**\r\n * 标注实体\r\n * \r\n * @export\r\n * @class Dimension\r\n * @extends {Group}\r\n */\r\nexport class Dimension extends Group\r\n{\r\n\r\n constructor(length: number, textHeight: number = 25, mirror: boolean = false, mirrorFoot: boolean = false)\r\n {\r\n super();\r\n let footLength = 60;\r\n if (mirrorFoot)\r\n {\r\n footLength = -footLength;\r\n }\r\n\r\n //针脚几何体\r\n let lineGeo = new Geometry();\r\n lineGeo.vertices.push(new Vector3(), new Vector3(0, footLength, 0));\r\n\r\n //托盘几何体\r\n let lineGeo2 = new Geometry();\r\n lineGeo2.vertices.push(new Vector3(0, footLength), new Vector3(length, footLength, 0));\r\n\r\n let material = ColorMaterial.GetLineMaterial(5)\r\n\r\n let line1 = new Line(lineGeo, material);\r\n let line2 = new Line(lineGeo, material);\r\n line2.position.x = length;\r\n\r\n let line3 = new Line(lineGeo2, material);\r\n\r\n let text = new DbText(parseFloat(length.toFixed(2)).toString(), textHeight);\r\n if (mirror)\r\n {\r\n let roMat = new Matrix4().makeRotationZ(Math.PI);\r\n text.applyMatrix(roMat);\r\n text.applyMatrix(MoveMatrix(new Vector3(length * 0.5, footLength - textHeight * 0.1)));\r\n }\r\n else\r\n {\r\n text.applyMatrix(MoveMatrix(new Vector3(length * 0.5, footLength * 1.1)));\r\n }\r\n\r\n\r\n this.add(text);\r\n\r\n this.add(line1, line2, line3);\r\n }\r\n}\r\n","import { Font, FontLoader, Mesh, ShapeGeometry, Vector3 } from \"three\";\r\nimport { ColorMaterial } from \"./ColorPalette\";\r\nimport { MoveMatrix } from \"./GeUtils\";\r\n\r\nclass FontLoaderUtil\r\n{\r\n private static defFont: Font;\r\n static Load(): Font\r\n {\r\n if (!this.defFont)\r\n {\r\n const f = require(\"../resources/fonts/helvetiker_regular.typeface.json\");\r\n let loader = new FontLoader();\r\n this.defFont = loader.parse(f);\r\n }\r\n return this.defFont;\r\n }\r\n}\r\n\r\nexport class DbText extends Mesh\r\n{\r\n /**\r\n *\r\n * 构造一个文本对象,8位点(中心点下面)在0点\r\n * @param {string} str 数字字符串\r\n * @param {number} height 文本高度\r\n * @memberof DbText\r\n */\r\n constructor(str: string, height: number = 5)\r\n {\r\n let font = FontLoaderUtil.Load();\r\n\r\n let shapes: THREE.Shape[] = font.generateShapes(str, height, 0.1);\r\n let geometry = new ShapeGeometry(shapes);\r\n\r\n geometry.computeBoundingBox();\r\n\r\n super(geometry, ColorMaterial.GetBasicMaterial(5));\r\n\r\n let center = geometry.boundingBox.getCenter(new Vector3());\r\n this.applyMatrix(MoveMatrix(new Vector3(-center.x, 0, 0)));\r\n }\r\n}\r\n","import { Box3, Vector3, Matrix4, Mesh } from \"three\";\r\nimport { Dimension, GetBoxArr } from \".\";\r\n\r\n\r\n/**\r\n * 绘制标注实体\r\n * \r\n * @export\r\n * @param {Box3} box \r\n * @returns 标注实体列表\r\n */\r\nexport function DrawDimension(brList: Mesh[]): Dimension[]\r\n{\r\n let box = GetBoxArr(brList);\r\n let size = box.getSize(new Vector3());\r\n\r\n let mat4 = new Matrix4();\r\n mat4.makeBasis(\r\n new Vector3(-1, 0, 0),\r\n new Vector3(0, -1, 0),\r\n new Vector3(0, 0, 1)\r\n )\r\n mat4.setPosition(box.min.clone().add(new Vector3(size.x, -30)));\r\n\r\n let textHeight = 45;\r\n let dimx = new Dimension(size.x, textHeight, true);\r\n dimx.applyMatrix(mat4);\r\n\r\n let dimz = new Dimension(size.z, textHeight);\r\n mat4.makeBasis(\r\n new Vector3(0, 0, -1),\r\n new Vector3(1, 0, 0),\r\n new Vector3(0, -1, 0)\r\n )\r\n mat4.setPosition(box.max.clone().add(new Vector3(30, -size.y)));\r\n dimz.applyMatrix(mat4);\r\n\r\n let dimy = new Dimension(size.y, textHeight, true, true);\r\n mat4.makeBasis(\r\n new Vector3(0, 1, 0),\r\n new Vector3(-1, 0, 0),\r\n new Vector3(0, 0, 1)\r\n )\r\n mat4.setPosition(box.max.clone().add(new Vector3(30, -size.y)));\r\n dimy.applyMatrix(mat4);\r\n\r\n\r\n return [dimx, dimy, dimz];\r\n}\r\n","import { Object3D, Raycaster, Face3, Vector3, Vector2, Mesh } from \"three\";\r\nimport { Viewer } from \".\";\r\n\r\ninterface Intersect\r\n{\r\n distance: number;\r\n face: Face3;\r\n faceIndex: number;\r\n object: Object3D;\r\n point: Vector3;\r\n uv: Vector2;\r\n}\r\n\r\n\r\n/**\r\n * 点选\r\n * \r\n * @export\r\n * @param {Viewer} view \r\n * @param {number} ptx \r\n * @param {number} pty \r\n * @returns {(Mesh | undefined)} \r\n */\r\nexport function PointPick(view: Viewer, ptx: number, pty: number): Mesh | undefined\r\n{\r\n let raycaster = new Raycaster();\r\n raycaster.setFromCamera({\r\n x: (ptx / view._Width) * 2 - 1, //-1 到 1 所以 (x-(w/2))/(w/2) =>\r\n y: - (pty / view._Height) * 2 + 1 //y轴相反\r\n }, view.m_Camera.Camera);\r\n\r\n //https://github.com/mrdoob/three.js/issues/14128\r\n raycaster.ray.origin.set((ptx / view._Width) * 2 - 1, - (pty / view._Height) * 2 + 1, -1).unproject(view.m_Camera.Camera);\r\n\r\n\r\n let minDis = Infinity;\r\n let minObj = undefined;\r\n\r\n view.m_Scene.children.forEach(obj =>\r\n {\r\n if (obj instanceof Mesh)\r\n {\r\n let intersects: Intersect[] = [];\r\n obj.raycast(raycaster, intersects);\r\n\r\n for (let i of intersects)\r\n {\r\n if (i.distance < minDis)\r\n {\r\n minObj = obj;\r\n minDis = i.distance;\r\n }\r\n }\r\n }\r\n });\r\n\r\n return minObj;\r\n}\r\n","import { Object3D } from \"three\";\r\nimport { createTemplateBoard, DrawDimension, Viewer } from \".\";\r\n\r\nfunction dispose(m: Object3D)\r\n{\r\n //@ts-ignore\r\n if (m.geometry)\r\n //@ts-ignore\r\n m.geometry.dispose();\r\n\r\n m.children.forEach(o => dispose(o));\r\n}\r\n\r\nexport function LoadBoard(view: Viewer, data: any[], clear: boolean = true)\r\n{\r\n if (clear)\r\n {\r\n dispose(view.m_Scene);\r\n view.m_Scene.children.length = 0;\r\n }\r\n\r\n if (data.length === 0) return;\r\n //加板\r\n let { meshs, edgesa } = createTemplateBoard(data);\r\n //加标注\r\n let dims = DrawDimension(meshs);\r\n\r\n view.m_Scene.add(...meshs);\r\n view.m_Scene.add(...edgesa);\r\n view.m_Scene.add(...dims);\r\n\r\n view.ViewToSwiso();\r\n view.ZoomAll();\r\n view.Zoom(1.1);\r\n}\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/config/webpack.common.ts b/config/webpack.common.ts deleted file mode 100644 index 74ce846..0000000 --- a/config/webpack.common.ts +++ /dev/null @@ -1,93 +0,0 @@ -import * as webpack from 'webpack'; - -const TS_LOADER = [ - { loader: 'cache-loader', options: { cacheDirectory: "node_modules/.cache_loader" } }, - { - loader: 'ts-loader', - options: { - transpileOnly: true, - experimentalWatchApi: true, - }, - } -]; - -const config: webpack.Configuration = { - devtool: "source-map", - //项目需要解析的文件拓展名称 - resolve: { - extensions: [".ts", ".tsx", ".js", "json"] - }, - //模块加载器设置 - module: { - rules: [ - { - test: /\.worker\.ts$/, - exclude: /node_modules/, - use: [ - { loader: 'worker-loader', }, - ...TS_LOADER - ] - }, - { - test: /\.tsx?$/, - exclude: /node_modules/, - use: TS_LOADER, - }, - { - test: /\.[(png)|(obj)|(json)]$/, - loader: "file-loader" - }, - //样式加载 css - { - test: /\.css$/, - use: ['style-loader', 'css-loader'] - }, - //样式加载 less - { - test: /\.less$/, - use: [ - { loader: "style-loader" }, - { loader: 'css-loader', options: { sourceMap: false } }, - { - loader: "less-loader", - options: { - lessOptions: { - strictMath: true, - noIeCompat: true - } - } - } - ] - }, - //字体加载 blueprint - { - test: /\.(ttf|eot|svg|FBX)$/, - use: { - loader: 'file-loader', - options: { name: 'fonts/[contenthash].[ext]' } - } - }, - //字体加载 blueprint - { - test: /\.(woff|woff2|jpg|png)$/, - use: { - loader: 'url-loader', - options: { - name: 'fonts/[contenthash].[ext]', - limit: 5000, - mimetype: 'application/font-woff' - } - } - }, - { - test: /\.(glsl|vs|fs)$/, - loader: 'shader-loader' - } - ] - }, - - plugins: [ - ] -}; - -export default config; diff --git a/config/webpack.umd.ts b/config/webpack.umd.ts deleted file mode 100644 index 14cad6f..0000000 --- a/config/webpack.umd.ts +++ /dev/null @@ -1,24 +0,0 @@ -import path from 'path'; -import * as webpack from 'webpack'; -import merge from 'webpack-merge'; -import common from './webpack.common'; - -const config: webpack.Configuration = merge( - common, - { - mode: "production", - entry: "./src/index.ts", - externals: { - 'three': "THREE" - }, - //输出设置 - output: { - filename: "cad.js", - path: path.resolve(__dirname, './umd'), - library: "cad", - libraryTarget: "umd" - }, - } -); - -export default config; diff --git a/config/webpack.view.ts b/config/webpack.view.ts deleted file mode 100644 index cdebe4d..0000000 --- a/config/webpack.view.ts +++ /dev/null @@ -1,31 +0,0 @@ -import HtmlWebPackPlugin from "html-webpack-plugin"; -import * as webpack from 'webpack'; -import merge from 'webpack-merge'; -import common from './webpack.common'; - -const config: webpack.Configuration = merge( - common, - { - mode: "development", - entry: "./src/ViewSrc/index.ts", - output: { pathinfo: false }, - devtool: "eval-source-map", - devServer: { - // contentBase: "./dist/", - static: false, - port: 7776, - host: "0.0.0.0", - hot: true, - }, - plugins: [ - // new webpack.NamedModulesPlugin(),//Hot - new webpack.HotModuleReplacementPlugin(),//Hot - new HtmlWebPackPlugin({ - title: "webCAD", - // template: './src/index.html' - }), - ] - } -); - -export default config; diff --git a/dist/CameraControls.d.ts b/dist/CameraControls.d.ts deleted file mode 100644 index cabc304..0000000 --- a/dist/CameraControls.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import * as THREE from 'three'; -import { KeyBoard, MouseKey } from './KeyEnum'; -import { Viewer } from './Viewer'; -export declare enum CameraControlState { - Null = 0, - Pan = 1, - Rotate = 2, - Scale = 3 -} -export declare class CameraControls { - m_TouthTypeList: CameraControlState[]; - m_domElement: HTMLElement; - m_StartClickPoint: THREE.Vector3; - m_EndClickPoint: THREE.Vector3; - m_DollyStart: THREE.Vector2; - m_DollyEnd: THREE.Vector2; - m_KeyDown: Map; - m_MouseDown: Map; - m_State: CameraControlState; - m_Viewer: Viewer; - m_LeftUseRotate: boolean; - constructor(viewer: Viewer); - RegisterEvent(): void; - /** - * 窗体失去焦点时. - * - * @memberof CameraControls - */ - onBlur: () => void; - onTouchStart: (event: TouchEvent) => void; - onTouchEnd: (event: TouchEvent) => void; - onTouchMove: (event: TouchEvent) => void; - beginRotate(): void; - lastMiddleClickTime: number; - onMouseDown: (event: MouseEvent) => void; - onMouseUp: (event: MouseEvent) => void; - onMouseMove: (event: MouseEvent) => void; - /** - * 鼠标滚轮事件 - * - * @memberof CameraControls - */ - onMouseWheel: (event: WheelEvent) => void; - onKeyDown: (event: KeyboardEvent) => void; - onKeyUp: (event: KeyboardEvent) => void; -} diff --git a/dist/CameraControls.js b/dist/CameraControls.js deleted file mode 100644 index f6ceab2..0000000 --- a/dist/CameraControls.js +++ /dev/null @@ -1,209 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var THREE = require("three"); -var KeyEnum_1 = require("./KeyEnum"); -var three_1 = require("three"); -//相机控制状态 -var CameraControlState; -(function (CameraControlState) { - CameraControlState[CameraControlState["Null"] = 0] = "Null"; - CameraControlState[CameraControlState["Pan"] = 1] = "Pan"; - CameraControlState[CameraControlState["Rotate"] = 2] = "Rotate"; - CameraControlState[CameraControlState["Scale"] = 3] = "Scale"; -})(CameraControlState = exports.CameraControlState || (exports.CameraControlState = {})); -var CameraControls = /** @class */ (function () { - function CameraControls(viewer) { - var _this = this; - this.m_TouthTypeList = [CameraControlState.Rotate, CameraControlState.Scale, CameraControlState.Pan]; - //起始点击 - this.m_StartClickPoint = new THREE.Vector3(); - this.m_EndClickPoint = new THREE.Vector3(); - this.m_DollyStart = new THREE.Vector2(); - this.m_DollyEnd = new THREE.Vector2(); - this.m_KeyDown = new Map(); - this.m_MouseDown = new Map(); - //状态 - this.m_State = CameraControlState.Null; - //左键使用旋转 - this.m_LeftUseRotate = true; - /** - * 窗体失去焦点时. - * - * @memberof CameraControls - */ - this.onBlur = function () { - _this.m_KeyDown.clear(); - _this.m_MouseDown.clear(); - }; - //触屏开始事件 - this.onTouchStart = function (event) { - _this.m_Viewer.UpdateLockTarget(); - _this.m_StartClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); - if (event.touches.length < 4) { - if (event.touches.length == 2) { - var dx = event.touches[0].pageX - event.touches[1].pageX; - var dy = event.touches[0].pageY - event.touches[1].pageY; - var distance = Math.sqrt(dx * dx + dy * dy); - _this.m_DollyStart.set(0, distance); - } - _this.m_State = _this.m_TouthTypeList[event.touches.length - 1]; - } - }; - this.onTouchEnd = function (event) { - _this.m_State = CameraControlState.Null; - }; - this.onTouchMove = function (event) { - event.preventDefault(); - event.stopPropagation(); - _this.m_EndClickPoint.set(event.touches[0].pageX, event.touches[0].pageY, 0); - var vec = _this.m_EndClickPoint.clone().sub(_this.m_StartClickPoint); - switch (_this.m_State) { - case CameraControlState.Pan: - { - _this.m_Viewer.Pan(vec); - break; - } - case CameraControlState.Scale: - { - var dx = event.touches[0].pageX - event.touches[1].pageX; - var dy = event.touches[0].pageY - event.touches[1].pageY; - var distance = Math.sqrt(dx * dx + dy * dy); - _this.m_DollyEnd.set(0, distance); - if (distance > _this.m_DollyStart.y) { - _this.m_Viewer.Zoom(0.95); - } - else { - _this.m_Viewer.Zoom(1.05); - } - _this.m_DollyStart.copy(_this.m_DollyEnd); - break; - } - case CameraControlState.Rotate: - { - _this.m_Viewer.Rotate(vec.multiplyScalar(2)); - break; - } - } - _this.m_StartClickPoint.copy(_this.m_EndClickPoint); - _this.m_Viewer.m_bNeedUpdate = true; - }; - //最后一次按中键的时间 - this.lastMiddleClickTime = 0; - //鼠标 - this.onMouseDown = function (event) { - event.preventDefault(); - var key = event.button; - _this.m_MouseDown.set(key, true); - _this.m_StartClickPoint.set(event.offsetX, event.offsetY, 0); - switch (key) { - case KeyEnum_1.MouseKey.Left: - { - if (_this.m_LeftUseRotate) { - _this.beginRotate(); - } - break; - } - case KeyEnum_1.MouseKey.Middle: - { - var curTime = Date.now(); - var t = curTime - _this.lastMiddleClickTime; - _this.lastMiddleClickTime = curTime; - if (t < 350) { - _this.m_Viewer.ZoomAll(); - return; - } - if (_this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control)) { - _this.beginRotate(); - } - else { - _this.m_State = CameraControlState.Pan; - } - break; - } - case KeyEnum_1.MouseKey.Right: - { - break; - } - } - }; - this.onMouseUp = function (event) { - event.preventDefault(); - _this.m_State = CameraControlState.Null; - _this.m_MouseDown.set(event.button, false); - }; - this.onMouseMove = function (event) { - event.preventDefault(); - _this.m_EndClickPoint.set(event.offsetX, event.offsetY, 0); - var changeVec = _this.m_EndClickPoint.clone().sub(_this.m_StartClickPoint); - _this.m_StartClickPoint.copy(_this.m_EndClickPoint); - if ((_this.m_LeftUseRotate || - (_this.m_KeyDown.get(KeyEnum_1.KeyBoard.Control))) - && _this.m_State == CameraControlState.Rotate) { - _this.m_Viewer.Rotate(changeVec); - } - switch (_this.m_State) { - case CameraControlState.Pan: - { - _this.m_Viewer.Pan(changeVec); - break; - } - case CameraControlState.Rotate: - { - break; - } - case CameraControlState.Scale: - { - break; - } - } - }; - /** - * 鼠标滚轮事件 - * - * @memberof CameraControls - */ - this.onMouseWheel = function (event) { - event.preventDefault(); - event.stopPropagation(); - var pt = new THREE.Vector3(event.offsetX, event.offsetY, 0); - _this.m_Viewer.ScreenToWorld(pt, new three_1.Vector3().setFromMatrixColumn(_this.m_Viewer.m_Camera.Camera.matrixWorld, 2)); - if (event.deltaY < 0) { - _this.m_Viewer.Zoom(0.6, pt); - } - else if (event.deltaY > 0) { - _this.m_Viewer.Zoom(1.4, pt); - } - }; - //按键 - this.onKeyDown = function (event) { - _this.m_KeyDown.set(event.keyCode, true); - }; - this.onKeyUp = function (event) { - _this.m_KeyDown.set(event.keyCode, false); - }; - this.m_Viewer = viewer; - this.m_domElement = viewer.m_Render.domElement.parentElement; - this.RegisterEvent(); - } - CameraControls.prototype.RegisterEvent = function () { - if (this.m_domElement) { - this.m_domElement.addEventListener("mousedown", this.onMouseDown, false); - this.m_domElement.addEventListener("mousemove", this.onMouseMove, false); - this.m_domElement.addEventListener("mouseup", this.onMouseUp, false); - window.addEventListener("keydown", this.onKeyDown, false); - window.addEventListener("keyup", this.onKeyUp, false); - this.m_domElement.addEventListener('wheel', this.onMouseWheel, false); - this.m_domElement.addEventListener('touchstart', this.onTouchStart, false); - this.m_domElement.addEventListener('touchend', this.onTouchEnd, false); - this.m_domElement.addEventListener('touchmove', this.onTouchMove, false); - window.addEventListener("blur", this.onBlur, false); - } - }; - CameraControls.prototype.beginRotate = function () { - this.m_State = CameraControlState.Rotate; - this.m_Viewer.UpdateLockTarget(); - }; - return CameraControls; -}()); -exports.CameraControls = CameraControls; -//# sourceMappingURL=CameraControls.js.map \ No newline at end of file diff --git a/dist/CameraControls.js.map b/dist/CameraControls.js.map deleted file mode 100644 index 8b2522e..0000000 --- a/dist/CameraControls.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CameraControls.js","sourceRoot":"","sources":["../src/CameraControls.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/CameraUpdate.d.ts b/dist/CameraUpdate.d.ts deleted file mode 100644 index 3cca4fa..0000000 --- a/dist/CameraUpdate.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Box3, Camera, Vector3 } from 'three'; -/** - * - * 相机的控制. - * ->切换相机 - * ->设置视口大小 - * ->旋转和移动相机. - * - * @export - * @class ViewCameraManage - */ -export declare class CameraUpdate { - private m_CurCamera; - private m_CameraArray; - private m_Width; - private m_Height; - private m_ViewHeight; - private m_Target; - private m_Direction; - private m_Orbit; - m_MinViewHeight: number; - m_MaxViewHeight: number; - constructor(); - get Aspect(): number; - get Camera(): Camera; - get ViewHeight(): number; - set ViewHeight(height: number); - SetSize(width: number, height: number): void; - /** - * 平移相机. - * - * @param {Vector3} mouseMove - * @memberof CameraControl - */ - Pan(mouseMove: Vector3): void; - Rotate(mouseMove: Vector3, target: Vector3): void; - Zoom(scale: number, scaleCenter?: Vector3): void; - ZoomExtensBox3(box3: Box3): void; - LookAt(dir: Vector3): void; - UpdateUp(): void; - /** - * 根据视口大小,设置相机视口范围. - * - * @returns - * @memberof CameraControl - */ - Update(): void; - SwitchCamera(): void; -} diff --git a/dist/CameraUpdate.js b/dist/CameraUpdate.js deleted file mode 100644 index 68dfc46..0000000 --- a/dist/CameraUpdate.js +++ /dev/null @@ -1,186 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var Orbit_1 = require("./Orbit"); -/** - * - * 相机的控制. - * ->切换相机 - * ->设置视口大小 - * ->旋转和移动相机. - * - * @export - * @class ViewCameraManage - */ -var CameraUpdate = /** @class */ (function () { - function CameraUpdate() { - this.m_CameraArray = new Map(); - //视口显示的高度 - this.m_ViewHeight = 10; - //观察的位置 - this.m_Target = new three_1.Vector3(); - //观察向量 - this.m_Direction = new three_1.Vector3(0, 0, -1); - //观察的轨道. - this.m_Orbit = new Orbit_1.Orbit(); - this.m_MinViewHeight = 10; - this.m_MaxViewHeight = 3e4; - this.m_CameraArray.set(three_1.OrthographicCamera, new three_1.OrthographicCamera(-2, 2, 2, -2, -1e6, 1e6)); - this.m_CameraArray.set(three_1.PerspectiveCamera, new three_1.PerspectiveCamera(50, 1, 0.01, 10000)); - this.m_CurCamera = this.m_CameraArray.get(three_1.OrthographicCamera); - this.m_Orbit.UpdateRoValue(this.m_Direction); - this.UpdateUp(); - this.Update(); - } - Object.defineProperty(CameraUpdate.prototype, "Aspect", { - get: function () { - return this.m_Width / this.m_Height; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(CameraUpdate.prototype, "Camera", { - get: function () { - return this.m_CurCamera; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(CameraUpdate.prototype, "ViewHeight", { - get: function () { - return this.m_ViewHeight; - }, - set: function (height) { - this.m_ViewHeight = three_1.MathUtils.clamp(height, this.m_MinViewHeight, this.m_MaxViewHeight); - }, - enumerable: true, - configurable: true - }); - CameraUpdate.prototype.SetSize = function (width, height) { - this.m_Width = width; - this.m_Height = height; - }; - /** - * 平移相机. - * - * @param {Vector3} mouseMove - * @memberof CameraControl - */ - CameraUpdate.prototype.Pan = function (mouseMove) { - mouseMove.y *= -1; - mouseMove.multiplyScalar(-this.m_ViewHeight / this.m_Height); - mouseMove.applyQuaternion(this.Camera.quaternion); - this.m_Target.add(mouseMove); - this.Update(); - }; - CameraUpdate.prototype.Rotate = function (mouseMove, target) { - this.m_Orbit.RoX -= mouseMove.y * 0.003; - this.m_Orbit.RoZ -= mouseMove.x * 0.003; - //缓存观察点 - var oldTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); - this.m_Orbit.UpdateDirection(this.m_Direction); - this.UpdateUp(); - this.Update(); - //-----还原观察点 - //得到新的观察点相对于相机的位置 - var newTargetFormCameraSpace = target.clone().applyMatrix4(this.Camera.matrixWorldInverse); - //减去原先的位置. 得到观测点在相机内移动的向量 - newTargetFormCameraSpace.sub(oldTargetFormCameraSpace); - //乘以相机的矩阵. 得到向量在世界坐标系的位置 - newTargetFormCameraSpace.applyMatrix4(this.Camera.matrix); - //因为使用的是点变换,所以减去基点,得到向量 - newTargetFormCameraSpace.sub(this.Camera.position); - //加上移动的向量. 使得观察点时钟在相机的某个位置 - this.m_Target.add(newTargetFormCameraSpace); - this.Update(); - }; - CameraUpdate.prototype.Zoom = function (scale, scaleCenter) { - if (this.Camera instanceof three_1.OrthographicCamera) { - this.ViewHeight *= scale; - if (scaleCenter && this.m_ViewHeight < this.m_MaxViewHeight) { - this.m_Target.sub(scaleCenter); - this.m_Target.multiplyScalar(scale); - this.m_Target.add(scaleCenter); - } - } - else if (this.Camera instanceof three_1.PerspectiveCamera) { - var add = scale > 1 ? 1 : -1; - add *= this.Camera.position.distanceTo(this.m_Target) / 10; - this.m_Target.add(this.m_Direction.clone().multiplyScalar(-add)); - } - this.Update(); - }; - CameraUpdate.prototype.ZoomExtensBox3 = function (box3) { - if (!box3 || box3.isEmpty()) - return; - this.Camera.updateMatrixWorld(false); - //变换到相机坐标系 - box3.applyMatrix4(this.Camera.matrixWorldInverse); - // - box3.getCenter(this.m_Target); - //世界坐标系 - this.m_Target.applyMatrix4(this.Camera.matrix); - //size - var size = box3.getSize(new three_1.Vector3()); - //宽高比 - var aspectRatio = size.x / size.y; - var viewAspectRatio = this.Aspect; - // - if (aspectRatio > viewAspectRatio) { - this.m_ViewHeight = size.x / viewAspectRatio; - } - else { - this.m_ViewHeight = size.y; - } - this.Update(); - }; - CameraUpdate.prototype.LookAt = function (dir) { - this.m_Orbit.UpdateRoValue(dir); - this.m_Direction.copy(dir); - this.UpdateUp(); - this.Update(); - }; - CameraUpdate.prototype.UpdateUp = function () { - Orbit_1.Orbit.ComputUpDirection(this.m_Direction, this.Camera.up); - }; - /** - * 根据视口大小,设置相机视口范围. - * - * @returns - * @memberof CameraControl - */ - CameraUpdate.prototype.Update = function () { - this.Camera.position.copy(this.m_Target); - if (this.Camera instanceof three_1.OrthographicCamera) { - this.Camera.left = this.Aspect * this.m_ViewHeight / -2; - this.Camera.right = this.Aspect * this.m_ViewHeight / 2; - this.Camera.bottom = this.m_ViewHeight / -2; - this.Camera.top = this.m_ViewHeight / 2; - this.Camera.position.sub(this.m_Direction); - } - else if (this.Camera instanceof three_1.PerspectiveCamera) { - this.Camera.aspect = this.Aspect; - var distens = (this.m_ViewHeight / 2) / (Math.tan(three_1.MathUtils.degToRad(this.Camera.fov) / 2)); - this.Camera.position.sub(this.m_Direction.clone().multiplyScalar(distens)); - } - else { - return; - } - this.Camera.lookAt(this.m_Target); - this.Camera.updateProjectionMatrix(); - this.Camera.updateMatrixWorld(false); - }; - CameraUpdate.prototype.SwitchCamera = function () { - if (this.Camera instanceof three_1.OrthographicCamera) { - this.m_CurCamera = this.m_CameraArray.get(three_1.PerspectiveCamera); - } - else { - this.m_CurCamera = this.m_CameraArray.get(three_1.OrthographicCamera); - } - this.UpdateUp(); - this.Update(); - }; - return CameraUpdate; -}()); -exports.CameraUpdate = CameraUpdate; -//# sourceMappingURL=CameraUpdate.js.map \ No newline at end of file diff --git a/dist/CameraUpdate.js.map b/dist/CameraUpdate.js.map deleted file mode 100644 index f570dc7..0000000 --- a/dist/CameraUpdate.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"CameraUpdate.js","sourceRoot":"","sources":["../src/CameraUpdate.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ColorPalette.d.ts b/dist/ColorPalette.d.ts deleted file mode 100644 index 4401e02..0000000 --- a/dist/ColorPalette.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import * as THREE from 'three'; -import { LineBasicMaterial, MeshBasicMaterial } from 'three'; -export declare class ColorMaterial { - private constructor(); - private static m_LineMaterialMap; - static GetLineMaterial(index: any): LineBasicMaterial; - private static m_BasicMaterialMap; - static GetBasicMaterial(index: number): MeshBasicMaterial; - static GetColor(index: number): THREE.Color; -} diff --git a/dist/ColorPalette.js b/dist/ColorPalette.js deleted file mode 100644 index 6569668..0000000 --- a/dist/ColorPalette.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var ColorPalette = [ - [255, 0, 0, 255], - //[255, 255, 255, 255],//----- 0 - ByBlock - White - [255, 0, 0, 255], - // [255, 0, 0, 255], //----- 1 - Red - [255, 255, 0, 255], - [0, 255, 0, 255], - [0, 255, 255, 255], - [0, 0, 255, 255], - [255, 0, 255, 255], -]; -//颜色材质,对于二维图像来说可能有用,应该不对三维对象使用该材质 -var ColorMaterial = /** @class */ (function () { - function ColorMaterial() { - } - ColorMaterial.GetLineMaterial = function (index) { - if (this.m_LineMaterialMap.has(index)) - return this.m_LineMaterialMap.get(index); - var mat = new three_1.LineBasicMaterial({ color: this.GetColor(index) }); - this.m_LineMaterialMap.set(index, mat); - return mat; - }; - ColorMaterial.GetBasicMaterial = function (index) { - if (this.m_BasicMaterialMap.has(index)) - return this.m_BasicMaterialMap.get(index); - var mat = new three_1.MeshBasicMaterial({ color: this.GetColor(index) }); - this.m_BasicMaterialMap.set(index, mat); - return mat; - }; - ColorMaterial.GetColor = function (index) { - var rgb = ColorPalette[index]; - if (rgb) - return new three_1.Color(rgb[0] / 255, rgb[1] / 255, rgb[2] / 255); - }; - ColorMaterial.m_LineMaterialMap = new Map(); - ColorMaterial.m_BasicMaterialMap = new Map(); - return ColorMaterial; -}()); -exports.ColorMaterial = ColorMaterial; -//# sourceMappingURL=ColorPalette.js.map \ No newline at end of file diff --git a/dist/ColorPalette.js.map b/dist/ColorPalette.js.map deleted file mode 100644 index b042208..0000000 --- a/dist/ColorPalette.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ColorPalette.js","sourceRoot":"","sources":["../src/ColorPalette.ts"],"names":[],"mappings":";;AACA,+BAAoE;AACpE,IAAM,YAAY,GAAG;IACjB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,kDAAkD;IAClD,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,uCAAuC;IACvC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAChB,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;CA8PrB,CAAC;AAGF,iCAAiC;AACjC;IAEI;IAAwB,CAAC;IAElB,6BAAe,GAAtB,UAAuB,KAAK;QAExB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,GAAG,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,8BAAgB,GAAvB,UAAwB,KAAa;QAEjC,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,GAAG,GAAG,IAAI,yBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,sBAAQ,GAAf,UAAgB,KAAa;QAEzB,IAAI,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,GAAG;YACH,OAAO,IAAI,aAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACnE,CAAC;IAxBc,+BAAiB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAS/D,gCAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAgB7E,oBAAC;CAAA,AA5BD,IA4BC;AA5BY,sCAAa"} \ No newline at end of file diff --git a/dist/Dimension.d.ts b/dist/Dimension.d.ts deleted file mode 100644 index a2999b8..0000000 --- a/dist/Dimension.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Group } from "three"; -/** - * 标注实体 - * @export - * @class Dimension - * @extends {Group} - */ -export declare class Dimension extends Group { - constructor(length: number, textHeight?: number, mirror?: boolean, mirrorFoot?: boolean); -} diff --git a/dist/Dimension.js b/dist/Dimension.js deleted file mode 100644 index 2f2eae2..0000000 --- a/dist/Dimension.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var ColorPalette_1 = require("./ColorPalette"); -var Text_1 = require("./Text"); -var GeUtils_1 = require("./GeUtils"); -/** - * 标注实体 - * @export - * @class Dimension - * @extends {Group} - */ -var Dimension = /** @class */ (function (_super) { - __extends(Dimension, _super); - function Dimension(length, textHeight, mirror, mirrorFoot) { - if (textHeight === void 0) { textHeight = 25; } - if (mirror === void 0) { mirror = false; } - if (mirrorFoot === void 0) { mirrorFoot = false; } - var _this = _super.call(this) || this; - var footLength = 60; - if (mirrorFoot) { - footLength = -footLength; - } - //针脚几何体 - var lineGeo = new three_1.Geometry(); - lineGeo.vertices.push(new three_1.Vector3(), new three_1.Vector3(0, footLength, 0)); - //托盘几何体 - var lineGeo2 = new three_1.Geometry(); - lineGeo2.vertices.push(new three_1.Vector3(0, footLength), new three_1.Vector3(length, footLength, 0)); - var material = ColorPalette_1.ColorMaterial.GetLineMaterial(5); - var line1 = new three_1.Line(lineGeo, material); - var line2 = new three_1.Line(lineGeo, material); - line2.position.x = length; - var line3 = new three_1.Line(lineGeo2, material); - var text = new Text_1.DbText(parseFloat(length.toFixed(2)).toString(), textHeight); - if (mirror) { - var roMat = new three_1.Matrix4().makeRotationZ(Math.PI); - text.applyMatrix4(roMat); - text.applyMatrix4(GeUtils_1.MoveMatrix(new three_1.Vector3(length * 0.5, footLength - textHeight * 0.1))); - } - else { - text.applyMatrix4(GeUtils_1.MoveMatrix(new three_1.Vector3(length * 0.5, footLength * 1.1))); - } - _this.add(text); - _this.add(line1, line2, line3); - return _this; - } - return Dimension; -}(three_1.Group)); -exports.Dimension = Dimension; -//# sourceMappingURL=Dimension.js.map \ No newline at end of file diff --git a/dist/Dimension.js.map b/dist/Dimension.js.map deleted file mode 100644 index 8a08ee2..0000000 --- a/dist/Dimension.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Dimension.js","sourceRoot":"","sources":["../src/Dimension.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAgE;AAChE,+CAA+C;AAC/C,+BAAgC;AAChC,qCAAuC;AAEvC;;;;;GAKG;AACH;IAA+B,6BAAK;IAGhC,mBAAY,MAAc,EAAE,UAAuB,EAAE,MAAuB,EAAE,UAA2B;QAA7E,2BAAA,EAAA,eAAuB;QAAE,uBAAA,EAAA,cAAuB;QAAE,2BAAA,EAAA,kBAA2B;QAAzG,YAEI,iBAAO,SAuCV;QAtCG,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,EACd;YACI,UAAU,GAAG,CAAC,UAAU,CAAC;SAC5B;QAED,OAAO;QACP,IAAI,OAAO,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,EAAE,EAAE,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO;QACP,IAAI,QAAQ,GAAG,IAAI,gBAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,IAAI,eAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvF,IAAI,QAAQ,GAAG,4BAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAE/C,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC;QAE1B,IAAI,KAAK,GAAG,IAAI,YAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEzC,IAAI,IAAI,GAAG,IAAI,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,MAAM,EACV;YACI,IAAI,KAAK,GAAG,IAAI,eAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC3F;aAED;YACI,IAAI,CAAC,YAAY,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,MAAM,GAAG,GAAG,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC9E;QAGD,KAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEf,KAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;;IAClC,CAAC;IACL,gBAAC;AAAD,CAAC,AA7CD,CAA+B,aAAK,GA6CnC;AA7CY,8BAAS"} \ No newline at end of file diff --git a/dist/DrawDimension.d.ts b/dist/DrawDimension.d.ts deleted file mode 100644 index 485a664..0000000 --- a/dist/DrawDimension.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Mesh } from "three"; -import { Dimension } from "."; -/** - * 绘制标注实体 - * - * @export - * @param {Box3} box - * @returns 标注实体列表 - */ -export declare function DrawDimension(brList: Mesh[]): Dimension[]; diff --git a/dist/DrawDimension.js b/dist/DrawDimension.js deleted file mode 100644 index 15b49a0..0000000 --- a/dist/DrawDimension.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var _1 = require("."); -/** - * 绘制标注实体 - * - * @export - * @param {Box3} box - * @returns 标注实体列表 - */ -function DrawDimension(brList) { - var box = _1.GetBoxArr(brList); - var size = box.getSize(new three_1.Vector3()); - var mat4 = new three_1.Matrix4(); - mat4.makeBasis(new three_1.Vector3(-1, 0, 0), new three_1.Vector3(0, -1, 0), new three_1.Vector3(0, 0, 1)); - mat4.setPosition(box.min.clone().add(new three_1.Vector3(size.x, -30))); - var textHeight = 45; - var dimx = new _1.Dimension(size.x, textHeight, true); - dimx.applyMatrix4(mat4); - var dimz = new _1.Dimension(size.z, textHeight); - mat4.makeBasis(new three_1.Vector3(0, 0, -1), new three_1.Vector3(1, 0, 0), new three_1.Vector3(0, -1, 0)); - mat4.setPosition(box.max.clone().add(new three_1.Vector3(30, -size.y))); - dimz.applyMatrix4(mat4); - var dimy = new _1.Dimension(size.y, textHeight, true, true); - mat4.makeBasis(new three_1.Vector3(0, 1, 0), new three_1.Vector3(-1, 0, 0), new three_1.Vector3(0, 0, 1)); - mat4.setPosition(box.max.clone().add(new three_1.Vector3(30, -size.y))); - dimy.applyMatrix4(mat4); - return [dimx, dimy, dimz]; -} -exports.DrawDimension = DrawDimension; -//# sourceMappingURL=DrawDimension.js.map \ No newline at end of file diff --git a/dist/DrawDimension.js.map b/dist/DrawDimension.js.map deleted file mode 100644 index 35dc25a..0000000 --- a/dist/DrawDimension.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"DrawDimension.js","sourceRoot":"","sources":["../src/DrawDimension.ts"],"names":[],"mappings":";;AAAA,+BAAqD;AACrD,sBAAyC;AAGzC;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,MAAc;IAExC,IAAI,GAAG,GAAG,YAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;IAEtC,IAAI,IAAI,GAAG,IAAI,eAAO,EAAE,CAAC;IACzB,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACxB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,SAAS,CACV,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,eAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CACvB,CAAA;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,eAAO,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAGxB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AArCD,sCAqCC"} \ No newline at end of file diff --git a/dist/GeUtils.d.ts b/dist/GeUtils.d.ts deleted file mode 100644 index 97854e4..0000000 --- a/dist/GeUtils.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { Geometry, Vector, Vector2, Vector3, Box3, Matrix4, Object3D, Line, Mesh } from 'three'; -export declare const cZeroVec: Vector3; -export declare const cXAxis: Vector3; -export declare const cYAxis: Vector3; -export declare const cZAxis: Vector3; -/** - * 旋转一个点,旋转中心在原点 - * - * @export - * @param {Vector3} pt 点 - * @param {number} ang 角度. - * @returns {Vector3} 返回pt不拷贝. - */ -export declare function rotatePoint(pt: Vector3, ang: number): Vector3; -export declare function equaln(v1: number, v2: number, fuzz?: number): boolean; -export declare function equalv3(v1: Vector3, v2: Vector3, fuzz?: number): boolean; -export declare function equal(v1: T, v2: T): boolean; -export declare function fixAngle(an: number, fixAngle: number, fuzz?: number): number; -/** - * 按照极坐标的方式移动一个点 - * - * @export - * @template - * @param {T} v 向量(2d,3d) - * @param {number} an 角度 - * @param {number} dis 距离 - * @returns {T} - */ -export declare function polar(v: T, an: number, dis: number): T; -export declare function angle(v: Vector3 | Vector2): number; -/** - * 求两个向量的夹角,顺时针为负,逆时针为正 - * - * @param {Vector3} v1 - * @param {Vector3} v2 - * @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 - * @returns - */ -export declare function angleTo(v1: Vector3, v2: Vector3, ref?: Vector3): number; -export declare function getLoocAtUpVec(dir: Vector3): Vector3; -export declare function createLookAtMat4(dir: Vector3): Matrix4; -export declare function isParallelTo(v1: Vector3, v2: Vector3): boolean; -export declare function ptToString(v: Vector3, fractionDigits?: number): string; -export declare function midPoint(v1: Vector3, v2: Vector3): Vector3; -export declare function midPoint2(v1: Vector2, v2: Vector2): Vector2; -export declare function midPtCir(v1: Vector3, v2: Vector3): Vector3; -/** - * 获得Three对象的包围盒. - * @param obj - * @param [updateMatrix] 是否应该更新对象矩阵 - * @returns box - */ -export declare function GetBox(obj: Object3D, updateMatrix?: boolean): Box3; -export declare function GetBoxArr(arr: Array): Box3; -export declare function MoveMatrix(v: Vector3): Matrix4; -export declare function getProjectDist(v1: Vector3, v2: Vector3): { - h: number; - v: number; -}; -export declare function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3): { - sp: Vector3; - ep: Vector3; -}; -export declare function angleAndX(v: Vector3 | Vector2): number; -/** - * 将角度调整为0-2pi之间 - * - * @export - * @param {number} an - */ -export declare function angleTo2Pi(an: number): number; -export declare function updateGeometry(l: Line | Mesh, geometry: Geometry): void; diff --git a/dist/GeUtils.js b/dist/GeUtils.js deleted file mode 100644 index bc5e844..0000000 --- a/dist/GeUtils.js +++ /dev/null @@ -1,266 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var Matrix2_1 = require("./Matrix2"); -exports.cZeroVec = new three_1.Vector3(); -exports.cXAxis = new three_1.Vector3(1, 0, 0); -exports.cYAxis = new three_1.Vector3(0, 1, 0); -exports.cZAxis = new three_1.Vector3(0, 0, 1); -/** - * 旋转一个点,旋转中心在原点 - * - * @export - * @param {Vector3} pt 点 - * @param {number} ang 角度. - * @returns {Vector3} 返回pt不拷贝. - */ -function rotatePoint(pt, ang) { - new Matrix2_1.Matrix2().setRotate(ang).applyVector(pt); - return pt; -} -exports.rotatePoint = rotatePoint; -function equaln(v1, v2, fuzz) { - if (fuzz === void 0) { fuzz = 1e-3; } - return Math.abs(v1 - v2) < fuzz; -} -exports.equaln = equaln; -function equalv3(v1, v2, fuzz) { - if (fuzz === void 0) { fuzz = 1e-8; } - return equaln(v1.x, v2.x, fuzz) && equaln(v1.y, v2.y, fuzz) && equaln(v1.z, v2.z, fuzz); -} -exports.equalv3 = equalv3; -function equal(v1, v2) { - return v1.distanceToSquared(v2) < 1e-8; -} -exports.equal = equal; -function fixAngle(an, fixAngle, fuzz) { - if (fuzz === void 0) { fuzz = 0.1; } - if (an < 0) - an += Math.PI * 2; - an += fuzz; - var rem = an % fixAngle; - if (rem < fuzz * 2) { - an -= rem; - } - else { - an -= fuzz; - } - return an; -} -exports.fixAngle = fixAngle; -/** - * 按照极坐标的方式移动一个点 - * - * @export - * @template - * @param {T} v 向量(2d,3d) - * @param {number} an 角度 - * @param {number} dis 距离 - * @returns {T} - */ -function polar(v, an, dis) { - v.x += Math.cos(an) * dis; - v.y += Math.sin(an) * dis; - return v; -} -exports.polar = polar; -function angle(v) { - if (equaln(v.y, 0) && v.x > 0) - return 0; - var angle = Math.atan2(v.y, v.x); - if (angle < 0) - angle += Math.PI * 2; - return angle; -} -exports.angle = angle; -/** - * 求两个向量的夹角,顺时针为负,逆时针为正 - * - * @param {Vector3} v1 - * @param {Vector3} v2 - * @param {Vector3} [ref] 参考向量,如果为世界坐标系则为0,0,1 - * @returns - */ -function angleTo(v1, v2, ref) { - if (ref === void 0) { ref = new three_1.Vector3(0, 0, 1); } - if (!ref.equals(new three_1.Vector3(0, 0, 1))) { - //任意轴坐标系. 使用相机的构造矩阵. - ref.multiplyScalar(-1); - var up = getLoocAtUpVec(ref); - var refOcs = new three_1.Matrix4(); - refOcs.lookAt(exports.cZeroVec, ref, up); - var refOcsInv = new three_1.Matrix4().getInverse(refOcs); - v1.applyMatrix4(refOcsInv); - v2.applyMatrix4(refOcsInv); - v1.z = 0; - v2.z = 0; - } - if (v1.equals(exports.cZeroVec) || v2.equals(exports.cZeroVec)) - return 0; - var cv = new three_1.Vector3().crossVectors(v1, v2).normalize(); - return cv.z === 0 ? v1.angleTo(v2) : v1.angleTo(v2) * cv.z; -} -exports.angleTo = angleTo; -function getLoocAtUpVec(dir) { - if (dir.equals(exports.cZeroVec)) { - throw ("zero vector"); - } - var norm = dir.clone().normalize(); - if (norm.equals(exports.cZAxis)) { - return new three_1.Vector3(0, 1, 0); - } - else if (norm.equals(exports.cZAxis.clone().negate())) { - return new three_1.Vector3(0, -1, 0); - } - else { - var xv = new three_1.Vector3(); - xv.crossVectors(exports.cZAxis, norm); - var up = new three_1.Vector3(); - up.crossVectors(norm, xv); - return up; - } -} -exports.getLoocAtUpVec = getLoocAtUpVec; -function createLookAtMat4(dir) { - var up = getLoocAtUpVec(dir); - var mat = new three_1.Matrix4(); - mat.lookAt(exports.cZeroVec, dir, up); - return mat; -} -exports.createLookAtMat4 = createLookAtMat4; -function isParallelTo(v1, v2) { - return v1.clone().cross(v2).lengthSq() < 1e-9; -} -exports.isParallelTo = isParallelTo; -function ptToString(v, fractionDigits) { - if (fractionDigits === void 0) { fractionDigits = 3; } - return v.toArray().map(function (o) { - return o.toFixed(fractionDigits); - }).join(","); -} -exports.ptToString = ptToString; -function midPoint(v1, v2) { - return v1.clone().add(v2).multiplyScalar(0.5); -} -exports.midPoint = midPoint; -function midPoint2(v1, v2) { - return v1.clone().add(v2).multiplyScalar(0.5); -} -exports.midPoint2 = midPoint2; -function midPtCir(v1, v2) { - var baseline = new three_1.Vector3(1, 0, 0); - var outLine = v2.clone().sub(v1); - var ang = angleTo(baseline, outLine) / 2; - var midLine = rotatePoint(outLine, -ang); - return v1.clone().add(midLine); -} -exports.midPtCir = midPtCir; -/** - * 获得Three对象的包围盒. - * @param obj - * @param [updateMatrix] 是否应该更新对象矩阵 - * @returns box - */ -function GetBox(obj, updateMatrix) { - var box = new three_1.Box3(); - if (updateMatrix) - obj.updateMatrixWorld(false); - if (!obj.visible) - return box; - obj.traverse(function (o) { - //因为实体Erase时,实体仍然保存在Scene中. - if (o.visible === false) - return; - //@ts-ignore - var geo = o.geometry; - if (geo) { - if (!geo.boundingBox) - geo.computeBoundingBox(); - box.union(geo.boundingBox.clone().applyMatrix4(o.matrixWorld)); - } - }); - return box; -} -exports.GetBox = GetBox; -function GetBoxArr(arr) { - var box = new three_1.Box3(); - for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) { - var o = arr_1[_i]; - var b = GetBox(o); - if (!b.isEmpty()) - box.union(b); - } - return box; -} -exports.GetBoxArr = GetBoxArr; -function MoveMatrix(v) { - var mat = new three_1.Matrix4(); - mat.makeTranslation(v.x, v.y, v.z); - return mat; -} -exports.MoveMatrix = MoveMatrix; -function getProjectDist(v1, v2) { - var ang = v1.angleTo(v2); - var dist = v1.length(); - return { - h: dist * Math.cos(ang), - v: dist * Math.sin(ang) - }; -} -exports.getProjectDist = getProjectDist; -//获得输入点在2线组成的4个区间的位置 -function getPtPostion(sp, ep, c, inPt) { - var l1 = sp.clone().sub(c); - var l2 = ep.clone().sub(c); - var l3 = l1.clone().negate(); - var l4 = l2.clone().negate(); - var inputLine = inPt.clone().sub(c); - var ang1 = angleTo(l1, l2); - var ang2 = Math.PI; - var ang3 = ang2 + Math.abs(ang1); - var inputAng = angleTo(l1, inputLine); - if (ang1 * inputAng < 0) { - inputAng = (Math.PI * 2 - Math.abs(inputAng)); - } - ang1 = Math.abs(ang1); - inputAng = Math.abs(inputAng); - if (inputAng <= ang1) { - return { sp: sp, ep: ep }; - } - else if (inputAng > ang1 && inputAng <= ang2) { - return { sp: c.clone().add(l3), ep: ep }; - } - else if (inputAng > ang2 && inputAng <= ang3) { - return { sp: c.clone().add(l3), ep: c.clone().add(l4) }; - } - else { - return { sp: sp, ep: c.clone().add(l4) }; - } -} -exports.getPtPostion = getPtPostion; -function angleAndX(v) { - return v.x ? Math.atan(v.y / v.x) : Math.PI / 2; -} -exports.angleAndX = angleAndX; -/** - * 将角度调整为0-2pi之间 - * - * @export - * @param {number} an - */ -function angleTo2Pi(an) { - an = an % (Math.PI * 2); - if (an < 0) - an += Math.PI * 2; - return an; -} -exports.angleTo2Pi = angleTo2Pi; -function updateGeometry(l, geometry) { - var geo = l.geometry; - geo.dispose(); - l.geometry = geometry; - geometry.verticesNeedUpdate = true; - geometry.computeBoundingSphere(); -} -exports.updateGeometry = updateGeometry; -//# sourceMappingURL=GeUtils.js.map \ No newline at end of file diff --git a/dist/GeUtils.js.map b/dist/GeUtils.js.map deleted file mode 100644 index a841e15..0000000 --- a/dist/GeUtils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"GeUtils.js","sourceRoot":"","sources":["../src/GeUtils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/KeyEnum.d.ts b/dist/KeyEnum.d.ts deleted file mode 100644 index 02b176c..0000000 --- a/dist/KeyEnum.d.ts +++ /dev/null @@ -1,149 +0,0 @@ -export declare enum MouseKey { - Left = 0, - Middle = 1, - Right = 2 -} -export declare enum KeyBoard { - Digit1 = 49, - Digit2 = 50, - Digit3 = 51, - Digit4 = 52, - Digit5 = 53, - Digit6 = 54, - Digit7 = 55, - Digit8 = 56, - Digit9 = 57, - Digit0 = 58, - KeyA = 65, - KeyB = 66, - KeyC = 67, - KeyD = 68, - KeyE = 69, - KeyF = 70, - KeyG = 71, - KeyH = 72, - KeyI = 73, - KeyJ = 74, - KeyK = 75, - KeyL = 76, - KeyM = 77, - KeyN = 78, - KeyO = 79, - KeyP = 80, - KeyQ = 81, - KeyR = 82, - KeyS = 83, - KeyT = 84, - KeyU = 85, - KeyV = 86, - KeyW = 87, - KeyX = 88, - KeyY = 89, - KeyZ = 90, - /** - * 逗号 - */ - Comma = 188, - CommaChrome = 229, - /** - * 句号 - */ - Period = 190, - /** - * 分号 - */ - Semicolon = 186, - /** - * 引号 - */ - Quote = 222, - /** - * 左括号 - */ - BracketLeft = 219, - /** - * 右括号 - */ - BracketRight = 220, - /** - * 反引号 - */ - Backquote = 192, - /** - * 反斜杠 - */ - Backslash = 220, - /** - * 减号 - */ - Minus = 189, - /** - * 等号 - */ - Equal = 187, - IntlRo = 193, - IntlYen = 255, - Alt = 18, - /** - * 大写锁定 - */ - CapsLock = 20, - Control = 17, - /** - * win左键 - */ - OSLeft = 91, - /** - * win右键 - */ - OSRight = 92, - Shift = 16, - ContextMenu = 93, - Enter = 13, - Space = 32, - Backspace = 8, - Tab = 9, - Delete = 46, - End = 35, - Home = 36, - Insert = 45, - PageDown = 34, - PageUp = 33, - ArrowDown = 40, - ArrowLeft = 37, - ArrowRight = 39, - ArrowUp = 38, - Escape = 27, - PrintScreen = 44, - ScrollLock = 145, - Pause = 19, - F1 = 112, - F2 = 113, - F3 = 114, - F5 = 116, - F6 = 117, - F7 = 118, - F8 = 119, - F9 = 120, - F10 = 121, - F11 = 122, - F12 = 123, - NumLock = 114, - Numpad0 = 96, - Numpad1 = 97, - Numpad2 = 98, - Numpad3 = 99, - Numpad4 = 100, - Numpad5 = 101, - Numpad6 = 102, - Numpad7 = 103, - Numpad8 = 104, - Numpad9 = 105, - NumpadAdd = 107, - NumpadDivide = 111, - NumpadEqual = 12, - NumpadMultiply = 106, - NumpadSubtract = 109, - NumpadDot = 110, - NumpadDot1 = 190 -} diff --git a/dist/KeyEnum.js b/dist/KeyEnum.js deleted file mode 100644 index 2141ed1..0000000 --- a/dist/KeyEnum.js +++ /dev/null @@ -1,161 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//鼠标类型 -var MouseKey; -(function (MouseKey) { - MouseKey[MouseKey["Left"] = 0] = "Left"; - MouseKey[MouseKey["Middle"] = 1] = "Middle"; - MouseKey[MouseKey["Right"] = 2] = "Right"; -})(MouseKey = exports.MouseKey || (exports.MouseKey = {})); -var KeyBoard; -(function (KeyBoard) { - // 数字 - KeyBoard[KeyBoard["Digit1"] = 49] = "Digit1"; - KeyBoard[KeyBoard["Digit2"] = 50] = "Digit2"; - KeyBoard[KeyBoard["Digit3"] = 51] = "Digit3"; - KeyBoard[KeyBoard["Digit4"] = 52] = "Digit4"; - KeyBoard[KeyBoard["Digit5"] = 53] = "Digit5"; - KeyBoard[KeyBoard["Digit6"] = 54] = "Digit6"; - KeyBoard[KeyBoard["Digit7"] = 55] = "Digit7"; - KeyBoard[KeyBoard["Digit8"] = 56] = "Digit8"; - KeyBoard[KeyBoard["Digit9"] = 57] = "Digit9"; - KeyBoard[KeyBoard["Digit0"] = 58] = "Digit0"; - // 字母 - KeyBoard[KeyBoard["KeyA"] = 65] = "KeyA"; - KeyBoard[KeyBoard["KeyB"] = 66] = "KeyB"; - KeyBoard[KeyBoard["KeyC"] = 67] = "KeyC"; - KeyBoard[KeyBoard["KeyD"] = 68] = "KeyD"; - KeyBoard[KeyBoard["KeyE"] = 69] = "KeyE"; - KeyBoard[KeyBoard["KeyF"] = 70] = "KeyF"; - KeyBoard[KeyBoard["KeyG"] = 71] = "KeyG"; - KeyBoard[KeyBoard["KeyH"] = 72] = "KeyH"; - KeyBoard[KeyBoard["KeyI"] = 73] = "KeyI"; - KeyBoard[KeyBoard["KeyJ"] = 74] = "KeyJ"; - KeyBoard[KeyBoard["KeyK"] = 75] = "KeyK"; - KeyBoard[KeyBoard["KeyL"] = 76] = "KeyL"; - KeyBoard[KeyBoard["KeyM"] = 77] = "KeyM"; - KeyBoard[KeyBoard["KeyN"] = 78] = "KeyN"; - KeyBoard[KeyBoard["KeyO"] = 79] = "KeyO"; - KeyBoard[KeyBoard["KeyP"] = 80] = "KeyP"; - KeyBoard[KeyBoard["KeyQ"] = 81] = "KeyQ"; - KeyBoard[KeyBoard["KeyR"] = 82] = "KeyR"; - KeyBoard[KeyBoard["KeyS"] = 83] = "KeyS"; - KeyBoard[KeyBoard["KeyT"] = 84] = "KeyT"; - KeyBoard[KeyBoard["KeyU"] = 85] = "KeyU"; - KeyBoard[KeyBoard["KeyV"] = 86] = "KeyV"; - KeyBoard[KeyBoard["KeyW"] = 87] = "KeyW"; - KeyBoard[KeyBoard["KeyX"] = 88] = "KeyX"; - KeyBoard[KeyBoard["KeyY"] = 89] = "KeyY"; - KeyBoard[KeyBoard["KeyZ"] = 90] = "KeyZ"; - // 符号 - /** - * 逗号 - */ - KeyBoard[KeyBoard["Comma"] = 188] = "Comma"; - KeyBoard[KeyBoard["CommaChrome"] = 229] = "CommaChrome"; - /** - * 句号 - */ - KeyBoard[KeyBoard["Period"] = 190] = "Period"; - /** - * 分号 - */ - KeyBoard[KeyBoard["Semicolon"] = 186] = "Semicolon"; - /** - * 引号 - */ - KeyBoard[KeyBoard["Quote"] = 222] = "Quote"; - /** - * 左括号 - */ - KeyBoard[KeyBoard["BracketLeft"] = 219] = "BracketLeft"; - /** - * 右括号 - */ - KeyBoard[KeyBoard["BracketRight"] = 220] = "BracketRight"; - /** - * 反引号 - */ - KeyBoard[KeyBoard["Backquote"] = 192] = "Backquote"; - /** - * 反斜杠 - */ - KeyBoard[KeyBoard["Backslash"] = 220] = "Backslash"; - /** - * 减号 - */ - KeyBoard[KeyBoard["Minus"] = 189] = "Minus"; - /** - * 等号 - */ - KeyBoard[KeyBoard["Equal"] = 187] = "Equal"; - KeyBoard[KeyBoard["IntlRo"] = 193] = "IntlRo"; - KeyBoard[KeyBoard["IntlYen"] = 255] = "IntlYen"; - // 功能键 - KeyBoard[KeyBoard["Alt"] = 18] = "Alt"; - /** - * 大写锁定 - */ - KeyBoard[KeyBoard["CapsLock"] = 20] = "CapsLock"; - KeyBoard[KeyBoard["Control"] = 17] = "Control"; - /** - * win左键 - */ - KeyBoard[KeyBoard["OSLeft"] = 91] = "OSLeft"; - /** - * win右键 - */ - KeyBoard[KeyBoard["OSRight"] = 92] = "OSRight"; - KeyBoard[KeyBoard["Shift"] = 16] = "Shift"; - KeyBoard[KeyBoard["ContextMenu"] = 93] = "ContextMenu"; - KeyBoard[KeyBoard["Enter"] = 13] = "Enter"; - KeyBoard[KeyBoard["Space"] = 32] = "Space"; - KeyBoard[KeyBoard["Backspace"] = 8] = "Backspace"; - KeyBoard[KeyBoard["Tab"] = 9] = "Tab"; - KeyBoard[KeyBoard["Delete"] = 46] = "Delete"; - KeyBoard[KeyBoard["End"] = 35] = "End"; - KeyBoard[KeyBoard["Home"] = 36] = "Home"; - KeyBoard[KeyBoard["Insert"] = 45] = "Insert"; - KeyBoard[KeyBoard["PageDown"] = 34] = "PageDown"; - KeyBoard[KeyBoard["PageUp"] = 33] = "PageUp"; - KeyBoard[KeyBoard["ArrowDown"] = 40] = "ArrowDown"; - KeyBoard[KeyBoard["ArrowLeft"] = 37] = "ArrowLeft"; - KeyBoard[KeyBoard["ArrowRight"] = 39] = "ArrowRight"; - KeyBoard[KeyBoard["ArrowUp"] = 38] = "ArrowUp"; - KeyBoard[KeyBoard["Escape"] = 27] = "Escape"; - KeyBoard[KeyBoard["PrintScreen"] = 44] = "PrintScreen"; - KeyBoard[KeyBoard["ScrollLock"] = 145] = "ScrollLock"; - KeyBoard[KeyBoard["Pause"] = 19] = "Pause"; - // F数字 - KeyBoard[KeyBoard["F1"] = 112] = "F1"; - KeyBoard[KeyBoard["F2"] = 113] = "F2"; - KeyBoard[KeyBoard["F3"] = 114] = "F3"; - KeyBoard[KeyBoard["F5"] = 116] = "F5"; - KeyBoard[KeyBoard["F6"] = 117] = "F6"; - KeyBoard[KeyBoard["F7"] = 118] = "F7"; - KeyBoard[KeyBoard["F8"] = 119] = "F8"; - KeyBoard[KeyBoard["F9"] = 120] = "F9"; - KeyBoard[KeyBoard["F10"] = 121] = "F10"; - KeyBoard[KeyBoard["F11"] = 122] = "F11"; - KeyBoard[KeyBoard["F12"] = 123] = "F12"; - //数字键盘 - KeyBoard[KeyBoard["NumLock"] = 114] = "NumLock"; - KeyBoard[KeyBoard["Numpad0"] = 96] = "Numpad0"; - KeyBoard[KeyBoard["Numpad1"] = 97] = "Numpad1"; - KeyBoard[KeyBoard["Numpad2"] = 98] = "Numpad2"; - KeyBoard[KeyBoard["Numpad3"] = 99] = "Numpad3"; - KeyBoard[KeyBoard["Numpad4"] = 100] = "Numpad4"; - KeyBoard[KeyBoard["Numpad5"] = 101] = "Numpad5"; - KeyBoard[KeyBoard["Numpad6"] = 102] = "Numpad6"; - KeyBoard[KeyBoard["Numpad7"] = 103] = "Numpad7"; - KeyBoard[KeyBoard["Numpad8"] = 104] = "Numpad8"; - KeyBoard[KeyBoard["Numpad9"] = 105] = "Numpad9"; - KeyBoard[KeyBoard["NumpadAdd"] = 107] = "NumpadAdd"; - KeyBoard[KeyBoard["NumpadDivide"] = 111] = "NumpadDivide"; - KeyBoard[KeyBoard["NumpadEqual"] = 12] = "NumpadEqual"; - KeyBoard[KeyBoard["NumpadMultiply"] = 106] = "NumpadMultiply"; - KeyBoard[KeyBoard["NumpadSubtract"] = 109] = "NumpadSubtract"; - KeyBoard[KeyBoard["NumpadDot"] = 110] = "NumpadDot"; - KeyBoard[KeyBoard["NumpadDot1"] = 190] = "NumpadDot1"; -})(KeyBoard = exports.KeyBoard || (exports.KeyBoard = {})); -//# sourceMappingURL=KeyEnum.js.map \ No newline at end of file diff --git a/dist/KeyEnum.js.map b/dist/KeyEnum.js.map deleted file mode 100644 index af7ce92..0000000 --- a/dist/KeyEnum.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"KeyEnum.js","sourceRoot":"","sources":["../src/KeyEnum.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Material.d.ts b/dist/Material.d.ts deleted file mode 100644 index 3ed908e..0000000 --- a/dist/Material.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { MeshBasicMaterial, LineBasicMaterial } from "three"; -export declare let boardMaterial: MeshBasicMaterial; -export declare let selectMaterial: MeshBasicMaterial; -export declare let edgeMaterial: LineBasicMaterial; diff --git a/dist/Material.js b/dist/Material.js deleted file mode 100644 index f661ce8..0000000 --- a/dist/Material.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -//板件的材质,使用这个材质避免板件将线覆盖. -exports.boardMaterial = new three_1.MeshBasicMaterial({ - color: new three_1.Color(0.8, 0.8, 0.8), - polygonOffset: true, - polygonOffsetFactor: 1, - polygonOffsetUnits: 1 -}); -exports.selectMaterial = new three_1.MeshBasicMaterial({ - color: new three_1.Color(0.1, 0.5, 0.5), - polygonOffset: true, - polygonOffsetFactor: 1, - polygonOffsetUnits: 1 -}); -//线框的材质 -exports.edgeMaterial = new three_1.LineBasicMaterial({ linewidth: 2, color: new three_1.Color(0, 0, 0) }); -//# sourceMappingURL=Material.js.map \ No newline at end of file diff --git a/dist/Material.js.map b/dist/Material.js.map deleted file mode 100644 index 3a861a7..0000000 --- a/dist/Material.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Material.js","sourceRoot":"","sources":["../src/Material.ts"],"names":[],"mappings":";;AAAA,+BAAoE;AAEpE,uBAAuB;AACZ,QAAA,aAAa,GAAG,IAAI,yBAAiB,CAAC;IAC7C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEQ,QAAA,cAAc,GAAG,IAAI,yBAAiB,CAAC;IAC9C,KAAK,EAAE,IAAI,aAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,CAAC;IACtB,kBAAkB,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,OAAO;AACI,QAAA,YAAY,GAAG,IAAI,yBAAiB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,aAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC"} \ No newline at end of file diff --git a/dist/Matrix2.d.ts b/dist/Matrix2.d.ts deleted file mode 100644 index 4d417d7..0000000 --- a/dist/Matrix2.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Vector2, Vector3 } from "three"; -export declare class Matrix2 { - private el; - set(n11: number, n12: number, n21: number, n22: number): this; - applyVector(vec: Vector2 | Vector3): this; - setRotate(theta: number): Matrix2; -} diff --git a/dist/Matrix2.js b/dist/Matrix2.js deleted file mode 100644 index 939e8a2..0000000 --- a/dist/Matrix2.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var Matrix2 = /** @class */ (function () { - function Matrix2() { - this.el = [1, 0, 0, 1]; - } - Matrix2.prototype.set = function (n11, n12, n21, n22) { - var te = this.el; - te[0] = n11; - te[1] = n21; - te[2] = n12; - te[3] = n22; - return this; - }; - Matrix2.prototype.applyVector = function (vec) { - var x = vec.x, y = vec.y; - var e = this.el; - vec.x = e[0] * x + e[2] * y; - vec.y = e[1] * x + e[3] * y; - return this; - }; - Matrix2.prototype.setRotate = function (theta) { - var el = this.el; - var c = Math.cos(theta), s = Math.sin(theta); - this.set(c, -s, s, c); - return this; - }; - return Matrix2; -}()); -exports.Matrix2 = Matrix2; -//# sourceMappingURL=Matrix2.js.map \ No newline at end of file diff --git a/dist/Matrix2.js.map b/dist/Matrix2.js.map deleted file mode 100644 index 3dff33b..0000000 --- a/dist/Matrix2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Matrix2.js","sourceRoot":"","sources":["../src/Matrix2.ts"],"names":[],"mappings":";;AAEA;IAAA;QAEY,OAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IA4B9B,CAAC;IA3BG,qBAAG,GAAH,UAAI,GAAW,EAAE,GAAW,EAAE,GAAW,EAAE,GAAW;QAElD,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEjB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,6BAAW,GAAX,UAAY,GAAsB;QAE9B,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAChB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,2BAAS,GAAT,UAAU,KAAa;QAEnB,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,cAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BY,0BAAO"} \ No newline at end of file diff --git a/dist/Orbit.d.ts b/dist/Orbit.d.ts deleted file mode 100644 index 473f2e7..0000000 --- a/dist/Orbit.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Vector3 } from "three"; -/** - * 轨道控制的数学类,观察向量和角度的互相转换 - * 当x当抬头或者低头到90度时,触发万向锁. - * - * @class Orbit - */ -export declare class Orbit { - private m_RoX; - RoZ: number; - get RoX(): number; - set RoX(v: number); - /** - * 使用旋转角度 计算观察向量 - * - * @param {Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量 - * @returns {Vector3} 返回观察向量 - * @memberof Orbit - */ - UpdateDirection(dir?: Vector3): Vector3; - /** - * 使用观察向量,计算旋转角度 - * - * @param {Vector3} dir - * @memberof Orbit - */ - UpdateRoValue(dir: Vector3): void; - /** - * - * 根据观察向量 求头部的向量. - * - * @static - * @param {Vector3} dir - * @param {Vector3} [up] - * @returns {Vector3} - * @memberof Orbit - */ - static ComputUpDirection(dir: Vector3, up?: Vector3): Vector3; -} diff --git a/dist/Orbit.js b/dist/Orbit.js deleted file mode 100644 index 59a751e..0000000 --- a/dist/Orbit.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -/** - * 轨道控制的数学类,观察向量和角度的互相转换 - * 当x当抬头或者低头到90度时,触发万向锁. - * - * @class Orbit - */ -var Orbit = /** @class */ (function () { - function Orbit() { - //抬头低头 正数抬头 负数低头 - this.m_RoX = 0; - //身体旋转 0为正右边 逆时针旋转 - this.RoZ = 0; - } - Object.defineProperty(Orbit.prototype, "RoX", { - get: function () { - return this.m_RoX; - }, - set: function (v) { - this.m_RoX = three_1.MathUtils.clamp(v, Math.PI * -0.5, Math.PI * 0.5); - }, - enumerable: true, - configurable: true - }); - /** - * 使用旋转角度 计算观察向量 - * - * @param {Vector3} [dir] 引用传入,如果传入,那么就不构造新的向量 - * @returns {Vector3} 返回观察向量 - * @memberof Orbit - */ - Orbit.prototype.UpdateDirection = function (dir) { - var rtDir = dir ? dir : new three_1.Vector3(); - rtDir.z = Math.sin(this.m_RoX); - //归一化专用. - var d = Math.abs(Math.cos(this.m_RoX)); - rtDir.x = Math.cos(this.RoZ) * d; - rtDir.y = Math.sin(this.RoZ) * d; - return rtDir; - }; - /** - * 使用观察向量,计算旋转角度 - * - * @param {Vector3} dir - * @memberof Orbit - */ - Orbit.prototype.UpdateRoValue = function (dir) { - dir.normalize(); - this.m_RoX = Math.asin(dir.z); - if (dir.x < 1e-4 && dir.y < 1e-4) - this.RoZ = Math.PI * 0.5; - else - this.RoZ = Math.atan2(dir.y, dir.x); - }; - /** - * - * 根据观察向量 求头部的向量. - * - * @static - * @param {Vector3} dir - * @param {Vector3} [up] - * @returns {Vector3} - * @memberof Orbit - */ - Orbit.ComputUpDirection = function (dir, up) { - var upRes = up ? up : new three_1.Vector3(); - if (dir.equals(new three_1.Vector3(0, 0, -1))) { - upRes.set(0, 1, 0); - } - else if (dir.equals(new three_1.Vector3(0, 0, 1))) { - upRes.set(0, -1, 0); - } - else { - var xv = new three_1.Vector3(); - xv.crossVectors(new three_1.Vector3(0, 0, 1), dir); - upRes.crossVectors(dir, xv); - upRes.normalize(); - } - return upRes; - }; - return Orbit; -}()); -exports.Orbit = Orbit; -//# sourceMappingURL=Orbit.js.map \ No newline at end of file diff --git a/dist/Orbit.js.map b/dist/Orbit.js.map deleted file mode 100644 index 28d824e..0000000 --- a/dist/Orbit.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Orbit.js","sourceRoot":"","sources":["../src/Orbit.ts"],"names":[],"mappings":";;AAAA,+BAA2C;AAE3C;;;;;GAKG;AACH;IAAA;QAEI,gBAAgB;QACR,UAAK,GAAW,CAAC,CAAC;QAE1B,kBAAkB;QAClB,QAAG,GAAW,CAAC,CAAC;IA+EpB,CAAC;IA7EG,sBAAI,sBAAG;aAAP;YAEI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aACD,UAAQ,CAAC;YAEL,IAAI,CAAC,KAAK,GAAG,iBAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;QACnE,CAAC;;;OAJA;IAMD;;;;;;OAMG;IACH,+BAAe,GAAf,UAAgB,GAAa;QAEzB,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,eAAO,EAAE,CAAC;QAEtC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,QAAQ;QACR,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAEvC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,6BAAa,GAAb,UAAc,GAAY;QAEtB,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI;YAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;;YAEzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACI,uBAAiB,GAAxB,UAAyB,GAAY,EAAE,EAAY;QAE/C,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,eAAO,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACrC;YACI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACtB;aACI,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACzC;YACI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB;aAED;YACI,IAAI,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;YACvB,EAAE,CAAC,YAAY,CAAC,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,CAAC,SAAS,EAAE,CAAC;SACrB;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACL,YAAC;AAAD,CAAC,AArFD,IAqFC;AArFY,sBAAK"} \ No newline at end of file diff --git a/dist/PlaneExt.d.ts b/dist/PlaneExt.d.ts deleted file mode 100644 index 2911a3e..0000000 --- a/dist/PlaneExt.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as THREE from 'three'; -import { Vector3, Line3, Plane } from "three"; -export declare class PlaneExt extends Plane { - constructor(normal?: Vector3, constant?: number); - intersectLine(line: Line3, optionalTarget?: Vector3, extendLine?: boolean): Vector3; - intersectRay(ray: THREE.Ray, optionalTarget?: Vector3, extendLine?: boolean): Vector3; -} diff --git a/dist/PlaneExt.js b/dist/PlaneExt.js deleted file mode 100644 index 9d86b3b..0000000 --- a/dist/PlaneExt.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var THREE = require("three"); -var three_1 = require("three"); -var PlaneExt = /** @class */ (function (_super) { - __extends(PlaneExt, _super); - function PlaneExt(normal, constant) { - return _super.call(this, normal, constant) || this; - } - PlaneExt.prototype.intersectLine = function (line, optionalTarget, extendLine) { - var v1 = new three_1.Vector3(); - var result = optionalTarget || new three_1.Vector3(); - var direction = line.delta(v1); - var denominator = this.normal.dot(direction); - if (denominator === 0) { - // line is coplanar, return origin - if (this.distanceToPoint(line.start) === 0) { - return result.copy(line.start); - } - // Unsure if this is the correct method to handle this case. - return undefined; - } - var t = -(line.start.dot(this.normal) + this.constant) / denominator; - //If you not extendLine,check intersect point in Line - if (!extendLine && (t < 0 || t > 1)) { - return undefined; - } - return result.copy(direction).multiplyScalar(t).add(line.start); - }; - PlaneExt.prototype.intersectRay = function (ray, optionalTarget, extendLine) { - // 从射线初始位置 - var line = new THREE.Line3(ray.origin.clone(), ray.origin.clone().add(ray.direction)); - return this.intersectLine(line, optionalTarget, extendLine); - }; - return PlaneExt; -}(three_1.Plane)); -exports.PlaneExt = PlaneExt; -//# sourceMappingURL=PlaneExt.js.map \ No newline at end of file diff --git a/dist/PlaneExt.js.map b/dist/PlaneExt.js.map deleted file mode 100644 index 9ad51f4..0000000 --- a/dist/PlaneExt.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PlaneExt.js","sourceRoot":"","sources":["../src/PlaneExt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6BAA+B;AAC/B,+BAA8C;AAE9C;IAA8B,4BAAK;IAE/B,kBAAY,MAAgB,EAAE,QAAiB;eAE3C,kBAAM,MAAM,EAAE,QAAQ,CAAC;IAC3B,CAAC;IACD,gCAAa,GAAb,UAAc,IAAW,EAAE,cAAwB,EAAE,UAAoB;QAErE,IAAI,EAAE,GAAG,IAAI,eAAO,EAAE,CAAC;QAEvB,IAAI,MAAM,GAAG,cAAc,IAAI,IAAI,eAAO,EAAE,CAAC;QAE7C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE/B,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,WAAW,KAAK,CAAC,EACrB;YACI,kCAAkC;YAClC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1C;gBACI,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;YACD,4DAA4D;YAC5D,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QACtE,qDAAqD;QACrD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACnC;YACI,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IACD,+BAAY,GAAZ,UAAa,GAAc,EAAE,cAAwB,EAAE,UAAoB;QAEvE,UAAU;QACV,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IACL,eAAC;AAAD,CAAC,AA1CD,CAA8B,aAAK,GA0ClC;AA1CY,4BAAQ"} \ No newline at end of file diff --git a/dist/PointPick.d.ts b/dist/PointPick.d.ts deleted file mode 100644 index e62c6f7..0000000 --- a/dist/PointPick.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Mesh } from "three"; -import { Viewer } from "."; -/** - * 点选 - * - * @export - * @param {Viewer} view - * @param {number} ptx - * @param {number} pty - * @returns {(Mesh | undefined)} - */ -export declare function PointPick(view: Viewer, ptx: number, pty: number): Mesh | undefined; diff --git a/dist/PointPick.js b/dist/PointPick.js deleted file mode 100644 index 55afc42..0000000 --- a/dist/PointPick.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -/** - * 点选 - * - * @export - * @param {Viewer} view - * @param {number} ptx - * @param {number} pty - * @returns {(Mesh | undefined)} - */ -function PointPick(view, ptx, pty) { - var raycaster = new three_1.Raycaster(); - raycaster.setFromCamera({ - x: (ptx / view._Width) * 2 - 1, - y: -(pty / view._Height) * 2 + 1 //y轴相反 - }, view.m_Camera.Camera); - //https://github.com/mrdoob/three.js/issues/14128 - raycaster.ray.origin.set((ptx / view._Width) * 2 - 1, -(pty / view._Height) * 2 + 1, -1).unproject(view.m_Camera.Camera); - var minDis = Infinity; - var minObj = undefined; - view.m_Scene.children.forEach(function (obj) { - if (obj instanceof three_1.Mesh) { - var intersects = []; - obj.raycast(raycaster, intersects); - for (var _i = 0, intersects_1 = intersects; _i < intersects_1.length; _i++) { - var i = intersects_1[_i]; - if (i.distance < minDis) { - minObj = obj; - minDis = i.distance; - } - } - } - }); - return minObj; -} -exports.PointPick = PointPick; -//# sourceMappingURL=PointPick.js.map \ No newline at end of file diff --git a/dist/PointPick.js.map b/dist/PointPick.js.map deleted file mode 100644 index ca5b3ef..0000000 --- a/dist/PointPick.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"PointPick.js","sourceRoot":"","sources":["../src/PointPick.ts"],"names":[],"mappings":";;AAAA,+BAA2E;AAc3E;;;;;;;;GAQG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IAE5D,IAAI,SAAS,GAAG,IAAI,iBAAS,EAAE,CAAC;IAChC,SAAS,CAAC,aAAa,CAAC;QACpB,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAC9B,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM;KAC3C,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzB,iDAAiD;IACjD,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAG1H,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,IAAI,MAAM,GAAG,SAAS,CAAC;IAEvB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,GAAG;QAE7B,IAAI,GAAG,YAAY,YAAI,EACvB;YACI,IAAI,UAAU,GAAgB,EAAE,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnC,KAAc,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU,EACxB;gBADK,IAAI,CAAC,mBAAA;gBAEN,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,EACvB;oBACI,MAAM,GAAG,GAAG,CAAC;oBACb,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC;iBACvB;aACJ;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AAlCD,8BAkCC"} \ No newline at end of file diff --git a/dist/RotateUV.d.ts b/dist/RotateUV.d.ts deleted file mode 100644 index f56ed4e..0000000 --- a/dist/RotateUV.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Geometry } from 'three'; -export declare function RotateUVs(geo: Geometry): void; diff --git a/dist/RotateUV.js b/dist/RotateUV.js deleted file mode 100644 index fcdef39..0000000 --- a/dist/RotateUV.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var Matrix2_1 = require("./Matrix2"); -var three_1 = require("three"); -function RotateUVs(geo) { - var roMat = new Matrix2_1.Matrix2(); - roMat.set(0, -1, 1, 0); - var addV = new three_1.Vector2(1, 0); - for (var _i = 0, _a = geo.faceVertexUvs; _i < _a.length; _i++) { - var uvs = _a[_i]; - for (var _b = 0, uvs_1 = uvs; _b < uvs_1.length; _b++) { - var uv = uvs_1[_b]; - for (var _c = 0, uv_1 = uv; _c < uv_1.length; _c++) { - var v = uv_1[_c]; - roMat.applyVector(v); - v.add(addV); - } - } - } - geo.uvsNeedUpdate = true; -} -exports.RotateUVs = RotateUVs; -//# sourceMappingURL=RotateUV.js.map \ No newline at end of file diff --git a/dist/RotateUV.js.map b/dist/RotateUV.js.map deleted file mode 100644 index 3f0947c..0000000 --- a/dist/RotateUV.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"RotateUV.js","sourceRoot":"","sources":["../src/RotateUV.ts"],"names":[],"mappings":";;AAAA,qCAAoC;AACpC,+BAA0C;AAG1C,SAAgB,SAAS,CAAC,GAAa;IAEnC,IAAI,KAAK,GAAG,IAAI,iBAAO,EAAE,CAAC;IAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACX,CAAC,EAAE,CAAC,CAAC,CAAC;IAEV,IAAI,IAAI,GAAG,IAAI,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7B,KAAgB,UAAiB,EAAjB,KAAA,GAAG,CAAC,aAAa,EAAjB,cAAiB,EAAjB,IAAiB,EACjC;QADK,IAAI,GAAG,SAAA;QAER,KAAe,UAAG,EAAH,WAAG,EAAH,iBAAG,EAAH,IAAG,EAClB;YADK,IAAI,EAAE,YAAA;YAEP,KAAc,UAAE,EAAF,SAAE,EAAF,gBAAE,EAAF,IAAE,EAChB;gBADK,IAAI,CAAC,WAAA;gBAEN,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACrB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACf;SACJ;KACJ;IACD,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,CAAC;AApBD,8BAoBC"} \ No newline at end of file diff --git a/dist/Text.d.ts b/dist/Text.d.ts deleted file mode 100644 index 2004644..0000000 --- a/dist/Text.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Mesh } from "three"; -export declare class DbText extends Mesh { - /** - * - * 构造一个文本对象,8位点(中心点下面)在0点 - * @param {string} str 数字字符串 - * @param {number} height 文本高度 - * @memberof DbText - */ - constructor(str: string, height?: number); -} diff --git a/dist/Text.js b/dist/Text.js deleted file mode 100644 index 01b3d05..0000000 --- a/dist/Text.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var ColorPalette_1 = require("./ColorPalette"); -var GeUtils_1 = require("./GeUtils"); -var FontLoaderUtil = /** @class */ (function () { - function FontLoaderUtil() { - } - FontLoaderUtil.Load = function () { - if (!this.defFont) { - var f = require("../resources/fonts/helvetiker_regular.typeface.json"); - var loader = new three_1.FontLoader(); - this.defFont = loader.parse(f); - } - return this.defFont; - }; - return FontLoaderUtil; -}()); -var DbText = /** @class */ (function (_super) { - __extends(DbText, _super); - /** - * - * 构造一个文本对象,8位点(中心点下面)在0点 - * @param {string} str 数字字符串 - * @param {number} height 文本高度 - * @memberof DbText - */ - function DbText(str, height) { - if (height === void 0) { height = 5; } - var _this = this; - var font = FontLoaderUtil.Load(); - var shapes = font.generateShapes(str, height); - var geometry = new three_1.ShapeGeometry(shapes); - geometry.computeBoundingBox(); - _this = _super.call(this, geometry, ColorPalette_1.ColorMaterial.GetBasicMaterial(5)) || this; - var center = geometry.boundingBox.getCenter(new three_1.Vector3()); - _this.applyMatrix4(GeUtils_1.MoveMatrix(new three_1.Vector3(-center.x, 0, 0))); - return _this; - } - return DbText; -}(three_1.Mesh)); -exports.DbText = DbText; -//# sourceMappingURL=Text.js.map \ No newline at end of file diff --git a/dist/Text.js.map b/dist/Text.js.map deleted file mode 100644 index f6bc9e1..0000000 --- a/dist/Text.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAA8E;AAC9E,+CAA+C;AAC/C,qCAAuC;AAEvC;IAAA;IAaA,CAAC;IAVQ,mBAAI,GAAX;QAEE,IAAI,CAAC,IAAI,CAAC,OAAO,EACjB;YACE,IAAM,CAAC,GAAG,OAAO,CAAC,qDAAqD,CAAC,CAAC;YACzE,IAAI,MAAM,GAAG,IAAI,kBAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AAbD,IAaC;AAED;IAA4B,0BAAI;IAE9B;;;;;;OAMG;IACH,gBAAY,GAAW,EAAE,MAAkB;QAAlB,uBAAA,EAAA,UAAkB;QAA3C,iBAaC;QAXC,IAAI,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAkB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,QAAQ,GAAG,IAAI,qBAAa,CAAC,MAAM,CAAC,CAAC;QAEzC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE9B,QAAA,kBAAM,QAAQ,EAAE,4BAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAC;QAEnD,IAAI,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,eAAO,EAAE,CAAC,CAAC;QAC3D,KAAI,CAAC,YAAY,CAAC,oBAAU,CAAC,IAAI,eAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;IAC9D,CAAC;IACH,aAAC;AAAD,CAAC,AAvBD,CAA4B,YAAI,GAuB/B;AAvBY,wBAAM"} \ No newline at end of file diff --git a/dist/ThreeCSG.d.ts b/dist/ThreeCSG.d.ts deleted file mode 100644 index b3478c2..0000000 --- a/dist/ThreeCSG.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -import * as THREE from "three"; -export declare class ThreeBSP { - tree: Node; - matrix: THREE.Matrix4; - Node: typeof Node; - Vertex: typeof Vertex; - Polygon: typeof Polygon; - constructor(geometry: any); - subtract(other_tree: any): ThreeBSP; - union(other_tree: any): ThreeBSP; - intersect(other_tree: any): ThreeBSP; - toGeometry(): THREE.Geometry; - toMesh(material: any): THREE.Mesh; -} -export declare class Polygon { - w: any; - normal: any; - vertices: any; - constructor(vertices?: any, normal?: any, w?: any); - calculateProperties(): this; - clone(): Polygon; - flip(): this; - classifyVertex(vertex: any): 1 | 2 | 0; - classifySide(polygon: any): 1 | 3 | 2 | 0; - splitPolygon(polygon: any, coplanar_front: any, coplanar_back: any, front: any, back: any): void; -} -export declare class Vertex { - uv: any; - normal: any; - z: any; - y: any; - x: any; - constructor(x: number, y: number, z: number, normal: THREE.Vector3, uv: THREE.Vector2); - clone(): Vertex; - add(vertex: any): this; - subtract(vertex: any): this; - multiplyScalar(scalar: any): this; - cross(vertex: any): this; - normalize(): this; - dot(vertex: any): number; - lerp(a: any, t: any): this; - interpolate(other: any, t: any): Vertex; - applyMatrix4(m: any): this; -} -export declare class Node { - divider: any; - back: any; - front: any; - polygons: any[]; - constructor(polygons?: any); - isConvex(polygons: any): boolean; - build(polygons: any): void; - allPolygons(): any[]; - clone(): Node; - invert(): this; - clipPolygons(polygons: any): any; - clipTo(node: any): void; -} diff --git a/dist/ThreeCSG.js b/dist/ThreeCSG.js deleted file mode 100644 index 6562d4d..0000000 --- a/dist/ThreeCSG.js +++ /dev/null @@ -1,458 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var THREE = require("three"); -/*jshint esversion: 6 */ -var EPSILON = 1e-5, COPLANAR = 0, //共面 -FRONT = 1, //前 -BACK = 2, SPANNING = 3; -var ThreeBSP = /** @class */ (function () { - function ThreeBSP(geometry) { - // Convert THREE.Geometry to ThreeBSP - var i, _length_i, face, vertex, faceVertexUvs, uvs, polygon, polygons = [], tree; - this.Polygon = Polygon; - this.Vertex = Vertex; - this.Node = Node; - if (geometry instanceof THREE.Geometry) { - this.matrix = new THREE.Matrix4(); - } - else if (geometry instanceof THREE.Mesh) { - // #todo: add hierarchy support - geometry.updateMatrix(); - this.matrix = geometry.matrix.clone(); - geometry = geometry.geometry; - } - else if (geometry instanceof Node) { - this.tree = geometry; - this.matrix = new THREE.Matrix4(); - return this; - } - else { - throw 'ThreeBSP: Given geometry is unsupported'; - } - for (i = 0, _length_i = geometry.faces.length; i < _length_i; i++) { - face = geometry.faces[i]; - faceVertexUvs = geometry.faceVertexUvs[0][i]; - polygon = new Polygon(); - if (face instanceof THREE.Face3) { - vertex = geometry.vertices[face.a]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[0].x, faceVertexUvs[0].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[0], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - vertex = geometry.vertices[face.b]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[1].x, faceVertexUvs[1].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[1], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - vertex = geometry.vertices[face.c]; - uvs = faceVertexUvs ? new THREE.Vector2(faceVertexUvs[2].x, faceVertexUvs[2].y) : null; - vertex = new Vertex(vertex.x, vertex.y, vertex.z, face.vertexNormals[2], uvs); - vertex.applyMatrix4(this.matrix); - polygon.vertices.push(vertex); - } - else { - throw 'Invalid face type at index ' + i; - } - polygon.calculateProperties(); - polygons.push(polygon); - } - this.tree = new Node(polygons); - } - //减 - ThreeBSP.prototype.subtract = function (other_tree) { - var a = this.tree.clone(), b = other_tree.tree.clone(); - a.invert(); - a.clipTo(b); - b.clipTo(a); - b.invert(); - b.clipTo(a); - b.invert(); - a.build(b.allPolygons()); - a.invert(); - var bsp = new ThreeBSP(a); - bsp.matrix = this.matrix; - return bsp; - }; - //结合 - ThreeBSP.prototype.union = function (other_tree) { - var a = this.tree.clone(), b = other_tree.tree.clone(); - a.clipTo(b); - b.clipTo(a); - b.invert(); - b.clipTo(a); - b.invert(); - a.build(b.allPolygons()); - var bsp = new ThreeBSP(a); - bsp.matrix = this.matrix; - return bsp; - }; - //相交 - ThreeBSP.prototype.intersect = function (other_tree) { - var a = this.tree.clone(), b = other_tree.tree.clone(); - a.invert(); - b.clipTo(a); - b.invert(); - a.clipTo(b); - b.clipTo(a); - a.build(b.allPolygons()); - a.invert(); - var bsp = new ThreeBSP(a); - bsp.matrix = this.matrix; - return bsp; - }; - ThreeBSP.prototype.toGeometry = function () { - var i, j, matrix = new THREE.Matrix4().getInverse(this.matrix), geometry = new THREE.Geometry(), polygons = this.tree.allPolygons(), polygon_count = polygons.length, polygon, polygon_vertice_count, vertice_dict = {}, vertex_idx_a, vertex_idx_b, vertex_idx_c, vertex, face, verticeUvs; - for (i = 0; i < polygon_count; i++) { - polygon = polygons[i]; - polygon_vertice_count = polygon.vertices.length; - for (j = 2; j < polygon_vertice_count; j++) { - verticeUvs = []; - vertex = polygon.vertices[0]; - verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); - vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); - vertex.applyMatrix4(matrix); - if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { - vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; - } - else { - geometry.vertices.push(vertex); - vertex_idx_a = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; - } - vertex = polygon.vertices[j - 1]; - verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); - vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); - vertex.applyMatrix4(matrix); - if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { - vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; - } - else { - geometry.vertices.push(vertex); - vertex_idx_b = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; - } - vertex = polygon.vertices[j]; - verticeUvs.push(new THREE.Vector2(vertex.uv.x, vertex.uv.y)); - vertex = new THREE.Vector3(vertex.x, vertex.y, vertex.z); - vertex.applyMatrix4(matrix); - if (typeof vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] !== 'undefined') { - vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z]; - } - else { - geometry.vertices.push(vertex); - vertex_idx_c = vertice_dict[vertex.x + ',' + vertex.y + ',' + vertex.z] = geometry.vertices.length - 1; - } - face = new THREE.Face3(vertex_idx_a, vertex_idx_b, vertex_idx_c, new THREE.Vector3(polygon.normal.x, polygon.normal.y, polygon.normal.z)); - geometry.faces.push(face); - geometry.faceVertexUvs[0].push(verticeUvs); - } - } - return geometry; - }; - ThreeBSP.prototype.toMesh = function (material) { - var geometry = this.toGeometry(), mesh = new THREE.Mesh(geometry, material); - mesh.position.setFromMatrixPosition(this.matrix); - mesh.rotation.setFromRotationMatrix(this.matrix); - return mesh; - }; - return ThreeBSP; -}()); -exports.ThreeBSP = ThreeBSP; -//多边形 -var Polygon = /** @class */ (function () { - function Polygon(vertices, normal, w) { - if (!(vertices instanceof Array)) { - vertices = []; - } - this.vertices = vertices; - if (vertices.length > 0) { - this.calculateProperties(); - } - else { - this.normal = this.w = undefined; - } - } - Polygon.prototype.calculateProperties = function () { - var a = this.vertices[0], b = this.vertices[1], c = this.vertices[2]; - this.normal = b.clone().subtract(a).cross(c.clone().subtract(a)).normalize(); - this.w = this.normal.clone().dot(a); - return this; - }; - Polygon.prototype.clone = function () { - var i, vertice_count, polygon = new Polygon(); - for (i = 0, vertice_count = this.vertices.length; i < vertice_count; i++) { - polygon.vertices.push(this.vertices[i].clone()); - } - polygon.calculateProperties(); - return polygon; - }; - Polygon.prototype.flip = function () { - var i, vertices = []; - this.normal.multiplyScalar(-1); - this.w *= -1; - for (i = this.vertices.length - 1; i >= 0; i--) { - vertices.push(this.vertices[i]); - } - this.vertices = vertices; - return this; - }; - //划分? - Polygon.prototype.classifyVertex = function (vertex) { - var side_value = this.normal.dot(vertex) - this.w; - if (side_value < -EPSILON) { - return BACK; - } - else if (side_value > EPSILON) { - return FRONT; - } - else { - return COPLANAR; - } - }; - //划分边? - Polygon.prototype.classifySide = function (polygon) { - var i, vertex, classification, num_positive = 0, num_negative = 0, vertice_count = polygon.vertices.length; - for (i = 0; i < vertice_count; i++) { - vertex = polygon.vertices[i]; - classification = this.classifyVertex(vertex); - if (classification === FRONT) { - num_positive++; - } - else if (classification === BACK) { - num_negative++; - } - } - if (num_positive > 0 && num_negative === 0) { - return FRONT; - } - else if (num_positive === 0 && num_negative > 0) { - return BACK; - } - else if (num_positive === 0 && num_negative === 0) { - return COPLANAR; - } - else { - return SPANNING; - } - }; - //分解 分离 区域? - Polygon.prototype.splitPolygon = function (polygon, coplanar_front, coplanar_back, front, back) { - var classification = this.classifySide(polygon); - if (classification === COPLANAR) { - (this.normal.dot(polygon.normal) > 0 ? coplanar_front : coplanar_back).push(polygon); - } - else if (classification === FRONT) { - front.push(polygon); - } - else if (classification === BACK) { - back.push(polygon); - } - else { - var vertice_count = void 0, i = void 0, j = void 0, ti = void 0, tj = void 0, vi = void 0, vj = void 0, t = void 0, v = void 0, f = [], b = []; - for (i = 0, vertice_count = polygon.vertices.length; i < vertice_count; i++) { - j = (i + 1) % vertice_count; - vi = polygon.vertices[i]; - vj = polygon.vertices[j]; - ti = this.classifyVertex(vi); - tj = this.classifyVertex(vj); - if (ti != BACK) - f.push(vi); - if (ti != FRONT) - b.push(vi); - if ((ti | tj) === SPANNING) { - t = (this.w - this.normal.dot(vi)) / this.normal.dot(vj.clone().subtract(vi)); - v = vi.interpolate(vj, t); - f.push(v); - b.push(v); - } - } - if (f.length >= 3) - front.push(new Polygon(f).calculateProperties()); - if (b.length >= 3) - back.push(new Polygon(b).calculateProperties()); - } - }; - return Polygon; -}()); -exports.Polygon = Polygon; -var Vertex = /** @class */ (function () { - function Vertex(x, y, z, normal, uv) { - this.x = x; - this.y = y; - this.z = z; - this.normal = normal || new THREE.Vector3(); - this.uv = uv || new THREE.Vector2(); - } - Vertex.prototype.clone = function () { - return new Vertex(this.x, this.y, this.z, this.normal.clone(), this.uv.clone()); - }; - Vertex.prototype.add = function (vertex) { - this.x += vertex.x; - this.y += vertex.y; - this.z += vertex.z; - return this; - }; - Vertex.prototype.subtract = function (vertex) { - this.x -= vertex.x; - this.y -= vertex.y; - this.z -= vertex.z; - return this; - }; - Vertex.prototype.multiplyScalar = function (scalar) { - this.x *= scalar; - this.y *= scalar; - this.z *= scalar; - return this; - }; - //×乘 - Vertex.prototype.cross = function (vertex) { - var x = this.x, y = this.y, z = this.z; - this.x = y * vertex.z - z * vertex.y; - this.y = z * vertex.x - x * vertex.z; - this.z = x * vertex.y - y * vertex.x; - return this; - }; - Vertex.prototype.normalize = function () { - var length = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); - this.x /= length; - this.y /= length; - this.z /= length; - return this; - }; - //点乘 - Vertex.prototype.dot = function (vertex) { - return this.x * vertex.x + this.y * vertex.y + this.z * vertex.z; - }; - //线性插值 - Vertex.prototype.lerp = function (a, t) { - this.add(a.clone().subtract(this).multiplyScalar(t)); - this.normal.add(a.normal.clone().sub(this.normal).multiplyScalar(t)); - this.uv.add(a.uv.clone().sub(this.uv).multiplyScalar(t)); - return this; - }; - //插值 - Vertex.prototype.interpolate = function (other, t) { - return this.clone().lerp(other, t); - }; - Vertex.prototype.applyMatrix4 = function (m) { - // input: THREE.Matrix4 affine matrix - var x = this.x, y = this.y, z = this.z; - var e = m.elements; - this.x = e[0] * x + e[4] * y + e[8] * z + e[12]; - this.y = e[1] * x + e[5] * y + e[9] * z + e[13]; - this.z = e[2] * x + e[6] * y + e[10] * z + e[14]; - return this; - }; - return Vertex; -}()); -exports.Vertex = Vertex; -var Node = /** @class */ (function () { - function Node(polygons) { - var i, polygon_count, front = [], back = []; - this.polygons = []; - this.front = this.back = undefined; - if (!(polygons instanceof Array) || polygons.length === 0) - return; - this.divider = polygons[0].clone(); - for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { - this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); - } - if (front.length > 0) { - this.front = new Node(front); - } - if (back.length > 0) { - this.back = new Node(back); - } - } - //是凸的? 凸包? - Node.prototype.isConvex = function (polygons) { - var i, j; - for (i = 0; i < polygons.length; i++) { - for (j = 0; j < polygons.length; j++) { - if (i !== j && polygons[i].classifySide(polygons[j]) !== BACK) { - return false; - } - } - } - return true; - }; - Node.prototype.build = function (polygons) { - var i, polygon_count, front = [], back = []; - if (!this.divider) { - this.divider = polygons[0].clone(); - } - for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { - this.divider.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); - } - if (front.length > 0) { - if (!this.front) - this.front = new Node(); - this.front.build(front); - } - if (back.length > 0) { - if (!this.back) - this.back = new Node(); - this.back.build(back); - } - }; - Node.prototype.allPolygons = function () { - var polygons = this.polygons.slice(); - if (this.front) - polygons = polygons.concat(this.front.allPolygons()); - if (this.back) - polygons = polygons.concat(this.back.allPolygons()); - return polygons; - }; - Node.prototype.clone = function () { - var node = new Node(); - node.divider = this.divider.clone(); - node.polygons = this.polygons.map(function (polygon) { - return polygon.clone(); - }); - node.front = this.front && this.front.clone(); - node.back = this.back && this.back.clone(); - return node; - }; - //反转 - Node.prototype.invert = function () { - var i, polygon_count, temp; - for (i = 0, polygon_count = this.polygons.length; i < polygon_count; i++) { - this.polygons[i].flip(); - } - this.divider.flip(); - if (this.front) - this.front.invert(); - if (this.back) - this.back.invert(); - temp = this.front; - this.front = this.back; - this.back = temp; - return this; - }; - // - Node.prototype.clipPolygons = function (polygons) { - var i, polygon_count, front, back; - if (!this.divider) - return polygons.slice(); - front = []; - back = []; - for (i = 0, polygon_count = polygons.length; i < polygon_count; i++) { - this.divider.splitPolygon(polygons[i], front, back, front, back); - } - if (this.front) - front = this.front.clipPolygons(front); - if (this.back) - back = this.back.clipPolygons(back); - else - back = []; - return front.concat(back); - }; - Node.prototype.clipTo = function (node) { - this.polygons = node.clipPolygons(this.polygons); - if (this.front) - this.front.clipTo(node); - if (this.back) - this.back.clipTo(node); - }; - return Node; -}()); -exports.Node = Node; -//# sourceMappingURL=ThreeCSG.js.map \ No newline at end of file diff --git a/dist/ThreeCSG.js.map b/dist/ThreeCSG.js.map deleted file mode 100644 index 5bc5dea..0000000 --- a/dist/ThreeCSG.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ThreeCSG.js","sourceRoot":"","sources":["../src/ThreeCSG.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Utils.d.ts b/dist/Utils.d.ts deleted file mode 100644 index 948957c..0000000 --- a/dist/Utils.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Viewer } from "."; -export declare function LoadBoard(view: Viewer, data: any[], clear?: boolean): { - blockMeshMap: Map; - meshBlockMap: Map; -}; diff --git a/dist/Utils.js b/dist/Utils.js deleted file mode 100644 index 6c22c6a..0000000 --- a/dist/Utils.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var _1 = require("."); -function dispose(m) { - //@ts-ignore - if (m.geometry) - //@ts-ignore - m.geometry.dispose(); - m.children.forEach(function (o) { return dispose(o); }); -} -function LoadBoard(view, data, clear) { - var _a, _b, _c; - if (clear === void 0) { clear = true; } - if (clear) { - dispose(view.m_Scene); - view.m_Scene.children.length = 0; - } - if (data.length === 0) - return; - //加板 - var _d = _1.createTemplateBoard(data), meshs = _d.meshs, edgesa = _d.edgesa, relations = _d.relations; - //加标注 - var dims = _1.DrawDimension(meshs); - (_a = view.m_Scene).add.apply(_a, meshs); - (_b = view.m_Scene).add.apply(_b, edgesa); - (_c = view.m_Scene).add.apply(_c, dims); - view.ViewToSwiso(); - view.ZoomAll(); - view.Zoom(1.1); - return relations; -} -exports.LoadBoard = LoadBoard; -//# sourceMappingURL=Utils.js.map \ No newline at end of file diff --git a/dist/Utils.js.map b/dist/Utils.js.map deleted file mode 100644 index 1b338e1..0000000 --- a/dist/Utils.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../src/Utils.ts"],"names":[],"mappings":";;AACA,sBAA+E;AAE/E,SAAS,OAAO,CAAC,CAAW;IAExB,YAAY;IACZ,IAAI,CAAC,CAAC,QAAQ;QACV,YAAY;QACZ,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAEzB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,CAAC,CAAC,EAAV,CAAU,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY,EAAE,IAAW,EAAE,KAAqB;;IAArB,sBAAA,EAAA,YAAqB;IAEtE,IAAI,KAAK,EACT;QACI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;KACpC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC9B,IAAI;IACA,IAAA,iCAAwD,EAAtD,gBAAK,EAAE,kBAAM,EAAE,wBAAuC,CAAC;IAE7D,KAAK;IACL,IAAI,IAAI,GAAG,gBAAa,CAAC,KAAK,CAAC,CAAC;IAEhC,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,KAAK,EAAE;IAC3B,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,MAAM,EAAE;IAC5B,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,WAAI,IAAI,EAAE;IAE1B,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,OAAO,SAAS,CAAC;AACrB,CAAC;AAxBD,8BAwBC"} \ No newline at end of file diff --git a/dist/ViewSrc/index.d.ts b/dist/ViewSrc/index.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/dist/ViewSrc/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/dist/ViewSrc/index.js b/dist/ViewSrc/index.js deleted file mode 100644 index 19030f1..0000000 --- a/dist/ViewSrc/index.js +++ /dev/null @@ -1,70 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -// import { Color, Face3, MeshBasicMaterial, Object3D, Vector2, Vector3 } from "three"; -// import "./style.css"; -var three_1 = require("three"); -var CameraControls_1 = require("../CameraControls"); -var data_1 = require("../data"); -var GeUtils_1 = require("../GeUtils"); -var Utils_1 = require("../Utils"); -var Viewer_1 = require("../Viewer"); -var btn = document.createElement("button"); -btn.innerHTML = "载入"; -document.body.appendChild(btn); -var btn2 = document.createElement("button"); -btn2.innerHTML = "清理"; -document.body.appendChild(btn2); -var btn3 = document.createElement("button"); -btn3.innerHTML = "爆炸图"; -document.body.appendChild(btn3); -var el = document.createElement("canvas"); -el.style.width = "80%"; -el.style.height = "80%"; -document.body.appendChild(el); -var view = new Viewer_1.Viewer(el); -//修改这个顺序 改变1 2 3 个触摸点时的触发状态. -view.m_CameraCtrl.m_TouthTypeList = [CameraControls_1.CameraControlState.Rotate, CameraControls_1.CameraControlState.Scale, CameraControls_1.CameraControlState.Pan]; -//例如,修改单指滑动为平移. -view.m_CameraCtrl.m_TouthTypeList = [CameraControls_1.CameraControlState.Pan, CameraControls_1.CameraControlState.Scale, CameraControls_1.CameraControlState.Rotate]; -//加载 -btn.onclick = function () { - console.time(); - for (var i = 0; i < 1; i++) - Utils_1.LoadBoard(view, data_1.data); - console.timeEnd(); -}; -btn2.onclick = function () { - // LoadBoard(view, []); -}; -btn3.onclick = function () { - var box = GeUtils_1.GetBox(view.m_Scene); - var cen = box.getCenter(new three_1.Vector3()); - var m = []; - for (var _i = 0, _a = view.m_Scene.children; _i < _a.length; _i++) { - var obj = _a[_i]; - if (obj.userData && obj.userData instanceof three_1.Vector3) { - var objCen = GeUtils_1.GetBox(obj).getCenter(new three_1.Vector3()); - var v = objCen.clone().sub(cen); - var zv = obj.userData; - if (zv instanceof three_1.Vector3) { - var d = zv.dot(v); - // m.set(obj, zv.clone().multiplyScalar(d)); - m.push([obj, zv.clone().multiplyScalar(d)]); - } - } - } - var count = 0; - var t = setInterval(function () { - for (var _i = 0, m_1 = m; _i < m_1.length; _i++) { - var _a = m_1[_i], o = _a[0], v = _a[1]; - o.position.add(v.clone().multiplyScalar(1.5 / 120)); - o.updateMatrix(); - } - view.ZoomAll(); - view.m_bNeedUpdate = true; - count++; - if (count === 60) - clearInterval(t); - }, 16); -}; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/ViewSrc/index.js.map b/dist/ViewSrc/index.js.map deleted file mode 100644 index d11f84c..0000000 --- a/dist/ViewSrc/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ViewSrc/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/Viewer.d.ts b/dist/Viewer.d.ts deleted file mode 100644 index ffd841d..0000000 --- a/dist/Viewer.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Mesh, Scene, Vector3, WebGLRenderer } from "three"; -import { CameraControls } from "."; -import { CameraUpdate } from "./CameraUpdate"; -export declare class Viewer { - m_LookTarget: any; - m_Camera: CameraUpdate; - m_CameraCtrl: CameraControls; - m_bNeedUpdate: boolean; - m_Render: WebGLRenderer; - m_DomEl: HTMLElement; - _Height: number; - _Width: number; - m_Scene: Scene; - /** - * - * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布 - * @memberof Viewer - */ - constructor(canvasContainer: HTMLElement); - initRender(canvasContainer: HTMLElement): void; - OnSize: (width?: any, height?: any) => void; - StartRender: () => void; - Render(): void; - ScreenToWorld(pt: Vector3, planVec?: Vector3): void; - WorldToScreen(pt: Vector3): void; - /** - * 更新视角观测目标(物体中心) - * - * @memberof Viewer - */ - UpdateLockTarget(): void; - Rotate(mouseMove: Vector3): void; - Pan(mouseMove: Vector3): void; - Zoom(scale: number, center?: Vector3): void; - ZoomAll(): void; - ViewToTop(): void; - ViewToFront(): void; - ViewToSwiso(): void; - oldMesh: Mesh; - SelectByPoint(x: number, y: number): void; - SelectBlock(blockMeshMap: Map, dataID: number): void; -} diff --git a/dist/Viewer.js b/dist/Viewer.js deleted file mode 100644 index 96c2138..0000000 --- a/dist/Viewer.js +++ /dev/null @@ -1,172 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var _1 = require("."); -var CameraUpdate_1 = require("./CameraUpdate"); -var ColorPalette_1 = require("./ColorPalette"); -var GeUtils_1 = require("./GeUtils"); -var PlaneExt_1 = require("./PlaneExt"); -var Viewer = /** @class */ (function () { - /** - * - * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布 - * @memberof Viewer - */ - function Viewer(canvasContainer) { - var _this = this; - this.m_Camera = new CameraUpdate_1.CameraUpdate(); - this.m_bNeedUpdate = true; - this.m_Scene = new three_1.Scene(); - this.OnSize = function (width, height) { - _this._Width = width ? width : _this.m_DomEl.clientWidth; - _this._Height = height ? height : _this.m_DomEl.clientHeight; - //校验.成为2的倍数 避免外轮廓错误. - if (_this._Width % 2 == 1) - _this._Width -= 1; - if (_this._Height % 2 == 1) - _this._Height -= 1; - _this.m_Render.setSize(_this._Width, _this._Height); - _this.m_Camera.SetSize(_this._Width, _this._Height); - }; - this.StartRender = function () { - requestAnimationFrame(_this.StartRender); - if (_this.m_Scene != null && _this.m_bNeedUpdate) { - _this.Render(); - _this.m_bNeedUpdate = false; - } - }; - this.m_DomEl = canvasContainer; - this.initRender(canvasContainer); - this.OnSize(); - this.StartRender(); - this.m_CameraCtrl = new _1.CameraControls(this); - window.addEventListener("resize", function () { - _this.OnSize(); - }); - this.m_Render.domElement.addEventListener("mousemove", function (e) { - _this.SelectByPoint(e.offsetX, e.offsetY); - }); - } - //初始化render - Viewer.prototype.initRender = function (canvasContainer) { - var params = { - antialias: true, - precision: "highp", - alpha: true //alpha:true/false是否可以设置背景色透明 - }; - if (canvasContainer instanceof HTMLCanvasElement) { - params.canvas = canvasContainer; - this.m_Render = new three_1.WebGLRenderer(params); - } - else { - this.m_Render = new three_1.WebGLRenderer(params); - //加到画布 - canvasContainer.appendChild(this.m_Render.domElement); - } - this.m_Render.autoClear = true; - //如果设置,那么它希望所有的纹理和颜色都是预乘的伽玛。默认值为false。 - // this.m_Render.gammaInput = true; - // this.m_Render.gammaOutput = true; - // this.m_Render.shadowMap.enabled = true; - // this.m_Render.toneMapping = ReinhardToneMapping; - //设置设备像素比。 这通常用于HiDPI设备,以防止模糊输出画布。 - this.m_Render.setPixelRatio(window.devicePixelRatio); - this.m_Render.physicallyCorrectLights = true; - //this.m_Render.toneMappingExposure = Math.pow(1, 5.0); // to allow for very bright scenes. - //设置它的背景色为黑色 - this.m_Render.setClearColor(0xffffff, 1); - this.OnSize(); - }; - Viewer.prototype.Render = function () { - this.m_Render.render(this.m_Scene, this.m_Camera.Camera); - }; - Viewer.prototype.ScreenToWorld = function (pt, planVec) { - //变换和求交点 - var plan = new PlaneExt_1.PlaneExt(planVec || new three_1.Vector3(0, 0, 1)); - var raycaster = new three_1.Raycaster(); - // 射线从相机射线向屏幕点位置 - raycaster.setFromCamera({ - x: (pt.x / this._Width) * 2 - 1, - y: -(pt.y / this._Height) * 2 + 1 - }, this.m_Camera.Camera); - plan.intersectRay(raycaster.ray, pt, true); - }; - Viewer.prototype.WorldToScreen = function (pt) { - var widthHalf = this._Width * 0.5; - var heightHalf = this._Height * 0.5; - pt.project(this.m_Camera.Camera); - pt.x = (pt.x * widthHalf) + widthHalf; - pt.y = -(pt.y * heightHalf) + heightHalf; - }; - /** - * 更新视角观测目标(物体中心) - * - * @memberof Viewer - */ - Viewer.prototype.UpdateLockTarget = function () { - var renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera); - var box = GeUtils_1.GetBoxArr(renderList.opaque.map(function (o) { return o.object; })); - if (box) - this.m_LookTarget = box.getCenter(new three_1.Vector3()); - else - this.m_LookTarget = GeUtils_1.cZeroVec; - }; - Viewer.prototype.Rotate = function (mouseMove) { - this.m_Camera.Rotate(mouseMove, this.m_LookTarget); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.Pan = function (mouseMove) { - this.m_Camera.Pan(mouseMove); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.Zoom = function (scale, center) { - this.m_Camera.Zoom(scale, center); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.ZoomAll = function () { - this.m_Camera.ZoomExtensBox3(GeUtils_1.GetBox(this.m_Scene, true)); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.ViewToTop = function () { - this.m_Camera.LookAt(new three_1.Vector3(0, 0, -1)); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.ViewToFront = function () { - this.m_Camera.LookAt(new three_1.Vector3(0, 1, 0)); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.ViewToSwiso = function () { - this.m_Camera.LookAt(new three_1.Vector3(1, 1, -1)); - this.m_bNeedUpdate = true; - }; - Viewer.prototype.SelectByPoint = function (x, y) { - var mesh = _1.PointPick(this, x, y); - if (this.oldMesh) - this.oldMesh.material = _1.boardMaterial; - if (mesh && mesh.material !== ColorPalette_1.ColorMaterial.GetBasicMaterial(1)) { - this.oldMesh = mesh; - mesh.material = _1.selectMaterial; - } - this.m_bNeedUpdate = true; - }; - Viewer.prototype.SelectBlock = function (blockMeshMap, dataID) { - var _this = this; - if (blockMeshMap.has(dataID)) { - var meshId_1 = blockMeshMap.get(dataID); - if (this.oldMesh) - this.oldMesh.material = _1.boardMaterial; - this.m_Scene.children.forEach(function (obj) { - if (obj instanceof three_1.Mesh) { - if (obj.id == meshId_1) { - _this.oldMesh = obj; - obj.material = _1.selectMaterial; - _this.m_bNeedUpdate = true; - } - } - }); - } - }; - return Viewer; -}()); -exports.Viewer = Viewer; -//# sourceMappingURL=Viewer.js.map \ No newline at end of file diff --git a/dist/Viewer.js.map b/dist/Viewer.js.map deleted file mode 100644 index fa317d7..0000000 --- a/dist/Viewer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Viewer.js","sourceRoot":"","sources":["../src/Viewer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/createBoard.d.ts b/dist/createBoard.d.ts deleted file mode 100644 index 0eb7f0c..0000000 --- a/dist/createBoard.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Geometry, LineSegments, Mesh, Shape, Vector2, Vector3 } from 'three'; -export declare class Arc2d { - m_StartAn: number; - m_EndAn: number; - m_StartPoint: Vector2; - m_EndPoint: Vector2; - m_Center: Vector2; - m_Radius: number; - constructor(p1: Vector2, p2: Vector2, bul: number); -} -export declare function createPath(pts: Vector2[], buls: number[], shapeOut?: Shape): Shape; -export declare function getVec(data: object): Vector3; -export declare function createBoard(boardData: object): { - mesh: Mesh; - edges: (Mesh | LineSegments)[]; -}; -export declare function createTemplateBoard(brDataList: any[]): { - meshs: any[]; - edgesa: any[]; - relations: { - blockMeshMap: Map; - meshBlockMap: Map; - }; -}; -export declare function createEdge(geo: Geometry): LineSegments; diff --git a/dist/createBoard.js b/dist/createBoard.js deleted file mode 100644 index 0eafae3..0000000 --- a/dist/createBoard.js +++ /dev/null @@ -1,188 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var three_1 = require("three"); -var ColorPalette_1 = require("./ColorPalette"); -var GeUtils_1 = require("./GeUtils"); -var Material_1 = require("./Material"); -var RotateUV_1 = require("./RotateUV"); -var ThreeCSG_1 = require("./ThreeCSG"); -//解析二维圆弧类. -var Arc2d = /** @class */ (function () { - function Arc2d(p1, p2, bul) { - this.m_StartPoint = p1.clone(); - this.m_EndPoint = p2.clone(); - var vec = p2.clone().sub(p1); - var len = vec.length(); - var an = vec.angle(); - this.m_Radius = len / Math.sin(2 * Math.atan(bul)) / 2; - var allAngle = Math.atan(bul) * 4; - var delDis = bul * len / 2; - var toDis = this.m_Radius - delDis; - an += Math.PI * 0.5; - this.m_Center = p1.clone().add(p2); - this.m_Center.multiplyScalar(0.5); - GeUtils_1.polar(this.m_Center, an, toDis); - this.m_StartAn = p1.clone().sub(this.m_Center).angle(); - this.m_EndAn = p2.clone().sub(this.m_Center).angle(); - if (bul < 0) { - //一个神奇的特性 它需要这么做 - this.m_StartAn -= Math.PI; - this.m_EndAn -= Math.PI; - } - } - return Arc2d; -}()); -exports.Arc2d = Arc2d; -//创建轮廓 通过点表和凸度 -function createPath(pts, buls, shapeOut) { - var shape = shapeOut || new three_1.Shape(); - if (pts.length === 0) - return shape; - var firstPt = pts[0]; - shape.moveTo(firstPt.x, firstPt.y); - for (var i = 0; i < pts.length - 1; i++) { - var nextPt = pts[i + 1]; - if (buls[i] == 0) { - shape.lineTo(nextPt.x, nextPt.y); - } - else { - var pt = pts[i]; - //参考 - //http://www.dorodnic.com/blog/tag/three-js/ 绘制一个齿轮 - //https://www.kirupa.com/html5/drawing_circles_canvas.htm //html5 - var arc2 = new Arc2d(pt, nextPt, buls[i]); - var cen = arc2.m_Center; - shape.absarc(cen.x, cen.y, arc2.m_Radius, arc2.m_StartAn, arc2.m_EndAn, buls[i] < 0); - } - } - return shape; -} -exports.createPath = createPath; -function getVec(data) { - return new three_1.Vector3(data["x"], data["y"], data["z"]); -} -exports.getVec = getVec; -//创建板件 暂时这么写 -function createBoard(boardData) { - var _a; - var pts = []; - var buls = []; - var boardPts = boardData["Pts"]; - var boardBuls = boardData["Buls"]; - var boardHeight = boardData["H"]; - var boardMat = new three_1.Matrix4(); - var matInv = new three_1.Matrix4(); - //InitBoardMat - var xD = getVec(boardData["XVec"]); - var yD = getVec(boardData["YVec"]); - var ZD = getVec(boardData["ZVec"]); - var pBase = getVec(boardData["BasePoint"]); - boardMat.makeBasis(xD, yD, ZD); - boardMat.setPosition(pBase); - matInv.getInverse(boardMat); - if (boardPts && boardPts.length !== 0) - for (var i = 0; i < boardPts.length; i++) { - var pt = getVec(boardPts[i]); - if (boardPts[i].z !== undefined) - pt.applyMatrix4(matInv); - pts.push(new three_1.Vector2(pt.x, pt.y)); - buls.push(boardBuls[i]); - } - else { - var length_1 = boardData["L"]; - var width = boardData["W"]; - var height = boardData["H"]; - pts.push(new three_1.Vector2(0, 0), new three_1.Vector2(width, 0), new three_1.Vector2(width, length_1), new three_1.Vector2(0, length_1), new three_1.Vector2(0, 0)); - buls.push(0, 0, 0, 0, 0); - } - var sp = createPath(pts, buls); - var extrudeSettings = { - steps: 1, - bevelEnabled: false, - depth: boardHeight - }; - var ext = new three_1.ExtrudeGeometry(sp, extrudeSettings); - ext.computeBoundingSphere(); - ext.computeBoundingBox(); - ext.translate(0, 0, -boardHeight); - ext.applyMatrix4(boardMat); - if (!GeUtils_1.equalv3(xD.clone().cross(yD), ZD)) { - for (var _i = 0, _b = ext.faces; _i < _b.length; _i++) { - var f = _b[_i]; - _a = [f.c, f.a], f.a = _a[0], f.c = _a[1]; - } - } - //外边. - var edges = [createEdge(ext)]; - //差集 - if (checkObjectArray(boardData, "SubBoardLocal") - || checkObjectArray(boardData, "Drillings")) { - var thisCsg = new ThreeCSG_1.ThreeBSP(ext); - if (boardData["SubBoardLocal"]) { - var subBoardList = boardData["SubBoardLocal"].map(function (d) { return createBoard(d); }); - for (var _c = 0, subBoardList_1 = subBoardList; _c < subBoardList_1.length; _c++) { - var br = subBoardList_1[_c]; - edges.push.apply(edges, br.edges); - var subCsg = new ThreeCSG_1.ThreeBSP(br.mesh); - thisCsg = thisCsg.subtract(subCsg); - } - } - if (boardData["Drillings"]) { - var dris = boardData["Drillings"]; - for (var _d = 0, dris_1 = dris; _d < dris_1.length; _d++) { - var dri = dris_1[_d]; - var geo = new three_1.CylinderGeometry(dri.r, dri.r, dri.h, 8); - geo.rotateX(Math.PI * 0.5); - if (dri.f === 0) //0正 - geo.translate(dri.x, dri.y, -dri.h * 0.5); - else //1反 - geo.translate(dri.x, dri.y, dri.h * 0.5 - boardData["H"]); - geo.applyMatrix4(boardMat); - var mesh_1 = new three_1.Mesh(geo, ColorPalette_1.ColorMaterial.GetBasicMaterial(1)); - edges.push(mesh_1); - // let edge = createEdge(geo); - // edge.material = new LineBasicMaterial({ color: new Color(1, 0, 0) }); - // edges.push(edge); - // let subCsg = new ThreeBSP(geo); - // thisCsg = thisCsg.subtract(subCsg); - } - } - ext = thisCsg.toGeometry(); - } - if (boardData["BoardName"] === "地脚线") - RotateUV_1.RotateUVs(ext); - var mesh = new three_1.Mesh(ext, Material_1.boardMaterial); - mesh.userData = ZD; - edges.forEach(function (e) { return e.userData = ZD; }); - return { mesh: mesh, edges: edges }; -} -exports.createBoard = createBoard; -function checkObjectArray(obj, key) { - return obj[key] && obj[key].length > 0; -} -function createTemplateBoard(brDataList) { - var meshs = []; - var edgesa = []; - var relations = { - blockMeshMap: new Map(), - meshBlockMap: new Map() - }; - for (var _i = 0, brDataList_1 = brDataList; _i < brDataList_1.length; _i++) { - var d = brDataList_1[_i]; - var _a = createBoard(d), mesh = _a.mesh, edges = _a.edges; - meshs.push(mesh); - edgesa.push.apply(edgesa, edges); - if (d['DataID']) { - relations.blockMeshMap.set(d['DataID'], mesh.id); - relations.meshBlockMap.set(mesh.id, d['DataID']); - } - } - return { meshs: meshs, edgesa: edgesa, relations: relations }; -} -exports.createTemplateBoard = createTemplateBoard; -function createEdge(geo) { - var edge = new three_1.EdgesGeometry(geo, 1); - return new three_1.LineSegments(edge, Material_1.edgeMaterial); -} -exports.createEdge = createEdge; -//# sourceMappingURL=createBoard.js.map \ No newline at end of file diff --git a/dist/createBoard.js.map b/dist/createBoard.js.map deleted file mode 100644 index 8af8035..0000000 --- a/dist/createBoard.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"createBoard.js","sourceRoot":"","sources":["../src/createBoard.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/data.d.ts b/dist/data.d.ts deleted file mode 100644 index 94d2145..0000000 --- a/dist/data.d.ts +++ /dev/null @@ -1,75 +0,0 @@ -export declare var data: ({ - L: number; - W: number; - H: number; - BasePoint: { - x: number; - y: number; - z: number; - }; - XVec: { - x: number; - y: number; - z: number; - }; - YVec: { - x: number; - y: number; - z: number; - }; - ZVec: { - x: number; - y: number; - z: number; - }; - Pts: { - x: number; - y: number; - z: number; - }[]; - Buls: number[]; - SubBoardLocal: any[]; - SubBoardAssoc: any[]; - MaterialId?: undefined; - Handle?: undefined; - CabName?: undefined; - BoardName?: undefined; - Grain?: undefined; -} | { - L: number; - W: number; - H: number; - MaterialId: string; - BasePoint: { - x: number; - y: number; - z: number; - }; - XVec: { - x: number; - y: number; - z: number; - }; - YVec: { - x: number; - y: number; - z: number; - }; - ZVec: { - x: number; - y: number; - z: number; - }; - Handle: string; - CabName: string; - BoardName: string; - Grain: number; - Pts: { - x: number; - y: number; - z: number; - }[]; - Buls: number[]; - SubBoardLocal: any[]; - SubBoardAssoc: any[]; -})[]; diff --git a/dist/data.js b/dist/data.js deleted file mode 100644 index 1f4853d..0000000 --- a/dist/data.js +++ /dev/null @@ -1,552 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.data = [ - { - "L": 100.0, - "W": 800.0, - "H": 18.0, - "BasePoint": { - "x": 2076.407626150509, - "y": 1942.2104819571228, - "z": 1882.0 - }, - "XVec": { - "x": 1.0, - "y": 4.930380657631324e-32, - "z": -2.220446049250313e-16 - }, - "YVec": { - "x": 2.220446049250313e-16, - "y": 2.220446049250313e-16, - "z": 1.0 - }, - "ZVec": { - "x": 9.860761315262648e-32, - "y": -1.0, - "z": 2.220446049250313e-16 - }, - "Pts": [ - { - "x": 2076.407626150509, - "y": 1942.2104819571228, - "z": 1882.0 - }, - { - "x": 2876.407626150509, - "y": 1942.2104819571228, - "z": 1881.9999999999998 - }, - { - "x": 2876.407626150509, - "y": 1942.2104819571228, - "z": 1981.9999999999998 - }, - { - "x": 2076.407626150509, - "y": 1942.2104819571228, - "z": 1982.0 - }, - { - "x": 2076.407626150509, - "y": 1942.2104819571228, - "z": 1882.0 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 800.0, - "W": 100.00000000000068, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2876.407626150509, - "y": 1960.2104819571226, - "z": 1900.0000000000005 - }, - "XVec": { - "x": 4.440892098500626e-16, - "y": 1.0, - "z": 2.2204460492503124e-16 - }, - "YVec": { - "x": -1.0, - "y": 4.440892098500626e-16, - "z": 2.220446049250314e-16 - }, - "ZVec": { - "x": 2.220446049250313e-16, - "y": -2.220446049250313e-16, - "z": 1.0 - }, - "Handle": "293", - "CabName": "1.标准柜上梁1", - "BoardName": "", - "Grain": 0, - "Pts": [ - { - "x": 2876.407626150509, - "y": 1960.2104819571228, - "z": 1900.0000000000005 - }, - { - "x": 2876.407626150509, - "y": 2060.210481957123, - "z": 1900.0000000000005 - }, - { - "x": 2076.407626150509, - "y": 2060.210481957123, - "z": 1900.0000000000005 - }, - { - "x": 2076.407626150509, - "y": 1960.210481957123, - "z": 1900.0000000000005 - }, - { - "x": 2876.407626150509, - "y": 1960.2104819571228, - "z": 1900.0000000000005 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 1899.9999999999998, - "W": 800.0, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2076.407626150509, - "y": 2060.2104819571225, - "z": -1.816324868286756e-13 - }, - "XVec": { - "x": 1.0, - "y": 0.0, - "z": 0.0 - }, - "YVec": { - "x": 0.0, - "y": 4.440892098500626e-16, - "z": 1.0 - }, - "ZVec": { - "x": 0.0, - "y": -1.0, - "z": 4.440892098500626e-16 - }, - "Handle": "291", - "CabName": "1.标准柜上梁1", - "BoardName": "背板", - "Grain": 0, - "Pts": [ - { - "x": 2076.407626150509, - "y": 2060.2104819571225, - "z": -1.021405182655144e-13 - }, - { - "x": 2876.407626150509, - "y": 2060.2104819571225, - "z": -1.816324868286756e-13 - }, - { - "x": 2876.407626150509, - "y": 2060.210481957123, - "z": 1899.9999999999996 - }, - { - "x": 2076.407626150509, - "y": 2060.210481957123, - "z": 1899.9999999999998 - }, - { - "x": 2076.407626150509, - "y": 2060.2104819571225, - "z": -1.021405182655144e-13 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 800.0, - "W": 482.0000000000002, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2876.407626150509, - "y": 1578.210481957122, - "z": 97.99999999999999 - }, - "XVec": { - "x": 4.440892098500626e-16, - "y": 1.0, - "z": 0.0 - }, - "YVec": { - "x": -1.0, - "y": 4.440892098500626e-16, - "z": 0.0 - }, - "ZVec": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "Handle": "290", - "CabName": "1.标准柜上梁1", - "BoardName": "底板", - "Grain": 0, - "Pts": [ - { - "x": 2876.407626150509, - "y": 1578.210481957122, - "z": 97.99999999999999 - }, - { - "x": 2876.407626150509, - "y": 2060.2104819571225, - "z": 97.99999999999999 - }, - { - "x": 2076.407626150509, - "y": 2060.2104819571225, - "z": 97.99999999999999 - }, - { - "x": 2076.407626150509, - "y": 1578.2104819571226, - "z": 97.99999999999999 - }, - { - "x": 2876.407626150509, - "y": 1578.210481957122, - "z": 97.99999999999999 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 80.0, - "W": 800.0, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2076.407626150509, - "y": 1578.2104819571223, - "z": 0.0 - }, - "XVec": { - "x": 1.0, - "y": 0.0, - "z": 0.0 - }, - "YVec": { - "x": 0.0, - "y": 4.440892098500626e-16, - "z": 1.0 - }, - "ZVec": { - "x": 0.0, - "y": -1.0, - "z": 4.440892098500626e-16 - }, - "Handle": "28E", - "CabName": "1.标准柜上梁1", - "BoardName": "地脚线", - "Grain": 1, - "Pts": [ - { - "x": 2076.407626150509, - "y": 1578.2104819571223, - "z": 0.0 - }, - { - "x": 2876.407626150509, - "y": 1578.2104819571223, - "z": 0.0 - }, - { - "x": 2876.407626150509, - "y": 1578.2104819571223, - "z": 80.0 - }, - { - "x": 2076.407626150509, - "y": 1578.2104819571223, - "z": 80.0 - }, - { - "x": 2076.407626150509, - "y": 1578.2104819571223, - "z": 0.0 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 800.0, - "W": 482.0, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2876.4076261505085, - "y": 1478.210481957122, - "z": 1999.9999999999996 - }, - "XVec": { - "x": 4.440892098500626e-16, - "y": 1.0, - "z": 0.0 - }, - "YVec": { - "x": -1.0, - "y": 4.440892098500626e-16, - "z": 0.0 - }, - "ZVec": { - "x": 0.0, - "y": 0.0, - "z": 1.0 - }, - "Handle": "28C", - "CabName": "1.标准柜上梁1", - "BoardName": "顶板", - "Grain": 0, - "Pts": [ - { - "x": 2076.407626150509, - "y": 1960.2104819571223, - "z": 1999.9999999999996 - }, - { - "x": 2076.407626150509, - "y": 1478.2104819571226, - "z": 1999.9999999999996 - }, - { - "x": 2876.407626150509, - "y": 1478.210481957122, - "z": 1999.9999999999996 - }, - { - "x": 2876.4076261505085, - "y": 1960.210481957122, - "z": 1999.9999999999996 - }, - { - "x": 2076.407626150509, - "y": 1960.2104819571223, - "z": 1999.9999999999996 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 1999.9999999999996, - "W": 600.0, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2894.4076261505094, - "y": 1478.2104819571223, - "z": -2.2737367544323197e-13 - }, - "XVec": { - "x": 4.930380657631324e-32, - "y": 1.0, - "z": -2.220446049250313e-16 - }, - "YVec": { - "x": -2.220446049250313e-16, - "y": 2.220446049250313e-16, - "z": 1.0 - }, - "ZVec": { - "x": 1.0, - "y": 0.0, - "z": 2.220446049250313e-16 - }, - "Handle": "28B", - "CabName": "1.标准柜上梁1", - "BoardName": "右侧板", - "Grain": 0, - "Pts": [ - { - "x": 2894.407626150509, - "y": 1960.2104819571228, - "z": 1899.9999999999989 - }, - { - "x": 2894.407626150509, - "y": 1960.2104819571228, - "z": 1999.9999999999994 - }, - { - "x": 2894.407626150509, - "y": 1478.2104819571228, - "z": 1999.9999999999994 - }, - { - "x": 2894.4076261505094, - "y": 1478.2104819571223, - "z": -1.816324868286755e-13 - }, - { - "x": 2894.4076261505094, - "y": 2078.2104819571225, - "z": -6.274980535181384e-13 - }, - { - "x": 2894.407626150509, - "y": 2078.2104819571229, - "z": 1899.9999999999973 - }, - { - "x": 2894.407626150509, - "y": 1960.2104819571228, - "z": 1899.9999999999989 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - }, - { - "L": 1999.9999999999996, - "W": 600.0, - "H": 18.0, - "MaterialId": "EE", - "BasePoint": { - "x": 2076.4076261505094, - "y": 1478.2104819571223, - "z": 1.0097419586828951e-28 - }, - "XVec": { - "x": 4.930380657631324e-32, - "y": 1.0, - "z": -2.220446049250313e-16 - }, - "YVec": { - "x": -2.220446049250313e-16, - "y": 2.220446049250313e-16, - "z": 1.0 - }, - "ZVec": { - "x": 1.0, - "y": 0.0, - "z": 2.220446049250313e-16 - }, - "Handle": "288", - "CabName": "1.标准柜上梁1", - "BoardName": "左侧板", - "Grain": 0, - "Pts": [ - { - "x": 2076.407626150509, - "y": 1960.2104819571228, - "z": 1899.999999999999 - }, - { - "x": 2076.407626150509, - "y": 1960.2104819571228, - "z": 1999.9999999999996 - }, - { - "x": 2076.407626150509, - "y": 1478.2104819571228, - "z": 1999.9999999999996 - }, - { - "x": 2076.4076261505094, - "y": 1478.2104819571223, - "z": 1.0097419586828951e-28 - }, - { - "x": 2076.4076261505094, - "y": 2078.2104819571225, - "z": -4.4586556668946279e-13 - }, - { - "x": 2076.407626150509, - "y": 2078.2104819571229, - "z": 1899.9999999999978 - }, - { - "x": 2076.407626150509, - "y": 1960.2104819571228, - "z": 1899.999999999999 - } - ], - "Buls": [ - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ], - "SubBoardLocal": [], - "SubBoardAssoc": [] - } -]; -//# sourceMappingURL=data.js.map \ No newline at end of file diff --git a/dist/data.js.map b/dist/data.js.map deleted file mode 100644 index 05dc03f..0000000 --- a/dist/data.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts deleted file mode 100644 index b1036cd..0000000 --- a/dist/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from "./Viewer"; -export * from "./CameraControls"; -export * from "./GeUtils"; -export * from "./createBoard"; -export * from "./Dimension"; -export * from "./DrawDimension"; -export * from "./Material"; -export * from "./PointPick"; -export * from "./Utils"; diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index cd3f1dc..0000000 --- a/dist/index.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -Object.defineProperty(exports, "__esModule", { value: true }); -__export(require("./Viewer")); -__export(require("./CameraControls")); -__export(require("./GeUtils")); -__export(require("./createBoard")); -__export(require("./Dimension")); -__export(require("./DrawDimension")); -__export(require("./Material")); -__export(require("./PointPick")); -__export(require("./Utils")); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map deleted file mode 100644 index ef85b1c..0000000 --- a/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,8BAAyB;AACzB,sCAAiC;AACjC,+BAA0B;AAC1B,mCAA8B;AAC9B,iCAA4B;AAC5B,qCAAgC;AAChC,gCAA2B;AAC3B,iCAA2B;AAC3B,6BAAuB"} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..c2c8933 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + CADViewComponent + + + + + + diff --git a/package.json b/package.json index 8430982..811eec5 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,9 @@ "main": "src/index.ts", "private": true, "scripts": { - "t": "tsc --noEmit -w", - "build": "tsc", - "umd": "webpack --config ./config/webpack.umd.ts", - "dev": "webpack-dev-server --config ./config/webpack.view.ts", - "rmtype": "ts-node ./utils/rmtype.ts" + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" }, "repository": { "type": "git", @@ -18,25 +16,10 @@ "author": "cx", "license": "ISC", "devDependencies": { - "@types/hard-source-webpack-plugin": "^1.0.1", "@types/node": "^13.13.52", "@types/three": "^0.103.2", - "@types/uglifyjs-webpack-plugin": "^1.1.0", - "@types/webpack": "^4.41.32", - "@types/webpack-env": "^1.18.0", - "awesome-typescript-loader": "^5.2.1", - "cache-loader": "^4.1.0", - "fork-ts-checker-webpack-plugin": "^4.1.6", - "hard-source-webpack-plugin": "^0.13.1", - "html-webpack-plugin": "^4.5.2", - "ts-loader": "^7.0.5", - "ts-node": "^8.10.2", - "typescript": "^4.5.5", - "uglifyjs-webpack-plugin": "^2.2.0", - "webpack": "^5.75.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.11.1", - "webpack-merge": "^5.8.0" + "typescript": "^5.0.2", + "vite": "^4.4.5" }, "dependencies": { "@jscad/modeling": "^2.11.0", diff --git a/src/DrawDimension.ts b/src/DrawDimension.ts index 77656f1..e3ad743 100644 --- a/src/DrawDimension.ts +++ b/src/DrawDimension.ts @@ -1,4 +1,4 @@ -import { Box3, Matrix4, Mesh, Vector3 } from "three"; +import { Matrix4, Mesh, Vector3 } from "three"; import { Dimension, GetBoxArr } from "."; @@ -19,7 +19,7 @@ export function DrawDimension(brList: Mesh[]): Dimension[] new Vector3(-1, 0, 0), new Vector3(0, -1, 0), new Vector3(0, 0, 1) - ) + ); mat4.setPosition(box.min.clone().add(new Vector3(size.x, -30))); let textHeight = 45; @@ -31,7 +31,7 @@ export function DrawDimension(brList: Mesh[]): Dimension[] new Vector3(0, 0, -1), new Vector3(1, 0, 0), new Vector3(0, -1, 0) - ) + ); mat4.setPosition(box.max.clone().add(new Vector3(30, -size.y))); dimz.applyMatrix4(mat4); @@ -40,7 +40,7 @@ export function DrawDimension(brList: Mesh[]): Dimension[] new Vector3(0, 1, 0), new Vector3(-1, 0, 0), new Vector3(0, 0, 1) - ) + ); mat4.setPosition(box.max.clone().add(new Vector3(30, -size.y))); dimy.applyMatrix4(mat4); diff --git a/src/GeUtils.ts b/src/GeUtils.ts index c5fa735..73a64a0 100644 --- a/src/GeUtils.ts +++ b/src/GeUtils.ts @@ -1,4 +1,4 @@ -import { Geometry, Vector, Vector2, Vector3, Box3, Matrix4, Object3D, Line, Mesh } from 'three'; +import { Box3, Geometry, Line, Matrix4, Mesh, Object3D, Vector2, Vector3, type Vector } from 'three'; import { Matrix2 } from './Matrix2'; @@ -112,7 +112,7 @@ export function getLoocAtUpVec(dir: Vector3): Vector3 { if (dir.equals(cZeroVec)) { - throw ("zero vector") + throw ("zero vector"); } let norm = dir.clone().normalize(); if (norm.equals(cZAxis)) @@ -151,8 +151,8 @@ export function ptToString(v: Vector3, fractionDigits: number = 3): string { return v.toArray().map(o => { - return o.toFixed(fractionDigits) - }).join(",") + return o.toFixed(fractionDigits); + }).join(","); } export function midPoint(v1: Vector3, v2: Vector3): Vector3 @@ -230,7 +230,7 @@ export function getProjectDist(v1: Vector3, v2: Vector3) return { h: dist * Math.cos(ang), v: dist * Math.sin(ang) - } + }; } //获得输入点在2线组成的4个区间的位置 export function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3) @@ -255,10 +255,10 @@ export function getPtPostion(sp: Vector3, ep: Vector3, c: Vector3, inPt: Vector3 return { sp, ep }; } else if (inputAng > ang1 && inputAng <= ang2) { - return { sp: c.clone().add(l3), ep } + return { sp: c.clone().add(l3), ep }; } else if (inputAng > ang2 && inputAng <= ang3) { - return { sp: c.clone().add(l3), ep: c.clone().add(l4) } + return { sp: c.clone().add(l3), ep: c.clone().add(l4) }; } else { return { sp, ep: c.clone().add(l4) }; @@ -277,7 +277,7 @@ export function angleAndX(v: Vector3 | Vector2) export function angleTo2Pi(an: number) { an = an % (Math.PI * 2); - if (an < 0) an += Math.PI * 2 + if (an < 0) an += Math.PI * 2; return an; } export function updateGeometry(l: Line | Mesh, geometry: Geometry) diff --git a/src/Text.ts b/src/Text.ts index af4cc5f..e8dcc68 100644 --- a/src/Text.ts +++ b/src/Text.ts @@ -1,4 +1,5 @@ import { Font, FontLoader, Matrix4, Mesh, Shape, ShapeGeometry, Vector3 } from "three"; +import f from "../resources/fonts/helvetiker_regular.typeface.json"; import { ColorMaterial } from "./ColorPalette"; import { MoveMatrix } from "./GeUtils"; import { XAxis, XAxisN, YAxis, YAxisN, ZAxisN } from "./Utils"; @@ -10,7 +11,6 @@ class FontLoaderUtil { if (!this.defFont) { - const f = require("../resources/fonts/helvetiker_regular.typeface.json"); let loader = new FontLoader(); this.defFont = loader.parse(f); } diff --git a/src/ViewSrc/index.html b/src/ViewSrc/index.html deleted file mode 100644 index 535e7e4..0000000 --- a/src/ViewSrc/index.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - WebCAD - - - - - - diff --git a/src/ViewSrc/index.ts b/src/ViewSrc/index.ts index 6e414fd..a739c2c 100644 --- a/src/ViewSrc/index.ts +++ b/src/ViewSrc/index.ts @@ -5,6 +5,7 @@ import { CameraControlState } from "../CameraControls"; import { GetBox } from "../GeUtils"; import { LoadBoard } from "../Utils"; import { Viewer } from "../Viewer"; +import data from "./data.json"; let btn = document.createElement("button"); btn.innerHTML = "载入"; @@ -45,7 +46,6 @@ view.m_CameraCtrl.m_TouthTypeList = [CameraControlState.Pan, CameraControlState. btn.onclick = () => { console.time(); - let data = require("./data.json"); for (let i = 0; i < 1; i++) LoadBoard(view, data); console.timeEnd(); diff --git a/src/Viewer.ts b/src/Viewer.ts index ef3da9a..b293a22 100644 --- a/src/Viewer.ts +++ b/src/Viewer.ts @@ -1,243 +1,243 @@ -import { Mesh, MeshBasicMaterial, Raycaster, Scene, Vector3, WebGLRenderer, WebGLRendererParameters } from "three"; -import { boardMaterial, CameraControls, PointPick, selectMaterial } from "."; +import { Mesh, MeshBasicMaterial, Raycaster, Scene, Vector3, WebGLRenderer, type WebGLRendererParameters } from "three"; +import { CameraControls, PointPick, boardMaterial, selectMaterial } from "."; import { CameraUpdate } from "./CameraUpdate"; import { ColorMaterial } from "./ColorPalette"; -import { cZeroVec, GetBox, GetBoxArr } from "./GeUtils"; +import { GetBox, GetBoxArr, cZeroVec } from "./GeUtils"; import { PlaneExt } from "./PlaneExt"; export class ViewerSettings { - boardMaterial: MeshBasicMaterial = boardMaterial; - selectMaterial: MeshBasicMaterial = selectMaterial; - selectByPointCallback: (meshId: number) => void = () => { }; + boardMaterial: MeshBasicMaterial = boardMaterial; + selectMaterial: MeshBasicMaterial = selectMaterial; + selectByPointCallback: (meshId: number) => void = () => { }; } export class Viewer { - m_LookTarget: any; - m_Camera: CameraUpdate = new CameraUpdate(); - m_CameraCtrl: CameraControls; - m_bNeedUpdate: boolean = true; - m_Render: WebGLRenderer;//渲染器 //暂时只用这个类型 - m_DomEl: HTMLElement; //画布容器 + m_LookTarget: any; + m_Camera: CameraUpdate = new CameraUpdate(); + m_CameraCtrl: CameraControls; + m_bNeedUpdate: boolean = true; + m_Render: WebGLRenderer;//渲染器 //暂时只用这个类型 + m_DomEl: HTMLElement; //画布容器 - _Height: number; - _Width: number; + _Height: number = 0; + _Width: number = 0; - m_Scene: Scene = new Scene(); + m_Scene: Scene = new Scene(); - _Settings = new ViewerSettings(); - /** - * - * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布 - * @memberof Viewer - */ - constructor(canvasContainer: HTMLElement, setupAction: (settings: ViewerSettings) => void = null) - { - if (setupAction) + _Settings = new ViewerSettings(); + /** + * + * @param {HTMLElement} canvasContainer 可以传入一个div或者一个画布 + * @memberof Viewer + */ + constructor(canvasContainer: HTMLElement, setupAction: (settings: ViewerSettings) => void = null) { - setupAction(this._Settings); - } - - this.m_DomEl = canvasContainer; - this.initRender(canvasContainer); - this.OnSize(); - this.StartRender(); - this.m_CameraCtrl = new CameraControls(this); - window.addEventListener("resize", () => - { - this.OnSize(); - }); - - this.m_Render.domElement.addEventListener("mousemove", (e: MouseEvent) => - { - this.SelectByPoint(e.offsetX, e.offsetY); - }) - } - - //初始化render - initRender(canvasContainer: HTMLElement) - { - let params: WebGLRendererParameters = { - antialias: true,//antialias:true/false是否开启反锯齿 - precision: "highp",//precision:highp/mediump/lowp着色精度选择 - alpha: true//alpha:true/false是否可以设置背景色透明 - }; - if (canvasContainer instanceof HTMLCanvasElement) - { - params.canvas = canvasContainer; - this.m_Render = new WebGLRenderer(params); - } - else - { - this.m_Render = new WebGLRenderer(params); - //加到画布 - canvasContainer.appendChild(this.m_Render.domElement); - } - - this.m_Render.autoClear = true; - - //如果设置,那么它希望所有的纹理和颜色都是预乘的伽玛。默认值为false。 - // this.m_Render.gammaInput = true; - // this.m_Render.gammaOutput = true; - // this.m_Render.shadowMap.enabled = true; - // this.m_Render.toneMapping = ReinhardToneMapping; - //设置设备像素比。 这通常用于HiDPI设备,以防止模糊输出画布。 - this.m_Render.setPixelRatio(window.devicePixelRatio); - this.m_Render.physicallyCorrectLights = true; - //this.m_Render.toneMappingExposure = Math.pow(1, 5.0); // to allow for very bright scenes. - - //设置它的背景色为黑色 - this.m_Render.setClearColor(0xffffff, 1); - - - this.OnSize(); - } - - OnSize = (width?, height?) => - { - this._Width = width ? width : this.m_DomEl.clientWidth; - this._Height = height ? height : this.m_DomEl.clientHeight; - - //校验.成为2的倍数 避免外轮廓错误. - if (this._Width % 2 == 1) - this._Width -= 1; - if (this._Height % 2 == 1) - this._Height -= 1; - - this.m_Render.setSize(this._Width, this._Height); - this.m_Camera.SetSize(this._Width, this._Height); - } - - StartRender = () => - { - requestAnimationFrame(this.StartRender); - if (this.m_Scene != null && this.m_bNeedUpdate) - { - this.Render(); - this.m_bNeedUpdate = false; - } - } - Render() - { - this.m_Render.render(this.m_Scene, this.m_Camera.Camera); - } - - ScreenToWorld(pt: Vector3, planVec?: Vector3) - { - //变换和求交点 - let plan = new PlaneExt(planVec || new Vector3(0, 0, 1)); - let raycaster = new Raycaster(); - // 射线从相机射线向屏幕点位置 - raycaster.setFromCamera( - { - x: (pt.x / this._Width) * 2 - 1, - y: - (pt.y / this._Height) * 2 + 1 - } - , this.m_Camera.Camera - ) - plan.intersectRay(raycaster.ray, pt, true); - } - WorldToScreen(pt: Vector3) - { - let widthHalf = this._Width * 0.5; - let heightHalf = this._Height * 0.5; - - pt.project(this.m_Camera.Camera); - - pt.x = (pt.x * widthHalf) + widthHalf; - pt.y = - (pt.y * heightHalf) + heightHalf; - } - - /** - * 更新视角观测目标(物体中心) - * - * @memberof Viewer - */ - UpdateLockTarget() - { - let renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera); - let box = GetBoxArr(renderList.opaque.map(o => o.object)); - if (box) - this.m_LookTarget = box.getCenter(new Vector3()); - else - this.m_LookTarget = cZeroVec; - } - Rotate(mouseMove: Vector3) - { - this.m_Camera.Rotate(mouseMove, this.m_LookTarget); - this.m_bNeedUpdate = true; - } - Pan(mouseMove: Vector3) - { - this.m_Camera.Pan(mouseMove); - this.m_bNeedUpdate = true; - } - Zoom(scale: number, center?: Vector3) - { - this.m_Camera.Zoom(scale, center); - this.m_bNeedUpdate = true; - } - ZoomAll() - { - this.m_Camera.ZoomExtensBox3(GetBox(this.m_Scene, true)); - this.m_bNeedUpdate = true; - } - - ViewToTop() - { - this.m_Camera.LookAt(new Vector3(0, 0, -1)); - this.m_bNeedUpdate = true; - } - ViewToFront() - { - this.m_Camera.LookAt(new Vector3(0, 1, 0)); - this.m_bNeedUpdate = true; - } - ViewToSwiso() - { - this.m_Camera.LookAt(new Vector3(1, 1, -1)); - this.m_bNeedUpdate = true; - } - - oldMesh: Mesh; - SelectByPoint(x: number, y: number) - { - let mesh = PointPick(this, x, y); - if (this.oldMesh) - this.oldMesh.material = this._Settings.boardMaterial; - if (mesh && mesh.material !== ColorMaterial.GetBasicMaterial(1)) - { - this.oldMesh = mesh; - mesh.material = this._Settings.selectMaterial; - if (this._Settings.selectByPointCallback) - { - this._Settings.selectByPointCallback(mesh.id); - } - } - this.m_bNeedUpdate = true; - } - SelectBlock(blockMeshMap: Map, dataID: number) - { - if (blockMeshMap.has(dataID)) - { - let meshId = blockMeshMap.get(dataID); - if (this.oldMesh) - this.oldMesh.material = this._Settings.boardMaterial; - this.m_Scene.children.forEach(obj => - { - if (obj instanceof Mesh) + if (setupAction) { - if (obj.id == meshId) - { - this.oldMesh = obj; - obj.material = this._Settings.selectMaterial; - this.m_bNeedUpdate = true; - } + setupAction(this._Settings); } - }) + this.m_DomEl = canvasContainer; + this.initRender(canvasContainer); + this.OnSize(); + this.StartRender(); + this.m_CameraCtrl = new CameraControls(this); + window.addEventListener("resize", () => + { + this.OnSize(); + }); + + this.m_Render.domElement.addEventListener("mousemove", (e: MouseEvent) => + { + this.SelectByPoint(e.offsetX, e.offsetY); + }); + } + + //初始化render + initRender(canvasContainer: HTMLElement) + { + let params: WebGLRendererParameters = { + antialias: true,//antialias:true/false是否开启反锯齿 + precision: "highp",//precision:highp/mediump/lowp着色精度选择 + alpha: true//alpha:true/false是否可以设置背景色透明 + }; + if (canvasContainer instanceof HTMLCanvasElement) + { + params.canvas = canvasContainer; + this.m_Render = new WebGLRenderer(params); + } + else + { + this.m_Render = new WebGLRenderer(params); + //加到画布 + canvasContainer.appendChild(this.m_Render.domElement); + } + + this.m_Render.autoClear = true; + + //如果设置,那么它希望所有的纹理和颜色都是预乘的伽玛。默认值为false。 + // this.m_Render.gammaInput = true; + // this.m_Render.gammaOutput = true; + // this.m_Render.shadowMap.enabled = true; + // this.m_Render.toneMapping = ReinhardToneMapping; + //设置设备像素比。 这通常用于HiDPI设备,以防止模糊输出画布。 + this.m_Render.setPixelRatio(window.devicePixelRatio); + this.m_Render.physicallyCorrectLights = true; + //this.m_Render.toneMappingExposure = Math.pow(1, 5.0); // to allow for very bright scenes. + + //设置它的背景色为黑色 + this.m_Render.setClearColor(0xffffff, 1); + + + this.OnSize(); + } + + OnSize = (width?, height?) => + { + this._Width = width ? width : this.m_DomEl.clientWidth; + this._Height = height ? height : this.m_DomEl.clientHeight; + + //校验.成为2的倍数 避免外轮廓错误. + if (this._Width % 2 == 1) + this._Width -= 1; + if (this._Height % 2 == 1) + this._Height -= 1; + + this.m_Render.setSize(this._Width, this._Height); + this.m_Camera.SetSize(this._Width, this._Height); + }; + + StartRender = () => + { + requestAnimationFrame(this.StartRender); + if (this.m_Scene != null && this.m_bNeedUpdate) + { + this.Render(); + this.m_bNeedUpdate = false; + } + }; + Render() + { + this.m_Render.render(this.m_Scene, this.m_Camera.Camera); + } + + ScreenToWorld(pt: Vector3, planVec?: Vector3) + { + //变换和求交点 + let plan = new PlaneExt(planVec || new Vector3(0, 0, 1)); + let raycaster = new Raycaster(); + // 射线从相机射线向屏幕点位置 + raycaster.setFromCamera( + { + x: (pt.x / this._Width) * 2 - 1, + y: - (pt.y / this._Height) * 2 + 1 + } + , this.m_Camera.Camera + ); + plan.intersectRay(raycaster.ray, pt, true); + } + WorldToScreen(pt: Vector3) + { + let widthHalf = this._Width * 0.5; + let heightHalf = this._Height * 0.5; + + pt.project(this.m_Camera.Camera); + + pt.x = (pt.x * widthHalf) + widthHalf; + pt.y = - (pt.y * heightHalf) + heightHalf; + } + + /** + * 更新视角观测目标(物体中心) + * + * @memberof Viewer + */ + UpdateLockTarget() + { + let renderList = this.m_Render.renderLists.get(this.m_Scene, this.m_Camera.Camera); + let box = GetBoxArr(renderList.opaque.map(o => o.object)); + if (box) + this.m_LookTarget = box.getCenter(new Vector3()); + else + this.m_LookTarget = cZeroVec; + } + Rotate(mouseMove: Vector3) + { + this.m_Camera.Rotate(mouseMove, this.m_LookTarget); + this.m_bNeedUpdate = true; + } + Pan(mouseMove: Vector3) + { + this.m_Camera.Pan(mouseMove); + this.m_bNeedUpdate = true; + } + Zoom(scale: number, center?: Vector3) + { + this.m_Camera.Zoom(scale, center); + this.m_bNeedUpdate = true; + } + ZoomAll() + { + this.m_Camera.ZoomExtensBox3(GetBox(this.m_Scene, true)); + this.m_bNeedUpdate = true; + } + + ViewToTop() + { + this.m_Camera.LookAt(new Vector3(0, 0, -1)); + this.m_bNeedUpdate = true; + } + ViewToFront() + { + this.m_Camera.LookAt(new Vector3(0, 1, 0)); + this.m_bNeedUpdate = true; + } + ViewToSwiso() + { + this.m_Camera.LookAt(new Vector3(1, 1, -1)); + this.m_bNeedUpdate = true; + } + + oldMesh: Mesh; + SelectByPoint(x: number, y: number) + { + let mesh = PointPick(this, x, y); + if (this.oldMesh) + this.oldMesh.material = this._Settings.boardMaterial; + if (mesh && mesh.material !== ColorMaterial.GetBasicMaterial(1)) + { + this.oldMesh = mesh; + mesh.material = this._Settings.selectMaterial; + if (this._Settings.selectByPointCallback) + { + this._Settings.selectByPointCallback(mesh.id); + } + } + this.m_bNeedUpdate = true; + } + SelectBlock(blockMeshMap: Map, dataID: number) + { + if (blockMeshMap.has(dataID)) + { + let meshId = blockMeshMap.get(dataID); + if (this.oldMesh) + this.oldMesh.material = this._Settings.boardMaterial; + this.m_Scene.children.forEach(obj => + { + if (obj instanceof Mesh) + { + if (obj.id == meshId) + { + this.oldMesh = obj; + obj.material = this._Settings.selectMaterial; + this.m_bNeedUpdate = true; + } + } + + }); + } } - } } diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json index 35d2819..62fb564 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,21 +2,27 @@ "compilerOptions": { "outDir": "./dist", "sourceMap": true, - "module": "commonjs", - "target": "es2020", + "module": "ESNext", + "target": "ES2020", "noLib": false, - "moduleResolution": "node", "skipLibCheck": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "verbatimModuleSyntax":true, + + /* Bundler mode */ + "moduleResolution": "bundler", "esModuleInterop": true, - "lib": [ - "esnext", - "dom" - ], - "types": [ - "node", - "webpack-env", - "webpack-dev-server", - ], + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + + /* Linting */ + // "strict": true, + // "noUnusedLocals": true, + // "noUnusedParameters": true, + // "noFallthroughCasesInSwitch": true, + "jsx": "react", "experimentalDecorators": true }, diff --git a/yarn.lock b/yarn.lock index da4f80f..cefdb38 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,300 +2,126 @@ # yarn lockfile v1 -"@babel/code-frame@^7.5.5": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" +"@esbuild/android-arm64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.18.19.tgz#8735b552b8e0b9a943460d37fbc976b9d9cd4b4e" + integrity sha512-4+jkUFQxZkQfQOOxfGVZB38YUWHMJX2ihZwF+2nh8m7bHdWXpixiurgGRN3c/KMSwlltbYI0/i929jwBRMFzbA== -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== +"@esbuild/android-arm@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.19.tgz#efd1f33583a893c0cc57f25b1d081af8cdc6bfd9" + integrity sha512-1uOoDurJYh5MNqPqpj3l/TQCI1V25BXgChEldCB7D6iryBYqYKrbZIhYO5AI9fulf66sM8UJpc3UcCly2Tv28w== -"@babel/highlight@^7.16.7": - version "7.16.10" - resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" +"@esbuild/android-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.18.19.tgz#d9f35722701a97a2ef69c7a84f1ee2aef2a306a7" + integrity sha512-ae5sHYiP/Ogj2YNrLZbWkBmyHIDOhPgpkGvFnke7XFGQldBDWvc/AyYwSLpNuKw9UNkgnLlB/jPpnBmlF3G9Bg== -"@discoveryjs/json-ext@^0.5.0": - version "0.5.7" - resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== +"@esbuild/darwin-arm64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.19.tgz#8cb81b971ee5231acc7de07225f6e18562c359e4" + integrity sha512-HIpQvNQWFYROmWDANMRL+jZvvTQGOiTuwWBIuAsMaQrnStedM+nEKJBzKQ6bfT9RFKH2wZ+ej+DY7+9xHBTFPg== -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.3" - resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" +"@esbuild/darwin-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.18.19.tgz#81024ab64232dd323f03796d449f018b59f04ca9" + integrity sha512-m6JdvXJQt0thNLIcWOeG079h2ivhYH4B5sVCgqb/B29zTcFd7EE8/J1nIUHhdtwGeItdUeqKaqqb4towwxvglQ== -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@esbuild/freebsd-arm64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.19.tgz#9fa91e3b08d10c0adfa71b37372a7627b26e9686" + integrity sha512-G0p4EFMPZhGn/xVNspUyMQbORH3nlKTV0bFNHPIwLraBuAkTeMyxNviTe0ZXUbIXQrR1lrwniFjNFU4s+x7veQ== -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== +"@esbuild/freebsd-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.19.tgz#ef6f5a85c1bb029fb0076da5b223e50b353e615c" + integrity sha512-hBxgRlG42+W+j/1/cvlnSa+3+OBKeDCyO7OG2ICya1YJaSCYfSpuG30KfOnQHI7Ytgu4bRqCgrYXxQEzy0zM5Q== -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" +"@esbuild/linux-arm64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.18.19.tgz#0cef913dcdc1efb1bb04406a8e5f5668b721d89e" + integrity sha512-X8g33tczY0GsJq3lhyBrjnFtaKjWVpp1gMq5IlF9BQJ3TUfSK74nQnz9mRIEejmcV+OIYn6bkOJeUaU1Knrljg== -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@esbuild/linux-arm@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.18.19.tgz#39ea874c8e5177b83903bec1883a43f3c163627a" + integrity sha512-qtWyoQskfJlb9MD45mvzCEKeO4uCnDZ7lPFeNqbfaaJHqBiH9qA5Vu2EuckqYZuFMJWy1l4dxTf9NOulCVfUjg== -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@esbuild/linux-ia32@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.18.19.tgz#283cd3c3d8380e8fab90583fa86ca1fcc9b9ec57" + integrity sha512-SAkRWJgb+KN+gOhmbiE6/wu23D6HRcGQi15cB13IVtBZZgXxygTV5GJlUAKLQ5Gcx0gtlmt+XIxEmSqA6sZTOw== -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" +"@esbuild/linux-loong64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.18.19.tgz#1c69d7928a55b26326398d31d2ac9c82d2297f1b" + integrity sha512-YLAslaO8NsB9UOxBchos82AOMRDbIAWChwDKfjlGrHSzS3v1kxce7dGlSTsrb0PJwo1KYccypN3VNjQVLtz7LA== + +"@esbuild/linux-mips64el@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.19.tgz#b25b352e7645885fa1d01182116c506a78fe4733" + integrity sha512-vSYFtlYds/oTI8aflEP65xo3MXChMwBOG1eWPGGKs/ev9zkTeXVvciU+nifq8J1JYMz+eQ4J9JDN0O2RKF8+1Q== + +"@esbuild/linux-ppc64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.19.tgz#568b5a051f47af732c4314e697bb559a14b3d811" + integrity sha512-tgG41lRVwlzqO9tv9l7aXYVw35BxKXLtPam1qALScwSqPivI8hjkZLNH0deaaSCYCFT9cBIdB+hUjWFlFFLL9A== + +"@esbuild/linux-riscv64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.19.tgz#020729b47ca63321667297d1610bab81cd08a65c" + integrity sha512-EgBZFLoN1S5RuB4cCJI31pBPsjE1nZ+3+fHRjguq9Ibrzo29bOLSBcH1KZJvRNh5qtd+fcYIGiIUia8Jw5r1lQ== + +"@esbuild/linux-s390x@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.18.19.tgz#ed5cca8dac130d2f736914f9efad5fa15c238c20" + integrity sha512-q1V1rtHRojAzjSigZEqrcLkpfh5K09ShCoIsdTakozVBnM5rgV58PLFticqDp5UJ9uE0HScov9QNbbl8HBo6QQ== + +"@esbuild/linux-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.18.19.tgz#f8023a38ae02b46c60a134ccbc7ae377b3bec66f" + integrity sha512-D0IiYjpZRXxGZLQfsydeAD7ZWqdGyFLBj5f2UshJpy09WPs3qizDCsEr8zyzcym6Woj/UI9ZzMIXwvoXVtyt0A== + +"@esbuild/netbsd-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.19.tgz#8fd667c535db0a5b346afa2d74ff1fb53477427f" + integrity sha512-3tt3SOS8L3D54R8oER41UdDshlBIAjYhdWRPiZCTZ1E41+shIZBpTjaW5UaN/jD1ENE/Ok5lkeqhoNMbxstyxw== + +"@esbuild/openbsd-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.19.tgz#354d5b54a6bffa381cb513e878880192e07004be" + integrity sha512-MxbhcuAYQPlfln1EMc4T26OUoeg/YQc6wNoEV8xvktDKZhLtBxjkoeESSo9BbPaGKhAPzusXYj5n8n5A8iZSrA== + +"@esbuild/sunos-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.18.19.tgz#e2de98bd961e04f76f6acf5970263efc7051def5" + integrity sha512-m0/UOq1wj25JpWqOJxoWBRM9VWc3c32xiNzd+ERlYstUZ6uwx5SZsQUtkiFHaYmcaoj+f6+Tfcl7atuAz3idwQ== + +"@esbuild/win32-arm64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.18.19.tgz#9dca55f0dcbbdb50bf36353d1114f5f71c269275" + integrity sha512-L4vb6pcoB1cEcXUHU6EPnUhUc4+/tcz4OqlXTWPcSQWxegfmcOprhmIleKKwmMNQVc4wrx/+jB7tGkjjDmiupg== + +"@esbuild/win32-ia32@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.18.19.tgz#db6ea4467e87e6d3fc2177dea35e81f26f7a061d" + integrity sha512-rQng7LXSKdrDlNDb7/v0fujob6X0GAazoK/IPd9C3oShr642ri8uIBkgM37/l8B3Rd5sBQcqUXoDdEy75XC/jg== + +"@esbuild/win32-x64@0.18.19": + version "0.18.19" + resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.18.19.tgz#6105755d7097e0d7e22f893c3e62f143d8137bd0" + integrity sha512-z69jhyG20Gq4QL5JKPLqUT+eREuqnDAFItLbza4JCmpvUnIlY73YNjd5djlO7kBiiZnvTnJuAbOjIoZIOa1GjA== "@jscad/modeling@^2.11.0": version "2.12.0" resolved "https://registry.npmmirror.com/@jscad/modeling/-/modeling-2.12.0.tgz#66cdc08316a5c8a922e9f29f8339bf4d64a454f7" integrity sha512-TeAGX4QPEX+sBfeTMa04HwGL+lpdirqXt9JJKYi0r+UGgcwlsCtOs7dS23WGEAGu5QZgGNF4NJsr9DRPIWoaDQ== -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.0" - resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#9fd20b3974bdc2bcd4ac6567e2e0f6885cb2cf41" - integrity sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.35" - resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.3" - resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" - integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.4.1" - resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" - integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*": - version "0.0.51" - resolved "https://registry.npmmirror.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== - -"@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.28" - resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" - integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express-serve-static-core@^4.17.33": - version "4.17.35" - resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz#c95dd4424f0d32e525d23812aa8ab8e4d3906c4f" - integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express@*": - version "4.17.13" - resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/express@^4.17.13": - version "4.17.17" - resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" - integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/hard-source-webpack-plugin@^1.0.1": - version "1.0.4" - resolved "https://registry.npmmirror.com/@types/hard-source-webpack-plugin/-/hard-source-webpack-plugin-1.0.4.tgz#19b440ddc2a638e4382d0b9204be0601254798fb" - integrity sha512-TTW0B4Q1zW/rH93AcOAHpGoiREvisvdpsFFI+fO7ig07PzL3fghWSuBD/zSdvyxK4DZfHMpac30wYQvqKaOKEw== - dependencies: - "@types/webpack" "^4" - -"@types/html-minifier-terser@^5.0.0": - version "5.1.2" - resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" - integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== - -"@types/http-errors@*": - version "2.0.1" - resolved "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" - integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== - -"@types/http-proxy@^1.17.8": - version "1.17.11" - resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" - integrity sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA== - dependencies: - "@types/node" "*" - -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": - version "7.0.9" - resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/json-schema@^7.0.9": - version "7.0.12" - resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/mime@*": - version "3.0.1" - resolved "https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== - -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.npmmirror.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== - -"@types/node@*": - version "17.0.18" - resolved "https://registry.npmmirror.com/@types/node/-/node-17.0.18.tgz#3b4fed5cfb58010e3a2be4b6e74615e4847f1074" - integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA== - "@types/node@^13.13.52": version "13.13.52" resolved "https://registry.npmmirror.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== -"@types/qs@*": - version "6.9.7" - resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/send@*": - version "0.17.1" - resolved "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" - integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== - dependencies: - "@types/express" "*" - -"@types/serve-static@*": - version "1.13.10" - resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-static@^1.13.10": - version "1.15.2" - resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a" - integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw== - dependencies: - "@types/http-errors" "*" - "@types/mime" "*" - "@types/node" "*" - -"@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== - dependencies: - "@types/node" "*" - -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.npmmirror.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== - -"@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.8" - resolved "https://registry.npmmirror.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== - "@types/three@^0.103.2": version "0.103.2" resolved "https://registry.npmmirror.com/@types/three/-/three-0.103.2.tgz#f7d49130001c551941a0ded757def810579aafc4" @@ -303,1322 +129,33 @@ dependencies: three "*" -"@types/uglify-js@*": - version "3.13.1" - resolved "https://registry.npmmirror.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" - integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== - dependencies: - source-map "^0.6.1" - -"@types/uglifyjs-webpack-plugin@^1.1.0": - version "1.1.2" - resolved "https://registry.npmmirror.com/@types/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.2.tgz#f35507a151a52b85da073ae77cbc207d8ed8404a" - integrity sha512-RwK/ySrer/3gcCQNI++ZdbwDIU+ZpJs7UHucEUAC6gPfDwmasNz19oabA+S/iQHMKboIvtU1MhvTpqK6BLS6kg== - dependencies: - "@types/webpack" "^4" - -"@types/webpack-env@^1.18.0": - version "1.18.1" - resolved "https://registry.npmmirror.com/@types/webpack-env/-/webpack-env-1.18.1.tgz#49699bb508961e14a3bfb68c78cd87b296889d1d" - integrity sha512-D0HJET2/UY6k9L6y3f5BL+IDxZmPkYmPT4+qBrRdmRLYRuV0qNKizMgTvYxXZYn+36zjPeoDZAEYBCM6XB+gww== - -"@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.npmmirror.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4", "@types/webpack@^4.41.32", "@types/webpack@^4.41.8": - version "4.41.32" - resolved "https://registry.npmmirror.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" - integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - -"@types/ws@^8.5.5": - version "8.5.5" - resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" - integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== - dependencies: - "@types/node" "*" - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.npmmirror.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== - -"@webpack-cli/info@^1.5.0": - version "1.5.0" - resolved "https://registry.npmmirror.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== - dependencies: - envinfo "^7.7.3" - -"@webpack-cli/serve@^1.7.0": - version "1.7.0" - resolved "https://registry.npmmirror.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn@^8.7.1, acorn@^8.8.2: - version "8.10.0" - resolved "https://registry.npmmirror.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.1.0, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.1.0, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -anymatch@^3.0.0, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmmirror.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -awesome-typescript-loader@^5.2.1: - version "5.2.1" - resolved "https://registry.npmmirror.com/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz#a41daf7847515f4925cdbaa3075d61f289e913fc" - integrity sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g== - dependencies: - chalk "^2.4.1" - enhanced-resolve "^4.0.0" - loader-utils "^1.1.0" - lodash "^4.17.5" - micromatch "^3.1.9" - mkdirp "^0.5.1" - source-map-support "^0.5.3" - webpack-log "^1.2.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmmirror.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.1.1" - resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" - integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.14.5: - version "4.19.1" - resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== - dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" - integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.npmmirror.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-loader@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" - integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^3.0.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^2.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -caniuse-lite@^1.0.30001286: - version "1.0.30001312" - resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" - integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1: - version "2.4.2" - resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" +esbuild@^0.18.10: + version "0.18.19" + resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.18.19.tgz#c763ccfd50b7b1322d13232cd91f2bd36ffde56b" + integrity sha512-ra3CaIKCzJp5bU5BDfrCc0FRqKj71fQi+gbld0aj6lN0ifuX2fWJYPgLVLGwPfA+ruKna+OWwOvf/yHj6n+i0g== optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== - dependencies: - source-map "~0.6.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -colorette@^2.0.10, colorette@^2.0.14: - version "2.0.20" - resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.0.0: - version "7.2.0" - resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.npmmirror.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.npmmirror.com/css-select/-/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== - dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.1.0: - version "4.3.3" - resolved "https://registry.npmmirror.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha512-rlpvsxUtM0PQvy9iZe640/IWwWYyBsTApREbA1pHOpmOUIl9MkP/U4z7vTtg4Oaojvqhxt7sdufnT0EzGaR31g== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmmirror.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.6.0" - resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" - integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.17: - version "1.4.71" - resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz#17056914465da0890ce00351a3b946fd4cd51ff6" - integrity sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.0.0: - version "4.5.0" - resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -envinfo@^7.7.3: - version "7.10.0" - resolved "https://registry.npmmirror.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13" - integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-module-lexer@^1.2.1: - version "1.3.0" - resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f" - integrity sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA== - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -express@^4.17.3: - version "4.18.2" - resolved "https://registry.npmmirror.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.npmmirror.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== - dependencies: - type "^2.5.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.npmmirror.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.npmmirror.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.0.0: - version "3.3.2" - resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" + "@esbuild/android-arm" "0.18.19" + "@esbuild/android-arm64" "0.18.19" + "@esbuild/android-x64" "0.18.19" + "@esbuild/darwin-arm64" "0.18.19" + "@esbuild/darwin-x64" "0.18.19" + "@esbuild/freebsd-arm64" "0.18.19" + "@esbuild/freebsd-x64" "0.18.19" + "@esbuild/linux-arm" "0.18.19" + "@esbuild/linux-arm64" "0.18.19" + "@esbuild/linux-ia32" "0.18.19" + "@esbuild/linux-loong64" "0.18.19" + "@esbuild/linux-mips64el" "0.18.19" + "@esbuild/linux-ppc64" "0.18.19" + "@esbuild/linux-riscv64" "0.18.19" + "@esbuild/linux-s390x" "0.18.19" + "@esbuild/linux-x64" "0.18.19" + "@esbuild/netbsd-x64" "0.18.19" + "@esbuild/openbsd-x64" "0.18.19" + "@esbuild/sunos-x64" "0.18.19" + "@esbuild/win32-arm64" "0.18.19" + "@esbuild/win32-ia32" "0.18.19" + "@esbuild/win32-x64" "0.18.19" flatbush@^3.3.0: version "3.3.0" @@ -1632,1344 +169,26 @@ flatqueue@^1.2.0: resolved "https://registry.npmmirror.com/flatqueue/-/flatqueue-1.2.1.tgz#82f501758fc5925742fbeb478637230456157ef2" integrity sha512-X86TpWS1rGuY7m382HuA9vngLeDuWA9lJvhEG+GfgKMV5onSvx5a71cl7GMbXzhWtlN9dGfqOBrpfqeOtUfGYQ== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.npmmirror.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0: - version "1.14.8" - resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" - integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -fork-ts-checker-webpack-plugin@^4.1.6: - version "4.1.6" - resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" - integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== - dependencies: - "@babel/code-frame" "^7.5.5" - chalk "^2.4.1" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" - integrity sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.npmmirror.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - fsevents@~2.3.2: version "2.3.2" resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.0" - resolved "https://registry.npmmirror.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.9" - resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -graceful-fs@^4.2.6: - version "4.2.11" - resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -hard-source-webpack-plugin@^0.13.1: - version "0.13.1" - resolved "https://registry.npmmirror.com/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.13.1.tgz#a99071e25b232f1438a5bc3c99f10a3869e4428e" - integrity sha512-r9zf5Wq7IqJHdVAQsZ4OP+dcUSvoHqDMxJlIzaE2J0TZWn3UjMMrHqwDHR8Jr/pzPfG7XxSe36E7Y8QGNdtuAw== - dependencies: - chalk "^2.4.1" - find-cache-dir "^2.0.0" - graceful-fs "^4.1.11" - lodash "^4.15.0" - mkdirp "^0.5.1" - node-object-hash "^1.2.0" - parse-json "^4.0.0" - pkg-dir "^3.0.0" - rimraf "^2.6.2" - semver "^5.6.0" - tapable "^1.0.0-beta.5" - webpack-sources "^1.0.1" - write-json-file "^2.3.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-webpack-plugin@^4.5.2: - version "4.5.2" - resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" - integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.5" - resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" - integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.npmmirror.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-core-module@^2.11.0: - version "2.12.1" - resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" - integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - js-angusj-clipper@^1.2.1: version "1.3.1" resolved "https://registry.npmmirror.com/js-angusj-clipper/-/js-angusj-clipper-1.3.1.tgz#433ad90228a2ade6df1a3befcf5892217bfd0832" integrity sha512-/qru4QXxN/gBbQjL4WaFl296YSM8kh5XKpNuNqfZhJ4t4Hw3KeLc5ERj3XHAeLi6pBrqeh6o9PFZUpS3QThEEQ== -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -launch-editor@^2.6.0: - version "2.6.0" - resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" - integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.7.3" - -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.4.0" - resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash@^4.15.0, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^2.1.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -loglevelnext@^1.0.1: - version "1.0.5" - resolved "https://registry.npmmirror.com/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2" - integrity sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A== - dependencies: - es6-symbol "^3.1.1" - object.assign "^4.1.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmmirror.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.npmmirror.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== - -micromatch@^3.1.10, micromatch@^3.1.9: - version "3.1.10" - resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.0, micromatch@^4.0.2: - version "4.0.4" - resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": - version "1.51.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.34" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime-types@^2.1.31: - version "2.1.35" - resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@^3.0.4: - version "3.1.2" - resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@^0.5.1: - version "0.5.5" - resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.1, neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha512-mc/caHeUcdjnC/boPWJefDr4KUIWQNv+tlnFnJd38QMou86QtxQzBJfxgGRzvx8jazYRqrVlaHarfO72uNxPOg== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-object-hash@^1.2.0: - version "1.4.2" - resolved "https://registry.npmmirror.com/node-object-hash/-/node-object-hash-1.4.2.tgz#385833d85b229902b75826224f6077be969a9e94" - integrity sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ== - -node-releases@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" - integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.3" - resolved "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" - integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9: - version "8.4.2" - resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== picocolors@^1.0.0: version "1.0.0" resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.1" - resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - polylabel@^1.1.0: version "1.1.0" resolved "https://registry.npmmirror.com/polylabel/-/polylabel-1.1.0.tgz#9483e64fc7a12a49f43e07e7a06752214ed2a8e7" @@ -2977,698 +196,26 @@ polylabel@^1.1.0: dependencies: tinyqueue "^2.0.3" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== +postcss@^8.4.26: + version "8.4.27" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057" + integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ== dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +rollup@^3.25.2: + version "3.27.2" + resolved "https://registry.npmmirror.com/rollup/-/rollup-3.27.2.tgz#59adc973504408289be89e5978e938ce852c9520" + integrity sha512-YGwmHf7h2oUHkVBT248x0yt6vZkYQ3/rvE5iQuVBh3WO8GcJ6BNeOkpoX1yMHIiBm18EMLjBPIoUDkhgnyxGOQ== + optionalDependencies: + fsevents "~2.3.2" -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmmirror.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: - version "3.6.0" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.npmmirror.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== - dependencies: - resolve "^1.9.0" - -regex-not@^1.0.0, regex-not@^1.0.2: +source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.npmmirror.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@^1.9.0: - version "1.22.2" - resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0: - version "2.7.1" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== - dependencies: - node-forge "^1" - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0: - version "6.3.0" - resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^1.7.0: - version "1.9.1" - resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A== - -serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3: - version "1.8.1" - resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.17, source-map-support@^0.5.3, source-map-support@~0.5.12, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.npmmirror.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.npmmirror.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.npmmirror.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tapable@^1.0.0, tapable@^1.0.0-beta.5, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.17" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.16.8" - -terser@^4.6.3: - version "4.8.0" - resolved "https://registry.npmmirror.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -terser@^5.16.8: - version "5.19.0" - resolved "https://registry.npmmirror.com/terser/-/terser-5.19.0.tgz#7b3137b01226bdd179978207b9c8148754a6da9c" - integrity sha512-JpcpGOQLOXm2jsomozdMDpd5f8ZHh1rR48OFgWUH3QsyZcfPgv2qDCYbcDEAYNd4OZRj2bWYKpwdll/udZCk/Q== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== three@*: version "0.137.5" @@ -3680,486 +227,32 @@ three@*: resolved "https://registry.npmmirror.com/three-cf/-/three-cf-0.122.5.tgz#d5b5fdbce59aac870983b7dbf2b6f0b8efd008cb" integrity sha512-GBY8xE/f5AyDWiPqmCjU0xgR052C5IbfTzFfh/lIsIHTt5G9a5QtPzspimlW4Y6jUmyWlrqbxe/ycnY0bGhB/A== -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - tinyqueue@^2.0.3: version "2.0.3" resolved "https://registry.npmmirror.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08" integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA== -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== +typescript@^5.0.2: + version "5.1.6" + resolved "https://registry.npmmirror.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" + integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== + +vite@^4.4.5: + version "4.4.8" + resolved "https://registry.npmmirror.com/vite/-/vite-4.4.8.tgz#31e4a438f8748695c68bd57ffd262ba93540fdf7" + integrity sha512-LONawOUUjxQridNWGQlNizfKH89qPigK36XhMI7COMGztz8KNY0JHim7/xDd71CZwGT4HtSRgI7Hy+RlhG0Gvg== dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -ts-loader@^7.0.5: - version "7.0.5" - resolved "https://registry.npmmirror.com/ts-loader/-/ts-loader-7.0.5.tgz#789338fb01cb5dc0a33c54e50558b34a73c9c4c5" - integrity sha512-zXypEIT6k3oTc+OZNx/cqElrsbBtYqDknf48OZos0NQ3RTt045fBIU8RRSu+suObBzYB355aIPGOe/3kj9h7Ig== - dependencies: - chalk "^2.3.0" - enhanced-resolve "^4.0.0" - loader-utils "^1.0.2" - micromatch "^4.0.0" - semver "^6.0.0" - -ts-node@^8.10.2: - version "8.10.2" - resolved "https://registry.npmmirror.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" - integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== - dependencies: - arg "^4.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tslib@^2.0.3: - version "2.3.1" - resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.6.0" - resolved "https://registry.npmmirror.com/type/-/type-2.6.0.tgz#3ca6099af5981d36ca86b78442973694278a219f" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^4.5.5: - version "4.5.5" - resolved "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" - integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== - -uglify-js@^3.6.0: - version "3.15.1" - resolved "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.15.1.tgz#9403dc6fa5695a6172a91bc983ea39f0f7c9086d" - integrity sha512-FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ== - -uglifyjs-webpack-plugin@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.2.0.tgz#e75bc80e7f1937f725954c9b4c5a1e967ea9d0d7" - integrity sha512-mHSkufBmBuJ+KHQhv5H0MXijtsoA1lynJt1lXOaotja8/I0pR4L9oGaPIZw+bQBOFittXZg9OC1sXSGO9D9ZYg== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^1.7.0" - source-map "^0.6.1" - uglify-js "^3.6.0" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmmirror.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^3.1.0: - version "3.4.0" - resolved "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" + esbuild "^0.18.10" + postcss "^8.4.26" + rollup "^3.25.2" + optionalDependencies: + fsevents "~2.3.2" "webcad_ue4_api@http://gitea.cf/cx/webcad-ue4-api/archive/3.2.4.tar.gz": version "0.3.12" resolved "http://gitea.cf/cx/webcad-ue4-api/archive/3.2.4.tar.gz#c5901b2d85434f03f8128aa230fd3fe82fe63ab6" -webpack-cli@^4.10.0: - version "4.10.0" - resolved "https://registry.npmmirror.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" - colorette "^2.0.14" - commander "^7.0.0" - cross-spawn "^7.0.3" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - webpack-merge "^5.7.3" - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.11.1: - version "4.15.1" - resolved "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.13.0" - -webpack-log@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d" - integrity sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA== - dependencies: - chalk "^2.1.0" - log-symbols "^2.1.0" - loglevelnext "^1.0.1" - uuid "^3.1.0" - -webpack-merge@^5.7.3, webpack-merge@^5.8.0: - version "5.9.0" - resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" - integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^1.0.1, webpack-sources@^1.4.0: - version "1.4.3" - resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.75.0: - version "5.88.1" - resolved "https://registry.npmmirror.com/webpack/-/webpack-5.88.1.tgz#21eba01e81bd5edff1968aea726e2fbfd557d3f8" - integrity sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.npmmirror.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== - dependencies: - microevent.ts "~0.1.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^2.0.0: - version "2.4.3" - resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-json-file@^2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" - integrity sha512-84+F0igFp2dPD6UpAQjOUX3CdKUOqUzn6oE9sDBNzUXINR5VceJ1rauZltqQB/bcYsx3EpKys4C7/PivKUAiWQ== - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - pify "^3.0.0" - sort-keys "^2.0.0" - write-file-atomic "^2.0.0" - -ws@^8.13.0: - version "8.13.0" - resolved "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - xaop@^2.0.0: version "2.1.0" resolved "https://registry.npmmirror.com/xaop/-/xaop-2.1.0.tgz#1d7108c6e2f6bd459dc4f0f64296f0be3cc0f53d" integrity sha512-/ovWCaQIet3a3VnoVeN1/pNPqCrS/JifF28N7crPhq8BXEWx4Da2o+LYCCxnTWGAjGp5+2W2hd0HIpVESounSQ== - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==