1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8522,9633],{18522:function(e,t,r){r.r(t);var a=r(18824),o=r(34378),n=r(68633),l=r(40466),i=r(54659);t.default=e=>{let{className:t="",particleCount:r=80,connectionDistance:c=120,mouseRepelRadius:d=150,colors:u=["#5898fb","#06fea6"]}=e,h=(0,l._)(),s=(0,i.J)(),g=(0,o.useRef)(null),f=(0,o.useRef)(0),v=(0,o.useRef)({x:-1e3,y:-1e3}),y=(0,o.useRef)([]),m=(0,o.useRef)({width:0,height:0}),b=(0,o.useCallback)((e,t)=>{let a=[];for(let o=0;o<r;o++)a.push({x:Math.random()*e,y:Math.random()*t,vx:(Math.random()-.5)*.6*(s?.1:1),vy:(Math.random()-.5)*.6*(s?.1:1),r:2*Math.random()+1,color:u[Math.floor(Math.random()*u.length)],opacity:.5*Math.random()+.3});return a},[r,u,s]);return(0,o.useEffect)(()=>{let e=g.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let r=()=>{var r;let a=null===(r=e.parentElement)||void 0===r?void 0:r.getBoundingClientRect();if(!a)return;let o=window.devicePixelRatio||1;e.width=a.width*o,e.height=a.height*o,e.style.width="".concat(a.width,"px"),e.style.height="".concat(a.height,"px"),t.scale(o,o),m.current={width:a.width,height:a.height},0===y.current.length&&(y.current=b(a.width,a.height))};r(),window.addEventListener("resize",r);let a=t=>{let r=e.getBoundingClientRect();v.current={x:t.clientX-r.left,y:t.clientY-r.top}},o=()=>{v.current={x:-1e3,y:-1e3}};e.addEventListener("mousemove",a),e.addEventListener("mouseleave",o);let l=()=>{var e,r,a,o;let{width:i,height:u}=m.current,s=y.current,g=v.current;for(let e of(t.clearRect(0,0,i,u),s)){let t=e.x-g.x,r=e.y-g.y,a=Math.sqrt(t*t+r*r);if(a<d&&a>0){let o=(d-a)/d,n=Math.atan2(r,t);e.vx+=Math.cos(n)*o*.8,e.vy+=Math.sin(n)*o*.8}e.vx*=.98,e.vy*=.98,e.vx+=(Math.random()-.5)*.02,e.vy+=(Math.random()-.5)*.02;let o=Math.sqrt(e.vx*e.vx+e.vy*e.vy);o>2&&(e.vx=e.vx/o*2,e.vy=e.vy/o*2),e.x+=e.vx,e.y+=e.vy,e.x<-10&&(e.x=i+10),e.x>i+10&&(e.x=-10),e.y<-10&&(e.y=u+10),e.y>u+10&&(e.y=-10)}for(let a=0;a<s.length;a++)for(let o=a+1;o<s.length;o++){let l=s[a].x-s[o].x,i=s[a].y-s[o].y,d=Math.sqrt(l*l+i*i);if(d<c){let l=(1-d/c)*.15,i=t.createLinearGradient(s[a].x,s[a].y,s[o].x,s[o].y);i.addColorStop(0,(null===(e=n.$_Y(s[a].color))||void 0===e?void 0:e.copy({opacity:l}).formatRgb())||"rgba(88,152,251,".concat(l,")")),i.addColorStop(1,(null===(r=n.$_Y(s[o].color))||void 0===r?void 0:r.copy({opacity:l}).formatRgb())||"rgba(6,254,166,".concat(l,")")),t.beginPath(),t.strokeStyle=i,t.lineWidth=.8,t.moveTo(s[a].x,s[a].y),t.lineTo(s[o].x,s[o].y),t.stroke()}}for(let e of s){let r=t.createRadialGradient(e.x,e.y,0,e.x,e.y,4*e.r);r.addColorStop(0,(null===(a=n.$_Y(e.color))||void 0===a?void 0:a.copy({opacity:.3*e.opacity}).formatRgb())||"transparent"),r.addColorStop(1,"transparent"),t.beginPath(),t.fillStyle=r,t.arc(e.x,e.y,4*e.r,0,2*Math.PI),t.fill(),t.beginPath(),t.fillStyle=(null===(o=n.$_Y(e.color))||void 0===o?void 0:o.copy({opacity:e.opacity}).formatRgb())||e.color,t.arc(e.x,e.y,e.r,0,2*Math.PI),t.fill()}if(g.x>0&&g.y>0){let e=t.createRadialGradient(g.x,g.y,0,g.x,g.y,d);e.addColorStop(0,h.glowPrimary.replace(/[\d.]+\)$/,"0.03)")),e.addColorStop(.5,h.glowAccent.replace(/[\d.]+\)$/,"0.01)")),e.addColorStop(1,"transparent"),t.beginPath(),t.fillStyle=e,t.arc(g.x,g.y,d,0,2*Math.PI),t.fill()}f.current=requestAnimationFrame(l)};return l(),()=>{cancelAnimationFrame(f.current),window.removeEventListener("resize",r),e.removeEventListener("mousemove",a),e.removeEventListener("mouseleave",o)}},[b,c,d,h]),(0,a.jsx)("div",{className:"absolute inset-0 ".concat(t),children:(0,a.jsx)("canvas",{ref:g,className:"w-full h-full",style:{display:"block"}})})}},74557:function(e,t,r){r.d(t,{F:function(){return l},ThemeProvider:function(){return i}});var a=r(18824),o=r(34378);let n=(0,o.createContext)(void 0),l=()=>{let e=(0,o.useContext)(n);if(void 0===e)throw Error("useTheme must be used within a ThemeProvider");return e},i=e=>{let{children:t}=e,[r,l]=(0,o.useState)("dark");return(0,o.useEffect)(()=>{let e=localStorage.getItem("theme");("light"===e||"dark"===e)&&l(e)},[]),(0,o.useEffect)(()=>{"dark"===r?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),localStorage.setItem("theme",r)},[r]),(0,a.jsx)(n.Provider,{value:{theme:r,toggleTheme:()=>{l(e=>"light"===e?"dark":"light")}},children:t})}},54659:function(e,t,r){r.d(t,{J:function(){return o}});var a=r(34378);function o(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=window.matchMedia("(prefers-reduced-motion: reduce)");t(e.matches);let r=e=>t(e.matches);return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}},40466:function(e,t,r){r.d(t,{_:function(){return o}});var a=r(74557);function o(){let{theme:e}=(0,a.F)(),t="dark"===e;return{isDark:t,primary:"#5898fb",accent:"#06fea6",text:t?"#f3f4f6":"#111827",textMuted:t?"#9ca3af":"#6b7280",surface:t?"rgba(255,255,255,0.03)":"rgba(0,0,0,0.02)",surfaceHover:t?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.04)",border:t?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.08)",borderHover:t?"rgba(255,255,255,0.15)":"rgba(0,0,0,0.12)",gridColor:t?"rgba(88,152,251,0.04)":"rgba(88,152,251,0.08)",glowPrimary:t?"rgba(88,152,251,0.15)":"rgba(88,152,251,0.1)",glowAccent:t?"rgba(6,254,166,0.15)":"rgba(6,254,166,0.1)",waterColor:t?"rgba(88,152,251,0.03)":"rgba(88,152,251,0.06)",landFill:t?"rgba(88,152,251,0.08)":"rgba(88,152,251,0.12)",landStroke:t?"rgba(88,152,251,0.2)":"rgba(88,152,251,0.25)",cardBg:t?"rgba(15,15,25,0.9)":"rgba(255,255,255,0.9)",cardBorder:t?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.1)"}}}}]);
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.