1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="82c9ede4-6ffa-183b-6791-df01854ef8b2")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,999286,e=>{"use strict";let t;var i=e.i(843476),r=e.i(271645),n=e.i(610880),s=e.i(669727),a=e.i(625702),o=e.i(657688),l=e.i(846932),d=e.i(887652),c=e.i(772328);e.i(486427);var m=e.i(83352),u=e.i(83411),p=e.i(287022);function h(e){return"number"==typeof e?e:parseFloat(e)}var f=e.i(737806),g=e.i(895420);function x(e,t={}){return function(e,t={}){let{isStatic:i}=(0,r.useContext)(f.MotionConfigContext),n=()=>(0,u.isMotionValue)(e)?e.get():e;if(i)return(0,g.useTransform)(n);let s=(0,d.useMotionValue)(n());return(0,r.useInsertionEffect)(()=>(function(e,t,i={}){let r,n=e.get(),s=null,a=n,o="string"==typeof n?n.replace(/[\d.-]/g,""):void 0,l=()=>{s&&(s.stop(),s=null),e.animation=void 0},d=()=>{(()=>{let t=h(e.get()),n=h(a);if(t===n)return l();let o=s?s.getGeneratorVelocity():e.getVelocity();l(),s=new m.JSAnimation({keyframes:[t,n],velocity:o,type:"spring",restDelta:.001,restSpeed:.01,...i,onUpdate:r})})(),e.animation=s??void 0,e.events.animationStart?.notify(),s?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((e,t)=>{a=e,r=e=>{var i,r;return t((i=e,(r=o)?i+r:i))},p.frame.postRender(d)},l),(0,u.isMotionValue)(t)){let r=!0===i.skipInitialAnimation,n=t.on("change",t=>{var i,n,s,a;r?(r=!1,e.jump((i=t,(n=o)?i+n:i),!1)):e.set((s=t,(a=o)?s+a:s))}),s=e.on("destroy",n);return()=>{n(),s()}}return l})(s,e,t),[s,JSON.stringify(t)]),s}(e,{type:"spring",...t})}var b=e.i(310542);function v(e,t=0){let{scrollY:i}=(0,b.useScroll)(),[n,s]=(0,r.useState)([0,1]);return(0,r.useEffect)(()=>{let i=()=>{let i=e.current;if(!i)return;let r=i.getBoundingClientRect(),n=r.top+window.scrollY,a=n-t,o=n+r.height-window.innerHeight;s(o>a?[a,o]:[a,a+1])};i();let r=setTimeout(i,600);return window.addEventListener("resize",i),()=>{clearTimeout(r),window.removeEventListener("resize",i)}},[e,t]),(0,g.useTransform)(i,n,[0,1])}var j=e.i(134930);let w={hidden:{y:"110%"},visible:{y:"0%",transition:{duration:.9,ease:"easeOut"}}},y="block overflow-hidden pt-[0.2em] -mt-[0.2em]",k={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.7,ease:"easeOut"}}},N=()=>(0,i.jsxs)(l.motion.div,{className:"h-full flex flex-col items-center justify-center text-center px-4",initial:"hidden",animate:"visible",variants:{hidden:{},visible:{transition:{delayChildren:.15,staggerChildren:.15}}},children:[(0,i.jsx)(l.motion.p,{variants:k,className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-6",children:"01 / Identity"}),(0,i.jsxs)("h1",{className:"font-mono font-bold uppercase leading-[0.95] text-[clamp(3rem,15vw,11rem)]",children:[(0,i.jsx)("span",{className:y,children:(0,i.jsx)(l.motion.span,{variants:w,className:"block",children:"Frédéric"})}),(0,i.jsx)("span",{className:y,children:(0,i.jsxs)(l.motion.span,{variants:w,className:"block",children:["Legrand",(0,i.jsx)("span",{className:"blink",children:"_"})]})})]}),(0,i.jsx)(l.motion.div,{variants:k,className:"mt-14 font-mono text-xs uppercase tracking-widest text-accent-light dark:text-accent-dark",children:(0,i.jsx)(l.motion.span,{className:"inline-block",animate:{y:[0,6,0]},transition:{duration:1.6,repeat:1/0,ease:"easeInOut"},children:"Scroll â"})})]}),_=({revealOnScroll:e,imageStyle:t})=>(0,i.jsx)(l.motion.div,{className:"w-full max-w-6xl mx-auto",...e?{initial:"hidden",whileInView:"visible",viewport:{once:!0,amount:.3}}:{initial:"visible",animate:"visible"},variants:{hidden:{},visible:{transition:{staggerChildren:.12}}},children:(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-[3fr_2fr] gap-10 md:gap-16 items-center",children:[(0,i.jsxs)(l.motion.div,{variants:e?k:void 0,children:[(0,i.jsx)("h2",{className:"section-title glitch-text","data-text":"Forward Deployed Engineer @H company",children:(0,i.jsxs)("span",{children:["Forward Deployed Engineer @",(0,i.jsx)("a",{href:"https://www.hcompany.ai",target:"_blank",rel:"noopener noreferrer",className:"hover:underline",children:"H company"})]})}),(0,i.jsx)("p",{className:"mb-4",children:"Building the future through AI and automation. Currently working at H company as a forward deployed engineer, focused on computer use and browser automation."}),(0,i.jsx)("p",{children:"Let's connect on socials below, or scroll to discover what I've been working on."}),(0,i.jsx)(j.default,{})]}),(0,i.jsx)(l.motion.div,{variants:e?k:void 0,style:t,className:"relative aspect-square w-full max-w-[320px] justify-self-center md:justify-self-end border border-border-light dark:border-border-dark",children:(0,i.jsx)(o.default,{src:"/profile.jpg",alt:"Frédéric Legrand",fill:!0,priority:!0,fetchPriority:"high",sizes:"(max-width: 768px) 100vw, 320px",style:{objectFit:"cover"}})})]})}),S=()=>{let e=(0,r.useRef)(null),t=(0,c.useReducedMotion)(),n=v(e,80),s=(0,g.useTransform)(n,[.12,.32],[1,0]),a=(0,g.useTransform)(n,[0,.32],[1,1.12]),o=(0,g.useTransform)(n,[.28,.48,.8,1],[0,1,1,0]),m=(0,g.useTransform)(n,[.28,.48],[80,0]),u=(0,g.useTransform)(n,[.8,1],[1,.94]),p=(0,g.useTransform)(o,e=>e>.5?"auto":"none"),h=(0,d.useMotionValue)(0),f=(0,d.useMotionValue)(0);(0,r.useEffect)(()=>
2{if(t||!window.matchMedia("(pointer: fine)").matches)return;let e=e=>{h.set((e.clientX/window.innerWidth-.5)*10),f.set((e.clientY/window.innerHeight-.5)*10)};return window.addEventListener("mousemove",e),()=>window.removeEventListener("mousemove",e)},[h,f,t]);let b=x(h,{stiffness:60,damping:15}),j=x(f,{stiffness:60,damping:15});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("section",{ref:e,className:"hidden motion-safe:md:block relative h-[260vh]",children:(0,i.jsxs)("div",{className:"sticky top-20 h-[calc(100svh-5rem)] overflow-hidden border-b border-border-light dark:border-border-dark",children:[(0,i.jsx)(l.motion.div,{style:{opacity:s,scale:a},className:"absolute inset-0 pointer-events-none",children:(0,i.jsx)(N,{})}),(0,i.jsx)(l.motion.div,{style:{opacity:o,y:m,scale:u,pointerEvents:p},className:"absolute inset-0 flex items-center px-4",children:(0,i.jsx)(_,{revealOnScroll:!1,imageStyle:t?void 0:{x:b,y:j}})})]})}),(0,i.jsxs)("section",{className:"motion-safe:md:hidden border-b border-border-light dark:border-border-dark",children:[(0,i.jsx)("div",{className:"h-[calc(100svh-5rem)] md:h-auto md:py-24",children:(0,i.jsx)(N,{})}),(0,i.jsx)("div",{className:"px-4 py-16",children:(0,i.jsx)(_,{revealOnScroll:!0})})]})]})},R=({marker:e,align:t,dir:n,children:s})=>{let o=(0,r.useRef)(null),d=(0,c.useReducedMotion)(),m=(0,a.useIsMobile)()?14:25,{scrollYProgress:u}=(0,b.useScroll)({target:o,offset:["start end","center center"]}),p=(0,g.useTransform)(u,e=>`${n*m*(1-e)}vw`),h=(0,g.useTransform)(u,[0,.7],[0,1]);return(0,i.jsx)("div",{ref:o,className:`min-h-[40vh] md:min-h-[60vh] flex flex-col justify-center ${"right"===t?"items-end text-right":"items-start"}`,children:(0,i.jsxs)(l.motion.div,{style:d?void 0:{x:p,opacity:h},children:[(0,i.jsx)("p",{className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-6",children:e}),(0,i.jsx)("h3",{className:"text-5xl md:text-8xl font-mono font-bold uppercase leading-[1.05] max-w-5xl",children:s})]})})},C=({word:e,dir:t})=>{let n=(0,r.useRef)(null),s=(0,c.useReducedMotion)(),o=(0,a.useIsMobile)(),d=o?10:20,{scrollYProgress:m}=(0,b.useScroll)({target:n,offset:["start end",o?"center 0.8":"center 0.65"]}),u=(0,g.useTransform)(m,e=>`${t*d*(1-e)}vw`),p=(0,g.useTransform)(m,[0,.8],[0,1]);return(0,i.jsx)("div",{ref:n,className:`min-h-[13vh] md:min-h-[22vh] flex flex-col justify-center ${1===t?"items-end text-right":"items-start"}`,children:(0,i.jsxs)(l.motion.h3,{style:s?void 0:{x:u,opacity:p},className:"text-[clamp(2.2rem,11vw,6rem)] font-mono font-bold uppercase leading-none",children:[e,(0,i.jsx)("span",{className:"text-accent-light dark:text-accent-dark",children:"."})]})})},P=["Agents","Apps","Browsers","Robots","Automations","Computer use"],E=()=>(0,i.jsx)("section",{className:"overflow-x-clip border-b border-border-light dark:border-border-dark px-4 py-12",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,i.jsxs)(R,{marker:"02 / Manifesto",align:"left",dir:-1,children:["I ship",(0,i.jsx)("span",{className:"blink",children:"_"})]}),P.map((e,t)=>(0,i.jsx)(C,{word:e,dir:t%2==0?1:-1},e)),(0,i.jsxs)(R,{marker:"// Keep scrolling",align:"left",dir:-1,children:["Here's the proof",(0,i.jsx)("span",{className:"blink",children:"_"})]})]})});var I=e.i(942295);let M=[{title:"Holotab",description:"H company's Chrome extension that puts an AI agent in your browser. Automate any web task by text or voice, record routines, and schedule them to run on their own.",link:"https://chromewebstore.google.com/detail/holotab/hlaoiikljjgcjdhkakedfngifaopbcop",tagline:"Add to Chrome",featured:!0},{title:"ReplyKit",description:"Chrome extension + mobile web app that generates AI replies on X, LinkedIn, and Reddit in one click. Supports OpenAI, Claude, and Gemini or Pro with no API key.",link:"/replykit",tagline:"Learn more",featured:!0},{title:"Chess AI",description:"A policy/value ResNet trained on Stockfish-evaluated Lichess positions. Plays at ~2050 Elo (Stockfish-anchored estimate).",link:"/chess",tagline:"Play against the AI",featured:!0},{title:"phospho",description:"Worked as a founding engineer on cutting-edge robotics systems that push the boundaries of what machines can do.",link:"https://phospho.ai",tagline:"Learn More",featured:!0},{title:"Games",description:"A small collection of fun games, guess world capitals endlessly, or name countries that start with a given letter.",link:"/games",tagline:"Play",span:"md:col-span-3"},{title:"Photo Generator",description:"A service to create beautiful portraits from your photos using AI.",link:"https://image.fredericlegrand.me/",tagline:"Generate images",span:"md:col-span-3"},{title:"Ray tracing engine",description:"A c++ ray tracing engine, from scratch that renders 3D scenes with realistic lighting.",link:"https://github.com/fred3105/Ray-Tracing-Engine/tree/main",tagline:"View on Github",span:"md:col-span-2"},{title:"Formulas for your comfort",description:"Created an instagram page to create a community around math and physics.",link:"https://www.instagram.com/formulas_for_your_comfort/",tagline:"View on Instagram",span:"md:col-span-2"},{title:"AI powered search engine",description:"A search engine that crawls the web and summarizes the results using an LLM.",link:"https://tak.phospho.ai/",tagline:"Try it out",span:"md:col-span-2"},{title:"Polymarket trading bot",description:"An automated bot trading prediction markets on Polymarket. Fully private and gated â if it makes money, I'm not sharing.",tagline:"// Private",span:"md:col-span-4"},{title:"MineSweeper solver",description:"A basic AI that creates and s
2olves Minesweeper boards.",link:"https://github.com/fred3105/minesweeper",tagline:"View on Github",span:"md:col-span-2"},{title:"Crypto prices analysis",description:"A repo of notebooks to analyze and predict crypto prices. Features LSTM, ARIMA, and other models.",link:"https://github.com/fred3105/Modeling-Crypto-Prices",tagline:"View on Github",span:"md:col-span-3"},{title:"Image Model LoRa Fine-tuning",description:"Clone yourself with a few photos using LoRa fine-tuning on an image generation model.",link:"https://images.fredericlegrand.me/",tagline:"Clone yourself",span:"md:col-span-3"},{title:"Segmentation algorithms",description:"A trained UNet model for Segmentation.",link:"https://github.com/fred3105/Segmentation",tagline:"View on Github",span:"md:col-span-2"},{title:"More Personal Projects",description:"Explore my github for fun projects and experiments I've worked on.",link:"https://github.com/fred3105",tagline:"View More",span:"md:col-span-4"}],O=M.filter(e=>e.featured),T=M.filter(e=>!e.featured),A=({project:e})=>e.link?e.link.startsWith("/")?(0,i.jsx)(I.MotionLink,{href:e.link,className:"project-link",whileTap:{scale:.95},children:e.tagline}):(0,i.jsx)(l.motion.a,{href:e.link,className:"project-link",target:"_blank",rel:"noopener noreferrer",whileTap:{scale:.95},children:e.tagline}):(0,i.jsx)("span",{className:"font-mono text-sm uppercase tracking-wide text-accent-light dark:text-accent-dark",children:e.tagline}),z=({project:e,index:t,total:r,progress:n})=>{let s=t/r,a=(t+1)/r,o=.25/r,d=(0,g.useTransform)(n,[Math.max(0,s-o),s+o,a-o,Math.min(1,a+o)],[+(0===t),1,1,+(t===r-1)]),c=(0,g.useTransform)(n,[Math.max(0,s-o),s+o],[60*(0!==t),0]),m=(0,g.useTransform)(d,e=>e>.5?"auto":"none");return(0,i.jsxs)(l.motion.article,{style:{opacity:d,y:c,pointerEvents:m},className:"absolute inset-0 flex items-center pt-20",children:[(0,i.jsx)("div",{"aria-hidden":!0,className:"absolute inset-x-4 md:inset-x-8 top-24 bottom-4 md:bottom-8 border border-border-light dark:border-border-dark"}),(0,i.jsx)("span",{"aria-hidden":!0,className:"absolute top-1/2 right-4 md:right-8 -translate-y-1/2 font-mono font-bold leading-none text-[24vw] opacity-[0.06] select-none pointer-events-none",children:`0${t+1}`}),(0,i.jsxs)("div",{className:"relative w-full max-w-6xl mx-auto px-10 md:px-20",children:[(0,i.jsx)("p",{className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-6",children:`03 / Featured work â 0${t+1}/0${r}`}),(0,i.jsx)("h3",{className:"text-5xl md:text-7xl uppercase tracking-wide font-bold mb-8",children:e.title}),(0,i.jsx)("p",{className:"max-w-xl text-lg mb-10",children:e.description}),(0,i.jsx)(A,{project:e})]})]})},L=()=>{let e=(0,r.useRef)(null),t=x(v(e),I.SCRUB_SPRING);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("section",{ref:e,className:"hidden motion-safe:md:block relative h-[400vh] border-b border-border-light dark:border-border-dark",children:(0,i.jsx)("div",{className:"sticky top-0 h-screen overflow-hidden",children:O.map((e,r)=>(0,i.jsx)(z,{project:e,index:r,total:O.length,progress:t},e.title))})}),(0,i.jsx)("section",{className:"motion-safe:md:hidden border-b border-border-light dark:border-border-dark px-4 py-16",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,i.jsx)("p",{className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-10",children:"03 / Featured work"}),O.map((e,t)=>(0,i.jsxs)(l.motion.article,{...I.fadeUp,className:"border border-border-light dark:border-border-dark p-8 mb-8",children:[(0,i.jsx)("span",{className:"font-mono text-sm text-accent-light dark:text-accent-dark",children:`0${t+1}`}),(0,i.jsx)("h3",{className:"text-3xl uppercase tracking-wide font-bold mt-2 mb-4",children:e.title}),(0,i.jsx)("p",{className:"mb-6",children:e.description}),(0,i.jsx)(A,{project:e})]},e.title))]})})]})};var $=e.i(69090);let D=(t=0,T.map(e=>{let i=parseInt(e.span?.match(/col-span-(\d)/)?.[1]??"2",10);t+i>6&&(t=0);let r=t+i/2<=3?-1:1;return t=(t+i)%6,r})),F=({project:e})=>(0,i.jsxs)(l.motion.div,{className:"project-card flex flex-col justify-between h-full",whileHover:{scale:1.03,transition:{duration:.2,ease:"easeInOut"}},whileTap:{scale:.97},children:[(0,i.jsx)("h3",{className:"project-title",children:e.title}),(0,i.jsx)("p",{className:"project-desc",children:e.description}),e.link?e.link.startsWith("/")?(0,i.jsx)(I.MotionLink,{href:e.link,className:"project-link self-start",whileTap:{scale:.95},children:e.tagline}):(0,i.jsx)(l.motion.a,{href:e.link,className:"project-link self-start",target:"_blank",rel:"noopener noreferrer",whileTap:{scale:.95},children:e.tagline}):(0,i.jsx)("span",{className:"font-mono text-sm uppercase tracking-wide text-accent-light dark:text-accent-dark self-start",children:e.tagline})]}),V=()=>{let e=(0,r.useRef)(null),t=(0,c.useReducedMotion)(),n=(0,a.useIsMobile)(),{scrollYProgress:s}=(0,b.useScroll)({target:e,offset:["start end","end start"]}),o=[(0,g.useTransform)(s,[0,1],[0,-40]),(0,g.useTransform)(s,[0,1],[30,-70]),(0,g.useTransform)(s,[0,1],[-20,-10])],d=!t&&!n;return(0,i.jsx)("section",{className:"overflow-x-clip border-b border-border-light dark:border-border-dark px-4 py-24",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,i.jsx)("p",{className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-4",children:"04 / The rest"}),(0,i.jsxs)("h2",{className:"section-title glitch-text","data-text":"The Archive",children:["The Archive",(0,i.jsx)("span",{className:"blink",children:"_"})]}),(0,i.jsx)("div",{ref:e,className:"grid grid-cols-1 md:grid-cols-6 gap-8 mt-12",children:T.map((e,t)=>(0,i.jsx)(l.motion.div,{style:d?{y:o[t%3]}:void 0,className:e.span??"md:col-span-2",children:(0,i.jsx)($.default,{dir:n?t%2==0?-1:1:D[t],className:"h-full",children:(0,i.jsx)(F,{project:e})})}
2,e.title))})]})})};var G=e.i(522016);let W=({posts:e})=>(0,i.jsxs)("section",{className:"overflow-x-clip border-b border-border-light dark:border-border-dark py-24",children:[(0,i.jsxs)("div",{className:"max-w-6xl mx-auto px-4",children:[(0,i.jsx)("p",{className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-4",children:"05 / Recent writing"}),(0,i.jsxs)("h2",{className:"section-title glitch-text","data-text":"Recent Writing",children:["Recent Writing",(0,i.jsx)("span",{className:"blink",children:"_"})]})]}),(0,i.jsx)("div",{className:"mt-12",children:e.map((e,t)=>(0,i.jsx)($.default,{dir:t%2==0?-1:1,amplitude:6,className:"border-t border-border-light dark:border-border-dark last:border-b",children:(0,i.jsx)(G.default,{href:`/blog/${e.slug}`,className:"group block transition-colors duration-300 hover:bg-text-light dark:hover:bg-text-dark hover:text-bg-light dark:hover:text-bg-dark",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto px-4 py-8 md:py-10 grid grid-cols-[auto_1fr] md:grid-cols-[auto_1fr_auto] gap-x-6 md:gap-x-10 gap-y-2 items-baseline",children:[(0,i.jsx)("span",{className:"font-mono text-sm text-accent-light dark:text-accent-dark",children:`00${t+1}`}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{className:"text-2xl md:text-4xl uppercase tracking-wide",children:e.title}),(0,i.jsx)("p",{className:"mt-2 text-sm text-accent-light dark:text-accent-dark line-clamp-1",children:e.excerpt})]}),(0,i.jsxs)("div",{className:"hidden md:flex flex-col items-end gap-2 font-mono text-sm",children:[(0,i.jsx)("span",{children:new Date(e.date).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}),(0,i.jsx)("span",{"aria-hidden":!0,className:"text-2xl transition-transform duration-300 group-hover:translate-x-2",children:"â"})]})]})})},e.slug))}),(0,i.jsx)("div",{className:"max-w-6xl mx-auto px-4 mt-12",children:(0,i.jsx)(I.MotionLink,{href:"/blog",className:"project-link",whileTap:{scale:.95},children:"All posts â"})})]}),B={hidden:{opacity:0,y:20},visible:{opacity:1,y:0,transition:{duration:.6,ease:"easeOut"}}},H=()=>(0,i.jsx)("section",{className:"min-h-[90vh] flex items-center justify-center px-4 py-24",children:(0,i.jsxs)(l.motion.div,{className:"flex flex-col items-center text-center",initial:"hidden",whileInView:"visible",viewport:{once:!0,amount:.3},variants:{hidden:{opacity:0,scale:.9},visible:{opacity:1,scale:1,transition:{duration:.8,ease:"easeOut",staggerChildren:.1}}},children:[(0,i.jsx)(l.motion.p,{variants:B,className:"font-mono text-sm uppercase tracking-widest text-accent-light dark:text-accent-dark mb-8",children:"06 / Contact"}),(0,i.jsxs)(l.motion.h2,{variants:B,className:"font-mono font-bold uppercase leading-none text-[13vw] md:text-[10vw]",children:["Say Hello",(0,i.jsx)("span",{className:"blink",children:"_"})]}),(0,i.jsx)(j.default,{className:"justify-center"}),(0,i.jsx)(l.motion.p,{variants:B,className:"font-mono text-sm text-accent-light dark:text-accent-dark mt-12",children:"// Building the future at H company"})]})});e.s(["default",0,function({posts:e}){let{setHasSeenIntro:t}=(0,s.useIntro)(),o=(0,a.useIsMobile)();return(0,r.useEffect)(()=>{t(!0)},[t]),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.default,{particleCount:o?30:60,connectionDistance:150,particleSize:2,speed:.6}),(0,i.jsx)(S,{}),(0,i.jsx)(E,{}),(0,i.jsx)(L,{}),(0,i.jsx)(V,{}),(0,i.jsx)(W,{posts:e}),(0,i.jsx)(H,{})]})}],999286)},605500,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"Image",{enumerable:!0,get:function(){return w}});let r=e.r(555682),n=e.r(190809),s=e.r(843476),a=n._(e.r(271645)),o=r._(e.r(174080)),l=r._(e.r(325633)),d=e.r(908927),c=e.r(987690),m=e.r(918556),u=e.r(65856),p=r._(e.r(1948)),h=e.r(818581),f={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,i,r,n,s,a){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>
2{if(e.parentElement&&e.isConnected){if("empty"!==t&&n(!0),i?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let r=!1,n=!1;i.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>r,isPropagationStopped:()=>n,persist:()=>{},preventDefault:()=>{r=!0,t.preventDefault()},stopPropagation:()=>{n=!0,t.stopPropagation()}})}r?.current&&r.current(e)}}))}function x(e){return a.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b="u"<typeof window?a.useEffect:a.useLayoutEffect,v=(0,a.forwardRef)(({src:e,srcSet:t,sizes:i,height:r,width:n,decoding:o,className:l,style:d,fetchPriority:c,placeholder:m,loading:u,unoptimized:p,fill:f,onLoadRef:v,onLoadingCompleteRef:j,setBlurComplete:w,setShowAltText:y,sizesInput:k,onLoad:N,onError:_,...S},R)=>{let C=(0,a.useRef)(!1),P=(0,a.useRef)(null);b(()=>{let{current:e}=C,{current:t}=P;e||null===t||(_&&(t.src=t.src),t.complete&&g(t,m,v,j,w,p,k),C.current=!0)},[e,m,v,j,_,p,k]);let E=(0,h.useMergedRef)(R,P);return(0,s.jsx)("img",{...S,...x(c),loading:u,width:n,height:r,decoding:o,"data-nimg":f?"fill":"1",className:l,style:d,sizes:i,srcSet:t,src:e,ref:E,onLoad:e=>{g(e.currentTarget,m,v,j,w,p,k)},onError:e=>{y(!0),"empty"!==m&&w(!0),_&&_(e)}})});function j({isAppRouter:e,imgAttributes:t}){let i={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...x(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,i),null):(0,s.jsx)(l.default,{children:(0,s.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...i},"__nimg-"+t.src+t.srcSet+t.sizes)})}let w=(0,a.forwardRef)((e,t)=>{let i=(0,a.useContext)(u.RouterContext),r=(0,a.useContext)(m.ImageConfigContext),n=(0,a.useMemo)(()=>{let e=f||r||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),i=e.deviceSizes.sort((e,t)=>e-t),n=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:i,qualities:n,localPatterns:"u"<typeof window?r?.localPatterns:e.localPatterns}},[r]),{onLoad:o,onLoadingComplete:l}=e,h=(0,a.useRef)(o);(0,a.useEffect)(()=>{h.current=o},[o]);let g=(0,a.useRef)(l);(0,a.useEffect)(()=>{g.current=l},[l]);let[x,b]=(0,a.useState)(!1),[w,y]=(0,a.useState)(!1),{props:k,meta:N}=(0,d.getImgProps)(e,{defaultLoader:p.default,imgConf:n,blurComplete:x,showAltText:w});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v,{...k,unoptimized:N.unoptimized,placeholder:N.placeholder,fill:N.fill,onLoadRef:h,onLoadingCompleteRef:g,setBlurComplete:b,setShowAltText:y,sizesInput:e.sizes,ref:t}),N.preload?(0,s.jsx)(j,{isAppRouter:!i,imgAttributes:k}):null]})});("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),t.exports=i.default)},794909,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var r={default:function(){return c},getImageProps:function(){return d}};for(var n in r)Object.defineProperty(i,n,{enumerable:!0,get:r[n]});let s=e.r(555682),a=e.r(908927),o=e.r(605500),l=s._(e.r(1948));function d(e){let{props:t}=(0,a.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,i]of Object.entries(t))void 0===i&&delete t[e];return{props:t}}let c=o.Image},657688,(e,t,i)=>{t.exports=e.r(794909)},670965,(e,t,i)=>{"use strict";function r(e,t){let i=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e,t.qualities[0]):i}Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"findClosestQuality",{enumerable:!0,get:function(){return r}})},1948,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return a}});let r=e.r(670965),n=e.r(543369);function s({config:e,src:t,width:i,quality:a}){let o=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//"))if(t.includes("/_next/static/immutable")&&!(0,n.getAssetToken)())o=void 0;else{let e=t.indexOf("?");if(-1!==e){let i=new URLSearchParams(t.slice(e+1)),r=i.get("dpl");if(r){o=r,i.delete("dpl");let n=i.toString();t=t.slice(0,e)+(n?"?"+n:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns. 3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,
3configurable:!0});let l=(0,r.findClosestQuality)(a,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${i}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}s.__next_img_default=!0;let a=s},488143,(e,t,i)=>{"use strict";function r({widthInt:e,heightInt:t,blurWidth:i,blurHeight:n,blurDataURL:s,objectFit:a}){let o=i?40*i:e,l=n?40*n:t,d=o&&l?`viewBox='0 0 ${o} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${d}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${d?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${s}'/%3E%3C/svg%3E`}Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},987690,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var r={VALID_LOADERS:function(){return s},imageConfigDefault:function(){return a}};for(var n in r)Object.defineProperty(i,n,{enumerable:!0,get:r[n]});let s=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},908927,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"getImgProps",{enumerable:!0,get:function(){return d}});let r=e.r(543369),n=e.r(488143),s=e.r(987690),a=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function d({src:e,sizes:t,unoptimized:i=!1,priority:c=!1,preload:m=!1,loading:u,className:p,quality:h,width:f,height:g,fill:x=!1,style:b,overrideSrc:v,onLoad:j,onLoadingComplete:w,placeholder:y="empty",blurDataURL:k,fetchPriority:N,decoding:_="async",layout:S,objectFit:R,objectPosition:C,lazyBoundary:P,lazyRoot:E,...I},M){var O;let T,A,z,{imgConf:L,showAltText:$,blurComplete:D,defaultLoader:F}=M,V=L||s.imageConfigDefault;if("allSizes"in V)T=V;else{let e=[...V.deviceSizes,...V.imageSizes].sort((e,t)=>e-t),t=V.deviceSizes.sort((e,t)=>e-t),i=V.qualities?.sort((e,t)=>e-t);T={...V,allSizes:e,deviceSizes:t,qualities:i}}if(void 0===F)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let G=I.loader||F;delete I.loader,delete I.srcSet;let W="__next_img_default"in G;if(W){if("custom"===T.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop. 4Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=G;G=t=>{let{config:i,...r}=t;return e(r)}}if(S){"fill"===S&&(x=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[S];e&&(b={...b,...e});let i={responsive:"100vw",fill:"100vw"}[S];i&&!t&&(t=i)}let B="",H=l(f),q=l(g);if((O=e)&&"object"==typeof O&&(o(O)||void 0!==O.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}
4`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(A=t.blurWidth,z=t.blurHeight,k=k||t.blurDataURL,B=t.src,!x)if(H||q){if(H&&!q){let e=H/t.width;q=Math.round(t.height*e)}else if(!H&&q){let e=q/t.height;H=Math.round(t.width*e)}}else H=t.width,q=t.height}let U=!c&&!m&&("lazy"===u||void 0===u);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(i=!0,U=!1),T.unoptimized&&(i=!0),W&&!T.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(i=!0);let X=l(h),J=Object.assign(x?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:R,objectPosition:C}:{},$?{}:{color:"transparent"},b),K=D||"empty"===y?null:"blur"===y?`url("data:image/svg+xml;charset=utf-8,${(0,n.getImageBlurSvg)({widthInt:H,heightInt:q,blurWidth:A,blurHeight:z,blurDataURL:k||"",objectFit:J.objectFit})}")`:`url("${y}")`,Y=a.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Q=K?{backgroundSize:Y,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:K}:{},Z=function({config:e,src:t,unoptimized:i,width:n,quality:s,sizes:a,loader:o}){if(i){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,r.getDeploymentId)();if(t.includes("/_next/static/immutable")&&!(0,r.getAssetToken)())e=void 0;else if(e){let i=t.indexOf("?");if(-1!==i){let r=new URLSearchParams(t.slice(i+1));r.get("dpl")||(r.append("dpl",e),t=t.slice(0,i)+"?"+r.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:d}=function({deviceSizes:e,allSizes:t},i,r){if(r){let i=/(^|\s)(1?\d?\d)vw/g,n=[];for(let e;e=i.exec(r);)n.push(parseInt(e[2]));if(n.length){let i=.01*Math.min(...n);return{widths:t.filter(t=>t>=e[0]*i),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof i?{widths:e,kind:"w"}:{widths:[...new Set([i,2*i].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,n,a),c=l.length-1;return{sizes:a||"w"!==d?a:"100vw",srcSet:l.map((i,r)=>`${o({config:e,src:t,quality:s,width:i})} ${"w"===d?i:r+1}${d}`).join(", "),src:o({config:e,src:t,quality:s,width:l[c]})}}({config:T,src:e,unoptimized:i,width:H,quality:X,sizes:t,loader:G}),ee=U?"lazy":u;return{props:{...I,loading:ee,fetchPriority:N,width:H,height:q,decoding:_,className:p,style:{...J,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:v||Z.src},meta:{unoptimized:i,preload:m||c,placeholder:y,fill:x}}}},918556,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"ImageConfigContext",{enumerable:!0,get:function(){return s}});let r=e.r(555682)._(e.r(271645)),n=e.r(987690),s=r.default.createContext(n.imageConfigDefault)}]); 5 6//# debugId=82c9ede4-6ffa-183b-6791-df01854ef8b2
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.