1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4795],{10007:(e,t,r)=>{r.d(t,{A:()=>h});var n=r(98840),a=r(57064),o=r(55224),l=r(13769),s=r(44537),i=r(18582);function c(e){let{volume:t}=e,{nodes:r}=(0,s.p)("/3d/magazine2.glb"),a=(0,i.zo)("".concat(t.cover.url));a.flipY=!1;let o=(0,i.zo)("/3d/front-base.jpg");o.flipY=!1;let l=(0,i.zo)("/3d/front-normal.jpg");l.flipY=!1;let c=(0,i.zo)("".concat(t.coverRoughness.url));c.flipY=!1;let u=(0,i.zo)("/3d/sides-base.jpg");u.flipY=!1;let d=(0,i.zo)("".concat(t.side.url));d.flipY=!1;let m=(0,i.zo)("".concat(t.sideRoughness.url));return m.flipY=!1,(0,n.jsxs)("group",{dispose:null,children:[(0,n.jsx)("mesh",{castShadow:!0,receiveShadow:!0,geometry:r.magazine_2.geometry,children:(0,n.jsx)("meshStandardMaterial",{map:a,normalMap:l,aoMap:o,roughnessMap:c,normalScale:.5})}),(0,n.jsx)("mesh",{castShadow:!0,receiveShadow:!0,geometry:r.magazine_3.geometry,children:(0,n.jsx)("meshStandardMaterial",{map:u,roughness:.8})}),(0,n.jsx)("mesh",{castShadow:!0,receiveShadow:!0,geometry:r.magazine_4.geometry,children:(0,n.jsx)("meshStandardMaterial",{map:d,roughnessMap:m,roughness:.8})}),(0,n.jsx)("mesh",{castShadow:!0,receiveShadow:!0,geometry:r.magazine_1.geometry,children:(0,n.jsx)("meshStandardMaterial",{color:"#f5f5f5",roughness:.8})}),(0,n.jsx)("mesh",{castShadow:!0,receiveShadow:!0,geometry:r.magazine_5.geometry,children:(0,n.jsx)("meshStandardMaterial",{color:"#80949A",roughness:.8})})]})}s.p.preload("/3d/magazine2.glb"),i.zo.preload("/3d/front-base.jpg"),i.zo.preload("/3d/front-normal.jpg"),i.zo.preload("/3d/sides-base.jpg");var u=r(4052),d=r(42979),m=r(8996);function f(e){let{children:t}=e,{x:r,y:o}=(0,m.Q)(),l=(0,u.useRef)(null);return(0,a.D)((e,t)=>{d.e.damp3(e.camera.position,[0,0,2.5],.25,t),l.current&&d.e.dampE(l.current.rotation,[(o/window.innerHeight*2-1)/2,-(r/window.innerWidth*2-1)/2,0],.25,t)}),(0,n.jsx)("group",{ref:l,children:t})}function g(){return(0,n.jsxs)(o.jK,{temporal:!0,color:"#b8c5cc",frames:50,alphaTest:.6,opacity:.7,scale:2,rotation:[Math.PI/2,0,0],resolution:1024,position:[0,0,-.05],children:[(0,n.jsx)(o.kh,{amount:4,radius:9,intensity:.55*Math.PI,ambient:.25,position:[5,5,-10]}),(0,n.jsx)(o.kh,{amount:4,radius:5,intensity:.25*Math.PI,ambient:.55,position:[-5,5,-9]})]})}function h(e){let{nav:t,volume:r}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("ambientLight",{intensity:.7*Math.PI}),(0,n.jsx)(l.OH,{files:"https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/brown_photostudio_02_1k.hdr",environmentIntensity:.5}),(0,n.jsxs)(f,{children:[(0,n.jsx)(c,{volume:r}),!t&&(0,n.jsx)(g,{})]})]})}},44795:(e,t,r)=>{r.r(t),r.d(t,{default:()=>k});var n,a,o=r(98840),l=r(68864),s=r(16426),i=r(4052),c=r(70975),u=r(57064);let d=e=>{let t,r=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,o={setState:n,getState:a,getInitialState:()=>l,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},l=t=e(n,a,o);return o};var m=r(82868);let{useDebugValue:f}=i,{useSyncExternalStoreWithSelector:g}=m,h=!1,p=e=>{"function"!=typeof e&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t="function"==typeof e?(e=>e?d(e):d)(e):e,r=(e,r)=>(function(e,t=e=>e,r){r&&!h&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),h=!0);let n=g(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return f(n),n})(t,e,r);return Object.assign(r,t),r},v="undefined"!=typeof window&&(null!=(n=window.document)&&n.createElement||(null==(a=window.navigator)?void 0:a.product)==="ReactNative")?i.useLayoutEffect:i.useEffect,b=new c.Q1f,w=function(){let e,t=(e=e=>({current:[],version:0,set:e}))?p(e):p;return{In:({children:e})=>{let r=t(e=>e.set),n=t(e=>e.version);return v(()=>{r(e=>({version:e.version+1}))},[]),v(()=>(r(({current:t})=>({current:[...t,e]})),()=>r(({current:t})=>({current:t.filter(t=>t!==e)}))),[e,n]),null},Out:()=>{let e=t(e=>e.current);return i.createElement(i.Fragment,null,e)}}}();function j(e,t){let{right:r,top:n,left:a,bottom:o,width:l,height:s}=t,i=t.bottom<0||n>e.height||r<0||t.left>e.width,c=e.top+e.height;return{position:{width:l,height:s,left:a-e.left,top:n,bottom:c-o,right:r},isOffscreen:i}}function E(e,t){let r,n,{left:a,bottom:o,width:l,height:s}=t,i=l/s;return(r=e.camera)&&r.isOrthographicCamera?e.camera.manual?e.camera.updateProjectionMatrix():(e.camera.left!==-(l/2)||e.camera.right!==l/2||e.camera.top!==s/2||e.camera.bottom!==-(s/2))&&(Object.assign(e.camera,{left:-(l/2),right:l/2,top:s/2,bottom:-(s/2)}),e.camera.updateProjectionMatrix()):e.camera.aspect!==i&&(e.camera.aspect=i,e.camera.updateProjectionMatrix()),n=e.gl.autoClear,e.gl.autoClear=!1,e.gl.setViewport(a,o,l,s),e.gl.setScissor(a,o,l,s),e.gl.setScissorTest(!0),n}function y(e,t){e.gl.setScissorTest(!1),e.gl.autoClear=t}function x(e){e.gl.getClearColor(b),e.gl.setClearColor(b,e.gl.getClearAlpha()),e.gl.clear(!0,!0)}function S(e){let{visible:t=!0,canvasSize:r,scene:n,index:a,children:o,frames:l,rect:s,track:c}=e,d=(0,u.C)(),[m,f]=i.useState(!1),g=0;return(0,u.D)(e=>{if(l===1/0||g<=l){var a;c&&(s.current=null==(a=c.current)?void 0:a.getBoundingClientRect()),g++}if(s.current){let{position:a,isOffscreen:l}=j(r,s.current);if(m!==l&&f(l),t&&!m&&s.current){let t=E(e,a);
1e.gl.render(o?e.scene:n,e.camera),y(e,t)}}},a),i.useLayoutEffect(()=>{let e=s.current;if(e&&(!t||!m)){let{position:t}=j(r,e),n=E(d,t);x(d),y(d,n)}},[t,m]),i.useEffect(()=>{if(!c)return;let e=s.current,t=d.get().events.connected;return d.setEvents({connected:c.current}),()=>{if(e){let{position:t}=j(r,e),n=E(d,t);x(d),y(d,n)}d.setEvents({connected:t})}},[c]),i.createElement(i.Fragment,null,o,i.createElement("group",{onPointerOver:()=>null}))}let z=i.forwardRef((e,t)=>{var r,n,a,o;let{track:l,visible:d=!0,index:m=1,id:f,style:g,className:h,frames:p=1/0,children:v,...b}=e,w=i.useRef(null),{size:j,scene:E}=(0,u.C)(),[y]=i.useState(()=>new c.Z58),[x,z]=i.useReducer(()=>!0,!1),C=i.useCallback((e,t)=>{if(w.current&&l&&l.current&&e.target===l.current){let{width:r,height:n,left:a,top:o}=w.current,l=e.clientX-a,s=e.clientY-o;t.pointer.set(l/r*2-1,-(s/n*2)+1),t.raycaster.setFromCamera(t.pointer,t.camera)}},[w,l]);return i.useEffect(()=>{var e;l&&(w.current=null==(e=l.current)?void 0:e.getBoundingClientRect()),z()},[l]),i.createElement("group",(0,s.A)({ref:t},b),x&&(0,u.o)(i.createElement(S,{visible:d,canvasSize:j,frames:p,scene:E,track:l,rect:w,index:m},v),y,{events:{compute:C,priority:m},size:{width:null==(r=w.current)?void 0:r.width,height:null==(n=w.current)?void 0:n.height,top:null==(a=w.current)?void 0:a.top,left:null==(o=w.current)?void 0:o.left}}))}),C=i.forwardRef((e,t)=>{let{as:r="div",id:n,visible:a,className:o,style:l,index:c=1,track:u,frames:d=1/0,children:m,...f}=e,g=i.useId(),h=i.useRef(null);return i.useImperativeHandle(t,()=>h.current),i.createElement(i.Fragment,null,i.createElement(r,(0,s.A)({ref:h,id:n,className:o,style:l},f)),i.createElement(w.In,null,i.createElement(z,{visible:a,key:g,track:h,frames:d,index:c},m)))}),M=(()=>{let e=i.forwardRef((e,t)=>i.useContext(u.q)?i.createElement(z,(0,s.A)({ref:t},e)):i.createElement(C,(0,s.A)({ref:t},e)));return e.Port=()=>i.createElement(w.Out,null),e})();var R=r(70036),I=r(10007);function k(e){let{elementsRef:t,volumes:r}=e;return(0,o.jsxs)(l.Hl,{shadows:!0,camera:{position:[0,0,2.5],fov:25},style:{position:"fixed",top:110,bottom:0,left:0,right:0,pointerEvents:"none"},children:[r.map((e,r)=>(0,o.jsx)(M,{track:t[r],children:(0,o.jsx)(I.A,{nav:!0,volume:e})},"view-volume-".concat(e.id))),(0,o.jsx)(R.M,{all:!0})]})}}}]);
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.