1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7617],{57617:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});var r=n(95155),i=n(12115),o=n(76765);function a(e){let{coherence:t,accent:a,palette:l,pointerX:s=0,pointerY:d=0,motif:c,className:u="",onUnsupported:p}=e,h=(0,i.useRef)(null),m=(0,i.useRef)(t);m.current=t;let w=(0,i.useRef)({x:0,y:0});w.current={x:s,y:d};let f=(null!=l?l:[]).join(",");return(0,i.useEffect)(()=>{let e=h.current;if(!e)return;let t=!1,r=()=>{};return(async()=>{let i,s=await Promise.all([n.e(1831),n.e(9367)]).then(n.bind(n,97431));if(t)return;let d=window.matchMedia("(prefers-reduced-motion: reduce)").matches,u=e.clientWidth||320,h=e.clientHeight||320;try{i=new s.WebGLRenderer({alpha:!0,antialias:!0})}catch(e){null==p||p();return}i.setPixelRatio(Math.min(window.devicePixelRatio,1.5)),i.setClearColor(0,0),i.setSize(u,h),e.appendChild(i.domElement);let f=new s.Scene,b=new s.PerspectiveCamera(50,u/h,.1,100);b.position.z=4.2;let y=new s.Group;y.scale.setScalar(.92),f.add(y);let g=new s.Color(a),v=new s.Color("#33485a"),C=l&&l.length?l.map(e=>new s.Color(e)):[g],A="constellation"===c,x=new s.WireframeGeometry(new s.IcosahedronGeometry(1.45,1)),M=new s.LineBasicMaterial({color:g,transparent:!0,opacity:0,depthWrite:!1,blending:s.AdditiveBlending}),E=new s.LineSegments(x,M);y.add(E);let R=new s.IcosahedronGeometry(1.45,A?1:2),S=R.getAttribute("position"),z=S.count,F=new Float32Array(3*z);for(let e=0;e<3*z;e++)F[e]=S.array[e];let G=e=>{let t=43758.5453*Math.sin(127.1*e+311.7);return t-Math.floor(t)},P=new Float32Array(3*z);for(let e=0;e<z;e++)P[3*e]=(G(3*e+1)-.5)*2,P[3*e+1]=(G(3*e+2)-.5)*2,P[3*e+2]=(G(3*e+3)-.5)*2;let B=new Float32Array(3*z),W=new Float32Array(3*z),k=new s.BufferGeometry;k.setAttribute("position",new s.BufferAttribute(B,3)),k.setAttribute("color",new s.BufferAttribute(W,3));let L=e=>C[e%C.length],I=(()=>{let e=document.createElement("canvas");e.width=e.height=64;let t=e.getContext("2d"),n=t.createRadialGradient(32,32,0,32,32,32);return n.addColorStop(0,"rgba(255,255,255,1)"),n.addColorStop(.4,"rgba(255,255,255,0.6)"),n.addColorStop(1,"rgba(255,255,255,0)"),t.fillStyle=n,t.fillRect(0,0,64,64),new s.CanvasTexture(e)})(),N=new s.PointsMaterial({size:A?.11:.06,map:I,vertexColors:!0,transparent:!0,depthWrite:!1,alphaTest:.02,blending:s.AdditiveBlending,sizeAttenuation:!0}),_=new s.Points(k,N);y.add(_);let j=m.current,T=0,H=0,O=!0,U=!document.hidden,q=new s.Clock,D=new s.Color,J=()=>{let e=q.getElapsedTime(),t=Math.max(0,Math.min(1,j+=(m.current-j)*.12)),n=(1-t)*.6,r=d?0:(1-t)*.1;for(let i=0;i<z;i++){let o=r*Math.sin(.9*e+1.3*i);B[3*i]=F[3*i]+P[3*i]*(n+o),B[3*i+1]=F[3*i+1]+P[3*i+1]*(n+o),B[3*i+2]=F[3*i+2]+P[3*i+2]*(n+o),D.copy(v).lerp(L(i),.4+.6*t),W[3*i]=D.r,W[3*i+1]=D.g,W[3*i+2]=D.b}k.getAttribute("position").needsUpdate=!0,k.getAttribute("color").needsUpdate=!0;let a=(0,o.aF)();N.opacity=(A?.3:.22)+t*(A?.5:.4)+.18*a,N.size=(A?.11:.06)*(1+.7*a),M.opacity=t*(A?.28:.4);let l=(T+=.0016*!d)+.7*w.current.x,s=.55*w.current.y+(d?0:.05*Math.sin(.15*e));y.rotation.y+=(l-y.rotation.y)*.09,y.rotation.x+=(s-y.rotation.x)*.09,i.render(f,b),H=O&&U?requestAnimationFrame(J):0},K=new IntersectionObserver(e=>{let[t]=e;(O=t.isIntersecting)&&U&&!H&&J()},{threshold:.05});K.observe(e);let Q=()=>{U=!document.hidden,O&&U&&!H&&J()};document.addEventListener("visibilitychange",Q);let V=new ResizeObserver(()=>{u=e.clientWidth||u,h=e.clientHeight||h,b.aspect=u/h,b.updateProjectionMatrix(),i.setSize(u,h)});V.observe(e),J(),r=()=>{cancelAnimationFrame(H),K.disconnect(),V.disconnect(),document.removeEventListener("visibilitychange",Q),k.dispose(),N.dispose(),I.dispose(),M.dispose(),x.dispose(),R.dispose(),i.dispose(),i.domElement.parentNode===e&&e.removeChild(i.domElement)}})(),()=>{t=!0,r()}},[a,c,f]),(0,r.jsx)("div",{ref:h,className:u,"aria-hidden":!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.