-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblog.html
More file actions
1 lines (1 loc) · 57.7 KB
/
Copy pathblog.html
File metadata and controls
1 lines (1 loc) · 57.7 KB
1
<!DOCTYPE html><!--duUhRTTzjSnf0hJNorSr6--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/5c1dd49bebcb766c.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/e47f292ce1b5137c.js"/><script src="/_next/static/chunks/75af5e8c7bf68d64.js" async=""></script><script src="/_next/static/chunks/6639295bdfff2a4c.js" async=""></script><script src="/_next/static/chunks/e5d9ebb4943b2fe8.js" async=""></script><script src="/_next/static/chunks/turbopack-2d96150a00ce0001.js" async=""></script><script src="/_next/static/chunks/93cd3038e8649c57.js" async=""></script><script src="/_next/static/chunks/bb5c287803b23072.js" async=""></script><script src="/_next/static/chunks/3a6d4a4ac03d02e9.js" async=""></script><script src="/_next/static/chunks/bc272f4ea0e5379d.js" async=""></script><script src="/_next/static/chunks/46196a5055940497.js" async=""></script><script src="/_next/static/chunks/28dc4b7ae21dc85e.js" async=""></script><script src="/_next/static/chunks/682f4f8a2de8f8a6.js" async=""></script><meta name="next-size-adjust" content=""/><title>Blog | Hamid Keyhani Dehnavi</title><meta name="description" content="Thoughts on software development, life, and more."/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Blog"/><meta property="og:description" content="Thoughts on software development, life, and more."/><meta property="og:image:alt" content="Blog"/><meta property="og:image:type" content="image/png"/><meta property="og:image" content="https://github.com/hamidkeyhani/blog/opengraph-image?3d9bdcafe47da60f"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Blog"/><meta name="twitter:description" content="Thoughts on software development, life, and more."/><meta name="twitter:image:alt" content="Blog"/><meta name="twitter:image:type" content="image/png"/><meta name="twitter:image" content="https://github.com/hamidkeyhani/blog/opengraph-image?3d9bdcafe47da60f"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="min-h-screen bg-background font-sans antialiased relative geist_a4f9adef-module__rTGU2W__variable geist_mono_f41124e8-module__uIW-CG__variable"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","light",null,["light","dark"],null,true,true)</script><div class="absolute inset-0 top-0 left-0 right-0 h-[100px] overflow-hidden z-0"><div class="h-full w-full" style="mask-image:linear-gradient(to bottom, black, transparent);-webkit-mask-image:linear-gradient(to bottom, black, transparent)"><canvas class="pointer-events-none" style="width:0;height:0"></canvas></div></div><div class="relative z-10 max-w-2xl mx-auto py-12 pb-24 sm:py-24 px-6"><section id="blog"><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><h1 class="text-2xl font-semibold tracking-tight mb-2">Blog <span class="ml-1 bg-card border border-border rounded-md px-2 py-1 text-muted-foreground text-sm">7<!-- --> posts</span></h1><p class="text-sm text-muted-foreground mb-8">My thoughts on software development, life, and more.</p></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><div class="flex flex-col gap-5"><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/testing-react-apps"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">01<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">Testing React Applications: A Practical Guide<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-12-14</p></div></a></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/api-design-principles"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">02<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">REST API Design Principles That Stand the Test of Time<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-12-12</p></div></a></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/git-workflow-guide"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">03<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">Git Workflow Guide: From Chaos to Clarity<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-12-10</p></div></a></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/typescript-best-practices"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">04<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">TypeScript Best Practices for Clean, Maintainable Code<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-12-08</p></div></a></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/nextjs-performance-tips"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">05<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">10 Next.js Performance Tips for Production Apps<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-12-05</p></div></a></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/building-design-systems"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">06<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">Building Scalable Design Systems with React and Tailwind<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-12-01</p></div></a></div><div style="opacity:0;filter:blur(6px);transform:translateY(-6px)"><a class="flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2" href="/blog/remote-work-productivity"><span class="text-xs font-mono tabular-nums font-medium mt-[5px]">07<!-- -->.</span><div class="flex flex-col gap-y-2 flex-1"><p class="tracking-tight text-lg font-medium"><span class="group-hover:text-foreground transition-colors">Mastering Remote Work: Productivity Tips from a Digital Nomad<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg></span></p><p class="text-xs text-muted-foreground">2024-11-25</p></div></a></div></div></div></section><!--$--><!--/$--></div><div class="pointer-events-none fixed inset-x-0 bottom-4 z-30"><div class="items-end justify-center overflow-visible rounded-full z-50 pointer-events-auto relative h-14 p-2 w-fit mx-auto flex gap-2 border bg-card/90 backdrop-blur-3xl shadow-[0_0_10px_3px] shadow-primary/5"><a href="/" data-state="closed"><div class="relative flex aspect-square items-center justify-center shrink-0 rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors" style="width:40px;height:40px"><div class="flex items-center justify-center" style="width:20px;height:20px"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house size-full rounded-sm overflow-hidden object-contain" aria-hidden="true"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></div></div></a><div data-orientation="vertical" role="none" class="shrink-0 h-2/3 m-auto w-px bg-border"></div><a href="https://github.com/hamidkeyhani" target="_blank" rel="noopener noreferrer" data-state="closed"><div class="relative flex aspect-square items-center justify-center shrink-0 rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors" style="width:40px;height:40px"><div class="flex items-center justify-center" style="width:20px;height:20px"><svg viewBox="0 0 438.549 438.549" xmlns="http://www.w3.org/2000/svg" role="img" class="size-full rounded-sm overflow-hidden object-contain"><title>GitHub</title><path fill="currentColor" d="M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"></path></svg></div></div></a><a href="https://www.linkedin.com/in/hamidkeyhani/" target="_blank" rel="noopener noreferrer" data-state="closed"><div class="relative flex aspect-square items-center justify-center shrink-0 rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors" style="width:40px;height:40px"><div class="flex items-center justify-center" style="width:20px;height:20px"><svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="size-full rounded-sm overflow-hidden object-contain"><title>LinkedIn</title><path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></div></div></a><a href="https://stackoverflow.com/users/8399393/hamid-keyhani" target="_blank" rel="noopener noreferrer" data-state="closed"><div class="relative flex aspect-square items-center justify-center shrink-0 rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors" style="width:40px;height:40px"><div class="flex items-center justify-center" style="width:20px;height:20px"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-full rounded-sm overflow-hidden object-contain"><title>Stack Overflow</title><path d="M18.986 21.867v-5.673h2.156v7.83H1.313v-7.83h2.156v5.673h15.517zm-12.72-4.103l9.043.905.198-2.122-9.043-.905-.198 2.122zm.765-4.482l8.288 2.302.585-2.05-8.288-2.303-.585 2.051zm1.758-4.238l7.078 4.31.144 2.127.973-1.604-7.079-4.31-.973 1.604-.143-2.126zm3.01-3.693l5.352 6.326 1.635-1.385-5.353-6.326-1.634 1.385zm4.498-2.733l3.203 7.643 1.986-.83-3.202-7.643-1.987.83z"></path></svg></div></div></a><a href="mailto:hamidkeyhani977@gmail.com" data-state="closed"><div class="relative flex aspect-square items-center justify-center shrink-0 rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors" style="width:40px;height:40px"><div class="flex items-center justify-center" style="width:20px;height:20px"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail size-full rounded-sm overflow-hidden object-contain" aria-hidden="true"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg></div></div></a><div data-orientation="vertical" role="none" class="shrink-0 h-2/3 m-auto w-px bg-border"></div><div class="relative flex aspect-square items-center justify-center shrink-0 rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors" style="width:40px;height:40px"><div class="flex items-center justify-center" style="width:20px;height:20px"><button class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 text-primary underline-offset-4 hover:underline rounded-full size-full cursor-pointer" type="button"><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-full w-full"><path d="M7.5 0C7.77614 0 8 0.223858 8 0.5V2.5C8 2.77614 7.77614 3 7.5 3C7.22386 3 7 2.77614 7 2.5V0.5C7 0.223858 7.22386 0 7.5 0ZM2.1967 2.1967C2.39196 2.00144 2.70854 2.00144 2.90381 2.1967L4.31802 3.61091C4.51328 3.80617 4.51328 4.12276 4.31802 4.31802C4.12276 4.51328 3.80617 4.51328 3.61091 4.31802L2.1967 2.90381C2.00144 2.70854 2.00144 2.39196 2.1967 2.1967ZM0.5 7C0.223858 7 0 7.22386 0 7.5C0 7.77614 0.223858 8 0.5 8H2.5C2.77614 8 3 7.77614 3 7.5C3 7.22386 2.77614 7 2.5 7H0.5ZM2.1967 12.8033C2.00144 12.608 2.00144 12.2915 2.1967 12.0962L3.61091 10.682C3.80617 10.4867 4.12276 10.4867 4.31802 10.682C4.51328 10.8772 4.51328 11.1938 4.31802 11.3891L2.90381 12.8033C2.70854 12.9986 2.39196 12.9986 2.1967 12.8033ZM12.5 7C12.2239 7 12 7.22386 12 7.5C12 7.77614 12.2239 8 12.5 8H14.5C14.7761 8 15 7.77614 15 7.5C15 7.22386 14.7761 7 14.5 7H12.5ZM10.682 4.31802C10.4867 4.12276 10.4867 3.80617 10.682 3.61091L12.0962 2.1967C12.2915 2.00144 12.608 2.00144 12.8033 2.1967C12.9986 2.39196 12.9986 2.70854 12.8033 2.90381L11.3891 4.31802C11.1938 4.51328 10.8772 4.51328 10.682 4.31802ZM8 12.5C8 12.2239 7.77614 12 7.5 12C7.22386 12 7 12.2239 7 12.5V14.5C7 14.7761 7.22386 15 7.5 15C7.77614 15 8 14.7761 8 14.5V12.5ZM10.682 10.682C10.8772 10.4867 11.1938 10.4867 11.3891 10.682L12.8033 12.0962C12.9986 12.2915 12.9986 12.608 12.8033 12.8033C12.608 12.9986 12.2915 12.9986 12.0962 12.8033L10.682 11.3891C10.4867 11.1938 10.4867 10.8772 10.682 10.682ZM5.5 7.5C5.5 6.39543 6.39543 5.5 7.5 5.5C8.60457 5.5 9.5 6.39543 9.5 7.5C9.5 8.60457 8.60457 9.5 7.5 9.5C6.39543 9.5 5.5 8.60457 5.5 7.5ZM7.5 4.5C5.84315 4.5 4.5 5.84315 4.5 7.5C4.5 9.15685 5.84315 10.5 7.5 10.5C9.15685 10.5 10.5 9.15685 10.5 7.5C10.5 5.84315 9.15685 4.5 7.5 4.5Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg><svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" class="hidden h-full w-full"><path d="M2.89998 0.499976C2.89998 0.279062 2.72089 0.0999756 2.49998 0.0999756C2.27906 0.0999756 2.09998 0.279062 2.09998 0.499976V1.09998H1.49998C1.27906 1.09998 1.09998 1.27906 1.09998 1.49998C1.09998 1.72089 1.27906 1.89998 1.49998 1.89998H2.09998V2.49998C2.09998 2.72089 2.27906 2.89998 2.49998 2.89998C2.72089 2.89998 2.89998 2.72089 2.89998 2.49998V1.89998H3.49998C3.72089 1.89998 3.89998 1.72089 3.89998 1.49998C3.89998 1.27906 3.72089 1.09998 3.49998 1.09998H2.89998V0.499976ZM5.89998 3.49998C5.89998 3.27906 5.72089 3.09998 5.49998 3.09998C5.27906 3.09998 5.09998 3.27906 5.09998 3.49998V4.09998H4.49998C4.27906 4.09998 4.09998 4.27906 4.09998 4.49998C4.09998 4.72089 4.27906 4.89998 4.49998 4.89998H5.09998V5.49998C5.09998 5.72089 5.27906 5.89998 5.49998 5.89998C5.72089 5.89998 5.89998 5.72089 5.89998 5.49998V4.89998H6.49998C6.72089 4.89998 6.89998 4.72089 6.89998 4.49998C6.89998 4.27906 6.72089 4.09998 6.49998 4.09998H5.89998V3.49998ZM1.89998 6.49998C1.89998 6.27906 1.72089 6.09998 1.49998 6.09998C1.27906 6.09998 1.09998 6.27906 1.09998 6.49998V7.09998H0.499976C0.279062 7.09998 0.0999756 7.27906 0.0999756 7.49998C0.0999756 7.72089 0.279062 7.89998 0.499976 7.89998H1.09998V8.49998C1.09998 8.72089 1.27906 8.89997 1.49998 8.89997C1.72089 8.89997 1.89998 8.72089 1.89998 8.49998V7.89998H2.49998C2.72089 7.89998 2.89998 7.72089 2.89998 7.49998C2.89998 7.27906 2.72089 7.09998 2.49998 7.09998H1.89998V6.49998ZM8.54406 0.98184L8.24618 0.941586C8.03275 0.917676 7.90692 1.1655 8.02936 1.34194C8.17013 1.54479 8.29981 1.75592 8.41754 1.97445C8.91878 2.90485 9.20322 3.96932 9.20322 5.10022C9.20322 8.37201 6.82247 11.0878 3.69887 11.6097C3.45736 11.65 3.20988 11.6772 2.96008 11.6906C2.74563 11.702 2.62729 11.9535 2.77721 12.1072C2.84551 12.1773 2.91535 12.2458 2.98667 12.3128L3.05883 12.3795L3.31883 12.6045L3.50684 12.7532L3.62796 12.8433L3.81491 12.9742L3.99079 13.089C4.11175 13.1651 4.23536 13.2375 4.36157 13.3059L4.62496 13.4412L4.88553 13.5607L5.18837 13.6828L5.43169 13.7686C5.56564 13.8128 5.70149 13.8529 5.83857 13.8885C5.94262 13.9155 6.04767 13.9401 6.15405 13.9622C6.27993 13.9883 6.40713 14.0109 6.53544 14.0298L6.85241 14.0685L7.11934 14.0892C7.24637 14.0965 7.37436 14.1002 7.50322 14.1002C11.1483 14.1002 14.1032 11.1453 14.1032 7.50023C14.1032 7.25044 14.0893 7.00389 14.0623 6.76131L14.0255 6.48407C13.991 6.26083 13.9453 6.04129 13.8891 5.82642C13.8213 5.56709 13.7382 5.31398 13.6409 5.06881L13.5279 4.80132L13.4507 4.63542L13.3766 4.48666C13.2178 4.17773 13.0353 3.88295 12.8312 3.60423L12.6782 3.40352L12.4793 3.16432L12.3157 2.98361L12.1961 2.85951L12.0355 2.70246L11.8134 2.50184L11.4925 2.24191L11.2483 2.06498L10.9562 1.87446L10.6346 1.68894L10.3073 1.52378L10.1938 1.47176L9.95488 1.3706L9.67791 1.2669L9.42566 1.1846L9.10075 1.09489L8.83599 1.03486L8.54406 0.98184ZM10.4032 5.30023C10.4032 4.27588 10.2002 3.29829 9.83244 2.40604C11.7623 3.28995 13.1032 5.23862 13.1032 7.50023C13.1032 10.593 10.596 13.1002 7.50322 13.1002C6.63646 13.1002 5.81597 12.9036 5.08355 12.5522C6.5419 12.0941 7.81081 11.2082 8.74322 10.0416C8.87963 10.2284 9.10028 10.3497 9.34928 10.3497C9.76349 10.3497 10.0993 10.0139 10.0993 9.59971C10.0993 9.24256 9.84965 8.94373 9.51535 8.86816C9.57741 8.75165 9.63653 8.63334 9.6926 8.51332C9.88358 8.63163 10.1088 8.69993 10.35 8.69993C11.0403 8.69993 11.6 8.14028 11.6 7.44993C11.6 6.75976 11.0406 6.20024 10.3505 6.19993C10.3853 5.90487 10.4032 5.60464 10.4032 5.30023Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div></div></div></div><script src="/_next/static/chunks/e47f292ce1b5137c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[52812,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"ThemeProvider\"]\n3:I[30467,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"TooltipProvider\"]\n4:I[44263,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"FlickeringGrid\"]\n5:I[6093,[\"/_next/static/chunks/46196a5055940497.js\",\"/_next/static/chunks/28dc4b7ae21dc85e.js\"],\"default\"]\n6:I[78653,[\"/_next/static/chunks/46196a5055940497.js\",\"/_next/static/chunks/28dc4b7ae21dc85e.js\"],\"default\"]\n7:I[86622,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\",\"/_next/static/chunks/682f4f8a2de8f8a6.js\"],\"\"]\n8:I[44365,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"Dock\"]\n9:I[30467,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"Tooltip\"]\na:I[30467,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"TooltipTrigger\"]\nb:I[44365,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"DockIcon\"]\n18:I[88111,[],\"default\"]\n:HL[\"/_next/static/chunks/5c1dd49bebcb766c.css\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"duUhRTTzjSnf0hJNorSr6\",\"c\":[\"\",\"blog\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"blog\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/5c1dd49bebcb766c.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/93cd3038e8649c57.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/bb5c287803b23072.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/bc272f4ea0e5379d.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background font-sans antialiased relative geist_a4f9adef-module__rTGU2W__variable geist_mono_f41124e8-module__uIW-CG__variable\",\"children\":[\"$\",\"$L2\",null,{\"attribute\":\"class\",\"defaultTheme\":\"light\",\"children\":[\"$\",\"$L3\",null,{\"delayDuration\":0,\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 top-0 left-0 right-0 h-[100px] overflow-hidden z-0\",\"children\":[\"$\",\"$L4\",null,{\"className\":\"h-full w-full\",\"squareSize\":2,\"gridGap\":2,\"style\":{\"maskImage\":\"linear-gradient(to bottom, black, transparent)\",\"WebkitMaskImage\":\"linear-gradient(to bottom, black, transparent)\"}}]}],[\"$\",\"div\",null,{\"className\":\"relative z-10 max-w-2xl mx-auto py-12 pb-24 sm:py-24 px-6\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"min-h-[calc(100vh-12rem)] flex flex-col\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex-1 flex items-center justify-center p-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center text-center max-w-md relative\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[200px] font-semibold font-mono bg-linear-to-b from-primary/30 to-secondary/10 text-transparent bg-clip-text absolute -top-40 left-1/2 -translate-x-1/2 mask-[linear-gradient(to_bottom,black,black_20%,transparent_80%)] tracking-tighter uppercase [-webkit-text-stroke:3px_hsl(var(--primary)/0.6)]\",\"children\":\"404\"}],[\"$\",\"h2\",null,{\"className\":\"text-4xl tracking-tight font-semibold text-foreground mb-2\",\"children\":\"Page Not Found\"}],[\"$\",\"p\",null,{\"className\":\"text-muted-foreground mb-8 text-balance tracking-tight font-medium\",\"children\":\"The page you're looking for doesn't exist or may have been moved.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col sm:flex-row gap-3\",\"children\":[\"$\",\"$L7\",null,{\"href\":\"/\",\"children\":[\"$\",\"button\",null,{\"className\":\"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground h-9 px-4 py-2 gap-2 cursor-pointer\",\"ref\":\"$undefined\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-house h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"5wwlr5\",{\"d\":\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\"}],[\"$\",\"path\",\"r6nss1\",{\"d\":\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}],\"$undefined\"]}],\"Go to Home\"]}]}]}]]}]}]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"div\",null,{\"className\":\"pointer-events-none fixed inset-x-0 bottom-4 z-30\",\"children\":[\"$\",\"$L8\",null,{\"className\":\"z-50 pointer-events-auto relative h-14 p-2 w-fit mx-auto flex gap-2 border bg-card/90 backdrop-blur-3xl shadow-[0_0_10px_3px] shadow-primary/5\",\"children\":[[[\"$\",\"$L9\",\"/\",{\"children\":[[\"$\",\"$La\",null,{\"asChild\":true,\"children\":[\"$\",\"a\",null,{\"href\":\"/\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"children\":[\"$\",\"$Lb\",null,{\"className\":\"rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors\",\"children\":\"$Lc\"}]}]}],\"$Ld\"]}]],\"$Le\",[\"$Lf\",\"$L10\",\"$L11\",\"$L12\"],\"$L13\",\"$L14\"]}]}]]}]}]}]}]]}],{\"children\":[\"$L15\",{\"children\":[\"$L16\",{},null,false,false]},null,false,false]},null,false,false],\"$L17\",false]],\"m\":\"$undefined\",\"G\":[\"$18\",[]],\"S\":true}\n"])</script><script>self.__next_f.push([1,"19:I[30467,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"TooltipContent\"]\n1a:I[30467,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"TooltipArrow\"]\n1b:I[63769,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"Separator\"]\n1d:I[72930,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\"],\"ModeToggle\"]\n1f:I[13045,[\"/_next/static/chunks/46196a5055940497.js\",\"/_next/static/chunks/28dc4b7ae21dc85e.js\"],\"OutletBoundary\"]\n20:\"$Sreact.suspense\"\n22:I[13045,[\"/_next/static/chunks/46196a5055940497.js\",\"/_next/static/chunks/28dc4b7ae21dc85e.js\"],\"ViewportBoundary\"]\n24:I[13045,[\"/_next/static/chunks/46196a5055940497.js\",\"/_next/static/chunks/28dc4b7ae21dc85e.js\"],\"MetadataBoundary\"]\nc:[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-house size-full rounded-sm overflow-hidden object-contain\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"5wwlr5\",{\"d\":\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\"}],[\"$\",\"path\",\"r6nss1\",{\"d\":\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}],\"$undefined\"]}]\nd:[\"$\",\"$L19\",null,{\"side\":\"top\",\"sideOffset\":8,\"className\":\"rounded-xl bg-primary text-primary-foreground px-4 py-2 text-sm shadow-[0_10px_40px_-10px_rgba(0,0,0,0.3)] dark:shadow-[0_10px_40px_-10px_rgba(0,0,0,0.5)]\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Home\"}],[\"$\",\"$L1a\",null,{\"className\":\"fill-primary\"}]]}]\ne:[\"$\",\"$L1b\",null,{\"orientation\":\"vertical\",\"className\":\"h-2/3 m-auto w-px bg-border\"}]\n1c:T843,"])</script><script>self.__next_f.push([1,"M409.132 114.573c-19.608-33.596-46.205-60.194-79.798-79.8-33.598-19.607-70.277-29.408-110.063-29.408-39.781 0-76.472 9.804-110.063 29.408-33.596 19.605-60.192 46.204-79.8 79.8C9.803 148.168 0 184.854 0 224.63c0 47.78 13.94 90.745 41.827 128.906 27.884 38.164 63.906 64.572 108.063 79.227 5.14.954 8.945.283 11.419-1.996 2.475-2.282 3.711-5.14 3.711-8.562 0-.571-.049-5.708-.144-15.417a2549.81 2549.81 0 01-.144-25.406l-6.567 1.136c-4.187.767-9.469 1.092-15.846 1-6.374-.089-12.991-.757-19.842-1.999-6.854-1.231-13.229-4.086-19.13-8.559-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-.951-2.568-2.098-3.711-3.429-1.142-1.331-1.997-2.663-2.568-3.997-.572-1.335-.098-2.43 1.427-3.289 1.525-.859 4.281-1.276 8.28-1.276l5.708.853c3.807.763 8.516 3.042 14.133 6.851 5.614 3.806 10.229 8.754 13.846 14.842 4.38 7.806 9.657 13.754 15.846 17.847 6.184 4.093 12.419 6.136 18.699 6.136 6.28 0 11.704-.476 16.274-1.423 4.565-.952 8.848-2.383 12.847-4.285 1.713-12.758 6.377-22.559 13.988-29.41-10.848-1.14-20.601-2.857-29.264-5.14-8.658-2.286-17.605-5.996-26.835-11.14-9.235-5.137-16.896-11.516-22.985-19.126-6.09-7.614-11.088-17.61-14.987-29.979-3.901-12.374-5.852-26.648-5.852-42.826 0-23.035 7.52-42.637 22.557-58.817-7.044-17.318-6.379-36.732 1.997-58.24 5.52-1.715 13.706-.428 24.554 3.853 10.85 4.283 18.794 7.952 23.84 10.994 5.046 3.041 9.089 5.618 12.135 7.708 17.705-4.947 35.976-7.421 54.818-7.421s37.117 2.474 54.823 7.421l10.849-6.849c7.419-4.57 16.18-8.758 26.262-12.565 10.088-3.805 17.802-4.853 23.134-3.138 8.562 21.509 9.325 40.922 2.279 58.24 15.036 16.18 22.559 35.787 22.559 58.817 0 16.178-1.958 30.497-5.853 42.966-3.9 12.471-8.941 22.457-15.125 29.979-6.191 7.521-13.901 13.85-23.131 18.986-9.232 5.14-18.182 8.85-26.84 11.136-8.662 2.286-18.415 4.004-29.263 5.146 9.894 8.562 14.842 22.077 14.842 40.539v60.237c0 3.422 1.19 6.279 3.572 8.562 2.379 2.279 6.136 2.95 11.276 1.995 44.163-14.653 80.185-41.062 108.068-79.226 27.88-38.161 41.825-81.126 41.825-128.906-.01-39.771-9.818-76.454-29.414-110.049z"])</script><script>self.__next_f.push([1,"f:[\"$\",\"$L9\",\"social-GitHub-0\",{\"children\":[[\"$\",\"$La\",null,{\"asChild\":true,\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/hamidkeyhani\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[\"$\",\"$Lb\",null,{\"className\":\"rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 438.549 438.549\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"role\":\"img\",\"className\":\"size-full rounded-sm overflow-hidden object-contain\",\"children\":[[\"$\",\"title\",null,{\"children\":\"GitHub\"}],[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"$1c\"}]]}]}]}]}],[\"$\",\"$L19\",null,{\"side\":\"top\",\"sideOffset\":8,\"className\":\"rounded-xl bg-primary text-primary-foreground px-4 py-2 text-sm shadow-[0_10px_40px_-10px_rgba(0,0,0,0.3)] dark:shadow-[0_10px_40px_-10px_rgba(0,0,0,0.5)]\",\"children\":[[\"$\",\"p\",null,{\"children\":\"GitHub\"}],[\"$\",\"$L1a\",null,{\"className\":\"fill-primary\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"10:[\"$\",\"$L9\",\"social-LinkedIn-1\",{\"children\":[[\"$\",\"$La\",null,{\"asChild\":true,\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/in/hamidkeyhani/\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[\"$\",\"$Lb\",null,{\"className\":\"rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-full rounded-sm overflow-hidden object-contain\",\"children\":[[\"$\",\"title\",null,{\"children\":\"LinkedIn\"}],[\"$\",\"path\",null,{\"fill\":\"currentColor\",\"d\":\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"}]]}]}]}]}],[\"$\",\"$L19\",null,{\"side\":\"top\",\"sideOffset\":8,\"className\":\"rounded-xl bg-primary text-primary-foreground px-4 py-2 text-sm shadow-[0_10px_40px_-10px_rgba(0,0,0,0.3)] dark:shadow-[0_10px_40px_-10px_rgba(0,0,0,0.5)]\",\"children\":[[\"$\",\"p\",null,{\"children\":\"LinkedIn\"}],[\"$\",\"$L1a\",null,{\"className\":\"fill-primary\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"11:[\"$\",\"$L9\",\"social-StackOverflow-2\",{\"children\":[[\"$\",\"$La\",null,{\"asChild\":true,\"children\":[\"$\",\"a\",null,{\"href\":\"https://stackoverflow.com/users/8399393/hamid-keyhani\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[\"$\",\"$Lb\",null,{\"className\":\"rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"className\":\"size-full rounded-sm overflow-hidden object-contain\",\"children\":[[\"$\",\"title\",null,{\"children\":\"Stack Overflow\"}],[\"$\",\"path\",null,{\"d\":\"M18.986 21.867v-5.673h2.156v7.83H1.313v-7.83h2.156v5.673h15.517zm-12.72-4.103l9.043.905.198-2.122-9.043-.905-.198 2.122zm.765-4.482l8.288 2.302.585-2.05-8.288-2.303-.585 2.051zm1.758-4.238l7.078 4.31.144 2.127.973-1.604-7.079-4.31-.973 1.604-.143-2.126zm3.01-3.693l5.352 6.326 1.635-1.385-5.353-6.326-1.634 1.385zm4.498-2.733l3.203 7.643 1.986-.83-3.202-7.643-1.987.83z\"}]]}]}]}]}],[\"$\",\"$L19\",null,{\"side\":\"top\",\"sideOffset\":8,\"className\":\"rounded-xl bg-primary text-primary-foreground px-4 py-2 text-sm shadow-[0_10px_40px_-10px_rgba(0,0,0,0.3)] dark:shadow-[0_10px_40px_-10px_rgba(0,0,0,0.5)]\",\"children\":[[\"$\",\"p\",null,{\"children\":\"StackOverflow\"}],[\"$\",\"$L1a\",null,{\"className\":\"fill-primary\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"12:[\"$\",\"$L9\",\"social-email-3\",{\"children\":[[\"$\",\"$La\",null,{\"asChild\":true,\"children\":[\"$\",\"a\",null,{\"href\":\"mailto:hamidkeyhani977@gmail.com\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"children\":[\"$\",\"$Lb\",null,{\"className\":\"rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-mail size-full rounded-sm overflow-hidden object-contain\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"132q7q\",{\"d\":\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"}],[\"$\",\"rect\",\"izxlao\",{\"x\":\"2\",\"y\":\"4\",\"width\":\"20\",\"height\":\"16\",\"rx\":\"2\"}],\"$undefined\"]}]}]}]}],[\"$\",\"$L19\",null,{\"side\":\"top\",\"sideOffset\":8,\"className\":\"rounded-xl bg-primary text-primary-foreground px-4 py-2 text-sm shadow-[0_10px_40px_-10px_rgba(0,0,0,0.3)] dark:shadow-[0_10px_40px_-10px_rgba(0,0,0,0.5)]\",\"children\":[[\"$\",\"p\",null,{\"children\":\"email\"}],[\"$\",\"$L1a\",null,{\"className\":\"fill-primary\"}]]}]]}]\n13:[\"$\",\"$L1b\",null,{\"orientation\":\"vertical\",\"className\":\"h-2/3 m-auto w-px bg-border\"}]\n14:[\"$\",\"$L9\",null,{\"children\":[[\"$\",\"$La\",null,{\"asChild\":true,\"children\":[\"$\",\"$Lb\",null,{\"className\":\"rounded-3xl cursor-pointer size-full bg-background p-0 text-muted-foreground hover:text-foreground hover:bg-muted backdrop-blur-3xl border border-border transition-colors\",\"children\":[\"$\",\"$L1d\",null,{\"className\":\"size-full cursor-pointer\"}]}]}],[\"$\",\"$L19\",null,{\"side\":\"top\",\"sideOffset\":8,\"className\":\"rounded-xl bg-primary text-primary-foreground px-4 py-2 text-sm shadow-[0_10px_40px_-10px_rgba(0,0,0,0.3)] dark:shadow-[0_10px_40px_-10px_rgba(0,0,0,0.5)]\",\"children\":[[\"$\",\"p\",null,{\"children\":\"Theme\"}],[\"$\",\"$L1a\",null,{\"className\":\"fill-primary\"}]]}]]}]\n15:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n16:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1e\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/682f4f8a2de8f8a6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1f\",null,{\"children\":[\"$\",\"$20\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@21\"}]}]]}]\n17:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L22\",null,{\"children\":\"$L23\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L24\",null,{\"children\":[\"$\",\"$20\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L25\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script><script>self.__next_f.push([1,"26:I[52823,[\"/_next/static/chunks/93cd3038e8649c57.js\",\"/_next/static/chunks/bb5c287803b23072.js\",\"/_next/static/chunks/3a6d4a4ac03d02e9.js\",\"/_next/static/chunks/bc272f4ea0e5379d.js\",\"/_next/static/chunks/682f4f8a2de8f8a6.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"1e:[\"$\",\"section\",null,{\"id\":\"blog\",\"children\":[[\"$\",\"$L26\",null,{\"delay\":0.04,\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-2xl font-semibold tracking-tight mb-2\",\"children\":[\"Blog \",[\"$\",\"span\",null,{\"className\":\"ml-1 bg-card border border-border rounded-md px-2 py-1 text-muted-foreground text-sm\",\"children\":[7,\" posts\"]}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground mb-8\",\"children\":\"My thoughts on software development, life, and more.\"}]]}],[\"$\",\"$L26\",null,{\"delay\":0.08,\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-5\",\"children\":[[\"$\",\"$L26\",\"testing-react-apps\",{\"delay\":0.12,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/testing-react-apps\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"01\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"Testing React Applications: A Practical Guide\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-12-14\"}]]}]]}]}],[\"$\",\"$L26\",\"api-design-principles\",{\"delay\":0.16999999999999998,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/api-design-principles\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"02\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"REST API Design Principles That Stand the Test of Time\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-12-12\"}]]}]]}]}],[\"$\",\"$L26\",\"git-workflow-guide\",{\"delay\":0.22,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/git-workflow-guide\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"03\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"Git Workflow Guide: From Chaos to Clarity\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[\"$L27\",\"$undefined\"]}]]}]}],\"$L28\"]}]]}]}],\"$L29\",\"$L2a\",\"$L2b\",\"$L2c\"]}]}]]}]\n"])</script><script>self.__next_f.push([1,"27:[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}]\n28:[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-12-10\"}]\n29:[\"$\",\"$L26\",\"typescript-best-practices\",{\"delay\":0.27,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/typescript-best-practices\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"04\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"TypeScript Best Practices for Clean, Maintainable Code\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-12-08\"}]]}]]}]}]\n2a:[\"$\",\"$L26\",\"nextjs-performance-tips\",{\"delay\":0.32,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/nextjs-performance-tips\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"05\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"10 Next.js Performance Tips for Production Apps\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-12-05\"}]]}]]}]}]\n2b:[\"$\",\"$L26\",\"building-design-systems\",{\"delay\":0.37,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/building-design-systems\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"06\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"Building Scalable Design Systems with React and Tailwind\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-12-01\"}]]}]]}]}]\n2c:[\"$\",\"$L26\",\"remote-work-productivity\""])</script><script>self.__next_f.push([1,",{\"delay\":0.42000000000000004,\"children\":[\"$\",\"$L7\",null,{\"className\":\"flex items-start gap-x-2 group cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\"href\":\"/blog/remote-work-productivity\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-xs font-mono tabular-nums font-medium mt-[5px]\",\"children\":[\"07\",\".\"]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-2 flex-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"tracking-tight text-lg font-medium\",\"children\":[\"$\",\"span\",null,{\"className\":\"group-hover:text-foreground transition-colors\",\"children\":[\"Mastering Remote Work: Productivity Tips from a Digital Nomad\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-right ml-1 inline-block size-4 stroke-3 text-muted-foreground opacity-0 -translate-x-2 transition-all duration-200 group-hover:opacity-100 group-hover:translate-x-0\",\"aria-hidden\":true,\"children\":[[\"$\",\"path\",\"mthhwq\",{\"d\":\"m9 18 6-6-6-6\"}],\"$undefined\"]}]]}]}],[\"$\",\"p\",null,{\"className\":\"text-xs text-muted-foreground\",\"children\":\"2024-11-25\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"23:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"2d:I[74999,[\"/_next/static/chunks/46196a5055940497.js\",\"/_next/static/chunks/28dc4b7ae21dc85e.js\"],\"IconMark\"]\n21:null\n"])</script><script>self.__next_f.push([1,"25:[[\"$\",\"title\",\"0\",{\"children\":\"Blog | Hamid Keyhani Dehnavi\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Thoughts on software development, life, and more.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"3\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Thoughts on software development, life, and more.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:image:alt\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:image\",\"content\":\"https://github.com/hamidkeyhani/blog/opengraph-image?3d9bdcafe47da60f\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"11\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:title\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:description\",\"content\":\"Thoughts on software development, life, and more.\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:image:alt\",\"content\":\"Blog\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image:type\",\"content\":\"image/png\"}],[\"$\",\"meta\",\"16\",{\"name\":\"twitter:image\",\"content\":\"https://github.com/hamidkeyhani/blog/opengraph-image?3d9bdcafe47da60f\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"19\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L2d\",\"20\",{}]]\n"])</script></body></html>