1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9980],{4437:()=>{},48270:(e,t,n)=>{Promise.resolve().then(n.bind(n,67308)),Promise.resolve().then(n.bind(n,63287)),Promise.resolve().then(n.bind(n,40946)),Promise.resolve().then(n.t.bind(n,41402,23)),Promise.resolve().then(n.bind(n,4444)),Promise.resolve().then(n.t.bind(n,4437,23)),Promise.resolve().then(n.t.bind(n,87687,23)),Promise.resolve().then(n.bind(n,67447)),Promise.resolve().then(n.bind(n,98099)),Promise.resolve().then(n.bind(n,86519)),Promise.resolve().then(n.bind(n,94359)),Promise.resolve().then(n.bind(n,88826)),Promise.resolve().then(n.bind(n,84265)),Promise.resolve().then(n.bind(n,35526))},67447:(e,t,n)=>{"use strict";n.d(t,{default:()=>u});var o=n(95155),s=n(12115),a=n(91213),r=n(37025),i=n(48854);function l(e){let{enabled:t}=e,n=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{if(!t)return;let e="G-V77DEME9QG";if(!e)return void console.error("[ga4] NEXT_PUBLIC_GA4_MEASUREMENT_ID is not set");if(n.current)return;if(n.current=!0,document.querySelector('script[data-es-ga4="gtag-js"]'))return void console.log("[ga4] script already exists, skipping");let o=document.createElement("script");o.async=!0,o.src="https://www.googletagmanager.com/gtag/js?id=".concat(encodeURIComponent(e)),o.setAttribute("data-es-ga4","gtag-js"),o.onload=()=>{function t(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];window.dataLayer.push(arguments)}console.log("[ga4] gtag.js loaded, initializing"),window.dataLayer=window.dataLayer||[],window.gtag=t,t("js",new Date),t("config",e,{anonymize_ip:!0,send_page_view:!0,debug_mode:!1}),console.log("[ga4] config sent, gtag type:",typeof window.gtag)},o.onerror=()=>{console.error("[ga4] failed to load gtag.js")},document.head.appendChild(o)},[t]),null}function c(){try{var e;let t=a.getUserPreferences();return new Set(null!=(e=null==t?void 0:t.acceptedCategories)?e:[]).has("analytics")}catch(e){return!1}}function d(){try{var e,t;return null!=(t=null==(e=a.getUserPreferences())?void 0:e.acceptedCategories)?t:[]}catch(e){return[]}}function u(){console.log("[consent] ConsentGatedAnalytics mounted");let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{console.log("[consent] running CookieConsent.run"),a.run({categories:{necessary:{enabled:!0,readOnly:!0},analytics:{},marketing:{}},guiOptions:{consentModal:{layout:"box",position:"bottom right",equalWeightButtons:!0,flipButtons:!1},preferencesModal:{layout:"box",position:"right",equalWeightButtons:!0,flipButtons:!1}},language:{default:"en",translations:{en:{consentModal:{title:"Cookies",description:"We use necessary cookies to run the site. Analytics cookies help us improve it. You decide.",acceptAllBtn:"Accept all",acceptNecessaryBtn:"Reject non-essential",showPreferencesBtn:"Manage",footer:'<a href="/privacy-policy">Privacy</a>'},preferencesModal:{title:"Cookie preferences",acceptAllBtn:"Accept all",acceptNecessaryBtn:"Reject non-essential",savePreferencesBtn:"Save",closeIconLabel:"Close",sections:[{title:"Necessary",description:"Required for the site to work (always on).",linkedCategory:"necessary"},{title:"Analytics",description:"Helps us understand usage and improve the site.",linkedCategory:"analytics"},{title:"Marketing",description:"Used for advertising and conversion tracking.",linkedCategory:"marketing"}]}}}},onFirstConsent:()=>{let e=c();console.log("[consent] onFirstConsent accepted categories:",d()),console.log("[consent] onFirstConsent analyticsEnabled:",e),t(e)},onConsent:()=>{let e=c();console.log("[consent] onConsent accepted categories:",d()),console.log("[consent] onConsent analyticsEnabled:",e),t(e)},onChange:()=>{let e=c();console.log("[consent] onChange accepted categories:",d()),console.log("[consent] onChange analyticsEnabled:",e),t(e)}}),window.__cc_ready=!0,window.dispatchEvent(new Event("cc:ready"))},[]),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l,{enabled:e}),e?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r.j,{}),(0,o.jsx)(i.b,{})]}):null]})}},84265:(e,t,n)=>{"use strict";n.d(t,{default:()=>r});var o=n(95155),s=n(20063),a=n(48564);function r(e){let t=function(){var e,t;let{lang:n}=null!=(t=null==(e=(0,s.usePathname)().match(new RegExp("^/(blog/)?(?<lang>[".concat(a.eo.join("|"),"]+)"))))?void 0:e.groups)?t:{};return n||(null===a.eo||void 0===a.eo?void 0:a.eo[0])||"en"}();return(0,o.jsx)("html",{lang:t,...e})}},87687:()=>{},94359:(e,t,n)=>{"use strict";n.d(t,{default:()=>l});var o=n(95155),s=n(20063),a=n(46079),r=n(83572),i=n(82962);function l(e){let{globalModules:t}=e,n=(0,s.usePathname)(),l=null==t?void 0:t.filter(e=>{let{path:t,excludePaths:o}=e,s=(0,r.Q)(t),a=n.replace(/^\//,"");return"*"===s||a.startsWith(s)&&!(null==o?void 0:o.some(e=>a.startsWith(e)))}).sort((e,t)=>
1e.path.localeCompare(t.path));return(0,o.jsxs)("details",{className:"frosted-glass fixed right-4 bottom-0 rounded-t bg-amber-200/90 text-xs shadow-xl not-hover:opacity-50 open:opacity-100",children:[(0,o.jsx)("summary",{className:"p-2",children:"Draft Mode"}),(0,o.jsxs)("menu",{className:"anim-fade-to-r p-2 pt-0",children:[null==l?void 0:l.map(e=>{let{_id:t,path:n}=e,s=(0,i.TS)({id:t,type:"global-module",path:"path"});return(0,o.jsx)("li",{children:(0,o.jsxs)("button",{className:"inline-flex items-center gap-1 py-0.5","data-sanity":s().toString(),children:[(0,o.jsx)(a.B0d,{className:"shrink-0"}),"Global modules (",(0,o.jsx)("code",{children:n}),")"]})},t)}),(0,o.jsx)("hr",{className:"my-1"}),(0,o.jsx)("li",{children:(0,o.jsxs)("a",{className:"inline-flex items-center gap-1 py-0.5 hover:underline",href:"/api/draft-mode/disable",children:[(0,o.jsx)(a.hSZ,{className:"shrink-0"}),"Disable Draft Mode"]})})]})]})}},98099:(e,t,n)=>{"use strict";n.d(t,{default:()=>i});var o=n(12115);let s="#cookie-preferences";async function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=Date.now();for(;Date.now()-t<e;){if(window.__cc_ready)return!0;await new Promise(e=>setTimeout(e,50))}return!1}async function r(){let e=await Promise.resolve().then(n.bind(n,91213));await a(2e3);for(let t=0;t<20;t++){try{return e.showPreferences(),await new Promise(e=>setTimeout(e,50)),!0}catch(e){}await new Promise(e=>setTimeout(e,50))}return!1}function i(){return(0,o.useEffect)(()=>{let e=async()=>{window.location.hash===s&&await r()&&window.history.replaceState(null,"",window.location.pathname+window.location.search)};e();let t=async e=>{var t;let n=e.target,o=null==n||null==(t=n.closest)?void 0:t.call(n,"a");o&&(o.getAttribute("href")||"").includes(s)&&(e.preventDefault(),e.stopPropagation(),await r())};return document.addEventListener("click",t,!0),window.addEventListener("hashchange",e),()=>{document.removeEventListener("click",t,!0),window.removeEventListener("hashchange",e)}},[]),null}}},e=>{e.O(0,[1818,4231,8332,7949,2202,9910,3180,8012,5267,8005,6977,8441,1255,7358],()=>e(e.s=48270)),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.