(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,482128,e=>{"use strict";var t=e.i(651681);let r={name:"blocks",size:24,node:[["path",{d:"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2",key:"1ah6g2"}],["rect",{x:"14",y:"2",width:"8",height:"8",rx:"1",key:"88lufb"}]]};r.node;let o=(0,t.f)(r);e.s(["f",0,o],482128)},29411,e=>{"use strict";var t=e.i(651681);let r={name:"bot",size:24,node:[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]};r.node;let o=(0,t.f)(r);e.s(["f",0,o],29411)},10460,e=>{"use strict";var t=e.i(651681);let r={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};r.node;let o=(0,t.f)(r);e.s(["f",0,o],10460)},92701,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(136562);e.s(["Z",0,function(e){let a,i,n,l,s=(0,r.c)(8);return s[0]!==e?({className:a,...i}=e,s[0]=e,s[1]=a,s[2]=i):(a=s[1],i=s[2]),s[3]!==a?(n=(0,o.f)("flex w-full flex-col items-center rounded-xl border border-border bg-card px-6 py-8 text-center md:py-10",a),s[3]=a,s[4]=n):n=s[4],s[5]!==i||s[6]!==n?(l=(0,t.jsx)("div",{className:n,...i}),s[5]=i,s[6]=n,s[7]=l):l=s[7],l},"j",0,function(e){let a,i,n,l,s=(0,r.c)(8);return s[0]!==e?({className:a,...i}=e,s[0]=e,s[1]=a,s[2]=i):(a=s[1],i=s[2]),s[3]!==a?(n=(0,o.f)("mt-6 flex flex-wrap items-center justify-center gap-3",a),s[3]=a,s[4]=n):n=s[4],s[5]!==i||s[6]!==n?(l=(0,t.jsx)("div",{className:n,...i}),s[5]=i,s[6]=n,s[7]=l):l=s[7],l},"k",0,function(e){let a,i,n,l,s=(0,r.c)(8);return s[0]!==e?({className:a,...i}=e,s[0]=e,s[1]=a,s[2]=i):(a=s[1],i=s[2]),s[3]!==a?(n=(0,o.f)("mt-1.5 text-body text-muted-foreground",a),s[3]=a,s[4]=n):n=s[4],s[5]!==i||s[6]!==n?(l=(0,t.jsx)("p",{className:n,...i}),s[5]=i,s[6]=n,s[7]=l):l=s[7],l},"v",0,function(e){let a,i,n,l,s,c=(0,r.c)(10);return c[0]!==e?({className:i,children:a,...n}=e,c[0]=e,c[1]=a,c[2]=i,c[3]=n):(a=c[1],i=c[2],n=c[3]),c[4]!==i?(l=(0,o.f)("font-brand text-title font-semibold tracking-tight text-foreground",i),c[4]=i,c[5]=l):l=c[5],c[6]!==a||c[7]!==n||c[8]!==l?(s=(0,t.jsx)("h2",{className:l,...n,children:a}),c[6]=a,c[7]=n,c[8]=l,c[9]=s):s=c[9],s}])},532663,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(16043),a=e.i(136562),i=e.i(139697),n=e.i(592367);e.s(["StaticCodeExampleSwitcher",0,function(e){let l,s,c,d,u,f,h=(0,r.c)(20),{examples:m,align:p}=e,[g,v]=(0,o.useState)(0),x="center"===(void 0===p?"center":p)?"justify-center":"justify-start";if(h[0]!==x?(l=(0,a.f)("flex flex-wrap gap-2",x),h[0]=x,h[1]=l):l=h[1],h[2]!==g||h[3]!==m){let e;h[5]!==g?(e=(e,r)=>(0,t.jsx)(i.Button,{size:"sm",variant:"outline","aria-pressed":r===g,className:(0,a.f)(r===g?"bg-selected-bg text-foreground hover:bg-selected-bg hover:text-foreground":"text-muted-foreground hover:bg-card-hover"),onClick:()=>v(r),children:e.title},e.title),h[5]=g,h[6]=e):e=h[6],s=m.map(e),h[2]=g,h[3]=m,h[4]=s}else s=h[4];if(h[7]!==l||h[8]!==s?(c=(0,t.jsx)("div",{className:l,children:s}),h[7]=l,h[8]=s,h[9]=c):c=h[9],h[10]!==g||h[11]!==m){let e;h[13]!==g?(e=(e,r)=>(0,t.jsx)("div",{className:(0,a.f)("col-start-1 row-start-1",r!==g&&"hidden"),children:(0,t.jsx)(n.StaticCodePanel,{tabs:e.tabs})},e.title),h[13]=g,h[14]=e):e=h[14],d=m.map(e),h[10]=g,h[11]=m,h[12]=d}else d=h[12];return h[15]!==d?(u=(0,t.jsx)("div",{className:"grid items-start",children:d}),h[15]=d,h[16]=u):u=h[16],h[17]!==c||h[18]!==u?(f=(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[c,u]}),h[17]=c,h[18]=u,h[19]=f):f=h[19],f}])},592367,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(288265),a=e.i(872635),i=e.i(10460),n=e.i(16043),l=e.i(136562),s=e.i(192668),c=e.i(139697),d=e.i(609623),u=e.i(737980);e.s(["StaticCodePanel",0,function(e){let f,h,m,p,g,v,x,b,y,_,w,j,k,N=(0,r.c)(41),{tabs:S,className:C}=e,E=(0,o.f)(),{isCopied:A,copyToClipboard:L}=(0,s.f)(),[P,T]=(0,n.useState)(0),R=(0,n.useId)(),F=S[P]??S[0];if(!F)return null;N[0]!==C?(f=(0,l.f)("overflow-hidden rounded-lg border border-border bg-card",C),N[0]=C,N[1]=f):f=N[1];let D=S.length>1?"pl-1.5":"h-9 pl-3";if(N[2]!==D?(h=(0,l.f)("flex items-center justify-between gap-2 border-b border-border pr-1.5",D),N[2]=D,N[3]=h):h=N[3],N[4]!==F.label||N[5]!==E||N[6]!==R||N[7]!==S?(m=S.length>1?(0,t.jsx)(u.f,{ariaLabel:E("Code language"),className:"-mb-px min-w-0 flex-1 border-b-0",tabs:S.map((e,t)=>({id:e.label,label:e.label,buttonId:`${R}-tab-${t}`,ariaControls:`${R}-panel-${t}`,className:"font-mono text-overline uppercase tracking-wider"})),activeTab:F.label,onTabChange:e=>{let t=S.findIndex(t=>t.label===e);-1!==t&&T(t)}}):(0,t.jsx)("span",{className:"truncate font-mono text-overline uppercase tracking-wider text-muted-foreground",children:F.label}),N[4]=F.label,N[5]=E,N[6]=R,N[7]=S,N[8]=m):m=N[8],N[9]!==E||N[10]!==A?(p=E(A?"Copied code":"Copy code"),N[9]=E,N[10]=A,N[11]=p):p=N[11],N[12]!==F.code||N[13]!==L?(g=()=>void L(F.code),N[12]=F.code,N[13]=L,N[14]=g):g=N[14],N[15]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(i.f,{className:"size-4"}),x=(0,t.jsx)(a.f,{className:"size-4"}),N[15]=v,N[16]=x):(v=N[15],x=N[16]),N[17]!==A?(b=(0,t.jsx)(d.f,{active:A,from:v,to:x}),N[17]=A,N[18]=b):b=N[18],N[19]!==p||N[20]!==g||N[21]!==b?(y=(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon-sm","aria-label":p,onClick:g,className:"shrink-0",children:b}),N[19]=p,N[20]=g,N[21]=b,N[22]=y):y=N[22],N[23]!==y||N[24]!==h||N[25]!==m?(_=(0,t.jsxs)("div",{className:h,children:[m,y]}),N[23]=y,N[24]=h,N[25]=m,N[26]=_):_=N[26],N[27]!==P||N[28]!==R||N[29]!==S){let e;N[31]!==P||N[32]!==R||N[33]!==S.length?(e=(e,r)=>(0,t.jsx)("div",{role:S.length>1?"tabpanel":void 0,id:`${R}-panel-${r}`,"aria-labelledby":S.length>1?`${R}-tab-${r}`:void 0,inert:r!==P,className:(0,l.f)("highlights-dual col-start-1 row-start-1 overflow-auto p-4 font-mono text-body leading-relaxed",r!==P&&"invisible"),dangerouslySetInnerHTML:{__html:e.html}},e.label),N[31]=P,N[32]=R,N[33]=S.length,N[34]=e):e=N[34],w=S.map(e),N[27]=P,N[28]=R,N[29]=S,N[30]=w}else w=N[30];return N[35]!==w?(j=(0,t.jsx)("div",{className:"grid bg-doc-surface",children:w}),N[35]=w,N[36]=j):j=N[36],N[37]!==f||N[38]!==_||N[39]!==j?(k=(0,t.jsxs)("div",{className:f,children:[_,j]}),N[37]=f,N[38]=_,N[39]=j,N[40]=k):k=N[40],k}])},737980,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(288265),a=e.i(354896),i=e.i(16043),n=e.i(136562),l=e.i(105433);let s="data-overflow-tab";function c(e){return e.offsetWidth}var d=e.i(978242),u=e.i(967605);let f="rgb(0 0 0 / 0.2)",h="shrink-0 border-b-2 px-4 py-2 text-xs font-medium cursor-pointer outline-none focus-visible:bg-foreground/5",m="border-primary text-primary [[data-tabs-indicator]:not([hidden])~&]:border-transparent",p="border-transparent text-muted-foreground hover:text-accent-foreground",g="invisible absolute";function v(e){return e.id}function x(e){let i,l,s,c,f,v,x,b,y=(0,r.c)(33),{triggerRef:_,tabs:w,activeTab:j,onTabChange:k,prefetch:N,className:S}=e,C=(0,o.f)(),E=0===w.length;if(y[0]!==j||y[1]!==w){let e;y[3]!==j?(e=e=>e.id===j,y[3]=j,y[4]=e):e=y[4],i=w.some(e),y[0]=j,y[1]=w,y[2]=i}else i=y[2];let A=i,L=E||void 0,P=E?-1:void 0,T=A?m:p,R=E&&g;if(y[5]!==S||y[6]!==T||y[7]!==R?(l=(0,n.f)(h,"inline-flex items-center gap-1 transition-colors",S,T,R),y[5]=S,y[6]=T,y[7]=R,y[8]=l):l=y[8],y[9]!==C?(s=C("More"),y[9]=C,y[10]=s):s=y[10],y[11]===Symbol.for("react.memo_cache_sentinel")?(c=(0,t.jsx)(a.f,{className:"size-3.5"}),y[11]=c):c=y[11],y[12]!==A||y[13]!==L||y[14]!==P||y[15]!==l||y[16]!==s||y[17]!==_?(f=(0,t.jsxs)(d.X,{ref:_,role:"tab","aria-selected":A,"aria-hidden":L,tabIndex:P,className:l,children:[s,c]}),y[12]=A,y[13]=L,y[14]=P,y[15]=l,y[16]=s,y[17]=_,y[18]=f):f=y[18],y[19]!==j||y[20]!==k||y[21]!==N||y[22]!==w){let e;y[24]!==j||y[25]!==k||y[26]!==N?(e=e=>(0,t.jsx)(d.r,{className:(0,n.f)(e.id===j&&"text-primary",e.className),onClick:()=>k?.(e.id),render:void 0===e.href?void 0:(0,t.jsx)(u.Link,{href:e.href,replace:e.replace,prefetch:N}),children:e.label},e.id),y[24]=j,y[25]=k,y[26]=N,y[27]=e):e=y[27],v=w.map(e),y[19]=j,y[20]=k,y[21]=N,y[22]=w,y[23]=v}else v=y[23];return y[28]!==v?(x=(0,t.jsx)(d.L,{align:"end",children:v}),y[28]=v,y[29]=x):x=y[29],y[30]!==x||y[31]!==f?(b=(0,t.jsxs)(d.G,{children:[f,x]}),y[30]=x,y[31]=f,y[32]=b):b=y[32],b}function b(e){return e<=2?0:Math.min(e,32)}e.s(["f",0,function(e){let o,a,d,y,_,w,j,k,N,S,C,E,A,L,P,T,R,F=(0,r.c)(56),{tabs:D,activeTab:z,onTabChange:O,className:M,ariaLabel:I,prefetch:B,overflow:U,tabClassName:H}=e,K=void 0===B?"viewport":B,G=(T=(0,r.c)(2),R=(0,i.useRef)(null),T[0]===Symbol.for("react.memo_cache_sentinel")?(L=()=>{let e=R.current;if(!e)return;let t=function(){if(!e)return;let t=e.scrollWidth-e.clientWidth,r=b(e.scrollLeft),o=b(t-e.scrollLeft),a=t<=2?"":`linear-gradient(to right, ${f} 0, #000 ${r}px, #000 calc(100% - ${o}px), ${f} 100%)`;e.style.maskImage=a,e.style.webkitMaskImage=a};t(),e.addEventListener("scroll",t,{passive:!0});let r=new ResizeObserver(t);return r.observe(e),()=>{e.removeEventListener("scroll",t),r.disconnect()}},P=[],T[0]=L,T[1]=P):(L=T[0],P=T[1]),(0,i.useEffect)(L,P),R),W="menu"===(void 0===U?"scroll":U);F[0]!==D?(o=D.map(v),F[0]=D,F[1]=o):o=F[1];let{listRef:$,menuTriggerRef:q,visibleCount:V}=function(e,t){let o,a,n,l,d=(0,r.c)(11),u=(0,i.useRef)(null),f=(0,i.useRef)(null),h=t.length;d[0]!==t?(o=t.join("\0"),d[0]=t,d[1]=o):o=d[1];let m=o,[p,g]=(0,i.useState)(h);return d[2]!==e||d[3]!==h?(a=()=>{let t=u.current,r=f.current;if(!e||!t||!r)return void g(h);let o=Array.from(t.querySelectorAll(`[${s}]`)),a=()=>{g(function({widths:e,availableWidth:t,triggerWidth:r}){if(e.reduce((e,t)=>e+t,0)<=t)return e.length;let o=0,a=0;for(let i of e){if(o+i+r>t)break;o+=i,a+=1}return a}({widths:o.map(c),availableWidth:t.clientWidth,triggerWidth:r.offsetWidth}))};a();let i=new ResizeObserver(a);for(let e of(i.observe(t),o))i.observe(e);return()=>{i.disconnect()}},d[2]=e,d[3]=h,d[4]=a):a=d[4],d[5]!==e||d[6]!==h||d[7]!==m?(n=[e,h,m],d[5]=e,d[6]=h,d[7]=m,d[8]=n):n=d[8],(0,i.useLayoutEffect)(a,n),d[9]!==p?(l={listRef:u,menuTriggerRef:f,visibleCount:p},d[9]=p,d[10]=l):l=d[10],l}(W,o);if(F[2]!==z||F[3]!==W||F[4]!==D||F[5]!==V){let e;a=W?D.slice(V):[],F[8]!==z?(e=e=>e.id===z,F[8]=z,F[9]=e):e=F[9],d=a.some(e),F[2]=z,F[3]=W,F[4]=D,F[5]=V,F[6]=a,F[7]=d}else a=F[6],d=F[7];let Z=d?"__overflow-menu__":z;F[10]!==Z||F[11]!==D?(y={activeKey:Z,items:D},F[10]=Z,F[11]=D,F[12]=y):y=F[12];let X=(0,l.f)('[role="tab"][aria-selected="true"]:not([aria-hidden="true"])',y);F[13]!==M?(_=(0,n.f)("border-b border-border",M),F[13]=M,F[14]=_):_=F[14],F[15]!==$||F[16]!==G?(w=e=>{G.current=e,$.current=e},F[15]=$,F[16]=G,F[17]=w):w=F[17];let Y=W?"overflow-hidden":"overflow-x-auto scrollbar-hide";if(F[18]!==Y?(j=(0,n.f)("relative flex -mb-px",Y),F[18]=Y,F[19]=j):j=F[19],F[20]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.f)("pointer-events-none absolute bottom-0 left-0 h-0.5 bg-primary","w-(--active-tab-width) translate-x-(--active-tab-left)","transition-[translate,width] duration-fast ease-in-out-strong motion-reduce:transition-none"),F[20]=k):k=F[20],F[21]!==X?(N=(0,t.jsx)("span",{ref:X,"data-tabs-indicator":"",hidden:!0,"aria-hidden":!0,className:k}),F[21]=X,F[22]=N):N=F[22],F[23]!==z||F[24]!==W||F[25]!==O||F[26]!==K||F[27]!==H||F[28]!==D||F[29]!==V){let e;F[31]!==z||F[32]!==W||F[33]!==O||F[34]!==K||F[35]!==H||F[36]!==V?(e=(e,r)=>{let o=z===e.id,a=W&&r>=V,i={role:"tab",id:e.buttonId,"aria-selected":o,"aria-controls":e.ariaControls,"aria-hidden":a||void 0,tabIndex:a?-1:void 0,[s]:W?"":void 0,onClick:()=>O?.(e.id),className:(0,n.f)(h,H,o?m:p,e.className,a&&g)};return void 0!==e.href?(0,t.jsx)(u.Link,{href:e.href,replace:e.replace,prefetch:K,...i,children:e.label},e.id):(0,t.jsx)("button",{type:"button",...i,className:(0,n.f)(i.className,"transition-colors"),children:e.label},e.id)},F[31]=z,F[32]=W,F[33]=O,F[34]=K,F[35]=H,F[36]=V,F[37]=e):e=F[37],S=D.map(e),F[23]=z,F[24]=W,F[25]=O,F[26]=K,F[27]=H,F[28]=D,F[29]=V,F[30]=S}else S=F[30];return F[38]!==z||F[39]!==W||F[40]!==q||F[41]!==O||F[42]!==a||F[43]!==K||F[44]!==H?(C=W&&(0,t.jsx)(x,{triggerRef:q,tabs:a,activeTab:z,onTabChange:O,prefetch:K,className:H}),F[38]=z,F[39]=W,F[40]=q,F[41]=O,F[42]=a,F[43]=K,F[44]=H,F[45]=C):C=F[45],F[46]!==I||F[47]!==j||F[48]!==N||F[49]!==S||F[50]!==C||F[51]!==w?(E=(0,t.jsxs)("div",{ref:w,role:"tablist","aria-label":I,className:j,children:[N,S,C]}),F[46]=I,F[47]=j,F[48]=N,F[49]=S,F[50]=C,F[51]=w,F[52]=E):E=F[52],F[53]!==E||F[54]!==_?(A=(0,t.jsx)("div",{className:_,children:E}),F[53]=E,F[54]=_,F[55]=A):A=F[55],A}],737980)},498711,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(139697),a=e.i(92701),i=e.i(960773),n=e.i(140570);e.i(707060);var l=e.i(196991),s=e.i(288265),c=e.i(378643),d=e.i(33425);e.s(["DevelopersFooterCta",0,function(){let e,u,f,h,m,p,g,v,x,b,y=(0,r.c)(22),_=(0,i.Q)(),w=(0,s.f)();return y[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsxs)(l.T,{children:[(0,t.jsx)(a.v,{children:"Start building today"}),(0,t.jsx)(a.k,{children:"Free to get started. No subscription, no card required."})]}),y[0]=e):e=y[0],y[1]!==_?(u=()=>{_.capture("click_keys_button",{variants:n.l.PrimaryCta,source:"developers_footer"})},y[1]=_,y[2]=u):u=y[2],y[3]!==w?(f=w("Get an API key"),y[3]=w,y[4]=f):f=y[4],y[5]!==f?(h=(0,t.jsx)(c.f,{children:f}),y[5]=f,y[6]=h):h=y[6],y[7]!==u||y[8]!==h?(m=(0,t.jsx)(o.Button,{size:"lg",className:"w-full sm:w-auto",onClick:u,render:h}),y[7]=u,y[8]=h,y[9]=m):m=y[9],y[10]!==_?(p=()=>{_.capture("click_docs_button",{variants:n.l.SecondaryCta,source:"developers_footer",destination:d.p})},y[10]=_,y[11]=p):p=y[11],y[12]!==w?(g=w("Read the docs"),y[12]=w,y[13]=g):g=y[13],y[14]!==g?(v=(0,t.jsx)("a",{href:d.p,children:g}),y[14]=g,y[15]=v):v=y[15],y[16]!==p||y[17]!==v?(x=(0,t.jsx)(o.Button,{size:"lg",className:"w-full sm:w-auto",variant:"outline",onClick:p,render:v}),y[16]=p,y[17]=v,y[18]=x):x=y[18],y[19]!==m||y[20]!==x?(b=(0,t.jsx)("section",{className:"mb-16 w-full max-w-4xl",children:(0,t.jsxs)(a.Z,{children:[e,(0,t.jsxs)(a.j,{className:"w-full sm:w-auto",children:[m,x]})]})}),y[19]=m,y[20]=x,y[21]=b):b=y[21],b}])},334338,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(139697),a=e.i(960773),i=e.i(634694),n=e.i(140570);e.i(707060);var l=e.i(196991),s=e.i(288265),c=e.i(153746),d=e.i(378643),u=e.i(33425),f=e.i(535072),h=e.i(16043);let m=` attribute vec2 a_position; void main() { gl_Position = vec4(a_position, 0.0, 1.0); } `,p=` #extension GL_OES_standard_derivatives : enable precision highp float; uniform vec2 u_resolution; uniform float u_time; uniform vec3 u_line; uniform vec3 u_pulse; uniform float u_opacity; const float CELL = 1.6; const float SCROLL_SPEED = 1.1; /* Depth units per second, and the distance covered before restarting: the cycle is PULSE_SPAN / PULSE_SPEED ≈ 5s. */ const float PULSE_SPEED = 5.2; const float PULSE_SPAN = 26.0; const float FADE_START = 3.0; const float FADE_END = 34.0; /* * Pushes the vanishing point below the canvas midpoint. Higher than the Ori * page's value because this hero is centre-aligned, so the copy occupies the * middle of the canvas rather than its left half. */ const float HORIZON = 0.48; /* * Where the far field turns to fog, as a fraction of canvas height from the * bottom. Full strength below TEXT_CLEAR, gone by HORIZON_FOG, so the pile-up * of lines at the vanishing point never reaches the hero copy. */ const float TEXT_CLEAR = 0.16; const float HORIZON_FOG = 0.72; /* Distance to the nearest line of a unit lattice, in cell units. */ float latticeDistance(float coord) { return abs(fract(coord) - 0.5); } /* * Line coverage that stays one pixel wide at every depth. Dividing the * lattice distance by its own screen-space derivative cancels perspective * foreshortening, so distant lines thin out in brightness instead of * collapsing into moire. */ float lineCoverage(float coord, float width) { float distance = latticeDistance(coord); float falloff = fwidth(coord) * width; return 1.0 - smoothstep(0.0, falloff, distance); } void main() { vec2 uv = (gl_FragCoord.xy * 2.0 - u_resolution) / u_resolution.y; /* * Drop the eye below centre so the horizon lands under the hero copy * rather than crossing it. Everything at or above the horizon is sky. */ uv.y += HORIZON; if (uv.y >= -0.02) { gl_FragColor = vec4(0.0); return; } /* Ray-plane intersection: eye at origin, ground plane at y = -1. */ float depth = -1.0 / uv.y; float across = uv.x * depth; float along = depth + u_time * SCROLL_SPEED; float acrossLine = lineCoverage(across / CELL, 1.0); float alongLine = lineCoverage(along / CELL, 1.0); float grid = max(acrossLine, alongLine); /* Depth fade, so the lattice dissolves before it reaches the horizon. */ float depthFade = 1.0 - smoothstep(FADE_START, FADE_END, depth); depthFade *= depthFade; /* Fade the near edge too, so the grid emerges rather than being cut off. */ float nearFade = smoothstep(0.0, 1.6, depth); /* * Thin the dense band of lines that piles up near the horizon. Edge * dissolves are a CSS mask on the canvas instead of more screen-space * fades here, because stacked smoothsteps in one alpha term overlap and * cancel each other into a sliver. */ float screenY = gl_FragCoord.y / u_resolution.y; float horizonFog = 1.0 - smoothstep(TEXT_CLEAR, HORIZON_FOG, screenY); /* * Vignette the left and right edges. Measured against the aspect ratio * rather than a constant, so the falloff sits at the same fraction of the * canvas at every width instead of pinching into a narrow strip on wide * viewports. */ float halfWidth = u_resolution.x / u_resolution.y; float sideFade = 1.0 - smoothstep(halfWidth * 0.35, halfWidth * 1.05, abs(uv.x)); /* * A band of brightness sweeping away from the viewer. PULSE_SPEED is depth * units per second and PULSE_SPAN the distance it covers before restarting, * so the wrap keeps the reset out past the depth fade where it is invisible. * Multiplying the two here would make the span control the speed as well, * collapsing the cycle to 1/PULSE_SPEED seconds. */ float travelled = mod(u_time * PULSE_SPEED, PULSE_SPAN); float pulseBand = 1.0 - smoothstep(0.0, 4.5, abs(depth - travelled)); pulseBand *= pulseBand; vec3 color = mix(u_line, u_pulse, pulseBand * 0.85); float alpha = grid * depthFade * nearFade * sideFade * horizonFog * u_opacity; alpha *= 1.0 + pulseBand * 1.4; gl_FragColor = vec4(color * alpha, alpha); } `;function g({gl:e,type:t,source:r}){let o=e.createShader(t);return o?(e.shaderSource(o,r),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS))?o:(e.deleteShader(o),null):null}function v(){return document.documentElement.classList.contains("dark")?{line:[.78,1,0],pulse:[1,1,1],opacity:.28}:{line:[.4,.1,.9],pulse:[.4,.1,.9],opacity:.34}}function x({className:e}){let r=(0,h.useRef)(null),o=(0,f.o)("(prefers-reduced-motion: reduce)"),a=(0,f.o)("(min-width: 640px)");return(0,h.useEffect)(()=>{let e,t,i,n=r.current;if(!n||o||!1===a)return;let l=n.getContext("webgl",{alpha:!0,antialias:!1,premultipliedAlpha:!0});if(!l||l.isContextLost()||!l.getExtension("OES_standard_derivatives"))return;let s=(e=g({gl:l,type:l.VERTEX_SHADER,source:m}),t=g({gl:l,type:l.FRAGMENT_SHADER,source:p}),(i=e&&t?l.createProgram():null)&&e&&t?(l.attachShader(i,e),l.attachShader(i,t),l.linkProgram(i),l.deleteShader(e),l.deleteShader(t),l.getProgramParameter(i,l.LINK_STATUS))?i:(l.deleteProgram(i),null):(e&&l.deleteShader(e),t&&l.deleteShader(t),null));if(!s)return;let c=l.createBuffer();l.bindBuffer(l.ARRAY_BUFFER,c),l.bufferData(l.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),l.STATIC_DRAW);let d=l.getAttribLocation(s,"a_position"),u=l.getUniformLocation(s,"u_resolution"),f=l.getUniformLocation(s,"u_time"),h=l.getUniformLocation(s,"u_line"),x=l.getUniformLocation(s,"u_pulse"),b=l.getUniformLocation(s,"u_opacity");l.useProgram(s),l.enableVertexAttribArray(d),l.vertexAttribPointer(d,2,l.FLOAT,!1,0,0),l.enable(l.BLEND),l.blendFunc(l.ONE,l.ONE_MINUS_SRC_ALPHA);let y=v(),_=0,w=!0,j=performance.now(),k=e=>{if(_=requestAnimationFrame(k),w){let t,r,o;t=Math.min(window.devicePixelRatio||1,2),r=Math.floor(n.clientWidth*t),o=Math.floor(n.clientHeight*t),0!==r&&0!==o&&(n.width!==r||n.height!==o)&&(n.width=r,n.height=o,l.viewport(0,0,r,o)),l.uniform2f(u,n.width,n.height),l.uniform1f(f,(e-j)/1e3),l.uniform3fv(h,y.line),l.uniform3fv(x,y.pulse),l.uniform1f(b,y.opacity),l.clearColor(0,0,0,0),l.clear(l.COLOR_BUFFER_BIT),l.drawArrays(l.TRIANGLES,0,3)}};_=requestAnimationFrame(k);let N=new IntersectionObserver(([e])=>{w=e?.isIntersecting??!0});N.observe(n);let S=new MutationObserver(()=>{y=v()});return S.observe(document.documentElement,{attributeFilter:["class"]}),()=>{cancelAnimationFrame(_),N.disconnect(),S.disconnect(),l.deleteBuffer(c),l.deleteProgram(s)}},[o,a]),(0,t.jsx)("canvas",{ref:r,"aria-hidden":"true",className:e})}e.s(["DevelopersHero",0,function(){let e,f,h,m,p,g,v,b,y,_,w,j,k,N,S=(0,r.c)(26),C=(0,a.Q)(),E=(0,s.f)();return S[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)(x,{className:"pointer-events-none absolute bottom-0 left-1/2 -z-10 hidden h-[136%] w-screen -translate-x-1/2 mask-t-from-48% mask-t-to-74% mask-b-from-92% sm:block"}),S[0]=e):e=S[0],S[1]===Symbol.for("react.memo_cache_sentinel")?(f=(0,t.jsx)("p",{className:"text-overline uppercase tracking-wider text-accent-foreground",children:"Developer Platform"}),S[1]=f):f=S[1],S[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsxs)("h1",{className:"font-brand my-0 w-full text-4xl font-bold leading-[1.1] tracking-tight sm:text-5xl md:text-6xl md:tracking-[-0.04em]",children:["Build with every model.",(0,t.jsx)("br",{className:"hidden sm:block"})," From one platform."]}),S[2]=h):h=S[2],S[3]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)(c.d,{children:i.f.ModelCount}),S[3]=m):m=S[3],S[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,t.jsxs)(l.T,{children:[f,h,(0,t.jsxs)("p",{className:"mx-auto max-w-2xl text-size-section leading-relaxed text-muted-foreground",children:["One OpenAI-compatible API, typed SDKs in three languages, an agent framework, local devtools, and an MCP server — backed by ",m," models across ",(0,t.jsx)(c.d,{children:i.f.ProviderCount})," providers with automatic fallback."]})]}),S[4]=p):p=S[4],S[5]!==C?(g=()=>{C.capture("click_keys_button",{variants:n.l.PrimaryCta,source:"developers_hero"})},S[5]=C,S[6]=g):g=S[6],S[7]!==E?(v=E("Get an API key"),S[7]=E,S[8]=v):v=S[8],S[9]!==v?(b=(0,t.jsx)(d.f,{children:v}),S[9]=v,S[10]=b):b=S[10],S[11]!==g||S[12]!==b?(y=(0,t.jsx)(o.Button,{size:"lg",className:"w-full sm:w-auto",onClick:g,render:b}),S[11]=g,S[12]=b,S[13]=y):y=S[13],S[14]!==C?(_=()=>{C.capture("click_docs_button",{variants:n.l.SecondaryCta,source:"developers_hero",destination:u.p})},S[14]=C,S[15]=_):_=S[15],S[16]!==E?(w=E("Read the docs"),S[16]=E,S[17]=w):w=S[17],S[18]!==w?(j=(0,t.jsx)("a",{href:u.p,children:w}),S[18]=w,S[19]=j):j=S[19],S[20]!==j||S[21]!==_?(k=(0,t.jsx)(o.Button,{size:"lg",className:"relative w-full before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:bg-background sm:w-auto",variant:"outline",onClick:_,render:j}),S[20]=j,S[21]=_,S[22]=k):k=S[22],S[23]!==k||S[24]!==y?(N=(0,t.jsxs)("div",{className:"relative isolate flex w-full max-w-4xl flex-col justify-center pt-8 gap-10 sm:pb-24 md:gap-14 md:pb-32",children:[e,(0,t.jsxs)("div",{className:"flex flex-col gap-5 md:gap-6 text-center",children:[p,(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 sm:flex-row sm:gap-4",children:[y,k]})]})]}),S[23]=k,S[24]=y,S[25]=N):N=S[25],N}],334338)},726475,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(702441),a=e.i(954217),i=e.i(960773);e.i(707060);var n=e.i(196991),l=e.i(919035),s=e.i(788843),c=e.i(42208),d=e.i(792856),u=e.i(136562),f=e.i(233452),h=e.i(609623),m=e.i(261499),p=e.i(522396),g=e.i(192668),v=e.i(288265),x=e.i(872635),b=e.i(10460),y=e.i(16043);function _(e){let o,a,i,n,l,s,c,d,_,j,k,N,S,C,E,A=(0,r.c)(43),{command:L,languages:P,defaultLanguage:T}=e,R=(0,v.f)(),{isCopied:F,copyToClipboard:D}=(0,g.f)(),[z,O]=(0,y.useState)(T),[M,I]=(0,y.useState)(0);A[0]===Symbol.for("react.memo_cache_sentinel")?(o=[],A[0]=o):o=A[0];let B=(0,y.useRef)(o);A[1]!==P||A[2]!==z?(a=P?.find(e=>e.id===z)?.installCommand,A[1]=P,A[2]=z,A[3]=a):a=A[3];let U=a??L;A[4]!==z?(i=e=>{e!==z&&(O(e),I(w))},A[4]=z,A[5]=i):i=A[5];let H=i;A[6]!==P||A[7]!==H||A[8]!==z?(n=e=>{if(!P)return;let t=P.findIndex(e=>e.id===z);if(-1===t)return;let r=null;if("ArrowRight"===e.key||"ArrowDown"===e.key?r=(t+1)%P.length:("ArrowLeft"===e.key||"ArrowUp"===e.key)&&(r=(t-1+P.length)%P.length),null===r)return;e.preventDefault();let o=P[r];o&&(H(o.id),B.current[r]?.focus())},A[6]=P,A[7]=H,A[8]=z,A[9]=n):n=A[9];let K=n;A[10]!==R||A[11]!==K||A[12]!==P||A[13]!==H||A[14]!==z?(l=P?(0,t.jsx)(p.c,{size:"sm",className:"w-full",value:z??"",onValueChange:e=>{let t=P.find(t=>t.id===e);t&&H(t.id)},"aria-label":R("Install command language"),onKeyDown:K,children:P.map((e,r)=>{let o=e.id===z;return(0,t.jsxs)(p.Y,{ref:e=>{B.current[r]=e},value:e.id,tabIndex:o?0:-1,className:"gap-1",children:[e.label,e.isBeta?(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)(f.Badge,{size:"sm",variant:"info",className:"py-px font-normal",children:R("Beta")})]}):null]},e.id)})}):null,A[10]=R,A[11]=K,A[12]=P,A[13]=H,A[14]=z,A[15]=l):l=A[15];let G=M>0&&m.H;return A[16]!==G?(s=(0,u.f)("block",G),A[16]=G,A[17]=s):s=A[17],A[18]!==U||A[19]!==M||A[20]!==s?(c=(0,t.jsx)("code",{className:"flex-1 overflow-x-auto bg-transparent font-mono text-overline leading-normal whitespace-nowrap text-foreground",children:(0,t.jsx)("span",{className:s,children:U},M)}),A[18]=U,A[19]=M,A[20]=s,A[21]=c):c=A[21],A[22]!==U||A[23]!==D?(d=()=>void D(U),A[22]=U,A[23]=D,A[24]=d):d=A[24],A[25]!==U||A[26]!==R||A[27]!==F?(_=F?R("Copied to clipboard"):R("Copy {command} to clipboard",{command:U}),A[25]=U,A[26]=R,A[27]=F,A[28]=_):_=A[28],A[29]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(b.f,{className:"size-3.5"}),k=(0,t.jsx)(x.f,{className:"size-3.5"}),A[29]=j,A[30]=k):(j=A[29],k=A[30]),A[31]!==F?(N=(0,t.jsx)(h.f,{active:F,from:j,to:k}),A[31]=F,A[32]=N):N=A[32],A[33]!==_||A[34]!==N||A[35]!==d?(S=(0,t.jsx)("button",{type:"button",onClick:d,"aria-label":_,className:"shrink-0 rounded-sm text-faint transition-colors hover:text-accent-foreground focus-visible:border-focus-border focus-visible:shadow-focus focus-visible:outline-none",children:N}),A[33]=_,A[34]=N,A[35]=d,A[36]=S):S=A[36],A[37]!==S||A[38]!==c?(C=(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md border border-border bg-doc-surface px-3.5 py-3",children:[c,S]}),A[37]=S,A[38]=c,A[39]=C):C=A[39],A[40]!==C||A[41]!==l?(E=(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[l,C]}),A[40]=C,A[41]=l,A[42]=E):E=A[42],E}function w(e){return e+1}var j=e.i(634694),k=e.i(387086),N=e.i(482128),S=e.i(371244),C=e.i(29411),E=e.i(651681);let A={name:"microscope",size:24,node:[["path",{d:"M6 18h8",key:"1borvv"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M14 22a7 7 0 1 0 0-14h-1",key:"1jwaiy"}],["path",{d:"M9 14h2",key:"197e7h"}],["path",{d:"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z",key:"1bmzmy"}],["path",{d:"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3",key:"1drr47"}]]};A.node;let L=(0,E.f)(A),P={name:"package",size:24,node:[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]};P.node;let T=(0,E.f)(P);var R=e.i(102803),F=e.i(544951),D=e.i(33425);let z=[{productKey:"API",title:(0,k.b)("API"),description:(0,k.b)("One OpenAI-compatible endpoint for {modelCount} models across {providerCount} providers, with automatic fallback when a provider fails.",{modelCount:j.f.ModelCount,providerCount:j.f.ProviderCount}),href:"/docs/quickstart",icon:F.f,installCommand:"https://openrouter.ai/api/v1"},{productKey:"Client SDKs",title:(0,k.b)("Client SDKs"),description:(0,k.b)("The same typed client in TypeScript, Python, and Go — streaming, tools, and structured output behave identically in every language."),href:"/docs/client-sdks/overview",icon:T,languages:D.G},{productKey:"Agent SDK",title:(0,k.b)("Agent SDK"),description:(0,k.b)("Type-safe tools, multi-turn loops, streaming, and stop conditions. Build production agents that route across every provider."),href:"/docs/agent-sdk/overview",icon:C.f,languages:D.A},{productKey:"Terraform Provider",title:(0,k.b)("Terraform Provider"),description:(0,k.b)("Manage OpenRouter as infrastructure-as-code with repeatable, reviewable configuration for your platform."),href:"/docs/guides/overview/terraform",icon:N.f,installCommand:'source = "OpenRouterTeam/openrouter"'},{productKey:"DevTools",title:(0,k.b)("DevTools"),description:(0,k.b)("Capture SDK telemetry in development and replay every request, token count, and error in a local web viewer."),href:"/docs/client-sdks/dev-tools/devtools",icon:L,installCommand:"npm install -g @openrouter/cli"},{productKey:"MCP Server",title:(0,k.b)("MCP Server"),description:(0,k.b)("Give any Model Context Protocol client — Claude Code, Cursor, or your own — access to all {modelCount} models.",{modelCount:j.f.ModelCount}),href:"/docs/guides/overview/mcp-server",icon:R.f,installCommand:"https://mcp.openrouter.ai/mcp"},{productKey:"Cookbook",title:(0,k.b)("Cookbook"),description:(0,k.b)("Working recipes for agent harnesses, human-in-the-loop tools, evals, cost control, and image generation."),href:"/docs/cookbook/get-started/quickstart",icon:S.f}];function O(e){let a,n,d,u,f,h,m,p,g,v,x,b,y=(0,r.c)(33),{product:w}=e,{productKey:j,title:k,description:N,href:S,icon:C,installCommand:E,languages:A}=w,L=(0,i.Q)(),P=(0,l.f)();return y[0]!==C?(a=(0,t.jsx)(c.f,{icon:C,isHoverAccent:!0}),y[0]=C,y[1]=a):a=y[1],y[2]!==S||y[3]!==L||y[4]!==j?(n=()=>{L.capture("click_docs_button",{source:"developers_platform_card",destination:S,product:j})},y[2]=S,y[3]=L,y[4]=j,y[5]=n):n=y[5],y[6]!==P||y[7]!==k?(d=P(k),y[6]=P,y[7]=k,y[8]=d):d=y[8],y[9]!==S||y[10]!==n||y[11]!==d?(u=(0,t.jsx)("h3",{className:"text-size-heading font-semibold leading-snug",children:(0,t.jsx)("a",{href:S,className:"text-foreground no-underline transition-colors after:absolute after:inset-0 hover:text-accent-foreground focus-visible:outline-none",onClick:n,children:d})}),y[9]=S,y[10]=n,y[11]=d,y[12]=u):u=y[12],y[13]!==a||y[14]!==u?(f=(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[a,u]}),y[13]=a,y[14]=u,y[15]=f):f=y[15],y[16]===Symbol.for("react.memo_cache_sentinel")?(h=(0,t.jsx)(s.f,{className:"size-4 shrink-0 text-faint transition-colors group-hover:text-accent-foreground","aria-hidden":"true"}),y[16]=h):h=y[16],y[17]!==f?(m=(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[f,h]}),y[17]=f,y[18]=m):m=y[18],y[19]!==N||y[20]!==P?(p=P(N),y[19]=N,y[20]=P,y[21]=p):p=y[21],y[22]!==p?(g=(0,t.jsx)("p",{className:"flex-1 text-body leading-relaxed text-muted-foreground",children:p}),y[22]=p,y[23]=g):g=y[23],y[24]!==A?(v=A?(0,t.jsx)("div",{className:"relative",children:(0,t.jsx)(_,{command:A[0].installCommand,languages:A,defaultLanguage:A[0].id})}):null,y[24]=A,y[25]=v):v=y[25],y[26]!==E?(x=E?(0,t.jsx)("div",{className:"relative",children:(0,t.jsx)(_,{command:E})}):null,y[26]=E,y[27]=x):x=y[27],y[28]!==v||y[29]!==x||y[30]!==m||y[31]!==g?(b=(0,t.jsxs)(o.N,{interactive:!0,className:"group relative flex h-full flex-col gap-4 p-6 has-[a:focus-visible]:border-focus-border has-[a:focus-visible]:shadow-focus",children:[m,g,v,x]}),y[28]=v,y[29]=x,y[30]=m,y[31]=g,y[32]=b):b=y[32],b}function M(e){return(0,t.jsx)(O,{product:e},e.productKey)}e.s(["DevelopersPlatform",0,function(){let e,o,i,l,s,c,u,f=(0,r.c)(7);return f[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("h2",{className:d.j,children:"Everything you need to ship"}),f[0]=e):e=f[0],f[1]===Symbol.for("react.memo_cache_sentinel")?(o=(0,t.jsx)(a.TextLink,{href:"/collections/image-models",children:"image generation"}),f[1]=o):o=f[1],f[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)(a.TextLink,{href:"/collections/video-models",children:"video generation"}),f[2]=i):i=f[2],f[3]===Symbol.for("react.memo_cache_sentinel")?(l=(0,t.jsx)(a.TextLink,{href:"/collections/text-to-speech-models",children:"text-to-speech"}),f[3]=l):l=f[3],f[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(a.TextLink,{href:"/collections/speech-to-text-models",children:"speech-to-text"}),f[4]=s):s=f[4],f[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,t.jsx)(d.w,{children:(0,t.jsxs)(n.T,{children:[e,(0,t.jsxs)("p",{className:d.g,children:["Seven products, one API key. Start with a single request and grow into a production agent without changing providers. That key covers text,"," ",o,","," ",i,","," ",l,", and"," ",s," models, documented in the"," ",(0,t.jsx)(a.TextLink,{href:"/docs/guides/overview/multimodal/overview",children:"multimodal guides"}),"."]})]})}),f[5]=c):c=f[5],f[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsxs)("section",{className:"flex w-full max-w-7xl flex-col gap-10 md:gap-12",children:[c,(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:z.map(M)})]}),f[6]=u):u=f[6],u}],726475)},33425,e=>{"use strict";let t="typescript",r="python";e.s(["A",0,[{id:t,label:"TypeScript",installCommand:"npm i @openrouter/agent"},{id:r,label:"Python",installCommand:"pip install openrouter-agent-sdk",isBeta:!0},{id:"go",label:"Go",installCommand:"go get github.com/OpenRouterTeam/go-agent",isBeta:!0}],"G",0,[{id:t,label:"TypeScript",installCommand:"npm i @openrouter/sdk"},{id:r,label:"Python",installCommand:"pip install openrouter"},{id:"go",label:"Go",installCommand:"go get github.com/OpenRouterTeam/go-sdk",isBeta:!0}],"p",0,"/docs/quickstart"])},792856,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(136562);function a(e){let a,i,n=(0,r.c)(5),{className:l,children:s}=e;return n[0]!==l?(a=(0,o.f)("mx-auto w-full max-w-7xl px-4 md:px-6",l),n[0]=l,n[1]=a):a=n[1],n[2]!==s||n[3]!==a?(i=(0,t.jsx)("div",{className:a,children:s}),n[2]=s,n[3]=a,n[4]=i):i=n[4],i}let i="font-brand text-size-display font-bold tracking-tight text-foreground md:text-4xl",n="text-size-section leading-relaxed text-muted-foreground";e.s(["t",0,a,"g",0,n,"j",0,i,"Z",0,function(e){let i,n,l,s=(0,r.c)(8),{id:c,className:d,children:u}=e;return s[0]!==d?(i=(0,o.f)("py-14 md:py-20",d),s[0]=d,s[1]=i):i=s[1],s[2]!==u?(n=(0,t.jsx)(a,{className:"flex flex-col gap-10 md:gap-12",children:u}),s[2]=u,s[3]=n):n=s[3],s[4]!==c||s[5]!==i||s[6]!==n?(l=(0,t.jsx)("section",{id:c,className:i,children:n}),s[4]=c,s[5]=i,s[6]=n,s[7]=l):l=s[7],l},"w",0,function(e){let o,a,l,s,c,d=(0,r.c)(12);return d[0]!==e?({overline:a,...o}=e,d[0]=e,d[1]=o,d[2]=a):(o=d[1],a=d[2]),d[3]!==a?(l=void 0===a?null:(0,t.jsx)("p",{className:"text-overline uppercase tracking-wider text-accent-foreground",children:a}),d[3]=a,d[4]=l):l=d[4],d[5]!==o.children||d[6]!==o.lead||d[7]!==o.title?(s=o.children??(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{className:i,children:o.title}),void 0===o.lead?null:(0,t.jsx)("p",{className:n,children:o.lead})]}),d[5]=o.children,d[6]=o.lead,d[7]=o.title,d[8]=s):s=d[8],d[9]!==l||d[10]!==s?(c=(0,t.jsxs)("div",{className:"mx-auto flex max-w-2xl flex-col items-center gap-3 text-center",children:[l,s]}),d[9]=l,d[10]=s,d[11]=c):c=d[11],c}])},378643,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(376885),a=e.i(138257);e.i(406201);var i=e.i(967605),n=e.i(980189);let l="/workspaces/default/keys";e.s(["f",0,function(e){let s,c,d=(0,r.c)(8),{isLoaded:u,isSignedIn:f}=(0,o.f)(),h=(0,a.useLocale)();d[0]!==u||d[1]!==f||d[2]!==h?(s=function(e,t){let r;return e.isLoaded?e.isSignedIn?{href:l,prefetch:void 0}:{href:(r=encodeURIComponent((0,n.f)(l,t)),`/sign-in?redirect_url=${r}`),prefetch:void 0}:{href:l,prefetch:!1}}({isLoaded:u,isSignedIn:f},h),d[0]=u,d[1]=f,d[2]=h,d[3]=s):s=d[3];let m=s;return d[4]!==e||d[5]!==m.href||d[6]!==m.prefetch?(c=(0,t.jsx)(i.Link,{...e,href:m.href,prefetch:m.prefetch}),d[4]=e,d[5]=m.href,d[6]=m.prefetch,d[7]=c):c=d[7],c}],378643)},42208,e=>{"use strict";var t=e.i(659350),r=e.i(663456),o=e.i(136562);e.s(["f",0,function(e){let a,i,n,l=(0,r.c)(7),{icon:s,isHoverAccent:c}=e,d=void 0!==c&&c&&"transition-colors group-hover:bg-accent-subtle group-hover:text-accent-foreground";return l[0]!==d?(a=(0,o.f)("flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-muted-foreground",d),l[0]=d,l[1]=a):a=l[1],l[2]!==s?(i=(0,t.jsx)(s,{className:"size-5","aria-hidden":"true"}),l[2]=s,l[3]=i):i=l[3],l[4]!==a||l[5]!==i?(n=(0,t.jsx)("span",{className:a,children:i}),l[4]=a,l[5]=i,l[6]=n):n=l[6],n}])}]); //# sourceMappingURL=1dgfih544_131.js.map