1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2738],{72738:(e,t,n)=>{n.d(t,{N:()=>m});var o=n(58168),a=n(92267),i=n(96540),r=n(99842),s=n(39437);let c=(e,t)=>(e%t+t)%t;class l extends s.EventDispatcher{constructor(e,t){super(),(0,r.A)(this,"object",void 0),(0,r.A)(this,"domElement",void 0),(0,r.A)(this,"enabled",!0),(0,r.A)(this,"target",new s.Vector3),(0,r.A)(this,"minDistance",0),(0,r.A)(this,"maxDistance",1/0),(0,r.A)(this,"minZoom",0),(0,r.A)(this,"maxZoom",1/0),(0,r.A)(this,"minPolarAngle",0),(0,r.A)(this,"maxPolarAngle",Math.PI),(0,r.A)(this,"minAzimuthAngle",-1/0),(0,r.A)(this,"maxAzimuthAngle",1/0),(0,r.A)(this,"enableDamping",!1),(0,r.A)(this,"dampingFactor",.05),(0,r.A)(this,"enableZoom",!0),(0,r.A)(this,"zoomSpeed",1),(0,r.A)(this,"enableRotate",!0),(0,r.A)(this,"rotateSpeed",1),(0,r.A)(this,"enablePan",!0),(0,r.A)(this,"panSpeed",1),(0,r.A)(this,"screenSpacePanning",!0),(0,r.A)(this,"keyPanSpeed",7),(0,r.A)(this,"autoRotate",!1),(0,r.A)(this,"autoRotateSpeed",2),(0,r.A)(this,"reverseOrbit",!1),(0,r.A)(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),(0,r.A)(this,"mouseButtons",{LEFT:s.MOUSE.ROTATE,MIDDLE:s.MOUSE.DOLLY,RIGHT:s.MOUSE.PAN}),(0,r.A)(this,"touches",{ONE:s.TOUCH.ROTATE,TWO:s.TOUCH.DOLLY_PAN}),(0,r.A)(this,"target0",void 0),(0,r.A)(this,"position0",void 0),(0,r.A)(this,"zoom0",void 0),(0,r.A)(this,"_domElementKeyEvents",null),(0,r.A)(this,"getPolarAngle",void 0),(0,r.A)(this,"getAzimuthalAngle",void 0),(0,r.A)(this,"setPolarAngle",void 0),(0,r.A)(this,"setAzimuthalAngle",void 0),(0,r.A)(this,"getDistance",void 0),(0,r.A)(this,"listenToKeyEvents",void 0),(0,r.A)(this,"saveState",void 0),(0,r.A)(this,"reset",void 0),(0,r.A)(this,"update",void 0),(0,r.A)(this,"connect",void 0),(0,r.A)(this,"dispose",void 0),this.object=e,this.domElement=t,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object instanceof s.PerspectiveCamera?this.object.zoom:1,this.getPolarAngle=()=>p.phi,this.getAzimuthalAngle=()=>p.theta,this.setPolarAngle=e=>{let t=c(e,2*Math.PI),o=p.phi;o<0&&(o+=2*Math.PI),t<0&&(t+=2*Math.PI);let a=Math.abs(t-o);2*Math.PI-a<a&&(t<o?t+=2*Math.PI:o+=2*Math.PI),d.phi=t-o,n.update()},this.setAzimuthalAngle=e=>{let t=c(e,2*Math.PI),o=p.theta;o<0&&(o+=2*Math.PI),t<0&&(t+=2*Math.PI);let a=Math.abs(t-o);2*Math.PI-a<a&&(t<o?t+=2*Math.PI:o+=2*Math.PI),d.theta=t-o,n.update()},this.getDistance=()=>n.object.position.distanceTo(n.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",W),this._domElementKeyEvents=e},this.saveState=()=>{n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object instanceof s.PerspectiveCamera?n.object.zoom:1},this.reset=()=>{n.target.copy(n.target0),n.object.position.copy(n.position0),n.object instanceof s.PerspectiveCamera&&(n.object.zoom=n.zoom0,n.object.updateProjectionMatrix()),n.dispatchEvent(o),n.update(),m=l.NONE},this.update=(()=>{let t=new s.Vector3,a=new s.Quaternion().setFromUnitVectors(e.up,new s.Vector3(0,1,0)),i=a.clone().invert(),r=new s.Vector3,c=new s.Quaternion,g=2*Math.PI;return function(){let e=n.object.position;t.copy(e).sub(n.target),t.applyQuaternion(a),p.setFromVector3(t),n.autoRotate&&m===l.NONE&&N(2*Math.PI/60/60*n.autoRotateSpeed),n.enableDamping?(p.theta+=d.theta*n.dampingFactor,p.phi+=d.phi*n.dampingFactor):(p.theta+=d.theta,p.phi+=d.phi);let s=n.minAzimuthAngle,A=n.maxAzimuthAngle;return isFinite(s)&&isFinite(A)&&(s<-Math.PI?s+=g:s>Math.PI&&(s-=g),A<-Math.PI?A+=g:A>Math.PI&&(A-=g),s<=A?p.theta=Math.max(s,Math.min(A,p.theta)):p.theta=p.theta>(s+A)/2?Math.max(s,p.theta):Math.min(A,p.theta)),p.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,p.phi)),p.makeSafe(),p.radius*=u,p.radius=Math.max(n.minDistance,Math.min(n.maxDistance,p.radius)),!0===n.enableDamping?n.target.addScaledVector(b,n.dampingFactor):n.target.add(b),t.setFromSpherical(p),t.applyQuaternion(i),e.copy(n.target).add(t),n.object.lookAt(n.target),!0===n.enableDamping?(d.theta*=1-n.dampingFactor,d.phi*=1-n.dampingFactor,b.multiplyScalar(1-n.dampingFactor)):(d.set(0,0,0),b.set(0,0,0)),u=1,!!(E||r.distanceToSquared(n.object.position)>h||8*(1-c.dot(n.object.quaternion))>h)&&(n.dispatchEvent(o),r.copy(n.object.position),c.copy(n.object.quaternion),E=!1,!0)}})(),this.connect=e=>{e===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),n.domElement=e,n.domElement.style.touchAction="none",n.domElement.addEventListener("contextmenu",q),n.domElement.addEventListener("pointerdown",Z),n.domElement.addEventListener("pointercancel",G),n.domElement.addEventListener("wheel",B)},this.dispose=()=>{var e,t,o,a,i,r;null===(e=n.domElement)||void 0===e||e.removeEventListener("contextmenu",q),null===(t=n.domElement)||void 0===t||t.removeEventListener("pointerdown",Z),null===(o=n.domElement)||void 0===o||o.removeEventListener("pointercancel",G),null===(a=n.domElement)||void 0===a||a.removeEventListener("wheel",B),null===(i=n.domElement)||void 0===i||i.ownerDocument.removeEventListener("pointermove",F),null===(r=n.domElement)||void 0===r||r.ownerDocument.removeEventListener("pointerup",K),null!==n._domElementKeyEvents&&n._domElementKeyEvents.removeEventListener("keydown",W)};let n=this,o={type:"change"},a={type:"start"},i={type:"end"},l={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},m=l.NONE,h=1e-6,p=new s.Spherical,d=new s.Spherical,u=1,b=new s.Vector3,E=!1,g=new s.Vector2,A=new s.Vector2,v=new s.Vector2,f=new s.Vector2,O=new s.Vector2,P=new s.Vector2,y=new s.Vector2,T=new s.Vector2,M=new s.Vector2,w=[],j={};function L(){return Math.pow(.95,n.zoomSpeed)}function N(e){n.reverseOrbit?d.theta+=e:d.theta-=e}function C(e){n.reverseOrbit?d.phi+=e:d.phi-=e}let k=(()=>{let e=new s.Vector3;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),b.add(e)}})(),I=(()=>{let e=new s.Vector3;return function(t,o){!0===n.screenSpacePanning?e.setFromMatrixColumn(o,1):(e.setFromMatrixColumn(o,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),b.add(e)}})(),D=(()=>{let e=new s.Vector3;return function(t,o){let a=n.domElement;if(a&&n.object instanceof s.PerspectiveCamera&&n.object.isPerspectiveCamera){let i=n.object.position;e.copy(i).sub(n.target);let r=e.length();
1k(2*t*(r*=Math.tan(n.object.fov/2*Math.PI/180))/a.clientHeight,n.object.matrix),I(2*o*r/a.clientHeight,n.object.matrix)}else a&&n.object instanceof s.OrthographicCamera&&n.object.isOrthographicCamera?(k(t*(n.object.right-n.object.left)/n.object.zoom/a.clientWidth,n.object.matrix),I(o*(n.object.top-n.object.bottom)/n.object.zoom/a.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}})();function R(e){n.object instanceof s.PerspectiveCamera&&n.object.isPerspectiveCamera?u/=e:n.object instanceof s.OrthographicCamera&&n.object.isOrthographicCamera?(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom*e)),n.object.updateProjectionMatrix(),E=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function S(e){n.object instanceof s.PerspectiveCamera&&n.object.isPerspectiveCamera?u*=e:n.object instanceof s.OrthographicCamera&&n.object.isOrthographicCamera?(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/e)),n.object.updateProjectionMatrix(),E=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function Y(e){g.set(e.clientX,e.clientY)}function x(e){f.set(e.clientX,e.clientY)}function z(){if(1==w.length)g.set(w[0].pageX,w[0].pageY);else{let e=.5*(w[0].pageX+w[1].pageX),t=.5*(w[0].pageY+w[1].pageY);g.set(e,t)}}function H(){if(1==w.length)f.set(w[0].pageX,w[0].pageY);else{let e=.5*(w[0].pageX+w[1].pageX),t=.5*(w[0].pageY+w[1].pageY);f.set(e,t)}}function _(){let e=w[0].pageX-w[1].pageX,t=w[0].pageY-w[1].pageY,n=Math.sqrt(e*e+t*t);y.set(0,n)}function U(e){if(1==w.length)A.set(e.pageX,e.pageY);else{let t=$(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);A.set(n,o)}v.subVectors(A,g).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(N(2*Math.PI*v.x/t.clientHeight),C(2*Math.PI*v.y/t.clientHeight)),g.copy(A)}function V(e){if(1==w.length)O.set(e.pageX,e.pageY);else{let t=$(e),n=.5*(e.pageX+t.x),o=.5*(e.pageY+t.y);O.set(n,o)}P.subVectors(O,f).multiplyScalar(n.panSpeed),D(P.x,P.y),f.copy(O)}function X(e){let t=$(e),o=e.pageX-t.x,a=e.pageY-t.y,i=Math.sqrt(o*o+a*a);T.set(0,i),M.set(0,Math.pow(T.y/y.y,n.zoomSpeed)),R(M.y),y.copy(T)}function Z(e){if(!1!==n.enabled){var t,o;0===w.length&&(null===(t=n.domElement)||void 0===t||t.ownerDocument.addEventListener("pointermove",F),null===(o=n.domElement)||void 0===o||o.ownerDocument.addEventListener("pointerup",K)),w.push(e),"touch"===e.pointerType?function(e){switch(J(e),w.length){case 1:switch(n.touches.ONE){case s.TOUCH.ROTATE:if(!1===n.enableRotate)return;z(),m=l.TOUCH_ROTATE;break;case s.TOUCH.PAN:if(!1===n.enablePan)return;H(),m=l.TOUCH_PAN;break;default:m=l.NONE}break;case 2:switch(n.touches.TWO){case s.TOUCH.DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&_(),n.enablePan&&H(),m=l.TOUCH_DOLLY_PAN;break;case s.TOUCH.DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&_(),n.enableRotate&&z(),m=l.TOUCH_DOLLY_ROTATE;break;default:m=l.NONE}break;default:m=l.NONE}m!==l.NONE&&n.dispatchEvent(a)}(e):function(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case s.MOUSE.DOLLY:if(!1===n.enableZoom)return;y.set(e.clientX,e.clientY),m=l.DOLLY;break;case s.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enablePan)return;x(e),m=l.PAN}else{if(!1===n.enableRotate)return;Y(e),m=l.ROTATE}break;case s.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enableRotate)return;Y(e),m=l.ROTATE}else{if(!1===n.enablePan)return;x(e),m=l.PAN}break;default:m=l.NONE}m!==l.NONE&&n.dispatchEvent(a)}(e)}}function F(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(J(e),m){case l.TOUCH_ROTATE:if(!1===n.enableRotate)return;U(e),n.update();break;case l.TOUCH_PAN:if(!1===n.enablePan)return;V(e),n.update();break;case l.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&X(e),n.enablePan&&V(e),n.update();break;case l.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&X(e),n.enableRotate&&U(e),n.update();break;default:m=l.NONE}}(e):function(e){if(!1!==n.enabled)switch(m){case l.ROTATE:if(!1===n.enableRotate)return;!function(e){A.set(e.clientX,e.clientY),v.subVectors(A,g).multiplyScalar(n.rotateSpeed);let t=n.domElement;t&&(N(2*Math.PI*v.x/t.clientHeight),C(2*Math.PI*v.y/t.clientHeight)),g.copy(A),n.update()}(e);break;case l.DOLLY:if(!1===n.enableZoom)return;
1T.set(e.clientX,e.clientY),M.subVectors(T,y),M.y>0?R(L()):M.y<0&&S(L()),y.copy(T),n.update();break;case l.PAN:if(!1===n.enablePan)return;O.set(e.clientX,e.clientY),P.subVectors(O,f).multiplyScalar(n.panSpeed),D(P.x,P.y),f.copy(O),n.update()}}(e))}function K(e){if(Q(e),0===w.length){var t,o,a;null===(t=n.domElement)||void 0===t||t.releasePointerCapture(e.pointerId),null===(o=n.domElement)||void 0===o||o.ownerDocument.removeEventListener("pointermove",F),null===(a=n.domElement)||void 0===a||a.ownerDocument.removeEventListener("pointerup",K)}n.dispatchEvent(i),m=l.NONE}function G(e){Q(e)}function B(e){!1!==n.enabled&&!1!==n.enableZoom&&(m===l.NONE||m===l.ROTATE)&&(e.preventDefault(),n.dispatchEvent(a),e.deltaY<0?S(L()):e.deltaY>0&&R(L()),n.update(),n.dispatchEvent(i))}function W(e){!1!==n.enabled&&!1!==n.enablePan&&function(e){let t=!1;switch(e.code){case n.keys.UP:D(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:D(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:D(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:D(-n.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),n.update())}(e)}function q(e){!1!==n.enabled&&e.preventDefault()}function Q(e){delete j[e.pointerId];for(let t=0;t<w.length;t++)if(w[t].pointerId==e.pointerId){w.splice(t,1);return}}function J(e){let t=j[e.pointerId];void 0===t&&(t=new s.Vector2,j[e.pointerId]=t),t.set(e.pageX,e.pageY)}function $(e){return j[(e.pointerId===w[0].pointerId?w[1]:w[0]).pointerId]}void 0!==t&&this.connect(t),this.update()}}let m=i.forwardRef(({makeDefault:e,camera:t,regress:n,domElement:r,enableDamping:s=!0,onChange:c,onStart:m,onEnd:h,...p},d)=>{let u=(0,a.z)(e=>e.invalidate),b=(0,a.z)(e=>e.camera),E=(0,a.z)(e=>e.gl),g=(0,a.z)(e=>e.events),A=(0,a.z)(e=>e.setEvents),v=(0,a.z)(e=>e.set),f=(0,a.z)(e=>e.get),O=(0,a.z)(e=>e.performance),P=t||b,y=r||g.connected||E.domElement,T=i.useMemo(()=>new l(P),[P]);return(0,a.A)(()=>{T.enabled&&T.update()},-1),i.useEffect(()=>(T.connect(y),()=>void T.dispose()),[y,n,T,u]),i.useEffect(()=>{let e=e=>{u(),n&&O.regress(),c&&c(e)},t=e=>{m&&m(e)},o=e=>{h&&h(e)};return T.addEventListener("change",e),T.addEventListener("start",t),T.addEventListener("end",o),()=>{T.removeEventListener("start",t),T.removeEventListener("end",o),T.removeEventListener("change",e)}},[c,m,h,T,u,A]),i.useEffect(()=>{if(e){let e=f().controls;return v({controls:T}),()=>v({controls:e})}},[e,T]),i.createElement("primitive",(0,o.A)({ref:d,object:T,enableDamping:s},p))})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.