"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3380],{83380:function(e,t,o){o.r(t),o.d(t,{default:function(){return ee}});var n=o(95235),a=o(2784),i=o(31290),r=o(7307),s=o(67934),c=o(72947),l=o(96995),m=o(34693),d=o(91383),p=o(46658);const u=(e,t,o)=>(t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e),h=(e,t)=>(e%t+t)%t;class b extends l.EventDispatcher{constructor(e,t){super(),u(this,"object",void 0),u(this,"domElement",void 0),u(this,"enabled",!0),u(this,"target",new l.Vector3),u(this,"minDistance",0),u(this,"maxDistance",1/0),u(this,"minZoom",0),u(this,"maxZoom",1/0),u(this,"minPolarAngle",0),u(this,"maxPolarAngle",Math.PI),u(this,"minAzimuthAngle",-1/0),u(this,"maxAzimuthAngle",1/0),u(this,"enableDamping",!1),u(this,"dampingFactor",.05),u(this,"enableZoom",!0),u(this,"zoomSpeed",1),u(this,"enableRotate",!0),u(this,"rotateSpeed",1),u(this,"enablePan",!0),u(this,"panSpeed",1),u(this,"screenSpacePanning",!0),u(this,"keyPanSpeed",7),u(this,"autoRotate",!1),u(this,"autoRotateSpeed",2),u(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown",ORBITLEFT:"KeyA",ORBITUP:"KeyW",ORBITRIGHT:"KeyD",ORBITBOTTOM:"KeyS"}),u(this,"mouseButtons",{LEFT:l.MOUSE.ROTATE,MIDDLE:l.MOUSE.DOLLY,RIGHT:l.MOUSE.PAN}),u(this,"touches",{ONE:l.TOUCH.ROTATE,TWO:l.TOUCH.DOLLY_PAN}),u(this,"target0",void 0),u(this,"position0",void 0),u(this,"zoom0",void 0),u(this,"_domElementKeyEvents",null),u(this,"getPolarAngle",void 0),u(this,"getAzimuthalAngle",void 0),u(this,"setPolarAngle",void 0),u(this,"setAzimuthalAngle",void 0),u(this,"getDistance",void 0),u(this,"listenToKeyEvents",void 0),u(this,"saveState",void 0),u(this,"reset",void 0),u(this,"update",void 0),u(this,"connect",void 0),u(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 l.PerspectiveCamera?this.object.zoom:1,this.getPolarAngle=()=>m.phi,this.getAzimuthalAngle=()=>m.theta,this.setPolarAngle=e=>{let t=h(e,2*Math.PI),n=m.phi;n<0&&(n+=2*Math.PI),t<0&&(t+=2*Math.PI);let a=Math.abs(t-n);2*Math.PI-a{let t=h(e,2*Math.PI),n=m.theta;n<0&&(n+=2*Math.PI),t<0&&(t+=2*Math.PI);let a=Math.abs(t-n);2*Math.PI-ao.object.position.distanceTo(o.target),this.listenToKeyEvents=e=>{e.addEventListener("keydown",X),this._domElementKeyEvents=e},this.saveState=()=>{o.target0.copy(o.target),o.position0.copy(o.object.position),o.zoom0=o.object instanceof l.PerspectiveCamera?o.object.zoom:1},this.reset=()=>{o.target.copy(o.target0),o.object.position.copy(o.position0),o.object instanceof l.PerspectiveCamera&&(o.object.zoom=o.zoom0,o.object.updateProjectionMatrix()),o.dispatchEvent(n),o.update(),s=r.NONE},this.update=(()=>{const t=new l.Vector3,a=(new l.Quaternion).setFromUnitVectors(e.up,new l.Vector3(0,1,0)),i=a.clone().invert(),u=new l.Vector3,h=new l.Quaternion,w=2*Math.PI;return function(){const e=o.object.position;t.copy(e).sub(o.target),t.applyQuaternion(a),m.setFromVector3(t),o.autoRotate&&s===r.NONE&&L(2*Math.PI/60/60*o.autoRotateSpeed),o.enableDamping?(m.theta+=d.theta*o.dampingFactor,m.phi+=d.phi*o.dampingFactor):(m.theta+=d.theta,m.phi+=d.phi);let l=o.minAzimuthAngle,g=o.maxAzimuthAngle;return isFinite(l)&&isFinite(g)&&(l<-Math.PI?l+=w:l>Math.PI&&(l-=w),g<-Math.PI?g+=w:g>Math.PI&&(g-=w),m.theta=l<=g?Math.max(l,Math.min(g,m.theta)):m.theta>(l+g)/2?Math.max(l,m.theta):Math.min(g,m.theta)),m.phi=Math.max(o.minPolarAngle,Math.min(o.maxPolarAngle,m.phi)),m.makeSafe(),m.radius*=p,m.radius=Math.max(o.minDistance,Math.min(o.maxDistance,m.radius)),!0===o.enableDamping?o.target.addScaledVector(b,o.dampingFactor):o.target.add(b),t.setFromSpherical(m),t.applyQuaternion(i),e.copy(o.target).add(t),o.object.lookAt(o.target),!0===o.enableDamping?(d.theta*=1-o.dampingFactor,d.phi*=1-o.dampingFactor,b.multiplyScalar(1-o.dampingFactor)):(d.set(0,0,0),b.set(0,0,0)),p=1,!!(f||u.distanceToSquared(o.object.position)>c||8*(1-h.dot(o.object.quaternion))>c)&&(o.dispatchEvent(n),u.copy(o.object.position),h.copy(o.object.quaternion),f=!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.'),o.domElement=e,o.domElement.style.touchAction="none",o.domElement.addEventListener("contextmenu",W),o.domElement.addEventListener("pointerdown",F),o.domElement.addEventListener("pointercancel",q),o.domElement.addEventListener("wheel",K)},this.dispose=()=>{var e,t,n,a,i,r;null===(e=o.domElement)||void 0===e||e.removeEventListener("contextmenu",W),null===(t=o.domElement)||void 0===t||t.removeEventListener("pointerdown",F),null===(n=o.domElement)||void 0===n||n.removeEventListener("pointercancel",q),null===(a=o.domElement)||void 0===a||a.removeEventListener("wheel",K),null===(i=o.domElement)||void 0===i||i.ownerDocument.removeEventListener("pointermove",G),null===(r=o.domElement)||void 0===r||r.ownerDocument.removeEventListener("pointerup",V),null!==o._domElementKeyEvents&&o._domElementKeyEvents.removeEventListener("keydown",X)};const o=this,n={type:"change"},a={type:"start"},i={type:"end"},r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let s=r.NONE;const c=1e-6,m=new l.Spherical,d=new l.Spherical;let p=1;const b=new l.Vector3;let f=!1;const w=new l.Vector2,g=new l.Vector2,P=new l.Vector2,y=new l.Vector2,v=new l.Vector2,j=new l.Vector2,O=new l.Vector2,E=new l.Vector2,T=new l.Vector2,M=[],S={};function R(){return Math.pow(.95,o.zoomSpeed)}function L(e){d.theta-=e}function k(e){d.phi-=e}const C=(()=>{const e=new l.Vector3;return function(t,o){e.setFromMatrixColumn(o,0),e.multiplyScalar(-t),b.add(e)}})(),A=(()=>{const e=new l.Vector3;return function(t,n){!0===o.screenSpacePanning?e.setFromMatrixColumn(n,1):(e.setFromMatrixColumn(n,0),e.crossVectors(o.object.up,e)),e.multiplyScalar(t),b.add(e)}})(),_=(()=>{const e=new l.Vector3;return function(t,n){const a=o.domElement;if(a&&o.object instanceof l.PerspectiveCamera&&o.object.isPerspectiveCamera){const i=o.object.position;e.copy(i).sub(o.target);let r=e.length();r*=Math.tan(o.object.fov/2*Math.PI/180),C(2*t*r/a.clientHeight,o.object.matrix),A(2*n*r/a.clientHeight,o.object.matrix)}else a&&o.object instanceof l.OrthographicCamera&&o.object.isOrthographicCamera?(C(t*(o.object.right-o.object.left)/o.object.zoom/a.clientWidth,o.object.matrix),A(n*(o.object.top-o.object.bottom)/o.object.zoom/a.clientHeight,o.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),o.enablePan=!1)}})();function I(e){o.object instanceof l.PerspectiveCamera&&o.object.isPerspectiveCamera?p/=e:o.object instanceof l.OrthographicCamera&&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 x(e){o.object instanceof l.PerspectiveCamera&&o.object.isPerspectiveCamera?p*=e:o.object instanceof l.OrthographicCamera&&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 N(e){w.set(e.clientX,e.clientY)}function D(e){y.set(e.clientX,e.clientY)}function U(){if(1==M.length)w.set(M[0].pageX,M[0].pageY);else{const e=.5*(M[0].pageX+M[1].pageX),t=.5*(M[0].pageY+M[1].pageY);w.set(e,t)}}function B(){if(1==M.length)y.set(M[0].pageX,M[0].pageY);else{const e=.5*(M[0].pageX+M[1].pageX),t=.5*(M[0].pageY+M[1].pageY);y.set(e,t)}}function z(){const e=M[0].pageX-M[1].pageX,t=M[0].pageY-M[1].pageY,o=Math.sqrt(e*e+t*t);O.set(0,o)}function Y(e){if(1==M.length)g.set(e.pageX,e.pageY);else{const t=J(e),o=.5*(e.pageX+t.x),n=.5*(e.pageY+t.y);g.set(o,n)}P.subVectors(g,w).multiplyScalar(o.rotateSpeed);const t=o.domElement;t&&(L(2*Math.PI*P.x/t.clientHeight),k(2*Math.PI*P.y/t.clientHeight)),w.copy(g)}function H(e){if(1==M.length)v.set(e.pageX,e.pageY);else{const t=J(e),o=.5*(e.pageX+t.x),n=.5*(e.pageY+t.y);v.set(o,n)}j.subVectors(v,y).multiplyScalar(o.panSpeed),_(j.x,j.y),y.copy(v)}function Z(e){const t=J(e),n=e.pageX-t.x,a=e.pageY-t.y,i=Math.sqrt(n*n+a*a);E.set(0,i),T.set(0,Math.pow(E.y/O.y,o.zoomSpeed)),I(T.y),O.copy(E)}function F(e){if(!1!==o.enabled){var t,n;if(0===M.length)null===(t=o.domElement)||void 0===t||t.ownerDocument.addEventListener("pointermove",G),null===(n=o.domElement)||void 0===n||n.ownerDocument.addEventListener("pointerup",V);!function(e){M.push(e)}(e),"touch"===e.pointerType?function(e){switch($(e),M.length){case 1:switch(o.touches.ONE){case l.TOUCH.ROTATE:if(!1===o.enableRotate)return;U(),s=r.TOUCH_ROTATE;break;case l.TOUCH.PAN:if(!1===o.enablePan)return;B(),s=r.TOUCH_PAN;break;default:s=r.NONE}break;case 2:switch(o.touches.TWO){case l.TOUCH.DOLLY_PAN:if(!1===o.enableZoom&&!1===o.enablePan)return;o.enableZoom&&z(),o.enablePan&&B(),s=r.TOUCH_DOLLY_PAN;break;case l.TOUCH.DOLLY_ROTATE:if(!1===o.enableZoom&&!1===o.enableRotate)return;o.enableZoom&&z(),o.enableRotate&&U(),s=r.TOUCH_DOLLY_ROTATE;break;default:s=r.NONE}break;default:s=r.NONE}s!==r.NONE&&o.dispatchEvent(a)}(e):function(e){let t;switch(e.button){case 0:t=o.mouseButtons.LEFT;break;case 1:t=o.mouseButtons.MIDDLE;break;case 2:t=o.mouseButtons.RIGHT;break;default:t=-1}switch(t){case l.MOUSE.DOLLY:if(!1===o.enableZoom)return;!function(e){O.set(e.clientX,e.clientY)}(e),s=r.DOLLY;break;case l.MOUSE.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===o.enablePan)return;D(e),s=r.PAN}else{if(!1===o.enableRotate)return;N(e),s=r.ROTATE}break;case l.MOUSE.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===o.enableRotate)return;N(e),s=r.ROTATE}else{if(!1===o.enablePan)return;D(e),s=r.PAN}break;default:s=r.NONE}s!==r.NONE&&o.dispatchEvent(a)}(e)}}function G(e){!1!==o.enabled&&("touch"===e.pointerType?function(e){switch($(e),s){case r.TOUCH_ROTATE:if(!1===o.enableRotate)return;Y(e),o.update();break;case r.TOUCH_PAN:if(!1===o.enablePan)return;H(e),o.update();break;case r.TOUCH_DOLLY_PAN:if(!1===o.enableZoom&&!1===o.enablePan)return;!function(e){o.enableZoom&&Z(e),o.enablePan&&H(e)}(e),o.update();break;case r.TOUCH_DOLLY_ROTATE:if(!1===o.enableZoom&&!1===o.enableRotate)return;!function(e){o.enableZoom&&Z(e),o.enableRotate&&Y(e)}(e),o.update();break;default:s=r.NONE}}(e):function(e){if(!1===o.enabled)return;switch(s){case r.ROTATE:if(!1===o.enableRotate)return;!function(e){g.set(e.clientX,e.clientY),P.subVectors(g,w).multiplyScalar(o.rotateSpeed);const t=o.domElement;t&&(L(2*Math.PI*P.x/t.clientHeight),k(2*Math.PI*P.y/t.clientHeight)),w.copy(g),o.update()}(e);break;case r.DOLLY:if(!1===o.enableZoom)return;!function(e){E.set(e.clientX,e.clientY),T.subVectors(E,O),T.y>0?I(R()):T.y<0&&x(R()),O.copy(E),o.update()}(e);break;case r.PAN:if(!1===o.enablePan)return;!function(e){v.set(e.clientX,e.clientY),j.subVectors(v,y).multiplyScalar(o.panSpeed),_(j.x,j.y),y.copy(v),o.update()}(e)}}(e))}function V(e){var t,n;!1!==o.enabled&&(e.pointerType,o.dispatchEvent(i),s=r.NONE,Q(e),0===M.length&&(null===(t=o.domElement)||void 0===t||t.ownerDocument.removeEventListener("pointermove",G),null===(n=o.domElement)||void 0===n||n.ownerDocument.removeEventListener("pointerup",V)))}function q(e){Q(e)}function K(e){!1===o.enabled||!1===o.enableZoom||s!==r.NONE&&s!==r.ROTATE||(e.preventDefault(),o.dispatchEvent(a),function(e){e.deltaY<0?x(R()):e.deltaY>0&&I(R()),o.update()}(e),o.dispatchEvent(i))}function X(e){!1!==o.enabled&&!1!==o.enableRotate&&function(e){let t=!1;const n=.2;switch(e.code){case o.keys.UP:if(!1===o.enablePan)return;_(0,o.keyPanSpeed),t=!0;break;case o.keys.BOTTOM:if(!1===o.enablePan)return;_(0,-o.keyPanSpeed),t=!0;break;case o.keys.LEFT:if(!1===o.enablePan)return;_(o.keyPanSpeed,0),t=!0;break;case o.keys.RIGHT:if(!1===o.enablePan)return;_(-o.keyPanSpeed,0),t=!0;break;case o.keys.ORBITUP:k(n*-o.rotateSpeed),t=!0;break;case o.keys.ORBITBOTTOM:k(n*o.rotateSpeed),t=!0;break;case o.keys.ORBITLEFT:L(n*-o.rotateSpeed),t=!0;break;case o.keys.ORBITRIGHT:L(n*o.rotateSpeed),t=!0}t&&(e.preventDefault(),o.update())}(e)}function W(e){!1!==o.enabled&&e.preventDefault()}function Q(e){delete S[e.pointerId];for(let t=0;t{let{theme:t}=e;return t.color.primary}),f,w,g,P,(e=>{let{theme:t}=e;return t.mediaQuery.tabletSmall}));var j=o(52322);const O=e=>{const{cameraOptions:t,canvasRef:o}=e,{gl:n,camera:i,scene:r}=(0,c.Ky)();return n.outputColorSpace=l.SRGBColorSpace,(0,a.useLayoutEffect)((()=>{const e=o.current,t=new ResizeObserver((()=>{n.setPixelRatio(window?.devicePixelRatio||1)}));return t.observe(e),()=>t.unobserve(e)}),[n,o]),(0,a.useEffect)((()=>{i.fov=t.fov||i.fov,i.aspect=t.aspect||i.aspect,i.near=t.zoom||i.near,i.far=t.far||i.far,i.zoom=t.zoom||i.zoom,i.updateProjectionMatrix()}),[i,t]),(0,a.useEffect)((()=>{const e=1e3,t=.4,o=new l.SpotLight(16777215,.2,e);o.position.set(100,100,-100),o.castShadow=!0,r.add(o);const n=new l.SpotLight(16777215,.2,e);n.position.set(-100,100,-100),n.castShadow=!0,r.add(n);const a=new l.SpotLight(16777215,t,e);a.position.set(0,-100,-100),a.castShadow=!0,r.add(a);const i=new l.SpotLight(16777215,t,e);i.position.set(100,100,100),i.castShadow=!0,r.add(i);const s=new l.SpotLight(16777215,t,e);s.position.set(-100,100,100),s.castShadow=!0,r.add(s);const c=new l.SpotLight(16777215,t,e);return c.position.set(0,100,100),c.castShadow=!0,r.add(c),()=>{r.remove(o),r.remove(n),r.remove(a),r.remove(i),r.remove(s),r.remove(c)}}),[r]),null},E=e=>{const{canvasContainerRef:t,children:o}=e,{camera:n,gl:i}=(0,c.Ky)();return(0,a.useEffect)((()=>{const e=new b(n,i.domElement);return e.minPolarAngle=1,e.maxPolarAngle=2,e.enableZoom=!1,e.enablePan=!1,e.enableDamping=!0,e.dampingFactor=.2,e.rotateSpeed=.25,e.target.set(0,0,0),e.listenToKeyEvents(t.current),e.keys={LEFT:null,UP:null,RIGHT:null,BOTTOM:null,ORBITLEFT:"ArrowLeft",ORBITUP:"ArrowUp",ORBITRIGHT:"ArrowRight",ORBITBOTTOM:"ArrowDown"},e.update(),()=>{e.dispose()}}),[n,i,t]),(0,j.jsx)("group",{children:o})},T=e=>{const{children:t,cameraOptions:o}=e,n=(0,a.useRef)(),{text:i}=(0,m.useLocalizer)(),l=(0,r.useTheme)(),u=(0,a.useMemo)((()=>(0,j.jsx)(s.V,{center:!0,children:(0,j.jsxs)(v,{theme:l,children:[(0,j.jsx)(d.S,{children:i("Loading")}),(0,j.jsx)("div",{children:(0,j.jsx)(p.Z,{})}),(0,j.jsx)("div",{children:(0,j.jsx)(p.Z,{})}),(0,j.jsx)("div",{children:(0,j.jsx)(p.Z,{})})]})})),[l,i]);return(0,j.jsx)(y,{ref:n,tabIndex:0,children:(0,j.jsxs)(c.Xz,{gl:{alpha:!0,gammaFactor:1.4,gammaOutput:!0,antialias:!0},camera:{fov:20,aspect:1,near:1,far:1e3,position:[0,0,75],zoom:4},children:[(0,j.jsx)(O,{cameraOptions:o,canvasRef:n}),(0,j.jsx)(a.Suspense,{fallback:u,children:(0,j.jsx)(E,{canvasContainerRef:n,children:t})})]})})};T.defaultProps={cameraOptions:{}};var M=T,S=o(81440),R=o(28575),L=o(29568),k=o(30674);const C=a.forwardRef((function(e,t){const{geometrySrc:o,materialSrc:n,position:r,scale:s,rotation:m,customConfig:d}=e,p=(0,c.U2)(L.v,n),u=(0,c.U2)(R.L,o,(e=>{p.preload(),e.setMaterials(p)}));return(0,a.useEffect)((()=>{u.children.forEach((e=>{const t=d?.[e.name];if(e?.material?.color&&t?.material?.color&&e.material.color.set(t.material.color),e?.material?.emissive&&t?.material?.emissive&&e.material.emissive.set(t.material.emissive),e?.material?.emissiveIntensity&&t?.material?.emissiveIntensity&&(e.material.emissiveIntensity=t.material.emissiveIntensity),e?.material?.specular&&t?.material?.specular&&e.material.specular.set(t.material.specular),e?.material?.shininess&&(e.material.shininess=t?.material?.shininess??5),"R_joyCon R_buttons"==e.name&&(e.material.map.anisotropy=16),"R_joyCon_R backShell"===e.name&&(e.position.z=.03),e.material.needsUpdate=!0,t){if(t?.video){const o=document.getElementById(t.video);e.material.map=new l.VideoTexture(o)}else if(t?.map){const o=k.C.image(t.map);o.resize((0,S.vk)().width(1024).height(540)).resize((0,S.vk)().width(1024).height(1024)).quality("auto").format("jpg").backgroundColor("black");const n=(new l.TextureLoader).load(o.toURL());n.encoding=l.sRGBEncoding,e.material=new l.MeshBasicMaterial({color:16777215,map:n})}t?.glow&&(e.material.emissiveMap=e.material.map,e.material.map=null,e.material.color.r=e.material.color.g=e.material.color.b=0,e.material.emissive.r=e.material.emissive.g=e.material.emissive.b=1),t?.clear&&(e.renderOrder=1,e.material.transparent=!0),e.material.needsUpdate=!0}}))}),[d,u,p]),(0,j.jsx)(i.q.primitive,{ref:t,object:u,scale:s,position:r,rotation:m})}));C.defaultProps={position:[0,0,0],scale:.4};var A=C;var _=e=>{const t=(0,a.useRef)();return(0,a.useEffect)((()=>{t.current=e})),t.current},I=o(80963),x=o(87136),N=o(16577);const D={in:-1.87,mid:-4.05,out:-6.05},U={up:5,down:0},B={in:-1,mid:-4.5},z={farup:15,up:5,down:0},Y={mid:0,fardown:-15},H=[{delay:0,config:i.vc.gentle,jclPosition:[D.mid,U.up,0],jcrPosition:[Math.abs(D.mid),U.up,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0],bodyPosition:[0,Y.mid,0]},{config:i.vc.stiff,jclPosition:[D.out,U.down,0],jcrPosition:[Math.abs(D.out),U.down,0],wslPosition:[B.mid,z.down,0],wsrPosition:[Math.abs(B.mid),z.down,0]}],Z=[{delay:0,config:i.vc.gentle,jclPosition:[D.in,U.down,0],jcrPosition:[Math.abs(D.in),U.down,0],wslPosition:[B.in,z.farup,0],wsrPosition:[Math.abs(B.in),z.farup,0],bodyPosition:[0,Y.fardown,0]},{jclPosition:[D.out,U.down,0],jcrPosition:[Math.abs(D.out),U.down,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0]},{config:i.vc.stiff,wslPosition:[B.mid,z.down,0],wsrPosition:[Math.abs(B.mid),z.down,0],bodyPosition:[0,Y.mid,0]}],F=[{delay:0,config:i.vc.gentle,jclPosition:[D.out,U.down,0],jcrPosition:[Math.abs(D.out),U.down,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0],bodyPosition:[0,Y.mid,0]},{jclPosition:[D.mid,U.up,0],jcrPosition:[Math.abs(D.mid),U.up,0]},{config:i.vc.default,jclPosition:[D.mid,U.down,0],jcrPosition:[Math.abs(D.mid),U.down,0]}],G=[{delay:0,config:i.vc.gentle,jclPosition:[D.in,U.down,0],jcrPosition:[Math.abs(D.in),U.down,0],wslPosition:[B.in,z.farup,0],wsrPosition:[Math.abs(B.in),z.farup,0],bodyPosition:[0,Y.fardown,0]},{jclPosition:[D.mid,U.down,0],jcrPosition:[Math.abs(D.mid),U.down,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0]},{config:i.vc.default,bodyPosition:[0,Y.mid,0]}],V=[{delay:0,config:i.vc.gentle,jclPosition:[D.mid,U.down,0],jcrPosition:[Math.abs(D.mid),U.down,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0],bodyPosition:[0,Y.fardown,0]},{jclPosition:[D.in,U.down,0],jcrPosition:[Math.abs(D.in),U.down,0],wslPosition:[B.in,z.farup,0],wsrPosition:[Math.abs(B.in),z.farup,0]},{config:i.vc.default,wslPosition:[B.in,z.down,0],wsrPosition:[Math.abs(B.in),z.down,0]}],q=[{delay:0,config:i.vc.gentle,jclPosition:[D.out,U.down,0],jcrPosition:[Math.abs(D.out),U.down,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0],bodyPosition:[0,Y.fardown,0]},{jclPosition:[D.in,U.down,0],jcrPosition:[Math.abs(D.in),U.down,0],wslPosition:[B.in,z.farup,0],wsrPosition:[Math.abs(B.in),z.farup,0]},{config:i.vc.default,wslPosition:[B.in,z.down,0],wsrPosition:[Math.abs(B.in),z.down,0]}],K={config:i.vc.default,jclPosition:[D.mid,U.up,0],jcrPosition:[Math.abs(D.mid),U.up,0],wslPosition:[B.mid,z.farup,0],wsrPosition:[Math.abs(B.mid),z.farup,0],bodyPosition:[0,Y.mid,0]},X=[{delay:1e3,config:i.vc.default,jclPosition:[D.mid,U.down,0],jcrPosition:[Math.abs(D.mid),U.down,0]}];function W(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function Q(e){for(var t=1;t{let{joyConLeftColor:t,joyConRightColor:o,wristStrapLeftColor:n,wristStrapRightColor:r,screenImage:s,videoId:c,view:l}=e;const m=(0,I.Z)(I.o.DESKTOP),d=_(l),[p,u]=(0,i.q_)((()=>K)),h=(0,a.useMemo)((()=>({switchGEO_screen_innerScreen:{map:s,video:c},switchGEO_outterScreen_screen:{clear:!0},switchGEO_frontShell:{material:{color:"#000000",emissive:"#232323",emissiveIntensity:.2,specular:"#000000"}},switchGEO_backShell:{material:{color:"#606060",emissive:"#232323",emissiveIntensity:.2,specular:"#000000"}},switchGEO_backLid_01:{material:{color:"#191919"}},switchGEO_backLid_02:{material:{color:"#191919"}},switchGEO_screen_middleScreen:{material:{specular:"#000000"}}})),[s,c]),b=(0,a.useMemo)((()=>({"L_joyCon L_frontShell":{material:Q({},x.qo[x.hy][t]||{color:t})},"L_joyCon L_backShell":{material:Q({},x.qo[x.hy][t]||{color:t})},"L_joyCon L_ZLTrigger L_L_middleButton":{material:Q({},x.qo[x.hy][t]||{color:t})},"L_joyCon L_connectorBracket L_connectorBracket_buttons":{material:Q({},x.qo[x.hy][t]||{color:t})}})),[t]),f=(0,a.useMemo)((()=>({"wristStrapGEO outterShell":{material:Q({},x.qo[x.F8][n]||{color:n})},"wristStrapGEO backPlateA backPlates":{material:Q({},x.qo[x.F8][n]||{color:n})},"wristStrapGEO strapB_cut":{alpha:!0,double:!0},"wristStrapGEO strapButton":{double:!0}})),[n]),w=(0,a.useMemo)((()=>({"R_joyCon R_frontShell":{material:Q({},x.qo[x.hy][o]||{color:o})},"R_joyCon R_backShell":{material:Q({},x.qo[x.hy][o]||{color:o})},"R_joyCon R_ZRTrigger R_R_middleButton":{material:Q({},x.qo[x.hy][o]||{color:o})},"R_joyCon R_connectorBracket R_connectorBracket_buttons":{material:Q({},x.qo[x.hy][o]||{color:o})}})),[o]),g=(0,a.useMemo)((()=>({"wristStrapGEO outterShell":{material:Q({},x.qo[x.F8][r]||{color:r})},"wristStrapGEO backPlateA backPlates":{material:Q({},x.qo[x.F8][r]||{color:r})},"wristStrapGEO strapB_cut":{alpha:!0,double:!0},"wristStrapGEO strapButton":{double:!0}})),[r]),P=(0,a.useMemo)((()=>({zoom:m?4:3.25})),[m]);return(0,a.useEffect)((()=>{u.start({to:X})}),[u]),(0,a.useEffect)((()=>{const e=$?.[l]?.[d||"default"];e&&u.start({to:e})}),[u,l,d]),(0,j.jsx)(M,{cameraOptions:P,children:(0,j.jsxs)("group",{children:[(0,j.jsx)(A,{geometrySrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/l-joycon.obj",materialSrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/l-joycon.mtl",position:p.jclPosition,customConfig:b}),(0,j.jsx)(A,{geometrySrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/wrist-strap-2.obj",materialSrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/wrist-strap-2.mtl",position:p.wslPosition,customConfig:f}),(0,j.jsx)(A,{geometrySrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/body.obj",materialSrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/body.mtl",position:p.bodyPosition,customConfig:h}),(0,j.jsx)(A,{geometrySrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/wrist-strap.obj",materialSrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/wrist-strap.mtl",position:p.wsrPosition,rotation:[0,Math.PI,0],customConfig:g}),(0,j.jsx)(A,{geometrySrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/r-joycon.obj",materialSrc:"https://assets.nintendo.com/raw/upload/ncom/global/joycon-picker/r-joycon.mtl",position:p.jcrPosition,customConfig:w})]})})};J.defaultProps={joyConLeftColor:x.wE.NEON_RED,joyConRightColor:x.wE.NEON_BLUE,wristStrapLeftColor:x.wE.BLACK,wristStrapRightColor:x.wE.BLACK,videoId:null,screenImage:"v1682370886/ncom/global/joycon-picker/switch-logo.png",view:N.W$};var ee=J},16577:function(e,t,o){o.d(t,{GP:function(){return m},Uq:function(){return s},W$:function(){return i},Z5:function(){return r},nj:function(){return l}});var n=o(13980),a=o.n(n);const i="handheld",r="joycon",s="all",c=[i,r,s],l=new Set(c),m=(a().oneOf(c),"ncom/icons/JoyCon-Straps-Switch")}}]);