<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1" /> <title>Game Career Guide | GCG</title> <meta name="robots" content="max-image-preview:large" data-ruid="tkkeyou35jl" /> <meta property="og:title" content="Game Career Guide | GCG" data-ruid="tkkeyou35jl" /> <meta name="description" content="Many Game Career Guide articles or similar resources can be found on Game Developer via our Search function and filtering results by Topic." data-ruid="tkkeyou35jl" /> <meta property="og:description" content="Many Game Career Guide articles or similar resources can be found on Game Developer via our Search function and filtering results by Topic." data-ruid="tkkeyou35jl" /> <meta property="og:url" content="https://www.gamedeveloper.com/gcg-status-update" data-ruid="tkkeyou35jl" /> <meta property="og:type" content="website" data-ruid="tkkeyou35jl" /> <meta property="og:image" content="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltba62518415cda0e2/652fe6ddbc479f8697ef691f/default-cubic.png?disable=upscale&width=1200&height=630&fit=crop" data-ruid="tkkeyou35jl" /> <meta property="og:site_name" content="Game Developer" data-ruid="tkkeyou35jl" /> <meta property="twitter:card" content="summary" data-ruid="tkkeyou35jl" /> <link tagName="link" rel="canonical" href="https://www.gamedeveloper.com/gcg-status-update" data-ruid="tkkeyou35jl" /> <link rel="stylesheet" href="/assets/brand.generated-fCPJPqe0.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap"/> <script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){self.airgap?.ready||(self.airgap={readyQueue:[],ready(e){this.readyQueue.push(e)},...self.airgap});self.airgap.loadOptions=Object.assign({uiShadowRoot:"open"},self.airgap.loadOptions);const e=()=>{const e="__tcfapiLocator",t=[],a=window;let n,s,o=a;for(;o;){try{if(o.frames[e]){n=o;break}}catch(e){}if(o===a.top)break;o=o.parent}n||(!function t(){const n=a.document,s=!!a.frames[e];if(!s)if(n.body){const t=n.createElement("iframe");t.style.cssText="display:none",t.name=e,n.body.appendChild(t)}else setTimeout(t,5);return!s}(),a.__tcfapi=function(...e){if(!e.length)return t;"setGdprApplies"===e[0]?e.length>3&&2===parseInt(e[1],10)&&"boolean"==typeof e[3]&&(s=e[3],"function"==typeof e[2]&&e[2]("set",!0)):"ping"===e[0]?"function"==typeof e[2]&&e[2]({gdprApplies:s,cmpLoaded:!1,cmpStatus:"stub"}):t.push(e)},a.addEventListener("message",(function(e){const t="string"==typeof e.data;let a={};if(t)try{a=JSON.parse(e.data)}catch(e){}else a=e.data;const n="object"==typeof a&&null!==a?a.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(a,s){let o={__tcfapiReturn:{returnValue:a,success:s,callId:n.callId}};e&&e.source&&e.source.postMessage&&e.source.postMessage(t?JSON.stringify(o):o,"*")}),n.parameter)}),!1))};airgap.ready((t=>{"TCF_EU"===t.loadOptions.consentManagerConfig.initialViewStateByPrivacyRegime[t.getRegimes()[0]]&&("undefined"!=typeof module?module.exports=e:e())}))}();</script> <script> self.airgap = {overrides: [],cookieOverrides: [],...self.airgap,};const allowGcmAdvanced = (event) => {if (event.purposes.has('GcmAdvanced')) {event.allow();}};self.airgap.overrides.push({override: allowGcmAdvanced});self.airgap.cookieOverrides.push(allowGcmAdvanced);</script> <script data-cfasync="false" data-local-sync="allow-network-observable" data-prompt="1" data-report-only="off" data-dismissed-view-state="Closed" data-tcf-ui-dismissed-view-state="Collapsed" data-ui-shadow-root="open" data-privacy-policy="https://privacy.informa.com/" src="https://transcend-cdn.com/cm/ef49a3f1-d8c1-47d6-88fc-50e41130631f/airgap.js" ></script> <script>console.log('[Transcend] confirmed:',airgap.getConsent?.().confirmed,[...airgap.getRegimes?.()][0])</script> <script async>!async function(){const t={detected:null};try{const e=await fetch("https://www3.doubleclick.net",{method:"HEAD",mode:"no-cors",cache:"no-store"});t.detected=!!e.redirected}catch(e){t.detected=!0}const e=window.localStorage.getItem("isRobot");e&&(t.isRobotValue="true"===e),window.adBlocker=t}();</script> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" ></script> <link rel="preconnect" href="https://cdn.cookielaw.org" /> <link rel="preconnect" href="https://fonts.gstatic.com" /> <link rel="preconnect" href="https://fonts.googleapis.com" /> <link rel="preconnect" href="https://www.googletagmanager.com" />  <script>window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},performance:{capture_measures:true},browser_consent_mode:{enabled:false},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"],capture_payloads:'none'}};

;NREUM.loader_config={accountID:"3936348",trustKey:"3288925",agentID:"538600205",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"538600205"};
;NREUM.info={beacon:"bam.eu01.nr-data.net",errorBeacon:"bam.eu01.nr-data.net",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"538600205",sa:1};
;/*! For license information please see nr-loader-spa-1.312.1.min.js.LICENSE.txt */
(()=>{var e,t,r={384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),o=r(1910);const a={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,o.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>c,P3:()=>d,XX:()=>i,Yy:()=>a,df:()=>s,qY:()=>n,v4:()=>o});const n="events",i="jserrors",s="browser/blobs",o="rum",a="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},d={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.softNav]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.sessionReplay]:8,[c.logging]:9,[c.genericEvents]:10},u={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:s,[c.sessionReplay]:s,[c.logging]:a,[c.genericEvents]:"ins"}},944:(e,t,r)=>{"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>s,ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},s={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},o="log",a=n.K7.logging},1541:(e,t,r)=>{"use strict";r.d(t,{$5:()=>d,B5:()=>c,Ux:()=>o,YA:()=>a,fQ:()=>i});var n=r(5871);const i={MFE:"MFE",BA:"BA"};function s(e,t){if(!e||!t?.init.api.allow_registered_children)return[];const r=t.runtime.registeredEntities;return r?.filter(t=>t.metadata.timings?.asset?.endsWith(e)).map(e=>e.metadata.target)||[]}function o(e,t){if(!u(t))return{};const r=t.agentRef.runtime.appMetadata.agents[0].entityGuid;return e?e.attributes:{"entity.guid":r,appId:t.agentRef.info.applicationID}}function a(e,t){return c(e,t)?{"child.id":e.id,"child.type":e.type,...o(void 0,t)}:{}}function c(e,t){return!!e&&!!u(t)&&t.agentRef.init.api.duplicate_registered_data}function d(e){if(!e?.init.api.allow_registered_children)return[void 0];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...s(r[i--],e))}catch(e){}return t.length||t.push(void 0),t}function u(e){return 2===e?.harvestEndpointVersion}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>a,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),o=r(2646);function a(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,a=i.i.handlers;if(s&&!s.aborted&&s.backlog&&a){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=a[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof o.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete a[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},1738:(e,t,r)=>{"use strict";r.d(t,{U:()=>f,Y:()=>l});var n=r(3241),i=r(9908),s=r(1863),o=r(944),a=r(3969),c=r(8362),d=r(860),u=r(4261);function l(e,t,r,s){const l=s||r;!l||l[e]&&l[e]!==c.d.prototype[e]||(l[e]=function(){(0,i.p)(a.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,o.R)(23,e)}})}function f(e,t,r,n,o){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(o||null===r)&&(0,i.p)(u.Pl+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},1741:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(i.$9,e,t)}start(){return this.#e(i.d3)}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},1910:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},2555:(e,t,r)=>{"use strict";r.d(t,{D:()=>a,f:()=>o});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const a=e=>(0,i.a)(e,s)},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>a,uh:()=>i,wk:()=>s});const n="NRBA",i="SESSION",s=144e5,o=18e5,a={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},2843:(e,t,r)=>{"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>s});var n=r(6154);const i="newrelic";function s(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function s(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Xh:()=>c,Zp:()=>i,kd:()=>d,mq:()=>a,nf:()=>o,qN:()=>s});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],s=["focus","blur"],o=4,a=1e3,c=2e3,d=["PageAction","UserAction","BrowserPerformance"],u={RESOURCES:"experimental.resources",REGISTER:"register"}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>u});var n=r(7836),i=r(5607),s=r(1541);const o="nr@original:".concat(i.W),a=50;var c=Object.prototype.hasOwnProperty,d=!1;function u(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,o){r||(r="");const a="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];f(u)||(e[d]=i(u,a?d+r:r,n,d,s,o))}},i.flag=o,i;function i(t,n,i,d,h,p){return f(t)?t:(n||(n=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){l([e],r)}for(var n in e)c.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,c,f,g;let m,v;try{c=this,o=[...arguments],v=p?(0,s.$5)(r):[void 0],f="function"==typeof i?i(o,c):i||{}}catch(t){l([t,"",[o,c,d],f],e)}u(n+"start",[o,c,d,v],f,h);const y=performance.now();let b;try{return g=t.apply(c,o),b=performance.now(),g}catch(e){throw b=performance.now(),u(n+"err",[o,c,e,v],f,h),m=e,m}finally{const e=b-y,t={start:y,end:b,duration:e,isLongTask:e>=a,methodName:d,thrownError:m};t.isLongTask&&u("long-task",[t,c,v],f,h),u(n+"end",[o,c,g,v],f,h)}}}function u(r,n,i,s){if(!d||t){var o=d;d=!0;try{e.emit(r,n,i,t,s)}catch(t){l([t,r,n,i],e)}d=o}}}function l(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function f(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=o;var i=s.handlers={};function s(e,t,r,s){o(s||n.d,i,e,t,r)}function o(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var o=t[s]=t[s]||{};(o[r]=o[r]||[]).push([e,i])}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>a,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>s,d3:()=>o,jx:()=>l,sl:()=>f,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",s="resource",o="-start",a="-end",c="fn"+o,d="fn"+a,u="pushState",l=1e3,f=3e4},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),o=r(3969),a=r(993);function c(e,t,r={},c=a.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(o.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)(a.ET,[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(a.p_).some(t=>t===e.toUpperCase().trim())}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>l,OV:()=>s,Qu:()=>f,TZ:()=>c,ih:()=>h,pP:()=>a,t1:()=>u,tC:()=>i,wD:()=>d});var n=r(860);const i=["click","keydown","submit"],s="popstate",o="api",a="initialPageLoad",c=n.K7.softNav,d=5e3,u=500,l={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},f={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},h={IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>a,rs:()=>i,xV:()=>o,z_:()=>s});const n=r(860).K7.metrics,i="sm",s="cm",o="storeSupportabilityMetrics",a="storeEventMetrics"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},4261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>u,BL:()=>c,CH:()=>p,Dl:()=>R,Fw:()=>w,PA:()=>v,Pl:()=>n,Pv:()=>x,Tb:()=>f,U2:()=>o,V1:()=>A,Wb:()=>T,bt:()=>b,cD:()=>y,d3:()=>E,dT:()=>d,eY:()=>g,fF:()=>h,hG:()=>s,hw:()=>i,k6:()=>a,nb:()=>m,o5:()=>l});const n="api-",i=n+"ixn-",s="addPageAction",o="addToTrace",a="addRelease",c="finished",d="interaction",u="log",l="noticeError",f="pauseReplay",h="recordCustomEvent",p="recordReplay",g="register",m="setApplicationVersion",v="setCurrentRouteName",y="setCustomAttribute",b="setErrorHandler",w="setPageViewName",R="setUserId",E="start",T="wrapLogger",A="measure",x="consent"},5205:(e,t,r)=>{"use strict";r.d(t,{j:()=>x});var n=r(384),i=r(1741);var s=r(2555),o=r(3333);const a=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),d=r(944),u=r(8122);const l="[data-nr-mask]",f=e=>(0,u.a)(e,(()=>{const e={feature_flags:[],experimental:{allow_registered_children:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},api:{get allow_registered_children(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.allow_registered_children},set allow_registered_children(t){e.experimental.allow_registered_children=t},duplicate_registered_data:!1},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){a(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,d.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){a(t)?e.block_selector+=",".concat(t):""!==t&&(0,d.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,d.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={consented:!1},y={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||v.consented},set consented(e){v.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,harvester:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++g}},b=e=>{const t=(0,u.a)(e,y),r=Object.keys(m).reduce((e,t)=>(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)},w=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var R=r(7836),E=r(3241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A=e=>(0,u.a)(e,T);function x(e,t={},r,o){let{init:a,info:c,loader_config:d,runtime:u={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();a=e.init,c=e.info,d=e.loader_config}e.init=f(a||{}),e.loader_config=A(d||{}),c.jsAttributes??={},h.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,s.D)(c);const p=e.init;e.runtime??=b(u),p.proxy.assets&&w(p.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach(r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let s=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return s?s(...t):n})})}(e),e.runtime.loaderType=r,e.ee=R.ee.get(e.agentIdentifier),e.exposed=l,(0,E.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.runtime.configured=!0)}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>o,SR:()=>s,rF:()=>a});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function o(e){return!0===e?.session_replay.preload&&s(e)}function a(e,t){try{if("string"==typeof t?.type){if("password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,Qr:()=>c,sB:()=>a});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(s())return e();const r=(0,i.J)(e),o=setInterval(()=>{s()&&(clearInterval(o),r())},500);(0,n.sp)("load",r,t)}function a(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},5871:(e,t,r)=>{"use strict";r.d(t,{AZ:()=>u,QL:()=>l,Qr:()=>f});var n=r(6154),i=r(1863),s=r(9119),o=r(7866);let a;try{a=u(l())[0]}catch(e){a=u(e)[0]}const c=new Set;let d=[];if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&e.name.endsWith(".js"))(e)){c.size>250&&c.delete(c.values().next().value),c.add(e);const t=[];d.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),d=d.filter((e,r)=>!t.includes(r))}})}).observe({type:"resource",buffered:!0})}function u(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(o.cn)||e.match(o.hB)||e.match(o.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function l(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function f(){const e={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,asset:void 0,type:"unknown"},t=l();if(!t)return e;const r=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const o=u(t),f=(o.length>1?o.filter(e=>!a.endsWith(e)&&!e.endsWith(a)):o)[0];if(!f)return e;if(r.includes(f))return e.asset=(0,s.L)(r),e.type="inline",e;const h=performance.getEntriesByType("resource").find(p)||[...c].find(p);function p(e){const t=(0,s.L)(e.name);return t.endsWith(f)||f.endsWith(t)}function g(t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType}h?g(h):function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1}(f)&&(e.asset=f,e.type="preload",d.push({addedAt:(0,i.t)(),test:e=>!!p(e)&&(g(e),!0)}))}catch(m){}return e}},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>s,gm:()=>o,lR:()=>l,m:()=>c,mw:()=>a,sb:()=>u,zk:()=>h});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,d=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)(),h=()=>{const e=o?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<o.performance.now())return e}},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,Qb:()=>l,TZ:()=>i,Ug:()=>o,Vh:()=>s,_s:()=>a,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,s="errorDuringReplay",o=.12,a={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},u=5e3,l={API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>o,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function o(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,o;i>0?(s=r.substring(0,i),o=r.substring(i)):(s=r,o="*");let[c]=s.split(":");n.push({hostname:a(c),pathname:a(o,!0)})}}function a(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7699:(e,t,r)=>{"use strict";r.d(t,{It:()=>s,KC:()=>a,No:()=>i,qh:()=>o});var n=r(860);const i=16e3,s=1e6,o="SESSION_ERROR",a={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(6154);const i=e=>n.RI&&!0===e?.privacy.cookies_enabled},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>a,ee:()=>c});var n=r(384),i=r(8990),s=r(2646),o=r(5607);const a="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var a=h(n);g(e).forEach(e=>{e.apply(a,r)});var d=v()[o[e]];d&&d.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{o[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[o[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,a,()=>new s.y(a)):new s.y(a)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c)},7866:(e,t,r)=>{"use strict";r.d(t,{Nc:()=>s,cn:()=>a,fL:()=>i,h3:()=>n,hB:()=>o});const n=/function (.+?)\s*\(/,i=/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,s=/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,o=/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i,a=/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i},8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let o in s)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):e[o]instanceof Map||e[o]instanceof Set||e[o]instanceof Date||e[o]instanceof RegExp?r[o]=e[o]:"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),o=r(6154);const a={},c=o.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(a[t.debugId]++)return t;a[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(o.RI&&h(document,f),c&&h(c.prototype,f),h(o.gm,f)),t.on(d+"-start",function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)&&"newrelic"!==e[0]){var i=(0,s.I)(n,l,function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=e[1]=i}}),t.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},8362:(e,t,r)=>{"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},9119:(e,t,r)=>{"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},9324:(e,t,r)=>{"use strict";r.d(t,{AJ:()=>o,F3:()=>i,Xs:()=>s,Yq:()=>a,xv:()=>n});const n="1.312.1",i="PROD",s="CDN",o="@newrelic/rrweb",a="1.1.0"},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>a,ZF:()=>c,bz:()=>o,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function s(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map(e=>"x"===e?s(t,r++).toString(16):"y"===e?(3&s()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var a=0;a<e;a++)o.push(s(r,i++).toString(16));return o.join("")}function c(){return a(16)}function d(){return a(32)}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={exports:{}};return r[e](s,s.exports,i),s.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((t,r)=>(i.f[r](e,t),t),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.312.1.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.312.1.PROD:",i.l=(r,n,s,o)=>{if(e[r])e[r].push(n);else{var a,c;if(void 0!==s)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+s){a=l;break}}if(!a){c=!0;var f={478:"sha512-dZhtzLTOyIsYHGHWAipD4+6jjzEIycTqL1F9NwinUiYL8cf0kIXf7WUbskVMB7p/nhDF+zJ9Bfd6LU9PMn0Yhw==",249:"sha512-SJV3E/3SdEyaahYm8FHEFwhJvDQy/nRJJV/o+18MgXENJWR/8tfvIKfc4LE1xV9RniczXT7eQLcZi2G99UlugA==",212:"sha512-dRFaJY5mEo/nxzPqxS/sHnvU66fpkTff91nWUFOafyPR61R+r2GZiy81lT47BWA4MouemCj4tvhHmn8Ofh/UOg=="};(a=document.createElement("script")).charset="utf-8",i.nc&&a.setAttribute("nonce",i.nc),a.setAttribute("data-webpack",t+s),a.src=r,0!==a.src.indexOf(window.location.origin+"/")&&(a.crossOrigin="anonymous"),f[o]&&(a.integrity=f[o])}e[r]=[n];var h=(t,n)=>{a.onerror=a.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(e=>e(n)),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c&&document.head.appendChild(a)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var s=new Promise((r,i)=>n=e[t]=[r,i]);r.push(n[2]=s);var o=i.p+i.u(t),a=new Error;i.l(o,r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var s=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;a.message="Loading chunk "+t+" failed: ("+s+": "+o+")",a.name="ChunkLoadError",a.type=s,a.request=o,n[1](a)}},"chunk-"+t,t)}};var t=(t,r)=>{var n,s,[o,a,c]=r,d=0;if(o.some(t=>0!==e[t])){for(n in a)i.o(a,n)&&(i.m[n]=a[n]);if(c)c(i)}for(t&&t(r);d<o.length;d++)s=o[d],i.o(e,s)&&e[s]&&e[s][0](),e[s]=0},r=self["webpackChunk:NRBA-1.312.1.PROD"]=self["webpackChunk:NRBA-1.312.1.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(8362),t=i(860);const r=Object.values(t.K7);var n=i(5205);var s=i(9908),o=i(1863),a=i(4261),c=i(1738);var d=i(1687),u=i(4234),l=i(5289),f=i(6154),h=i(944),p=i(5270),g=i(7767),m=i(6389),v=i(7699);class y extends u.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,m.J)(()=>{(0,d.Ak)(e,this.featureName),t()}))}):(0,d.Ak)(e,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;const n=async()=>{let n;await this.deferred;try{if((0,g.V)(e.init)){const{setupAgentSession:t}=await i.e(478).then(i.bind(i,8766));n=t(e)}}catch(e){(0,h.R)(20,e),this.ee.emit("internal-error",[e]),(0,s.p)(v.qh,[e],void 0,this.featureName,this.ee)}try{if(!this.#t(this.featureName,n,e.init))return(0,d.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:i}=await t();this.featAggregate=new i(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,h.R)(34,e),this.abortHandler?.(),(0,d.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1),this.ee&&this.ee.abort()}};f.RI?(0,l.GG)(()=>n(),!0):n()}#t(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,p.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}}var b=i(6630),w=i(2614),R=i(3241);class E extends y{static featureName=b.T;constructor(e){var t;super(e,b.T),this.setupInspectionEvents(),t=e,(0,c.Y)(a.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(a.Pl+a.Fw,[(0,o.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>i.e(478).then(i.bind(i,5839)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,R.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,l.sB)(t=>{e(t,"DOMContentLoaded")}),(0,l.GG)(t=>{e(t,"load")}),(0,l.Qr)(t=>{e(t,"navigate")}),this.ee.on(w.tS.UPDATE,(e,t)=>{(0,R.W)({type:"lifecycle",name:"session",data:t})})}}var T=i(384);class A extends e.d{constructor(e){var t;(super(),f.gm)?(this.features={},(0,T.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(E),(0,n.j)(this,e,e.loaderType||"agent"),t=this,(0,c.Y)(a.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,c.U)(t,e,r,a.cD,n);(0,h.R)(40,typeof r)}else(0,h.R)(39,typeof e)},t),function(e){(0,c.Y)(a.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,h.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,s.p)(a.Pl+"setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,c.U)(e,"enduser.id",t,a.Dl,!0)},e)}(this),function(e){(0,c.Y)(a.nb,function(t){if("string"==typeof t||null===t)return(0,c.U)(e,"application.version",t,a.nb,!1);(0,h.R)(42,typeof t)},e)}(this),function(e){(0,c.Y)(a.d3,function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,c.Y)(a.Pv,function(t=!0){if("boolean"==typeof t){if((0,s.p)(a.Pl+a.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum()})}}else(0,h.R)(65,typeof t)},e)}(this),this.run()):(0,h.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return r.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),n=[...this.desiredFeatures];n.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),n.forEach(r=>{if(!e[r.featureName]&&r.featureName!==t.K7.pageViewEvent)return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,h.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,h.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,T.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var x=i(2843),S=i(782);class _ extends y{static featureName=S.T;constructor(e){super(e,S.T),f.RI&&((0,x.u)(()=>(0,s.p)("docHidden",[(0,o.t)()],void 0,S.T,this.ee),!0),(0,x.G)(()=>(0,s.p)("winPagehide",[(0,o.t)()],void 0,S.T,this.ee)),this.importAggregator(e,()=>i.e(478).then(i.bind(i,9917))))}}var O=i(3969);class P extends y{static featureName=O.TZ;constructor(e){super(e,O.TZ),f.RI&&document.addEventListener("securitypolicyviolation",e=>{(0,s.p)(O.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)}),this.importAggregator(e,()=>i.e(478).then(i.bind(i,6555)))}}var k=i(6774),N=i(3878),D=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,D.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return M(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function L(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(M(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function I(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return M(e.error)?e.error:C(e)}function M(e){return e instanceof Error&&!!e.stack}function B(e,r,n,i,a=(0,o.t)()){"string"==typeof e&&(e=new Error(e)),(0,s.p)("err",[e,a,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var H=i(1541),W=i(993),K=i(3785);function F(e,{customAttributes:t={},level:r=W.p_.INFO}={},n,i,s=(0,o.t)()){(0,K.R)(n.ee,e,t,r,!1,i,s)}function U(e,r,n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.hG,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}function V(e,r,n,i,c=(0,o.t)()){const{start:d,end:u,customAttributes:l}=r||{},f={customAttributes:l||{}};if("object"!=typeof f.customAttributes||"string"!=typeof e||0===e.length)return void(0,h.R)(57);const p=(e,t)=>null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(f.start=p(d,0),f.end=p(u,c),Number.isNaN(f.start)||Number.isNaN(f.end))(0,h.R)(57);else{if(f.duration=f.end-f.start,!(f.duration<0))return(0,s.p)(a.Pl+a.V1,[f,e,i],void 0,t.K7.genericEvents,n.ee),f;(0,h.R)(58)}}function G(e,r={},n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.fF,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}var z=i(5871),Y=i(9566);const Z=["name","id","type"];function q(e){(0,c.Y)(a.eY,function(t){return X(e,t)},e)}function X(e,r,n){(0,h.R)(54,"newrelic.register"),r||={},r.instance=(0,Y.LA)(8),r.type=H.fQ.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent=n||{get id(){return e.runtime.appMetadata.agents[0].entityGuid},type:H.fQ.BA};const i=(0,z.Qr)(),a={};Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||H.fQ.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Z.includes(e)||(a["source.".concat(e)]=t)}),r.isolated??=!0;let c=()=>{};const d=e.runtime.registeredEntities;if(!r.isolated){const e=d.find(({metadata:{target:{id:e}}})=>e===r.id&&!r.isolated);if(e)return e}const u=e=>{r.blocked=!0,c=e};function l(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.allow_registered_children||u((0,m.J)(()=>(0,h.R)(55))),l(r.id)&&l(r.name)||u((0,m.J)(()=>(0,h.R)(48,r)));const f={addPageAction:(t,n={})=>y(U,[t,{...a,...n},e],r),deregister:()=>{g(),u((0,m.J)(()=>(0,h.R)(68)))},log:(t,n={})=>y(F,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>y(V,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>y(B,[t,{...a,...n},e],r),register:(t={})=>y(X,[e,t],f.metadata.target),recordCustomEvent:(t,n={})=>y(G,[t,{...a,...n},e],r),setApplicationVersion:e=>v("application.version",e),setCustomAttribute:(e,t)=>v(e,t),setUserId:e=>v("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:i}},p=()=>(r.blocked&&c(),r.blocked);function g(){i.reportedAt||(i.reportedAt=(0,o.t)(),f.recordCustomEvent("MicroFrontEndTiming",{assetUrl:i.asset,assetType:i.type,timeToLoad:i.registeredAt-i.fetchStart,timeToBeRequested:i.fetchStart,timeToFetch:i.fetchEnd-i.fetchStart,timeToRegister:i.registeredAt-i.fetchEnd,timeAlive:i.reportedAt-i.registeredAt}))}p()||(d.push(f),(0,x.G)(g));const v=(e,t)=>{p()||(a[e]=t)},y=(r,n,i)=>{if(p()&&r!==X)return;const a=(0,o.t)();(0,s.p)(O.xV,["API/register/".concat(r.name,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,a)}catch(e){(0,h.R)(50,e)}};return f}class Q extends y{static featureName=k.T;constructor(e){var t;super(e,k.T),t=e,(0,c.Y)(a.o5,(e,r)=>B(e,r,t),t),function(e){(0,c.Y)(a.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,c.Y)(a.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),q(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,s.p)("ierr",[C(t),(0,o.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),f.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,s.p)("err",[L(t),(0,o.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),f.gm.addEventListener("error",t=>{this.abortHandler&&(0,s.p)("err",[I(t),(0,o.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#r,this.importAggregator(e,()=>i.e(478).then(i.bind(i,2176)))}#r(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var J=i(8990);let ee=1;function te(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===f.gm?0:(0,J.I)(e,"nr@id",function(){return ee++})}function re(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.A)(e).length}catch(e){return}}}var ne=i(8139),ie=i(7836),se=i(3434);const oe={},ae=["open","send"];function ce(e,t){var r=e||ie.ee;const n=function(e){return(e||ie.ee).get("xhr")}(r);if(void 0===f.gm.XMLHttpRequest)return n;if(oe[n.debugId]++)return n;oe[n.debugId]=1,(0,ne.u)(r);var i=(0,se.YM)(n),s=f.gm.XMLHttpRequest,o=f.gm.MutationObserver,a=f.gm.Promise,c=f.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],p=f.gm.XMLHttpRequest=function(e){const r=new s(e),o=n.context(r);o.targets=(0,H.$5)(t);try{n.emit("new-xhr",[r],o),r.addEventListener(d,(a=o,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",w)}),(0,N.jT)(!1))}catch(e){(0,h.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var a;return r};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,p),p.prototype=s.prototype,i.inPlace(p.prototype,ae,"-xhr-",w),n.on("send-xhr-start",function(e,t){g(e,t),function(e){l.push(e),o&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",g),o){var m=a&&a.resolve();if(!c&&!a){var v=1,y=document.createTextNode(v);new o(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<l.length;e++)g(0,l[e]);l.length&&(l=[])}function w(e,t){return t}return n}var de="fetch-",ue=de+"body-",le=["arrayBuffer","blob","json","text","formData"],fe=f.gm.Request,he=f.gm.Response,pe="prototype";const ge={};function me(e,t){const r=function(e){return(e||ie.ee).get("fetch")}(e);if(!(fe&&he&&f.gm.fetch))return r;if(ge[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},o=(0,H.$5)(t);var a;r.emit(i+"before-start",[e],n),n[ie.P]&&n[ie.P].dt&&(a=n[ie.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,a],c),c.then(function(e){return r.emit(i+"end",[null,e,o],c),e},function(e){throw r.emit(i+"end",[e,void 0,o],c),e})})}return ge[r.debugId]=1,le.forEach(e=>{n(fe[pe],e,ue),n(he[pe],e,ue)}),n(f.gm,"fetch",de),r.on(de+"end",function(e,t,n){var i=this;if(i.targets=n||[void 0],t){var s=t.headers.get("content-length");null!==s&&(i.rxSize=s),r.emit(de+"done",[null,t],i)}else r.emit(de+"done",[e],i)}),r}var ve=i(7485);class ye{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,Y.ZF)(),o=(0,Y.el)(),a=Date.now(),c={spanId:s,traceId:o,timestamp:a};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,o),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,a,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,o,a,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof f.gm?.btoa))return null;var o={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(o.d.tk=s),btoa((0,D.A)(o))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ve.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var be=i(9300),we=i(7295);function Re(e){return"string"==typeof e?e:e instanceof(0,T.dV)().o.REQ?e.url:f.gm?.URL&&e instanceof URL?e.href:void 0}var Ee=["load","error","abort","timeout"],Te=Ee.length,Ae=(0,T.dV)().o.REQ,xe=(0,T.dV)().o.XHR;const Se="X-NewRelic-App-Data";class _e extends y{static featureName=be.T;constructor(e){super(e,be.T),this.dt=new ye(e),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};f.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};Oe(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}me(this.ee,e),ce(this.ee,e),function(e,r,n,i){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=T,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){x(t,e)},(0,N.jT)(!1)),f.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,N.jT)(!1))}function c(e){this.params={method:e[0]},Oe(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=re(i);a&&(n.txSize=a)}this.startTime=(0,o.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit("internal-error",[e])}catch(e){}}};for(var c=0;c<Te;c++)t.addEventListener(Ee[c],this.listener,(0,N.jT)(!1))}function l(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+te(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+te(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,o.t)()}function m(e,t){t instanceof xe&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function v(e,t){t instanceof xe&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function y(e,t,r){t instanceof xe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,o.t)()))}function b(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,o.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&f.RI&&(t=""+f.gm.location.href):e[0]&&e[0].url?t=e[0].url:f.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ve.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)a(e[0].headers,n)&&(this.dt=n);else{var s={};for(var o in r)s[o]=r[o];s.headers=new Headers(r.headers||{}),a(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function a(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,o.t)(),this.dt=t;let[r,n={}]=e;Oe(this,Re(r));const i=(""+(r&&r instanceof Ae&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.body=n.body,this.txSize=re(n.body)||0}function E(e,t){if(this.endTime=(0,o.t)(),this.params||(this.params={}),(0,we.iW)(this.params))return;let r;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(r=+this.rxSize);const n={txSize:this.txSize,rxSize:r,duration:(0,o.t)()-this.startTime},i=[this.params,n,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>A(i,this,e))}function T(e){const t=this.params,r=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Te;t++)e.removeEventListener(Ee[t],this.listener,!1);if(t.aborted)return;if((0,we.iW)(t))return;r.duration=(0,o.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):x(this,e),r.cbTime=this.cbTime;const n=[t,r,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>A(n,this,e))}function A(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function x(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?re(e.response):"text"===r||""===r||void 0===r?re(e.responseText):void 0}(n,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(Se)>=0){var o=n.getResponseHeader(Se);o&&((0,s.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=o.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",c),r.on("open-xhr-end",d),r.on("send-xhr-start",u),r.on("xhr-cb-time",l),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",g),r.on("addEventListener-end",m),r.on("removeEventListener-end",v),r.on("fn-end",b),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",y),r.on("fetch-done",E)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>i.e(478).then(i.bind(i,3845)))}}function Oe(e,t){var r=(0,ve.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const Pe={},ke=["pushState","replaceState"];function Ne(e){const t=function(e){return(e||ie.ee).get("history")}(e);return!f.RI||Pe[t.debugId]++||(Pe[t.debugId]=1,(0,se.YM)(t).inPlace(window.history,ke,"-")),t}var De=i(3738);function je(e){(0,c.Y)(a.BL,function(r=Date.now()){const n=r-f.WN;n<0&&(0,h.R)(62,r),(0,s.p)(O.XG,[a.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:a.BL,start:r,origin:"nr"}),(0,s.p)(a.Pl+a.hG,[n,a.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:Ce,bD:Le,d3:Ie,Kp:Me,TZ:Be,Lc:He,uP:We,Rz:Ke}=De;class Fe extends y{static featureName=Be;constructor(e){var r;super(e,Be),r=e,(0,c.Y)(a.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const n={n:e.name,s:e.start-f.WN,e:(e.end||e.start)-f.WN,o:e.origin||"",t:"api"};n.s<0||n.e<0||n.e<n.s?(0,h.R)(61,{start:n.s,end:n.e}):(0,s.p)("bstApi",[n],void 0,t.K7.sessionTrace,r.ee)},r),je(e);if(!(0,g.V)(e.init))return void this.deregisterDrain();const n=this.ee;let d;Ne(n),this.eventsEE=(0,ne.u)(n),this.eventsEE.on(We,function(e,t){this.bstStart=(0,o.t)()}),this.eventsEE.on(He,function(e,r){(0,s.p)("bst",[e[0],r,this.bstStart,(0,o.t)()],void 0,t.K7.sessionTrace,n)}),n.on(Ke+Ie,function(e){this.time=(0,o.t)(),this.startPath=location.pathname+location.hash}),n.on(Ke+Me,function(e){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,n)});try{d=new PerformanceObserver(e=>{const r=e.getEntries();(0,s.p)(Ce,[r],void 0,t.K7.sessionTrace,n)}),d.observe({type:Le,buffered:!0})}catch(e){}this.importAggregator(e,()=>i.e(478).then(i.bind(i,6974)),{resourceObserver:d})}}var Ue=i(6344);class Ve extends y{static featureName=Ue.TZ;#n;recorder;constructor(e){var r;let n;super(e,Ue.TZ),r=e,(0,c.Y)(a.CH,function(){(0,s.p)(a.CH,[],void 0,t.K7.sessionReplay,r.ee)},r),function(e){(0,c.Y)(a.Tb,function(){(0,s.p)(a.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);try{n=JSON.parse(localStorage.getItem("".concat(w.H3,"_").concat(w.uh)))}catch(e){}(0,p.SR)(e.init)&&this.ee.on(a.CH,()=>this.#i()),this.#s(n)&&this.importRecorder().then(e=>{e.startRecording(Ue.Qb.PRELOAD,n?.sessionReplayMode)}),this.importAggregator(this.agentRef,()=>i.e(478).then(i.bind(i,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,s.p)(Ue.Vh,[e],void 0,this.featureName,this.ee))})}#s(e){return e&&(e.sessionReplayMode===w.g.FULL||e.sessionReplayMode===w.g.ERROR)||(0,p.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#n??=Promise.all([i.e(478),i.e(249)]).then(i.bind(i,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#n)}#i(){this.blocked||(this.featAggregate?this.featAggregate.mode!==w.g.FULL&&this.featAggregate.initializeRecording(w.g.FULL,!0,Ue.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(Ue.Qb.API,w.g.FULL)}))}}var Ge=i(3962);class ze extends y{static featureName=Ge.TZ;constructor(e){if(super(e,Ge.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,c.Y)(a.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var a={},c=this,d="function"==typeof i;return(0,s.p)(O.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((d?"":"no-")+"fn-start",[(0,o.t)(),c,d],a),d)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],a),t}finally{r.emit("fn-end",[(0,o.t)()],a)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{c.Y.apply(this,[r,function(){return(0,s.p)(a.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,c.Y)(a.PA,function(){(0,s.p)(a.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!f.RI||!(0,T.dV)().o.MO)return;const r=Ne(this.ee);try{this.removeOnAbort=new AbortController}catch(e){}Ge.tC.forEach(e=>{(0,N.sp)(e,e=>{l(e)},!0,this.removeOnAbort?.signal)});const n=()=>(0,s.p)("newURL",[(0,o.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n),(0,N.sp)(Ge.OV,e=>{l(e),(0,s.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let d=!1;const u=new((0,T.dV)().o.MO)((e,t)=>{d||(d=!0,requestAnimationFrame(()=>{(0,s.p)("newDom",[(0,o.t)()],void 0,this.featureName,this.ee),d=!1}))}),l=(0,m.s)(e=>{"loading"!==document.readyState&&((0,s.p)("newUIEvent",[e],void 0,this.featureName,this.ee),u.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),u.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>i.e(478).then(i.bind(i,4393)),{domObserver:u})}}var Ye=i(3333),Ze=i(9119);const qe={},Xe=new Set;function $e(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Qe{constructor(e,t){this.timestamp=(0,o.t)(),this.currentUrl=(0,Ze.L)(window.location.href),this.socketId=(0,Y.LA)(8),this.requestedUrl=(0,Ze.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class Je extends y{static featureName=Ye.TZ;constructor(e){super(e,Ye.TZ);const r=e.init.feature_flags.includes("websockets"),n=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,r];var d;let u,l;if(d=e,(0,c.Y)(a.hG,(e,t)=>U(e,t,d),d),function(e){(0,c.Y)(a.fF,(t,r)=>G(t,r,e),e)}(e),je(e),q(e),function(e){(0,c.Y)(a.V1,(t,r)=>V(t,r,e),e)}(e),r&&(l=function(e){if(!(0,T.dV)().o.WS)return e;const t=e.get("websockets");if(qe[t.debugId]++)return t;qe[t.debugId]=1,(0,x.G)(()=>{const e=(0,o.t)();Xe.forEach(r=>{r.nrData.closedAt=e,r.nrData.closeCode=1001,r.nrData.closeReason="Page navigating away",r.nrData.closeWasClean=!1,r.nrData.openedAt&&(r.nrData.connectedDuration=e-r.nrData.openedAt),t.emit("ws",[r.nrData],r)})});class r extends WebSocket{static name="WebSocket";static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return r.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Qe(e[0],e[1]),this.addEventListener("open",()=>{this.nrData.openedAt=(0,o.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),Xe.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=$e(e.data);this.nrData.messageOrigin??=(0,Ze.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,o.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,Xe.delete(this),t.emit("ws",[this.nrData],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=$e(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return f.gm.WebSocket=r,t}(this.ee)),f.RI){if(me(this.ee,e),ce(this.ee,e),u=Ne(this.ee),e.init.user_actions.enabled){function h(t){const r=(0,ve.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function p(){u.emit("navChange")}Ye.Zp.forEach(e=>(0,N.sp)(e,e=>(0,s.p)("ua",[e],void 0,this.featureName,this.ee),!0)),Ye.qN.forEach(e=>{const t=(0,m.s)(e=>{(0,s.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,N.sp)(e,t)}),f.gm.addEventListener("error",()=>{(0,s.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.ee.on("open-xhr-start",(e,r)=>{h(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)})}),this.ee.on("fetch-start",e=>{e.length>=1&&!h(Re(e[0]))&&(0,s.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),u.on("pushState-end",p),u.on("replaceState-end",p),window.addEventListener("hashchange",p,(0,N.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",p,(0,N.jT)(!0,this.removeOnAbort?.signal))}if(e.init.performance.resources.enabled&&f.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,s.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}r&&l.on("ws",e=>{(0,s.p)("ws-complete",[e],void 0,this.featureName,this.ee)});try{this.removeOnAbort=new AbortController}catch(g){}this.abortHandler=()=>{this.removeOnAbort?.abort(),this.abortHandler=void 0},n.some(e=>e)?this.importAggregator(e,()=>i.e(478).then(i.bind(i,8019))):this.deregisterDrain()}}var et=i(2646);const tt=new Map;function rt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,h.R)(29);const o=function(e){return(e||ie.ee).get("logger")}(e),a=(0,se.YM)(o,void 0,s),c=new et.y(ie.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[se.Jt]||t[r];return tt.set(d,c),a.inPlace(t,[r],"wrap-logger-",()=>tt.get(d),void 0,!0),o}var nt=i(1910);class it extends y{static featureName=W.TZ;constructor(e){var t;super(e,W.TZ),t=e,(0,c.Y)(a.$9,(e,r)=>F(e,r,t),t),function(e){(0,c.Y)(a.Wb,(t,r,{customAttributes:n={},level:i=W.p_.INFO}={})=>{rt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),q(e);const r=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,nt.i)(f.gm.console[t]),rt(r,f.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([e],t,n,i=[]){const{level:s,customAttributes:o,autoCaptured:a}=this;i.forEach(t=>{(0,K.R)(r,e,o,s,a,t)})}),this.importAggregator(e,()=>i.e(478).then(i.bind(i,5288)))}}new A({features:[_e,E,_,Fe,Ve,P,Q,Je,it,ze],loaderType:"spa"})})()})();
</script> <script async src="//static.adsafeprotected.com/iasPET.1.js" ></script> <script async data-ot-ignore src="https://www.googletagmanager.com/gtm.js?id=GTM-5523ZCM" ></script> <script async data-ot-ignore src="https://www.googletagmanager.com/gtm.js?id=GTM-KSPX23J" ></script><script defer="" async="" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v18.0" data-ot-ignore="true"></script><link rel="modulepreload" href="/assets/entry.client-WQ4JFhQx.js"/><link rel="modulepreload" href="/assets/react-BqmUObHr.js"/><link rel="modulepreload" href="/assets/react-dom-B0RQ2kJA.js"/><link rel="modulepreload" href="/assets/jsx-runtime-DBNpHuQp.js"/><link rel="modulepreload" href="/assets/preload-helper-CbI0Klgk.js"/><link rel="modulepreload" href="/assets/root-RloDA3Dw.js"/><link rel="modulepreload" href="/assets/src-Y0ZzoQgU.js"/><link rel="modulepreload" href="/assets/src-CdyytUcs.js"/><link rel="modulepreload" href="/assets/errorBoundary-DmYlG005.js"/><link rel="modulepreload" href="/assets/index.es-CzDN4vSH.js"/><link rel="modulepreload" href="/assets/esm-c-7d8dMx.js"/><link rel="modulepreload" href="/assets/src-ConzfMuK2.js"/><link rel="modulepreload" href="/assets/src-ZYKgywyD.js"/><link rel="modulepreload" href="/assets/src-C649mUwh.js"/><link rel="modulepreload" href="/assets/src-OEn6lbRS.js"/><link rel="modulepreload" href="/assets/src-29dM-DRN.js"/><link rel="modulepreload" href="/assets/meta-CKzx_q_i.js"/><link rel="modulepreload" href="/assets/src-DrUZA_BS.js"/><link rel="modulepreload" href="/assets/striptags-C6Z8qEb3.js"/><link rel="modulepreload" href="/assets/src-DT8pN15R.js"/><link rel="modulepreload" href="/assets/src-gHZs4WkN2.js"/><link rel="modulepreload" href="/assets/src-Cuae8w-Y.js"/><link rel="modulepreload" href="/assets/src-Dk-W56OU2.js"/><link rel="modulepreload" href="/assets/src-B6W36Q0u.js"/><link rel="modulepreload" href="/assets/src-Btvz-lqp.js"/><link rel="modulepreload" href="/assets/src-4sW5lPB1.js"/><link rel="modulepreload" href="/assets/src-CuFXwhH7.js"/><link rel="modulepreload" href="/assets/src-ICN0g-KI.js"/><link rel="modulepreload" href="/assets/src-XrfQbmpM.js"/><link rel="modulepreload" href="/assets/src-CqxX1oo3.js"/><link rel="modulepreload" href="/assets/src-CAAvt38V.js"/><link rel="modulepreload" href="/assets/src-CW1a1kK92.js"/><link rel="modulepreload" href="/assets/src-BB6jB7X3.js"/><link rel="modulepreload" href="/assets/src-Cn3lWZ8t.js"/><link rel="modulepreload" href="/assets/src-DZjGMtIm.js"/><link rel="modulepreload" href="/assets/src-BOW2TAy82.js"/><link rel="modulepreload" href="/assets/extends-DQyfp-FM.js"/><link rel="modulepreload" href="/assets/_baseForOwn-5n8zOHco.js"/><link rel="modulepreload" href="/assets/useIsomorphicLayoutEffect-CrpupiLT.js"/><link rel="modulepreload" href="/assets/toNumber-DMNTeGz6.js"/><link rel="modulepreload" href="/assets/_topic._index-DIXwuC4I.js"/><link rel="modulepreload" href="/assets/dist-CVDZOTen.js"/><link rel="modulepreload" href="/assets/src-D5OWY2q4.js"/><link rel="modulepreload" href="/assets/src-BKTcUlG42.js"/><link rel="modulepreload" href="/assets/src-C3iJimQX.js"/><link rel="modulepreload" href="/assets/src-CL499QJq.js"/><link rel="modulepreload" href="/assets/src-BTo5HBHy.js"/><link rel="modulepreload" href="/assets/src-D2FAMs-5.js"/><link rel="modulepreload" href="/assets/src-DpWtZdRX2.js"/><link rel="modulepreload" href="/assets/src-B7OjaCOD.js"/><link rel="modulepreload" href="/assets/_topic._index-wC-Wc3HU.js"/><link rel="modulepreload" href="/assets/src-DAq8gZIX.js"/><link rel="modulepreload" href="/assets/string-BCKS3Bc8.js"/></head><body data-version="2.58.2" class="brand-gamedeveloper "><noscript><iframe title="gtm noscript 0" src="https://www.googletagmanager.com/ns.html?id=GTM-5523ZCM" height="0" width="0" style="display:none;visibility:hidden"></iframe><iframe title="gtm noscript 1" src="https://www.googletagmanager.com/ns.html?id=GTM-KSPX23J" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div id="fb-root"></div><main data-theme="theme2" class="Provider"><div data-testid="ad_blocker" class="ads ad adsbox doubleclick ad-placement carbon-ads ad-banner ad-container" style="top:0;left:0;height:1px;width:1px;position:absolute"></div><div data-template="layout" class="Layout"><nav data-module="navigation" aria-label="navigation" class="Navigation"><div data-testid="header" class="Navigation-HeaderWrapper"><div class="FullScreenBackground Navigation-HeaderBackground"></div><div class="Navigation-Header"><div class="InformaBar" data-component="informa-bar"><div class="InformaBar-ContentSection InformaBar-ContentSection_hidden" data-testid="informa-bar-content-section"><div class="InformaBar-LeftSection" data-testid="informa-bar-left-section"><div>Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed decisions across your business priorities.</div><div class="InformaBar-SubMenuWrapper"><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://www.informa.com/" title="Informa PLC" target="_blank" rel="noreferrer">Informa PLC</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://www.informa.com/about-us/" title="ABOUT US" target="_blank" rel="noreferrer">ABOUT US</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://www.informa.com/investors/" title="INVESTOR RELATIONS" target="_blank" rel="noreferrer">INVESTOR RELATIONS</a><span class="InformaBar-Delimiter">|</span><a class="InformaBar-SubMenuItem" data-testid="informa-bar-sub-menu-item" href="https://www.informa.com/talent/" title="TALENT" target="_blank" rel="noreferrer">TALENT</a></div></div><div class="InformaBar-RightSection" data-testid="informa-bar-right-section">This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC&#x27;s registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.</div></div><div class="InformaBar-LogoSection" data-testid="informa-bar-logo-section" role="button" tabindex="0" aria-label="Open Informa bar"><div class="InformaBar-LogoWrapper"><img class="InformaBar-Logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAekAAABqCAYAAACYnalVAAAACXBIWXMAAAsSAAALEgHS3X78AAAPZklEQVR4nO2d320bSRKHew0/HkDe4t41jkDcCMSNwNwIpI3AdATWRmA6AksRrAzcu8UIjoxgxffDQYzAh9mtvmsPKHJIVvVUz3wfQNgWrOHM9J9fV3V11Q/fvn0Le7gJIUxDCFUI4Ur+2zKE8BxCeJDP874LQPGMpQ9M5M/635d7HmoTQngKITyGEFbyeaIbAAAcz0siXYvzbQjh4sAVtyGEhfxf6A+1EM/k81bhqdYi2nci2gAA0IKmSI9lIj12Yl6LlYVVXTZ1+8/lMzJ6krUs7PDCAAAcoCnSqwOuzH0g1GUzkwWalTg3iV6YBX0GAGA3r5KfLs4Q6CC/e8d7Lo7oPfk9o0AH+a4PYrUDAMAOokjXFvA7hRf0ViwyKIOx7BVf014AAP6IIq1pzRBEVgZRoM/xngAAgCGvZLLWiOCNXMpxHfANAg0A4JxXRoI6peFdc278AQAAZOCVkaCOaTy3aMUfAACAMbVI/4OXPCiIwAcAKIRapP8dQvgPDTYIblpkkQMAACe8lgQmP4pQ/0jD9JockfcxBeiz9K00Ucn0hb8DAMAOXie5lDWF+pGX7Q5LK3ojwWh3B7KH0S8AAI7glVQoWsuv/Kjg+t4wGbvEKsnMvZwQIL0nAIAyMZnJIrnsuUJNYJI/tM/CR96LhY44AwAYkBbYeExqRocTXd9rEpm4pBbSz8o3di/XBQAAI9ICGzOpTBQ51qLeMmm7RdvVvaUwBgCAPalIP0v07Sb5WVuh3srvUtDfJ9reDfafAQAy8KrxFSuZ0O+Tnx0S6qX8DgLtk8ogqpu4AwCADDRFOoiFVLut34QQPoll3RTqjQj5z2JBP9FYbqmUb2xNewMA5OH1nm95kn3HuPdYi/HfQgj/pG2KQjtpCMfrAAAysU+kmzA5Q8CKBgDIxy53N/QLbUua2AMAgEwg0gAAAE45xt0N/2eXdfo8ECuz79se4xZH1p5w+0NLXupP3vvQkOe4SHUg8LZZQMgERHo/Y+msUxlo9Wd04Hc20ni1mD0wmbukStpzIu18deKNLpPJ6zHXwAW3TBtzxqH5Yi195iGpHpebShIexXs+dGSzb3NcOr9XLdstZSPvYNX4qJCmBYW/iB22PoZ2qfBO1kmFqC7QbuAfOnqOc4iLrTgRWdfUjuU64yQG/WaWfI6Z3Jtspb/cZhA+zXmu6znuWCbJfHDq4vwQ22Th9XDO4iuKdDNv97mcMpF3fQ838rFstLlyR+7DCus3wzrXcRKyKC7SljhYFx26CjX7yVIxGLFqWDCpa/GxRb+o7+Or0r2EI/tiJeP55kxhfol7ub62ZT2V61qMiY28P49iXSVzvPUivclZc8DQ3d2x4eZGAy1lJEUuYkfBDW7DOGnT3INxF3W7X8tnKQN1qNZ16ladHhhzXmMfKhGia+PvuU4WmRr95Ubu23JMXCRz3MzJto+18dWG5hxwe0z/Hmp0dyWrvT9CCB8yCHTKVZJ+FXSJi5+PTgS6Sd32v0v7ax+N80q0OFcy3j6KFZdzzGmQzhnWAh0ZSX85x9MUx8TnjGPiSr6zyzkufe4uBbrJlXh/HtpmgxyaSI87GGi7GMlKiqphOsTc8Z8Lmfwvk4E6dnA/FtxIH4/CrBHf0QUe5owPJ7iQp8mY6GLBGue43ELdxaLkFN5K+xzUgCGJdAzG6FKcU0bi+sSiPo+6Xf9VqAi8lT6pXUq0K8bSHs8OLZhTmDuaM65bLuorEcevDsZETqGeFSLOKXELdO8CbAgiHQuA5HZrtyF24r5aU5aM5d19KPw5oktz4eBeTmWcLII9jrNjiUL30dmzfN4jeLEN/nC2OBoZe4ziPPB7QeLc5HqfUPdZpMcy8X113ngjjukczcTgNEDXvCt0wdYncQ5ira4c961dghdd214XrBeGEd+TnswDLwp1n0V6JRNfCVyxP92aKNCl7nHu46ogofbsoTqVeQFxDRdJZcKxiLZ3QyTI1k5ftnWsuN7lUeuzSJfm+rA6K9wnomurL6Kwi0vnQl2Kh+oUSulX8yRAqsscAMdS8pZOLt41FzMU2PDDBdb0XoYg0JFLx1sglwV5qPrKqKCTDCnMce24SxfpiLQvsKZf5q6nLu6XuMLygB4yp1EPMkq1YOgZx7xxIa4OAsm+xyqN4Uusk4T5KTF1Za5AlXfk/4aecZnkNchNWgwnrejVpijOpJHz29qL8S4eZ0Sk/YFIf0+VycOwFGu9bTL8aZL+0HLA3sk7oLIW9IWbDBb1OqlKt1JYFMRrxAjsHOlG63d0i0j/xTYpvfZSnde4irK26I6JgPytxf/RPpZxr5x3/FAO24WxCB6dS1d4TAK85obHX0YyMRAZ64dNQwCa5JorjmGb3POuvl5ltBJnBiK9SapO5Sj5eSefucwfFu/sz3zrfa6CdYhl0qjHrLJi0gDL4JmfFN1B2pWyfs5Y/EC7ylHKVtpRa9+3kv5ktW9+znv3UC1t2ai3nS6Gx40kHdNkst2HZf9osk48LW0XqZX0r67EepuISdv5ZJwU47AU6zdKi/2xvOeuKswF6bsPRqcdfhqaSK+TTnvuSutGIiwteK8oHiWLtFWf2CYJIDSJx5Ms0kiuz0iv2IVIx/J8D4bbNzlE+l6hzKjlXLGLZTLPnYr1ovPXgupPtyEuFLQXNu+HEt19L9bpRAachivkTjqaBUOpkLSPaWECHaRf3Uh/0+aykOMraxkXlWKZxS74FEL4e5KB7BzuZOFtzVIW0VMFAXyS62yM7rlvNQuscvBP+y7S9+JW0Rhou6gHwheD67YqYdYSq0FmjVVgiZVAp9zIhKmN5+MrUSAmSp6qrljKnDFXfoaFUZ8IMsZ/SbYJtHg2XBj2sbDQo8ECveqzSL9JsvJYYjFxarqYrJ/fgspoH+99xr2rmVjtmlw69LKk1luubRArPiXpTi2wOKWwTfZELbAQntDj6n/abXzZZ5HOJU5PRtb0kCtjWbiNlpmTg1hZIV5c3useiXPE2vp/lPemySjDfVssLvqaOVBdD8g4poPFKnbIdaYthKgLV/GDgYtz1vECbit7zpMeiXNOLIKlrL0rTwaLi9BjQ0R1XCDSOjBZ6VEZRJTed3hEQ9sKGXV8ZnrVs6jc3JQ6V1i0eV8NEdW5BpHW4clg/3GoWAhQl6LyaGBNE/1fLqtC54ouzyGXBiLtFDqxDtoCtHZgvWjvhZN9rGxKnCvwFrZHNUYAkdajxChqj2iLtAfX7IOy9TQaeMxC6ZR6PM1iXxoOgEjrgUifT2UQ9eklmYb2feDyLpdSvW4UeekARBo8oW0drh0tnrRFGksacoMh0gGINHhCW3g87aNp34tmVjqANiDSHUCpSvBEn0X6WSx7reNlOSvGAQydiZzrTiu2Nau3BYtxiUiDJ7STG3jb+1spnwEfs09YJFikPhkntcAr+Uy6zo6GSIMntF243ibDlXIZS7J+lQki7YMoyFP5u0U96LNBpMETmoPEquLQOXCWHqA7xpJjYCp/FpE/HJEGyIe2a7pPxS0ArJjJR9OLlQ1EGrygvR/tUbywpAHyEK3mW69u7LYg0uAFzv0CgAZzEedelMNEpAEAoA9MJQ1w0ZZzE5KZAABAyYyliM3Xvgl0wJIGAICCqSTlrnYNejdgSQMAQIlMDBIEaaB6/BNLGgAASiMm8ukiOGwri4NHSUyTfiLftL4MkQYvkN4SANpQZRbojXzfYyLM2UCkwQucIQaANjxkEOiNfM9d13MTIg19xeO5a+3c5HgfYGjcGu9BLyVSXLv++8kg0tBXtDOYaaAt0ngfYEjUC+8PRs+7lAWAu0yFRHeDJzSjIodgSQMMiYXBs9ZBYO8958HHkoa+4jEloLZIU1wDhkK96L5Sfta15Pd2XToUSxo8oS06U2fPR35ygNOYK7+3tcwP7mt7I9LgCe0B400UNe/HY71sACtmitfdikAXEXiJSIMntEXakyVdKecVJmgMhsJMeftqVtLJCEQaPNFnd7f2vSDSMBQ0x86ytFgORBq8oenGHTlyeSPSAKehOYbvSmsDRBq8ob3KvXHyfNp7aog0DAXNqO4cSUpUF+SINHhDW6Q1xfFUbpT31Dh6BUNB89jiJtNetOpRS0QavPEolqIWFw72prWteTcpCwGM0RS8XMetsKSh92iL0G2HL6wySMKASAMcT65UwareO0QaPKItQlcdWtPaqQy/UFgD4CQsC3NEtLe2EGlwyYPsH2nShTVdLwzeKl8TKxrgdKzz56vPM4g0eEX7qMSVQWrBQ2hb0ZsSj5AAOMLSozZXTlj0J4g0eGWhHEAWZJWb69z0wsC9hkADnIfVkcyJlbcOkQavPBtYoiMROusAknoieKd8za1RqT4Az2jHX1jEp4xlXjGpvIdIg2csrOlLOeZlJdS1QH82uO6CgDEYIBZJezQXu2OZT8yC0hBp8IyFNR0SodZ2fd8aCfQGKxoGzFr50S+Vto4m1gIdEGkogFuDQRoSodYIJqvkWh8UrrWLOVY0DBiLDHvXZwr1PIdAB0QaCsEq2KPeQ/oomYhO+Y6JDPQ/DBKWRL5w7AoGjlXA5LW404/Zo76R+eKj1R50k9c5vgTgTOqB9F4GhgUX4qZeyOr4Ub7zqZFKcCp7UFP5WK+iN44KhAB0xUrGgvrxJhnDX8VbdyfftUo8V1PxlE0N6lq3ApGGUliI5XpteL8jST6inYDkFLalFacHMOTOcDspiFhrGgFbWeCfvZDH3Q0lMTfan/bInHKUAP/D4qSHFVuxvFUW2Ig0lMSzdP6+C/WvJC4B+I7nDjIGnorqAhuRhtLou1Aj0AC7qcfF0vm7UR+/iDSUSBRq7wP2GGoX2S8INMBeZk7d3mbjF5GGUolC/akHLbiWZ+GoFcB+4rj3JNRby/GLSEPp1Ps/PxuUtszFJxngBIkBtGPlSKiXckTLbPwi0tAHYorPkqzqjSwuyCYGcDxdC/VWcjeoRXG/BCINfSFGf74JIdw7fqaNBJdURukOAYbCSsZR7tiUpRgFWfLpI9LQN2KKzyjWXvau1ok4ExwGoEPco/41w1hfivdr2shEaErMOOZhP6z0Pbkn5RWdlgtF+72W4pqNYj2WiNBZB5nENhJMctdx/9bsl57G6bPys+WaeLXvO9eY9DrHBRljD+JNu1FOIfolSRl8DCpj5Ydv375pXAegFGayEp4YFMXYJHm/H3KutgHgO2bJ55R828tkgd2pYYJIw9CZJEUzQvLvQ8RVdSzCwf4ygE/qMV1/YqGMXaTj2M9YDiH8F/cmbyXaV5JLAAAAAElFTkSuQmCC" alt=""/></div><span class="InformaBar-IconWrapper InformaBar-IconWrapper_closed"><svg viewBox="0 0 320 512" aria-hidden="true" focusable="false" role="img" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" height="100%"><path fill="#ffffff" d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span></div></div></div></div><div class="Navigation-SecondaryMenuWrapper"><div class="FullScreenBackground Navigation-SecondaryMenuBackground"></div><div class="Navigation-SecondaryMenu"><nav data-testid="SecondaryMenu" class="SecondaryMenu"><a class="SecondaryMenu-Link" rel="noreferrer" target="_blank" href="https://omdia.tech.informa.com/advance-your-business/media-and-entertainment/games-spotlight-service">Game Market Research</a><a class="SecondaryMenu-Link" rel="noreferrer" target="_blank" href="https://www.gdcvault.com/">Watch GDC Talks on GDC Vault</a><a class="SecondaryMenu-Link" rel="noreferrer" target="_blank" href="https://gdconf.com/">Attend or Exhibit at GDC</a><a class="SecondaryMenu-Link" rel="noreferrer" target="_blank" href="https://reg.gdconf.com/gamedeveloper-media-kit">Advertise With Game Developer</a></nav></div></div><div id="navigation-header" class="Navigation-NavBase"><div data-testid="navBase" class="NavBase"><div class="NavBase-Content"><div class="FullScreenBackground NavBase-SecondaryMenuBackground"></div><div class="NavBase-HeaderWrapper"><div class="NavBase-IconsWrapper"><button data-testid="navBase-megaMenuButton" class="NavBase-MegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-MegaMenuIcon NavBase-MegaMenuIcon_iconVariant_small NavBase-MegaMenuIcon_iconType_bars DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonDesktop" class="NavBase-SearchButtonDesktop" aria-label="Open Search"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonTablet" class="NavBase-SearchButtonTablet" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_small NavBase-SearchIcon_iconType_search DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="NavBase-LogoWrapper"><button data-testid="navBase-LogoMegaMenuButton" class="NavBase-LogoMegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-LogoMegaMenuIcon NavBase-LogoMegaMenuIcon_iconVariant_small NavBase-LogoMegaMenuIcon_iconType_bars DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><a class="NavBase-Logo" href="/" target="_self" data-discover="true"><img data-testid="logo-image" data-component="image" class="NavBase-LogoImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=476&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=476&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Game Developer Logo" title="Game Developer Logo"/></a></div><div class="NavBase-RegisterWrapper"><div data-module="newsletter-signup-promo"><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_small NewsletterSignupButton"><a data-component="button" data-testid="headerSmallNewsletterButton" class="Button Button_size_small Button_variant_primaryFilled" rel="noreferrer nofollow" target="_blank" href="https://gd-resources.gamedeveloper.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton" data-action-type="sign-up" data-name="subscribe-nav"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_medium NewsletterSignupButton"><div data-component="social-share" class="SocialShare SocialShare_variant_layout Layout-SocialShare"><a rel="noreferrer" aria-label="RSS" class="Layout-SocialLink" href="/rss.xml" target="_self" data-discover="true"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" class="Layout-SocialLink" href="https://twitter.com/gamedevdotcom/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" class="Layout-SocialLink" href="https://www.linkedin.com/company/gamedeveloperofficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Facebook" class="Layout-SocialLink" href="https://www.facebook.com/GameDeveloperOfficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Bluesky" class="Layout-SocialLink" href="https://bsky.app/profile/gamedeveloper.bsky.social"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Bluesky" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_bluesky DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3c?xml%20version=&#x27;1.0&#x27;%20encoding=&#x27;UTF-8&#x27;?%3e%3csvg%20width=&#x27;600&#x27;%20height=&#x27;530&#x27;%20version=&#x27;1.1&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m135.72%2044.03c66.496%2049.921%20138.02%20151.14%20164.28%20205.46%2026.262-54.316%2097.782-155.54%20164.28-205.46%2047.98-36.021%20125.72-63.892%20125.72%2024.795%200%2017.712-10.155%20148.79-16.111%20170.07-20.703%2073.984-96.144%2092.854-163.25%2081.433%20117.3%2019.964%20147.14%2086.092%2082.697%20152.22-122.39%20125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937%200.51669-3.7077%207.8964-13.714%2040.255-67.233%20197.36-189.63%2071.766-64.444-66.128-34.605-132.26%2082.697-152.22-67.108%2011.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07%200-88.687%2077.742-60.816%20125.72-24.795z&#x27;%20fill=&#x27;%23000000&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3c?xml%20version=&#x27;1.0&#x27;%20encoding=&#x27;UTF-8&#x27;?%3e%3csvg%20width=&#x27;600&#x27;%20height=&#x27;530&#x27;%20version=&#x27;1.1&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m135.72%2044.03c66.496%2049.921%20138.02%20151.14%20164.28%20205.46%2026.262-54.316%2097.782-155.54%20164.28-205.46%2047.98-36.021%20125.72-63.892%20125.72%2024.795%200%2017.712-10.155%20148.79-16.111%20170.07-20.703%2073.984-96.144%2092.854-163.25%2081.433%20117.3%2019.964%20147.14%2086.092%2082.697%20152.22-122.39%20125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937%200.51669-3.7077%207.8964-13.714%2040.255-67.233%20197.36-189.63%2071.766-64.444-66.128-34.605-132.26%2082.697-152.22-67.108%2011.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07%200-88.687%2077.742-60.816%20125.72-24.795z&#x27;%20fill=&#x27;%23000000&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" class="Layout-SocialLink" href="https://news.google.com/publications/CAAqBwgKML7GrQswy9HFAw?ceid=US:en&amp;oc=3&amp;hl=en-US&amp;gl=US"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div><a data-component="button" data-testid="headerMediumNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" rel="noreferrer nofollow" target="_blank" href="https://gd-resources.gamedeveloper.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton" data-action-type="sign-up" data-name="subscribe-nav"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div><button data-testid="RegisterSearchButton" class="NavBase-RegisterSearchButton" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="NavBase-SearchWrapper"><div class="FullScreenBackground NavBase-SearchBackground"></div><button data-testid="SearchCloseButton" class="NavBase-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_medium NavBase-SearchIcon_iconType_close DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div><div class="Navigation-MainMenu"><div data-testid="mainMenu"><div class="FullScreenBackground MainMenu-BackgroundSubmenu"></div><div class="FullScreenBackground MainMenu-BackgroundMenuItem"></div><div class="MainMenu-Content"><div class="MainMenu-MegaMenuButtonWrapper"><button data-testid="mainMenu-MegaMenuButton" aria-label="Open MegaMenu" class="MainMenu-MegaMenuButton"><span data-component="icon" data-name="Bars" class="MainMenu-MegaMenuIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="MainMenu-ItemsWrapper" role="menu"><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Trending"><span class="MainMenu-MainTitle">Trending<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/layoffs" target="_self" data-discover="true">▫️ Layoffs &amp; Studio Closures</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/program/gdc-festival-of-gaming" target="_self" data-discover="true">▫️ GDC 2026</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/generative-ai" target="_self" data-discover="true">▫️ Generative AI &amp; ML</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/lawsuits" target="_self" data-discover="true">▫️ Industry Lawsuits</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/game-engines-development-tools" target="_self" data-discover="true">▫️ Development Tools</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/culture" target="_self" data-discover="true">▫️ Culture &amp; Dev Communities</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/latest-interviews" target="_self" data-discover="true">Trending</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/latest-interviews" target="_self" data-discover="true"><span class="SubMenu-SeeMoreText">Top Stories</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Attendees and signage at GDC 2026" title="Attendees and signage at GDC 2026"/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" target="_self" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true">Data and player sentiment highlight the value of authentic LGBTQ narratives</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true">Data and player sentiment highlight the value of authentic LGBTQ narratives</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/alessandro-fillari" target="_self" data-discover="true">Alessandro Fillari</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 14, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">4 Min Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7bcd0ffffc717774/69de5153f79e3fad3d16943c/pragmatafeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7bcd0ffffc717774/69de5153f79e3fad3d16943c/pragmatafeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Hugh and Diana run from a giant robot in Pragmata." title="Hugh and Diana run from a giant robot in Pragmata."/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" target="_self" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat" target="_self" data-discover="true">How Capcom's Pragmata blends puzzle-solving with sci-fi combat</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat" target="_self" data-discover="true">How Capcom's Pragmata blends puzzle-solving with sci-fi combat</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/alessandro-fillari" target="_self" data-discover="true">Alessandro Fillari</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 14, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">5 Min Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Latest News"><span class="MainMenu-MainTitle">Latest News<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/series/patch-notes-newsletter" target="_self" data-discover="true">▫️ Weekly News Highlights</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/series/news-trending-story-deep-dives-column" target="_self" data-discover="true">▫️ News Deep Dives</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/about-the-game-developer-collective" target="_self" data-discover="true">▫️ GD Collective Research</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/latest-news" target="_self" data-discover="true">Latest News</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/latest-news" target="_self" data-discover="true"><span class="SubMenu-SeeMoreText"></span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/business/ubisoft-halifax-union-members-agree-settlement-after-studio-closure" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt72a6e8cf03e767a9/69e0a2159ba34f94aca47164/Ubisoft_Header_2.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt72a6e8cf03e767a9/69e0a2159ba34f94aca47164/Ubisoft_Header_2.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="The Ubisoft logo (a white swirl) on a background featuring the aurora borealis" title="The Ubisoft logo (a white swirl) on a background featuring the aurora borealis"/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_business ContentPreview-Category" href="/business" target="_self" data-discover="true">Business</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/business/ubisoft-halifax-union-members-agree-settlement-after-studio-closure" target="_self" data-discover="true">Ubisoft Halifax union members agree settlement after studio closure</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/business/ubisoft-halifax-union-members-agree-settlement-after-studio-closure" target="_self" data-discover="true">Ubisoft Halifax union members agree settlement after studio closure</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" target="_self" data-discover="true">Chris Kerr</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 16, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">1 Min Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/business/runescape-developer-to-expand-its-ip-to-the-asian-pacific-region" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7072660b3d2a7ed0/69dfbbf10bc8500b72243faa/ss_365c7159a244b1f7f9b3190f01ee20df7841f3b5.1920x1080.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7072660b3d2a7ed0/69dfbbf10bc8500b72243faa/ss_365c7159a244b1f7f9b3190f01ee20df7841f3b5.1920x1080.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="A screenshot of Runescape: Dragonwilds showing multiple characters in a fierce battle" title="A screenshot of Runescape: Dragonwilds showing multiple characters in a fierce battle"/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_business ContentPreview-Category" href="/business" target="_self" data-discover="true">Business</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/business/runescape-developer-to-expand-its-ip-to-the-asian-pacific-region" target="_self" data-discover="true">RuneScape developer to expand its IP to the Asia-Pacific region</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/business/runescape-developer-to-expand-its-ip-to-the-asian-pacific-region" target="_self" data-discover="true">RuneScape developer to expand its IP to the Asia-Pacific region</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/diego-arguello" target="_self" data-discover="true">Diego Argüello</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 15, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">2 Min Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of [GDC]"><span class="MainMenu-MainTitle">[GDC]<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/gdc-festival-of-gaming" target="_self" data-discover="true">▫️ Talks &amp; Interviews</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" rel="noreferrer" target="_blank" href="https://gdconf.com/news-insights/">▫️ GDC News</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/series/unlocking-the-vault-gdc-vault-highlights-game-dev-tips" target="_self" data-discover="true">▫️ GDC Vault: Editor Picks</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" rel="noreferrer" target="_blank" href="https://www.gdconf.com">▫️ Register for GDC</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" rel="noreferrer" target="_blank" href="https://www.gdcvault.com">▫️ GDC Vault: Full Library </a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/state-of-the-game-industry-report" target="_self" data-discover="true">▫️ Dev Surveys, Data, &amp; Insights</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/keyword/gdc-festival-of-gaming" target="_self" data-discover="true">[GDC]</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/keyword/gdc-festival-of-gaming" target="_self" data-discover="true"><span class="SubMenu-SeeMoreText">Learn More</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Attendees and signage at GDC 2026" title="Attendees and signage at GDC 2026"/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" target="_self" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true">Data and player sentiment highlight the value of authentic LGBTQ narratives</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true">Data and player sentiment highlight the value of authentic LGBTQ narratives</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/alessandro-fillari" target="_self" data-discover="true">Alessandro Fillari</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 14, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">4 Min Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/finding-inspiration-and-a-bit-of-hope-in-corgispace" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc42a0dd62dd2a12f/69d403c2c33dd97b8ccfdbf9/ss_84efa1e1ac04618ec2c177a11e46217aff67c11e.1920x1080.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc42a0dd62dd2a12f/69d403c2c33dd97b8ccfdbf9/ss_84efa1e1ac04618ec2c177a11e46217aff67c11e.1920x1080.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="8-bit jewels and gems" title="8-bit jewels and gems"/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" target="_self" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/finding-inspiration-and-a-bit-of-hope-in-corgispace" target="_self" data-discover="true">Finding inspiration and a bit of hope in CorgiSpace</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/finding-inspiration-and-a-bit-of-hope-in-corgispace" target="_self" data-discover="true">Finding inspiration and a bit of hope in CorgiSpace</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/danielle-riendeau" target="_self" data-discover="true">Danielle Riendeau</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 8, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">6 Min Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/about-the-game-developer-podcast" target="_self" data-discover="true">Game Developer Podcast</a></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/design" target="_self" data-discover="true">Game Design</a></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/programming" target="_self" data-discover="true">Programming</a></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of More"><span class="MainMenu-MainTitle">More<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/latest-interviews" target="_self" data-discover="true">▫️ Developer Interviews</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/latest-case-studies" target="_self" data-discover="true">▫️ Game Dev Deep Dives</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/postmortems" target="_self" data-discover="true">▫️ Video Game Postmortems</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/program/partner-perspective-unity" target="_self" data-discover="true">▫️ Partner Perspectives</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/latest-interviews" target="_self" data-discover="true">More</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/latest-interviews" target="_self" data-discover="true"><span class="SubMenu-SeeMoreText">Read More</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Attendees and signage at GDC 2026" title="Attendees and signage at GDC 2026"/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" target="_self" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true">Data and player sentiment highlight the value of authentic LGBTQ narratives</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives" target="_self" data-discover="true">Data and player sentiment highlight the value of authentic LGBTQ narratives</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/alessandro-fillari" target="_self" data-discover="true">Alessandro Fillari</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 14, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">4 Min Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat" target="_self" data-discover="true"><div class="ContentPreview-ImageContainer"><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7bcd0ffffc717774/69de5153f79e3fad3d16943c/pragmatafeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7bcd0ffffc717774/69de5153f79e3fad3d16943c/pragmatafeatured.jpg?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Hugh and Diana run from a giant robot in Pragmata." title="Hugh and Diana run from a giant robot in Pragmata."/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" target="_self" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat" target="_self" data-discover="true">How Capcom's Pragmata blends puzzle-solving with sci-fi combat</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat" target="_self" data-discover="true">How Capcom's Pragmata blends puzzle-solving with sci-fi combat</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/alessandro-fillari" target="_self" data-discover="true">Alessandro Fillari</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 14, 2026</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span data-testid="article-read-time-text">5 Min Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-SearchButtonWrapper"><button data-testid="mainMenu-SearchButton" aria-label="Open Search" class="MainMenu-SearchButton"><span data-component="icon" data-name="Search" class="MainMenu-SearchButtonIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="MainMenu-SearchWrapper"><div class="FullScreenBackground MainMenu-SearchBackground MainMenu-SearchBackground_withSearchBar"></div><button data-testid="mainMenu-SearchCloseButton" class="MainMenu-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="MainMenu-SearchCloseIcon DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div></div></nav><section class="Layout-Section"><div id="iiris-identity" data-testid="iris-identity"></div><div data-template="basic-page" class="BasicPage"><div class="BasicPage-Wrapper"><div class="BasicPage-HeadWrapper"><h1 class="BasicPage-Title BasicPage-Title_displayOption_default" data-testid="basic-page-title">Game Career Guide Update</h1><div class="BasicPage-Title BasicPage-Title_displayOption_mobile">Game Career Guide Update</div></div><div data-module="content" class="ContentModule-Wrapper"><h2 class="ContentText ContentText_variant_h2 ContentText_align_left" data-testid="content-text" id="Looking for a legacy Game Career Guide article or interview?" style="scroll-margin-top:10rem;scroll-snap-margin-top:10rem">Looking for a legacy Game Career Guide article or interview?</h2><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text">Hello! Unfortunately, URLs for Game Career Guide are no longer functional. However in most cases the content itself is still live within the Game Developer website and can be found via Google or Site Search. Many Game Career Guide articles or similar resources can be found on Game Developer via our </span><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text"><a class="ContentText-BodyTextChunk ContentText-BodyTextChunk_link" href="/search?q=Search" target="_self" data-discover="true">Search function</a></span><span class="ContentText ContentText_variant_bodyNormal" data-testid="content-text"> and filtering results by Topic along the left side of the page. </span></p><p class="ContentParagraph ContentParagraph_align_left" data-testid="content-paragraph"></p></div></div></div></section><footer data-module="footer" class="Footer Footer_length_2"><div class="Footer-Background"></div><div data-testid="logo" class="Footer-LogoContainer Footer-LogoContainer_length_2"><a href="/" target="_self" data-discover="true"><img title="Game Developer Logo" data-component="image" class="Footer-LogoImage Footer-LogoImage_length_2" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Game Developer Logo"/></a></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">More from GD</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://reg.gdconf.com/blog-submission">Blog with Game Developer</a><a class="LinkSection-Link" rel="noreferrer" href="/blogging-guidelines" target="_self" data-discover="true">Blogging Guidelines</a><a class="LinkSection-Link" rel="noreferrer" href="/podcasts" target="_self" data-discover="true">Game Developer Podcast</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="/cdn-cgi/l/email-protection#97f9f2e0e4d7f0f6faf2f3f2e1f2fbf8e7f2e5b9f4f8fa">Submit a Tip</a></div></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Connect</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" rel="noreferrer" href="/author" target="_self" data-discover="true">About Us</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://reg.gdconf.com/gamedeveloper-media-kit">Advertise With Game Developer</a><a class="LinkSection-Link" rel="noreferrer" href="/contact-game-developer" target="_self" data-discover="true">Contact Us</a></div></div><div data-testid="registration" class="Footer-RegistrationWrapper"><div class="RegistrationSection RegistrationSection_linkSectionLength_2"><h5 class="RegistrationSection-Title">Join Us</h5><div class="Layout-Register Layout-Register_variant_footer"></div><div class="Layout-NewsLetter Layout-NewsLetter_variant_footer"><div data-module="newsletter-signup-promo"><a data-component="button" data-testid="footerNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" rel="noreferrer nofollow" target="_blank" href="https://gd-resources.gamedeveloper.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton" data-action-type="sign-up" data-name="subscribe-footer"><span class="Button-ContentWrapper">Newsletter Sign-Up</span></a></div></div></div></div><div data-testid="social" class="SocialSection SocialSection_linkSectionLength_2"><h5 class="SocialSection-Title">Follow Us</h5><div data-component="social-share" class="SocialShare SocialShare_variant_layout"><a rel="noreferrer" aria-label="RSS" href="/rss.xml" target="_self" data-discover="true"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" href="https://twitter.com/gamedevdotcom/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" href="https://www.linkedin.com/company/gamedeveloperofficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Facebook" href="https://www.facebook.com/GameDeveloperOfficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Bluesky" href="https://bsky.app/profile/gamedeveloper.bsky.social"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Bluesky" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_bluesky DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3c?xml%20version=&#x27;1.0&#x27;%20encoding=&#x27;UTF-8&#x27;?%3e%3csvg%20width=&#x27;600&#x27;%20height=&#x27;530&#x27;%20version=&#x27;1.1&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m135.72%2044.03c66.496%2049.921%20138.02%20151.14%20164.28%20205.46%2026.262-54.316%2097.782-155.54%20164.28-205.46%2047.98-36.021%20125.72-63.892%20125.72%2024.795%200%2017.712-10.155%20148.79-16.111%20170.07-20.703%2073.984-96.144%2092.854-163.25%2081.433%20117.3%2019.964%20147.14%2086.092%2082.697%20152.22-122.39%20125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937%200.51669-3.7077%207.8964-13.714%2040.255-67.233%20197.36-189.63%2071.766-64.444-66.128-34.605-132.26%2082.697-152.22-67.108%2011.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07%200-88.687%2077.742-60.816%20125.72-24.795z&#x27;%20fill=&#x27;%23000000&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3c?xml%20version=&#x27;1.0&#x27;%20encoding=&#x27;UTF-8&#x27;?%3e%3csvg%20width=&#x27;600&#x27;%20height=&#x27;530&#x27;%20version=&#x27;1.1&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m135.72%2044.03c66.496%2049.921%20138.02%20151.14%20164.28%20205.46%2026.262-54.316%2097.782-155.54%20164.28-205.46%2047.98-36.021%20125.72-63.892%20125.72%2024.795%200%2017.712-10.155%20148.79-16.111%20170.07-20.703%2073.984-96.144%2092.854-163.25%2081.433%20117.3%2019.964%20147.14%2086.092%2082.697%20152.22-122.39%20125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937%200.51669-3.7077%207.8964-13.714%2040.255-67.233%20197.36-189.63%2071.766-64.444-66.128-34.605-132.26%2082.697-152.22-67.108%2011.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07%200-88.687%2077.742-60.816%20125.72-24.795z&#x27;%20fill=&#x27;%23000000&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" href="https://news.google.com/publications/CAAqBwgKML7GrQswy9HFAw?ceid=US:en&amp;oc=3&amp;hl=en-US&amp;gl=US"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews DefaultIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div></div><div class="BrandSection"><div class="BrandSection-Background"></div><div data-testid="brands" class="BrandSection-LinksWrapper"><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="GDC Vault" title="Link to GDC Vault" href="https://www.gdcvault.com/"><img title="GDC Vault Logo" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1363a10229efc062/656db9e79761ff040a595688/MicrosoftTeams-image_(3).png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1363a10229efc062/656db9e79761ff040a595688/MicrosoftTeams-image_(3).png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="GDC Vault Logo"/></a><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="GDC" title="Link to GDC" href="https://www.gdconf.com"><img title="GDC" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt431090e6027a0c17/690cd59117b10612bd8935ff/GDC-white-new_logo.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt431090e6027a0c17/690cd59117b10612bd8935ff/GDC-white-new_logo.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="GDC"/></a><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="Omdia" title="Link to Omdia" href="https://www.omdia.com"><img title="Omdia" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt789019463bae70bf/6523eb443c9b45aa9da4f4b2/logo_omdia_white.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt789019463bae70bf/6523eb443c9b45aa9da4f4b2/logo_omdia_white.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Omdia"/></a></div></div><div class="CopyrightsSection"><div class="CopyrightsSection-Background"></div><div data-testid="copyrights" class="CopyrightsSection-Wrapper"><a data-testid="businessUnit" class="CopyrightsSection-BusinessLink" rel="noreferrer" target="_blank" href="https://www.informa.com"><img title="Informa" data-component="image" class="CopyrightsSection-BusinessImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6a17e2ccd9083672/674edfd84301993a15a0e9e1/Informa_Logo_OneLine_Graduated_White_RGB.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6a17e2ccd9083672/674edfd84301993a15a0e9e1/Informa_Logo_OneLine_Graduated_White_RGB.png?width=1280&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Informa"/></a><div class="CopyrightsSection-TextWrapper"><p data-testid="copyrightText" class="CopyrightsSection-Text"><span class="CopyrightsSection-TextBlock"></span>Copyright © 2026 Informa. This website is owned and operated by Informa. Informa PLC&#x27;s registered office is 5 Howick Place, London SW1P 1WG.</p><div data-testid="copyrightLinks" class="CopyrightsSection-LinksWrapper CopyrightsSection-LinksWrapper_hasLinks"><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informa.com/">Home<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informa.com/generic-content/cookie-policy/">Cookie Policy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://privacy.informa.com/policies/en/">Privacy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://privacy.informa.com/policies/en/">Terms of Use</a></div></div></div><div class="PrivacyChoices"><button id="cpra_button" class="PrivacyChoices-Button" aria-label="Your Privacy Choices" disabled=""><img class="PrivacyChoices-Image" src="data:image/svg+xml,%3csvg%20width=&#x27;30&#x27;%20height=&#x27;14&#x27;%20viewBox=&#x27;0%200%2030%2014&#x27;%20fill=&#x27;none&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%20clip-path=&#x27;url(%23clip0_4001_1792)&#x27;%3e%3cpath%20fill-rule=&#x27;evenodd&#x27;%20clip-rule=&#x27;evenodd&#x27;%20d=&#x27;M7.39998%2012.8H14.2L17.3%201.20001H7.39998C4.19998%201.20001%201.59998%203.80001%201.59998%207.00001C1.59998%2010.2%204.19998%2012.8%207.39998%2012.8Z&#x27;%20fill=&#x27;white&#x27;/%3e%3cpath%20fill-rule=&#x27;evenodd&#x27;%20clip-rule=&#x27;evenodd&#x27;%20d=&#x27;M22.6%200H7.40002C3.50002%200%200.400024%203.1%200.400024%207C0.400024%2010.9%203.50002%2014%207.40002%2014H22.6C26.5%2014%2029.6%2010.9%2029.6%207C29.6%203.1%2026.4%200%2022.6%200ZM1.60002%207C1.60002%203.8%204.20002%201.2%207.40002%201.2H17.3L14.2%2012.8H7.40002C4.20002%2012.8%201.60002%2010.2%201.60002%207Z&#x27;%20fill=&#x27;%230066FF&#x27;/%3e%3cpath%20d=&#x27;M24.6%203.99998C24.8%204.19998%2024.8%204.59998%2024.6%204.79998L22.5%206.99998L24.7%209.19998C24.9%209.39998%2024.9%209.79998%2024.7%209.99998C24.5%2010.2%2024.1%2010.2%2023.9%209.99998L21.7%207.79998L19.5%209.99998C19.3%2010.2%2018.9%2010.2%2018.7%209.99998C18.5%209.79998%2018.5%209.39998%2018.7%209.19998L20.8%206.99998L18.6%204.79998C18.4%204.59998%2018.4%204.19998%2018.6%203.99998C18.8%203.79998%2019.2%203.79998%2019.4%203.99998L21.6%206.19998L23.8%203.99998C24%203.79998%2024.4%203.79998%2024.6%203.99998Z&#x27;%20fill=&#x27;white&#x27;/%3e%3cpath%20d=&#x27;M12.7%204.10001C12.9%204.30001%2013%204.70001%2012.8%204.90001L8.6%209.80001C8.5%209.90001%208.4%2010%208.3%2010C8.1%2010.1%207.8%2010.1%207.6%209.90001L5.4%207.70001C5.2%207.50001%205.2%207.10001%205.4%206.90001C5.6%206.70001%206%206.70001%206.2%206.90001L8%208.60001L11.8%204.10001C12%203.90001%2012.4%203.90001%2012.7%204.10001Z&#x27;%20fill=&#x27;%230066FF&#x27;/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id=&#x27;clip0_4001_1792&#x27;%3e%3crect%20width=&#x27;30&#x27;%20height=&#x27;14&#x27;%20fill=&#x27;white&#x27;/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e" alt=""/><span class="PrivacyChoices-ButtonText">Your Privacy Choices</span></button></div></div></footer></div></main><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>((storageKey2, restoreKey) => {
    if (!window.history.state || !window.history.state.key) {
      let key = Math.random().toString(32).slice(2);
      window.history.replaceState({ key }, "");
    }
    try {
      let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}");
      let storedY = positions[restoreKey || window.history.state.key];
      if (typeof storedY === "number") {
        window.scrollTo(0, storedY);
      }
    } catch (error) {
      console.error(error);
      sessionStorage.removeItem(storageKey2);
    }
  })("react-router-scroll-positions", null)</script><script>window.__reactRouterContext = {"basename":"","future":{"unstable_optimizeDeps":false,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"lazy","manifestPath":"/__manifest"},"ssr":true,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">;
import * as route0 from "/assets/root-RloDA3Dw.js";
import * as route1 from "/assets/_topic._index-DIXwuC4I.js";
  window.__reactRouterManifest = {
  "entry": {
    "module": "/assets/entry.client-WQ4JFhQx.js",
    "imports": [
      "/assets/react-BqmUObHr.js",
      "/assets/react-dom-B0RQ2kJA.js",
      "/assets/jsx-runtime-DBNpHuQp.js",
      "/assets/preload-helper-CbI0Klgk.js"
    ],
    "css": []
  },
  "routes": {
    "root": {
      "id": "root",
      "path": "",
      "hasAction": false,
      "hasLoader": true,
      "hasClientAction": false,
      "hasClientLoader": false,
      "hasClientMiddleware": false,
      "hasErrorBoundary": true,
      "module": "/assets/root-RloDA3Dw.js",
      "imports": [
        "/assets/react-BqmUObHr.js",
        "/assets/react-dom-B0RQ2kJA.js",
        "/assets/jsx-runtime-DBNpHuQp.js",
        "/assets/preload-helper-CbI0Klgk.js",
        "/assets/src-Y0ZzoQgU.js",
        "/assets/src-CdyytUcs.js",
        "/assets/errorBoundary-DmYlG005.js",
        "/assets/index.es-CzDN4vSH.js",
        "/assets/esm-c-7d8dMx.js",
        "/assets/src-ConzfMuK2.js",
        "/assets/src-ZYKgywyD.js",
        "/assets/src-C649mUwh.js",
        "/assets/src-OEn6lbRS.js",
        "/assets/src-29dM-DRN.js",
        "/assets/meta-CKzx_q_i.js",
        "/assets/src-DrUZA_BS.js",
        "/assets/striptags-C6Z8qEb3.js",
        "/assets/src-DT8pN15R.js",
        "/assets/src-gHZs4WkN2.js",
        "/assets/src-Cuae8w-Y.js",
        "/assets/src-Dk-W56OU2.js",
        "/assets/src-B6W36Q0u.js",
        "/assets/src-Btvz-lqp.js",
        "/assets/src-4sW5lPB1.js",
        "/assets/src-CuFXwhH7.js",
        "/assets/src-ICN0g-KI.js",
        "/assets/src-XrfQbmpM.js",
        "/assets/src-CqxX1oo3.js",
        "/assets/src-CAAvt38V.js",
        "/assets/src-CW1a1kK92.js",
        "/assets/src-BB6jB7X3.js",
        "/assets/src-Cn3lWZ8t.js",
        "/assets/src-DZjGMtIm.js",
        "/assets/src-BOW2TAy82.js",
        "/assets/extends-DQyfp-FM.js",
        "/assets/_baseForOwn-5n8zOHco.js",
        "/assets/useIsomorphicLayoutEffect-CrpupiLT.js",
        "/assets/toNumber-DMNTeGz6.js"
      ],
      "css": []
    },
    "routes/$topic._index": {
      "id": "routes/$topic._index",
      "parentId": "root",
      "path": ":topic",
      "index": true,
      "hasAction": false,
      "hasLoader": true,
      "hasClientAction": false,
      "hasClientLoader": false,
      "hasClientMiddleware": false,
      "hasErrorBoundary": true,
      "module": "/assets/_topic._index-DIXwuC4I.js",
      "imports": [
        "/assets/react-BqmUObHr.js",
        "/assets/src-Y0ZzoQgU.js",
        "/assets/src-CdyytUcs.js",
        "/assets/errorBoundary-DmYlG005.js",
        "/assets/dist-CVDZOTen.js",
        "/assets/index.es-CzDN4vSH.js",
        "/assets/esm-c-7d8dMx.js",
        "/assets/src-ConzfMuK2.js",
        "/assets/src-ZYKgywyD.js",
        "/assets/src-C649mUwh.js",
        "/assets/src-OEn6lbRS.js",
        "/assets/src-D5OWY2q4.js",
        "/assets/src-29dM-DRN.js",
        "/assets/react-dom-B0RQ2kJA.js",
        "/assets/jsx-runtime-DBNpHuQp.js",
        "/assets/striptags-C6Z8qEb3.js",
        "/assets/src-BKTcUlG42.js",
        "/assets/src-DT8pN15R.js",
        "/assets/src-gHZs4WkN2.js",
        "/assets/src-C3iJimQX.js",
        "/assets/src-Cuae8w-Y.js",
        "/assets/src-Dk-W56OU2.js",
        "/assets/src-B6W36Q0u.js",
        "/assets/src-CL499QJq.js",
        "/assets/src-Btvz-lqp.js",
        "/assets/src-4sW5lPB1.js",
        "/assets/src-BTo5HBHy.js",
        "/assets/src-CuFXwhH7.js",
        "/assets/src-ICN0g-KI.js",
        "/assets/src-XrfQbmpM.js",
        "/assets/src-D2FAMs-5.js",
        "/assets/src-CqxX1oo3.js",
        "/assets/src-DpWtZdRX2.js",
        "/assets/src-CAAvt38V.js",
        "/assets/src-CW1a1kK92.js",
        "/assets/src-BB6jB7X3.js",
        "/assets/src-Cn3lWZ8t.js",
        "/assets/src-B7OjaCOD.js",
        "/assets/src-DZjGMtIm.js",
        "/assets/src-BOW2TAy82.js",
        "/assets/_topic._index-wC-Wc3HU.js",
        "/assets/src-DAq8gZIX.js",
        "/assets/extends-DQyfp-FM.js",
        "/assets/preload-helper-CbI0Klgk.js",
        "/assets/_baseForOwn-5n8zOHco.js",
        "/assets/meta-CKzx_q_i.js",
        "/assets/useIsomorphicLayoutEffect-CrpupiLT.js",
        "/assets/toNumber-DMNTeGz6.js",
        "/assets/string-BCKS3Bc8.js"
      ],
      "css": []
    },
    "routes/_index": {
      "id": "routes/_index",
      "parentId": "root",
      "index": true,
      "hasAction": false,
      "hasLoader": true,
      "hasClientAction": false,
      "hasClientLoader": false,
      "hasClientMiddleware": false,
      "hasErrorBoundary": true,
      "module": "/assets/_index-K9HfHOvT.js",
      "imports": [
        "/assets/react-BqmUObHr.js",
        "/assets/src-Y0ZzoQgU.js",
        "/assets/src-CdyytUcs.js",
        "/assets/errorBoundary-DmYlG005.js",
        "/assets/index.es-CzDN4vSH.js",
        "/assets/src-C649mUwh.js",
        "/assets/src-29dM-DRN.js",
        "/assets/react-dom-B0RQ2kJA.js",
        "/assets/jsx-runtime-DBNpHuQp.js",
        "/assets/src-BKTcUlG42.js",
        "/assets/src-DT8pN15R.js",
        "/assets/src-gHZs4WkN2.js",
        "/assets/src-Cuae8w-Y.js",
        "/assets/src-Dk-W56OU2.js",
        "/assets/src-Btvz-lqp.js",
        "/assets/src-ICN0g-KI.js",
        "/assets/src-XrfQbmpM.js",
        "/assets/src-D2FAMs-5.js",
        "/assets/src-CW1a1kK92.js",
        "/assets/src-DZjGMtIm.js",
        "/assets/src-BOW2TAy82.js",
        "/assets/_index-Cla8ROtA.js",
        "/assets/extends-DQyfp-FM.js",
        "/assets/preload-helper-CbI0Klgk.js",
        "/assets/toNumber-DMNTeGz6.js",
        "/assets/meta-CKzx_q_i.js"
      ],
      "css": []
    }
  },
  "url": "/assets/manifest-88e023e2.js",
  "version": "88e023e2"
};
  window.__reactRouterRouteModules = {"root":route0,"routes/$topic._index":route1};

import("/assets/entry.client-WQ4JFhQx.js");</script><script defer="" src="https://www.instagram.com/embed.js"></script><!--$--><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_934\":-5,\"_935\":-5},\"loaderData\",{\"_3\":4,\"_873\":874},\"root\",{\"_5\":6,\"_7\":8,\"_9\":10,\"_11\":12,\"_13\":14,\"_15\":16,\"_22\":23,\"_24\":18,\"_25\":26,\"_53\":54,\"_67\":68,\"_69\":70,\"_92\":93,\"_541\":542,\"_543\":-7,\"_544\":545,\"_559\":560,\"_645\":646,\"_869\":870,\"_871\":872},\"href\",\"https://www.gamedeveloper.com/gcg-status-update\",\"brand\",\"gamedeveloper\",\"domainUrl\",\"https://www.gamedeveloper.com\",\"authenticationStatus\",\"anonymous\",\"siteName\",\"Game Developer\",\"authConfig\",{\"_17\":18,\"_19\":-7,\"_20\":-7,\"_21\":18},\"enabled\",false,\"authenticationConfigId\",\"standaloneRegistrationPage\",\"disableCaptcha\",\"favicons\",[],\"isDctsTurnOn\",\"cookieBanner\",{\"_27\":28,\"_29\":28,\"_30\":31,\"_50\":51,\"_52\":28},\"stub\",true,\"advancedConsentOverride\",\"settings\",{\"_32\":33,\"_34\":35,\"_36\":37,\"_38\":39,\"_40\":41,\"_42\":43,\"_44\":45,\"_46\":47,\"_48\":49},\"data-cfasync\",\"false\",\"data-local-sync\",\"allow-network-observable\",\"data-prompt\",\"1\",\"data-report-only\",\"off\",\"data-dismissed-view-state\",\"Closed\",\"data-tcf-ui-dismissed-view-state\",\"Collapsed\",\"data-ui-shadow-root\",\"open\",\"data-privacy-policy\",\"https://privacy.informa.com/\",\"src\",\"https://transcend-cdn.com/cm/ef49a3f1-d8c1-47d6-88fc-50e41130631f/airgap.js\",\"props\",{\"_32\":33,\"_34\":35,\"_36\":37,\"_38\":39,\"_40\":41,\"_42\":43,\"_44\":45,\"_46\":47,\"_48\":49},\"transcend\",\"ui\",{\"_7\":8,\"_55\":56,\"_57\":58},\"theme\",\"theme2\",\"font\",{\"_59\":60,\"_65\":66},\"primary\",{\"_61\":62,\"_63\":64},\"name\",\"Poppins\",\"url\",\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900\u0026display=swap\",\"secondary\",{\"_61\":62,\"_63\":64},\"environment\",\"prod\",\"featureToggles\",{\"_71\":18,\"_72\":18,\"_73\":28,\"_74\":18,\"_75\":18,\"_76\":18,\"_77\":18,\"_78\":28,\"_79\":18,\"_80\":18,\"_81\":82,\"_83\":18,\"_84\":28,\"_85\":28,\"_86\":18,\"_87\":28,\"_88\":28,\"_89\":28,\"_90\":18,\"_91\":28},\"elnNewsletter\",\"elnWithoutNewsletter\",\"iirisAuthentication\",\"subBrand\",\"useSettingsRedirectAPIVersion1\",\"gatingEnabled\",\"iirisRecommendationDisabled\",\"iasPetEnabled\",\"bridgedMediaEnabled\",\"ecommerceEnabled\",\"iirisRecommendationVer\",\"version4\",\"weather3MonthForecastEnabled\",\"useContentApiVersion2\",\"cloudflareCachingEnabled\",\"oneTrustEnabled\",\"transcendEnabled\",\"disablePaymentServiceHealthCheck\",\"useMassRedirectsEngine\",\"useTechInformaBar\",\"useNewEventResolver\",\"layout\",{\"_94\":95,\"_115\":116,\"_139\":140,\"_357\":358,\"_455\":456,\"_462\":463},\"socialLinks\",[96,100,103,106,109,112],{\"_97\":98,\"_63\":99},\"type\",\"RSS\",\"/rss.xml\",{\"_97\":101,\"_63\":102},\"Twitter\",\"https://twitter.com/gamedevdotcom/\",{\"_97\":104,\"_63\":105},\"Linkedin\",\"https://www.linkedin.com/company/gamedeveloperofficial\",{\"_97\":107,\"_63\":108},\"Facebook\",\"https://www.facebook.com/GameDeveloperOfficial\",{\"_97\":110,\"_63\":111},\"Bluesky\",\"https://bsky.app/profile/gamedeveloper.bsky.social\",{\"_97\":113,\"_63\":114},\"GoogleNews\",\"https://news.google.com/publications/CAAqBwgKML7GrQswy9HFAw?ceid=US:en\u0026oc=3\u0026hl=en-US\u0026gl=US\",\"informaBar\",{\"_17\":28,\"_117\":118,\"_136\":137},\"leftSection\",{\"_119\":120,\"_121\":122},\"description\",\"Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed decisions across your business priorities.\",\"subMenu\",[123,127,130,133],{\"_124\":125,\"_63\":126},\"title\",\"Informa PLC\",\"https://www.informa.com/\",{\"_124\":128,\"_63\":129},\"ABOUT US\",\"https://www.informa.com/about-us/\",{\"_124\":131,\"_63\":132},\"INVESTOR RELATIONS\",\"https://www.informa.com/investors/\",{\"_124\":134,\"_63\":135},\"TALENT\",\"https://www.informa.com/talent/\",\"rightSection\",{\"_119\":138},\"This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.\",\"nav\",{\"_141\":142,\"_343\":344},\"mainMenuItems\",[143,219,263,304,309,314,320],{\"_124\":144,\"_63\":145,\"_146\":147,\"_148\":145,\"_149\":28,\"_121\":150,\"_169\":170},\"Trending\",\"/latest-interviews\",\"seeAllLink\",\"Top Stories\",\"seeAllLinkUrl\",\"hasSubMenu\",[151,154,157,160,163,166],{\"_124\":152,\"_63\":153},\"▫️ Layoffs \u0026 Studio Closures\",\"/keyword/layoffs\",{\"_124\":155,\"_63\":156},\"▫️ GDC 2026\",\"/program/gdc-festival-of-gaming\",{\"_124\":158,\"_63\":159},\"▫️ Generative AI \u0026 ML\",\"/keyword/generative-ai\",{\"_124\":161,\"_63\":162},\"▫️ Industry Lawsuits\",\"/keyword/lawsuits\",{\"_124\":164,\"_63\":165},\"▫️ Development Tools\",\"/keyword/game-engines-development-tools\",{\"_124\":167,\"_63\":168},\"▫️ Culture \u0026 Dev Communities\",\"/keyword/culture\",\"recentContents\",[171,209],{\"_172\":173,\"_177\":178,\"_179\":178,\"_180\":181,\"_182\":183,\"_184\":185,\"_186\":187,\"_188\":185,\"_189\":190,\"_191\":192,\"_193\":194,\"_195\":196,\"_203\":204,\"_205\":206,\"_207\":208},\"thumbnail\",{\"_48\":174,\"_175\":176},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltff7d82769707afe0/69cd29264642d558af411874/gdcattendeesblurfeatured.jpg\",\"alt\",\"Attendees and signage at GDC 2026\",\"articleName\",\"Data and player sentiment highlight the value of authentic LGBTQ narratives\",\"mobileHeadline\",\"articleSummary\",\"Authentic representation can only happen if developers have the determination to make it happen. \",\"articleUrl\",\"/design/data-and-player-sentiment-highlight-the-value-of-authentic-lgbtq-narratives\",\"listPageUrl\",\"\",\"date\",\"Apr 14, 2026\",\"webinarStartTime\",\"categoryName\",\"Design\",\"categoryUrl\",\"/design\",\"contentType\",\"Article\",\"contributors\",[197],{\"_61\":198,\"_199\":200,\"_201\":202},\"Alessandro Fillari\",\"link\",\"/author/alessandro-fillari\",\"avatar\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp\",\"timeRead\",4,\"variant\",\"card-vertical\",\"layoutVariant\",\"vertical\",{\"_172\":210,\"_177\":213,\"_179\":213,\"_180\":214,\"_182\":215,\"_184\":185,\"_186\":187,\"_188\":185,\"_189\":190,\"_191\":192,\"_193\":194,\"_195\":216,\"_203\":218,\"_205\":206,\"_207\":208},{\"_48\":211,\"_175\":212},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7bcd0ffffc717774/69de5153f79e3fad3d16943c/pragmatafeatured.jpg\",\"Hugh and Diana run from a giant robot in Pragmata.\",\"How Capcom's Pragmata blends puzzle-solving with sci-fi combat\",\"Capcom 's Cho Yonghee, Naoto Oyama, and Edvin Edso discuss the process of crafting a new Capcom franchise with an unusual hook.\",\"/design/how-capcom-s-pragmata-blends-puzzle-solving-with-sci-fi-combat\",[217],{\"_61\":198,\"_199\":200,\"_201\":202},5,{\"_124\":220,\"_63\":221,\"_146\":185,\"_148\":221,\"_149\":28,\"_121\":222,\"_169\":232},\"Latest News\",\"/latest-news\",[223,226,229],{\"_124\":224,\"_63\":225},\"▫️ Weekly News Highlights\",\"/series/patch-notes-newsletter\",{\"_124\":227,\"_63\":228},\"▫️ News Deep Dives\",\"/series/news-trending-story-deep-dives-column\",{\"_124\":230,\"_63\":231},\"▫️ GD Collective Research\",\"/about-the-game-developer-collective\",[233,249],{\"_172\":234,\"_177\":237,\"_179\":237,\"_180\":238,\"_182\":239,\"_184\":185,\"_186\":240,\"_188\":185,\"_189\":241,\"_191\":242,\"_193\":194,\"_195\":243,\"_203\":248,\"_205\":206,\"_207\":208},{\"_48\":235,\"_175\":236},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt72a6e8cf03e767a9/69e0a2159ba34f94aca47164/Ubisoft_Header_2.png\",\"The Ubisoft logo (a white swirl) on a background featuring the aurora borealis\",\"Ubisoft Halifax union members agree settlement after studio closure\",\"'We are extremely grateful to our union for negotiating this package for us.'\",\"/business/ubisoft-halifax-union-members-agree-settlement-after-studio-closure\",\"Apr 16, 2026\",\"Business\",\"/business\",[244],{\"_61\":245,\"_199\":246,\"_201\":247},\"Chris Kerr\",\"/author/chris-kerr\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/68df91e67f2d057e47bc3d18/Me.jpeg\",1,{\"_172\":250,\"_177\":253,\"_179\":253,\"_180\":254,\"_182\":255,\"_184\":185,\"_186\":256,\"_188\":185,\"_189\":241,\"_191\":242,\"_193\":194,\"_195\":257,\"_203\":262,\"_205\":206,\"_207\":208},{\"_48\":251,\"_175\":252},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7072660b3d2a7ed0/69dfbbf10bc8500b72243faa/ss_365c7159a244b1f7f9b3190f01ee20df7841f3b5.1920x1080.jpg\",\"A screenshot of Runescape: Dragonwilds showing multiple characters in a fierce battle\",\"RuneScape developer to expand its IP to the Asia-Pacific region\",\"RuneScape: Dragonwilds will be localized into Simplified Chinese, Japanese, and Korean this year.\",\"/business/runescape-developer-to-expand-its-ip-to-the-asian-pacific-region\",\"Apr 15, 2026\",[258],{\"_61\":259,\"_199\":260,\"_201\":261},\"Diego Argüello\",\"/author/diego-arguello\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt347a0e7bce060c71/682356963510b060418447c4/pic.jpg\",2,{\"_124\":264,\"_63\":265,\"_146\":266,\"_148\":265,\"_149\":28,\"_121\":267,\"_169\":285},\"[GDC]\",\"/keyword/gdc-festival-of-gaming\",\"Learn More\",[268,270,273,276,279,282],{\"_124\":269,\"_63\":265},\"▫️ Talks \u0026 Interviews\",{\"_124\":271,\"_63\":272},\"▫️ GDC News\",\"https://gdconf.com/news-insights/\",{\"_124\":274,\"_63\":275},\"▫️ GDC Vault: Editor Picks\",\"/series/unlocking-the-vault-gdc-vault-highlights-game-dev-tips\",{\"_124\":277,\"_63\":278},\"▫️ Register for GDC\",\"https://www.gdconf.com\",{\"_124\":280,\"_63\":281},\"▫️ GDC Vault: Full Library \",\"https://www.gdcvault.com\",{\"_124\":283,\"_63\":284},\"▫️ Dev Surveys, Data, \u0026 Insights\",\"/keyword/state-of-the-game-industry-report\",[286,290],{\"_172\":287,\"_177\":178,\"_179\":178,\"_180\":181,\"_182\":183,\"_184\":185,\"_186\":187,\"_188\":185,\"_189\":190,\"_191\":192,\"_193\":194,\"_195\":288,\"_203\":204,\"_205\":206,\"_207\":208},{\"_48\":174,\"_175\":176},[289],{\"_61\":198,\"_199\":200,\"_201\":202},{\"_172\":291,\"_177\":294,\"_179\":294,\"_180\":295,\"_182\":296,\"_184\":185,\"_186\":297,\"_188\":185,\"_189\":190,\"_191\":192,\"_193\":194,\"_195\":298,\"_203\":303,\"_205\":206,\"_207\":208},{\"_48\":292,\"_175\":293},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc42a0dd62dd2a12f/69d403c2c33dd97b8ccfdbf9/ss_84efa1e1ac04618ec2c177a11e46217aff67c11e.1920x1080.jpg\",\"8-bit jewels and gems\",\"Finding inspiration and a bit of hope in CorgiSpace\",\"Making 'small games with short legs' is helping me feel alive again.\",\"/design/finding-inspiration-and-a-bit-of-hope-in-corgispace\",\"Apr 8, 2026\",[299],{\"_61\":300,\"_199\":301,\"_201\":302},\"Danielle Riendeau\",\"/author/danielle-riendeau\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt722812705eb8ab24/650f013b8f61917d4dd58a8c/DRPFP.jpg\",6,{\"_124\":305,\"_63\":306,\"_146\":185,\"_148\":306,\"_149\":18,\"_121\":307,\"_169\":308},\"Game Developer Podcast\",\"/about-the-game-developer-podcast\",[],[],{\"_124\":310,\"_63\":192,\"_146\":311,\"_148\":192,\"_149\":18,\"_121\":312,\"_169\":313},\"Game Design\",\"See All\",[],[],{\"_124\":315,\"_63\":316,\"_146\":317,\"_148\":316,\"_149\":18,\"_121\":318,\"_169\":319},\"Programming\",\"/programming\",\"Read More\",[],[],{\"_124\":321,\"_63\":145,\"_146\":317,\"_148\":145,\"_149\":28,\"_121\":322,\"_169\":334},\"More\",[323,325,328,331],{\"_124\":324,\"_63\":145},\"▫️ Developer Interviews\",{\"_124\":326,\"_63\":327},\"▫️ Game Dev Deep Dives\",\"/latest-case-studies\",{\"_124\":329,\"_63\":330},\"▫️ Video Game Postmortems\",\"/keyword/postmortems\",{\"_124\":332,\"_63\":333},\"▫️ Partner Perspectives\",\"https://www.gamedeveloper.com/program/partner-perspective-unity\",[335,339],{\"_172\":336,\"_177\":178,\"_179\":178,\"_180\":181,\"_182\":183,\"_184\":185,\"_186\":187,\"_188\":185,\"_189\":190,\"_191\":192,\"_193\":194,\"_195\":337,\"_203\":204,\"_205\":206,\"_207\":208},{\"_48\":174,\"_175\":176},[338],{\"_61\":198,\"_199\":200,\"_201\":202},{\"_172\":340,\"_177\":213,\"_179\":213,\"_180\":214,\"_182\":215,\"_184\":185,\"_186\":187,\"_188\":185,\"_189\":190,\"_191\":192,\"_193\":194,\"_195\":341,\"_203\":218,\"_205\":206,\"_207\":208},{\"_48\":211,\"_175\":212},[342],{\"_61\":198,\"_199\":200,\"_201\":202},\"secondaryMenu\",[345,348,351,354],{\"_124\":346,\"_63\":347},\"Game Market Research\",\"https://omdia.tech.informa.com/advance-your-business/media-and-entertainment/games-spotlight-service\",{\"_124\":349,\"_63\":350},\"Watch GDC Talks on GDC Vault\",\"https://www.gdcvault.com/\",{\"_124\":352,\"_63\":353},\"Attend or Exhibit at GDC\",\"https://gdconf.com/\",{\"_124\":355,\"_63\":356},\"Advertise With Game Developer\",\"https://reg.gdconf.com/gamedeveloper-media-kit\",\"megaMenu\",{\"_359\":360,\"_394\":395,\"_435\":436,\"_451\":452,\"_453\":185,\"_454\":185},\"largeMenu\",[361,369,374,382,384,386,388],{\"_124\":144,\"_63\":145,\"_121\":362,\"_146\":147,\"_148\":145},[363,364,365,366,367,368],{\"_124\":152,\"_63\":153},{\"_124\":155,\"_63\":156},{\"_124\":158,\"_63\":159},{\"_124\":161,\"_63\":162},{\"_124\":164,\"_63\":165},{\"_124\":167,\"_63\":168},{\"_124\":220,\"_63\":221,\"_121\":370,\"_146\":185,\"_148\":221},[371,372,373],{\"_124\":224,\"_63\":225},{\"_124\":227,\"_63\":228},{\"_124\":230,\"_63\":231},{\"_124\":264,\"_63\":265,\"_121\":375,\"_146\":266,\"_148\":265},[376,377,378,379,380,381],{\"_124\":269,\"_63\":265},{\"_124\":271,\"_63\":272},{\"_124\":274,\"_63\":275},{\"_124\":277,\"_63\":278},{\"_124\":280,\"_63\":281},{\"_124\":283,\"_63\":284},{\"_124\":305,\"_63\":306,\"_121\":383,\"_146\":185,\"_148\":306},[],{\"_124\":310,\"_63\":192,\"_121\":385,\"_146\":311,\"_148\":192},[],{\"_124\":315,\"_63\":316,\"_121\":387,\"_146\":317,\"_148\":316},[],{\"_124\":321,\"_63\":145,\"_121\":389,\"_146\":317,\"_148\":145},[390,391,392,393],{\"_124\":324,\"_63\":145},{\"_124\":326,\"_63\":327},{\"_124\":329,\"_63\":330},{\"_124\":332,\"_63\":333},\"smallMenu\",[396,416,427],{\"_124\":397,\"_63\":185,\"_121\":398},\"2026 Event Calendar\",[399,402,405,408,411,414],{\"_124\":400,\"_63\":401},\"Feb. 10 | DICE Summit\",\"https://www.gamedeveloper.com/keyword/dice-2025\",{\"_124\":403,\"_63\":404},\"Mar. 9 | GDC Festival of Gaming\",\"https://www.gamedeveloper.com/keyword/gdc-2025\",{\"_124\":406,\"_63\":407},\"Mar. 26 | PAX East\",\"/series/pax-east\",{\"_124\":409,\"_63\":410},\"Apr. 29 | Gamescom Latam\",\"https://www.gamedeveloper.com/keyword/-event-gamescom\",{\"_124\":412,\"_63\":413},\"Jun. 5 | Summer Game Fest\",\"https://www.gamedeveloper.com/keyword/summer-game-fest\",{\"_124\":415,\"_63\":410},\"Aug. 26 | Gamescom\",{\"_124\":417,\"_63\":185,\"_121\":418},\"More from Game Developer\",[419,421,424],{\"_124\":305,\"_63\":420},\"/program/game-developer-podcast\",{\"_124\":422,\"_63\":423},\"Resource Library\",\"/resources\",{\"_124\":425,\"_63\":426},\"Press Releases\",\"/press-release\",{\"_124\":428,\"_63\":185,\"_121\":429},\"Connect\",[430,433],{\"_124\":431,\"_63\":432},\"About Us\",\"https://www.gamedeveloper.com/author\",{\"_124\":434,\"_63\":356},\"Advertise With Us\",\"sideNavSections\",[437],{\"_124\":438,\"_63\":185,\"_121\":439,\"_146\":185,\"_148\":185},\"Keep in Touch\",[440,443,446,448],{\"_124\":441,\"_63\":442},\"Contact Us\",\"/contact-game-developer\",{\"_124\":444,\"_63\":445},\"Submit a News Tip\",\"mailto:tips@gamedeveloper.com\",{\"_124\":447,\"_63\":356},\"Media Partnerships\",{\"_124\":449,\"_63\":450},\"Report a Problem\",\"mailto:support@gamedeveloper.com\",\"socialSectionTitle\",\"Follow Us\",\"registrationSectionTitle\",\"registrationStatementText\",\"navBase\",{\"_457\":458},\"logo\",{\"_63\":459,\"_460\":461},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png\",\"altText\",\"Game Developer Logo\",\"footer\",{\"_457\":464,\"_465\":466,\"_501\":502,\"_517\":518},{\"_63\":459,\"_460\":461},\"linkSections\",[467,491],{\"_468\":469,\"_124\":490,\"_97\":37},\"links\",[470,478,483,486],{\"_471\":472,\"_475\":28,\"_124\":476,\"_63\":477},\"image\",{\"_460\":473,\"_63\":474},\"Placeholder image\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd1cdb5ad637f7f4e/651d415bd9bb870df1310c25/placeholder.png\",\"openInNewTab\",\"Blog with Game Developer\",\"https://reg.gdconf.com/blog-submission\",{\"_471\":479,\"_475\":28,\"_124\":481,\"_63\":482},{\"_460\":480,\"_63\":474},\"placeholder image\",\"Blogging Guidelines\",\"/blogging-guidelines\",{\"_471\":484,\"_475\":28,\"_124\":305,\"_63\":485},{\"_460\":480,\"_63\":474},\"/podcasts\",{\"_471\":487,\"_475\":28,\"_124\":488,\"_63\":489},{\"_460\":480,\"_63\":474},\"Submit a Tip\",\"mailto:news@gamedeveloper.com\",\"More from GD\",{\"_468\":492,\"_124\":428,\"_97\":37},[493,497,499],{\"_471\":494,\"_475\":28,\"_124\":431,\"_63\":496},{\"_460\":495,\"_63\":474},\"placeholder\",\"/author\",{\"_471\":498,\"_475\":28,\"_124\":355,\"_63\":356},{\"_460\":495,\"_63\":474},{\"_471\":500,\"_475\":28,\"_124\":441,\"_63\":442},{\"_460\":495,\"_63\":474},\"brandLinks\",[503,508,512],{\"_471\":504,\"_475\":28,\"_124\":507,\"_63\":350},{\"_460\":505,\"_63\":506},\"GDC Vault Logo\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1363a10229efc062/656db9e79761ff040a595688/MicrosoftTeams-image_(3).png\",\"GDC Vault\",{\"_471\":509,\"_475\":28,\"_124\":510,\"_63\":278},{\"_460\":510,\"_63\":511},\"GDC\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt431090e6027a0c17/690cd59117b10612bd8935ff/GDC-white-new_logo.png\",{\"_471\":513,\"_475\":28,\"_124\":514,\"_63\":516},{\"_460\":514,\"_63\":515},\"Omdia\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt789019463bae70bf/6523eb443c9b45aa9da4f4b2/logo_omdia_white.png\",\"https://www.omdia.com\",\"copyright\",{\"_519\":520,\"_468\":525,\"_124\":540},\"businessUnit\",{\"_63\":521,\"_61\":522,\"_523\":524},\"https://www.informa.com\",\"Informa\",\"logoUrl\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6a17e2ccd9083672/674edfd84301993a15a0e9e1/Informa_Logo_OneLine_Graduated_White_RGB.png\",[526,529,533,537],{\"_471\":527,\"_475\":28,\"_124\":528,\"_63\":126},{\"_460\":528,\"_63\":126},\"Home\",{\"_471\":530,\"_475\":28,\"_124\":531,\"_63\":532},{\"_460\":531,\"_63\":532},\"Cookie Policy\",\"https://www.informa.com/generic-content/cookie-policy/\",{\"_471\":534,\"_475\":28,\"_124\":535,\"_63\":536},{\"_460\":535,\"_63\":536},\"Privacy\",\"https://privacy.informa.com/policies/en/\",{\"_471\":538,\"_475\":28,\"_124\":539,\"_63\":536},{\"_460\":539,\"_63\":536},\"Terms of Use\",\" Informa. This website is owned and operated by Informa. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG.\",\"newRelicJs\",\"window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},performance:{capture_measures:true},browser_consent_mode:{enabled:false},privacy:{cookies_enabled:true},ajax:{deny_list:[\\\"bam.eu01.nr-data.net\\\"],capture_payloads:'none'}};\\n\\n;NREUM.loader_config={accountID:\\\"3936348\\\",trustKey:\\\"3288925\\\",agentID:\\\"538600205\\\",licenseKey:\\\"NRJS-26ae6a3b09493bbcc87\\\",applicationID:\\\"538600205\\\"};\\n;NREUM.info={beacon:\\\"bam.eu01.nr-data.net\\\",errorBeacon:\\\"bam.eu01.nr-data.net\\\",licenseKey:\\\"NRJS-26ae6a3b09493bbcc87\\\",applicationID:\\\"538600205\\\",sa:1};\\n;/*! For license information please see nr-loader-spa-1.312.1.min.js.LICENSE.txt */\\n(()=\u003e{var e,t,r={384:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{NT:()=\u003ea,Zm:()=\u003ec,bQ:()=\u003eu,dV:()=\u003ed,pV:()=\u003el});var n=r(6154),i=r(1863),s=r(944),o=r(1910);const a={beacon:\\\"bam.nr-data.net\\\",errorBeacon:\\\"bam.nr-data.net\\\"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,o.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length\u0026\u0026(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}},782:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewTiming},860:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$J:()=\u003eu,K7:()=\u003ec,P3:()=\u003ed,XX:()=\u003ei,Yy:()=\u003ea,df:()=\u003es,qY:()=\u003en,v4:()=\u003eo});const n=\\\"events\\\",i=\\\"jserrors\\\",s=\\\"browser/blobs\\\",o=\\\"rum\\\",a=\\\"browser/logs\\\",c={ajax:\\\"ajax\\\",genericEvents:\\\"generic_events\\\",jserrors:i,logging:\\\"logging\\\",metrics:\\\"metrics\\\",pageAction:\\\"page_action\\\",pageViewEvent:\\\"page_view_event\\\",pageViewTiming:\\\"page_view_timing\\\",sessionReplay:\\\"session_replay\\\",sessionTrace:\\\"session_trace\\\",softNav:\\\"soft_navigations\\\"},d={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.softNav]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.sessionReplay]:8,[c.logging]:9,[c.genericEvents]:10},u={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:s,[c.sessionReplay]:s,[c.logging]:a,[c.genericEvents]:\\\"ins\\\"}},944:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{R:()=\u003ei});var n=r(3241);function i(e,t){\\\"function\\\"==typeof console.debug\u0026\u0026(console.debug(\\\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\\\".concat(e),t),(0,n.W)({drained:null,type:\\\"data\\\",name:\\\"warn\\\",feature:\\\"warn\\\",data:{code:e,secondary:t}}))}},993:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A$:()=\u003es,ET:()=\u003eo,TZ:()=\u003ea,p_:()=\u003ei});var n=r(860);const i={ERROR:\\\"ERROR\\\",WARN:\\\"WARN\\\",INFO:\\\"INFO\\\",DEBUG:\\\"DEBUG\\\",TRACE:\\\"TRACE\\\"},s={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},o=\\\"log\\\",a=n.K7.logging},1541:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$5:()=\u003ed,B5:()=\u003ec,Ux:()=\u003eo,YA:()=\u003ea,fQ:()=\u003ei});var n=r(5871);const i={MFE:\\\"MFE\\\",BA:\\\"BA\\\"};function s(e,t){if(!e||!t?.init.api.allow_registered_children)return[];const r=t.runtime.registeredEntities;return r?.filter(t=\u003et.metadata.timings?.asset?.endsWith(e)).map(e=\u003ee.metadata.target)||[]}function o(e,t){if(!u(t))return{};const r=t.agentRef.runtime.appMetadata.agents[0].entityGuid;return e?e.attributes:{\\\"entity.guid\\\":r,appId:t.agentRef.info.applicationID}}function a(e,t){return c(e,t)?{\\\"child.id\\\":e.id,\\\"child.type\\\":e.type,...o(void 0,t)}:{}}function c(e,t){return!!e\u0026\u0026!!u(t)\u0026\u0026t.agentRef.init.api.duplicate_registered_data}function d(e){if(!e?.init.api.allow_registered_children)return[void 0];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...s(r[i--],e))}catch(e){}return t.length||t.push(void 0),t}function u(e){return 2===e?.harvestEndpointVersion}},1687:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Ak:()=\u003ea,Ze:()=\u003ed,x3:()=\u003ec});var n=r(3241),i=r(3606),s=r(860),o=r(2646);function a(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r\u0026\u0026(r.get(t)\u0026\u0026r.delete(t),l(e,t,!1),r.size\u0026\u0026u(e))}function d(e,t=\\\"feature\\\",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=\u003et.staged)\u0026\u0026(t.sort((e,t)=\u003ee[1].priority-t[1].priority),t.forEach(([t])=\u003e{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,a=i.i.handlers;if(s\u0026\u0026!s.aborted\u0026\u0026s.backlog\u0026\u0026a){if((0,n.W)({type:\\\"lifecycle\\\",name:\\\"drain\\\",feature:t}),r){const e=s.backlog[t],r=a[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=\u003e{Object.values(t||{}).forEach(t=\u003e{t[0]?.on\u0026\u0026t[0].context()instanceof o.y\u0026\u0026!t[0].listeners(e).includes(t[1])\u0026\u0026t[0].on(e,t[1])})})}}s.isolatedBacklog||delete a[t],s.backlog[t]=null,s.emit(\\\"drain-\\\"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},1738:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{U:()=\u003ef,Y:()=\u003el});var n=r(3241),i=r(9908),s=r(1863),o=r(944),a=r(3969),c=r(8362),d=r(860),u=r(4261);function l(e,t,r,s){const l=s||r;!l||l[e]\u0026\u0026l[e]!==c.d.prototype[e]||(l[e]=function(){(0,i.p)(a.xV,[\\\"API/\\\"+e+\\\"/called\\\"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:\\\"data\\\",name:\\\"api\\\",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,o.R)(23,e)}})}function f(e,t,r,n,o){const a=e.info;null===r?delete a.jsAttributes[t]:a.jsAttributes[t]=r,(o||null===r)\u0026\u0026(0,i.p)(u.Pl+n,[(0,s.t)(),t,r],void 0,\\\"session\\\",e.ee)}},1741:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003es});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(i.$9,e,t)}start(){return this.#e(i.d3)}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},1863:(e,t,r)=\u003e{\\\"use strict\\\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},1910:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{i:()=\u003es});var n=r(944);const i=new Map;function s(...e){return e.every(e=\u003e{if(i.has(e))return i.get(e);const t=\\\"function\\\"==typeof e?e.toString():\\\"\\\",r=t.includes(\\\"[native code]\\\"),s=t.includes(\\\"nrWrapper\\\");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},2555:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{D:()=\u003ea,f:()=\u003eo});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function o(e){try{return!!e.licenseKey\u0026\u0026!!e.errorBeacon\u0026\u0026!!e.applicationID}catch(e){return!1}}const a=e=\u003e(0,i.a)(e,s)},2614:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{BB:()=\u003eo,H3:()=\u003en,g:()=\u003ed,iL:()=\u003ec,tS:()=\u003ea,uh:()=\u003ei,wk:()=\u003es});const n=\\\"NRBA\\\",i=\\\"SESSION\\\",s=144e5,o=18e5,a={STARTED:\\\"session-started\\\",PAUSE:\\\"session-pause\\\",RESET:\\\"session-reset\\\",RESUME:\\\"session-resume\\\",UPDATE:\\\"session-update\\\"},c={SAME_TAB:\\\"same-tab\\\",CROSS_TAB:\\\"cross-tab\\\"},d={OFF:0,FULL:1,ERROR:2}},2646:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},2843:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{G:()=\u003es,u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\\\"visibilitychange\\\",function(){if(t)return void(\\\"hidden\\\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)(\\\"pagehide\\\",e,t,r)}},3241:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003es});var n=r(6154);const i=\\\"newrelic\\\";function s(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},3304:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A:()=\u003es});var n=r(7836);const i=()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\\\"object\\\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}};function s(e){try{return JSON.stringify(e,i())??\\\"\\\"}catch(e){try{n.ee.emit(\\\"internal-error\\\",[e])}catch(e){}return\\\"\\\"}}},3333:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$v:()=\u003eu,TZ:()=\u003en,Xh:()=\u003ec,Zp:()=\u003ei,kd:()=\u003ed,mq:()=\u003ea,nf:()=\u003eo,qN:()=\u003es});const n=r(860).K7.genericEvents,i=[\\\"auxclick\\\",\\\"click\\\",\\\"copy\\\",\\\"keydown\\\",\\\"paste\\\",\\\"scrollend\\\"],s=[\\\"focus\\\",\\\"blur\\\"],o=4,a=1e3,c=2e3,d=[\\\"PageAction\\\",\\\"UserAction\\\",\\\"BrowserPerformance\\\"],u={RESOURCES:\\\"experimental.resources\\\",REGISTER:\\\"register\\\"}},3434:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Jt:()=\u003eo,YM:()=\u003eu});var n=r(7836),i=r(5607),s=r(1541);const o=\\\"nr@original:\\\".concat(i.W),a=50;var c=Object.prototype.hasOwnProperty,d=!1;function u(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,o){r||(r=\\\"\\\");const a=\\\"-\\\"===r.charAt(0);for(let c=0;c\u003ct.length;c++){const d=t[c],u=e[d];f(u)||(e[d]=i(u,a?d+r:r,n,d,s,o))}},i.flag=o,i;function i(t,n,i,d,h,p){return f(t)?t:(n||(n=\\\"\\\"),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){l([e],r)}for(var n in e)c.call(e,n)\u0026\u0026(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,c,f,g;let m,v;try{c=this,o=[...arguments],v=p?(0,s.$5)(r):[void 0],f=\\\"function\\\"==typeof i?i(o,c):i||{}}catch(t){l([t,\\\"\\\",[o,c,d],f],e)}u(n+\\\"start\\\",[o,c,d,v],f,h);const y=performance.now();let b;try{return g=t.apply(c,o),b=performance.now(),g}catch(e){throw b=performance.now(),u(n+\\\"err\\\",[o,c,e,v],f,h),m=e,m}finally{const e=b-y,t={start:y,end:b,duration:e,isLongTask:e\u003e=a,methodName:d,thrownError:m};t.isLongTask\u0026\u0026u(\\\"long-task\\\",[t,c,v],f,h),u(n+\\\"end\\\",[o,c,g,v],f,h)}}}function u(r,n,i,s){if(!d||t){var o=d;d=!0;try{e.emit(r,n,i,t,s)}catch(t){l([t,r,n,i],e)}d=o}}}function l(e,t){t||(t=n.ee);try{t.emit(\\\"internal-error\\\",e)}catch(e){}}function f(e){return!(e\u0026\u0026\\\"function\\\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[o])}},3606:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{i:()=\u003es});var n=r(9908);s.on=o;var i=s.handlers={};function s(e,t,r,s){o(s||n.d,i,e,t,r)}function o(e,t,r,i,s){s||(s=\\\"feature\\\"),e||(e=n.d);var o=t[s]=t[s]||{};(o[r]=o[r]||[]).push([e,i])}},3738:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{He:()=\u003ei,Kp:()=\u003ea,Lc:()=\u003ed,Rz:()=\u003eu,TZ:()=\u003en,bD:()=\u003es,d3:()=\u003eo,jx:()=\u003el,sl:()=\u003ef,uP:()=\u003ec});const n=r(860).K7.sessionTrace,i=\\\"bstResource\\\",s=\\\"resource\\\",o=\\\"-start\\\",a=\\\"-end\\\",c=\\\"fn\\\"+o,d=\\\"fn\\\"+a,u=\\\"pushState\\\",l=1e3,f=3e4},3785:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{R:()=\u003ec,b:()=\u003ed});var n=r(9908),i=r(1863),s=r(860),o=r(3969),a=r(993);function c(e,t,r={},c=a.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(o.xV,[\\\"API/logging/\\\".concat(c.toLowerCase(),\\\"/called\\\")],void 0,s.K7.metrics,e),(0,n.p)(a.ET,[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return\\\"string\\\"==typeof e\u0026\u0026Object.values(a.p_).some(t=\u003et===e.toUpperCase().trim())}},3878:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003es,jT:()=\u003en,sp:()=\u003ei})},3962:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{AM:()=\u003eo,O2:()=\u003el,OV:()=\u003es,Qu:()=\u003ef,TZ:()=\u003ec,ih:()=\u003eh,pP:()=\u003ea,t1:()=\u003eu,tC:()=\u003ei,wD:()=\u003ed});var n=r(860);const i=[\\\"click\\\",\\\"keydown\\\",\\\"submit\\\"],s=\\\"popstate\\\",o=\\\"api\\\",a=\\\"initialPageLoad\\\",c=n.K7.softNav,d=5e3,u=500,l={INITIAL_PAGE_LOAD:\\\"\\\",ROUTE_CHANGE:1,UNSPECIFIED:2},f={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},h={IP:\\\"in progress\\\",PF:\\\"pending finish\\\",FIN:\\\"finished\\\",CAN:\\\"cancelled\\\"}},3969:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{TZ:()=\u003en,XG:()=\u003ea,rs:()=\u003ei,xV:()=\u003eo,z_:()=\u003es});const n=r(860).K7.metrics,i=\\\"sm\\\",s=\\\"cm\\\",o=\\\"storeSupportabilityMetrics\\\",a=\\\"storeEventMetrics\\\"},4234:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003ei});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},4261:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$9:()=\u003eu,BL:()=\u003ec,CH:()=\u003ep,Dl:()=\u003eR,Fw:()=\u003ew,PA:()=\u003ev,Pl:()=\u003en,Pv:()=\u003ex,Tb:()=\u003ef,U2:()=\u003eo,V1:()=\u003eA,Wb:()=\u003eT,bt:()=\u003eb,cD:()=\u003ey,d3:()=\u003eE,dT:()=\u003ed,eY:()=\u003eg,fF:()=\u003eh,hG:()=\u003es,hw:()=\u003ei,k6:()=\u003ea,nb:()=\u003em,o5:()=\u003el});const n=\\\"api-\\\",i=n+\\\"ixn-\\\",s=\\\"addPageAction\\\",o=\\\"addToTrace\\\",a=\\\"addRelease\\\",c=\\\"finished\\\",d=\\\"interaction\\\",u=\\\"log\\\",l=\\\"noticeError\\\",f=\\\"pauseReplay\\\",h=\\\"recordCustomEvent\\\",p=\\\"recordReplay\\\",g=\\\"register\\\",m=\\\"setApplicationVersion\\\",v=\\\"setCurrentRouteName\\\",y=\\\"setCustomAttribute\\\",b=\\\"setErrorHandler\\\",w=\\\"setPageViewName\\\",R=\\\"setUserId\\\",E=\\\"start\\\",T=\\\"wrapLogger\\\",A=\\\"measure\\\",x=\\\"consent\\\"},5205:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{j:()=\u003ex});var n=r(384),i=r(1741);var s=r(2555),o=r(3333);const a=e=\u003e{if(!e||\\\"string\\\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),d=r(944),u=r(8122);const l=\\\"[data-nr-mask]\\\",f=e=\u003e(0,u.a)(e,(()=\u003e{const e={feature_flags:[],experimental:{allow_registered_children:!1,resources:!1},mask_selector:\\\"*\\\",block_selector:\\\"[data-nr-block]\\\",mask_input_options:{color:!1,date:!1,\\\"datetime-local\\\":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},api:{get allow_registered_children(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.allow_registered_children},set allow_registered_children(t){e.experimental.allow_registered_children=t},duplicate_registered_data:!1},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){a(t)?e.mask_selector=\\\"\\\".concat(t,\\\",\\\").concat(l):\\\"\\\"===t||null===t?e.mask_selector=l:(0,d.R)(5,t)},get block_class(){return\\\"nr-block\\\"},get ignore_class(){return\\\"nr-ignore\\\"},get mask_text_class(){return\\\"nr-mask\\\"},get block_selector(){return e.block_selector},set block_selector(t){a(t)?e.block_selector+=\\\",\\\".concat(t):\\\"\\\"!==t\u0026\u0026(0,d.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\\\"object\\\"==typeof t?e.mask_input_options={...t,password:!0}:(0,d.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:[\\\"id\\\",\\\"className\\\",\\\"tagName\\\",\\\"type\\\"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={consented:!1},y={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||v.consented},set consented(e){v.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,harvester:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++g}},b=e=\u003e{const t=(0,u.a)(e,y),r=Object.keys(m).reduce((e,t)=\u003e(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)},w=e=\u003e{const t=e.startsWith(\\\"http\\\");e+=\\\"/\\\",r.p=t?e:\\\"https://\\\"+e};var R=r(7836),E=r(3241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A=e=\u003e(0,u.a)(e,T);function x(e,t={},r,o){let{init:a,info:c,loader_config:d,runtime:u={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();a=e.init,c=e.info,d=e.loader_config}e.init=f(a||{}),e.loader_config=A(d||{}),c.jsAttributes??={},h.bv\u0026\u0026(c.jsAttributes.isWorker=!0),e.info=(0,s.D)(c);const p=e.init;e.runtime??=b(u),p.proxy.assets\u0026\u0026w(p.proxy.assets),e.runtime.configured||(Object.defineProperty(e,\\\"beacons\\\",{get:()=\u003e[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,\\\"denyList\\\",{get:()=\u003e[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach(r=\u003e{const n=i.W.prototype[r];if(\\\"function\\\"!=typeof n||\\\"constructor\\\"===n)return;let s=t[r];e[r]\u0026\u0026!1!==e.exposed\u0026\u0026\\\"micro-agent\\\"!==e.runtime?.loaderType\u0026\u0026(t[r]=(...t)=\u003e{const n=e[r](...t);return s?s(...t):n})})}(e),e.runtime.loaderType=r,e.ee=R.ee.get(e.agentIdentifier),e.exposed=l,(0,E.W)({drained:!!e.runtime.activatedFeatures,type:\\\"lifecycle\\\",name:\\\"initialize\\\",feature:void 0,data:e.config}),e.runtime.configured=!0)}},5270:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Aw:()=\u003eo,SR:()=\u003es,rF:()=\u003ea});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,i.V)(e)\u0026\u0026!0===e?.session_trace.enabled}function o(e){return!0===e?.session_replay.preload\u0026\u0026s(e)}function a(e,t){try{if(\\\"string\\\"==typeof t?.type){if(\\\"password\\\"===t.type.toLowerCase())return\\\"*\\\".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains(\\\"nr-unmask\\\"))return e}}catch(e){}return\\\"string\\\"==typeof e?e.replace(/[\\\\S]/g,\\\"*\\\"):\\\"*\\\".repeat(e?.length||0)}},5289:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{GG:()=\u003eo,Qr:()=\u003ec,sB:()=\u003ea});var n=r(3878),i=r(6389);function s(){return\\\"undefined\\\"==typeof document||\\\"complete\\\"===document.readyState}function o(e,t){if(s())return e();const r=(0,i.J)(e),o=setInterval(()=\u003e{s()\u0026\u0026(clearInterval(o),r())},500);(0,n.sp)(\\\"load\\\",r,t)}function a(e){if(s())return e();(0,n.DD)(\\\"DOMContentLoaded\\\",e)}function c(e){if(s())return e();(0,n.sp)(\\\"popstate\\\",e)}},5607:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003en});const n=(0,r(9566).bz)()},5871:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{AZ:()=\u003eu,QL:()=\u003el,Qr:()=\u003ef});var n=r(6154),i=r(1863),s=r(9119),o=r(7866);let a;try{a=u(l())[0]}catch(e){a=u(e)[0]}const c=new Set;let d=[];if(n.gm.PerformanceObserver?.supportedEntryTypes.includes(\\\"resource\\\")){new PerformanceObserver(e=\u003e{e.getEntries().forEach(e=\u003e{if((e=\u003e\\\"script\\\"===e.initiatorType||[\\\"link\\\",\\\"fetch\\\"].includes(e.initiatorType)\u0026\u0026e.name.endsWith(\\\".js\\\"))(e)){c.size\u003e250\u0026\u0026c.delete(c.values().next().value),c.add(e);const t=[];d.forEach(({test:r,addedAt:n},s)=\u003e{(r(e)||(0,i.t)()-n\u003e1e4)\u0026\u0026t.push(s)}),d=d.filter((e,r)=\u003e!t.includes(r))}})}).observe({type:\\\"resource\\\",buffered:!0})}function u(e){if(!e||\\\"string\\\"!=typeof e)return[];const t=new Set,r=e.split(\\\"\\\\n\\\");for(const e of r){const r=e.match(o.cn)||e.match(o.hB)||e.match(o.fL);if(r\u0026\u0026r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\\\\(([^)]+\\\\.js):\\\\d+:\\\\d+\\\\)/)||e.match(/^\\\\s+at\\\\s+([^\\\\s(]+\\\\.js):\\\\d+:\\\\d+/);r\u0026\u0026r[1]\u0026\u0026t.add((0,s.L)(r[1]))}}return[...t]}function l(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function f(){const e={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,asset:void 0,type:\\\"unknown\\\"},t=l();if(!t)return e;const r=n.gm.performance?.getEntriesByType(\\\"navigation\\\")?.[0]?.name||\\\"\\\";try{const o=u(t),f=(o.length\u003e1?o.filter(e=\u003e!a.endsWith(e)\u0026\u0026!e.endsWith(a)):o)[0];if(!f)return e;if(r.includes(f))return e.asset=(0,s.L)(r),e.type=\\\"inline\\\",e;const h=performance.getEntriesByType(\\\"resource\\\").find(p)||[...c].find(p);function p(e){const t=(0,s.L)(e.name);return t.endsWith(f)||f.endsWith(t)}function g(t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType}h?g(h):function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel=\\\"preload\\\"][as=\\\"script\\\"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1}(f)\u0026\u0026(e.asset=f,e.type=\\\"preload\\\",d.push({addedAt:(0,i.t)(),test:e=\u003e!!p(e)\u0026\u0026(g(e),!0)}))}catch(m){}return e}},6154:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{OF:()=\u003ed,RI:()=\u003ei,WN:()=\u003ef,bv:()=\u003es,gm:()=\u003eo,lR:()=\u003el,m:()=\u003ec,mw:()=\u003ea,sb:()=\u003eu,zk:()=\u003eh});var n=r(1863);const i=\\\"undefined\\\"!=typeof window\u0026\u0026!!window.document,s=\\\"undefined\\\"!=typeof WorkerGlobalScope\u0026\u0026(\\\"undefined\\\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\\\"undefined\\\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),o=i?window:\\\"undefined\\\"!=typeof WorkerGlobalScope\u0026\u0026(\\\"undefined\\\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\\\"undefined\\\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),a=Boolean(\\\"hidden\\\"===o?.document?.visibilityState),c=\\\"\\\"+o?.location,d=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=d\u0026\u0026\\\"undefined\\\"==typeof SharedWorker,l=(()=\u003e{const e=o.navigator?.userAgent?.match(/Firefox[/\\\\s](\\\\d+\\\\.\\\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),f=Date.now()-(0,n.t)(),h=()=\u003e{const e=o?.performance?.getEntriesByType?.(\\\"navigation\\\")?.[0];if(e\u0026\u0026e.responseStart\u003e0\u0026\u0026e.responseStart\u003co.performance.now())return e}},6344:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{BB:()=\u003eu,Qb:()=\u003el,TZ:()=\u003ei,Ug:()=\u003eo,Vh:()=\u003es,_s:()=\u003ea,bc:()=\u003ed,yP:()=\u003ec});var n=r(2614);const i=r(860).K7.sessionReplay,s=\\\"errorDuringReplay\\\",o=.12,a={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:\\\"Session was reset\\\",sm:\\\"Reset\\\"},IMPORT:{message:\\\"Recorder failed to import\\\",sm:\\\"Import\\\"},TOO_MANY:{message:\\\"429: Too Many Requests\\\",sm:\\\"Too-Many\\\"},TOO_BIG:{message:\\\"Payload was too large\\\",sm:\\\"Too-Big\\\"},CROSS_TAB:{message:\\\"Session Entity was set to OFF on another tab\\\",sm:\\\"Cross-Tab\\\"},ENTITLEMENTS:{message:\\\"Session Replay is not allowed and will not be started\\\",sm:\\\"Entitlement\\\"}},u=5e3,l={API:\\\"api\\\",RESUME:\\\"resume\\\",SWITCH_TO_FULL:\\\"switchToFull\\\",INITIALIZE:\\\"initialize\\\",PRELOAD:\\\"preload\\\"}},6389:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout(()=\u003e{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=\u003e{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},6630:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewEvent},6774:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.jserrors},7295:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Xv:()=\u003eo,gX:()=\u003ei,iW:()=\u003es});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if(\\\"*\\\"===n[0].hostname)return!1;for(var t=0;t\u003cn.length;t++){var r=n[t];if(r.hostname.test(e.hostname)\u0026\u0026r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function o(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;if(\\\"*\\\"===r)return void(n=[{hostname:\\\"*\\\"}]);0===r.indexOf(\\\"http://\\\")?r=r.substring(7):0===r.indexOf(\\\"https://\\\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\\\"/\\\");let s,o;i\u003e0?(s=r.substring(0,i),o=r.substring(i)):(s=r,o=\\\"*\\\");let[c]=s.split(\\\":\\\");n.push({hostname:a(c),pathname:a(o,!0)})}}function a(e,t=!1){const r=e.replace(/[.+?^${}()|[\\\\]\\\\\\\\]/g,e=\u003e\\\"\\\\\\\\\\\"+e).replace(/\\\\*/g,\\\".*?\\\");return new RegExp((t?\\\"^\\\":\\\"\\\")+r+\\\"$\\\")}},7485:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\\\"\\\").indexOf(\\\"data:\\\"))return{protocol:\\\"data\\\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\\\":\\\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\\\"\\\"!==r.port||(\\\"http:\\\"===t.protocol\u0026\u0026(r.port=\\\"80\\\"),\\\"https:\\\"===t.protocol\u0026\u0026(r.port=\\\"443\\\")),r.pathname\u0026\u0026\\\"\\\"!==r.pathname?r.pathname.startsWith(\\\"/\\\")||(r.pathname=\\\"/\\\".concat(r.pathname)):r.pathname=\\\"/\\\",r}catch(e){return{}}}},7699:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{It:()=\u003es,KC:()=\u003ea,No:()=\u003ei,qh:()=\u003eo});var n=r(860);const i=16e3,s=1e6,o=\\\"SESSION_ERROR\\\",a={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0}},7767:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{V:()=\u003ei});var n=r(6154);const i=e=\u003en.RI\u0026\u0026!0===e?.privacy.cookies_enabled},7836:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{P:()=\u003ea,ee:()=\u003ec});var n=r(384),i=r(8990),s=r(2646),o=r(5607);const a=\\\"nr@context:\\\".concat(o.W),c=function e(t,r){var n={},o={},u={},l=!1;try{l=16===r.length\u0026\u0026d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s\u0026\u0026(s=!0);if(c.aborted\u0026\u0026!i)return;t\u0026\u0026s\u0026\u0026t.emit(e,r,n);var a=h(n);g(e).forEach(e=\u003e{e.apply(a,r)});var d=v()[o[e]];d\u0026\u0026d.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\\\"feature\\\",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=\u003e{o[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=\u003e{delete f.backlog[e]})},isBuffering:function(e){return!!v()[o[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\\\"object\\\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\\\"aborted\\\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof s.y?e:e?(0,i.I)(e,a,()=\u003enew s.y(a)):new s.y(a)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,\\\"globalEE\\\"),d=(0,n.Zm)();d.ee||(d.ee=c)},7866:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Nc:()=\u003es,cn:()=\u003ea,fL:()=\u003ei,h3:()=\u003en,hB:()=\u003eo});const n=/function (.+?)\\\\s*\\\\(/,i=/^\\\\s*at .+ \\\\(eval at \\\\S+ \\\\((?:(?:file|http|https):[^)]+)?\\\\)(?:, [^:]*:\\\\d+:\\\\d+)?\\\\)$/i,s=/^\\\\s*at Function code \\\\(Function code:\\\\d+:\\\\d+\\\\)\\\\s*/i,o=/^\\\\s*at (?:((?:\\\\[object object\\\\])?(?:[^(]*\\\\([^)]*\\\\))*[^()]*(?: \\\\[as \\\\S+\\\\])?) )?\\\\(?((?:file|http|https|chrome-extension):.*?)?:(\\\\d+)(?::(\\\\d+))?\\\\)?\\\\s*$/i,a=/^\\\\s*(?:([^@]*)(?:\\\\(.*?\\\\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\\\\d+)(?::(\\\\d+))?\\\\s*$/i},8122:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{a:()=\u003ei});var n=r(944);function i(e,t){try{if(!e||\\\"object\\\"!=typeof e)return(0,n.R)(3);if(!t||\\\"object\\\"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let o in s)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])\u0026\u0026Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):e[o]instanceof Map||e[o]instanceof Set||e[o]instanceof Date||e[o]instanceof RegExp?r[o]=e[o]:\\\"object\\\"==typeof e[o]\u0026\u0026\\\"object\\\"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){r[o]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},8139:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),s=r(8990),o=r(6154);const a={},c=o.gm.XMLHttpRequest,d=\\\"addEventListener\\\",u=\\\"removeEventListener\\\",l=\\\"nr@wrapped:\\\".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get(\\\"events\\\")}(e);if(a[t.debugId]++)return t;a[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],\\\"-\\\",p)}function p(e,t){return e[1]}return\\\"getPrototypeOf\\\"in Object\u0026\u0026(o.RI\u0026\u0026h(document,f),c\u0026\u0026h(c.prototype,f),h(o.gm,f)),t.on(d+\\\"-start\\\",function(e,t){var n=e[1];if(null!==n\u0026\u0026(\\\"function\\\"==typeof n||\\\"object\\\"==typeof n)\u0026\u0026\\\"newrelic\\\"!==e[0]){var i=(0,s.I)(n,l,function(){var e={object:function(){if(\\\"function\\\"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,\\\"fn-\\\",null,e.name||\\\"anonymous\\\"):n});this.wrapped=e[1]=i}}),t.on(u+\\\"-start\\\",function(e){e[1]=this.wrapped||e[1]}),t}function h(e,t,...r){let n=e;for(;\\\"object\\\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},8362:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{d:()=\u003es});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},8374:(e,t,r)=\u003e{r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\\\"\\\"})()},8990:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},9119:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{L:()=\u003es});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,\\\"$1$2\\\"):e}},9300:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.ajax},9324:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{AJ:()=\u003eo,F3:()=\u003ei,Xs:()=\u003es,Yq:()=\u003ea,xv:()=\u003en});const n=\\\"1.312.1\\\",i=\\\"PROD\\\",s=\\\"CDN\\\",o=\\\"@newrelic/rrweb\\\",a=\\\"1.1.0\\\"},9566:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{LA:()=\u003ea,ZF:()=\u003ec,bz:()=\u003eo,el:()=\u003ed});var n=r(6154);const i=\\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\";function s(e,t){return e?15\u0026e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),i.split(\\\"\\\").map(e=\u003e\\\"x\\\"===e?s(t,r++).toString(16):\\\"y\\\"===e?(3\u0026s()|8).toString(16):e).join(\\\"\\\")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var a=0;a\u003ce;a++)o.push(s(r,i++).toString(16));return o.join(\\\"\\\")}function c(){return a(16)}function d(){return a(32)}},9908:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\\\"handle\\\");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var s=n[e]={exports:{}};return r[e](s,s.exports,i),s.exports}i.m=r,i.d=(e,t)=\u003e{for(var r in t)i.o(t,r)\u0026\u0026!i.o(e,r)\u0026\u0026Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=\u003ePromise.all(Object.keys(i.f).reduce((t,r)=\u003e(i.f[r](e,t),t),[])),i.u=e=\u003e({212:\\\"nr-spa-compressor\\\",249:\\\"nr-spa-recorder\\\",478:\\\"nr-spa\\\"}[e]+\\\"-1.312.1.min.js\\\"),i.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),e={},t=\\\"NRBA-1.312.1.PROD:\\\",i.l=(r,n,s,o)=\u003e{if(e[r])e[r].push(n);else{var a,c;if(void 0!==s)for(var d=document.getElementsByTagName(\\\"script\\\"),u=0;u\u003cd.length;u++){var l=d[u];if(l.getAttribute(\\\"src\\\")==r||l.getAttribute(\\\"data-webpack\\\")==t+s){a=l;break}}if(!a){c=!0;var f={478:\\\"sha512-dZhtzLTOyIsYHGHWAipD4+6jjzEIycTqL1F9NwinUiYL8cf0kIXf7WUbskVMB7p/nhDF+zJ9Bfd6LU9PMn0Yhw==\\\",249:\\\"sha512-SJV3E/3SdEyaahYm8FHEFwhJvDQy/nRJJV/o+18MgXENJWR/8tfvIKfc4LE1xV9RniczXT7eQLcZi2G99UlugA==\\\",212:\\\"sha512-dRFaJY5mEo/nxzPqxS/sHnvU66fpkTff91nWUFOafyPR61R+r2GZiy81lT47BWA4MouemCj4tvhHmn8Ofh/UOg==\\\"};(a=document.createElement(\\\"script\\\")).charset=\\\"utf-8\\\",i.nc\u0026\u0026a.setAttribute(\\\"nonce\\\",i.nc),a.setAttribute(\\\"data-webpack\\\",t+s),a.src=r,0!==a.src.indexOf(window.location.origin+\\\"/\\\")\u0026\u0026(a.crossOrigin=\\\"anonymous\\\"),f[o]\u0026\u0026(a.integrity=f[o])}e[r]=[n];var h=(t,n)=\u003e{a.onerror=a.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],a.parentNode\u0026\u0026a.parentNode.removeChild(a),i\u0026\u0026i.forEach(e=\u003ee(n)),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:\\\"timeout\\\",target:a}),12e4);a.onerror=h.bind(null,a.onerror),a.onload=h.bind(null,a.onload),c\u0026\u0026document.head.appendChild(a)}},i.r=e=\u003e{\\\"undefined\\\"!=typeof Symbol\u0026\u0026Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},i.p=\\\"https://js-agent.newrelic.com/\\\",(()=\u003e{var e={38:0,788:0};i.f.j=(t,r)=\u003e{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var s=new Promise((r,i)=\u003en=e[t]=[r,i]);r.push(n[2]=s);var o=i.p+i.u(t),a=new Error;i.l(o,r=\u003e{if(i.o(e,t)\u0026\u0026(0!==(n=e[t])\u0026\u0026(e[t]=void 0),n)){var s=r\u0026\u0026(\\\"load\\\"===r.type?\\\"missing\\\":r.type),o=r\u0026\u0026r.target\u0026\u0026r.target.src;a.message=\\\"Loading chunk \\\"+t+\\\" failed: (\\\"+s+\\\": \\\"+o+\\\")\\\",a.name=\\\"ChunkLoadError\\\",a.type=s,a.request=o,n[1](a)}},\\\"chunk-\\\"+t,t)}};var t=(t,r)=\u003e{var n,s,[o,a,c]=r,d=0;if(o.some(t=\u003e0!==e[t])){for(n in a)i.o(a,n)\u0026\u0026(i.m[n]=a[n]);if(c)c(i)}for(t\u0026\u0026t(r);d\u003co.length;d++)s=o[d],i.o(e,s)\u0026\u0026e[s]\u0026\u0026e[s][0](),e[s]=0},r=self[\\\"webpackChunk:NRBA-1.312.1.PROD\\\"]=self[\\\"webpackChunk:NRBA-1.312.1.PROD\\\"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=\u003e{\\\"use strict\\\";i(8374);var e=i(8362),t=i(860);const r=Object.values(t.K7);var n=i(5205);var s=i(9908),o=i(1863),a=i(4261),c=i(1738);var d=i(1687),u=i(4234),l=i(5289),f=i(6154),h=i(944),p=i(5270),g=i(7767),m=i(6389),v=i(7699);class y extends u.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=\u003e{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=\u003e{this.ee.on(\\\"manual-start-all\\\",(0,m.J)(()=\u003e{(0,d.Ak)(e,this.featureName),t()}))}):(0,d.Ak)(e,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;const n=async()=\u003e{let n;await this.deferred;try{if((0,g.V)(e.init)){const{setupAgentSession:t}=await i.e(478).then(i.bind(i,8766));n=t(e)}}catch(e){(0,h.R)(20,e),this.ee.emit(\\\"internal-error\\\",[e]),(0,s.p)(v.qh,[e],void 0,this.featureName,this.ee)}try{if(!this.#t(this.featureName,n,e.init))return(0,d.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:i}=await t();this.featAggregate=new i(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,h.R)(34,e),this.abortHandler?.(),(0,d.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1),this.ee\u0026\u0026this.ee.abort()}};f.RI?(0,l.GG)(()=\u003en(),!0):n()}#t(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,p.SR)(n)\u0026\u0026!!r;case t.K7.sessionTrace:return!!r;default:return!0}}}var b=i(6630),w=i(2614),R=i(3241);class E extends y{static featureName=b.T;constructor(e){var t;super(e,b.T),this.setupInspectionEvents(),t=e,(0,c.Y)(a.Fw,function(e,r){\\\"string\\\"==typeof e\u0026\u0026(\\\"/\\\"!==e.charAt(0)\u0026\u0026(e=\\\"/\\\"+e),t.runtime.customTransaction=(r||\\\"http://custom.transaction\\\")+e,(0,s.p)(a.Pl+a.Fw,[(0,o.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,5839)))}setupInspectionEvents(){const e=(e,t)=\u003e{e\u0026\u0026(0,R.W)({timeStamp:e.timeStamp,loaded:\\\"complete\\\"===e.target.readyState,type:\\\"window\\\",name:t,data:e.target.location+\\\"\\\"})};(0,l.sB)(t=\u003e{e(t,\\\"DOMContentLoaded\\\")}),(0,l.GG)(t=\u003e{e(t,\\\"load\\\")}),(0,l.Qr)(t=\u003e{e(t,\\\"navigate\\\")}),this.ee.on(w.tS.UPDATE,(e,t)=\u003e{(0,R.W)({type:\\\"lifecycle\\\",name:\\\"session\\\",data:t})})}}var T=i(384);class A extends e.d{constructor(e){var t;(super(),f.gm)?(this.features={},(0,T.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(E),(0,n.j)(this,e,e.loaderType||\\\"agent\\\"),t=this,(0,c.Y)(a.cD,function(e,r,n=!1){if(\\\"string\\\"==typeof e){if([\\\"string\\\",\\\"number\\\",\\\"boolean\\\"].includes(typeof r)||null===r)return(0,c.U)(t,e,r,a.cD,n);(0,h.R)(40,typeof r)}else(0,h.R)(39,typeof e)},t),function(e){(0,c.Y)(a.Dl,function(t,r=!1){if(\\\"string\\\"!=typeof t\u0026\u0026null!==t)return void(0,h.R)(41,typeof t);const n=e.info.jsAttributes[\\\"enduser.id\\\"];r\u0026\u0026null!=n\u0026\u0026n!==t?(0,s.p)(a.Pl+\\\"setUserIdAndResetSession\\\",[t],void 0,\\\"session\\\",e.ee):(0,c.U)(e,\\\"enduser.id\\\",t,a.Dl,!0)},e)}(this),function(e){(0,c.Y)(a.nb,function(t){if(\\\"string\\\"==typeof t||null===t)return(0,c.U)(e,\\\"application.version\\\",t,a.nb,!1);(0,h.R)(42,typeof t)},e)}(this),function(e){(0,c.Y)(a.d3,function(){e.ee.emit(\\\"manual-start-all\\\")},e)}(this),function(e){(0,c.Y)(a.Pv,function(t=!0){if(\\\"boolean\\\"==typeof t){if((0,s.p)(a.Pl+a.Pv,[t],void 0,\\\"session\\\",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=\u003e{const r=t.featAggregate;e\u0026\u0026!r.sentRum\u0026\u0026r.sendRum()})}}else(0,h.R)(65,typeof t)},e)}(this),this.run()):(0,h.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return r.forEach(r=\u003e{t[r]=!!e[r]?.enabled}),t}(this.init),n=[...this.desiredFeatures];n.sort((e,r)=\u003et.P3[e.featureName]-t.P3[r.featureName]),n.forEach(r=\u003e{if(!e[r.featureName]\u0026\u0026r.featureName!==t.K7.pageViewEvent)return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=\u003e!(e in this.features));n.length\u003e0\u0026\u0026(0,h.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,h.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,T.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var x=i(2843),S=i(782);class _ extends y{static featureName=S.T;constructor(e){super(e,S.T),f.RI\u0026\u0026((0,x.u)(()=\u003e(0,s.p)(\\\"docHidden\\\",[(0,o.t)()],void 0,S.T,this.ee),!0),(0,x.G)(()=\u003e(0,s.p)(\\\"winPagehide\\\",[(0,o.t)()],void 0,S.T,this.ee)),this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,9917))))}}var O=i(3969);class P extends y{static featureName=O.TZ;constructor(e){super(e,O.TZ),f.RI\u0026\u0026document.addEventListener(\\\"securitypolicyviolation\\\",e=\u003e{(0,s.p)(O.xV,[\\\"Generic/CSPViolation/Detected\\\"],void 0,this.featureName,this.ee)}),this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,6555)))}}var k=i(6774),N=i(3878),D=i(3304);class j{constructor(e,t,r,n,i){this.name=\\\"UncaughtError\\\",this.message=\\\"string\\\"==typeof e?e:(0,D.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return M(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function L(e){const t=\\\"Unhandled Promise Rejection: \\\";if(!e?.reason)return;if(M(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||\\\"\\\").startsWith(t)||(r.message=t+r.message),r}function I(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\\\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return M(e.error)?e.error:C(e)}function M(e){return e instanceof Error\u0026\u0026!!e.stack}function B(e,r,n,i,a=(0,o.t)()){\\\"string\\\"==typeof e\u0026\u0026(e=new Error(e)),(0,s.p)(\\\"err\\\",[e,a,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,s.p)(\\\"uaErr\\\",[],void 0,t.K7.genericEvents,n.ee)}var H=i(1541),W=i(993),K=i(3785);function F(e,{customAttributes:t={},level:r=W.p_.INFO}={},n,i,s=(0,o.t)()){(0,K.R)(n.ee,e,t,r,!1,i,s)}function U(e,r,n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.hG,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}function V(e,r,n,i,c=(0,o.t)()){const{start:d,end:u,customAttributes:l}=r||{},f={customAttributes:l||{}};if(\\\"object\\\"!=typeof f.customAttributes||\\\"string\\\"!=typeof e||0===e.length)return void(0,h.R)(57);const p=(e,t)=\u003enull==e?t:\\\"number\\\"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(f.start=p(d,0),f.end=p(u,c),Number.isNaN(f.start)||Number.isNaN(f.end))(0,h.R)(57);else{if(f.duration=f.end-f.start,!(f.duration\u003c0))return(0,s.p)(a.Pl+a.V1,[f,e,i],void 0,t.K7.genericEvents,n.ee),f;(0,h.R)(58)}}function G(e,r={},n,i,c=(0,o.t)()){(0,s.p)(a.Pl+a.fF,[c,e,r,i],void 0,t.K7.genericEvents,n.ee)}var z=i(5871),Y=i(9566);const Z=[\\\"name\\\",\\\"id\\\",\\\"type\\\"];function q(e){(0,c.Y)(a.eY,function(t){return X(e,t)},e)}function X(e,r,n){(0,h.R)(54,\\\"newrelic.register\\\"),r||={},r.instance=(0,Y.LA)(8),r.type=H.fQ.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,(\\\"object\\\"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))\u0026\u0026(r.tags={}),r.parent=n||{get id(){return e.runtime.appMetadata.agents[0].entityGuid},type:H.fQ.BA};const i=(0,z.Qr)(),a={};Object.defineProperty(r,\\\"attributes\\\",{get:()=\u003e({...a,\\\"source.id\\\":r.id,\\\"source.name\\\":r.name,\\\"source.type\\\":r.type,\\\"parent.type\\\":r.parent?.type||H.fQ.BA,\\\"parent.id\\\":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=\u003e{Z.includes(e)||(a[\\\"source.\\\".concat(e)]=t)}),r.isolated??=!0;let c=()=\u003e{};const d=e.runtime.registeredEntities;if(!r.isolated){const e=d.find(({metadata:{target:{id:e}}})=\u003ee===r.id\u0026\u0026!r.isolated);if(e)return e}const u=e=\u003e{r.blocked=!0,c=e};function l(e){return\\\"string\\\"==typeof e\u0026\u0026!!e.trim()\u0026\u0026e.trim().length\u003c501}e.init.api.allow_registered_children||u((0,m.J)(()=\u003e(0,h.R)(55))),l(r.id)\u0026\u0026l(r.name)||u((0,m.J)(()=\u003e(0,h.R)(48,r)));const f={addPageAction:(t,n={})=\u003ey(U,[t,{...a,...n},e],r),deregister:()=\u003e{g(),u((0,m.J)(()=\u003e(0,h.R)(68)))},log:(t,n={})=\u003ey(F,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=\u003ey(V,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=\u003ey(B,[t,{...a,...n},e],r),register:(t={})=\u003ey(X,[e,t],f.metadata.target),recordCustomEvent:(t,n={})=\u003ey(G,[t,{...a,...n},e],r),setApplicationVersion:e=\u003ev(\\\"application.version\\\",e),setCustomAttribute:(e,t)=\u003ev(e,t),setUserId:e=\u003ev(\\\"enduser.id\\\",e),metadata:{get customAttributes(){return a},target:r,timings:i}},p=()=\u003e(r.blocked\u0026\u0026c(),r.blocked);function g(){i.reportedAt||(i.reportedAt=(0,o.t)(),f.recordCustomEvent(\\\"MicroFrontEndTiming\\\",{assetUrl:i.asset,assetType:i.type,timeToLoad:i.registeredAt-i.fetchStart,timeToBeRequested:i.fetchStart,timeToFetch:i.fetchEnd-i.fetchStart,timeToRegister:i.registeredAt-i.fetchEnd,timeAlive:i.reportedAt-i.registeredAt}))}p()||(d.push(f),(0,x.G)(g));const v=(e,t)=\u003e{p()||(a[e]=t)},y=(r,n,i)=\u003e{if(p()\u0026\u0026r!==X)return;const a=(0,o.t)();(0,s.p)(O.xV,[\\\"API/register/\\\".concat(r.name,\\\"/called\\\")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,a)}catch(e){(0,h.R)(50,e)}};return f}class Q extends y{static featureName=k.T;constructor(e){var t;super(e,k.T),t=e,(0,c.Y)(a.o5,(e,r)=\u003eB(e,r,t),t),function(e){(0,c.Y)(a.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,c.Y)(a.k6,function(e,r){++t\u003e10||(this.runtime.releaseIds[e.slice(-200)]=(\\\"\\\"+r).slice(-200))},e)}(e),q(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\\\"internal-error\\\",(t,r)=\u003e{this.abortHandler\u0026\u0026(0,s.p)(\\\"ierr\\\",[C(t),(0,o.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),f.gm.addEventListener(\\\"unhandledrejection\\\",t=\u003e{this.abortHandler\u0026\u0026(0,s.p)(\\\"err\\\",[L(t),(0,o.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),f.gm.addEventListener(\\\"error\\\",t=\u003e{this.abortHandler\u0026\u0026(0,s.p)(\\\"err\\\",[I(t),(0,o.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#r,this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,2176)))}#r(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var J=i(8990);let ee=1;function te(e){const t=typeof e;return!e||\\\"object\\\"!==t\u0026\u0026\\\"function\\\"!==t?-1:e===f.gm?0:(0,J.I)(e,\\\"nr@id\\\",function(){return ee++})}function re(e){if(\\\"string\\\"==typeof e\u0026\u0026e.length)return e.length;if(\\\"object\\\"==typeof e){if(\\\"undefined\\\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\\\"undefined\\\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\\\"undefined\\\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,D.A)(e).length}catch(e){return}}}var ne=i(8139),ie=i(7836),se=i(3434);const oe={},ae=[\\\"open\\\",\\\"send\\\"];function ce(e,t){var r=e||ie.ee;const n=function(e){return(e||ie.ee).get(\\\"xhr\\\")}(r);if(void 0===f.gm.XMLHttpRequest)return n;if(oe[n.debugId]++)return n;oe[n.debugId]=1,(0,ne.u)(r);var i=(0,se.YM)(n),s=f.gm.XMLHttpRequest,o=f.gm.MutationObserver,a=f.gm.Promise,c=f.gm.setInterval,d=\\\"readystatechange\\\",u=[\\\"onload\\\",\\\"onerror\\\",\\\"onabort\\\",\\\"onloadstart\\\",\\\"onloadend\\\",\\\"onprogress\\\",\\\"ontimeout\\\"],l=[],p=f.gm.XMLHttpRequest=function(e){const r=new s(e),o=n.context(r);o.targets=(0,H.$5)(t);try{n.emit(\\\"new-xhr\\\",[r],o),r.addEventListener(d,(a=o,function(){var e=this;e.readyState\u003e3\u0026\u0026!a.resolved\u0026\u0026(a.resolved=!0,n.emit(\\\"xhr-resolved\\\",[],e)),i.inPlace(e,u,\\\"fn-\\\",w)}),(0,N.jT)(!1))}catch(e){(0,h.R)(15,e);try{n.emit(\\\"internal-error\\\",[e])}catch(e){}}var a;return r};function g(e,t){i.inPlace(t,[\\\"onreadystatechange\\\"],\\\"fn-\\\",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,p),p.prototype=s.prototype,i.inPlace(p.prototype,ae,\\\"-xhr-\\\",w),n.on(\\\"send-xhr-start\\\",function(e,t){g(e,t),function(e){l.push(e),o\u0026\u0026(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on(\\\"open-xhr-start\\\",g),o){var m=a\u0026\u0026a.resolve();if(!c\u0026\u0026!a){var v=1,y=document.createTextNode(v);new o(b).observe(y,{characterData:!0})}}else r.on(\\\"fn-end\\\",function(e){e[0]\u0026\u0026e[0].type===d||b()});function b(){for(var e=0;e\u003cl.length;e++)g(0,l[e]);l.length\u0026\u0026(l=[])}function w(e,t){return t}return n}var de=\\\"fetch-\\\",ue=de+\\\"body-\\\",le=[\\\"arrayBuffer\\\",\\\"blob\\\",\\\"json\\\",\\\"text\\\",\\\"formData\\\"],fe=f.gm.Request,he=f.gm.Response,pe=\\\"prototype\\\";const ge={};function me(e,t){const r=function(e){return(e||ie.ee).get(\\\"fetch\\\")}(e);if(!(fe\u0026\u0026he\u0026\u0026f.gm.fetch))return r;if(ge[r.debugId]++)return r;function n(e,n,i){var s=e[n];\\\"function\\\"==typeof s\u0026\u0026(e[n]=function(){var e=[...arguments];const n={},o=(0,H.$5)(t);var a;r.emit(i+\\\"before-start\\\",[e],n),n[ie.P]\u0026\u0026n[ie.P].dt\u0026\u0026(a=n[ie.P].dt);var c=s.apply(this,e);return r.emit(i+\\\"start\\\",[e,a],c),c.then(function(e){return r.emit(i+\\\"end\\\",[null,e,o],c),e},function(e){throw r.emit(i+\\\"end\\\",[e,void 0,o],c),e})})}return ge[r.debugId]=1,le.forEach(e=\u003e{n(fe[pe],e,ue),n(he[pe],e,ue)}),n(f.gm,\\\"fetch\\\",de),r.on(de+\\\"end\\\",function(e,t,n){var i=this;if(i.targets=n||[void 0],t){var s=t.headers.get(\\\"content-length\\\");null!==s\u0026\u0026(i.rxSize=s),r.emit(de+\\\"done\\\",[null,t],i)}else r.emit(de+\\\"done\\\",[e],i)}),r}var ve=i(7485);class ye{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||\\\"\\\").toString()||null,n=(t.agentID||\\\"\\\").toString()||null,i=(t.trustKey||\\\"\\\").toString()||null;if(!r||!n)return null;var s=(0,Y.ZF)(),o=(0,Y.el)(),a=Date.now(),c={spanId:s,traceId:o,timestamp:a};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,o),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,a,r,n,i)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(c.newrelicHeader=this.generateTraceHeader(s,o,a,r,n,i)),c}generateTraceContextParentHeader(e,t){return\\\"00-\\\"+t+\\\"-\\\"+e+\\\"-01\\\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\\\"@nr=0-1-\\\"+r+\\\"-\\\"+n+\\\"-\\\"+e+\\\"----\\\"+t}generateTraceHeader(e,t,r,n,i,s){if(!(\\\"function\\\"==typeof f.gm?.btoa))return null;var o={v:[0,1],d:{ty:\\\"Browser\\\",ac:n,ap:i,id:e,tr:t,ti:r}};return s\u0026\u0026n!==s\u0026\u0026(o.d.tk=s),btoa((0,D.A)(o))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,ve.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var be=i(9300),we=i(7295);function Re(e){return\\\"string\\\"==typeof e?e:e instanceof(0,T.dV)().o.REQ?e.url:f.gm?.URL\u0026\u0026e instanceof URL?e.href:void 0}var Ee=[\\\"load\\\",\\\"error\\\",\\\"abort\\\",\\\"timeout\\\"],Te=Ee.length,Ae=(0,T.dV)().o.REQ,xe=(0,T.dV)().o.XHR;const Se=\\\"X-NewRelic-App-Data\\\";class _e extends y{static featureName=be.T;constructor(e){super(e,be.T),this.dt=new ye(e),this.handler=(e,t,r,n)=\u003e(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\\\"xhr\\\",fetch:\\\"fetch\\\",beacon:\\\"beacon\\\"};f.gm?.performance?.getEntriesByType(\\\"resource\\\").forEach(r=\u003e{if(r.initiatorType in e\u0026\u00260!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};Oe(n,r.name),this.handler(\\\"xhr\\\",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}me(this.ee,e),ce(this.ee,e),function(e,r,n,i){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=T,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener(\\\"load\\\",function(r){x(t,e)},(0,N.jT)(!1)),f.lR||e.addEventListener(\\\"progress\\\",function(e){t.lastSize=e.loaded},(0,N.jT)(!1))}function c(e){this.params={method:e[0]},Oe(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\\\"X-NewRelic-ID\\\",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader\u0026\u0026(r.setRequestHeader(\\\"newrelic\\\",n.newrelicHeader),s=!0),n.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\\\"traceparent\\\",n.traceContextParentHeader),n.traceContextStateHeader\u0026\u0026r.setRequestHeader(\\\"tracestate\\\",n.traceContextStateHeader),s=!0),s\u0026\u0026(this.dt=n)}}function u(e,t){var n=this.metrics,i=e[0],s=this;if(n\u0026\u0026i){var a=re(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,o.t)(),this.body=i,this.listener=function(e){try{\\\"abort\\\"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),(\\\"load\\\"!==e.type||s.called===s.totalCbs\u0026\u0026(s.onloadCalled||\\\"function\\\"!=typeof t.onload)\u0026\u0026\\\"function\\\"==typeof s.end)\u0026\u0026s.end(t)}catch(e){try{r.emit(\\\"internal-error\\\",[e])}catch(e){}}};for(var c=0;c\u003cTe;c++)t.addEventListener(Ee[c],this.listener,(0,N.jT)(!1))}function l(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\\\"function\\\"==typeof r.onload||\\\"function\\\"!=typeof this.end||this.end(r)}function h(e,t){var r=\\\"\\\"+te(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=\\\"\\\"+te(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,o.t)()}function m(e,t){t instanceof xe\u0026\u0026\\\"load\\\"===e[0]\u0026\u0026r.emit(\\\"xhr-load-added\\\",[e[1],e[2]],t)}function v(e,t){t instanceof xe\u0026\u0026\\\"load\\\"===e[0]\u0026\u0026r.emit(\\\"xhr-load-removed\\\",[e[1],e[2]],t)}function y(e,t,r){t instanceof xe\u0026\u0026(\\\"onload\\\"===r\u0026\u0026(this.onload=!0),(\\\"load\\\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,o.t)()))}function b(e,t){this.xhrCbStart\u0026\u0026r.emit(\\\"xhr-cb-time\\\",[(0,o.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if(\\\"string\\\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026f.RI\u0026\u0026(t=\\\"\\\"+f.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:f.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\\\"function\\\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\\\"string\\\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,ve.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n\u0026\u0026(n.newrelicHeader||n.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)a(e[0].headers,n)\u0026\u0026(this.dt=n);else{var s={};for(var o in r)s[o]=r[o];s.headers=new Headers(r.headers||{}),a(s.headers,n)\u0026\u0026(this.dt=n),e.length\u003e1?e[1]=s:e.push(s)}}function a(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\\\"newrelic\\\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\\\"traceparent\\\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\\\"tracestate\\\",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,o.t)(),this.dt=t;let[r,n={}]=e;Oe(this,Re(r));const i=(\\\"\\\"+(r\u0026\u0026r instanceof Ae\u0026\u0026r.method||n.method||\\\"GET\\\")).toUpperCase();this.params.method=i,this.body=n.body,this.txSize=re(n.body)||0}function E(e,t){if(this.endTime=(0,o.t)(),this.params||(this.params={}),(0,we.iW)(this.params))return;let r;this.params.status=t?t.status:0,\\\"string\\\"==typeof this.rxSize\u0026\u0026this.rxSize.length\u003e0\u0026\u0026(r=+this.rxSize);const n={txSize:this.txSize,rxSize:r,duration:(0,o.t)()-this.startTime},i=[this.params,n,this.startTime,this.endTime,\\\"fetch\\\"];this.targets.forEach(e=\u003eA(i,this,e))}function T(e){const t=this.params,r=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t\u003cTe;t++)e.removeEventListener(Ee[t],this.listener,!1);if(t.aborted)return;if((0,we.iW)(t))return;r.duration=(0,o.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):x(this,e),r.cbTime=this.cbTime;const n=[t,r,this.startTime,this.endTime,\\\"xhr\\\"];this.targets.forEach(e=\u003eA(n,this,e))}function A(e,r,i){n(\\\"xhr\\\",[...e,i],r,t.K7.ajax)}function x(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return\\\"json\\\"===r\u0026\u0026null!==t?t:\\\"arraybuffer\\\"===r||\\\"blob\\\"===r||\\\"json\\\"===r?re(e.response):\\\"text\\\"===r||\\\"\\\"===r||void 0===r?re(e.responseText):void 0}(n,e.lastSize);if(i\u0026\u0026(e.metrics.rxSize=i),e.sameOrigin\u0026\u0026n.getAllResponseHeaders().indexOf(Se)\u003e=0){var o=n.getResponseHeader(Se);o\u0026\u0026((0,s.p)(O.rs,[\\\"Ajax/CrossApplicationTracing/Header/Seen\\\"],void 0,t.K7.metrics,r),e.params.cat=o.split(\\\", \\\").pop())}e.loadCaptureCalled=!0}r.on(\\\"new-xhr\\\",a),r.on(\\\"open-xhr-start\\\",c),r.on(\\\"open-xhr-end\\\",d),r.on(\\\"send-xhr-start\\\",u),r.on(\\\"xhr-cb-time\\\",l),r.on(\\\"xhr-load-added\\\",h),r.on(\\\"xhr-load-removed\\\",p),r.on(\\\"xhr-resolved\\\",g),r.on(\\\"addEventListener-end\\\",m),r.on(\\\"removeEventListener-end\\\",v),r.on(\\\"fn-end\\\",b),r.on(\\\"fetch-before-start\\\",w),r.on(\\\"fetch-start\\\",R),r.on(\\\"fn-start\\\",y),r.on(\\\"fetch-done\\\",E)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,3845)))}}function Oe(e,t){var r=(0,ve.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\\\":\\\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const Pe={},ke=[\\\"pushState\\\",\\\"replaceState\\\"];function Ne(e){const t=function(e){return(e||ie.ee).get(\\\"history\\\")}(e);return!f.RI||Pe[t.debugId]++||(Pe[t.debugId]=1,(0,se.YM)(t).inPlace(window.history,ke,\\\"-\\\")),t}var De=i(3738);function je(e){(0,c.Y)(a.BL,function(r=Date.now()){const n=r-f.WN;n\u003c0\u0026\u0026(0,h.R)(62,r),(0,s.p)(O.XG,[a.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:a.BL,start:r,origin:\\\"nr\\\"}),(0,s.p)(a.Pl+a.hG,[n,a.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:Ce,bD:Le,d3:Ie,Kp:Me,TZ:Be,Lc:He,uP:We,Rz:Ke}=De;class Fe extends y{static featureName=Be;constructor(e){var r;super(e,Be),r=e,(0,c.Y)(a.U2,function(e){if(!(e\u0026\u0026\\\"object\\\"==typeof e\u0026\u0026e.name\u0026\u0026e.start))return;const n={n:e.name,s:e.start-f.WN,e:(e.end||e.start)-f.WN,o:e.origin||\\\"\\\",t:\\\"api\\\"};n.s\u003c0||n.e\u003c0||n.e\u003cn.s?(0,h.R)(61,{start:n.s,end:n.e}):(0,s.p)(\\\"bstApi\\\",[n],void 0,t.K7.sessionTrace,r.ee)},r),je(e);if(!(0,g.V)(e.init))return void this.deregisterDrain();const n=this.ee;let d;Ne(n),this.eventsEE=(0,ne.u)(n),this.eventsEE.on(We,function(e,t){this.bstStart=(0,o.t)()}),this.eventsEE.on(He,function(e,r){(0,s.p)(\\\"bst\\\",[e[0],r,this.bstStart,(0,o.t)()],void 0,t.K7.sessionTrace,n)}),n.on(Ke+Ie,function(e){this.time=(0,o.t)(),this.startPath=location.pathname+location.hash}),n.on(Ke+Me,function(e){(0,s.p)(\\\"bstHist\\\",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,n)});try{d=new PerformanceObserver(e=\u003e{const r=e.getEntries();(0,s.p)(Ce,[r],void 0,t.K7.sessionTrace,n)}),d.observe({type:Le,buffered:!0})}catch(e){}this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,6974)),{resourceObserver:d})}}var Ue=i(6344);class Ve extends y{static featureName=Ue.TZ;#n;recorder;constructor(e){var r;let n;super(e,Ue.TZ),r=e,(0,c.Y)(a.CH,function(){(0,s.p)(a.CH,[],void 0,t.K7.sessionReplay,r.ee)},r),function(e){(0,c.Y)(a.Tb,function(){(0,s.p)(a.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);try{n=JSON.parse(localStorage.getItem(\\\"\\\".concat(w.H3,\\\"_\\\").concat(w.uh)))}catch(e){}(0,p.SR)(e.init)\u0026\u0026this.ee.on(a.CH,()=\u003ethis.#i()),this.#s(n)\u0026\u0026this.importRecorder().then(e=\u003e{e.startRecording(Ue.Qb.PRELOAD,n?.sessionReplayMode)}),this.importAggregator(this.agentRef,()=\u003ei.e(478).then(i.bind(i,6167)),this),this.ee.on(\\\"err\\\",e=\u003e{this.blocked||this.agentRef.runtime.isRecording\u0026\u0026(this.errorNoticed=!0,(0,s.p)(Ue.Vh,[e],void 0,this.featureName,this.ee))})}#s(e){return e\u0026\u0026(e.sessionReplayMode===w.g.FULL||e.sessionReplayMode===w.g.ERROR)||(0,p.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#n??=Promise.all([i.e(478),i.e(249)]).then(i.bind(i,4866)).then(({Recorder:e})=\u003e(this.recorder=new e(this),this.recorder)).catch(e=\u003e{throw this.ee.emit(\\\"internal-error\\\",[e]),this.blocked=!0,e}),this.#n)}#i(){this.blocked||(this.featAggregate?this.featAggregate.mode!==w.g.FULL\u0026\u0026this.featAggregate.initializeRecording(w.g.FULL,!0,Ue.Qb.API):this.importRecorder().then(()=\u003e{this.recorder.startRecording(Ue.Qb.API,w.g.FULL)}))}}var Ge=i(3962);class ze extends y{static featureName=Ge.TZ;constructor(e){if(super(e,Ge.TZ),function(e){const r=e.ee.get(\\\"tracer\\\");function n(){}(0,c.Y)(a.dT,function(e){return(new n).get(\\\"object\\\"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var a={},c=this,d=\\\"function\\\"==typeof i;return(0,s.p)(O.xV,[\\\"API/createTracer/called\\\"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((d?\\\"\\\":\\\"no-\\\")+\\\"fn-start\\\",[(0,o.t)(),c,d],a),d)try{return i.apply(this,arguments)}catch(e){const t=\\\"string\\\"==typeof e?new Error(e):e;throw r.emit(\\\"fn-err\\\",[arguments,this,t],a),t}finally{r.emit(\\\"fn-end\\\",[(0,o.t)()],a)}}}};[\\\"actionText\\\",\\\"setName\\\",\\\"setAttribute\\\",\\\"save\\\",\\\"ignore\\\",\\\"onEnd\\\",\\\"getContext\\\",\\\"end\\\",\\\"get\\\"].forEach(r=\u003e{c.Y.apply(this,[r,function(){return(0,s.p)(a.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,c.Y)(a.PA,function(){(0,s.p)(a.hw+\\\"routeName\\\",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!f.RI||!(0,T.dV)().o.MO)return;const r=Ne(this.ee);try{this.removeOnAbort=new AbortController}catch(e){}Ge.tC.forEach(e=\u003e{(0,N.sp)(e,e=\u003e{l(e)},!0,this.removeOnAbort?.signal)});const n=()=\u003e(0,s.p)(\\\"newURL\\\",[(0,o.t)(),\\\"\\\"+window.location],void 0,this.featureName,this.ee);r.on(\\\"pushState-end\\\",n),r.on(\\\"replaceState-end\\\",n),(0,N.sp)(Ge.OV,e=\u003e{l(e),(0,s.p)(\\\"newURL\\\",[e.timeStamp,\\\"\\\"+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let d=!1;const u=new((0,T.dV)().o.MO)((e,t)=\u003e{d||(d=!0,requestAnimationFrame(()=\u003e{(0,s.p)(\\\"newDom\\\",[(0,o.t)()],void 0,this.featureName,this.ee),d=!1}))}),l=(0,m.s)(e=\u003e{\\\"loading\\\"!==document.readyState\u0026\u0026((0,s.p)(\\\"newUIEvent\\\",[e],void 0,this.featureName,this.ee),u.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),u.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,4393)),{domObserver:u})}}var Ye=i(3333),Ze=i(9119);const qe={},Xe=new Set;function $e(e){return\\\"string\\\"==typeof e?{type:\\\"string\\\",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:\\\"ArrayBuffer\\\",size:e.byteLength}:e instanceof Blob?{type:\\\"Blob\\\",size:e.size}:e instanceof DataView?{type:\\\"DataView\\\",size:e.byteLength}:ArrayBuffer.isView(e)?{type:\\\"TypedArray\\\",size:e.byteLength}:{type:\\\"unknown\\\",size:0}}class Qe{constructor(e,t){this.timestamp=(0,o.t)(),this.currentUrl=(0,Ze.L)(window.location.href),this.socketId=(0,Y.LA)(8),this.requestedUrl=(0,Ze.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(\\\",\\\"):t||\\\"\\\",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason=\\\"unknown\\\",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class Je extends y{static featureName=Ye.TZ;constructor(e){super(e,Ye.TZ);const r=e.init.feature_flags.includes(\\\"websockets\\\"),n=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,r];var d;let u,l;if(d=e,(0,c.Y)(a.hG,(e,t)=\u003eU(e,t,d),d),function(e){(0,c.Y)(a.fF,(t,r)=\u003eG(t,r,e),e)}(e),je(e),q(e),function(e){(0,c.Y)(a.V1,(t,r)=\u003eV(t,r,e),e)}(e),r\u0026\u0026(l=function(e){if(!(0,T.dV)().o.WS)return e;const t=e.get(\\\"websockets\\\");if(qe[t.debugId]++)return t;qe[t.debugId]=1,(0,x.G)(()=\u003e{const e=(0,o.t)();Xe.forEach(r=\u003e{r.nrData.closedAt=e,r.nrData.closeCode=1001,r.nrData.closeReason=\\\"Page navigating away\\\",r.nrData.closeWasClean=!1,r.nrData.openedAt\u0026\u0026(r.nrData.connectedDuration=e-r.nrData.openedAt),t.emit(\\\"ws\\\",[r.nrData],r)})});class r extends WebSocket{static name=\\\"WebSocket\\\";static toString(){return\\\"function WebSocket() { [native code] }\\\"}toString(){return\\\"[object WebSocket]\\\"}get[Symbol.toStringTag](){return r.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Qe(e[0],e[1]),this.addEventListener(\\\"open\\\",()=\u003e{this.nrData.openedAt=(0,o.t)(),[\\\"protocol\\\",\\\"extensions\\\",\\\"binaryType\\\"].forEach(e=\u003e{this.nrData[e]=this[e]}),Xe.add(this)}),this.addEventListener(\\\"message\\\",e=\u003e{const{type:t,size:r}=$e(e.data);this.nrData.messageOrigin??=(0,Ze.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??\\\"\\\").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?\\\"\\\".concat(this.nrData.messageTypes,\\\",\\\").concat(t):t)}),this.addEventListener(\\\"close\\\",e=\u003e{this.nrData.closedAt=(0,o.t)(),this.nrData.closeCode=e.code,e.reason\u0026\u0026(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,Xe.delete(this),t.emit(\\\"ws\\\",[this.nrData],this)})}addEventListener(e,t,...r){const n=this,i=\\\"function\\\"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=$e(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??\\\"\\\").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?\\\"\\\".concat(this.nrData.sendTypes,\\\",\\\").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return f.gm.WebSocket=r,t}(this.ee)),f.RI){if(me(this.ee,e),ce(this.ee,e),u=Ne(this.ee),e.init.user_actions.enabled){function h(t){const r=(0,ve.D)(t);return e.beacons.includes(r.hostname+\\\":\\\"+r.port)}function p(){u.emit(\\\"navChange\\\")}Ye.Zp.forEach(e=\u003e(0,N.sp)(e,e=\u003e(0,s.p)(\\\"ua\\\",[e],void 0,this.featureName,this.ee),!0)),Ye.qN.forEach(e=\u003e{const t=(0,m.s)(e=\u003e{(0,s.p)(\\\"ua\\\",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,N.sp)(e,t)}),f.gm.addEventListener(\\\"error\\\",()=\u003e{(0,s.p)(\\\"uaErr\\\",[],void 0,t.K7.genericEvents,this.ee)},(0,N.jT)(!1,this.removeOnAbort?.signal)),this.ee.on(\\\"open-xhr-start\\\",(e,r)=\u003e{h(e[1])||r.addEventListener(\\\"readystatechange\\\",()=\u003e{2===r.readyState\u0026\u0026(0,s.p)(\\\"uaXhr\\\",[],void 0,t.K7.genericEvents,this.ee)})}),this.ee.on(\\\"fetch-start\\\",e=\u003e{e.length\u003e=1\u0026\u0026!h(Re(e[0]))\u0026\u0026(0,s.p)(\\\"uaXhr\\\",[],void 0,t.K7.genericEvents,this.ee)}),u.on(\\\"pushState-end\\\",p),u.on(\\\"replaceState-end\\\",p),window.addEventListener(\\\"hashchange\\\",p,(0,N.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\\\"popstate\\\",p,(0,N.jT)(!0,this.removeOnAbort?.signal))}if(e.init.performance.resources.enabled\u0026\u0026f.gm.PerformanceObserver?.supportedEntryTypes.includes(\\\"resource\\\")){new PerformanceObserver(e=\u003e{e.getEntries().forEach(e=\u003e{(0,s.p)(\\\"browserPerformance.resource\\\",[e],void 0,this.featureName,this.ee)})}).observe({type:\\\"resource\\\",buffered:!0})}}r\u0026\u0026l.on(\\\"ws\\\",e=\u003e{(0,s.p)(\\\"ws-complete\\\",[e],void 0,this.featureName,this.ee)});try{this.removeOnAbort=new AbortController}catch(g){}this.abortHandler=()=\u003e{this.removeOnAbort?.abort(),this.abortHandler=void 0},n.some(e=\u003ee)?this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,8019))):this.deregisterDrain()}}var et=i(2646);const tt=new Map;function rt(e,t,r,n,i=!0,s){if(\\\"object\\\"!=typeof t||!t||\\\"string\\\"!=typeof r||!r||\\\"function\\\"!=typeof t[r])return(0,h.R)(29);const o=function(e){return(e||ie.ee).get(\\\"logger\\\")}(e),a=(0,se.YM)(o,void 0,s),c=new et.y(ie.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[se.Jt]||t[r];return tt.set(d,c),a.inPlace(t,[r],\\\"wrap-logger-\\\",()=\u003ett.get(d),void 0,!0),o}var nt=i(1910);class it extends y{static featureName=W.TZ;constructor(e){var t;super(e,W.TZ),t=e,(0,c.Y)(a.$9,(e,r)=\u003eF(e,r,t),t),function(e){(0,c.Y)(a.Wb,(t,r,{customAttributes:n={},level:i=W.p_.INFO}={})=\u003e{rt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),q(e);const r=this.ee;[\\\"log\\\",\\\"error\\\",\\\"warn\\\",\\\"info\\\",\\\"debug\\\",\\\"trace\\\"].forEach(t=\u003e{(0,nt.i)(f.gm.console[t]),rt(r,f.gm.console,t,{level:\\\"log\\\"===t?\\\"info\\\":t},void 0,e)}),this.ee.on(\\\"wrap-logger-end\\\",function([e],t,n,i=[]){const{level:s,customAttributes:o,autoCaptured:a}=this;i.forEach(t=\u003e{(0,K.R)(r,e,o,s,a,t)})}),this.importAggregator(e,()=\u003ei.e(478).then(i.bind(i,5288)))}}new A({features:[_e,E,_,Fe,Ve,P,Q,Je,it,ze],loaderType:\\\"spa\\\"})})()})();\\n\",\"google\",\"testAutomationFlags\",{\"_546\":18,\"_547\":18,\"_548\":18,\"_549\":18,\"_550\":18,\"_551\":18,\"_552\":18,\"_553\":18,\"_554\":18,\"_21\":18,\"_555\":18,\"_556\":185,\"_557\":185,\"_558\":18},\"disableAds\",\"disableIirisAuth\",\"disableWelcomeAd\",\"disableBigskyAd\",\"disableIirisRecommend\",\"disableDcts\",\"disableWeatherWidget\",\"disableCashGrainWidget\",\"disableCommoditiesWidget\",\"disableCookieBanner\",\"overrideBrandStyling\",\"overrideThemeStyling\",\"extendedBreakpointsEnabled\",\"configState\",{\"_57\":58,\"_55\":56,\"_561\":562,\"_571\":8,\"_13\":14,\"_572\":185,\"_573\":-7,\"_574\":-7,\"_471\":575,\"_580\":581,\"_583\":584,\"_588\":589,\"_594\":-7,\"_595\":596,\"_630\":631,\"_644\":-7},\"oneInforma\",{\"_563\":564,\"_565\":566,\"_567\":568,\"_569\":570},\"primaryColorPalette\",\"mint\",\"secondaryColorPalette\",\"saffronxindigo\",\"endorsementLevel\",\"full-endorsement\",\"personality\",\"soft\",\"uiBrand\",\"optimizelyUrl\",\"colors\",\"isMarketsDivision\",{\"_7\":576,\"_577\":578,\"_579\":185},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltba62518415cda0e2/652fe6ddbc479f8697ef691f/default-cubic.png\",\"contributor\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd407cb100c7b5f81/650f1838250230f99e1ddc78/Game_Developer_G_Logo_RGB.jpg\",\"openGraphImage\",\"media\",{\"_582\":185},\"brightcoveAccountId\",\"newsletterSignupPromo\",{\"_585\":586,\"_587\":-7},\"unbounceURL\",\"https://gd-resources.gamedeveloper.com/free/w_gamf01/prgm.cgi\",\"elnConfig\",\"newsletterCta\",{\"_590\":591,\"_592\":593},\"newsletterTitle\",\"Newsletter Sign-Up\",\"newsletterUrl\",\"https://gd-resources.gamedeveloper.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_gamf01\u0026ch=gdwebbutton\",\"nextgen\",\"iirisRecommendation\",{\"_92\":597,\"_598\":18,\"_599\":18,\"_600\":18,\"_7\":-7,\"_601\":602,\"_603\":-7,\"_604\":204,\"_605\":606,\"_607\":608,\"_609\":610,\"_611\":612,\"_613\":614,\"_124\":615,\"_616\":18,\"_617\":618,\"_619\":620,\"_193\":-7,\"_621\":622,\"_623\":624,\"_625\":626},\"combined\",\"disabled\",\"disableSidebar\",\"disableArticleFooter\",\"brandFamily\",\"entertainment\",\"by\",\"count\",\"division\",\"it\",\"itemAge\",12,\"recipe\",\"related-items\",\"redirectMode\",\"_blank\",\"sponsoredCount\",0,\"You May Also Like\",\"showSponsored\",\"sponsoredTag\",\"Sponsored Content\",\"sponsoredTitle\",\"Sponsored\",\"articleFooter\",{\"_604\":204,\"_609\":610,\"_607\":608,\"_613\":614,\"_193\":-7},\"sidebar\",{\"_604\":204,\"_609\":610,\"_607\":608,\"_613\":614,\"_193\":-7},\"authorPrefix\",{\"_627\":603,\"_628\":629},\"content\",\"sponsored\",\"Brought to you by\",\"connectMeConfig\",{\"_632\":633,\"_634\":28,\"_635\":28,\"_636\":637,\"_638\":639,\"_640\":641,\"_642\":643},\"eventId\",\"9E89FC22DE131DDBF1AD6DFEDC03EB48\",\"externalConsent\",\"expressAccess\",\"expressType\",\"stage\",\"sandboxBaseUrl\",\"https://sandbox.connectmeinforma.com\",\"fallbackUrl\",\"https://webinar.connectmeinforma.com\",\"seamlessRegistrationEndpoint\",\"/{event_id}/agenda/viewer/{session_id}\",\"excludedPaidProductIdsForConsent\",\"brandConfig\",{\"_647\":68,\"_25\":648,\"_651\":652,\"_777\":778,\"_782\":783,\"_630\":785,\"_786\":787,\"_13\":14,\"_794\":14,\"_795\":10,\"_796\":797,\"_798\":799,\"_582\":185,\"_807\":808,\"_816\":817,\"_53\":820,\"_821\":822,\"_827\":828,\"_517\":540,\"_595\":832,\"_860\":861,\"_864\":865},\"irisEnvironment\",{\"_649\":52,\"_52\":650},\"active\",{\"_27\":28,\"_29\":28,\"_30\":31},\"ads\",{\"_653\":28,\"_654\":18,\"_655\":656,\"_657\":658,\"_661\":662,\"_663\":664,\"_665\":666,\"_775\":18,\"_776\":28},\"autoSelectPos\",\"destroyEmpty\",\"throttling\",120,\"loadingConfig\",{\"_659\":660},\"base\",300,\"networkId\",3834,\"parentAdUnit\",\"gamasutra.home\",\"enabledAds\",[667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774],\"728_1v\",\"728_2v\",\"728_3v\",\"728_4v\",\"728_5v\",\"728_6v\",\"728_7v\",\"728_8v\",\"728_9v\",\"728_10v\",\"728_11v\",\"slide_728_1v\",\"300_1v\",\"300_2v\",\"300_3v\",\"300_4v\",\"300_5v\",\"300_6v\",\"300_7v\",\"300_8v\",\"300_9v\",\"300_10v\",\"300_1v_microlist\",\"slide_300_1v\",\"300_1v_article\",\"300_2v_article\",\"300_3v_article\",\"native_featured_1v\",\"native_latestleft_1v\",\"native_latestleft_2v\",\"native_latestleft_3v\",\"native_latestleft_4v\",\"native_latestleft_5v\",\"native_latestleft_6v\",\"native_latestleft_7v\",\"native_latestleft_8v\",\"native_latestleft_9v\",\"native_latestleft_10v\",\"native_latestright_1v\",\"native_latestright_2v\",\"native_latestright_3v\",\"native_latestright_4v\",\"native_latestright_5v\",\"native_latestright_6v\",\"native_latestright_7v\",\"native_latestright_8v\",\"native_latestright_9v\",\"native_latestright_10v\",\"native_related_1v\",\"native_related_2v\",\"native_related_3v\",\"native_related_4v\",\"native_related_5v\",\"native_related_6v\",\"native_related_7v\",\"native_related_8v\",\"native_related_9v\",\"native_related_10v\",\"native_1v\",\"native_2v\",\"native_right_1v\",\"native_right_2v\",\"native_right_3v\",\"native_right_4v\",\"native_right_5v\",\"native_right_6v\",\"native_right_7v\",\"native_right_8v\",\"native_right_9v\",\"native_right_10v\",\"native_vertical_1v\",\"native_vertical_2v\",\"native_vertical_3v\",\"native_vertical_4v\",\"native_vertical_5v\",\"native_vertical_6v\",\"native_vertical_7v\",\"native_vertical_8v\",\"native_vertical_9v\",\"native_vertical_10v\",\"native_grid_1v\",\"native_grid_2v\",\"native_grid_3v\",\"native_grid_4v\",\"native_topic_1v\",\"native_topic_2v\",\"native_topic_3v\",\"native_topicright_1v\",\"native_topicright_2v\",\"native_topicright_3v\",\"resource_v\",\"bigsky_v\",\"floor_v\",\"adhesion_v\",\"wallpaper_v\",\"video_v\",\"oop_v\",\"sponsoredlogo_weather_1v\",\"sponsoredlogo_commodities_1v\",\"logo_1v\",\"reveal_1v\",\"slide_interstitial_1v\",\"slide_interstitial_2v\",\"slide_interstitial_3v\",\"slide_interstitial_4v\",\"slide_interstitial_5v\",\"chatbox_1v\",\"welcome_v\",\"checkClientIP\",\"welcAdOff\",\"iirisAudienceProfileConfig\",{\"_68\":779},{\"_780\":18,\"_63\":781},\"useLegacyIrisEndpoint\",\"/v3/audience/registration/{profileId}/{configId}\",\"iirisBaseUrl\",{\"_68\":784},\"https://api.iiris.com\",{\"_68\":631},\"newRelicEnvConfiguration\",{\"_788\":789,\"_790\":791,\"_792\":793},\"accountId\",\"TSS-SCM_Prod-1D8HF23EQFV80\",\"apiKey\",\"eu01xx8a36195d1e12f7ee86fdb984a6FFFFNRAL\",\"newrelicEndpoint\",\"https://insights-collector.eu01.nr-data.net\",\"siteFullName\",\"siteUrl\",\"authentication\",{},\"unbounce\",{\"_800\":801,\"_802\":803,\"_804\":805,\"_68\":806},\"local\",{\"_63\":586},\"preview\",{\"_63\":586},\"staging\",{\"_63\":586},{\"_63\":586},\"oneTrust\",{\"_800\":809,\"_802\":812,\"_804\":813,\"_68\":815},{\"_810\":811},\"siteId\",\"8aaa0413-1bf0-4c5f-b2b7-20f59225831b-test\",{\"_810\":185},{\"_810\":814},\"8aaa0413-1bf0-4c5f-b2b7-20f59225831b\",{\"_810\":814},\"gtmIds\",{\"_59\":818,\"_65\":819},\"GTM-5523ZCM\",\"GTM-KSPX23J\",{\"_7\":8,\"_55\":56,\"_57\":58},\"socialUrls\",[823,824,826],{\"_97\":104,\"_63\":105},{\"_97\":107,\"_63\":825},\"https://www.facebook.com/GameDeveloperOfficial/\",{\"_97\":101,\"_63\":102},\"newsletterSignupPromoContent\",{\"_124\":829,\"_830\":831},\"Newsletter sign up title\",\"message\",\"Newsletter sign up message\",{\"_833\":834,\"_605\":606,\"_601\":602,\"_835\":836,\"_837\":838,\"_839\":840,\"_841\":185,\"_842\":843,\"_844\":845,\"_846\":847,\"_848\":849,\"_850\":851,\"_852\":208,\"_853\":185,\"_854\":855,\"_856\":851,\"_857\":836,\"_858\":840,\"_611\":859,\"_609\":610},\"id\",\"widget-1697807002233\",\"entityTagBackground\",\"#000000\",\"dateFormat\",\"Mmm DD, YYYY\",\"showBy\",\"yes\",\"showTime\",\"borderRadius\",\"0\",\"imageWidth\",\"324\",\"imageHeight\",\"182\",\"dateTimeBgcolor\",\"#ff0000\",\"dateTimeFontColor\",\"#ffffff\",\"imagePosition\",\"dropShadow\",\"dateTimeFontsize\",\"12\",\"entityTagBorderColor\",\"borderColor\",\"showdate\",\"new\",\"newrelic\",{\"_862\":863},\"guid\",\"MzkzNjM0OHxCUk9XU0VSfEFQUExJQ0FUSU9OfDUzODYwMDIwNQ\",\"transactionTrackerEnvConfig\",{\"_866\":867,\"_868\":33},\"newsletterTrackingEnabled\",\"true\",\"siteRegistrationTrackingEnabled\",\"releaseVersion\",\"2.58.2\",\"ruid\",\"vmjp0dc655\",\"routes/$topic._index\",{\"_875\":876,\"_881\":882,\"_918\":919,\"_929\":-5,\"_97\":930,\"_931\":932,\"_871\":933},\"metadata\",{\"_877\":878,\"_879\":880},\"uid\",\"blte276c7ff469d3bb2\",\"aid\",\"219336\",\"template\",{\"_124\":883,\"_179\":883,\"_884\":885,\"_917\":185},\"Game Career Guide Update\",\"bodyJson\",[886,897,915],{\"_97\":887,\"_888\":889,\"_627\":893},\"heading\",\"attrs\",{\"_890\":891,\"_892\":262},\"textAlign\",\"left\",\"level\",[894],{\"_97\":895,\"_895\":896},\"text\",\"Looking for a legacy Game Career Guide article or interview?\",{\"_97\":898,\"_888\":899,\"_627\":900},\"paragraph\",{\"_890\":891},[901,903,913],{\"_97\":895,\"_895\":902},\"Hello! Unfortunately, URLs for Game Career Guide are no longer functional. However in most cases the content itself is still live within the Game Developer website and can be found via Google or Site Search. Many Game Career Guide articles or similar resources can be found on Game Developer via our \",{\"_97\":895,\"_904\":905,\"_895\":912},\"marks\",[906],{\"_97\":199,\"_888\":907},{\"_5\":908,\"_909\":612,\"_910\":-5,\"_911\":-5},\"https://www.gamedeveloper.com/search?q=Search\",\"target\",\"rel\",\"class\",\"Search function\",{\"_97\":895,\"_895\":914},\" and filtering results by Topic along the left side of the page. \",{\"_97\":898,\"_888\":916},{\"_890\":891},\"summary\",\"seo\",{\"_920\":6,\"_921\":922,\"_923\":924,\"_925\":18,\"_926\":927,\"_13\":14,\"_928\":-7},\"canonicalUrl\",\"metaDescription\",\"Many Game Career Guide articles or similar resources can be found on Game Developer via our Search function and filtering results by Topic.\",\"metaTitle\",\"Game Career Guide | GCG\",\"noIndex\",\"imageUrl\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltba62518415cda0e2/652fe6ddbc479f8697ef691f/default-cubic.png?disable=upscale\u0026width=1200\u0026height=630\u0026fit=crop\",\"mediaLinks\",\"schema\",\"basic-page\",\"pageName\",\"basic\",\"tkkeyou35jl\",\"actionData\",\"errors\"]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>