PageSourceSearch

https://mcsm.ai/_next/static/immutable/chunks/1ulh98s-b2mbq.js

js mcsm.ai collected 2026-10-09 21:20:40 UTC 26,469 bytes, 3 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,4042,e=>{"use strict";e.s(["FAQS",0,[{q:"What is Macrocosm's long-term vision?",a:["Our goal is to build the first world model of the global economy, capable of simulating and forecasting the behavior of each firm in each sector of the globe. It will be useful both for firm-level decisions on a micro-level and economic planning on a macroscopic scale. This matters because firms, investors, and policymakers increasingly face a class of decisions that conventional models were never designed for — where the outcome depends on how a shock moves through the system rather than on any single number. We want to improve how those decisions get made, giving people a way to forecast, plan, and reason about a complex world before they have to commit.","We are building our world model using cutting-edge techniques from complexity economics and AI, beginning with sectors and use cases where our approach adds the most immediate value. As each new sector is modeled and each new dataset integrated, our simulation grows more powerful. Ultimately, we envision a better economics for a better world: a system that can not only forecast and understand the global economy but also actively shape a smarter, better future."]},{q:"What is complexity economics and why use it?",a:["Complexity economics is a field that approaches the economy as a complex adaptive system where macro-level patterns (such as asset bubbles, business cycles, and recessions) emerge from the micro-level interactions of many diverse economic agents. These agents include firms, households, banks, governments, and any other relevant economic actor.","Complexity economics is empirically focused and draws on tools and techniques from physics, biology, and computer science to shed new light on long-standing economic problems. It relaxes several common assumptions in traditional economics, such as equilibrium, perfect rationality, and perfect competition. This means that the economy is modeled as it is, rather than how we think (or wish) it should be.","Economic agents are modeled as boundedly rational decision-makers who learn and adapt — in line with behavioral economics research. As such, the economy is modeled in a bottom-up fashion where realistic behavioral rules generate complex macroeconomic outcomes, such as booms, busts, cascading failures, and structural transformations.","We use complexity economics because the approach of conventional economics underperforms on the questions that matter most to firms. Times of crisis, like when supply chains break, energy markets are disrupted, or geopolitical disaster strikes, are when businesses are most in need of answers. But these critical periods are when traditional models fail, as they cannot rely on their usual assumptions."]},{q:"Why does Macrocosm's approach succeed where traditional models fail?",a:["Traditional economic models are built on assumptions of equilibrium and rational agents that make the math simpler. Those assumptions work reasonably well in stable conditions, but they fail precisely when they're needed most: in crises, transitions, and novel situations.","Macrocosm's models are built differently. Rather than relying on highly simplified top-down assumptions, we simulate the economy from the bottom up, with thousands of individual agents heterogeneously responding and adapting to realistic constraints. Macro outcomes emerge from those micro interactions rather than from assumed relationships.","For example, let's start with supply chains. A standard equilibrium model tells you the supply chain impact after markets have cleared. Our model generates something no aggregate analysis can: a week-by-week view of where disruption hits first, how fast it spreads, and how long it lingers, resolved to the level of individual sectors and countries. Because we model how physical quantities move through actual supply linkages, the transmission mechanism is visible and therefore actionable.","A second reason comes down to how the models are built. Each domain we cover, such as energy, supply chains, housing, or labor, is constructed as a module that shares a common underlying structure. This means economic domains are modular by construction. That lets us compose increasingly complex simulators in which a shock in one domain travels into the others along real causal pathways, which lets us capture the interdependencies that traditional, narrow, siloed tools miss."]},{q:"Why can't we just use generative AI (i.e., LLMs) to make better economic models?",a:["AI-based approaches, such as machine learning (ML), generally perform well when the future resembles the past and there is enough historical precedent to train on. But the economy has not generated enough data to learn all of its mechanisms from statistical inference alone. There is simply not enough recorded history of cascading failures, geopolitical shocks, or structural transitions to train a model that will generalize reliably to the next one.","For the specific case of generative AI, large language models (LLMs) struggle with coherent, causal, chain-of-thought thinking — and they only improved on this front when they could leverage other tools such as Python rather than reasoning themselves. Counterfactuals pose another issue. Even a model trained on every economic dataset ever recorded cannot reliably tackle novel situations without an embedded causal structure that helps it reason through such counterfactual scenarios.","At Macrocosm, we build models using structured prior knowledge and employ advanced ML to understand dynamics and states that are not directly observable. We also use cutting-edge Bayesian inference techniques to calibrate our simulations, so they can handle uncertainty and evaluate counterfactuals reliably."]},{q:"Is this approach explainable? Trustworthy? Safe?",a:["Yes — our models are explainable and transparent by construction. Because every result is built from explicit mechanisms on a causal graph, any forecast or scenario can be traced back to the assumptions and mechanisms that produced it. You can decompose what drove an outcome, test how sensitive it is to each driver, change an assumption, and watch the effect.","It is also safe to rely on because the model is stock-flow consistent and obeys the accounting identities of the economy. The books have to balance at every step, and a firm cannot pay out more than it takes in without a matching liability appearing; this means the model cannot hand you an outcome inconsistent with economic reality.","We also take great care to validate the outputs of our simulations — see the later question on validation for more."]},{q:"How do economic agent-based models work?",a:["An economic agent-based model is a simulation in which each economic actor — firm, household, bank, government — is represented individually, with its own production constraints and behavioral rules. Within the simulation, agents make decisions, place orders, clear markets, and interact with each other. Nothing is assumed about the aggregate outcome; it emerges from the bottom up.","This approach yields quantitative predictions that are empirically validated, testable, and actionable, unlike traditional approaches. We can observe cascade dynamics and understand how a disruption propagates throughout a system, affecting the economy and the labor market week by week.","Our team has pioneered several advancements in this field, including most recently with differentiable agent-based models. In practice that means the model can measure how every output responds to a change in any input, so we can fit it to real-world data far more precisely."]},{q:"Can Macrocosm handle scenarios with no historical precedent?",a:["Yes — this is one of the key distinguishing aspects of our approach.","Statistical and machine learning models are bounded by their training data. There is simply not enough recorded economic history to calibrate a model on tail risks, novel geopolitical shocks, or structural transitions like rapid decarbonization. Those models fail to offer foresight beyond the scope of the past.","Agent-based simulation works differently. Unforeseen scenarios emerge endogenously as agents interact and adapt under behavioral constraints. This is why our models can address genuinely n
1ovel shocks, such as the closure of the Strait of Hormuz, before they hit. When there's no historical record to draw from, our models can still make reasonable forecasts because there are real-world mechanisms embedded in them."]},{q:"How have you validated your approach?",a:["Validation is at the heart of our approach. Agent-based models are a flexible technology to integrate existing data sources and predict future states, allowing for rigorous backtesting. More generally, agent-based modeling is already the state-of-the-art tool in several fields such as epidemiology and traffic modeling, where it has been extensively validated as a modeling approach.","Our economic models are rooted in published academic research, where validation performance is carefully documented. For example, in May 2020, before UK GDP data was available, our founder J. Doyne Farmer and his team built a complexity economics simulation to predict the economic impact of COVID-19 lockdowns. A post-mortem showed that the model performed excellently in the aggregate, including compared to competing models, while also delivering key industry-level predictions.","We have backtested our macroeconomic simulator across 38 countries and verified prediction accuracy against published literature. Our supply chain models have been validated against real-world shocks, including the 2011 and 2016 Japan earthquakes."]},{q:"Where does Macrocosm's data come from?",a:["Our simulations are initialized from a combination of proprietary and public data sources. Our public sources include the OECD's input-output tables, national inventory statistics, bilateral trade flows, and physical infrastructure data. This information is integrated with proprietary data to reconstruct production networks and market structures at the resolution our models require. Because we are building bottom-up simulators of the global economy, we are also generating large amounts of synthetic data that can be used to replace unknown data for higher accuracy."]},{q:"What industries and sectors does Macrocosm serve?",a:["Our initial focus is energy, supply chains, macroeconomic modeling, and labor markets — sectors where interdependencies make traditional modeling tools particularly inadequate. Within each industry, our platform helps investors, firms, and policymakers understand how disruptions, competitive dynamics, and structural shifts will ripple through complex systems. If these don't sound like your industry, we also work with organizations to design custom simulations tailored to their specific needs."]}]])},85437,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"Image",{enumerable:!0,get:function(){return _}});let o=e.r(55682),i=e.r(90809),r=e.r(43476),n=i._(e.r(71645)),s=o._(e.r(74080)),l=o._(e.r(25633)),c=e.r(8927),d=e.r(87690),u=e.r(18556),h=e.r(65856),m=o._(e.r(1948)),f=e.r(18581),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75,90,100],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function g(e,t,a,o,i,r,n){let s=e?.src;e&&e["data-loaded-src"]!==s&&(e["data-loaded-src"]=s,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),a?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let o=!1,i=!1;a.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>o,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{o=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}o?.current&&o.current(e)}}))}function y(e){return n.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let b="u"<typeof window?n.useEffect:n.useLayoutEffect,w=(0,n.forwardRef)(({src:e,srcSet:t,sizes:a,height:o,width:i,decoding:s,className:l,style:c,fetchPriority:d,placeholder:u,loading:h,unoptimized:m,fill:p,onLoadRef:w,onLoadingCompleteRef:v,setBlurComplete:_,setShowAltText:x,sizesInput:k,onLoad:O,onError:P,...j},S)=>{let C=(0,n.useRef)(!1),E=(0,n.useRef)(null);b(()=>{let{current:e}=C,{current:t}=E;e||null===t||(P&&(t.src=t.src),t.complete&&g(t,u,w,v,_,m,k),C.current=!0)},[e,u,w,v,P,m,k]);let R=(0,f.useMergedRef)(S,E);return(0,r.jsx)("img",{...j,...y(d),loading:h,width:i,height:o,decoding:s,"data-nimg":p?"fill":"1",className:l,style:c,sizes:a,srcSet:t,src:e,ref:R,onLoad:e=>{g(e.currentTarget,u,w,v,_,m,k)},onError:e=>{x(!0),"empty"!==u&&_(!0),P&&P(e)}})});function v({isAppRouter:e,imgAttributes:t}){let a={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&s.default.preload?(s.default.preload(t.src,a),null):(0,r.jsx)(l.default,{children:(0,r.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...a},"__nimg-"+t.src+t.srcSet+t.sizes)})}let _=(0,n.forwardRef)((e,t)=>{let a=(0,n.useContext)(h.RouterContext),o=(0,n.useContext)(u.ImageConfigContext),i=(0,n.useMemo)(()=>{let e=p||o||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>
1e-t),a=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:a,qualities:i,localPatterns:"u"<typeof window?o?.localPatterns:e.localPatterns}},[o]),{onLoad:s,onLoadingComplete:l}=e,f=(0,n.useRef)(s);(0,n.useEffect)(()=>{f.current=s},[s]);let g=(0,n.useRef)(l);(0,n.useEffect)(()=>{g.current=l},[l]);let[y,b]=(0,n.useState)(!1),[_,x]=(0,n.useState)(!1),{props:k,meta:O}=(0,c.getImgProps)(e,{defaultLoader:m.default,imgConf:i,blurComplete:y,showAltText:_});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w,{...k,unoptimized:O.unoptimized,placeholder:O.placeholder,fill:O.fill,onLoadRef:f,onLoadingCompleteRef:g,setBlurComplete:b,setShowAltText:x,sizesInput:e.sizes,ref:t}),O.preload?(0,r.jsx)(v,{isAppRouter:!a,imgAttributes:k}):null]})});("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},70965,(e,t,a)=>{"use strict";function o(e,t){let a=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-a)<Math.abs(e-a)?t:e,t.qualities[0]):a}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"findClosestQuality",{enumerable:!0,get:function(){return o}})},8927,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImgProps",{enumerable:!0,get:function(){return c}});let o=e.r(43369),i=e.r(88143),r=e.r(87690),n=["-moz-initial","fill","none","scale-down",void 0];function s(e){return void 0!==e.default}function l(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function c({src:e,sizes:t,unoptimized:a=!1,priority:d=!1,preload:u=!1,loading:h,className:m,quality:f,width:p,height:g,fill:y=!1,style:b,overrideSrc:w,onLoad:v,onLoadingComplete:_,placeholder:x="empty",blurDataURL:k,fetchPriority:O,decoding:P="async",layout:j,objectFit:S,objectPosition:C,lazyBoundary:E,lazyRoot:R,...M},I){var z;let T,q,A,{imgConf:D,showAltText:W,blurComplete:$,defaultLoader:L}=I,U=D||r.imageConfigDefault;if("allSizes"in U)T=U;else{let e=[...U.deviceSizes,...U.imageSizes].sort((e,t)=>e-t),t=U.deviceSizes.sort((e,t)=>e-t),a=U.qualities?.sort((e,t)=>e-t);T={...U,allSizes:e,deviceSizes:t,qualities:a}}if(void 0===L)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let B=M.loader||L;delete M.loader,delete M.srcSet;let F="__next_img_default"in B;if(F){if("custom"===T.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=B;B=t=>{let{config:a,...o}=t;return e(o)}}if(j){"fill"===j&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[j];e&&(b={...b,...e});let a={responsive:"100vw",fill:"100vw"}[j];a&&!t&&(t=a)}let N="",G=l(p),H=l(g),V=!1;if((z=e)&&"object"==typeof z&&(s(z)||void 0!==z.src)){let t=s(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(q=t.blurWidth,A=t.blurHeight,k=k||t.blurDataURL,N=t.src,V=/\.avif(?:\?|$)/i.test(N),!y)if(G||H){if(G&&!H){let e=G/t.width;H=Math.round(t.height*e)}else if(!G&&H){let e=H/t.height;G=Math.round(t.width*e)}}else G=t.width,H=t.height}V&&"blur"===x&&!k&&(x="empty");let X=!d&&!u&&("lazy"===h||void 0===h);(!(e="string"==typeof e?e:N)||e.startsWith("data:")||e.startsWith("blob:"))&&(a=!0,X=!1),T.unoptimized&&(a=!0),F&&!T.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(a=!0);let Y=l(f),J=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:S,objectPosition:C}:{},W?{}:{color:"transparent"},b),K=$||"empty"===x?null:"blur"===x?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:G,heightInt:H,blurWidth:q,blurHeight:A,blurDataURL:k||"",objectFit:J.objectFit})}")`:`url("${x}")`,Q=n.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Z=K?{backgroundSize:Q,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:K}:{},ee=function({config:e,src:t,unoptimized:a,width:i,quality:r,sizes:n,loader:s}){if(a){if(t.startsWith("/")&&!t.startsWith("//")){let e=(0,o.getDeploymentId)();if(t.includes("/_next/static/immutable")&&!(0,o.getAssetToken)())e=void 0;else if(e){let a=t.indexOf("?");if(-1!==a){let o=new URLSearchParams(t.slice(a+1));o.get("dpl")||(o.append("dpl",e),t=t.slice(0,a)+"?"+o.toString())}else t+=`?dpl=${e}`}}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:l,kind:c}=function({deviceSizes:e,allSizes:t},a,o){if(o){let a=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=a.exec(o);)i.push(parseInt(e[2]));if(i.length){let a=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*a),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof a?{widths:e,kind:"w"}:{widths:[...new Set([a,2*a].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,n),d=l.length-1;return{sizes:n||"w"!==c?n:"100vw",srcSet:l.map((a,o)=>`${s({config:e,src:t,quality:r,width:a})} ${"w"===c?a:o+1}${c}`).join(", "),src:s({config:e,src:t,quality:r,width:l[d]})}}({config:T,src:e,unoptimized:a,width:G,quality:Y,sizes:t,loader:B}),et=X?"lazy":h;return{props:{...M,loading:et,fetchPriority:O,width:G,height:H,decoding:P,className:m,style:{...J,...Z},sizes:ee.sizes,srcSet:ee.srcSet,src:w||ee.src},meta:{unoptimized:a,preload:u||d,placeholder:x,fill:y}}}},25633,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0});var o={default:function(){return p},defaultHead:function(){return u}};for(var i in o)Object.defineProperty(a,i,{enumerable:!0,get:o[i]});let r=e.r(55682),n=e.r(90809),s=e.r(43476),l=n._(e.r(71645)),c=r._(e.r(98879)),d=e.r(42732);function u(){return[(0,s.jsx)("meta",{charSet:"utf-8"},"charset"),(0,s.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function h(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>
2"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}let m=["name","httpEquiv","charSet","itemProp"];function f(e){let t,a,o,i;return e.reduce(h,[]).reverse().concat(u().reverse()).filter((t=new Set,a=new Set,o=new Set,i={},e=>{let r=!0,n=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){n=!0;let a=e.key.slice(e.key.indexOf("$")+1);t.has(a)?r=!1:t.add(a)}switch(e.type){case"title":case"base":a.has(e.type)?r=!1:a.add(e.type);break;case"meta":for(let t=0,a=m.length;t<a;t++){let a=m[t];if(e.props.hasOwnProperty(a))if("charSet"===a)o.has(a)?r=!1:o.add(a);else{let t=e.props[a],o=i[a]||new Set;("name"!==a||!n)&&o.has(t)?r=!1:(o.add(t),i[a]=o)}}}return r})).reverse().map((e,t)=>{let a=e.key||t;return l.default.cloneElement(e,{key:a})})}let p=function({children:e}){let t=(0,l.useContext)(d.HeadManagerContext);return(0,s.jsx)(c.default,{reduceComponentsToState:f,headManager:t,children:e})};("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},88143,(e,t,a)=>{"use strict";function o({widthInt:e,heightInt:t,blurWidth:a,blurHeight:i,blurDataURL:r,objectFit:n}){let s=a?40*a:e,l=i?40*i:t,c=s&&l?`viewBox='0 0 ${s} ${l}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${c}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${c?"none":"contain"===n?"xMidYMid":"cover"===n?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${r}'/%3E%3C/svg%3E`}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"getImageBlurSvg",{enumerable:!0,get:function(){return o}})},18556,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"ImageConfigContext",{enumerable:!0,get:function(){return r}});let o=e.r(55682)._(e.r(71645)),i=e.r(87690),r=o.default.createContext(i.imageConfigDefault)},65856,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"RouterContext",{enumerable:!0,get:function(){return o}});let o=e.r(55682)._(e.r(71645)).default.createContext(null)},87690,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0});var o={VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}};for(var i in o)Object.defineProperty(a,i,{enumerable:!0,get:o[i]});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},94909,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0});var o={default:function(){return d},getImageProps:function(){return c}};for(var i in o)Object.defineProperty(a,i,{enumerable:!0,get:o[i]});let r=e.r(55682),n=e.r(8927),s=e.r(85437),l=r._(e.r(1948));function c(e){let{props:t}=(0,n.getImgProps)(e,{defaultLoader:l.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75,90,100],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,a]of Object.entries(t))void 0===a&&delete t[e];return{props:t}}let d=s.Image},57688,(e,t,a)=>{t.exports=e.r(94909)},1948,(e,t,a)=>{"use strict";e.i(47167),Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return n}});let o=e.r(70965),i=e.r(43369);function r({config:e,src:t,width:a,quality:n}){let s=(0,i.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//"))if(t.includes("/_next/static/immutable")&&!(0,i.getAssetToken)())s=void 0;else{let e=t.indexOf("?");if(-1!==e){let a=new URLSearchParams(t.slice(e+1)),o=a.get("dpl");
2if(o){s=o,a.delete("dpl");let i=a.toString();t=t.slice(0,e)+(i?"?"+i:"")}}}if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,o.findClosestQuality)(n,e);return`${e.path}?url=${encodeURIComponent(t)}&w=${a}&q=${l}${t.startsWith("/")&&s?`&dpl=${s}`:""}`}r.__next_img_default=!0;let n=r},98879,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return s}});let o=e.r(71645),i="u"<typeof window,r=i?()=>{}:o.useLayoutEffect,n=i?()=>{}:o.useEffect;function s(e){let{headManager:t,reduceComponentsToState:a}=e;function s(){if(t&&t.mountedInstances){let e=o.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(a(e))}}return i&&(t?.mountedInstances?.add(e.children),s()),r(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),r(()=>(t&&(t._pendingUpdate=s),()=>{t&&(t._pendingUpdate=s)})),n(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}}]);

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.