<!DOCTYPE html><html lang="en" class="scroll-smooth"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/70434a467ac4a08b-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/b8a2dcd8ba053f45-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/d2c053a71c898a63-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd428ce74986782b.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/6b87b622990d89a5.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/ee72f46acea55a45.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-81428d2ab6cd8ff7.js"/><script src="/_next/static/chunks/74a98e8c-ea88652f783f62c4.js" async=""></script><script src="/_next/static/chunks/1556-66f4c6317897b6bd.js" async=""></script><script src="/_next/static/chunks/main-app-34a905b4c8c61a0c.js" async=""></script><script src="/_next/static/chunks/493ff4cd-ec63ee6c1701a320.js" async=""></script><script src="/_next/static/chunks/6534-1e6d85aeae6e7f16.js" async=""></script><script src="/_next/static/chunks/6383-ce7ca56ad36d7585.js" async=""></script><script src="/_next/static/chunks/9386-1590de4fb5ea623c.js" async=""></script><script src="/_next/static/chunks/4522-55b2fdbd20268a26.js" async=""></script><script src="/_next/static/chunks/4448-9f2122283d0236e6.js" async=""></script><script src="/_next/static/chunks/2915-0a09c687990eef74.js" async=""></script><script src="/_next/static/chunks/5522-a47f94f6c4e6358a.js" async=""></script><script src="/_next/static/chunks/app/not-found-d728d84e0ea0b9fe.js" async=""></script><script src="/_next/static/chunks/app/layout-481f778335de28ce.js" async=""></script><link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=UA-44373548-16" as="script"/><meta name="robots" content="noindex"/><meta name="application-name" content="GraphQL.ORG"/><meta name="keywords" content="GraphQL"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@graphql"/><link rel="icon" href="/icon.svg?38f42ab34b981180" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><style>html { scroll-padding-top: 5rem }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-neu-0"><style>
html {
--font-sans: '__hostGrotesk_4b1926', '__hostGrotesk_Fallback_4b1926';
--font-mono: '__commitMono_9d2e4e', '__commitMono_Fallback_9d2e4e';
}</style><script>((e,t,r,n,o,i,l,a)=>{let s=document.documentElement,u=["light","dark"];function c(t){(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,n=r&&i?o.map(e=>i[e]||e):o;r?(s.classList.remove(...n),s.classList.add(i&&i[t]?i[t]:t)):s.setAttribute(e,t)}),a&&u.includes(t)&&(s.style.colorScheme=t)}if(n)c(n);else try{let e=localStorage.getItem(t)||r,n=l&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;c(n)}catch(e){}})("class","theme","system",null,["light","dark"],null,true,true)</script><div class="nextra-nav-container sticky top-0 z-20 w-full bg-transparent print:hidden"><div class="pointer-events-none absolute inset-0 -z-10 h-[200%] backdrop-blur-[6.4px]" style="mask-image:linear-gradient(to bottom, #000 0% 50%, transparent 50% 100%);-webkit-mask-image:linear-gradient(to bottom, #000 0% 50%, transparent 50% 100%);background:linear-gradient(to bottom,rgb(var(--nextra-bg),.97) 0%, rgb(var(--nextra-bg),.5) 50% 100%)"></div><div class="pointer-events-none absolute inset-0 h-full translate-y-full bg-white/10" style="backdrop-filter:blur(8px) brightness(120%) saturate(113%);mask-image:linear-gradient(to bottom, black 0, black 1px, transparent 1px);-webkit-mask-image:linear-gradient(to bottom, black 0, black 1px, transparent 1px)"></div><nav class="mx-auto flex h-[var(--nextra-navbar-height)] max-w-[120rem] items-center justify-end pl-[max(env(safe-area-inset-left),1.5rem)] pr-[max(env(safe-area-inset-right),1.5rem)]"><a class="nextra-focus flex items-center hover:opacity-75" href="/"><svg xmlns="http://www.w3.org/2000/svg" style="fill:color(display-p3 .8824 0 .5961)" viewBox="0 0 367 100" class="nextra-logo h-6" title="GraphQL"><path fill-rule="evenodd" d="m50 6.468 37.7 21.766v43.532L50 93.532 12.3 71.766V28.234zM16.53 30.676v31.976l27.692-47.964zM50 13.14 18.078 68.43h63.844zm27.692 59.52H22.308L50 88.648zm5.778-10.008L55.778 14.688 83.47 30.676z" clip-rule="evenodd"></path><circle cx="14.41" cy="29.45" r="8.91"></circle><circle cx="14.41" cy="70.545" r="8.91"></circle><circle cx="50" cy="91.09" r="8.91"></circle><circle cx="85.585" cy="70.545" r="8.91"></circle><circle cx="85.585" cy="29.455" r="8.91"></circle><circle cx="50" cy="8.91" r="8.91"></circle><path d="M138.875 71.625q-7.812 0-12.125-4.5t-4.562-12.062q-.063-1.876-.063-5.938t.063-5.937q.25-7.563 4.562-12.063t12.125-4.5q5.313 0 8.938 2 3.624 2 5.375 4.75 1.812 2.688 1.937 4.813v.124q0 .501-.375.813-.375.313-.938.313h-1.374q-.562 0-.813-.25t-.5-1q-1.062-3.313-4.125-5.563-3-2.25-8.125-2.25-5.812 0-9.187 3.188-3.313 3.187-3.563 9.937-.062 1.875-.062 5.625t.062 5.625q.25 6.75 3.563 9.938 3.375 3.186 9.187 3.187 5.813 0 9.375-3.312 3.562-3.314 3.562-9.813v-3.187h-10.874q-.625 0-1-.376a1.58 1.58 0 0 1-.375-1.062v-.875q0-.625.375-1 .375-.437 1-.437h13.374q.688 0 1.063.374.375.376.375 1.063v5.5q0 4.999-2 8.813-2 3.811-5.812 5.937-3.813 2.125-9.063 2.125M165.941 71q-.625 0-1-.375t-.375-1V39.938q0-.625.375-1 .375-.438 1-.438h1q.625 0 1 .438.438.375.438 1v2.874q2.25-4.312 8.5-4.312h2.312q.625 0 1 .375t.375 1v.875q0 .625-.375 1t-1 .375h-2.687q-3.75 0-5.938 2.188-2.187 2.187-2.187 5.937v19.375q0 .625-.438 1-.375.375-1 .375zM194.557 71.625q-3 0-5.563-1.25T184.869 67q-1.5-2.126-1.5-4.687 0-4.125 3.313-6.75 3.374-2.625 9.062-3.376l9.875-1.374v-2.188q0-3.438-2.125-5.25-2.063-1.875-6.375-1.875-3.188 0-5.25 1.25-2 1.25-2.562 3-.25.75-.625 1.063-.313.25-.875.25h-.875q-.563 0-1-.376a1.5 1.5 0 0 1-.375-1q0-1.374 1.25-3.187 1.25-1.875 3.875-3.25t6.437-1.375q6.687 0 9.5 3.188 2.813 3.187 2.813 7.75v20.812q0 .625-.375 1-.376.375-1 .375h-1.063q-.625 0-1-.375t-.375-1v-2.937q-1.375 2.061-4.062 3.5-2.626 1.437-7 1.437m.625-3.625q4.561 0 7.5-3 2.937-3 2.937-8.625V54.25l-8.062 1.125q-5.125.687-7.75 2.375T187.182 62q0 2.875 2.375 4.438Q191.994 68 195.182 68M220.752 82.875q-.624 0-1-.375-.375-.375-.375-1V39.875q0-.625.375-1 .376-.375 1-.375h1.063q.625 0 1 .375t.375 1v2.938q3.626-4.938 10.5-4.938 6.75 0 9.937 4.313 3.25 4.25 3.438 10.5.063.624.062 2.062 0 1.437-.062 2.063-.187 6.25-3.438 10.562-3.187 4.25-9.937 4.25-6.813 0-10.5-4.937V81.5q0 .625-.375 1t-1 .375zM233.315 68q5.062 0 7.375-3.187 2.375-3.25 2.562-8.313.063-.625.063-1.75 0-5.813-2.25-9.5-2.25-3.75-7.75-3.75-4.938 0-7.438 3.313-2.5 3.25-2.687 7.687l-.063 2.438.063 2.437a12.8 12.8 0 0 0 1.187 5.125q1.125 2.375 3.375 3.938Q230.002 68 233.315 68M257.068 71q-.625 0-1-.375t-.375-1V28q0-.625.375-1t1-.375h1.063q.625 0 1 .375t.375 1v14.813q1.875-2.439 4.25-3.688 2.437-1.25 6.25-1.25 6.125 0 9.437 3.938 3.313 3.874 3.313 10.062v17.75q0 .625-.375 1t-1 .375h-1.063q-.625 0-1-.375t-.375-1V52.188q0-5.063-2.5-7.876-2.437-2.812-7.062-2.812-4.5 0-7.188 2.875-2.687 2.813-2.687 7.813v17.437q0 .625-.375 1t-1 .375zM321.682 75.063q-.938 0-2-1.438l-2.75-3.812q-3.75 1.812-8.75 1.812-16.062 0-16.5-17.25-.062-1.875-.062-5.25t.062-5.25q.25-8.5 4.625-12.875t11.875-4.375T320.057 31t4.625 12.875q.125 3.75.125 5.25t-.125 5.25q-.312 8.937-4.562 13.125l4 5.625q.187.376.187.688a1.2 1.2 0 0 1-.375.874 1.2 1.2 0 0 1-.875.376zm-13.5-7.188q5.625 0 8.938-3.375 3.375-3.437 3.625-10.437.125-3.75.125-4.938t-.125-4.937q-.25-7-3.625-10.376-3.375-3.437-8.938-3.437-5.562 0-8.937 3.438-3.375 3.375-3.625 10.374-.063 1.875-.063 4.938t.063 4.938q.25 6.999 3.562 10.437 3.375 3.375 9 3.375M336.126 71q-.625 0-1-.375t-.375-1v-41q0-.625.375-1t1-.375h1.188q.625 0 1 .375t.375 1V67.25h21.562q.688 0 1.063.375t.375 1.063v.937q0 .625-.438 1-.375.375-1 .375z"></path></svg></a><div class="flex-1"></div><nav class="-mx-2 flex overflow-x-auto px-2 py-1.5 xl:absolute xl:left-1/2 xl:-translate-x-1/2"><ul aria-orientation="horizontal" class="flex w-full items-center gap-2"><li class="max-md:hidden"><a class="typography-menu flex items-center text-neu-900 px-3 py-1 nextra-focus [text-box:trim-both_cap_alphabetic] leading-none hover:underline underline-offset-2 md:py-5 whitespace-nowrap max-md:hidden" aria-current="false" href="/learn/">Learn</a></li><li class="max-md:hidden"><button type="button" aria-disabled="false" tabindex="0" aria-expanded="false" data-base-ui-navigation-menu-trigger="" class="typography-menu flex items-center text-neu-900 px-3 py-1 nextra-focus [text-box:trim-both_cap_alphabetic] leading-none hover:underline underline-offset-2 md:py-5 focus-visible:nextra-focusable flex items-center gap-1.5 whitespace-nowrap data-[popup-open]:underline max-md:hidden">Resource Hub</button></li><li class="max-md:hidden"><button type="button" aria-disabled="false" tabindex="0" aria-expanded="false" data-base-ui-navigation-menu-trigger="" class="typography-menu flex items-center text-neu-900 px-3 py-1 nextra-focus [text-box:trim-both_cap_alphabetic] leading-none hover:underline underline-offset-2 md:py-5 focus-visible:nextra-focusable flex items-center gap-1.5 whitespace-nowrap data-[popup-open]:underline max-md:hidden">Community</button></li><li class="max-md:hidden"><a class="typography-menu flex items-center text-neu-900 px-3 py-1 nextra-focus [text-box:trim-both_cap_alphabetic] leading-none hover:underline underline-offset-2 md:py-5 whitespace-nowrap max-md:hidden" aria-current="false" href="/blog/">Blog</a></li><li class="max-md:hidden"><a class="typography-menu flex items-center text-neu-900 px-3 py-1 nextra-focus [text-box:trim-both_cap_alphabetic] leading-none hover:underline underline-offset-2 md:py-5 whitespace-nowrap max-md:hidden" aria-current="false" href="/conf/2025/"><span class="relative block before:absolute before:-inset-x-3 before:-inset-y-1 before:border before:border-current [a:has(>&)]:text-pri-base dark:[a:has(>&)]:text-pri-light [a:hover:has(>&)]:no-underline [a:hover_&]:before:border-transparent">GraphQLConf<span class="max-xl:hidden"> 2025</span></span></a></li><li class="max-md:hidden"><a class="typography-menu flex items-center text-neu-900 px-3 py-1 nextra-focus [text-box:trim-both_cap_alphabetic] leading-none hover:underline underline-offset-2 md:py-5 whitespace-nowrap max-md:hidden" aria-current="false" href="/graphql-js/">GraphQL.JS Tutorial</a></li></ul></nav><div class="not-prose relative flex items-center text-neu-900 block select-none text-sm max-md:hidden [&>input::placeholder]:text-neu-700 [&>input]:bg-neu-0/[.55] [&>input]:text-neu-900"><input spellCheck="false" class="px-3 py-2 transition-colors w-full md:w-64 text-base leading-tight md:text-sm bg-black/[.05] dark:bg-neu-100/10 placeholder:text-neu-500 contrast-more:border contrast-more:border-current [&::-webkit-search-cancel-button]:_appearance-none" autoComplete="off" placeholder="Search..." id="headlessui-combobox-input-:R5n4d9uukq:" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/></div><button type="button" tabindex="0" role="combobox" aria-expanded="false" aria-haspopup="listbox" aria-label="Change theme" title="Change theme" class="gql-focus-visible relative cursor-pointer text-neu-800 transition-colors before:absolute before:-inset-2 hover:bg-neu-100 hover:text-neu-900 focus-visible:outline-offset-4 dark:text-neu-700 dark:hover:bg-neu-50/50 max-lg:hidden [&_span]:hidden"><div class="flex items-center gap-2 border border-transparent p-[5px] [[aria-expanded=true]>&]:border-neu-300 [[aria-expanded=true]>&]:bg-neu-0 [[aria-expanded=true]>&]:dark:border-neu-100"><svg fill="currentColor" viewBox="0 0 14 14" height="16"><path fill-rule="evenodd" d="M7.583 0H6.417v2.333h1.166zM0 6.417v1.166h2.333V6.417zm11.667 0H14v1.166h-2.333zM7.583 14H6.417v-2.333h1.166zM4.667 3.5h4.666v1.167H4.667zm0 5.833H3.5V4.667h1.167zm0 0V10.5h4.666V9.333H10.5V4.667H9.333v4.666zm7-8.166h1.166v1.166h-1.166zm0 1.166V3.5H10.5V2.333zm1.166 10.5h-1.166v-1.166h1.166zm-1.166-1.166H10.5V10.5h1.167zm-9.334-10.5H1.167v1.166h1.166V3.5H3.5V2.333H2.333zM1.167 12.833h1.166v-1.166H3.5V10.5H2.333v1.167H1.167z" clip-rule="evenodd"></path></svg><span class="text-sm capitalize leading-none sr-only">light</span></div></button><input style="clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;position:fixed;top:0;left:0;border:0;padding:0;width:1px;height:1px;margin:-1px" tabindex="-1" aria-hidden="true" value="light"/><button class="_transition nextra-hamburger p-2 text-pri-base md:hidden" aria-label="Menu" type="button" data-headlessui-state=""><svg fill="currentColor" viewBox="0 0 24 24" class="size-5"><path d="M4 6h16v2H4zm0 5h16v2H4zm16 5H4v2h16z"></path></svg></button></nav></div><div class="[transition:background-color_1.5s_ease] bg-transparent"></div><aside class="nextra-sidebar-container flex flex-col motion-reduce:transform-none motion-reduce:transition-none md:top-16 md:shrink-0 [.resizing_&]:transition-none transition-gpu duration-300 ease-in-out print:hidden md:w-64 md:hidden max-md:[transform:translate3d(0,-100%,0)]"><div class="px-4 pt-4 md:hidden"><div class="not-prose relative flex items-center text-neu-900 block select-none text-sm text-neu-500"><input spellCheck="false" class="px-3 py-2 transition-colors w-full md:w-64 text-base leading-tight md:text-sm bg-black/[.05] dark:bg-neu-100/10 placeholder:text-neu-500 contrast-more:border contrast-more:border-current [&::-webkit-search-cancel-button]:_appearance-none" autoComplete="off" placeholder="Search..." id="headlessui-combobox-input-:R2rel9uukq:" role="combobox" type="search" aria-expanded="false" aria-autocomplete="list" data-headlessui-state="" value=""/></div></div><div class="overflow-y-auto grow p-4 md:h-[calc(100vh-var(--nextra-navbar-height)-var(--nextra-menu-height))] xl:pl-0 nextra-scrollbar"></div><div class="nextra-sidebar-footer sticky bottom-0 mx-3 flex items-center gap-2 px-1 py-4 xl:ml-0.5 xl:mr-0 xl:px-0"><div class="flex grow flex-col"><button type="button" tabindex="0" role="combobox" aria-expanded="false" aria-haspopup="listbox" aria-label="Change theme" title="Change theme" class="gql-focus-visible relative cursor-pointer text-neu-800 transition-colors before:absolute before:-inset-2 hover:bg-neu-100 hover:text-neu-900 focus-visible:outline-offset-4 dark:text-neu-700 dark:hover:bg-neu-50/50"><div class="flex items-center gap-2 border border-transparent p-[5px] [[aria-expanded=true]>&]:border-neu-300 [[aria-expanded=true]>&]:bg-neu-0 [[aria-expanded=true]>&]:dark:border-neu-100"><svg fill="currentColor" viewBox="0 0 14 14" height="16"><path fill-rule="evenodd" d="M7.583 0H6.417v2.333h1.166zM0 6.417v1.166h2.333V6.417zm11.667 0H14v1.166h-2.333zM7.583 14H6.417v-2.333h1.166zM4.667 3.5h4.666v1.167H4.667zm0 5.833H3.5V4.667h1.167zm0 0V10.5h4.666V9.333H10.5V4.667H9.333v4.666zm7-8.166h1.166v1.166h-1.166zm0 1.166V3.5H10.5V2.333zm1.166 10.5h-1.166v-1.166h1.166zm-1.166-1.166H10.5V10.5h1.167zm-9.334-10.5H1.167v1.166h1.166V3.5H3.5V2.333H2.333zM1.167 12.833h1.166v-1.166H3.5V10.5H2.333v1.167H1.167z" clip-rule="evenodd"></path></svg><span class="text-sm capitalize leading-none text-neu-800">light</span></div></button><input style="clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;position:fixed;top:0;left:0;border:0;padding:0;width:1px;height:1px;margin:-1px" tabindex="-1" aria-hidden="true" value="light"/></div><button class="_transition p-2 text-neu-800 hover:bg-neu-100 hover:text-neu-900 dark:hover:bg-neu-500/5 max-md:hidden" title="Hide sidebar" type="button" data-headlessui-state=""><svg width="32" height="32" fill="currentColor" viewBox="0 0 32 32" class="size-5"><path d="M8 26.667H5.333V5.333H8zm10.667-4H16V20h2.667zm-2.667-8h10.667v2.666H16V20h-2.667v-2.667h-2.666v-2.666h2.666V12H16zM18.667 12H16V9.333h2.667z"></path></svg></button></div></aside><div class="isolate bg-neu-0 text-neu-900 antialiased"><style>.nextra-nav-container.sticky { position: fixed }</style><div class="relative"><div aria-hidden="true" class="pointer-events-none absolute inset-0" style="mask-image:url(/_next/static/media/image.020037df.webp);-webkit-mask-image:url(/_next/static/media/image.020037df.webp);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center 100%;-webkit-mask-position:center 100%;mask-size:130%;-webkit-mask-size:130%"><div class="absolute inset-0 bg-[linear-gradient(180deg,hsl(var(--color-pri-light)/.4)_0%,hsl(var(--color-neu-0)/.2)_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-pri-dark)/0.6)_0%,hsl(var(--color-pri-darker)/0.3)_100%)]" style="--stripe-width:8px;--angle:90deg;mask-image:repeating-linear-gradient(var(--angle), transparent, transparent var(--stripe-width), black var(--stripe-width), black calc(var(--stripe-width) * 2));-webkit-mask-image:repeating-linear-gradient(var(--angle), transparent, transparent var(--stripe-width), black var(--stripe-width), black calc(var(--stripe-width) * 2))"></div><div class="absolute inset-0 bg-[linear-gradient(180deg,hsl(var(--color-neu-0))_0%,hsl(var(--color-neu-0)/0)_100%)] dark:bg-[linear-gradient(180deg,hsl(var(--color-neu-0)/0.2)_0%,transparent_100%)]" style="--stripe-width:8px;--angle:90deg;mask-image:repeating-linear-gradient(var(--angle), black, black var(--stripe-width), transparent var(--stripe-width), transparent calc(var(--stripe-width) * 2));-webkit-mask-image:repeating-linear-gradient(var(--angle), black, black var(--stripe-width), transparent var(--stripe-width), transparent calc(var(--stripe-width) * 2))"></div></div><div class="relative z-10 flex h-[500px] min-h-[calc(100vh_-_531px)] flex-col items-center justify-center gap-8 pt-[--nextra-navbar-height] font-sans lg:h-[600px] lg:gap-10"><svg xmlns="http://www.w3.org/2000/svg" width="204" height="80" viewBox="0 0 204 80" fill="currentColor" class="text-pri-base"><title>404</title><path d="M45.2399 80V57.4806H0V33.8414H11.3411V22.5194H22.5576V11.3219H34.0234V0H57.9519V80H45.2399ZM12.5874 44.9145H45.2399V12.5661H35.2696V23.7636H23.8039V34.9611H12.5874V44.9145Z"></path><path d="M84.3652 80V68.8025H73.0241V11.3219H84.3652V0H119.51V11.3219H130.976V68.8025H119.51V80H84.3652ZM85.6115 67.5583H118.264V12.5661H85.6115V67.5583Z"></path><path d="M191.288 80V57.4806H146.048V33.8414H157.389V22.5194H168.606V11.3219H180.071V0H204V80H191.288ZM158.636 44.9145H191.288V12.5661H181.318V23.7636H169.852V34.9611H158.636V44.9145Z"></path></svg><h1 class="text-4xl text-neu-900">Page not found</h1><div class="flex gap-4 max-sm:flex-col"><a rel="noopener noreferrer" target="_blank" class="relative flex items-center justify-center gap-2.5 font-normal text-base/none text-neu-0 bg-neu-900 hover:bg-neu-800 active:bg-neu-700 font-sans h-14 px-8 data-[size=md]:h-12 data-[variant=secondary]:bg-neu-100 dark:data-[variant=secondary]:bg-neu-100/80 dark:data-[variant=secondary]:hover:bg-neu-200/50 data-[variant=secondary]:text-neu-900 data-[variant=secondary]:hover:bg-neu-200/75 data-[variant=secondary]:active:bg-neu-200/90 data-[variant=tertiary]:bg-neu-100 data-[variant=tertiary]:text-neu-900 data-[variant=tertiary]:hover:bg-neu-200 data-[variant=tertiary]:active:bg-neu-300 gql-focus-visible [aria-disabled]:bg-neu-800 aria-disabled:pointer-events-none dark:data-[variant=tertiary]:bg-neu-900/10 dark:data-[variant=tertiary]:text-neu-900 dark:data-[variant=tertiary]:hover:bg-neu-900/[.125] dark:data-[variant=tertiary]:active:bg-neu-800/20 dark:data-[variant=tertiary]:ring-1 dark:data-[variant=tertiary]:ring-inset dark:data-[variant=tertiary]:ring-neu-900/20" data-variant="primary" variant="primary" href="https://github.com/graphql/graphql.github.io/issues/new?title=Found%20broken%20%60%60%20link.%20Please%20fix!&labels=bug">Submit an issue about broken link</a><a class="relative flex items-center justify-center gap-2.5 font-normal text-base/none text-neu-0 bg-neu-900 hover:bg-neu-800 active:bg-neu-700 font-sans h-14 px-8 data-[size=md]:h-12 data-[variant=secondary]:bg-neu-100 dark:data-[variant=secondary]:bg-neu-100/80 dark:data-[variant=secondary]:hover:bg-neu-200/50 data-[variant=secondary]:text-neu-900 data-[variant=secondary]:hover:bg-neu-200/75 data-[variant=secondary]:active:bg-neu-200/90 data-[variant=tertiary]:bg-neu-100 data-[variant=tertiary]:text-neu-900 data-[variant=tertiary]:hover:bg-neu-200 data-[variant=tertiary]:active:bg-neu-300 gql-focus-visible [aria-disabled]:bg-neu-800 aria-disabled:pointer-events-none dark:data-[variant=tertiary]:bg-neu-900/10 dark:data-[variant=tertiary]:text-neu-900 dark:data-[variant=tertiary]:hover:bg-neu-900/[.125] dark:data-[variant=tertiary]:active:bg-neu-800/20 dark:data-[variant=tertiary]:ring-1 dark:data-[variant=tertiary]:ring-inset dark:data-[variant=tertiary]:ring-neu-900/20" data-variant="tertiary" variant="tertiary" href="/">Go back home</a></div></div></div></div><footer class="relative isolate !bg-neu-100 text-neu-900 dark:!bg-neu-0 max-md:px-0 max-md:pt-0"><div role="presentation" class="pointer-events-none absolute inset-0 z-[1] [--start-1:rgba(255,204,239,.05)] [--end-1:hsl(var(--color-pri-base)/.8)] dark:[--start-1:hsl(var(--color-pri-darker))] dark:[--end-1:hsl(var(--color-pri-base)/.9)] [--start-2:transparent] [--end-2:hsl(var(--color-pri-base)/.6)] dark:[--start-2:rgba(255,204,239,.1)] dark:[--end-2:hsl(var(--color-pri-base)/.8)] mix-blend-darken dark:mix-blend-lighten max-sm:![mask-size:300vw_200px] max-sm:![mask-position:center_calc(100%-100px)] sm:max-lg:![mask-origin:bottom] sm:max-lg:![mask-size:250%_300px] sm:max-lg:![mask-position:center_calc(100%-30px)] max-lg:rotate-180 " style="mask-image:url(/_next/static/media/blur-bean.d5aa6d13.webp);-webkit-mask-image:url(/_next/static/media/blur-bean.d5aa6d13.webp);mask-position:center 260px;-webkit-mask-position:center 260px;mask-size:200% 100%;-webkit-mask-size:200% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-origin:top"><div class="absolute inset-0 bg-[linear-gradient(180deg,var(--start-1)_0%,var(--end-1)_200%)]" style="--stripe-width:12px;--angle:90deg;mask-image:repeating-linear-gradient(var(--angle), transparent, transparent var(--stripe-width), black var(--stripe-width), black calc(var(--stripe-width) * 2));-webkit-mask-image:repeating-linear-gradient(var(--angle), transparent, transparent var(--stripe-width), black var(--stripe-width), black calc(var(--stripe-width) * 2))"></div><div class="absolute inset-0 bg-[linear-gradient(180deg,var(--start-2)_0%,var(--end-2)_200%)]" style="--stripe-width:12px;--angle:90deg;mask-image:repeating-linear-gradient(var(--angle), black, black var(--stripe-width), transparent var(--stripe-width), transparent calc(var(--stripe-width) * 2));-webkit-mask-image:repeating-linear-gradient(var(--angle), black, black var(--stripe-width), transparent var(--stripe-width), transparent calc(var(--stripe-width) * 2))"></div></div><div class="mx-auto max-w-[120rem] border-neu-400 dark:border-neu-100 xl:border-t 3xl:border-x"><div class="flex flex-wrap justify-between gap-4 p-4 max-md:w-full md:p-6 2xl:px-10"><a class="nextra-logo flex items-center" href="/"><svg xmlns="http://www.w3.org/2000/svg" style="fill:color(display-p3 .8824 0 .5961)" viewBox="0 0 367 100" class="h-6" title="GraphQL"><path fill-rule="evenodd" d="m50 6.468 37.7 21.766v43.532L50 93.532 12.3 71.766V28.234zM16.53 30.676v31.976l27.692-47.964zM50 13.14 18.078 68.43h63.844zm27.692 59.52H22.308L50 88.648zm5.778-10.008L55.778 14.688 83.47 30.676z" clip-rule="evenodd"></path><circle cx="14.41" cy="29.45" r="8.91"></circle><circle cx="14.41" cy="70.545" r="8.91"></circle><circle cx="50" cy="91.09" r="8.91"></circle><circle cx="85.585" cy="70.545" r="8.91"></circle><circle cx="85.585" cy="29.455" r="8.91"></circle><circle cx="50" cy="8.91" r="8.91"></circle><path d="M138.875 71.625q-7.812 0-12.125-4.5t-4.562-12.062q-.063-1.876-.063-5.938t.063-5.937q.25-7.563 4.562-12.063t12.125-4.5q5.313 0 8.938 2 3.624 2 5.375 4.75 1.812 2.688 1.937 4.813v.124q0 .501-.375.813-.375.313-.938.313h-1.374q-.562 0-.813-.25t-.5-1q-1.062-3.313-4.125-5.563-3-2.25-8.125-2.25-5.812 0-9.187 3.188-3.313 3.187-3.563 9.937-.062 1.875-.062 5.625t.062 5.625q.25 6.75 3.563 9.938 3.375 3.186 9.187 3.187 5.813 0 9.375-3.312 3.562-3.314 3.562-9.813v-3.187h-10.874q-.625 0-1-.376a1.58 1.58 0 0 1-.375-1.062v-.875q0-.625.375-1 .375-.437 1-.437h13.374q.688 0 1.063.374.375.376.375 1.063v5.5q0 4.999-2 8.813-2 3.811-5.812 5.937-3.813 2.125-9.063 2.125M165.941 71q-.625 0-1-.375t-.375-1V39.938q0-.625.375-1 .375-.438 1-.438h1q.625 0 1 .438.438.375.438 1v2.874q2.25-4.312 8.5-4.312h2.312q.625 0 1 .375t.375 1v.875q0 .625-.375 1t-1 .375h-2.687q-3.75 0-5.938 2.188-2.187 2.187-2.187 5.937v19.375q0 .625-.438 1-.375.375-1 .375zM194.557 71.625q-3 0-5.563-1.25T184.869 67q-1.5-2.126-1.5-4.687 0-4.125 3.313-6.75 3.374-2.625 9.062-3.376l9.875-1.374v-2.188q0-3.438-2.125-5.25-2.063-1.875-6.375-1.875-3.188 0-5.25 1.25-2 1.25-2.562 3-.25.75-.625 1.063-.313.25-.875.25h-.875q-.563 0-1-.376a1.5 1.5 0 0 1-.375-1q0-1.374 1.25-3.187 1.25-1.875 3.875-3.25t6.437-1.375q6.687 0 9.5 3.188 2.813 3.187 2.813 7.75v20.812q0 .625-.375 1-.376.375-1 .375h-1.063q-.625 0-1-.375t-.375-1v-2.937q-1.375 2.061-4.062 3.5-2.626 1.437-7 1.437m.625-3.625q4.561 0 7.5-3 2.937-3 2.937-8.625V54.25l-8.062 1.125q-5.125.687-7.75 2.375T187.182 62q0 2.875 2.375 4.438Q191.994 68 195.182 68M220.752 82.875q-.624 0-1-.375-.375-.375-.375-1V39.875q0-.625.375-1 .376-.375 1-.375h1.063q.625 0 1 .375t.375 1v2.938q3.626-4.938 10.5-4.938 6.75 0 9.937 4.313 3.25 4.25 3.438 10.5.063.624.062 2.062 0 1.437-.062 2.063-.187 6.25-3.438 10.562-3.187 4.25-9.937 4.25-6.813 0-10.5-4.937V81.5q0 .625-.375 1t-1 .375zM233.315 68q5.062 0 7.375-3.187 2.375-3.25 2.562-8.313.063-.625.063-1.75 0-5.813-2.25-9.5-2.25-3.75-7.75-3.75-4.938 0-7.438 3.313-2.5 3.25-2.687 7.687l-.063 2.438.063 2.437a12.8 12.8 0 0 0 1.187 5.125q1.125 2.375 3.375 3.938Q230.002 68 233.315 68M257.068 71q-.625 0-1-.375t-.375-1V28q0-.625.375-1t1-.375h1.063q.625 0 1 .375t.375 1v14.813q1.875-2.439 4.25-3.688 2.437-1.25 6.25-1.25 6.125 0 9.437 3.938 3.313 3.874 3.313 10.062v17.75q0 .625-.375 1t-1 .375h-1.063q-.625 0-1-.375t-.375-1V52.188q0-5.063-2.5-7.876-2.437-2.812-7.062-2.812-4.5 0-7.188 2.875-2.687 2.813-2.687 7.813v17.437q0 .625-.375 1t-1 .375zM321.682 75.063q-.938 0-2-1.438l-2.75-3.812q-3.75 1.812-8.75 1.812-16.062 0-16.5-17.25-.062-1.875-.062-5.25t.062-5.25q.25-8.5 4.625-12.875t11.875-4.375T320.057 31t4.625 12.875q.125 3.75.125 5.25t-.125 5.25q-.312 8.937-4.562 13.125l4 5.625q.187.376.187.688a1.2 1.2 0 0 1-.375.874 1.2 1.2 0 0 1-.875.376zm-13.5-7.188q5.625 0 8.938-3.375 3.375-3.437 3.625-10.437.125-3.75.125-4.938t-.125-4.937q-.25-7-3.625-10.376-3.375-3.437-8.938-3.437-5.562 0-8.937 3.438-3.375 3.375-3.625 10.374-.063 1.875-.063 4.938t.063 4.938q.25 6.999 3.562 10.437 3.375 3.375 9 3.375M336.126 71q-.625 0-1-.375t-.375-1v-41q0-.625.375-1t1-.375h1.188q.625 0 1 .375t.375 1V67.25h21.562q.688 0 1.063.375t.375 1.063v.937q0 .625-.438 1-.375.375-1 .375z"></path></svg></a><div class="typography-menu flex items-center *:rounded-none dark:*:text-neu-900 md:hidden"><button type="button" tabindex="0" role="combobox" aria-expanded="false" aria-haspopup="listbox" aria-label="Change theme" title="Change theme" class="gql-focus-visible relative cursor-pointer text-neu-800 transition-colors before:absolute before:-inset-2 hover:bg-neu-100 hover:text-neu-900 focus-visible:outline-offset-4 dark:text-neu-700 dark:hover:bg-neu-50/50"><div class="flex items-center gap-2 border border-transparent p-[5px] [[aria-expanded=true]>&]:border-neu-300 [[aria-expanded=true]>&]:bg-neu-0 [[aria-expanded=true]>&]:dark:border-neu-100"><svg fill="currentColor" viewBox="0 0 14 14" height="16"><path fill-rule="evenodd" d="M7.583 0H6.417v2.333h1.166zM0 6.417v1.166h2.333V6.417zm11.667 0H14v1.166h-2.333zM7.583 14H6.417v-2.333h1.166zM4.667 3.5h4.666v1.167H4.667zm0 5.833H3.5V4.667h1.167zm0 0V10.5h4.666V9.333H10.5V4.667H9.333v4.666zm7-8.166h1.166v1.166h-1.166zm0 1.166V3.5H10.5V2.333zm1.166 10.5h-1.166v-1.166h1.166zm-1.166-1.166H10.5V10.5h1.167zm-9.334-10.5H1.167v1.166h1.166V3.5H3.5V2.333H2.333zM1.167 12.833h1.166v-1.166H3.5V10.5H2.333v1.167H1.167z" clip-rule="evenodd"></path></svg><span class="text-sm capitalize leading-none text-neu-800">light</span></div></button><input style="clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;position:fixed;top:0;left:0;border:0;padding:0;width:1px;height:1px;margin:-1px" tabindex="-1" aria-hidden="true" value="light"/></div></div><div class="grid grid-cols-2 gap-px bg-neu-400 py-px dark:bg-neu-100 lg:grid-cols-5"><div class="typography-menu relative bg-neu-100 py-4 dark:bg-neu-0 lg:py-6 3xl:py-10"><h3 class="font-bold lg:mb-4 3xl:mb-10"><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/learn/">Learn</a></h3><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/learn/">Introduction</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/learn/best-practices/">Best Practices</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/faq/"><span><span class="max-md:hidden">Frequently Asked Questions</span><span class="md:hidden">FAQ</span></span></a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/community/resources/training-courses/">Training Courses</a></div><div class="typography-menu relative bg-neu-100 py-4 dark:bg-neu-0 lg:py-6 3xl:py-10"><h3 class="font-bold lg:mb-4 3xl:mb-10"><span class="block p-4 md:px-6 2xl:px-10">Code</span></h3><a rel="noopener noreferrer" target="_blank" href="https://github.com/graphql" class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10">GitHub</a><a rel="noopener noreferrer" target="_blank" href="https://spec.graphql.org" class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10">Specification</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/code/">Libraries & Tools</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/code/?tags=services">Services & Vendors</a></div><div class="typography-menu relative bg-neu-100 py-4 dark:bg-neu-0 lg:py-6 3xl:py-10"><h3 class="font-bold lg:mb-4 3xl:mb-10"><span class="block p-4 md:px-6 2xl:px-10">Community</span></h3><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/community/resources/official-channels/">Resources</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/community/events/">Events</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/community/contribute/essential-links/"><span>Contribute<span class="max-md:hidden"> to GraphQL</span></span></a><a rel="noopener noreferrer" target="_blank" href="https://landscape.graphql.org" class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10">Landscape</a><a rel="noopener noreferrer" target="_blank" href="https://store.graphql.org/" class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10">Shop</a></div><div class="typography-menu relative bg-neu-100 py-4 dark:bg-neu-0 lg:py-6 3xl:py-10"><h3 class="font-bold lg:mb-4 3xl:mb-10"><span class="block p-4 md:px-6 2xl:px-10">& More</span></h3><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/blog/">Blog</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/foundation/">GraphQL Foundation</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/foundation/community-grant/">Community Grant</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/brand/">Brand Guidelines</a><a class="gql-focus-visible block p-4 underline-offset-4 hover:underline focus-visible:!-outline-offset-4 md:px-6 2xl:px-10" href="/codeofconduct/">Code of Conduct</a></div><div class="flex flex-col max-lg:contents"><a class="dark gql-focus-visible group relative inline-flex flex-col bg-pri-base text-neu-900 after:absolute after:inset-0 hover:after:bg-white/[.025] dark:bg-pri-dark z-[2] col-span-full flex-1 max-lg:row-start-1" href="/conf/2025/"><div class="flex flex-1 flex-col gap-4 border-b border-pri-lighter p-4 dark:border-pri-light/50"><h2 class="font-mono text-2xl uppercase leading-none md:text-3xl"><span class="max-xs:hidden">Join</span> GraphQLConf 2025</h2></div><div class="typography-body-sm flex font-sans"><div class="flex-1 justify-center border-r border-pri-lighter p-4 dark:border-pri-light/50">September <span class="whitespace-nowrap">08–10</span><br/>Amsterdam, Netherlands</div><div class="flex w-[min(calc(25%-.5px),73.5px)] items-center justify-center"><svg width="40" height="40" fill="currentColor" viewBox="0 0 40 40" class="size-10 -rotate-90 text-pri-lighter transition group-hover:translate-x-0.5 group-hover:text-neu-900"><path fill-rule="evenodd" d="M18.333 6.667h3.334v20H25V30h-3.333v3.333h-3.334V30H15v-3.334h3.333zm-6.666 16.666v3.334H15v-3.334zm0 0V20H8.333v3.333zm16.666 0v3.334H25v-3.334zm0 0V20h3.334v3.333z" clip-rule="evenodd"></path></svg></div></div></a><div class="flex items-center gap-1 *:p-2 *:outline-none *:transition-colors hover:*:text-primary focus:*:text-primary focus:*:ring focus:*:ring-primary [&_svg]:h-5 gql-all-anchors-focusable col-span-full gap-px text-pri-base *:flex *:flex-1 *:items-center *:justify-center *:bg-neu-100 *:dark:bg-neu-0 max-sm:*:aspect-square lg:*:aspect-square [&>a:focus]:text-current [&>a:focus]:!-outline-offset-[6px] [&>a:focus]:ring-transparent [&>a:hover]:bg-neu-0/90 [&>a:hover]:text-current [&_svg]:!h-8"><a href="https://github.com/graphql" aria-label="GitHub" target="_blank" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 30 30"><path fill-rule="evenodd" d="M15.1.413a14.81 14.81 0 0 0-4.684 28.862c.742.138 1.012-.32 1.012-.712 0-.35-.013-1.283-.02-2.518-4.12.893-4.99-1.987-4.99-1.987-.675-1.71-1.643-2.165-1.643-2.165-1.345-.918.1-.9.1-.9 1.488.105 2.27 1.525 2.27 1.525 1.32 2.265 3.466 1.61 4.31 1.23.133-.955.515-1.608.94-1.978-3.29-.375-6.747-1.645-6.747-7.32 0-1.615.577-2.937 1.525-3.975-.15-.372-.66-1.88.145-3.917 0 0 1.242-.4 4.075 1.517a14.3 14.3 0 0 1 3.705-.5 14.2 14.2 0 0 1 3.707.5c2.826-1.915 4.068-1.517 4.068-1.517.807 2.037.3 3.545.15 3.92.95 1.035 1.52 2.357 1.52 3.975 0 5.687-3.462 6.94-6.76 7.305.53.457 1.005 1.36 1.005 2.742 0 1.98-.02 3.575-.02 4.063 0 .395.267.857 1.02.712A14.816 14.816 0 0 0 15.101.413" clip-rule="evenodd"></path></svg></a><a href="https://discord.graphql.org" aria-label="Discord" target="_blank" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" fill="#5865f2" viewBox="0 0 20 20" class="fill-current"><path d="M16.956 3.693a16.5 16.5 0 0 0-4.134-1.274 10 10 0 0 0-.526 1.072 15.8 15.8 0 0 0-4.58 0 13 13 0 0 0-.525-1.072c-1.429.239-2.82.667-4.135 1.274C.44 7.553-.269 11.323.085 15.043a16.8 16.8 0 0 0 5.065 2.536q.614-.828 1.08-1.747a10.6 10.6 0 0 1-1.708-.82 6 6 0 0 0 .415-.323c3.295 1.507 6.864 1.507 10.119 0 .141.111.272.223.414.324-.546.323-1.112.596-1.709.818a12.3 12.3 0 0 0 1.083 1.75 16.8 16.8 0 0 0 5.064-2.538c.434-4.305-.689-8.045-2.952-11.35m-10.27 9.056c-.99 0-1.8-.9-1.8-2.002s.79-2.001 1.8-2.001c1 0 1.82.9 1.798 2.002 0 1.101-.798 2-1.798 2m6.641 0c-.99 0-1.8-.9-1.8-2.002s.79-2.001 1.8-2.001c1 0 1.82.9 1.8 2.002 0 1.101-.79 2-1.8 2"></path></svg></a><a href="https://twitter.com/graphql" aria-label="Twitter" target="_blank" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20"><path d="m11.396 9.473 5.461-6.216h-1.293L10.82 8.654 7.034 3.257H2.666l5.726 8.161-5.726 6.518H3.96l5.006-5.7 4 5.7h4.367M4.427 4.212h1.987l9.149 12.816h-1.988"></path></svg></a><a href="https://linkedin.com/company/graphql-foundation" aria-label="LinkedIn" target="_blank" rel="noreferrer"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="0" viewBox="0 0 24 24"><path stroke="none" d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6M2 9h4v12H2z"></path><circle cx="4" cy="4" r="2" stroke="none"></circle></svg></a></div></div></div><div class="relative flex items-center justify-between gap-4 p-4 max-md:justify-center md:px-6 2xl:px-10"><div class="typography-menu flex items-center *:rounded-none dark:*:text-neu-900 max-md:hidden"><button type="button" tabindex="0" role="combobox" aria-expanded="false" aria-haspopup="listbox" aria-label="Change theme" title="Change theme" class="gql-focus-visible relative cursor-pointer text-neu-800 transition-colors before:absolute before:-inset-2 hover:bg-neu-100 hover:text-neu-900 focus-visible:outline-offset-4 dark:text-neu-700 dark:hover:bg-neu-50/50"><div class="flex items-center gap-2 border border-transparent p-[5px] [[aria-expanded=true]>&]:border-neu-300 [[aria-expanded=true]>&]:bg-neu-0 [[aria-expanded=true]>&]:dark:border-neu-100"><svg fill="currentColor" viewBox="0 0 14 14" height="16"><path fill-rule="evenodd" d="M7.583 0H6.417v2.333h1.166zM0 6.417v1.166h2.333V6.417zm11.667 0H14v1.166h-2.333zM7.583 14H6.417v-2.333h1.166zM4.667 3.5h4.666v1.167H4.667zm0 5.833H3.5V4.667h1.167zm0 0V10.5h4.666V9.333H10.5V4.667H9.333v4.666zm7-8.166h1.166v1.166h-1.166zm0 1.166V3.5H10.5V2.333zm1.166 10.5h-1.166v-1.166h1.166zm-1.166-1.166H10.5V10.5h1.167zm-9.334-10.5H1.167v1.166h1.166V3.5H3.5V2.333H2.333zM1.167 12.833h1.166v-1.166H3.5V10.5H2.333v1.167H1.167z" clip-rule="evenodd"></path></svg><span class="text-sm capitalize leading-none text-neu-800">light</span></div></button><input style="clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;position:fixed;top:0;left:0;border:0;padding:0;width:1px;height:1px;margin:-1px" tabindex="-1" aria-hidden="true" value="light"/></div><p class="typography-body-xs flex flex-col text-pretty max-md:gap-5">Copyright © <!-- -->2026<!-- --> The GraphQL Foundation. All rights reserved.</p></div></div></footer><script src="/_next/static/chunks/webpack-81428d2ab6cd8ff7.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/css/cd428ce74986782b.css\",\"style\"]\n2:HL[\"/_next/static/css/6b87b622990d89a5.css\",\"style\"]\n3:HL[\"/_next/static/media/70434a467ac4a08b-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/b8a2dcd8ba053f45-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/media/d2c053a71c898a63-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n6:HL[\"/_next/static/css/ee72f46acea55a45.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"7:I[49280,[],\"\"]\n9:I[76062,[],\"ClientPageRoot\"]\na:I[84185,[\"1601\",\"static/chunks/493ff4cd-ec63ee6c1701a320.js\",\"6534\",\"static/chunks/6534-1e6d85aeae6e7f16.js\",\"6383\",\"static/chunks/6383-ce7ca56ad36d7585.js\",\"9386\",\"static/chunks/9386-1590de4fb5ea623c.js\",\"4522\",\"static/chunks/4522-55b2fdbd20268a26.js\",\"4448\",\"static/chunks/4448-9f2122283d0236e6.js\",\"2915\",\"static/chunks/2915-0a09c687990eef74.js\",\"5522\",\"static/chunks/5522-a47f94f6c4e6358a.js\",\"9160\",\"static/chunks/app/not-found-d728d84e0ea0b9fe.js\"],\"default\",1]\nb:I[93060,[],\"\"]\nc:I[96862,[],\"\"]\nd:I[64700,[\"4522\",\"static/chunks/4522-55b2fdbd20268a26.js\",\"3185\",\"static/chunks/app/layout-481f778335de28ce.js\"],\"default\"]\ne:I[84185,[\"1601\",\"static/chunks/493ff4cd-ec63ee6c1701a320.js\",\"6534\",\"static/chunks/6534-1e6d85aeae6e7f16.js\",\"6383\",\"static/chunks/6383-ce7ca56ad36d7585.js\",\"9386\",\"static/chunks/9386-1590de4fb5ea623c.js\",\"4522\",\"static/chunks/4522-55b2fdbd20268a26.js\",\"4448\",\"static/chunks/4448-9f2122283d0236e6.js\",\"2915\",\"static/chunks/2915-0a09c687990eef74.js\",\"5522\",\"static/chunks/5522-a47f94f6c4e6358a.js\",\"9160\",\"static/chunks/app/not-found-d728d84e0ea0b9fe.js\"],\"default\"]\n10:I[70657,[],\"\"]\n11:[]\n0:[\"$\",\"$L7\",null,{\"buildId\":\"Dh41QmVj0A-a0XFQ7eiLo\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"_not-found\",\"\"],\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L8\",[\"$\",\"$L9\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$a\"}],[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ee72f46acea55a45.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]],null],null]},[null,[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[[[\"$\",\"link\",\"0\",{\"r"])</script><script>self.__next_f.push([1,"el\":\"stylesheet\",\"href\":\"/_next/static/css/cd428ce74986782b.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/6b87b622990d89a5.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"scroll-smooth\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"style\",null,{\"children\":\"html { scroll-padding-top: 5rem }\"}]}],[\"$\",\"body\",null,{\"className\":\"bg-neu-0\",\"children\":[[\"$\",\"$Ld\",null,{}],[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$\",\"$Le\",null,{}],\"notFoundStyles\":[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ee72f46acea55a45.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]]}]]}]]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lf\"],\"globalErrorComponent\":\"$10\",\"missingSlots\":\"$W11\"}]\n"])</script><script>self.__next_f.push([1,"f:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"GraphQL.ORG\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"GraphQL\"}],[\"$\",\"meta\",\"4\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"5\",{\"name\":\"twitter:site\",\"content\":\"@graphql\"}],[\"$\",\"link\",\"6\",{\"rel\":\"icon\",\"href\":\"/icon.svg?38f42ab34b981180\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"7\",{\"name\":\"next-size-adjust\"}]]\n8:null\n"])</script></body></html>