three-render-objects 1.27.6 → 1.27.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// Version 1.27.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("three")):"function"==typeof define&&define.amd?define(["three"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ThreeRenderObjects=t(e.THREE)}(this,(function(e){"use strict";function t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var o,r,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(o=n.next()).done)&&(i.push(o.value),!t||i.length!==t);a=!0);}catch(e){s=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return i}(e,t)||r(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||r(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}(".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}");const a={type:"change"},s={type:"start"},c={type:"end"};class l extends e.EventDispatcher{constructor(t,n){super();const o=this,r=-1,i=0,l=1,u=2,h=3,p=4;this.object=t,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=["KeyA","KeyS","KeyD"],this.mouseButtons={LEFT:e.MOUSE.ROTATE,MIDDLE:e.MOUSE.DOLLY,RIGHT:e.MOUSE.PAN},this.target=new e.Vector3;const d=1e-6,f=new e.Vector3;let m=1,g=r,b=r,v=0,y=0,w=0;const E=new e.Vector3,S=new e.Vector2,_=new e.Vector2,k=new e.Vector3,P=new e.Vector2,x=new e.Vector2,C=new e.Vector2,T=new e.Vector2,j=[],O={};this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,this.handleResize=function(){const e=o.domElement.getBoundingClientRect(),t=o.domElement.ownerDocument.documentElement;o.screen.left=e.left+window.pageXOffset-t.clientLeft,o.screen.top=e.top+window.pageYOffset-t.clientTop,o.screen.width=e.width,o.screen.height=e.height};const R=function(){const t=new e.Vector2;return function(e,n){return t.set((e-o.screen.left)/o.screen.width,(n-o.screen.top)/o.screen.height),t}}(),L=function(){const t=new e.Vector2;return function(e,n){return t.set((e-.5*o.screen.width-o.screen.left)/(.5*o.screen.width),(o.screen.height+2*(o.screen.top-n))/o.screen.width),t}}();function I(e){!1!==o.enabled&&(0===j.length&&(o.domElement.setPointerCapture(e.pointerId),o.domElement.addEventListener("pointermove",M),o.domElement.addEventListener("pointerup",A)),function(e){j.push(e)}(e),"touch"===e.pointerType?function(e){if(1===(Y(e),j.length))g=h,_.copy(L(j[0].pageX,j[0].pageY)),S.copy(_);else{g=p;const e=j[0].pageX-j[1].pageX,t=j[0].pageY-j[1].pageY;y=v=Math.sqrt(e*e+t*t);const n=(j[0].pageX+j[1].pageX)/2,o=(j[0].pageY+j[1].pageY)/2;C.copy(R(n,o)),T.copy(C)}o.dispatchEvent(s)}(e):function(e){if(g===r)switch(e.button){case o.mouseButtons.LEFT:g=i;break;case o.mouseButtons.MIDDLE:g=l;break;case o.mouseButtons.RIGHT:g=u}const t=b!==r?b:g;t!==i||o.noRotate?t!==l||o.noZoom?t!==u||o.noPan||(C.copy(R(e.pageX,e.pageY)),T.copy(C)):(P.copy(R(e.pageX,e.pageY)),x.copy(P)):(_.copy(L(e.pageX,e.pageY)),S.copy(_));o.dispatchEvent(s)}(e))}function M(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){if(1===(Y(e),j.length))S.copy(_),_.copy(L(e.pageX,e.pageY));else{const t=function(e){const t=e.pointerId===j[0].pointerId?j[1]:j[0];return O[t.pointerId]}(e),n=e.pageX-t.x,o=e.pageY-t.y;y=Math.sqrt(n*n+o*o);const r=(e.pageX+t.x)/2,i=(e.pageY+t.y)/2;T.copy(R(r,i))}}(e):function(e){const t=b!==r?b:g;t!==i||o.noRotate?t!==l||o.noZoom?t!==u||o.noPan||T.copy(R(e.pageX,e.pageY)):x.copy(R(e.pageX,e.pageY)):(S.copy(_),_.copy(L(e.pageX,e.pageY)))}(e))}function A(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){switch(j.length){case 0:g=r;break;case 1:g=h,_.copy(L(e.pageX,e.pageY)),S.copy(_);break;case 2:g=p;for(let t=0;t<j.length;t++)if(j[t].pointerId!==e.pointerId){const e=O[j[t].pointerId];_.copy(L(e.x,e.y)),S.copy(_);break}}o.dispatchEvent(c)}(e):(g=r,o.dispatchEvent(c)),N(e),0===j.length&&(o.domElement.releasePointerCapture(e.pointerId),o.domElement.removeEventListener("pointermove",M),o.domElement.removeEventListener("pointerup",A)))}function D(e){N(e)}function V(e){!1!==o.enabled&&(window.removeEventListener("keydown",V),b===r&&(e.code!==o.keys[i]||o.noRotate?e.code!==o.keys[l]||o.noZoom?e.code!==o.keys[u]||o.noPan||(b=u):b=l:b=i))}function F(){!1!==o.enabled&&(b=r,window.addEventListener("keydown",V))}function z(e){if(!1!==o.enabled&&!0!==o.noZoom){switch(e.preventDefault(),e.deltaMode){case 2:P.y-=.025*e.deltaY;break;case 1:P.y-=.01*e.deltaY;break;default:P.y-=25e-5*e.deltaY}o.dispatchEvent(s),o.dispatchEvent(c)}}function U(e){!1!==o.enabled&&e.preventDefault()}function N(e){delete O[e.pointerId];for(let t=0;t<j.length;t++)if(j[t].pointerId==e.pointerId)return void j.splice(t,1)}function Y(t){let n=O[t.pointerId];void 0===n&&(n=new e.Vector2,O[t.pointerId]=n),n.set(t.pageX,t.pageY)}this.rotateCamera=function(){const t=new e.Vector3,n=new e.Quaternion,r=new e.Vector3,i=new e.Vector3,a=new e.Vector3,s=new e.Vector3;return function(){s.set(_.x-S.x,_.y-S.y,0);let e=s.length();e?(E.copy(o.object.position).sub(o.target),r.copy(E).normalize(),i.copy(o.object.up).normalize(),a.crossVectors(i,r).normalize(),i.setLength(_.y-S.y),a.setLength(_.x-S.x),s.copy(i.add(a)),t.crossVectors(s,E).normalize(),e*=o.rotateSpeed,n.setFromAxisAngle(t,e),E.applyQuaternion(n),o.object.up.applyQuaternion(n),k.copy(t),w=e):!o.staticMoving&&w&&(w*=Math.sqrt(1-o.dynamicDampingFactor),E.copy(o.object.position).sub(o.target),n.setFromAxisAngle(k,w),E.applyQuaternion(n),o.object.up.applyQuaternion(n)),S.copy(_)}}(),this.zoomCamera=function(){let e;g===p?(e=v/y,v=y,o.object.isPerspectiveCamera?E.multiplyScalar(e):o.object.isOrthographicCamera?(o.object.zoom/=e,o.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(x.y-P.y)*o.zoomSpeed,1!==e&&e>0&&(o.object.isPerspectiveCamera?E.multiplyScalar(e):o.object.isOrthographicCamera?(o.object.zoom/=e,o.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),o.staticMoving?P.copy(x):P.y+=(x.y-P.y)*this.dynamicDampingFactor)},this.panCamera=function(){const t=new e.Vector2,n=new e.Vector3,r=new e.Vector3;return function(){if(t.copy(T).sub(C),t.lengthSq()){if(o.object.isOrthographicCamera){const e=(o.object.right-o.object.left)/o.object.zoom/o.domElement.clientWidth,n=(o.object.top-o.object.bottom)/o.object.zoom/o.domElement.clientWidth;t.x*=e,t.y*=n}t.multiplyScalar(E.length()*o.panSpeed),r.copy(E).cross(o.object.up).setLength(t.x),r.add(n.copy(o.object.up).setLength(t.y)),o.object.position.add(r),o.target.add(r),o.staticMoving?C.copy(T):C.add(t.subVectors(T,C).multiplyScalar(o.dynamicDampingFactor))}}}(),this.checkDistances=function(){o.noZoom&&o.noPan||(E.lengthSq()>o.maxDistance*o.maxDistance&&(o.object.position.addVectors(o.target,E.setLength(o.maxDistance)),P.copy(x)),E.lengthSq()<o.minDistance*o.minDistance&&(o.object.position.addVectors(o.target,E.setLength(o.minDistance)),P.copy(x)))},this.update=function(){E.subVectors(o.object.position,o.target),o.noRotate||o.rotateCamera(),o.noZoom||o.zoomCamera(),o.noPan||o.panCamera(),o.object.position.addVectors(o.target,E),o.object.isPerspectiveCamera?(o.checkDistances(),o.object.lookAt(o.target),f.distanceToSquared(o.object.position)>d&&(o.dispatchEvent(a),f.copy(o.object.position))):o.object.isOrthographicCamera?(o.object.lookAt(o.target),(f.distanceToSquared(o.object.position)>d||m!==o.object.zoom)&&(o.dispatchEvent(a),f.copy(o.object.position),m=o.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type")},this.reset=function(){g=r,b=r,o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.up.copy(o.up0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),E.subVectors(o.object.position,o.target),o.object.lookAt(o.target),o.dispatchEvent(a),f.copy(o.object.position),m=o.object.zoom},this.dispose=function(){o.domElement.removeEventListener("contextmenu",U),o.domElement.removeEventListener("pointerdown",I),o.domElement.removeEventListener("pointercancel",D),o.domElement.removeEventListener("wheel",z),o.domElement.removeEventListener("pointermove",M),o.domElement.removeEventListener("pointerup",A),window.removeEventListener("keydown",V),window.removeEventListener("keyup",F)},this.domElement.addEventListener("contextmenu",U),this.domElement.addEventListener("pointerdown",I),this.domElement.addEventListener("pointercancel",D),this.domElement.addEventListener("wheel",z,{passive:!1}),window.addEventListener("keydown",V),window.addEventListener("keyup",F),this.handleResize(),this.update()}}const u={type:"change"},h={type:"start"},p={type:"end"};class d extends e.EventDispatcher{constructor(t,n){super(),this.object=t,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new e.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:e.MOUSE.ROTATE,MIDDLE:e.MOUSE.DOLLY,RIGHT:e.MOUSE.PAN},this.touches={ONE:e.TOUCH.ROTATE,TWO:e.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return s.phi},this.getAzimuthalAngle=function(){return s.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(e){e.addEventListener("keydown",K),this._domElementKeyEvents=e},this.saveState=function(){o.target0.copy(o.target),o.position0.copy(o.object.position),o.zoom0=o.object.zoom},this.reset=function(){o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),o.dispatchEvent(u),o.update(),i=r.NONE},this.update=function(){const n=new e.Vector3,h=(new e.Quaternion).setFromUnitVectors(t.up,new e.Vector3(0,1,0)),p=h.clone().invert(),m=new e.Vector3,g=new e.Quaternion,b=2*Math.PI;return function(){const e=o.object.position;n.copy(e).sub(o.target),n.applyQuaternion(h),s.setFromVector3(n),o.autoRotate&&i===r.NONE&&C(2*Math.PI/60/60*o.autoRotateSpeed),o.enableDamping?(s.theta+=c.theta*o.dampingFactor,s.phi+=c.phi*o.dampingFactor):(s.theta+=c.theta,s.phi+=c.phi);let t=o.minAzimuthAngle,v=o.maxAzimuthAngle;return isFinite(t)&&isFinite(v)&&(t<-Math.PI?t+=b:t>Math.PI&&(t-=b),v<-Math.PI?v+=b:v>Math.PI&&(v-=b),s.theta=t<=v?Math.max(t,Math.min(v,s.theta)):s.theta>(t+v)/2?Math.max(t,s.theta):Math.min(v,s.theta)),s.phi=Math.max(o.minPolarAngle,Math.min(o.maxPolarAngle,s.phi)),s.makeSafe(),s.radius*=l,s.radius=Math.max(o.minDistance,Math.min(o.maxDistance,s.radius)),!0===o.enableDamping?o.target.addScaledVector(d,o.dampingFactor):o.target.add(d),n.setFromSpherical(s),n.applyQuaternion(p),e.copy(o.target).add(n),o.object.lookAt(o.target),!0===o.enableDamping?(c.theta*=1-o.dampingFactor,c.phi*=1-o.dampingFactor,d.multiplyScalar(1-o.dampingFactor)):(c.set(0,0,0),d.set(0,0,0)),l=1,!!(f||m.distanceToSquared(o.object.position)>a||8*(1-g.dot(o.object.quaternion))>a)&&(o.dispatchEvent(u),m.copy(o.object.position),g.copy(o.object.quaternion),f=!1,!0)}}(),this.dispose=function(){o.domElement.removeEventListener("contextmenu",Q),o.domElement.removeEventListener("pointerdown",Y),o.domElement.removeEventListener("pointercancel",X),o.domElement.removeEventListener("wheel",q),o.domElement.removeEventListener("pointermove",B),o.domElement.removeEventListener("pointerup",H),null!==o._domElementKeyEvents&&o._domElementKeyEvents.removeEventListener("keydown",K)};const o=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let i=r.NONE;const a=1e-6,s=new e.Spherical,c=new e.Spherical;let l=1;const d=new e.Vector3;let f=!1;const m=new e.Vector2,g=new e.Vector2,b=new e.Vector2,v=new e.Vector2,y=new e.Vector2,w=new e.Vector2,E=new e.Vector2,S=new e.Vector2,_=new e.Vector2,k=[],P={};function x(){return Math.pow(.95,o.zoomSpeed)}function C(e){c.theta-=e}function T(e){c.phi-=e}const j=function(){const t=new e.Vector3;return function(e,n){t.setFromMatrixColumn(n,0),t.multiplyScalar(-e),d.add(t)}}(),O=function(){const t=new e.Vector3;return function(e,n){!0===o.screenSpacePanning?t.setFromMatrixColumn(n,1):(t.setFromMatrixColumn(n,0),t.crossVectors(o.object.up,t)),t.multiplyScalar(e),d.add(t)}}(),R=function(){const t=new e.Vector3;return function(e,n){const r=o.domElement;if(o.object.isPerspectiveCamera){const i=o.object.position;t.copy(i).sub(o.target);let a=t.length();a*=Math.tan(o.object.fov/2*Math.PI/180),j(2*e*a/r.clientHeight,o.object.matrix),O(2*n*a/r.clientHeight,o.object.matrix)}else o.object.isOrthographicCamera?(j(e*(o.object.right-o.object.left)/o.object.zoom/r.clientWidth,o.object.matrix),O(n*(o.object.top-o.object.bottom)/o.object.zoom/r.clientHeight,o.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),o.enablePan=!1)}}();function L(e){o.object.isPerspectiveCamera?l/=e:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom*e)),o.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function I(e){o.object.isPerspectiveCamera?l*=e:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom/e)),o.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function M(e){m.set(e.clientX,e.clientY)}function A(e){v.set(e.clientX,e.clientY)}function D(){if(1===k.length)m.set(k[0].pageX,k[0].pageY);else{const e=.5*(k[0].pageX+k[1].pageX),t=.5*(k[0].pageY+k[1].pageY);m.set(e,t)}}function V(){if(1===k.length)v.set(k[0].pageX,k[0].pageY);else{const e=.5*(k[0].pageX+k[1].pageX),t=.5*(k[0].pageY+k[1].pageY);v.set(e,t)}}function F(){const e=k[0].pageX-k[1].pageX,t=k[0].pageY-k[1].pageY,n=Math.sqrt(e*e+t*t);E.set(0,n)}function z(e){if(1==k.length)g.set(e.pageX,e.pageY);else{const t=W(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);g.set(n,o)}b.subVectors(g,m).multiplyScalar(o.rotateSpeed);const t=o.domElement;C(2*Math.PI*b.x/t.clientHeight),T(2*Math.PI*b.y/t.clientHeight),m.copy(g)}function U(e){if(1===k.length)y.set(e.pageX,e.pageY);else{const t=W(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);y.set(n,o)}w.subVectors(y,v).multiplyScalar(o.panSpeed),R(w.x,w.y),v.copy(y)}function N(e){const t=W(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);S.set(0,i),_.set(0,Math.pow(S.y/E.y,o.zoomSpeed)),L(_.y),E.copy(S)}function Y(t){!1!==o.enabled&&(0===k.length&&(o.domElement.setPointerCapture(t.pointerId),o.domElement.addEventListener("pointermove",B),o.domElement.addEventListener("pointerup",H)),function(e){k.push(e)}(t),"touch"===t.pointerType?function(t){switch(G(t),k.length){case 1:switch(o.touches.ONE){case e.TOUCH.ROTATE:if(!1===o.enableRotate)return;D(),i=r.TOUCH_ROTATE;break;case e.TOUCH.PAN:if(!1===o.enablePan)return;V(),i=r.TOUCH_PAN;break;default:i=r.NONE}break;case 2:switch(o.touches.TWO){case e.TOUCH.DOLLY_PAN:if(!1===o.enableZoom&&!1===o.enablePan)return;o.enableZoom&&F(),o.enablePan&&V(),i=r.TOUCH_DOLLY_PAN;break;case e.TOUCH.DOLLY_ROTATE:if(!1===o.enableZoom&&!1===o.enableRotate)return;o.enableZoom&&F(),o.enableRotate&&D(),i=r.TOUCH_DOLLY_ROTATE;break;default:i=r.NONE}break;default:i=r.NONE}i!==r.NONE&&o.dispatchEvent(h)}(t):function(t){let n;switch(t.button){case 0:n=o.mouseButtons.LEFT;break;case 1:n=o.mouseButtons.MIDDLE;break;case 2:n=o.mouseButtons.RIGHT;break;default:n=-1}switch(n){case e.MOUSE.DOLLY:if(!1===o.enableZoom)return;!function(e){E.set(e.clientX,e.clientY)}(t),i=r.DOLLY;break;case e.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===o.enablePan)return;A(t),i=r.PAN}else{if(!1===o.enableRotate)return;M(t),i=r.ROTATE}break;case e.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===o.enableRotate)return;M(t),i=r.ROTATE}else{if(!1===o.enablePan)return;A(t),i=r.PAN}break;default:i=r.NONE}i!==r.NONE&&o.dispatchEvent(h)}(t))}function B(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){switch(G(e),i){case r.TOUCH_ROTATE:if(!1===o.enableRotate)return;z(e),o.update();break;case r.TOUCH_PAN:if(!1===o.enablePan)return;U(e),o.update();break;case r.TOUCH_DOLLY_PAN:if(!1===o.enableZoom&&!1===o.enablePan)return;!function(e){o.enableZoom&&N(e),o.enablePan&&U(e)}(e),o.update();break;case r.TOUCH_DOLLY_ROTATE:if(!1===o.enableZoom&&!1===o.enableRotate)return;!function(e){o.enableZoom&&N(e),o.enableRotate&&z(e)}(e),o.update();break;default:i=r.NONE}}(e):function(e){switch(i){case r.ROTATE:if(!1===o.enableRotate)return;!function(e){g.set(e.clientX,e.clientY),b.subVectors(g,m).multiplyScalar(o.rotateSpeed);const t=o.domElement;C(2*Math.PI*b.x/t.clientHeight),T(2*Math.PI*b.y/t.clientHeight),m.copy(g),o.update()}(e);break;case r.DOLLY:if(!1===o.enableZoom)return;!function(e){S.set(e.clientX,e.clientY),_.subVectors(S,E),_.y>0?L(x()):_.y<0&&I(x()),E.copy(S),o.update()}(e);break;case r.PAN:if(!1===o.enablePan)return;!function(e){y.set(e.clientX,e.clientY),w.subVectors(y,v).multiplyScalar(o.panSpeed),R(w.x,w.y),v.copy(y),o.update()}(e)}}(e))}function H(e){Z(e),0===k.length&&(o.domElement.releasePointerCapture(e.pointerId),o.domElement.removeEventListener("pointermove",B),o.domElement.removeEventListener("pointerup",H)),o.dispatchEvent(p),i=r.NONE}function X(e){Z(e)}function q(e){!1!==o.enabled&&!1!==o.enableZoom&&i===r.NONE&&(e.preventDefault(),o.dispatchEvent(h),function(e){e.deltaY<0?I(x()):e.deltaY>0&&L(x()),o.update()}(e),o.dispatchEvent(p))}function K(e){!1!==o.enabled&&!1!==o.enablePan&&function(e){let t=!1;switch(e.code){case o.keys.UP:R(0,o.keyPanSpeed),t=!0;break;case o.keys.BOTTOM:R(0,-o.keyPanSpeed),t=!0;break;case o.keys.LEFT:R(o.keyPanSpeed,0),t=!0;break;case o.keys.RIGHT:R(-o.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),o.update())}(e)}function Q(e){!1!==o.enabled&&e.preventDefault()}function Z(e){delete P[e.pointerId];for(let t=0;t<k.length;t++)if(k[t].pointerId==e.pointerId)return void k.splice(t,1)}function G(t){let n=P[t.pointerId];void 0===n&&(n=new e.Vector2,P[t.pointerId]=n),n.set(t.pageX,t.pageY)}function W(e){const t=e.pointerId===k[0].pointerId?k[1]:k[0];return P[t.pointerId]}o.domElement.addEventListener("contextmenu",Q),o.domElement.addEventListener("pointerdown",Y),o.domElement.addEventListener("pointercancel",X),o.domElement.addEventListener("wheel",q,{passive:!1}),this.update()}}const f={type:"change"};class m extends e.EventDispatcher{constructor(t,n){super(),this.object=t,this.domElement=n,this.movementSpeed=1,this.rollSpeed=.005,this.dragToLook=!1,this.autoForward=!1;const o=this,r=1e-6,i=new e.Quaternion,a=new e.Vector3;this.tmpQuaternion=new e.Quaternion,this.status=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new e.Vector3(0,0,0),this.rotationVector=new e.Vector3(0,0,0),this.keydown=function(e){if(!e.altKey){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(e){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.pointerdown=function(e){if(this.dragToLook)this.status++;else{switch(e.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.pointermove=function(e){if(!this.dragToLook||this.status>0){const t=this.getContainerDimensions(),n=t.size[0]/2,o=t.size[1]/2;this.moveState.yawLeft=-(e.pageX-t.offset[0]-n)/n,this.moveState.pitchDown=(e.pageY-t.offset[1]-o)/o,this.updateRotationVector()}},this.pointerup=function(e){if(this.dragToLook)this.status--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(e.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()},this.update=function(e){const t=e*o.movementSpeed,n=e*o.rollSpeed;o.object.translateX(o.moveVector.x*t),o.object.translateY(o.moveVector.y*t),o.object.translateZ(o.moveVector.z*t),o.tmpQuaternion.set(o.rotationVector.x*n,o.rotationVector.y*n,o.rotationVector.z*n,1).normalize(),o.object.quaternion.multiply(o.tmpQuaternion),(a.distanceToSquared(o.object.position)>r||8*(1-i.dot(o.object.quaternion))>r)&&(o.dispatchEvent(f),i.copy(o.object.quaternion),a.copy(o.object.position))},this.updateMovementVector=function(){const e=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-e+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.dispose=function(){this.domElement.removeEventListener("contextmenu",g),this.domElement.removeEventListener("pointerdown",c),this.domElement.removeEventListener("pointermove",s),this.domElement.removeEventListener("pointerup",l),window.removeEventListener("keydown",u),window.removeEventListener("keyup",h)};const s=this.pointermove.bind(this),c=this.pointerdown.bind(this),l=this.pointerup.bind(this),u=this.keydown.bind(this),h=this.keyup.bind(this);this.domElement.addEventListener("contextmenu",g),this.domElement.addEventListener("pointerdown",c),this.domElement.addEventListener("pointermove",s),this.domElement.addEventListener("pointerup",l),window.addEventListener("keydown",u),window.addEventListener("keyup",h),this.updateMovementVector(),this.updateRotationVector()}}function g(e){e.preventDefault()}const b={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tgl_FragColor = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor.a *= opacity;\n\n\n\t\t}"};class v{constructor(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const y=new e.OrthographicCamera(-1,1,1,-1,0,1),w=new e.BufferGeometry;w.setAttribute("position",new e.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),w.setAttribute("uv",new e.Float32BufferAttribute([0,2,0,0,2,0],2));class E{constructor(t){this._mesh=new e.Mesh(w,t)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,y)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class S extends v{constructor(t,n){super(),this.textureID=void 0!==n?n:"tDiffuse",t instanceof e.ShaderMaterial?(this.uniforms=t.uniforms,this.material=t):t&&(this.uniforms=e.UniformsUtils.clone(t.uniforms),this.material=new e.ShaderMaterial({defines:Object.assign({},t.defines),uniforms:this.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader})),this.fsQuad=new E(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}class _ extends v{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const o=e.getContext(),r=e.state;let i,a;r.buffers.color.setMask(!1),r.buffers.depth.setMask(!1),r.buffers.color.setLocked(!0),r.buffers.depth.setLocked(!0),this.inverse?(i=0,a=1):(i=1,a=0),r.buffers.stencil.setTest(!0),r.buffers.stencil.setOp(o.REPLACE,o.REPLACE,o.REPLACE),r.buffers.stencil.setFunc(o.ALWAYS,i,4294967295),r.buffers.stencil.setClear(a),r.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),r.buffers.color.setLocked(!1),r.buffers.depth.setLocked(!1),r.buffers.stencil.setLocked(!1),r.buffers.stencil.setFunc(o.EQUAL,1,4294967295),r.buffers.stencil.setOp(o.KEEP,o.KEEP,o.KEEP),r.buffers.stencil.setLocked(!0)}}class k extends v{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class P{constructor(t,n){if(this.renderer=t,void 0===n){const o=t.getSize(new e.Vector2);this._pixelRatio=t.getPixelRatio(),this._width=o.width,this._height=o.height,(n=new e.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=n.width,this._height=n.height;this.renderTarget1=n,this.renderTarget2=n.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],void 0===b&&console.error("THREE.EffectComposer relies on CopyShader"),void 0===S&&console.error("THREE.EffectComposer relies on ShaderPass"),this.copyPass=new S(b),this.clock=new e.Clock}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){void 0===e&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let n=!1;for(let t=0,o=this.passes.length;t<o;t++){const o=this.passes[t];if(!1!==o.enabled){if(o.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(t),o.render(this.renderer,this.writeBuffer,this.readBuffer,e,n),o.needsSwap){if(n){const t=this.renderer.getContext(),n=this.renderer.state.buffers.stencil;n.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),n.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}void 0!==_&&(o instanceof _?n=!0:o instanceof k&&(n=!1))}}this.renderer.setRenderTarget(t)}reset(t){if(void 0===t){const n=this.renderer.getSize(new e.Vector2);this._pixelRatio=this.renderer.getPixelRatio(),this._width=n.width,this._height=n.height,(t=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=t,this.renderTarget2=t.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const n=this._width*this._pixelRatio,o=this._height*this._pixelRatio;this.renderTarget1.setSize(n,o),this.renderTarget2.setSize(n,o);for(let e=0;e<this.passes.length;e++)this.passes[e].setSize(n,o)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}}new e.OrthographicCamera(-1,1,1,-1,0,1);const x=new e.BufferGeometry;x.setAttribute("position",new e.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),x.setAttribute("uv",new e.Float32BufferAttribute([0,2,0,0,2,0],2));class C extends v{constructor(t,n,o,r,i){super(),this.scene=t,this.camera=n,this.overrideMaterial=o,this.clearColor=r,this.clearAlpha=void 0!==i?i:0,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new e.Color}render(e,t,n){const o=e.autoClear;let r,i;e.autoClear=!1,void 0!==this.overrideMaterial&&(i=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor&&(e.getClearColor(this._oldClearColor),r=e.getClearAlpha(),e.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor&&e.setClearColor(this._oldClearColor,r),void 0!==this.overrideMaterial&&(this.scene.overrideMaterial=i),e.autoClear=o}}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},T.apply(this,arguments)}function j(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(e,t){return O=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},O(e,t)}function R(e){return R=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},R(e)}function L(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function I(e,t,n){return I=L()?Reflect.construct.bind():function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&O(r,n.prototype),r},I.apply(null,arguments)}function M(e){var t="function"==typeof Map?new Map:void 0;return M=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return I(e,arguments,R(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),O(o,e)},M(e)}var A={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n\n',73:"Please provide a valid CSS variable.\n\n",74:"CSS variable not found and no default was provided.\n\n",75:"important requires a valid style object, got a %s instead.\n\n",76:"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n",77:'remToPx expects a value in "rem" but you provided it in "%s".\n\n',78:'base must be set in "px" or "%" but you set it in "%s".\n'};function D(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o,r=t[0],i=[];for(o=1;o<t.length;o+=1)i.push(t[o]);return i.forEach((function(e){r=r.replace(/%[a-z]/,e)})),r}var V=function(e){var t,n;function o(t){var n;if("production"===process.env.NODE_ENV)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this;else{for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];n=e.call(this,D.apply(void 0,[A[t]].concat(r)))||this}return j(n)}return n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,O(t,n),o}(M(Error));function F(e){return Math.round(255*e)}function z(e,t,n){return F(e)+","+F(t)+","+F(n)}function U(e,t,n,o){if(void 0===o&&(o=z),0===t)return o(n,n,n);var r=(e%360+360)%360/60,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(r%2-1)),s=0,c=0,l=0;r>=0&&r<1?(s=i,c=a):r>=1&&r<2?(s=a,c=i):r>=2&&r<3?(c=i,l=a):r>=3&&r<4?(c=a,l=i):r>=4&&r<5?(s=a,l=i):r>=5&&r<6&&(s=i,l=a);var u=n-i/2;return o(s+u,c+u,l+u)}var N={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var Y=/^#[a-fA-F0-9]{6}$/,B=/^#[a-fA-F0-9]{8}$/,H=/^#[a-fA-F0-9]{3}$/,X=/^#[a-fA-F0-9]{4}$/,q=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,K=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,Q=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,Z=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function G(e){if("string"!=typeof e)throw new V(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return N[t]?"#"+N[t]:e}(e);if(t.match(Y))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(B)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(H))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(X)){var o=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:o}}var r=q.exec(t);if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10)};var i=K.exec(t.substring(0,50));if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10),alpha:parseFloat(""+i[4])>1?parseFloat(""+i[4])/100:parseFloat(""+i[4])};var a=Q.exec(t);if(a){var s="rgb("+U(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",c=q.exec(s);if(!c)throw new V(4,t,s);return{red:parseInt(""+c[1],10),green:parseInt(""+c[2],10),blue:parseInt(""+c[3],10)}}var l=Z.exec(t.substring(0,50));if(l){var u="rgb("+U(parseInt(""+l[1],10),parseInt(""+l[2],10)/100,parseInt(""+l[3],10)/100)+")",h=q.exec(u);if(!h)throw new V(4,t,u);return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10),alpha:parseFloat(""+l[4])>1?parseFloat(""+l[4])/100:parseFloat(""+l[4])}}throw new V(5)}var W=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function $(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function J(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return W("#"+$(e)+$(t)+$(n));if("object"==typeof e&&void 0===t&&void 0===n)return W("#"+$(e.red)+$(e.green)+$(e.blue));throw new V(6)}function ee(e,t,n){return function(){var o=n.concat(Array.prototype.slice.call(arguments));return o.length>=t?e.apply(this,o):ee(e,t,o)}}function te(e){return ee(e,e.length,[])}function ne(e,t){if("transparent"===t)return t;var n,o,r,i=G(t),a="number"==typeof i.alpha?i.alpha:1;return function(e,t,n,o){if("string"==typeof e&&"number"==typeof t){var r=G(e);return"rgba("+r.red+","+r.green+","+r.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof o)return o>=1?J(e,t,n):"rgba("+e+","+t+","+n+","+o+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===o)return e.alpha>=1?J(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new V(7)}(T({},i,{alpha:(n=0,o=1,r=(100*a+100*parseFloat(e))/100,Math.max(n,Math.min(o,r)))}))}var oe,re=te(ne),ie={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-ie.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*ie.Bounce.In(2*e):.5*ie.Bounce.Out(2*e-1)+.5}}},ae="undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},se=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map((function(t){return e._tweens[t]}))},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},e.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},e.prototype.update=function(e,t){void 0===e&&(e=ae()),void 0===t&&(t=!1);var n=Object.keys(this._tweens);if(0===n.length)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<n.length;o++){var r=this._tweens[n[o]],i=!t;r&&!1===r.update(e,i)&&!t&&delete this._tweens[n[o]]}n=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),ce={Linear:function(e,t){var n=e.length-1,o=n*t,r=Math.floor(o),i=ce.Utils.Linear;return t<0?i(e[0],e[1],o):t>1?i(e[n],e[n-1],n-o):i(e[r],e[r+1>n?n:r+1],o-r)},Bezier:function(e,t){for(var n=0,o=e.length-1,r=Math.pow,i=ce.Utils.Bernstein,a=0;a<=o;a++)n+=r(1-t,o-a)*r(t,a)*e[a]*i(o,a);return n},CatmullRom:function(e,t){var n=e.length-1,o=n*t,r=Math.floor(o),i=ce.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(r=Math.floor(o=n*(1+t))),i(e[(r-1+n)%n],e[r],e[(r+1)%n],e[(r+2)%n],o-r)):t<0?e[0]-(i(e[0],e[0],e[1],e[1],-o)-e[0]):t>1?e[n]-(i(e[n],e[n],e[n-1],e[n-1],o-n)-e[n]):i(e[r?r-1:0],e[r],e[n<r+1?n:r+1],e[n<r+2?n:r+2],o-r)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=ce.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:(oe=[1],function(e){var t=1;if(oe[e])return oe[e];for(var n=e;n>1;n--)t*=n;return oe[e]=t,t}),CatmullRom:function(e,t,n,o,r){var i=.5*(n-e),a=.5*(o-t),s=r*r;return(2*t-2*n+i+a)*(r*s)+(-3*t+3*n-2*i-a)*s+i*r+t}}},le=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),ue=new se,he=function(){function e(e,t){void 0===t&&(t=ue),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=ie.Linear.None,this._interpolationFunction=ce.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=le.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},e.prototype.duration=function(e){return this._duration=e,this},e.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var t in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(t),this._valuesStart[t]=this._valuesStartRepeat[t];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==e?"string"==typeof e?ae()+parseFloat(e):e:ae(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(e,t,n,o){for(var r in n){var i=e[r],a=Array.isArray(i),s=a?"array":typeof i,c=!a&&Array.isArray(n[r]);if("undefined"!==s&&"function"!==s){if(c){var l=n[r];if(0===l.length)continue;l=l.map(this._handleRelativeValue.bind(this,i)),n[r]=[i].concat(l)}if("object"!==s&&!a||!i||c)void 0===t[r]&&(t[r]=i),a||(t[r]*=1),o[r]=c?n[r].slice().reverse():t[r]||0;else{for(var u in t[r]=a?[]:{},i)t[r][u]=i[u];o[r]=a?[]:{},this._setupProperties(i,t[r],n[r],o[r])}}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(e){return void 0===e&&(e=ae()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this)),this},e.prototype.resume=function(e){return void 0===e&&(e=ae()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},e.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop();return this},e.prototype.group=function(e){return this._group=e,this},e.prototype.delay=function(e){return this._delayTime=e,this},e.prototype.repeat=function(e){return this._initialRepeat=e,this._repeat=e,this},e.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},e.prototype.yoyo=function(e){return this._yoyo=e,this},e.prototype.easing=function(e){return this._easingFunction=e,this},e.prototype.interpolation=function(e){return this._interpolationFunction=e,this},e.prototype.chain=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._chainedTweens=e,this},e.prototype.onStart=function(e){return this._onStartCallback=e,this},e.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},e.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},e.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},e.prototype.onStop=function(e){return this._onStopCallback=e,this},e.prototype.update=function(e,t){if(void 0===e&&(e=ae()),void 0===t&&(t=!0),this._isPaused)return!0;var n,o,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(e>r)return!1;t&&this.start(e)}if(this._goToEnd=!1,e<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),o=(e-this._startTime)/this._duration,o=0===this._duration||o>1?1:o;var i=this._easingFunction(o);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,i),this._onUpdateCallback&&this._onUpdateCallback(this._object,o),1===o){if(this._repeat>0){for(n in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[n]||(this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(this._valuesEnd[n])),this._yoyo&&this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var a=0,s=this._chainedTweens.length;a<s;a++)this._chainedTweens[a].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(e,t,n,o){for(var r in n)if(void 0!==t[r]){var i=t[r]||0,a=n[r],s=Array.isArray(e[r]),c=Array.isArray(a);!s&&c?e[r]=this._interpolationFunction(a,o):"object"==typeof a&&a?this._updateProperties(e[r],i,a,o):"number"==typeof(a=this._handleRelativeValue(i,a))&&(e[r]=i+(a-i)*o)}},e.prototype._handleRelativeValue=function(e,t){return"string"!=typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?e+parseFloat(t):parseFloat(t)},e.prototype._swapEndStartRepeatValues=function(e){var t=this._valuesStartRepeat[e],n=this._valuesEnd[e];this._valuesStartRepeat[e]="string"==typeof n?this._valuesStartRepeat[e]+parseFloat(n):this._valuesEnd[e],this._valuesEnd[e]=t},e}(),pe=le.nextId,de=ue,fe=de.getAll.bind(de),me=de.removeAll.bind(de),ge=de.add.bind(de),be=de.remove.bind(de),ve=de.update.bind(de),ye={Easing:ie,Group:se,Interpolation:ce,now:ae,Sequence:le,nextId:pe,Tween:he,VERSION:"18.6.4",getAll:fe,removeAll:me,add:ge,remove:be,update:ve};function we(e,t,n){var o,r,i,a,s;function c(){var l=Date.now()-a;l<t&&l>=0?o=setTimeout(c,t-l):(o=null,n||(s=e.apply(i,r),i=r=null))}null==t&&(t=100);var l=function(){i=this,r=arguments,a=Date.now();var l=n&&!o;return o||(o=setTimeout(c,t)),l&&(s=e.apply(i,r),i=r=null),s};return l.clear=function(){o&&(clearTimeout(o),o=null)},l.flush=function(){o&&(s=e.apply(i,r),i=r=null,clearTimeout(o),o=null)},l}we.debounce=we;var Ee=we;function Se(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function _e(e,t,n){return t&&Se(e.prototype,t),n&&Se(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ke(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var o,r,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(o=n.next()).done)&&(i.push(o.value),!t||i.length!==t);a=!0);}catch(e){s=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Pe(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pe(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var xe=_e((function e(t,n){var o=n.default,r=void 0===o?null:o,i=n.triggerUpdate,a=void 0===i||i,s=n.onChange,c=void 0===s?function(e,t){}:s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.defaultVal=r,this.triggerUpdate=a,this.onChange=c}));var Ce,Te,je,Oe,Re,Le,Ie,Me,Ae,De,Ve,Fe,ze,Ue,Ne=window.THREE?window.THREE:{WebGLRenderer:e.WebGLRenderer,Scene:e.Scene,PerspectiveCamera:e.PerspectiveCamera,Raycaster:e.Raycaster,TextureLoader:e.TextureLoader,Vector2:e.Vector2,Vector3:e.Vector3,Box3:e.Box3,Color:e.Color,Mesh:e.Mesh,SphereGeometry:e.SphereGeometry,MeshBasicMaterial:e.MeshBasicMaterial,BackSide:e.BackSide,EventDispatcher:e.EventDispatcher,MOUSE:e.MOUSE,Quaternion:e.Quaternion,Spherical:e.Spherical,Clock:e.Clock},Ye=(Ce={props:{width:{default:window.innerWidth,onChange:function(e,t,n){isNaN(e)&&(t.width=n)}},height:{default:window.innerHeight,onChange:function(e,t,n){isNaN(e)&&(t.height=n)}},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.toolTipElem&&(t.toolTipElem.innerHTML="")},triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{default:function(){return-1},triggerUpdate:!1},hoverFilter:{default:function(){return!0},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},clickAfterDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){if(e.controls.update&&e.controls.update(e.clock.getDelta()),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.extraRenderers.forEach((function(t){return t.render(e.scene,e.camera)})),e.enablePointerInteraction){var t=null;if(e.hoverDuringDrag||!e.isPointerDragging){var n=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y).filter((function(t){return e.hoverFilter(t.object)})).sort((function(t,n){return e.hoverOrderComparator(t.object,n.object)})),o=n.length?n[0]:null;t=o?o.object:null,e.intersectionPoint=o?o.point:null}t!==e.hoverObj&&(e.onHover(t,e.hoverObj),e.toolTipElem.innerHTML=t&&((r=e.tooltipContent)instanceof Function?r:"string"==typeof r?function(e){return e[r]}:function(e){return r})(t)||"",e.hoverObj=t)}ye.update()}var r;return this},getPointerPos:function(e){var t=e.pointerPos;return{x:t.x,y:t.y}},cameraPosition:function(e,t,n,o){var r=e.camera;if(t&&e.initialised){var i=t,a=n||{x:0,y:0,z:0};if(o){var s=Object.assign({},r.position),c=h();new ye.Tween(s).to(i,o).easing(ye.Easing.Quadratic.Out).onUpdate(l).start(),new ye.Tween(c).to(a,o/3).easing(ye.Easing.Quadratic.Out).onUpdate(u).start()}else l(i),u(a);return this}return Object.assign({},r.position,{lookAt:h()});function l(e){var t=e.x,n=e.y,o=e.z;void 0!==t&&(r.position.x=t),void 0!==n&&(r.position.y=n),void 0!==o&&(r.position.z=o)}function u(t){var n=new Ne.Vector3(t.x,t.y,t.z);e.controls.target?e.controls.target=n:r.lookAt(n)}function h(){return Object.assign(new Ne.Vector3(0,0,-1e3).applyQuaternion(r.quaternion).add(r.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,o=arguments.length,r=new Array(o>3?o-3:0),i=3;i<o;i++)r[i-3]=arguments[i];return this.fitToBbox(this.getBbox.apply(this,r),t,n)},fitToBbox:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,a=e.camera;if(t){var s=new Ne.Vector3(0,0,0),c=2*Math.max.apply(Math,o(Object.entries(t).map((function(e){var t=n(e,2),r=t[0],i=t[1];return Math.max.apply(Math,o(i.map((function(e){return Math.abs(s[r]-e)}))))})))),l=(1-2*i/e.height)*a.fov,u=c/Math.atan(l*Math.PI/180),h=u/a.aspect,p=Math.max(u,h);if(p>0){var d=s.clone().sub(a.position).normalize().multiplyScalar(-p);this.cameraPosition(d,s,r)}}return this},getBbox:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},r=new Ne.Box3(new Ne.Vector3(0,0,0),new Ne.Vector3(0,0,0)),i=e.objects.filter(n);return i.length?(i.forEach((function(e){return r.expandByObject(e)})),Object.assign.apply(Object,o(["x","y","z"].map((function(e){return t({},e,[r.min[e],r.max[e]])}))))):null},getScreenCoords:function(e,t,n,o){var r=new Ne.Vector3(t,n,o);return r.project(this.camera()),{x:(r.x+1)*e.width/2,y:-(r.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=new Ne.Vector2(t/e.width*2-1,-n/e.height*2+1),i=new Ne.Raycaster;return i.setFromCamera(r,e.camera),Object.assign({},i.ray.at(o,new Ne.Vector3))},intersectingObjects:function(e,t,n){var o=new Ne.Vector2(t/e.width*2-1,-n/e.height*2+1),r=new Ne.Raycaster;return r.params.Line.threshold=e.lineHoverPrecision,r.setFromCamera(o,e.camera),r.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new Ne.Scene,camera:new Ne.PerspectiveCamera,clock:new Ne.Clock}},init:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.controlType,i=void 0===r?"trackball":r,a=n.rendererConfig,s=void 0===a?{}:a,c=n.extraRenderers,u=void 0===c?[]:c,h=n.waitForLoadComplete,p=void 0===h||h;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[i]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.toolTipElem=document.createElement("div"),t.toolTipElem.classList.add("scene-tooltip"),t.container.appendChild(t.toolTipElem),t.pointerPos=new Ne.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach((function(e){return t.container.addEventListener(e,(function(n){if("pointerdown"===e&&(t.isPointerPressed=!0),!t.isPointerDragging&&"pointermove"===n.type&&(n.pressure>0||t.isPointerPressed)&&("touch"!==n.pointerType||void 0===n.movementX||[n.movementX,n.movementY].some((function(e){return Math.abs(e)>1})))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var o=(r=t.container,i=r.getBoundingClientRect(),a=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,{top:i.top+s,left:i.left+a});t.pointerPos.x=n.pageX-o.left,t.pointerPos.y=n.pageY-o.top,t.toolTipElem.style.top="".concat(t.pointerPos.y,"px"),t.toolTipElem.style.left="".concat(t.pointerPos.x,"px"),t.toolTipElem.style.transform="translate(-".concat(t.pointerPos.x/t.width*100,"%, ").concat(t.height-t.pointerPos.y<100?"calc(-100% - 8px)":"21px",")")}var r,i,a,s}),{passive:!0})})),t.container.addEventListener("pointerup",(function(e){t.isPointerPressed=!1,t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag)||requestAnimationFrame((function(){0===e.button&&t.onClick(t.hoverObj||null,e,t.intersectionPoint),2===e.button&&t.onRightClick&&t.onRightClick(t.hoverObj||null,e,t.intersectionPoint)}))}),{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",(function(e){t.onRightClick&&e.preventDefault()})),t.renderer=new Ne.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},s)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=u,t.extraRenderers.forEach((function(e){e.domElement.style.position="absolute",e.domElement.style.top="0px",e.domElement.style.pointerEvents="none",t.container.appendChild(e.domElement)})),t.postProcessingComposer=new P(t.renderer),t.postProcessingComposer.addPass(new C(t.scene,t.camera)),t.controls=new{trackball:l,orbit:d,fly:m}[i](t.camera,t.renderer.domElement),"fly"===i&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),"trackball"!==i&&"orbit"!==i||(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",(function(){t.controlsEngaged=!0})),t.controls.addEventListener("change",(function(){t.controlsEngaged&&(t.controlsDragging=!0)})),t.controls.addEventListener("end",(function(){t.controlsEngaged=!1,t.controlsDragging=!1}))),[t.renderer,t.postProcessingComposer].concat(o(t.extraRenderers)).forEach((function(e){return e.setSize(t.width,t.height)})),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new Ne.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!p,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&(e.container.style.width="".concat(e.width,"px"),e.container.style.height="".concat(e.height,"px"),[e.renderer,e.postProcessingComposer].concat(o(e.extraRenderers)).forEach((function(t){return t.setSize(e.width,e.height)})),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix()),t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=Math.min(e.controls.maxDistance,e.skyRadius)),e.camera.far=2.5*e.skyRadius,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new Ne.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var n=G(e.backgroundColor).alpha;void 0===n&&(n=1),e.renderer.setClearColor(new Ne.Color(re(1,e.backgroundColor)),n)}function r(){e.loadComplete=e.scene.visible=!0}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?(new Ne.TextureLoader).load(e.backgroundImageUrl,(function(t){e.skysphere.material=new Ne.MeshBasicMaterial({map:t,side:Ne.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&r()})):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&r())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("objects")&&((t.objects||[]).forEach((function(t){return e.scene.remove(t)})),e.objects.forEach((function(t){return e.scene.add(t)})))}},Te=Ce.stateInit,je=void 0===Te?function(){return{}}:Te,Oe=Ce.props,Re=void 0===Oe?{}:Oe,Le=Ce.methods,Ie=void 0===Le?{}:Le,Me=Ce.aliases,Ae=void 0===Me?{}:Me,De=Ce.init,Ve=void 0===De?function(){}:De,Fe=Ce.update,ze=void 0===Fe?function(){}:Fe,Ue=Object.keys(Re).map((function(e){return new xe(e,Re[e])})),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},je instanceof Function?je(e):je,{initialised:!1}),n={};function o(t){return r(t,e),i(),o}var r=function(e,n){Ve.call(o,e,t,n),t.initialised=!0},i=Ee((function(){t.initialised&&(ze.call(o,t,n),n={})}),1);return Ue.forEach((function(e){o[e.name]=function(e){var r=e.name,a=e.triggerUpdate,s=void 0!==a&&a,c=e.onChange,l=void 0===c?function(e,t){}:c,u=e.defaultVal,h=void 0===u?null:u;return function(e){var a=t[r];if(!arguments.length)return a;var c=void 0===e?h:e;return t[r]=c,l.call(o,c,t,a),!n.hasOwnProperty(r)&&(n[r]=a),s&&i(),o}}(e)})),Object.keys(Ie).forEach((function(e){o[e]=function(){for(var n,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return(n=Ie[e]).call.apply(n,[o,t].concat(i))}})),Object.entries(Ae).forEach((function(e){var t=ke(e,2),n=t[0],r=t[1];return o[n]=o[r]})),o.resetProps=function(){return Ue.forEach((function(e){o[e.name](e.defaultVal)})),o},o.resetProps(),t._rerender=i,o});return Ye}));
|
|
1
|
+
// Version 1.27.8 three-render-objects - https://github.com/vasturiano/three-render-objects
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("three")):"function"==typeof define&&define.amd?define(["three"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).ThreeRenderObjects=t(e.THREE)}(this,(function(e){"use strict";function t(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,i,a,s=[],c=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=i.call(n)).done)&&(s.push(o.value),s.length!==t);c=!0);}catch(e){l=!0,r=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw r}}return s}}(e,t)||r(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||r(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}(".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}");const a={type:"change"},s={type:"start"},c={type:"end"};class l extends e.EventDispatcher{constructor(t,n){super();const o=this,r=-1,i=0,l=1,u=2,h=3,p=4;this.object=t,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=["KeyA","KeyS","KeyD"],this.mouseButtons={LEFT:e.MOUSE.ROTATE,MIDDLE:e.MOUSE.DOLLY,RIGHT:e.MOUSE.PAN},this.target=new e.Vector3;const d=1e-6,f=new e.Vector3;let m=1,g=r,b=r,v=0,y=0,w=0;const E=new e.Vector3,S=new e.Vector2,_=new e.Vector2,k=new e.Vector3,P=new e.Vector2,x=new e.Vector2,T=new e.Vector2,C=new e.Vector2,j=[],O={};this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,this.handleResize=function(){const e=o.domElement.getBoundingClientRect(),t=o.domElement.ownerDocument.documentElement;o.screen.left=e.left+window.pageXOffset-t.clientLeft,o.screen.top=e.top+window.pageYOffset-t.clientTop,o.screen.width=e.width,o.screen.height=e.height};const R=function(){const t=new e.Vector2;return function(e,n){return t.set((e-o.screen.left)/o.screen.width,(n-o.screen.top)/o.screen.height),t}}(),L=function(){const t=new e.Vector2;return function(e,n){return t.set((e-.5*o.screen.width-o.screen.left)/(.5*o.screen.width),(o.screen.height+2*(o.screen.top-n))/o.screen.width),t}}();function I(e){!1!==o.enabled&&(0===j.length&&(o.domElement.setPointerCapture(e.pointerId),o.domElement.addEventListener("pointermove",M),o.domElement.addEventListener("pointerup",A)),function(e){j.push(e)}(e),"touch"===e.pointerType?function(e){if(1===(Y(e),j.length))g=h,_.copy(L(j[0].pageX,j[0].pageY)),S.copy(_);else{g=p;const e=j[0].pageX-j[1].pageX,t=j[0].pageY-j[1].pageY;y=v=Math.sqrt(e*e+t*t);const n=(j[0].pageX+j[1].pageX)/2,o=(j[0].pageY+j[1].pageY)/2;T.copy(R(n,o)),C.copy(T)}o.dispatchEvent(s)}(e):function(e){if(g===r)switch(e.button){case o.mouseButtons.LEFT:g=i;break;case o.mouseButtons.MIDDLE:g=l;break;case o.mouseButtons.RIGHT:g=u}const t=b!==r?b:g;t!==i||o.noRotate?t!==l||o.noZoom?t!==u||o.noPan||(T.copy(R(e.pageX,e.pageY)),C.copy(T)):(P.copy(R(e.pageX,e.pageY)),x.copy(P)):(_.copy(L(e.pageX,e.pageY)),S.copy(_));o.dispatchEvent(s)}(e))}function M(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){if(1===(Y(e),j.length))S.copy(_),_.copy(L(e.pageX,e.pageY));else{const t=function(e){const t=e.pointerId===j[0].pointerId?j[1]:j[0];return O[t.pointerId]}(e),n=e.pageX-t.x,o=e.pageY-t.y;y=Math.sqrt(n*n+o*o);const r=(e.pageX+t.x)/2,i=(e.pageY+t.y)/2;C.copy(R(r,i))}}(e):function(e){const t=b!==r?b:g;t!==i||o.noRotate?t!==l||o.noZoom?t!==u||o.noPan||C.copy(R(e.pageX,e.pageY)):x.copy(R(e.pageX,e.pageY)):(S.copy(_),_.copy(L(e.pageX,e.pageY)))}(e))}function A(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){switch(j.length){case 0:g=r;break;case 1:g=h,_.copy(L(e.pageX,e.pageY)),S.copy(_);break;case 2:g=p;for(let t=0;t<j.length;t++)if(j[t].pointerId!==e.pointerId){const e=O[j[t].pointerId];_.copy(L(e.x,e.y)),S.copy(_);break}}o.dispatchEvent(c)}(e):(g=r,o.dispatchEvent(c)),N(e),0===j.length&&(o.domElement.releasePointerCapture(e.pointerId),o.domElement.removeEventListener("pointermove",M),o.domElement.removeEventListener("pointerup",A)))}function D(e){N(e)}function V(e){!1!==o.enabled&&(window.removeEventListener("keydown",V),b===r&&(e.code!==o.keys[i]||o.noRotate?e.code!==o.keys[l]||o.noZoom?e.code!==o.keys[u]||o.noPan||(b=u):b=l:b=i))}function F(){!1!==o.enabled&&(b=r,window.addEventListener("keydown",V))}function z(e){if(!1!==o.enabled&&!0!==o.noZoom){switch(e.preventDefault(),e.deltaMode){case 2:P.y-=.025*e.deltaY;break;case 1:P.y-=.01*e.deltaY;break;default:P.y-=25e-5*e.deltaY}o.dispatchEvent(s),o.dispatchEvent(c)}}function U(e){!1!==o.enabled&&e.preventDefault()}function N(e){delete O[e.pointerId];for(let t=0;t<j.length;t++)if(j[t].pointerId==e.pointerId)return void j.splice(t,1)}function Y(t){let n=O[t.pointerId];void 0===n&&(n=new e.Vector2,O[t.pointerId]=n),n.set(t.pageX,t.pageY)}this.rotateCamera=function(){const t=new e.Vector3,n=new e.Quaternion,r=new e.Vector3,i=new e.Vector3,a=new e.Vector3,s=new e.Vector3;return function(){s.set(_.x-S.x,_.y-S.y,0);let e=s.length();e?(E.copy(o.object.position).sub(o.target),r.copy(E).normalize(),i.copy(o.object.up).normalize(),a.crossVectors(i,r).normalize(),i.setLength(_.y-S.y),a.setLength(_.x-S.x),s.copy(i.add(a)),t.crossVectors(s,E).normalize(),e*=o.rotateSpeed,n.setFromAxisAngle(t,e),E.applyQuaternion(n),o.object.up.applyQuaternion(n),k.copy(t),w=e):!o.staticMoving&&w&&(w*=Math.sqrt(1-o.dynamicDampingFactor),E.copy(o.object.position).sub(o.target),n.setFromAxisAngle(k,w),E.applyQuaternion(n),o.object.up.applyQuaternion(n)),S.copy(_)}}(),this.zoomCamera=function(){let e;g===p?(e=v/y,v=y,o.object.isPerspectiveCamera?E.multiplyScalar(e):o.object.isOrthographicCamera?(o.object.zoom/=e,o.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(x.y-P.y)*o.zoomSpeed,1!==e&&e>0&&(o.object.isPerspectiveCamera?E.multiplyScalar(e):o.object.isOrthographicCamera?(o.object.zoom/=e,o.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),o.staticMoving?P.copy(x):P.y+=(x.y-P.y)*this.dynamicDampingFactor)},this.panCamera=function(){const t=new e.Vector2,n=new e.Vector3,r=new e.Vector3;return function(){if(t.copy(C).sub(T),t.lengthSq()){if(o.object.isOrthographicCamera){const e=(o.object.right-o.object.left)/o.object.zoom/o.domElement.clientWidth,n=(o.object.top-o.object.bottom)/o.object.zoom/o.domElement.clientWidth;t.x*=e,t.y*=n}t.multiplyScalar(E.length()*o.panSpeed),r.copy(E).cross(o.object.up).setLength(t.x),r.add(n.copy(o.object.up).setLength(t.y)),o.object.position.add(r),o.target.add(r),o.staticMoving?T.copy(C):T.add(t.subVectors(C,T).multiplyScalar(o.dynamicDampingFactor))}}}(),this.checkDistances=function(){o.noZoom&&o.noPan||(E.lengthSq()>o.maxDistance*o.maxDistance&&(o.object.position.addVectors(o.target,E.setLength(o.maxDistance)),P.copy(x)),E.lengthSq()<o.minDistance*o.minDistance&&(o.object.position.addVectors(o.target,E.setLength(o.minDistance)),P.copy(x)))},this.update=function(){E.subVectors(o.object.position,o.target),o.noRotate||o.rotateCamera(),o.noZoom||o.zoomCamera(),o.noPan||o.panCamera(),o.object.position.addVectors(o.target,E),o.object.isPerspectiveCamera?(o.checkDistances(),o.object.lookAt(o.target),f.distanceToSquared(o.object.position)>d&&(o.dispatchEvent(a),f.copy(o.object.position))):o.object.isOrthographicCamera?(o.object.lookAt(o.target),(f.distanceToSquared(o.object.position)>d||m!==o.object.zoom)&&(o.dispatchEvent(a),f.copy(o.object.position),m=o.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type")},this.reset=function(){g=r,b=r,o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.up.copy(o.up0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),E.subVectors(o.object.position,o.target),o.object.lookAt(o.target),o.dispatchEvent(a),f.copy(o.object.position),m=o.object.zoom},this.dispose=function(){o.domElement.removeEventListener("contextmenu",U),o.domElement.removeEventListener("pointerdown",I),o.domElement.removeEventListener("pointercancel",D),o.domElement.removeEventListener("wheel",z),o.domElement.removeEventListener("pointermove",M),o.domElement.removeEventListener("pointerup",A),window.removeEventListener("keydown",V),window.removeEventListener("keyup",F)},this.domElement.addEventListener("contextmenu",U),this.domElement.addEventListener("pointerdown",I),this.domElement.addEventListener("pointercancel",D),this.domElement.addEventListener("wheel",z,{passive:!1}),window.addEventListener("keydown",V),window.addEventListener("keyup",F),this.handleResize(),this.update()}}const u={type:"change"},h={type:"start"},p={type:"end"};class d extends e.EventDispatcher{constructor(t,n){super(),this.object=t,this.domElement=n,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new e.Vector3,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:e.MOUSE.ROTATE,MIDDLE:e.MOUSE.DOLLY,RIGHT:e.MOUSE.PAN},this.touches={ONE:e.TOUCH.ROTATE,TWO:e.TOUCH.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return s.phi},this.getAzimuthalAngle=function(){return s.theta},this.getDistance=function(){return this.object.position.distanceTo(this.target)},this.listenToKeyEvents=function(e){e.addEventListener("keydown",q),this._domElementKeyEvents=e},this.saveState=function(){o.target0.copy(o.target),o.position0.copy(o.object.position),o.zoom0=o.object.zoom},this.reset=function(){o.target.copy(o.target0),o.object.position.copy(o.position0),o.object.zoom=o.zoom0,o.object.updateProjectionMatrix(),o.dispatchEvent(u),o.update(),i=r.NONE},this.update=function(){const n=new e.Vector3,h=(new e.Quaternion).setFromUnitVectors(t.up,new e.Vector3(0,1,0)),p=h.clone().invert(),m=new e.Vector3,g=new e.Quaternion,b=2*Math.PI;return function(){const e=o.object.position;n.copy(e).sub(o.target),n.applyQuaternion(h),s.setFromVector3(n),o.autoRotate&&i===r.NONE&&T(2*Math.PI/60/60*o.autoRotateSpeed),o.enableDamping?(s.theta+=c.theta*o.dampingFactor,s.phi+=c.phi*o.dampingFactor):(s.theta+=c.theta,s.phi+=c.phi);let t=o.minAzimuthAngle,v=o.maxAzimuthAngle;return isFinite(t)&&isFinite(v)&&(t<-Math.PI?t+=b:t>Math.PI&&(t-=b),v<-Math.PI?v+=b:v>Math.PI&&(v-=b),s.theta=t<=v?Math.max(t,Math.min(v,s.theta)):s.theta>(t+v)/2?Math.max(t,s.theta):Math.min(v,s.theta)),s.phi=Math.max(o.minPolarAngle,Math.min(o.maxPolarAngle,s.phi)),s.makeSafe(),s.radius*=l,s.radius=Math.max(o.minDistance,Math.min(o.maxDistance,s.radius)),!0===o.enableDamping?o.target.addScaledVector(d,o.dampingFactor):o.target.add(d),n.setFromSpherical(s),n.applyQuaternion(p),e.copy(o.target).add(n),o.object.lookAt(o.target),!0===o.enableDamping?(c.theta*=1-o.dampingFactor,c.phi*=1-o.dampingFactor,d.multiplyScalar(1-o.dampingFactor)):(c.set(0,0,0),d.set(0,0,0)),l=1,!!(f||m.distanceToSquared(o.object.position)>a||8*(1-g.dot(o.object.quaternion))>a)&&(o.dispatchEvent(u),m.copy(o.object.position),g.copy(o.object.quaternion),f=!1,!0)}}(),this.dispose=function(){o.domElement.removeEventListener("contextmenu",Q),o.domElement.removeEventListener("pointerdown",Y),o.domElement.removeEventListener("pointercancel",K),o.domElement.removeEventListener("wheel",X),o.domElement.removeEventListener("pointermove",B),o.domElement.removeEventListener("pointerup",H),null!==o._domElementKeyEvents&&o._domElementKeyEvents.removeEventListener("keydown",q)};const o=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let i=r.NONE;const a=1e-6,s=new e.Spherical,c=new e.Spherical;let l=1;const d=new e.Vector3;let f=!1;const m=new e.Vector2,g=new e.Vector2,b=new e.Vector2,v=new e.Vector2,y=new e.Vector2,w=new e.Vector2,E=new e.Vector2,S=new e.Vector2,_=new e.Vector2,k=[],P={};function x(){return Math.pow(.95,o.zoomSpeed)}function T(e){c.theta-=e}function C(e){c.phi-=e}const j=function(){const t=new e.Vector3;return function(e,n){t.setFromMatrixColumn(n,0),t.multiplyScalar(-e),d.add(t)}}(),O=function(){const t=new e.Vector3;return function(e,n){!0===o.screenSpacePanning?t.setFromMatrixColumn(n,1):(t.setFromMatrixColumn(n,0),t.crossVectors(o.object.up,t)),t.multiplyScalar(e),d.add(t)}}(),R=function(){const t=new e.Vector3;return function(e,n){const r=o.domElement;if(o.object.isPerspectiveCamera){const i=o.object.position;t.copy(i).sub(o.target);let a=t.length();a*=Math.tan(o.object.fov/2*Math.PI/180),j(2*e*a/r.clientHeight,o.object.matrix),O(2*n*a/r.clientHeight,o.object.matrix)}else o.object.isOrthographicCamera?(j(e*(o.object.right-o.object.left)/o.object.zoom/r.clientWidth,o.object.matrix),O(n*(o.object.top-o.object.bottom)/o.object.zoom/r.clientHeight,o.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),o.enablePan=!1)}}();function L(e){o.object.isPerspectiveCamera?l/=e:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom*e)),o.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function I(e){o.object.isPerspectiveCamera?l*=e:o.object.isOrthographicCamera?(o.object.zoom=Math.max(o.minZoom,Math.min(o.maxZoom,o.object.zoom/e)),o.object.updateProjectionMatrix(),f=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),o.enableZoom=!1)}function M(e){m.set(e.clientX,e.clientY)}function A(e){v.set(e.clientX,e.clientY)}function D(){if(1===k.length)m.set(k[0].pageX,k[0].pageY);else{const e=.5*(k[0].pageX+k[1].pageX),t=.5*(k[0].pageY+k[1].pageY);m.set(e,t)}}function V(){if(1===k.length)v.set(k[0].pageX,k[0].pageY);else{const e=.5*(k[0].pageX+k[1].pageX),t=.5*(k[0].pageY+k[1].pageY);v.set(e,t)}}function F(){const e=k[0].pageX-k[1].pageX,t=k[0].pageY-k[1].pageY,n=Math.sqrt(e*e+t*t);E.set(0,n)}function z(e){if(1==k.length)g.set(e.pageX,e.pageY);else{const t=W(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);g.set(n,o)}b.subVectors(g,m).multiplyScalar(o.rotateSpeed);const t=o.domElement;T(2*Math.PI*b.x/t.clientHeight),C(2*Math.PI*b.y/t.clientHeight),m.copy(g)}function U(e){if(1===k.length)y.set(e.pageX,e.pageY);else{const t=W(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);y.set(n,o)}w.subVectors(y,v).multiplyScalar(o.panSpeed),R(w.x,w.y),v.copy(y)}function N(e){const t=W(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);S.set(0,i),_.set(0,Math.pow(S.y/E.y,o.zoomSpeed)),L(_.y),E.copy(S)}function Y(t){!1!==o.enabled&&(0===k.length&&(o.domElement.setPointerCapture(t.pointerId),o.domElement.addEventListener("pointermove",B),o.domElement.addEventListener("pointerup",H)),function(e){k.push(e)}(t),"touch"===t.pointerType?function(t){switch(G(t),k.length){case 1:switch(o.touches.ONE){case e.TOUCH.ROTATE:if(!1===o.enableRotate)return;D(),i=r.TOUCH_ROTATE;break;case e.TOUCH.PAN:if(!1===o.enablePan)return;V(),i=r.TOUCH_PAN;break;default:i=r.NONE}break;case 2:switch(o.touches.TWO){case e.TOUCH.DOLLY_PAN:if(!1===o.enableZoom&&!1===o.enablePan)return;o.enableZoom&&F(),o.enablePan&&V(),i=r.TOUCH_DOLLY_PAN;break;case e.TOUCH.DOLLY_ROTATE:if(!1===o.enableZoom&&!1===o.enableRotate)return;o.enableZoom&&F(),o.enableRotate&&D(),i=r.TOUCH_DOLLY_ROTATE;break;default:i=r.NONE}break;default:i=r.NONE}i!==r.NONE&&o.dispatchEvent(h)}(t):function(t){let n;switch(t.button){case 0:n=o.mouseButtons.LEFT;break;case 1:n=o.mouseButtons.MIDDLE;break;case 2:n=o.mouseButtons.RIGHT;break;default:n=-1}switch(n){case e.MOUSE.DOLLY:if(!1===o.enableZoom)return;!function(e){E.set(e.clientX,e.clientY)}(t),i=r.DOLLY;break;case e.MOUSE.ROTATE:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===o.enablePan)return;A(t),i=r.PAN}else{if(!1===o.enableRotate)return;M(t),i=r.ROTATE}break;case e.MOUSE.PAN:if(t.ctrlKey||t.metaKey||t.shiftKey){if(!1===o.enableRotate)return;M(t),i=r.ROTATE}else{if(!1===o.enablePan)return;A(t),i=r.PAN}break;default:i=r.NONE}i!==r.NONE&&o.dispatchEvent(h)}(t))}function B(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){switch(G(e),i){case r.TOUCH_ROTATE:if(!1===o.enableRotate)return;z(e),o.update();break;case r.TOUCH_PAN:if(!1===o.enablePan)return;U(e),o.update();break;case r.TOUCH_DOLLY_PAN:if(!1===o.enableZoom&&!1===o.enablePan)return;!function(e){o.enableZoom&&N(e),o.enablePan&&U(e)}(e),o.update();break;case r.TOUCH_DOLLY_ROTATE:if(!1===o.enableZoom&&!1===o.enableRotate)return;!function(e){o.enableZoom&&N(e),o.enableRotate&&z(e)}(e),o.update();break;default:i=r.NONE}}(e):function(e){switch(i){case r.ROTATE:if(!1===o.enableRotate)return;!function(e){g.set(e.clientX,e.clientY),b.subVectors(g,m).multiplyScalar(o.rotateSpeed);const t=o.domElement;T(2*Math.PI*b.x/t.clientHeight),C(2*Math.PI*b.y/t.clientHeight),m.copy(g),o.update()}(e);break;case r.DOLLY:if(!1===o.enableZoom)return;!function(e){S.set(e.clientX,e.clientY),_.subVectors(S,E),_.y>0?L(x()):_.y<0&&I(x()),E.copy(S),o.update()}(e);break;case r.PAN:if(!1===o.enablePan)return;!function(e){y.set(e.clientX,e.clientY),w.subVectors(y,v).multiplyScalar(o.panSpeed),R(w.x,w.y),v.copy(y),o.update()}(e)}}(e))}function H(e){Z(e),0===k.length&&(o.domElement.releasePointerCapture(e.pointerId),o.domElement.removeEventListener("pointermove",B),o.domElement.removeEventListener("pointerup",H)),o.dispatchEvent(p),i=r.NONE}function K(e){Z(e)}function X(e){!1!==o.enabled&&!1!==o.enableZoom&&i===r.NONE&&(e.preventDefault(),o.dispatchEvent(h),function(e){e.deltaY<0?I(x()):e.deltaY>0&&L(x()),o.update()}(e),o.dispatchEvent(p))}function q(e){!1!==o.enabled&&!1!==o.enablePan&&function(e){let t=!1;switch(e.code){case o.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?C(2*Math.PI*o.rotateSpeed/o.domElement.clientHeight):R(0,o.keyPanSpeed),t=!0;break;case o.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?C(-2*Math.PI*o.rotateSpeed/o.domElement.clientHeight):R(0,-o.keyPanSpeed),t=!0;break;case o.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?T(2*Math.PI*o.rotateSpeed/o.domElement.clientHeight):R(o.keyPanSpeed,0),t=!0;break;case o.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?T(-2*Math.PI*o.rotateSpeed/o.domElement.clientHeight):R(-o.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),o.update())}(e)}function Q(e){!1!==o.enabled&&e.preventDefault()}function Z(e){delete P[e.pointerId];for(let t=0;t<k.length;t++)if(k[t].pointerId==e.pointerId)return void k.splice(t,1)}function G(t){let n=P[t.pointerId];void 0===n&&(n=new e.Vector2,P[t.pointerId]=n),n.set(t.pageX,t.pageY)}function W(e){const t=e.pointerId===k[0].pointerId?k[1]:k[0];return P[t.pointerId]}o.domElement.addEventListener("contextmenu",Q),o.domElement.addEventListener("pointerdown",Y),o.domElement.addEventListener("pointercancel",K),o.domElement.addEventListener("wheel",X,{passive:!1}),this.update()}}const f={type:"change"};class m extends e.EventDispatcher{constructor(t,n){super(),this.object=t,this.domElement=n,this.movementSpeed=1,this.rollSpeed=.005,this.dragToLook=!1,this.autoForward=!1;const o=this,r=1e-6,i=new e.Quaternion,a=new e.Vector3;this.tmpQuaternion=new e.Quaternion,this.status=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new e.Vector3(0,0,0),this.rotationVector=new e.Vector3(0,0,0),this.keydown=function(e){if(!e.altKey){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(e){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.pointerdown=function(e){if(this.dragToLook)this.status++;else{switch(e.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.pointermove=function(e){if(!this.dragToLook||this.status>0){const t=this.getContainerDimensions(),n=t.size[0]/2,o=t.size[1]/2;this.moveState.yawLeft=-(e.pageX-t.offset[0]-n)/n,this.moveState.pitchDown=(e.pageY-t.offset[1]-o)/o,this.updateRotationVector()}},this.pointerup=function(e){if(this.dragToLook)this.status--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(e.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()},this.update=function(e){const t=e*o.movementSpeed,n=e*o.rollSpeed;o.object.translateX(o.moveVector.x*t),o.object.translateY(o.moveVector.y*t),o.object.translateZ(o.moveVector.z*t),o.tmpQuaternion.set(o.rotationVector.x*n,o.rotationVector.y*n,o.rotationVector.z*n,1).normalize(),o.object.quaternion.multiply(o.tmpQuaternion),(a.distanceToSquared(o.object.position)>r||8*(1-i.dot(o.object.quaternion))>r)&&(o.dispatchEvent(f),i.copy(o.object.quaternion),a.copy(o.object.position))},this.updateMovementVector=function(){const e=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-e+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.dispose=function(){this.domElement.removeEventListener("contextmenu",g),this.domElement.removeEventListener("pointerdown",c),this.domElement.removeEventListener("pointermove",s),this.domElement.removeEventListener("pointerup",l),window.removeEventListener("keydown",u),window.removeEventListener("keyup",h)};const s=this.pointermove.bind(this),c=this.pointerdown.bind(this),l=this.pointerup.bind(this),u=this.keydown.bind(this),h=this.keyup.bind(this);this.domElement.addEventListener("contextmenu",g),this.domElement.addEventListener("pointerdown",c),this.domElement.addEventListener("pointermove",s),this.domElement.addEventListener("pointerup",l),window.addEventListener("keydown",u),window.addEventListener("keyup",h),this.updateMovementVector(),this.updateRotationVector()}}function g(e){e.preventDefault()}const b={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tgl_FragColor = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor.a *= opacity;\n\n\n\t\t}"};class v{constructor(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const y=new e.OrthographicCamera(-1,1,1,-1,0,1),w=new e.BufferGeometry;w.setAttribute("position",new e.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),w.setAttribute("uv",new e.Float32BufferAttribute([0,2,0,0,2,0],2));class E{constructor(t){this._mesh=new e.Mesh(w,t)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,y)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class S extends v{constructor(t,n){super(),this.textureID=void 0!==n?n:"tDiffuse",t instanceof e.ShaderMaterial?(this.uniforms=t.uniforms,this.material=t):t&&(this.uniforms=e.UniformsUtils.clone(t.uniforms),this.material=new e.ShaderMaterial({defines:Object.assign({},t.defines),uniforms:this.uniforms,vertexShader:t.vertexShader,fragmentShader:t.fragmentShader})),this.fsQuad=new E(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}dispose(){this.material.dispose(),this.fsQuad.dispose()}}class _ extends v{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const o=e.getContext(),r=e.state;let i,a;r.buffers.color.setMask(!1),r.buffers.depth.setMask(!1),r.buffers.color.setLocked(!0),r.buffers.depth.setLocked(!0),this.inverse?(i=0,a=1):(i=1,a=0),r.buffers.stencil.setTest(!0),r.buffers.stencil.setOp(o.REPLACE,o.REPLACE,o.REPLACE),r.buffers.stencil.setFunc(o.ALWAYS,i,4294967295),r.buffers.stencil.setClear(a),r.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),r.buffers.color.setLocked(!1),r.buffers.depth.setLocked(!1),r.buffers.stencil.setLocked(!1),r.buffers.stencil.setFunc(o.EQUAL,1,4294967295),r.buffers.stencil.setOp(o.KEEP,o.KEEP,o.KEEP),r.buffers.stencil.setLocked(!0)}}class k extends v{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class P{constructor(t,n){if(this.renderer=t,void 0===n){const o=t.getSize(new e.Vector2);this._pixelRatio=t.getPixelRatio(),this._width=o.width,this._height=o.height,(n=new e.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=n.width,this._height=n.height;this.renderTarget1=n,this.renderTarget2=n.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],this.copyPass=new S(b),this.clock=new e.Clock}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){void 0===e&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let n=!1;for(let t=0,o=this.passes.length;t<o;t++){const o=this.passes[t];if(!1!==o.enabled){if(o.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(t),o.render(this.renderer,this.writeBuffer,this.readBuffer,e,n),o.needsSwap){if(n){const t=this.renderer.getContext(),n=this.renderer.state.buffers.stencil;n.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),n.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}void 0!==_&&(o instanceof _?n=!0:o instanceof k&&(n=!1))}}this.renderer.setRenderTarget(t)}reset(t){if(void 0===t){const n=this.renderer.getSize(new e.Vector2);this._pixelRatio=this.renderer.getPixelRatio(),this._width=n.width,this._height=n.height,(t=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=t,this.renderTarget2=t.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const n=this._width*this._pixelRatio,o=this._height*this._pixelRatio;this.renderTarget1.setSize(n,o),this.renderTarget2.setSize(n,o);for(let e=0;e<this.passes.length;e++)this.passes[e].setSize(n,o)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.copyPass.dispose()}}class x extends v{constructor(t,n,o,r,i){super(),this.scene=t,this.camera=n,this.overrideMaterial=o,this.clearColor=r,this.clearAlpha=void 0!==i?i:0,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new e.Color}render(e,t,n){const o=e.autoClear;let r,i;e.autoClear=!1,void 0!==this.overrideMaterial&&(i=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor&&(e.getClearColor(this._oldClearColor),r=e.getClearAlpha(),e.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor&&e.setClearColor(this._oldClearColor,r),void 0!==this.overrideMaterial&&(this.scene.overrideMaterial=i),e.autoClear=o}}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},T.apply(this,arguments)}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function j(e,t){return j=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},j(e,t)}function O(e){return O=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},O(e)}function R(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function L(e,t,n){return L=R()?Reflect.construct.bind():function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&j(r,n.prototype),r},L.apply(null,arguments)}function I(e){var t="function"==typeof Map?new Map:void 0;return I=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return L(e,arguments,O(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),j(o,e)},I(e)}var M={1:"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",2:"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",3:"Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",4:"Couldn't generate valid rgb string from %s, it returned %s.\n\n",5:"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",6:"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",7:"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",8:"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",9:"Please provide a number of steps to the modularScale helper.\n\n",10:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",11:'Invalid value passed as base to modularScale, expected number or em string but got "%s"\n\n',12:'Expected a string ending in "px" or a number passed as the first argument to %s(), got "%s" instead.\n\n',13:'Expected a string ending in "px" or a number passed as the second argument to %s(), got "%s" instead.\n\n',14:'Passed invalid pixel value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',15:'Passed invalid base value ("%s") to %s(), please pass a value like "12px" or 12.\n\n',16:"You must provide a template to this method.\n\n",17:"You passed an unsupported selector state to this method.\n\n",18:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",19:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",20:"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",21:"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",22:"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",23:"fontFace expects a name of a font-family.\n\n",24:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",25:"fontFace expects localFonts to be an array.\n\n",26:"fontFace expects fileFormats to be an array.\n\n",27:"radialGradient requries at least 2 color-stops to properly render.\n\n",28:"Please supply a filename to retinaImage() as the first argument.\n\n",29:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",30:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",31:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",32:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",33:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",34:"borderRadius expects a radius value as a string or number as the second argument.\n\n",35:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',36:"Property must be a string value.\n\n",37:"Syntax Error at %s.\n\n",38:"Formula contains a function that needs parentheses at %s.\n\n",39:"Formula is missing closing parenthesis at %s.\n\n",40:"Formula has too many closing parentheses at %s.\n\n",41:"All values in a formula must have the same unit or be unitless.\n\n",42:"Please provide a number of steps to the modularScale helper.\n\n",43:"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",44:"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",45:"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",46:"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",47:"minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",48:"fromSize and toSize must be provided as stringified numbers with the same units.\n\n",49:"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",50:"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",51:"Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",52:"fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",53:"fontFace expects localFonts to be an array.\n\n",54:"fontFace expects fileFormats to be an array.\n\n",55:"fontFace expects a name of a font-family.\n\n",56:"linearGradient requries at least 2 color-stops to properly render.\n\n",57:"radialGradient requries at least 2 color-stops to properly render.\n\n",58:"Please supply a filename to retinaImage() as the first argument.\n\n",59:"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",60:"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",61:"Property must be a string value.\n\n",62:"borderRadius expects a radius value as a string or number as the second argument.\n\n",63:'borderRadius expects one of "top", "bottom", "left" or "right" as the first argument.\n\n',64:"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",65:"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",66:"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",67:"You must provide a template to this method.\n\n",68:"You passed an unsupported selector state to this method.\n\n",69:'Expected a string ending in "px" or a number passed as the first argument to %s(), got %s instead.\n\n',70:'Expected a string ending in "px" or a number passed as the second argument to %s(), got %s instead.\n\n',71:'Passed invalid pixel value %s to %s(), please pass a value like "12px" or 12.\n\n',72:'Passed invalid base value %s to %s(), please pass a value like "12px" or 12.\n\n',73:"Please provide a valid CSS variable.\n\n",74:"CSS variable not found and no default was provided.\n\n",75:"important requires a valid style object, got a %s instead.\n\n",76:"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n",77:'remToPx expects a value in "rem" but you provided it in "%s".\n\n',78:'base must be set in "px" or "%" but you set it in "%s".\n'};function A(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o,r=t[0],i=[];for(o=1;o<t.length;o+=1)i.push(t[o]);return i.forEach((function(e){r=r.replace(/%[a-z]/,e)})),r}var D=function(e){var t,n;function o(t){var n;if("production"===process.env.NODE_ENV)n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this;else{for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];n=e.call(this,A.apply(void 0,[M[t]].concat(r)))||this}return C(n)}return n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,j(t,n),o}(I(Error));function V(e){return Math.round(255*e)}function F(e,t,n){return V(e)+","+V(t)+","+V(n)}function z(e,t,n,o){if(void 0===o&&(o=F),0===t)return o(n,n,n);var r=(e%360+360)%360/60,i=(1-Math.abs(2*n-1))*t,a=i*(1-Math.abs(r%2-1)),s=0,c=0,l=0;r>=0&&r<1?(s=i,c=a):r>=1&&r<2?(s=a,c=i):r>=2&&r<3?(c=i,l=a):r>=3&&r<4?(c=a,l=i):r>=4&&r<5?(s=a,l=i):r>=5&&r<6&&(s=i,l=a);var u=n-i/2;return o(s+u,c+u,l+u)}var U={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var N=/^#[a-fA-F0-9]{6}$/,Y=/^#[a-fA-F0-9]{8}$/,B=/^#[a-fA-F0-9]{3}$/,H=/^#[a-fA-F0-9]{4}$/,K=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,X=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,q=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,Q=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function Z(e){if("string"!=typeof e)throw new D(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return U[t]?"#"+U[t]:e}(e);if(t.match(N))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(Y)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(B))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(H)){var o=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:o}}var r=K.exec(t);if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10)};var i=X.exec(t.substring(0,50));if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10),alpha:parseFloat(""+i[4])>1?parseFloat(""+i[4])/100:parseFloat(""+i[4])};var a=q.exec(t);if(a){var s="rgb("+z(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",c=K.exec(s);if(!c)throw new D(4,t,s);return{red:parseInt(""+c[1],10),green:parseInt(""+c[2],10),blue:parseInt(""+c[3],10)}}var l=Q.exec(t.substring(0,50));if(l){var u="rgb("+z(parseInt(""+l[1],10),parseInt(""+l[2],10)/100,parseInt(""+l[3],10)/100)+")",h=K.exec(u);if(!h)throw new D(4,t,u);return{red:parseInt(""+h[1],10),green:parseInt(""+h[2],10),blue:parseInt(""+h[3],10),alpha:parseFloat(""+l[4])>1?parseFloat(""+l[4])/100:parseFloat(""+l[4])}}throw new D(5)}var G=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function W(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function $(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return G("#"+W(e)+W(t)+W(n));if("object"==typeof e&&void 0===t&&void 0===n)return G("#"+W(e.red)+W(e.green)+W(e.blue));throw new D(6)}function J(e,t,n){return function(){var o=n.concat(Array.prototype.slice.call(arguments));return o.length>=t?e.apply(this,o):J(e,t,o)}}function ee(e){return J(e,e.length,[])}function te(e,t){if("transparent"===t)return t;var n,o,r,i=Z(t),a="number"==typeof i.alpha?i.alpha:1;return function(e,t,n,o){if("string"==typeof e&&"number"==typeof t){var r=Z(e);return"rgba("+r.red+","+r.green+","+r.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof o)return o>=1?$(e,t,n):"rgba("+e+","+t+","+n+","+o+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===o)return e.alpha>=1?$(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new D(7)}(T({},i,{alpha:(n=0,o=1,r=(100*a+100*parseFloat(e))/100,Math.max(n,Math.min(o,r)))}))}var ne,oe=ee(te),re={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-re.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*re.Bounce.In(2*e):.5*re.Bounce.Out(2*e-1)+.5}}},ie="undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},ae=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map((function(t){return e._tweens[t]}))},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},e.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},e.prototype.update=function(e,t){void 0===e&&(e=ie()),void 0===t&&(t=!1);var n=Object.keys(this._tweens);if(0===n.length)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<n.length;o++){var r=this._tweens[n[o]],i=!t;r&&!1===r.update(e,i)&&!t&&delete this._tweens[n[o]]}n=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),se={Linear:function(e,t){var n=e.length-1,o=n*t,r=Math.floor(o),i=se.Utils.Linear;return t<0?i(e[0],e[1],o):t>1?i(e[n],e[n-1],n-o):i(e[r],e[r+1>n?n:r+1],o-r)},Bezier:function(e,t){for(var n=0,o=e.length-1,r=Math.pow,i=se.Utils.Bernstein,a=0;a<=o;a++)n+=r(1-t,o-a)*r(t,a)*e[a]*i(o,a);return n},CatmullRom:function(e,t){var n=e.length-1,o=n*t,r=Math.floor(o),i=se.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(r=Math.floor(o=n*(1+t))),i(e[(r-1+n)%n],e[r],e[(r+1)%n],e[(r+2)%n],o-r)):t<0?e[0]-(i(e[0],e[0],e[1],e[1],-o)-e[0]):t>1?e[n]-(i(e[n],e[n],e[n-1],e[n-1],o-n)-e[n]):i(e[r?r-1:0],e[r],e[n<r+1?n:r+1],e[n<r+2?n:r+2],o-r)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=se.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:(ne=[1],function(e){var t=1;if(ne[e])return ne[e];for(var n=e;n>1;n--)t*=n;return ne[e]=t,t}),CatmullRom:function(e,t,n,o,r){var i=.5*(n-e),a=.5*(o-t),s=r*r;return(2*t-2*n+i+a)*(r*s)+(-3*t+3*n-2*i-a)*s+i*r+t}}},ce=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),le=new ae,ue=function(){function e(e,t){void 0===t&&(t=le),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=re.Linear.None,this._interpolationFunction=se.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=ce.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},e.prototype.duration=function(e){return this._duration=e,this},e.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var t in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(t),this._valuesStart[t]=this._valuesStartRepeat[t];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==e?"string"==typeof e?ie()+parseFloat(e):e:ie(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(e,t,n,o){for(var r in n){var i=e[r],a=Array.isArray(i),s=a?"array":typeof i,c=!a&&Array.isArray(n[r]);if("undefined"!==s&&"function"!==s){if(c){var l=n[r];if(0===l.length)continue;l=l.map(this._handleRelativeValue.bind(this,i)),n[r]=[i].concat(l)}if("object"!==s&&!a||!i||c)void 0===t[r]&&(t[r]=i),a||(t[r]*=1),o[r]=c?n[r].slice().reverse():t[r]||0;else{for(var u in t[r]=a?[]:{},i)t[r][u]=i[u];o[r]=a?[]:{},this._setupProperties(i,t[r],n[r],o[r])}}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(e){return void 0===e&&(e=ie()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this)),this},e.prototype.resume=function(e){return void 0===e&&(e=ie()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},e.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop();return this},e.prototype.group=function(e){return this._group=e,this},e.prototype.delay=function(e){return this._delayTime=e,this},e.prototype.repeat=function(e){return this._initialRepeat=e,this._repeat=e,this},e.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},e.prototype.yoyo=function(e){return this._yoyo=e,this},e.prototype.easing=function(e){return this._easingFunction=e,this},e.prototype.interpolation=function(e){return this._interpolationFunction=e,this},e.prototype.chain=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._chainedTweens=e,this},e.prototype.onStart=function(e){return this._onStartCallback=e,this},e.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},e.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},e.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},e.prototype.onStop=function(e){return this._onStopCallback=e,this},e.prototype.update=function(e,t){if(void 0===e&&(e=ie()),void 0===t&&(t=!0),this._isPaused)return!0;var n,o,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(e>r)return!1;t&&this.start(e)}if(this._goToEnd=!1,e<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),o=(e-this._startTime)/this._duration,o=0===this._duration||o>1?1:o;var i=this._easingFunction(o);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,i),this._onUpdateCallback&&this._onUpdateCallback(this._object,o),1===o){if(this._repeat>0){for(n in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[n]||(this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(this._valuesEnd[n])),this._yoyo&&this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var a=0,s=this._chainedTweens.length;a<s;a++)this._chainedTweens[a].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(e,t,n,o){for(var r in n)if(void 0!==t[r]){var i=t[r]||0,a=n[r],s=Array.isArray(e[r]),c=Array.isArray(a);!s&&c?e[r]=this._interpolationFunction(a,o):"object"==typeof a&&a?this._updateProperties(e[r],i,a,o):"number"==typeof(a=this._handleRelativeValue(i,a))&&(e[r]=i+(a-i)*o)}},e.prototype._handleRelativeValue=function(e,t){return"string"!=typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?e+parseFloat(t):parseFloat(t)},e.prototype._swapEndStartRepeatValues=function(e){var t=this._valuesStartRepeat[e],n=this._valuesEnd[e];this._valuesStartRepeat[e]="string"==typeof n?this._valuesStartRepeat[e]+parseFloat(n):this._valuesEnd[e],this._valuesEnd[e]=t},e}(),he=ce.nextId,pe=le,de=pe.getAll.bind(pe),fe=pe.removeAll.bind(pe),me=pe.add.bind(pe),ge=pe.remove.bind(pe),be=pe.update.bind(pe),ve={Easing:re,Group:ae,Interpolation:se,now:ie,Sequence:ce,nextId:he,Tween:ue,VERSION:"18.6.4",getAll:de,removeAll:fe,add:me,remove:ge,update:be};function ye(e,t,n){var o,r,i,a,s;function c(){var l=Date.now()-a;l<t&&l>=0?o=setTimeout(c,t-l):(o=null,n||(s=e.apply(i,r),i=r=null))}null==t&&(t=100);var l=function(){i=this,r=arguments,a=Date.now();var l=n&&!o;return o||(o=setTimeout(c,t)),l&&(s=e.apply(i,r),i=r=null),s};return l.clear=function(){o&&(clearTimeout(o),o=null)},l.flush=function(){o&&(s=e.apply(i,r),i=r=null,clearTimeout(o),o=null)},l}ye.debounce=ye;var we=ye;function Ee(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Se(e,t,n){return t&&Ee(e.prototype,t),n&&Ee(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _e(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var o,r,i=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(o=n.next()).done)&&(i.push(o.value),!t||i.length!==t);a=!0);}catch(e){s=!0,r=e}finally{try{a||null==n.return||n.return()}finally{if(s)throw r}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return ke(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ke(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ke(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var Pe=Se((function e(t,n){var o=n.default,r=void 0===o?null:o,i=n.triggerUpdate,a=void 0===i||i,s=n.onChange,c=void 0===s?function(e,t){}:s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.defaultVal=r,this.triggerUpdate=a,this.onChange=c}));var xe,Te,Ce,je,Oe,Re,Le,Ie,Me,Ae,De,Ve,Fe,ze,Ue=window.THREE?window.THREE:{WebGLRenderer:e.WebGLRenderer,Scene:e.Scene,PerspectiveCamera:e.PerspectiveCamera,Raycaster:e.Raycaster,TextureLoader:e.TextureLoader,Vector2:e.Vector2,Vector3:e.Vector3,Box3:e.Box3,Color:e.Color,Mesh:e.Mesh,SphereGeometry:e.SphereGeometry,MeshBasicMaterial:e.MeshBasicMaterial,BackSide:e.BackSide,EventDispatcher:e.EventDispatcher,MOUSE:e.MOUSE,Quaternion:e.Quaternion,Spherical:e.Spherical,Clock:e.Clock},Ne=(xe={props:{width:{default:window.innerWidth,onChange:function(e,t,n){isNaN(e)&&(t.width=n)}},height:{default:window.innerHeight,onChange:function(e,t,n){isNaN(e)&&(t.height=n)}},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.toolTipElem&&(t.toolTipElem.innerHTML="")},triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{default:function(){return-1},triggerUpdate:!1},hoverFilter:{default:function(){return!0},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},clickAfterDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){if(e.controls.update&&e.controls.update(e.clock.getDelta()),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.extraRenderers.forEach((function(t){return t.render(e.scene,e.camera)})),e.enablePointerInteraction){var t=null;if(e.hoverDuringDrag||!e.isPointerDragging){var n=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y).filter((function(t){return e.hoverFilter(t.object)})).sort((function(t,n){return e.hoverOrderComparator(t.object,n.object)})),o=n.length?n[0]:null;t=o?o.object:null,e.intersectionPoint=o?o.point:null}t!==e.hoverObj&&(e.onHover(t,e.hoverObj),e.toolTipElem.innerHTML=t&&((r=e.tooltipContent)instanceof Function?r:"string"==typeof r?function(e){return e[r]}:function(e){return r})(t)||"",e.hoverObj=t)}ve.update()}var r;return this},getPointerPos:function(e){var t=e.pointerPos;return{x:t.x,y:t.y}},cameraPosition:function(e,t,n,o){var r=e.camera;if(t&&e.initialised){var i=t,a=n||{x:0,y:0,z:0};if(o){var s=Object.assign({},r.position),c=h();new ve.Tween(s).to(i,o).easing(ve.Easing.Quadratic.Out).onUpdate(l).start(),new ve.Tween(c).to(a,o/3).easing(ve.Easing.Quadratic.Out).onUpdate(u).start()}else l(i),u(a);return this}return Object.assign({},r.position,{lookAt:h()});function l(e){var t=e.x,n=e.y,o=e.z;void 0!==t&&(r.position.x=t),void 0!==n&&(r.position.y=n),void 0!==o&&(r.position.z=o)}function u(t){var n=new Ue.Vector3(t.x,t.y,t.z);e.controls.target?e.controls.target=n:r.lookAt(n)}function h(){return Object.assign(new Ue.Vector3(0,0,-1e3).applyQuaternion(r.quaternion).add(r.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,o=arguments.length,r=new Array(o>3?o-3:0),i=3;i<o;i++)r[i-3]=arguments[i];return this.fitToBbox(this.getBbox.apply(this,r),t,n)},fitToBbox:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,a=e.camera;if(t){var s=new Ue.Vector3(0,0,0),c=2*Math.max.apply(Math,o(Object.entries(t).map((function(e){var t=n(e,2),r=t[0],i=t[1];return Math.max.apply(Math,o(i.map((function(e){return Math.abs(s[r]-e)}))))})))),l=(1-2*i/e.height)*a.fov,u=c/Math.atan(l*Math.PI/180),h=u/a.aspect,p=Math.max(u,h);if(p>0){var d=s.clone().sub(a.position).normalize().multiplyScalar(-p);this.cameraPosition(d,s,r)}}return this},getBbox:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},r=new Ue.Box3(new Ue.Vector3(0,0,0),new Ue.Vector3(0,0,0)),i=e.objects.filter(n);return i.length?(i.forEach((function(e){return r.expandByObject(e)})),Object.assign.apply(Object,o(["x","y","z"].map((function(e){return t({},e,[r.min[e],r.max[e]])}))))):null},getScreenCoords:function(e,t,n,o){var r=new Ue.Vector3(t,n,o);return r.project(this.camera()),{x:(r.x+1)*e.width/2,y:-(r.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=new Ue.Vector2(t/e.width*2-1,-n/e.height*2+1),i=new Ue.Raycaster;return i.setFromCamera(r,e.camera),Object.assign({},i.ray.at(o,new Ue.Vector3))},intersectingObjects:function(e,t,n){var o=new Ue.Vector2(t/e.width*2-1,-n/e.height*2+1),r=new Ue.Raycaster;return r.params.Line.threshold=e.lineHoverPrecision,r.setFromCamera(o,e.camera),r.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new Ue.Scene,camera:new Ue.PerspectiveCamera,clock:new Ue.Clock}},init:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.controlType,i=void 0===r?"trackball":r,a=n.rendererConfig,s=void 0===a?{}:a,c=n.extraRenderers,u=void 0===c?[]:c,h=n.waitForLoadComplete,p=void 0===h||h;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[i]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.toolTipElem=document.createElement("div"),t.toolTipElem.classList.add("scene-tooltip"),t.container.appendChild(t.toolTipElem),t.pointerPos=new Ue.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach((function(e){return t.container.addEventListener(e,(function(n){if("pointerdown"===e&&(t.isPointerPressed=!0),!t.isPointerDragging&&"pointermove"===n.type&&(n.pressure>0||t.isPointerPressed)&&("touch"!==n.pointerType||void 0===n.movementX||[n.movementX,n.movementY].some((function(e){return Math.abs(e)>1})))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var o=(r=t.container,i=r.getBoundingClientRect(),a=window.pageXOffset||document.documentElement.scrollLeft,s=window.pageYOffset||document.documentElement.scrollTop,{top:i.top+s,left:i.left+a});t.pointerPos.x=n.pageX-o.left,t.pointerPos.y=n.pageY-o.top,t.toolTipElem.style.top="".concat(t.pointerPos.y,"px"),t.toolTipElem.style.left="".concat(t.pointerPos.x,"px"),t.toolTipElem.style.transform="translate(-".concat(t.pointerPos.x/t.width*100,"%, ").concat(t.height-t.pointerPos.y<100?"calc(-100% - 8px)":"21px",")")}var r,i,a,s}),{passive:!0})})),t.container.addEventListener("pointerup",(function(e){t.isPointerPressed=!1,t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag)||requestAnimationFrame((function(){0===e.button&&t.onClick(t.hoverObj||null,e,t.intersectionPoint),2===e.button&&t.onRightClick&&t.onRightClick(t.hoverObj||null,e,t.intersectionPoint)}))}),{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",(function(e){t.onRightClick&&e.preventDefault()})),t.renderer=new Ue.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},s)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=u,t.extraRenderers.forEach((function(e){e.domElement.style.position="absolute",e.domElement.style.top="0px",e.domElement.style.pointerEvents="none",t.container.appendChild(e.domElement)})),t.postProcessingComposer=new P(t.renderer),t.postProcessingComposer.addPass(new x(t.scene,t.camera)),t.controls=new{trackball:l,orbit:d,fly:m}[i](t.camera,t.renderer.domElement),"fly"===i&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),"trackball"!==i&&"orbit"!==i||(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",(function(){t.controlsEngaged=!0})),t.controls.addEventListener("change",(function(){t.controlsEngaged&&(t.controlsDragging=!0)})),t.controls.addEventListener("end",(function(){t.controlsEngaged=!1,t.controlsDragging=!1}))),[t.renderer,t.postProcessingComposer].concat(o(t.extraRenderers)).forEach((function(e){return e.setSize(t.width,t.height)})),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new Ue.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!p,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&(e.container.style.width="".concat(e.width,"px"),e.container.style.height="".concat(e.height,"px"),[e.renderer,e.postProcessingComposer].concat(o(e.extraRenderers)).forEach((function(t){return t.setSize(e.width,e.height)})),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix()),t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=Math.min(e.controls.maxDistance,e.skyRadius)),e.camera.far=2.5*e.skyRadius,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new Ue.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var n=Z(e.backgroundColor).alpha;void 0===n&&(n=1),e.renderer.setClearColor(new Ue.Color(oe(1,e.backgroundColor)),n)}function r(){e.loadComplete=e.scene.visible=!0}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?(new Ue.TextureLoader).load(e.backgroundImageUrl,(function(t){e.skysphere.material=new Ue.MeshBasicMaterial({map:t,side:Ue.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&r()})):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&r())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("objects")&&((t.objects||[]).forEach((function(t){return e.scene.remove(t)})),e.objects.forEach((function(t){return e.scene.add(t)})))}},Te=xe.stateInit,Ce=void 0===Te?function(){return{}}:Te,je=xe.props,Oe=void 0===je?{}:je,Re=xe.methods,Le=void 0===Re?{}:Re,Ie=xe.aliases,Me=void 0===Ie?{}:Ie,Ae=xe.init,De=void 0===Ae?function(){}:Ae,Ve=xe.update,Fe=void 0===Ve?function(){}:Ve,ze=Object.keys(Oe).map((function(e){return new Pe(e,Oe[e])})),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},Ce instanceof Function?Ce(e):Ce,{initialised:!1}),n={};function o(t){return r(t,e),i(),o}var r=function(e,n){De.call(o,e,t,n),t.initialised=!0},i=we((function(){t.initialised&&(Fe.call(o,t,n),n={})}),1);return ze.forEach((function(e){o[e.name]=function(e){var r=e.name,a=e.triggerUpdate,s=void 0!==a&&a,c=e.onChange,l=void 0===c?function(e,t){}:c,u=e.defaultVal,h=void 0===u?null:u;return function(e){var a=t[r];if(!arguments.length)return a;var c=void 0===e?h:e;return t[r]=c,l.call(o,c,t,a),!n.hasOwnProperty(r)&&(n[r]=a),s&&i(),o}}(e)})),Object.keys(Le).forEach((function(e){o[e]=function(){for(var n,r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];return(n=Le[e]).call.apply(n,[o,t].concat(i))}})),Object.entries(Me).forEach((function(e){var t=_e(e,2),n=t[0],r=t[1];return o[n]=o[r]})),o.resetProps=function(){return ze.forEach((function(e){o[e.name](e.defaultVal)})),o},o.resetProps(),t._rerender=i,o});return Ne}));
|
|
@@ -37,7 +37,35 @@ function styleInject(css, ref) {
|
|
|
37
37
|
var css_248z = ".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n top: 0;\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}";
|
|
38
38
|
styleInject(css_248z);
|
|
39
39
|
|
|
40
|
+
function _iterableToArrayLimit(arr, i) {
|
|
41
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
42
|
+
if (null != _i) {
|
|
43
|
+
var _s,
|
|
44
|
+
_e,
|
|
45
|
+
_x,
|
|
46
|
+
_r,
|
|
47
|
+
_arr = [],
|
|
48
|
+
_n = !0,
|
|
49
|
+
_d = !1;
|
|
50
|
+
try {
|
|
51
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
52
|
+
if (Object(_i) !== _i) return;
|
|
53
|
+
_n = !1;
|
|
54
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
55
|
+
} catch (err) {
|
|
56
|
+
_d = !0, _e = err;
|
|
57
|
+
} finally {
|
|
58
|
+
try {
|
|
59
|
+
if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
|
|
60
|
+
} finally {
|
|
61
|
+
if (_d) throw _e;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return _arr;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
40
67
|
function _defineProperty(obj, key, value) {
|
|
68
|
+
key = _toPropertyKey(key);
|
|
41
69
|
if (key in obj) {
|
|
42
70
|
Object.defineProperty(obj, key, {
|
|
43
71
|
value: value,
|
|
@@ -65,30 +93,6 @@ function _arrayWithHoles(arr) {
|
|
|
65
93
|
function _iterableToArray(iter) {
|
|
66
94
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
67
95
|
}
|
|
68
|
-
function _iterableToArrayLimit(arr, i) {
|
|
69
|
-
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
70
|
-
if (_i == null) return;
|
|
71
|
-
var _arr = [];
|
|
72
|
-
var _n = true;
|
|
73
|
-
var _d = false;
|
|
74
|
-
var _s, _e;
|
|
75
|
-
try {
|
|
76
|
-
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
77
|
-
_arr.push(_s.value);
|
|
78
|
-
if (i && _arr.length === i) break;
|
|
79
|
-
}
|
|
80
|
-
} catch (err) {
|
|
81
|
-
_d = true;
|
|
82
|
-
_e = err;
|
|
83
|
-
} finally {
|
|
84
|
-
try {
|
|
85
|
-
if (!_n && _i["return"] != null) _i["return"]();
|
|
86
|
-
} finally {
|
|
87
|
-
if (_d) throw _e;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return _arr;
|
|
91
|
-
}
|
|
92
96
|
function _unsupportedIterableToArray(o, minLen) {
|
|
93
97
|
if (!o) return;
|
|
94
98
|
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
@@ -108,6 +112,20 @@ function _nonIterableSpread() {
|
|
|
108
112
|
function _nonIterableRest() {
|
|
109
113
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
110
114
|
}
|
|
115
|
+
function _toPrimitive(input, hint) {
|
|
116
|
+
if (typeof input !== "object" || input === null) return input;
|
|
117
|
+
var prim = input[Symbol.toPrimitive];
|
|
118
|
+
if (prim !== undefined) {
|
|
119
|
+
var res = prim.call(input, hint || "default");
|
|
120
|
+
if (typeof res !== "object") return res;
|
|
121
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
122
|
+
}
|
|
123
|
+
return (hint === "string" ? String : Number)(input);
|
|
124
|
+
}
|
|
125
|
+
function _toPropertyKey(arg) {
|
|
126
|
+
var key = _toPrimitive(arg, "string");
|
|
127
|
+
return typeof key === "symbol" ? key : String(key);
|
|
128
|
+
}
|
|
111
129
|
|
|
112
130
|
var three = window.THREE ? window.THREE // Prefer consumption from global THREE, if exists
|
|
113
131
|
: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "three-render-objects",
|
|
3
|
-
"version": "1.27.
|
|
3
|
+
"version": "1.27.8",
|
|
4
4
|
"description": "Easy way to render ThreeJS objects with built-in interaction defaults",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"unpkg": "dist/three-render-objects.min.js",
|
|
@@ -48,20 +48,20 @@
|
|
|
48
48
|
"three": "*"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@babel/core": "^7.20.
|
|
51
|
+
"@babel/core": "^7.20.12",
|
|
52
52
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
53
|
-
"@babel/plugin-proposal-object-rest-spread": "^7.20.
|
|
53
|
+
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
|
54
54
|
"@babel/preset-env": "^7.20.2",
|
|
55
|
-
"@rollup/plugin-babel": "^6.0.
|
|
56
|
-
"@rollup/plugin-commonjs": "^
|
|
55
|
+
"@rollup/plugin-babel": "^6.0.3",
|
|
56
|
+
"@rollup/plugin-commonjs": "^24.0.0",
|
|
57
57
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
58
|
-
"
|
|
58
|
+
"@rollup/plugin-terser": "^0.3.0",
|
|
59
|
+
"postcss": "^8.4.21",
|
|
59
60
|
"rimraf": "^3.0.2",
|
|
60
|
-
"rollup": "^3.
|
|
61
|
-
"rollup-plugin-dts": "^5.
|
|
61
|
+
"rollup": "^3.9.1",
|
|
62
|
+
"rollup-plugin-dts": "^5.1.1",
|
|
62
63
|
"rollup-plugin-postcss": "^4.0.2",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"typescript": "^4.8.4"
|
|
64
|
+
"three": "^0.148.0",
|
|
65
|
+
"typescript": "^4.9.4"
|
|
66
66
|
}
|
|
67
67
|
}
|