CINXE.COM

Shrek 2 Review - GameSpot

<!doctype html> <html lang="en" class="no-js no-touch "> <head><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1588750653",accountID:"3680512",trustKey:"3680512",xpid:"VwAPUVNSChABUVBUBAMFV10H",licenseKey:"NRJS-433baf257505ff5076b",applicationID:"1516322196"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={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)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={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},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!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},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,level:i.p_.INFO},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:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$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:a.wk,inactiveMs:a.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){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.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){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.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,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(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],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).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,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.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])=>{s[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()[s[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 a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},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,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},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 o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){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?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},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{}}}},944:(e,t,r)=>{"use strict";function n(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)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},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}},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})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});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 o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,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}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{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)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.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(d+"-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,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),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){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={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},u={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"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={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",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.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.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},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 o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(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)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(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);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(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,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}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,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(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 d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.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,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(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 y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.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 ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <title>Shrek 2 Review - GameSpot</title> <meta name="description" content="Shrek 2 is a team-oriented action game that&#039;s primarily geared toward younger players."> <meta name="robots" content="max-image-preview:large"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="application-name" content="GameSpot"/> <meta name="msapplication-TileColor" content="#26292B"/> <meta name="msapplication-TileImage" content="https://www.gamespot.com/a/bundles/gamespotsite/images/win8pin.png"/> <meta name="userAuthState" content="noUser"/> <meta id="cdnHost" itemprop="cdnHost" content="www.gamespot.com/a"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@GameSpot"> <meta name="twitter:creator" content="@GameSpot"> <meta property="og:image" content="https://www.gamespot.com/a/uploads/screen_kubrick/469/4693985/2305502-default-art--kubrick.jpg"/> <meta property="og:title" content="Shrek 2 Review"/> <meta property="og:description" content="Shrek 2 is a team-oriented action game that&#039;s primarily geared toward younger players."/> <meta property="og:site_name" content="GameSpot"/> <meta property="og:type" content="article"/> <meta property="og:url" content="https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/"/> <link rel="canonical" href="https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/" /> <meta name="modal-cdn-url" content="/js/modals.json"> <meta name='js-sort-filter-text' content='yes'> <meta id='js-video-header-bidding-meta' content=1> <script> window.sitePageVars = { "featureFlags": null, "tracking": { "enabled": true }, "trackingSettings": { "comscore": { "c1": "2", "c2": "31824268", "cs_ucfr": "1" }, "google_tag_manager": { "content_id": "gs-1900-6099879", "env": "prod", "data": { "brand": "GameSpot", "siteType": "responsive web", "siteSection": "reviews", "siteHier": "Reviews|Game Review", "pageType": "review", "articleId": "gs-1900-6099879", "articleType": "review", "articleTitle": "Shrek 2 Review", "articleSource": "CBSi", "articleAuthorId": [ "gs-2100-111" ], "topicName": [ "Reviews", "Game Review" ], "productId": "gs-5000-18338", "productName": "Shrek 2|shrek", "productGenre": [ "2D", "Action", "Platformer" ], "productPlatform": [ "Game Boy Advance" ], "verticalName": "ent" } }, "tealium": null, "trackonomics": 1 } }; </script> <script> (function (contextPageVars) { const { sitePageVars = {} } = window; Object.keys(contextPageVars).forEach((key) => { sitePageVars[key] = Object.assign(sitePageVars[key] || {}, contextPageVars[key]); }); window.sitePageVars = sitePageVars; })({ "user": { "deviceType": "desktop", "userRegion": "as", "userId": "0", "userState": "not authenticated", "userType": "anon", "testName": "", "testGroup": "", "testVersion": "", "abTestLabel": "not in test", "dartAbTestLabel": "", "thisIp": "8.222.208.146", "theme": "gamespot_white" } }); window.utag_data = Object.assign(window.utag_data || {}, { "deviceType": "desktop", "siteEdition": "as", "userId": "0", "userState": "not authenticated", "userType": "anon", "testName": "", "testGroup": "", "testVersion": "", "theme": "gamespot_white", "_test": "not in test" }); </script> <meta id="view-guid-meta" name="view-guid-meta" content=""> <meta class="ad-settings" content="" id="ad-settings" name="ad-settings" data-settings="{&quot;service&quot;:&quot;dart&quot;,&quot;enable_guilt&quot;:true,&quot;unit_name&quot;:&quot;\/5441\/aw-gamespot\/gamespace&quot;,&quot;target_params&quot;:{&quot;ptype&quot;:&quot;review&quot;,&quot;cid&quot;:&quot;gs-1900-6099879&quot;,&quot;game&quot;:&quot;shrek-2&quot;,&quot;rating&quot;:&quot;ESRB: E&quot;,&quot;genre&quot;:&quot;2d,action,platformer&quot;,&quot;con&quot;:&quot;game-boy-advance&quot;,&quot;franchise&quot;:&quot;shrek&quot;,&quot;publisher&quot;:&quot;activision,d3publisher,microsoft-game-studios,eurofun&quot;,&quot;rdate&quot;:&quot;bp52&quot;,&quot;score&quot;:64,&quot;user&quot;:&quot;anon&quot;},&quot;mapped_units&quot;:{&quot;nav-ad-plus-leader&quot;:{&quot;size&quot;:[[728,90],[970,66],[5,5]],&quot;target&quot;:{&quot;pos&quot;:&quot;nav&quot;}},&quot;skybox-nav&quot;:{&quot;size&quot;:[[5,5]],&quot;target&quot;:{&quot;pos&quot;:&quot;nav&quot;}},&quot;interstitial&quot;:{&quot;outOfPage&quot;:true},&quot;leader_top&quot;:{&quot;size&quot;:[[970,66],[728,90]],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;}},&quot;incontent-ad&quot;:{&quot;size&quot;:[&quot;fluid&quot;,[5,5],[11,11],[970,60],[728,90]],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;,&quot;strnativekey&quot;:&quot;wht2J3jeQyvCupX61JvMZoej&quot;}},&quot;native-top&quot;:{&quot;size&quot;:[[11,11],&quot;fluid&quot;],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;,&quot;strnativekey&quot;:&quot;wht2J3jeQyvCupX61JvMZoej&quot;}},&quot;mpu_top&quot;:{&quot;size&quot;:[[300,250]],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;}},&quot;mpu_bottom&quot;:{&quot;size&quot;:[[300,250]],&quot;target&quot;:{&quot;pos&quot;:&quot;bottom&quot;}},&quot;leader_bottom&quot;:{&quot;size&quot;:[[728,90],[970,66]],&quot;target&quot;:{&quot;pos&quot;:&quot;bottom&quot;}},&quot;leader_plus_top&quot;:{&quot;size&quot;:[[970,66],[728,90],[970,90],[970,250]],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;}}},&quot;region&quot;:&quot;as&quot;}"> <meta name="adtags" content="ptype=review&cid=gs-1900-6099879&game=shrek-2&rating=ESRB%3A%20E&genre=2d%2Caction%2Cplatformer&con=game-boy-advance&franchise=shrek&publisher=activision%2Cd3publisher%2Cmicrosoft-game-studios%2Ceurofun&rdate=bp52&score=64&user=anon&verticalName=ent"> <meta content="Shrek 2 is a team-oriented action game that&#039;s primarily geared toward younger players."/><meta name="guid" content="1900-6099879" /> <meta id="js-loading-html" name="js-loading-html" content="&lt;div class=&quot;js-loader loader&quot;&gt;&lt;div class=&quot;loader-animation&quot;&gt;&lt;div class=&quot;loading&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;"> <link rel="shortcut icon" href="https://www.gamespot.com/a/bundles/gamespotsite/images/favicon.ico" /> <link rel="apple-touch-icon" href="https://www.gamespot.com/a/bundles/gamespotsite/images/touch-icon-iphone-precomposed.png"> <link rel="apple-touch-icon" sizes="76x76" href="https://www.gamespot.com/a/bundles/gamespotsite/images/touch-icon-ipad.png"> <link rel="apple-touch-icon" sizes="120x120" href="https://www.gamespot.com/a/bundles/gamespotsite/images/touch-icon-iphone-retina-precomposed.png"> <link rel="apple-touch-icon" sizes="152x152" href="https://www.gamespot.com/a/bundles/gamespotsite/images/touch-icon-ipad-retina-precomposed.png"> <style>@font-face { font-display: optional; font-family: Source Sans Pro; font-style: normal; font-weight: 300; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-300.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: normal; font-weight: 400; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-regular.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: normal; font-weight: 600; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-600.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: normal; font-weight: 700; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-700.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: normal; font-weight: 900; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-900.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: italic; font-weight: 600; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-600italic.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: italic; font-weight: 700; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-700italic.woff2') format('woff2'); }@font-face { font-display: optional; font-family: Source Sans Pro; font-style: italic; font-weight: 900; src: url('https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-900italic.woff2') format('woff2'); }</style><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-300.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-regular.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-600.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-700.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-900.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-600italic.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-700italic.woff2" rel="preload" type="font/woff2"><link as="font" crossorigin href="https://www.gamespot.com/a/bundles/phoenixsite/fonts/source-sans-pro-v14-latin-ext_latin/source-sans-pro-v14-latin-ext_latin-900italic.woff2" rel="preload" type="font/woff2"> <meta id="richTextEditorTheme" itemprop="richTextEditorTheme" content="white" data-themes="{&quot;white&quot;:&quot;https:\/\/www.gamespot.com\/a\/v8352549e178165054d956b9b3971e977\/bundles\/gamespotsite\/css\/wysiwyg_white.css&quot;,&quot;black&quot;:&quot;https:\/\/www.gamespot.com\/a\/v8352549e178165054d956b9b3971e977\/bundles\/gamespotsite\/css\/wysiwyg_black.css&quot;}"> <!--[if !IE]> --><link id="skin-color" rel="stylesheet" href="https://www.gamespot.com/a/v8352549e178165054d956b9b3971e977/bundles/gamespotsite/css/gamespot_white.css"><!-- <![endif]--><!--[if IE]><link id="skin-color-0" rel="stylesheet" href="https://www.gamespot.com/a/v8352549e178165054d956b9b3971e977/bundles/gamespotsite/css/gamespot_white_split1.css"><link id="skin-color-1" rel="stylesheet" href="https://www.gamespot.com/a/v8352549e178165054d956b9b3971e977/bundles/gamespotsite/css/gamespot_white_split2.css"><![endif]--> <!-- Last Minute --> <style> /* Added By: Patrick G Description: Make sure all images are showing Ticket: https://fandom.atlassian.net/browse/PP1-918 Url: Any image gallery */ .image-gallery__list-image { display: block; } .image-gallery__image-placeholder { height: auto; } /* Added By: Patrick G Description: Video thumbnail is not aligned */ .jw-video-thumbnail-generated { display: none; } </style> <script>(()=>{class e{constructor(e,s){this.container=e,this.queue=[],this.logger=s}install(){this.log("installing consent queue");const e=this;return this.container.consentCallbackQueue=this,this.container.consentCallback=(s,t,n)=>e.push(s,t,n),this}push(e,s,t){this.log("dialog not resolved, enqueued:",e),this.queue.push({name:e,callback:s,category:t})}log(...e){this.logger("CMP Queue:",...e)}}new e(window,((...e)=>console.log(e))).install()})();</script> <script id="onetrust-lib" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" async data-domain-script="73588546-b116-4dbc-ab64-9db97e11fc0d"></script> <script> (function () { "use strict"; /** * Include a script in the head of the doc. This is a private function called from the load third party function and callback only * @param {string} scriptId ID of the script element * @param {string} url URL to the script * @param {boolean} async Whether or not to load the script async */ function includeScript(scriptId, url, async) { var doc = document, tagname = 'script', lastScript = doc.getElementsByTagName(tagname)[0]; if (!lastScript) { lastScript = doc.head; } var script = doc.createElement(tagname); script.async = async ? true : false; script.id = scriptId; script.src = url; // set a data attribute of data-error if the script failed to load script.addEventListener('error', function (err) { if (err) { script.setAttribute('data-error', 'true'); } }); lastScript.parentNode.insertBefore(script, lastScript); } var PhoenixLoader = window.PhoenixLoader = { consent: false, scripts: [], scriptFailed: false, thirdPartyFeatureList: true, trackingInitialized: false, loadScriptIds: [], /** * Load a third party consent when GDPR consent is received * @param {string} scriptId ID of the script element * @param {string} url URL to the script * @param {boolean} async Whether or not to load the script async * @param {function} disableCallback that is called if this scriptId is disabled */ loadThirdParty: function (scriptId, url, async, disableCallback) { // do not include script if not enabled if (scriptId !== true && this.thirdPartyFeatureList !== true && !this.thirdPartyFeatureList.includes(scriptId)) { console.warn(':: FEATURE ' + scriptId + ' DISABLED!'); if (disableCallback !== undefined && typeof disableCallback === "function") { disableCallback(); } return; } if (this.consent) { includeScript(scriptId, url, async); } else { this.scripts[scriptId] = {'url': url, 'async': async}; } }, /** * Run a callback when third party consent is received from the GDPR script (Gate by OneTrust) * @param {string | boolean} id ID of the script element, if equal true, means in house customize scripts. * @param {function} callback Callback function to call when consent is received * @param {string | null} category OneTrust's cookie category * @param {function | undefined} disableCallback that is called if this scriptId is disabled */ gdprConsentCallback: function (id, callback, category = null, disableCallback = undefined) { if (id !== true && this.thirdPartyFeatureList !== true && !this.thirdPartyFeatureList.includes(id)) { console.warn(':: FEATURE ' + id + ' DISABLED!'); if (disableCallback !== undefined && typeof disableCallback === "function") { disableCallback(); } return; } // No CMP Queue, don't gate if (!window.consentCallbackQueue) { callback(); return; } window.consentCallback(id, () => { this.loadScriptIds[id] = true; callback(); }, category); // Only few pages that are not asking for consent fire the load event immediately if (this.consent) { callback(); } else { document.addEventListener('loadThirdParty', function (e) { callback(); }); document.addEventListener('loadThirdPartyDisabled', function (e) { if (disableCallback !== undefined && typeof disableCallback === "function") { disableCallback(); } }); } }, /** * Trigger the consent event so the rest of the scripts can load * This should only be called after GDPR script has run and the user has given consent */ triggerConsent: function () { this.consent = true; this.triggerEvent('loadThirdParty') }, /** * Trigger an event on the document * @param {string} eventName */ triggerEvent: function (eventName) { var event = null; if (typeof(Event) === 'function') { var event = new Event(eventName); } // IE 11 and below doesn't support the Event constructor, use the old deprecated way of creating events else { var event = document.createEvent('Event'); event.initEvent(eventName, true, true); } document.dispatchEvent(event); }, /** * Monitor a script tag for failure to load. If it fails to load mark failed * @param {Element} script Script element to monitor */ monitorKeyScript: function (script) { var self = this; script.addEventListener('error', function (err) { if (err) { self.scriptFailed = true; } }); }, /** * Have key scripts failed to load * @return {boolean} Returns true if any of the key scripts we monitor have failed to load */ keyScriptsFailed: function () { return this.scriptFailed; } }; /** * When third party consent is received run all the scripts we've queued up */ PhoenixLoader.gdprConsentCallback(true, function () { var scripts = PhoenixLoader.scripts; Object.keys(scripts).forEach(function (key) { includeScript(key, scripts[key].url, scripts[key].async); delete scripts[key]; }); }); // Monitor onetrust lib as a key script, if it fails to load we want to trigger all tracking ready events so site features will work even though tracking will not work. // Normally we would put this by the script include itself, but we include onetrust as the first thing in the head tag PhoenixLoader.monitorKeyScript(document.getElementById('onetrust-lib')); })(); </script> <meta id="kCode" itemprop="kCode" name="kCode" content="/contra/cheats/"> <!-- Google Tag Manager --> <script type="text/plain" class="optanon-category-C0002" id="script_googletagmanager">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PWVTCD9');</script> <!-- End Google Tag Manager --> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Review", "mainEntityOfPage": "https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/", "headline": "Shrek 2 Review", "description": "Shrek 2 is a team-oriented action game that&#039;s primarily geared toward younger players.", "datePublished": "2004-06-03T15:01:17Z", "dateModified": "2004-06-03T15:01:17Z", "author": { "@type": "Person", "name": "Frank Provo", "url": "https://www.gamespot.com/profile/GSxxfrank-provoxxGS/", "sameAs": "https://www.gamespot.com/profile/GSxxfrank-provoxxGS/" } , "publisher": { "@type": "Organization", "name": "GameSpot", "logo": { "@type": "ImageObject", "url": "https://www.gamespot.com/a/bundles/gamespotsite/images/logo.svg", "width": "112", "height": "112" } } , "image": { "@type": "ImageObject", "url": "https://www.gamespot.com/a/uploads/scale_landscape/469/4693985/2305502-default-art--kubrick.jpg", "height": "900", "width": "1600" }, "url": "https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/", "thumbnailUrl": "https://www.gamespot.com/a/uploads/scale_landscape/469/4693985/2305502-default-art--kubrick.jpg", "creator": ["Frank Provo"], "keywords": [] , "reviewBody": " Since Shrek 2 is well on its way to grossing more than $400 million at the box office (tack on another $100 million, at least, in eventual DVD sales), it's a foregone conclusion that games based on the movie are going to be in high demand. Usually, video games that are based on movie licenses--especially animated films, such as Shrek 2--turn out to be terrible. Companies try to make a quick buck by slapping together a weak run-and-jump game using scenes and dialogue from the movie. In the case of Shrek 2 for the GBA, however, Activision has added a puzzle-oriented twist to the stale platform-jumper design and in turn has come up with a fun, kid-friendly game that also does a good job of telling the movie's story. Donkey can jump on top of the stump that Shrek is holding The game starts out as Fiona, Shrek, and Donkey make their way to visit Fiona's parents in the land of Far Far Away. After they arrive, Fiona and Shrek soon learn that Fiona's parents--and her fairy godmother--are prejudiced against ogres. They lock the princess away in the castle and set out to do everything they can to separate Fiona from Shrek. That's where you, the player, come in. Your task is to help Shrek and Donkey sneak back into the castle, swipe the godmother's 'happily ever after' potion, and reunite Shrek with Fiona before she unwittingly falls in love with Prince Charming. Other fairy tale characters, such as The Three Blind Mice, Pinocchio, The Gingerbread Man, The Three Little Pigs, and Puss in Boots, also make appearances to varying degrees throughout the game. A good deal of the game involves jumping between platforms and mindlessly pressing the attack button to punch or hack at angry guards and peasants. However, in most of the game's 25 levels, you're required to bring all three of the characters under your control so you can then cross the finish line. Vicarious Visions, the company that developed the game for Activision, borrowed a page from Blizzard's classic, Lost Vikings, by allowing players to switch between three different characters at any time during a level. Every character has a jump move and an attack move, but each character also has one or two skills that can be performed alone. Shrek can do a butt stomp and lift heavy objects, Donkey can kick down doors, Puss 'n' Boots can climb up walls, and so on. Characters have to work together--for example, if Shrek holds a mushroom trampoline above his head, Donkey or Puss 'n' Boots can use it to reach far-off platforms. Characters can also pick up and use tools, such as shields, keys, and invisibility items. In order to get past an obstacle--usually a lever, ramp, or stone doorway--the player has to figure out which character (or which combination of characters) can reach and solve that puzzle so that the other characters can walk past it. The graphics and audio don't come close to matching the gorgeous effects and hilarious conversations that are in the movie, but compared to similar GBA games, they're only a little behind the curve. The friendly characters, like Shrek and Donkey, are large and colorful enough to be recognized, and the animation for actions such as running and attacking is fairly fluid. The enemy characters, which are typically peasants, guards, and knights, are usually drawn with only one or two colors in order to make them stand out against the background. You won't see clouds moving or stars flickering in the background, but the backdrops have a lot of detail in them and generally look like places from the movie. As for the audio, the music is forgettable, but each character has one or two voice snippets that are repeated whenever you switch characters, perform a jump, or sustain damage--the kinds of voice clips that younger kids are likely to get stuck in their heads after playing the game for 20 minutes or so. Shrek, Donkey, and Puss 'n' Boots work together to push this stone. Younger kids are more likely to enjoy this GBA rendition of Shrek 2 instead of teenagers or adults. That's not a knock on the game's design or how it looks or sounds, but rather it is an observation based on the amount of challenge that each level presents. You have unlimited chances to solve each level and 'dying' only puts you back at the beginning of a level. Running into guards and landing on thorny bushes will take one point away from a character's life indicator, but there are plenty of opportunities to find potions that will recover any health you've lost. There are only a few spots here and there where you risk instant 'death' by falling into a bottomless pit or getting tagged with a curse. So, feel free to pick up Shrek 2 if you're in the mood for a fun and interesting platform-puzzle game that won't take most teens and adults more than three or four hours to complete. Better yet, hand it over to a child under the age of 12 and let him or her try to solve every level and relive the movie. ", "inLanguage": "en", "itemReviewed": { "name": "Shrek 2", "sameAs":"https://www.gamespot.com/games/shrek-2/", "@type":"VideoGame", "applicationCategory":"Game", "operatingSystem": ["PlayStation 2", "Xbox", "GameCube", "PC", "Mobile"] , "image": { "@type": "ImageObject", "url": "https://www.gamespot.com/a/uploads/original/469/4693985/2305502-default-art--kubrick.jpg", "height": "900", "width": "1600" } }, "reviewRating": { "@type":"Rating", "ratingValue": "6.4", "bestRating":"10", "worstRating":"1" } } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "NewsArticle", "mainEntityOfPage": "https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/", "headline": "Shrek 2 Review", "description": "Shrek 2 is a team-oriented action game that&#039;s primarily geared toward younger players.", "datePublished": "2004-06-03T15:01:17Z", "dateModified": "2004-06-03T15:01:17Z", "author": { "@type": "Person", "name": "Frank Provo", "url": "https://www.gamespot.com/profile/GSxxfrank-provoxxGS/", "sameAs": "https://www.gamespot.com/profile/GSxxfrank-provoxxGS/" } , "publisher": { "@type": "Organization", "name": "GameSpot", "logo": { "@type": "ImageObject", "url": "https://www.gamespot.com/a/bundles/gamespotsite/images/logo.svg", "width": "112", "height": "112" } } , "image": { "@type": "ImageObject", "url": "https://www.gamespot.com/a/uploads/original/469/4693985/2305502-default-art--kubrick.jpg", "height": "900", "width": "1600" }, "url": "https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/", "thumbnailUrl": "https://www.gamespot.com/a/uploads/original/469/4693985/2305502-default-art--kubrick.jpg", "creator": ["Frank Provo"], "keywords": [] ,"articleBody": "Since Shrek 2 is well on its way to grossing more than $400 million at the box office (tack on another $100 million, at least, in eventual DVD sales), it&#039;s a foregone conclusion that games based on the movie are going to be in high demand. Usually, video games that are based on movie licenses--especially animated films, such as Shrek 2--turn out to be terrible. Companies try to make a quick buck by slapping together a weak run-and-jump game using scenes and dialogue from the movie. In the case of Shrek 2 for the GBA, however, Activision has added a puzzle-oriented twist to the stale platform-jumper design and in turn has come up with a fun, kid-friendly game that also does a good job of telling the movie&#039;s story. Donkey can jump on top of the stump that Shrek is holding The game starts out as Fiona, Shrek, and Donkey make their way to visit Fiona&#039;s parents in the land of Far Far Away. After they arrive, Fiona and Shrek soon learn that Fiona&#039;s parents--and her fairy godmother--are prejudiced against ogres. They lock the princess away in the castle and set out to do everything they can to separate Fiona from Shrek. That&#039;s where you, the player, come in. Your task is to help Shrek and Donkey sneak back into the castle, swipe the godmother&#039;s &quot;happily ever after&quot; potion, and reunite Shrek with Fiona before she unwittingly falls in love with Prince Charming. Other fairy tale characters, such as The Three Blind Mice, Pinocchio, The Gingerbread Man, The Three Little Pigs, and Puss in Boots, also make appearances to varying degrees throughout the game. A good deal of the game involves jumping between platforms and mindlessly pressing the attack button to punch or hack at angry guards and peasants. However, in most of the game&#039;s 25 levels, you&#039;re required to bring all three of the characters under your control so you can then cross the finish line. Vicarious Visions, the company that developed the game for Activision, borrowed a page from Blizzard&#039;s classic, Lost Vikings, by allowing players to switch between three different characters at any time during a level. Every character has a jump move and an attack move, but each character also has one or two skills that can be performed alone. Shrek can do a butt stomp and lift heavy objects, Donkey can kick down doors, Puss &#039;n&#039; Boots can climb up walls, and so on. Characters have to work together--for example, if Shrek holds a mushroom trampoline above his head, Donkey or Puss &#039;n&#039; Boots can use it to reach far-off platforms. Characters can also pick up and use tools, such as shields, keys, and invisibility items. In order to get past an obstacle--usually a lever, ramp, or stone doorway--the player has to figure out which character (or which combination of characters) can reach and solve that puzzle so that the other characters can walk past it. The graphics and audio don&#039;t come close to matching the gorgeous effects and hilarious conversations that are in the movie, but compared to similar GBA games, they&#039;re only a little behind the curve. The friendly characters, like Shrek and Donkey, are large and colorful enough to be recognized, and the animation for actions such as running and attacking is fairly fluid. The enemy characters, which are typically peasants, guards, and knights, are usually drawn with only one or two colors in order to make them stand out against the background. You won&#039;t see clouds moving or stars flickering in the background, but the backdrops have a lot of detail in them and generally look like places from the movie. As for the audio, the music is forgettable, but each character has one or two voice snippets that are repeated whenever you switch characters, perform a jump, or sustain damage--the kinds of voice clips that younger kids are likely to get stuck in their heads after playing the game for 20 minutes or so. Shrek, Donkey, and Puss &#039;n&#039; Boots work together to push this stone. Younger kids are more likely to enjoy this GBA rendition of Shrek 2 instead of teenagers or adults. That&#039;s not a knock on the game&#039;s design or how it looks or sounds, but rather it is an observation based on the amount of challenge that each level presents. You have unlimited chances to solve each level and &quot;dying&quot; only puts you back at the beginning of a level. Running into guards and landing on thorny bushes will take one point away from a character&#039;s life indicator, but there are plenty of opportunities to find potions that will recover any health you&#039;ve lost. There are only a few spots here and there where you risk instant &quot;death&quot; by falling into a bottomless pit or getting tagged with a curse. So, feel free to pick up Shrek 2 if you&#039;re in the mood for a fun and interesting platform-puzzle game that won&#039;t take most teens and adults more than three or four hours to complete. Better yet, hand it over to a child under the age of 12 and let him or her try to solve every level and relive the movie.", "articleSection": "Games" } </script> <script src="https://services.fandom.com/icbm/api/loader?app=gamespot" defer></script> <script> window.BidBarrel = window.BidBarrel || {}; window.BidBarrel.queue = window.BidBarrel.queue || []; /** * Wait for BidBarrel to utilize its queuing system to ensure that any calls * to its service occur after the framework has fully loaded. * * @param {function} callback * * @function */ window.waitForBidBarrel = (callback) => { window.BidBarrel.queue.push(function(resolve) { callback(); resolve(); }); }; (function () { const h = (e) => { if (e.target.tagName === 'SCRIPT' && e.target.src.indexOf('bidbarrel') !== -1) { window.waitForBidBarrel = false; window.removeEventListener('error', h); } } window.addEventListener('error', h, true); })(); </script> </head> <body id="default-body" class="default has-nav-slim body-review col-2-template " style="display: block !important" > <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PWVTCD9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <section id="message-block" class="message-success" style="display: none"> </section> <div id="site-main"> <div class="js-mapped-ad mapped-ad mapped-nav-ad-plus-leader mapped-nav-ad-plus-leader-dart" data-ad-type="nav-ad-plus-leader"><div class="ad-wrap ad-wrap-nav-ad-plus-leader" data-skybox-auto-collapse="1"></div></div> <header id="masthead" class="js-masthead masthead"><div class="js-masthead-overlay masthead-overlay masthead-nav-overlay"></div><nav class="js-masthead-rows masthead-rows flexbox-column flexbox-flex-even"><div class="promo-masthead-list flexbox-row flexbox-align-center text-xsmall border-bottom-grayscale--thin hide-scrollbar"><span class="promo-masthead-list__column"><a class="js-click-tag promo-masthead-list__link" href="https://www.gamespot.com/reviews/avowed-review-too-close-to-the-sun/1900-6418335/" data-click-tag="tracking|header|content" > Avowed Review </a></span><span class="promo-masthead-list__column"><a class="js-click-tag promo-masthead-list__link" href="https://www.gamespot.com/articles/2025-upcoming-games-release-schedule/1100-6526471/" data-click-tag="tracking|header|content" > Upcoming 2025 Game Release Dates </a></span><span class="promo-masthead-list__column"><a class="js-click-tag promo-masthead-list__link" href="https://www.gamespot.com/articles/fortnite-chapter-6-season-2-start-date-theme-battle-pass-leaks-and-rumors/1100-6529339/" data-click-tag="tracking|header|content" > Fortnite Season 2 Start Date, Leaks </a></span><span class="promo-masthead-list__column"><a class="js-click-tag promo-masthead-list__link" href="https://www.gamespot.com/articles/elden-ring-nightreign-explores-exciting-and-unexpected-new-ground-for-from-software/1100-6529377/" data-click-tag="tracking|header|content" > Elden Ring Nightreign Preview </a></span><span class="promo-masthead-list__column"><a class="js-click-tag promo-masthead-list__link" href="https://www.gamespot.com/articles/destiny-2-barrow-dyad-exotic-quest-guide-how-to-start-and-complete-derealize/1100-6529412/" data-click-tag="tracking|header|content" > Destiny 2 Barrow Dyad Exotic Guide </a></span><span class="promo-masthead-list__column"><a class="js-click-tag promo-masthead-list__link" href="https://www.gamespot.com/gallery/playstation-state-of-play-february-2025-all-the-biggest-announcements/2900-6256/" data-click-tag="tracking|header|content" > State Of Play February 2025 Announcements </a></span></div><div class="js-masthead-compact masthead-row masthead-compact"><div class="masthead-row-wrap flexbox-row"><div class="masthead-nav-section"><button class="js-masthead-toggle masthead-toggle masthead-toggle-nav masthead-tappable masthead-hspace-r--tappable flexbox-inline-flex flexbox-justify-center flexbox-align-center no-button-styles" data-toggle="nav" type="button" aria-label="Toggle Site Navigation"><i class="masthead-toggle-nav-open"><svg width="80" height="80" viewBox="0 0 80 80" aria-hidden="true" class="symbol symbol-menu"><path d="M0 0h80v16H0zM0 32h56v16H0zM0 64h32v16H0z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-close"><svg width="80" height="80" viewBox="0 0 80 80" aria-hidden="true" class="symbol symbol-close"><path d="M80 11.31 68.69 0 40 28.69 11.31 0 0 11.31 28.69 40 0 68.69 11.31 80 40 51.31 68.69 80 80 68.69 51.31 40 80 11.31z"/></svg></i></button></div><div class="masthead-nav-section"><div class="masthead-logo flexbox-justify-center"><a class="masthead-logo-link masthead-tappable flexbox-inline-flex flexbox-justify-center" href="/" title="GameSpot"><i class="masthead-logo-asset inline-block masthead-logo-asset-compact "><svg width="731.79" height="731.81" viewBox="0 0 731.79 731.81" aria-hidden="true" class="symbol symbol-logo-outline-circle"><path d="M365.89 0C163.81 0 0 163.83 0 365.91s163.81 365.9 365.89 365.9 365.9-163.81 365.9-365.9S568 0 365.89 0Zm0 684.24c-175.81 0-318.33-142.53-318.33-318.33S190.08 47.58 365.89 47.58 684.23 190.1 684.23 365.91 541.71 684.24 365.89 684.24Z"/><path d="M508.25 506.5c-8.35-5.84-19.41-8.42-31.6-8.42-9.51 0-33.75 3.88-71.5 11.7-19.88 4.27-35.17 5.61-46.07 5.61-43.63 0-80.47-14.35-112.21-43.36-30.26-29.3-46.21-64.56-46.21-105.9 0-42.29 14.94-77.74 46-106.05 31.92-29.35 72.16-43.65 121.16-43.65 32.09 0 57.48 2.21 78.49 7.5 3.24.65 19.22 5.84 47.56 16.19l-11.58 44.3c-14.15-5.81-24.73-9.14-32.43-10.73a169.56 169.56 0 0 0-46.22-6.16c-31.92 0-56.85 10.13-75.72 30.29-17.42 18.52-25.53 41.72-25.53 68.73 0 26.67 7.79 48.47 23.74 66.42 16.17 18.15 35.2 26.03 57.16 26.03 8.48 0 16-1.34 21.83-6.58a27.1 27.1 0 0 0 9-20.83v-60.52h94.15Z"/></svg></i></a></div></div><div class="masthead-nav-section masthead-user-nav flexbox-justify-flex-end"><div class="masthead-nav-item masthead-user-nav-item height-100 masthead-hspace-l--tappable"><div class="masthead-nav-item-wrap base-flexbox"><a href="/login-signup/" class="masthead-nav-item-label masthead-user-nav-item-label masthead-tappable flexbox-align-center flexbox-justify-center" title="Login / Sign Up" aria-label="Login or Sign Up"><i><svg width="22" height="28" viewBox="0 0 22 28" aria-hidden="true" class="symbol symbol-user"><path d="M22 21.953q0 1.875-1.141 2.961T17.828 26H4.172q-1.891 0-3.031-1.086T0 21.953q0-.828.055-1.617t.219-1.703.414-1.695.672-1.523.969-1.266 1.336-.836T5.407 13q.141 0 .656.336t1.164.75 1.687.75 2.086.336 2.086-.336 1.687-.75 1.164-.75.656-.336q.953 0 1.742.313t1.336.836.969 1.266.672 1.523.414 1.695.219 1.703.055 1.617zM17 8q0 2.484-1.758 4.242T11 14t-4.242-1.758T5 8t1.758-4.242T11 2t4.242 1.758T17 8z"/></svg></i></a></div></div></div></div></div><div class="js-masthead-default masthead-row masthead-default"><div class="masthead-row-wrap flexbox-row masthead-default-wrap"><div class="masthead-logo flexbox-justify-center"><a class="masthead-logo-link masthead-tappable flexbox-inline-flex flexbox-justify-center" href="/" title="GameSpot"><i class="masthead-logo-asset inline-block masthead-logo-asset-compact "><svg width="731.79" height="731.81" viewBox="0 0 731.79 731.81" aria-hidden="true" class="symbol symbol-logo-outline-circle"><path d="M365.89 0C163.81 0 0 163.83 0 365.91s163.81 365.9 365.89 365.9 365.9-163.81 365.9-365.9S568 0 365.89 0Zm0 684.24c-175.81 0-318.33-142.53-318.33-318.33S190.08 47.58 365.89 47.58 684.23 190.1 684.23 365.91 541.71 684.24 365.89 684.24Z"/><path d="M508.25 506.5c-8.35-5.84-19.41-8.42-31.6-8.42-9.51 0-33.75 3.88-71.5 11.7-19.88 4.27-35.17 5.61-46.07 5.61-43.63 0-80.47-14.35-112.21-43.36-30.26-29.3-46.21-64.56-46.21-105.9 0-42.29 14.94-77.74 46-106.05 31.92-29.35 72.16-43.65 121.16-43.65 32.09 0 57.48 2.21 78.49 7.5 3.24.65 19.22 5.84 47.56 16.19l-11.58 44.3c-14.15-5.81-24.73-9.14-32.43-10.73a169.56 169.56 0 0 0-46.22-6.16c-31.92 0-56.85 10.13-75.72 30.29-17.42 18.52-25.53 41.72-25.53 68.73 0 26.67 7.79 48.47 23.74 66.42 16.17 18.15 35.2 26.03 57.16 26.03 8.48 0 16-1.34 21.83-6.58a27.1 27.1 0 0 0 9-20.83v-60.52h94.15Z"/></svg></i></a></div><div class="js-masthead-nav masthead-nav"><div class="js-masthead-search-mobile masthead-search-content masthead-search-content--mobile width-100 vertical-spacing-bottom-rem vertical-spacing-top-rem inner-space-horizontal-small-rem"><div class="js-site-search-container site-search-container width-100 border-grayscale--thin border-round--small site-search-container--mobile"><form action="/search/" method="get" class="js-site-search main-search flexbox-row" data-search-landing="true" data-search-results-length="10" data-search-parent-selector=".masthead-search-content--mobile"><div class="dropdown--main"><select name="i" class="dropdown--selector" aria-label="Select the type of content you want to search for"><option value="">All</option><option value="site">Games</option><option value="videos">Videos</option><option value="articles">Articles</option><option value="reviews">Reviews</option><option value="features">Features</option><option value="image_gallery">Galleries</option><option value="users">Users</option></select></div><i class="symbol-search-wrapper horizontal-spacing-right-small-rem"><svg width="80" height="80" viewBox="0 0 80 80" aria-hidden="true" class="symbol symbol-search"><path d="M80 68.69 59.56 48.25a32 32 0 1 0-11.31 11.31L68.69 80ZM32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16Z"/></svg></i><input type="text" name="q" placeholder="GameSpot" autocomplete="off" class="js-site-search-query" value=""></form></div></div><div class="js-masthead-site-nav masthead-nav-section flex-grow masthead-site-nav"><ul class="masthead-site-nav-items masthead-site-nav-items--editorial no-list-style"><li class="js-masthead-nav-item masthead-nav-item masthead-site-nav-item"><div class="masthead-nav-item-wrap base-flexbox"><a href="/news/" class="masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">News</span></a></div></li><li class="js-masthead-nav-item masthead-nav-item masthead-site-nav-item masthead-hspace-l"><div class="masthead-nav-item-wrap base-flexbox"><a href="/videos/" class="masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Videos</span></a></div></li><li class="js-masthead-menu js-masthead-nav-item masthead-nav-item masthead-site-nav-item masthead-hspace-l"><div class="masthead-nav-item-wrap base-flexbox"><a href="/games/reviews/" class="js-masthead-menu-link masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Reviews</span><i class="masthead-nav-item-icon"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></a><button class="js-masthead-menu-toggle masthead-nav-item-toggle masthead-tappable flexbox-align-center flexbox-justify-center position--relative no-button-styles masthead-hspace-l--tappable" type="button" aria-label="Toggle Reviews Subnav"><i class="masthead-toggle-nav-item-open"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-item-close"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-up"><path d="M16.797 18.5q0 .203-.156.359l-.781.781q-.156.156-.359.156t-.359-.156l-6.141-6.141L2.86 19.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359l7.281-7.281q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div><!-- GamespotSiteBundle:Core:masthead:other_subnav_reviews|N|05:13:40 --><div class="js-masthead-subnav masthead-subnav"><div class="masthead-subnav-content"><ul class="masthead-subnav-items no-list-style"><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/reviews/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|reviews|left-menu|games">Games</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/reviews/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|reviews|left-menu|entertainment">Entertainment</a></li></ul></div></div><!-- /GamespotSiteBundle:Core:masthead:other_subnav_reviews --></li><li class="js-masthead-menu js-masthead-nav-item masthead-nav-item masthead-site-nav-item masthead-hspace-l"><div class="masthead-nav-item-wrap base-flexbox"><a href="/best-lists/" class="js-masthead-menu-link masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Staff Picks</span><i class="masthead-nav-item-icon"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></a><button class="js-masthead-menu-toggle masthead-nav-item-toggle masthead-tappable flexbox-align-center flexbox-justify-center position--relative no-button-styles masthead-hspace-l--tappable" type="button" aria-label="Toggle Staff Picks Subnav"><i class="masthead-toggle-nav-item-open"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-item-close"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-up"><path d="M16.797 18.5q0 .203-.156.359l-.781.781q-.156.156-.359.156t-.359-.156l-6.141-6.141L2.86 19.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359l7.281-7.281q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div><!-- GamespotSiteBundle:Core:masthead:other_subnav_staffPicks|N|05:14:03 --><div class="js-masthead-subnav masthead-subnav"><div class="masthead-subnav-content masthead-subnav-content--staff-picks"><ul class="masthead-subnav-items no-list-style"><li class="masthead-subnav-item masthead-vspace--tappable"><a href="https://www.gamespot.com/gallery/best-nintendo-switch-games/2900-3828/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|staffPicks|left-menu|slot1">Best Nintendo Switch Games</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="https://www.gamespot.com/gallery/best-ps5-games/2900-3832/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|staffPicks|left-menu|slot2">Best PS5 Games</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="https://www.gamespot.com/gallery/best-xbox-series-x-games/2900-3818/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|staffPicks|left-menu|slot3">Best Xbox Series X|S Games</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="https://www.gamespot.com/gallery/best-xbox-game-pass-games/2900-4001/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|staffPicks|left-menu|slot4">Best Xbox Game Pass Games</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="https://www.gamespot.com/gallery/best-pc-games/2900-4143/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|staffPicks|left-menu|slot5">Best PC Games</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="https://www.gamespot.com/gallery/the-best-steam-deck-games-to-play-right-now/2900-4083/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|staffPicks|left-menu|slot6">Best Steam Deck Games</a></li></ul></div></div><!-- /GamespotSiteBundle:Core:masthead:other_subnav_staffPicks --></li><li class="js-masthead-menu js-masthead-nav-item masthead-nav-item masthead-site-nav-item masthead-hspace-l"><div class="masthead-nav-item-wrap base-flexbox"><a href="/deals/" class="js-masthead-menu-link masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Deals</span><i class="masthead-nav-item-icon"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></a><button class="js-masthead-menu-toggle masthead-nav-item-toggle masthead-tappable flexbox-align-center flexbox-justify-center position--relative no-button-styles masthead-hspace-l--tappable" type="button" aria-label="Toggle Deals Subnav"><i class="masthead-toggle-nav-item-open"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-item-close"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-up"><path d="M16.797 18.5q0 .203-.156.359l-.781.781q-.156.156-.359.156t-.359-.156l-6.141-6.141L2.86 19.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359l7.281-7.281q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div><!-- GamespotSiteBundle:Core:masthead:other_subnav_deals|N|05:14:03 --><div class="js-masthead-subnav masthead-subnav"><div class="masthead-subnav-content"><ul class="masthead-subnav-items no-list-style"><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/deals/games/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|deals|left-menu|deals-games">Game Deals</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/deals/tech/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|deals|left-menu|deals-tech">Tech Deals</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/gift-ideas/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|deals|left-menu|gift-ideas">Gift Ideas</a></li></ul></div></div><!-- /GamespotSiteBundle:Core:masthead:other_subnav_deals --></li></ul><ul class="masthead-site-nav-items masthead-site-nav-items--base no-list-style masthead-hspace-l masthead-vr-l"><li class="js-masthead-menu js-masthead-nav-item masthead-nav-item masthead-site-nav-item"><div class="masthead-nav-item-wrap base-flexbox"><a href="/games/" class="js-masthead-menu-link masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Games</span><i class="masthead-nav-item-icon"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></a><button class="js-masthead-menu-toggle masthead-nav-item-toggle masthead-tappable flexbox-align-center flexbox-justify-center position--relative no-button-styles masthead-hspace-l--tappable" type="button" aria-label="Toggle Games Subnav"><i class="masthead-toggle-nav-item-open"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-item-close"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-up"><path d="M16.797 18.5q0 .203-.156.359l-.781.781q-.156.156-.359.156t-.359-.156l-6.141-6.141L2.86 19.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359l7.281-7.281q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div><!-- GamespotSiteBundle:Core:masthead:other_subnav_games|N|05:13:40 --><div class="js-masthead-subnav masthead-subnav"><div class="masthead-subnav-content"><ul class="masthead-subnav-items no-list-style"><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/pc/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|pc">PC Gaming</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/ps5/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|ps5">PS5</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/ps4/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|ps4">PS4</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/xbox-series-x/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|xbox-series-x">Xbox Series X</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/xbox-one/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|xbox-one">Xbox One</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/nintendo-switch-2/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|switch-2">Switch 2</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/nintendo-switch/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|switch">Switch</a></li><li class="masthead-subnav-item masthead-vspace--tappable masthead-hr-t"><a href="/news/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|games-home">All Gaming News</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/guides/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|guides-hub">Guides</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/gametech/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|gametech">Gaming Tech</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/games/mobile-gaming/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|mobile-gaming">Mobile Gaming</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/cloud-gaming-hub/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|games|left-menu|cloud-gaming">Cloud Gaming</a></li></ul></div></div><!-- /GamespotSiteBundle:Core:masthead:other_subnav_games --></li><li class="js-masthead-menu js-masthead-nav-item masthead-nav-item masthead-site-nav-item masthead-hspace-l"><div class="masthead-nav-item-wrap base-flexbox"><a href="/entertainment/" class="js-masthead-menu-link masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Entertainment</span><i class="masthead-nav-item-icon"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></a><button class="js-masthead-menu-toggle masthead-nav-item-toggle masthead-tappable flexbox-align-center flexbox-justify-center position--relative no-button-styles masthead-hspace-l--tappable" type="button" aria-label="Toggle Entertainment Subnav"><i class="masthead-toggle-nav-item-open"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-item-close"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-up"><path d="M16.797 18.5q0 .203-.156.359l-.781.781q-.156.156-.359.156t-.359-.156l-6.141-6.141L2.86 19.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359l7.281-7.281q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div><!-- GamespotSiteBundle:Core:masthead:other_subnav_entertainment|N|05:14:03 --><div class="js-masthead-subnav masthead-subnav"><div class="masthead-subnav-content"><ul class="masthead-subnav-items no-list-style"><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/movies/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|movies">Movies</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/tv/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|tv">TV</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/wrestling/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|wrestling">Wrestling</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/star-wars/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|starwars">Star Wars</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/marvel-universe/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|marvel">Marvel</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/dc-universe/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|dc">DC</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/gameofthrones/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|gameofthrones">Game of Thrones</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a href="/entertainment/" class="js-click-tag masthead-tappable base-flexbox flexbox-align-center" data-click-tag="nav|entertainment|left-menu|entertainment">All Entertainment News</a></li></ul></div></div><!-- /GamespotSiteBundle:Core:masthead:other_subnav_entertainment --></li></ul><ul class="masthead-site-nav-items masthead-site-nav-items--community no-list-style masthead-hspace-l masthead-vr-l"><li class="js-masthead-nav-item masthead-nav-item masthead-site-nav-item"><div class="masthead-nav-item-wrap base-flexbox"><a href="/forums/" class="masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">Forums</span></a></div></li></ul><ul class="masthead-site-nav-items masthead-site-nav-items--extra no-list-style masthead-hspace-l masthead-vr-l"><li class="js-masthead-menu js-masthead-nav-item masthead-nav-item masthead-site-nav-item"><div class="masthead-nav-item-wrap base-flexbox"><span class="js-masthead-menu-link masthead-nav-item-label masthead-site-nav-item-label masthead-tappable flexbox-align-center"><span class="masthead-nav-item-text">More</span><i class="masthead-nav-item-icon"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></span><button class="js-masthead-menu-toggle masthead-nav-item-toggle masthead-tappable flexbox-align-center flexbox-justify-center position--relative no-button-styles masthead-hspace-l--tappable" type="button" aria-label="Toggle More Subnav"><i class="masthead-toggle-nav-item-open"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-down"><path d="M16.797 11.5q0 .203-.156.359L9.36 19.14q-.156.156-.359.156t-.359-.156l-7.281-7.281q-.156-.156-.156-.359t.156-.359l.781-.781q.156-.156.359-.156t.359.156l6.141 6.141 6.141-6.141q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i><i class="masthead-toggle-close masthead-toggle-nav-item-close"><svg width="18" height="28" viewBox="0 0 18 28" aria-hidden="true" class="symbol symbol-angle-up"><path d="M16.797 18.5q0 .203-.156.359l-.781.781q-.156.156-.359.156t-.359-.156l-6.141-6.141L2.86 19.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359l7.281-7.281q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div><div class="js-masthead-subnav masthead-subnav"><div class="masthead-subnav-content"><div class="masthead-subnav-items--category"><a class="masthead-subnav-item--title masthead-tappable flexbox-inline-flex flexbox-align-center text-bold" href="/games/"> Games </a><ul class="masthead-subnav-items no-list-style no-spacing text-nowrap"><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/pc/">PC Gaming</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/ps5/">PS5</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/ps4/">PS4</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/xbox-series-x/">Xbox Series X</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/xbox-one/">Xbox One</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/nintendo-switch-2/">Switch 2</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/nintendo-switch/">Switch</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/news/">All Gaming News</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/guides/">Guides</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/gametech/">Gaming Tech</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/games/mobile-gaming/">Mobile Gaming</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/cloud-gaming-hub/">Cloud Gaming</a></li></ul></div><div class="masthead-subnav-items--category"><a class="masthead-subnav-item--title masthead-tappable flexbox-inline-flex flexbox-align-center text-bold" href="/entertainment/"> Entertainment </a><ul class="masthead-subnav-items no-list-style no-spacing text-nowrap"><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/movies/">Movies</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/tv/">TV</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/wrestling/">Wrestling</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/star-wars/">Star Wars</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/marvel-universe/">Marvel</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/dc-universe/">DC</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/gameofthrones/">Game of Thrones</a></li><li class="masthead-subnav-item masthead-vspace--tappable"><a class="masthead-tappable flexbox-inline-flex flexbox-align-center" href="/entertainment/">All Entertainment News</a></li></ul></div><div class="masthead-subnav-items--category"><a class="masthead-subnav-item--title masthead-tappable flexbox-inline-flex flexbox-align-center text-bold" href="/forums/"> Forums </a><ul class="masthead-subnav-items no-list-style no-spacing text-nowrap"></ul></div></div></div></li></ul></div><div class="masthead-nav-section masthead-user-nav flexbox-justify-flex-end"><div class="masthead-nav-item masthead-user-nav-item height-100 masthead-hspace-l--tappable"><div class="masthead-nav-item-wrap base-flexbox"><a href="/login-signup/" class="masthead-nav-item-label masthead-user-nav-item-label masthead-tappable flexbox-align-center flexbox-justify-center" title="Login / Sign Up" aria-label="Login or Sign Up"><i><svg width="22" height="28" viewBox="0 0 22 28" aria-hidden="true" class="symbol symbol-user"><path d="M22 21.953q0 1.875-1.141 2.961T17.828 26H4.172q-1.891 0-3.031-1.086T0 21.953q0-.828.055-1.617t.219-1.703.414-1.695.672-1.523.969-1.266 1.336-.836T5.407 13q.141 0 .656.336t1.164.75 1.687.75 2.086.336 2.086-.336 1.687-.75 1.164-.75.656-.336q.953 0 1.742.313t1.336.836.969 1.266.672 1.523.414 1.695.219 1.703.055 1.617zM17 8q0 2.484-1.758 4.242T11 14t-4.242-1.758T5 8t1.758-4.242T11 2t4.242 1.758T17 8z"/></svg></i></a></div></div></div></div><button class="js-masthead-toggle masthead-toggle masthead-toggle-search masthead-tappable masthead-hspace-l--tappable flexbox-justify-center no-button-styles" data-toggle="search" type="button" aria-label="Open Site Search"><i class="masthead-toggle-search-open"><svg width="80" height="80" viewBox="0 0 80 80" aria-hidden="true" class="symbol symbol-search"><path d="M80 68.69 59.56 48.25a32 32 0 1 0-11.31 11.31L68.69 80ZM32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16Z"/></svg></i></button></div></div><div class="js-masthead-overlay masthead-overlay masthead-search-overlay"></div><div class="masthead-row masthead-search"><div class="masthead-row-wrap flexbox-row"><div class="js-masthead-search masthead-search-content flexbox-row flexbox-align-stretch width-100"><div class="masthead-search-body masthead-vr-r masthead-hspace-r"><div class="js-site-search-container site-search-container width-100 border-grayscale--thin border-round--small "><form action="/search/" method="get" class="js-site-search main-search flexbox-row" data-search-landing="true" data-search-results-length="10" data-search-parent-selector=".js-masthead-search"><div class="dropdown--main"><select name="i" class="dropdown--selector" aria-label="Select the type of content you want to search for"><option value="">All</option><option value="site">Games</option><option value="videos">Videos</option><option value="articles">Articles</option><option value="reviews">Reviews</option><option value="features">Features</option><option value="image_gallery">Galleries</option><option value="users">Users</option></select></div><i class="symbol-search-wrapper horizontal-spacing-right-small-rem"><svg width="80" height="80" viewBox="0 0 80 80" aria-hidden="true" class="symbol symbol-search"><path d="M80 68.69 59.56 48.25a32 32 0 1 0-11.31 11.31L68.69 80ZM32 48a16 16 0 1 1 16-16 16 16 0 0 1-16 16Z"/></svg></i><input type="text" name="q" placeholder="Search GameSpot" autocomplete="off" class="js-site-search-query" value=""></form></div></div><button class="js-masthead-toggle masthead-toggle masthead-toggle-search masthead-tappable flexbox-justify-center no-button-styles" data-toggle="search" type="button" aria-label="Close Site Search"><i class="masthead-toggle-close masthead-toggle-search-close"><svg width="80" height="80" viewBox="0 0 80 80" aria-hidden="true" class="symbol symbol-close"><path d="M80 11.31 68.69 0 40 28.69 11.31 0 0 11.31 28.69 40 0 68.69 11.31 80 40 51.31 68.69 80 80 68.69 51.31 40 80 11.31z"/></svg></i></button></div></div></div></nav></header> <div class="js-mapped-ad mapped-ad mapped-interstitial mapped-interstitial-dart" data-ad-type="interstitial"><div class="ad-wrap ad-wrap-interstitial"></div></div> <div id="site-wrapper"> <div id="kubrick-lead" class="kubrick kubrick-lead kubrick-lead--minimal kubrick-lead--has-subnav" style="background-image: url(https://www.gamespot.com/a/uploads/screen_kubrick_wide/469/4693985/2305502-default-art--kubrick.jpg)"> <div class="kubrick-overlay"> <div class="kubrick-curtains"> <div class="kubrick-content container row"></div> </div> <div class="kubrick-curtains kubrick-curtains--bottom"></div> </div> </div> <nav class="subnav subnav-mobile subnav--flex "> <div class="container row"> <div class="span12"> <span class="subnav-toggle js-dropnav-toggle"> <a> <i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-reorder"><path d="M24 21v2q0 .406-.297.703T23 24H1q-.406 0-.703-.297T0 23v-2q0-.406.297-.703T1 20h22q.406 0 .703.297T24 21zm0-8v2q0 .406-.297.703T23 16H1q-.406 0-.703-.297T0 15v-2q0-.406.297-.703T1 12h22q.406 0 .703.297T24 13zm0-8v2q0 .406-.297.703T23 8H1q-.406 0-.703-.297T0 7V5q0-.406.297-.703T1 4h22q.406 0 .703.297T24 5z"/></svg></i> Game Info </a> </span> <ul class="subnav-list subnav-list-count-7"> <li class="subnav-list__item subnav-list__item-primary "> <a class="no-hover" href="/games/shrek-2/"> <img src="https://www.gamespot.com/a/uploads/square_mini/mig/9/0/3/3/2209033-box_shrek2.png" alt="Shrek 2" /> <span>Shrek 2</span> </a> </li> <li class="subnav-list__item " > <a class="no-hover" href="/games/shrek-2/reviews/">Reviews</a> </li> <li class="subnav-list__item "> <a class="no-hover" href="/games/shrek-2/news/">News & Features</a> </li> <li class="subnav-list__item "> <a class="no-hover" href="/games/shrek-2/videos/">Videos</a> </li> <li class="subnav-list__item "> <a class="no-hover" href="/games/shrek-2/cheats/">Cheats &amp; Guides </a> </li> </ul> </div> </div> </nav> <div id="mantle_skin" class="mantle_skin"> <div id="wrapper"> <div id="site" role="main"> <div id="default-content" class=" container row"> <div class="primary-content js-article-container span8"> <article class="content-body review-article article article--review article--two-column"> <section class="news-hdr text-center has-pad--bottom--resp ellipseborder-bottom"><div class="news-section clearfix news-section__no-border has-rhythm--resp"></div><h1 class="news-title instapaper_title entry-title"> Shrek 2 Review </h1><p class="news-deck type--xlarge">Shrek 2 is a team-oriented action game that&#039;s primarily geared toward younger players.</p><p class="news-byline">By <span class="byline-author "><a class="byline-author__name" href="/profile/GSxxfrank-provoxxGS/" rel="author" > Frank Provo </a></span> on <time datetime="2004-06-03T15:01:17-0800" >June 3, 2004 at 3:01PM PDT</time></p><ul class="share no-list-style no-inner-space" role="presentation"><li class="share-item share-item--comments" role="presentation"><a title="Comment" class="js-seamless-content__goto-comments" href="#comments-block-32563779" data-content-guid="1900-6099879" rel="nofollow"><span class="share-item__container"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-comments symbol--nudge-bottom"><path d="M22 12q0 2.172-1.469 4.016t-4.008 2.914T11 20q-1.344 0-2.75-.25-1.937 1.375-4.344 2-.562.141-1.344.25h-.047q-.172 0-.32-.125t-.18-.328q-.016-.047-.016-.102t.008-.102.031-.094l.039-.078.055-.086.063-.078.07-.078.063-.07q.078-.094.359-.391t.406-.461.352-.453.391-.602.32-.688q-1.937-1.125-3.047-2.766T0 11.998q0-2.172 1.469-4.016t4.008-2.914T11 3.998t5.523 1.07 4.008 2.914T22 11.998zm6 4q0 1.875-1.109 3.508t-3.047 2.758q.156.375.32.688t.391.602.352.453.406.461.359.391q.016.016.063.07t.07.078.063.078.055.086l.039.078.031.094.008.102-.016.102q-.047.219-.203.344t-.344.109q-.781-.109-1.344-.25-2.406-.625-4.344-2-1.406.25-2.75.25-4.234 0-7.375-2.063.906.063 1.375.063 2.516 0 4.828-.703t4.125-2.016q1.953-1.437 3-3.313T24 12.001q0-1.203-.359-2.375 2.016 1.109 3.187 2.781T28 16.001z"/></svg></i></span></a></li><li class="share-item share-item--facebook js-share-button-facebook" data-share-url="https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/" data-guid="1900-6099879" role="presentation"><a class="js-event-tracking" href="https://www.facebook.com/sharer/sharer.php?u=https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/" target="_blank" title="Facebook" data-event-tracking="{&quot;clickGenericText&quot;:&quot;Tracking|review|SocialShare|Facebook|1900-6099879&quot;}"><span class="share-item__container"><i><svg width="16" height="28" viewBox="0 0 16 28" aria-hidden="true" class="symbol symbol-facebook symbol--color-white"><path d="M14.984.187v4.125h-2.453q-1.344 0-1.813.562t-.469 1.687v2.953h4.578l-.609 4.625h-3.969v11.859H5.468V14.139H1.484V9.514h3.984V6.108q0-2.906 1.625-4.508t4.328-1.602q2.297 0 3.563.187z"/></svg></i></span></a></li><li class="share-item share-item--twitter js-share-button-twitter" data-share-url="https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/" data-guid="1900-6099879" role="presentation"><a class="js-event-tracking" href="https://twitter.com/intent/tweet?text=Shrek%202%20Review&related=&url=https%3A%2F%2Fwww.gamespot.com%2Freviews%2Fshrek-2-review%2F1900-6099879%2F" target="_blank" title="Twitter" data-event-tracking="{&quot;clickGenericText&quot;:&quot;Tracking|review|SocialShare|Twitter|1900-6099879&quot;}"><span class="share-item__container"><i><svg width="26" height="28" viewBox="0 0 26 28" aria-hidden="true" class="symbol symbol-twitter symbol--color-white"><path d="M25.312 6.375q-1.047 1.531-2.531 2.609.016.219.016.656 0 2.031-.594 4.055t-1.805 3.883-2.883 3.289-4.031 2.281T8.437 24q-4.234 0-7.75-2.266.547.063 1.219.063 3.516 0 6.266-2.156-1.641-.031-2.938-1.008t-1.781-2.492q.516.078.953.078.672 0 1.328-.172-1.75-.359-2.898-1.742t-1.148-3.211v-.063q1.062.594 2.281.641-1.031-.688-1.641-1.797t-.609-2.406q0-1.375.688-2.547Q4.298 7.25 7.009 8.649t5.805 1.555q-.125-.594-.125-1.156 0-2.094 1.477-3.57t3.57-1.477q2.188 0 3.687 1.594 1.703-.328 3.203-1.219-.578 1.797-2.219 2.781 1.453-.156 2.906-.781z"/></svg></i></span></a></li><li class="share-item share-item--flipboard js-share-button-flipboard" data-guid="1900-6099879" role="presentation"><a class="js-event-tracking" href="https://share.flipboard.com/bookmarklet/popout?v=2&title=Shrek 2 Review&url=https://www.gamespot.com/reviews/shrek-2-review/1900-6099879/&utm_source=gamespot.com&utm_medium=article-share&utm_campaign=publisher" target="_blank" title="Flipboard" data-event-tracking="{&quot;clickGenericText&quot;:&quot;Tracking|review|SocialShare|Flipboard|1900-6099879&quot;}"><span class="share-item__container"><i><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true" class="symbol symbol-flipboard symbol--color-white"><path d="M10.7 0H0v32h10.7V10.7z"/><path d="M21.4 0H10.7v10.7H32V0z" opacity=".8"/><path d="M10.7 10.7h10.7v10.7H10.7z" opacity=".6"/></svg></i></span></a></li></ul></section> <section class="article-body typography-format "> <div class="js-content-entity-body"> <p> Since <i>Shrek 2</i> is well on its way to grossing more than $400 million at the box office (tack on another $100 million, at least, in eventual DVD sales), it's a foregone conclusion that games based on the movie are going to be in high demand. Usually, video games that are based on movie licenses--especially animated films, such as <i>Shrek 2</i>--turn out to be terrible. Companies try to make a quick buck by slapping together a weak run-and-jump game using scenes and dialogue from the movie. In the case of Shrek 2 for the GBA, however, Activision has added a puzzle-oriented twist to the stale platform-jumper design and in turn has come up with a fun, kid-friendly game that also does a good job of telling the movie's story. </p><p> <figure num="2" data-ref-id="1300-577542" data-align="center" data-embed-type="image" data-size="large" data-resize-src="http://gamespot.com/a/uploads/original/gamespot/images/2004/reviews/577542-919680_20040603_002.jpg" data-ratio="0.66666666666667"><a class="fluid-height" style="padding-bottom:66.7%" href="" data-ref-id="1300-577542"><img alt="Donkey can jump on top of the stump that Shrek is holding" src="https://www.gamespot.com/a/uploads/original/gamespot/images/2004/reviews/577542-919680_20040603_002.jpg" srcset="https://www.gamespot.com/a/uploads/original/gamespot/images/2004/reviews/577542-919680_20040603_002.jpg 240w" sizes="(max-width: 240px) 100vw, 240px" data-width="240"></a><figcaption>Donkey can jump on top of the stump that Shrek is holding</figcaption></figure> </p><p> The game starts out as Fiona, Shrek, and Donkey make their way to visit Fiona's parents in the land of Far Far Away. After they arrive, Fiona and Shrek soon learn that Fiona's parents--and her fairy godmother--are prejudiced against ogres. They lock the princess away in the castle and set out to do everything they can to separate Fiona from Shrek. That's where you, the player, come in. Your task is to help Shrek and Donkey sneak back into the castle, swipe the godmother's "happily ever after" potion, and reunite Shrek with Fiona before she unwittingly falls in love with Prince Charming. Other fairy tale characters, such as The Three Blind Mice, Pinocchio, The Gingerbread Man, The Three Little Pigs, and Puss in Boots, also make appearances to varying degrees throughout the game. </p><p> A good deal of the game involves jumping between platforms and mindlessly pressing the attack button to punch or hack at angry guards and peasants. However, in most of the game's 25 levels, you're required to bring all three of the characters under your control so you can then cross the finish line. Vicarious Visions, the company that developed the game for Activision, borrowed a page from Blizzard's classic, Lost Vikings, by allowing players to switch between three different characters at any time during a level. Every character has a jump move and an attack move, but each character also has one or two skills that can be performed alone. Shrek can do a butt stomp and lift heavy objects, Donkey can kick down doors, Puss 'n' Boots can climb up walls, and so on. Characters have to work together--for example, if Shrek holds a mushroom trampoline above his head, Donkey or Puss 'n' Boots can use it to reach far-off platforms. Characters can also pick up and use tools, such as shields, keys, and invisibility items. In order to get past an obstacle--usually a lever, ramp, or stone doorway--the player has to figure out which character (or which combination of characters) can reach and solve that puzzle so that the other characters can walk past it. </p><p> The graphics and audio don't come close to matching the gorgeous effects and hilarious conversations that are in the movie, but compared to similar GBA games, they're only a little behind the curve. The friendly characters, like Shrek and Donkey, are large and colorful enough to be recognized, and the animation for actions such as running and attacking is fairly fluid. The enemy characters, which are typically peasants, guards, and knights, are usually drawn with only one or two colors in order to make them stand out against the background. You won't see clouds moving or stars flickering in the background, but the backdrops have a lot of detail in them and generally look like places from the movie. As for the audio, the music is forgettable, but each character has one or two voice snippets that are repeated whenever you switch characters, perform a jump, or sustain damage--the kinds of voice clips that younger kids are likely to get stuck in their heads after playing the game for 20 minutes or so. </p><p> <figure num="3" data-ref-id="1300-577543" data-align="center" data-embed-type="image" data-size="large" data-resize-src="http://gamespot.com/a/uploads/original/gamespot/images/2004/reviews/577543-919680_20040603_003.jpg" data-ratio="0.66666666666667"><a class="fluid-height" style="padding-bottom:66.7%" href="" data-ref-id="1300-577543"><img alt="Shrek, Donkey, and Puss 'n' Boots work together to push this stone." src="https://www.gamespot.com/a/uploads/original/gamespot/images/2004/reviews/577543-919680_20040603_003.jpg" srcset="https://www.gamespot.com/a/uploads/original/gamespot/images/2004/reviews/577543-919680_20040603_003.jpg 240w" sizes="(max-width: 240px) 100vw, 240px" data-width="240"></a><figcaption>Shrek, Donkey, and Puss 'n' Boots work together to push this stone.</figcaption></figure> </p><p> Younger kids are more likely to enjoy this GBA rendition of Shrek 2 instead of teenagers or adults. That's not a knock on the game's design or how it looks or sounds, but rather it is an observation based on the amount of challenge that each level presents. You have unlimited chances to solve each level and "dying" only puts you back at the beginning of a level. Running into guards and landing on thorny bushes will take one point away from a character's life indicator, but there are plenty of opportunities to find potions that will recover any health you've lost. There are only a few spots here and there where you risk instant "death" by falling into a bottomless pit or getting tagged with a curse. </p><p> So, feel free to pick up Shrek 2 if you're in the mood for a fun and interesting platform-puzzle game that won't take most teens and adults more than three or four hours to complete. Better yet, hand it over to a child under the age of 12 and let him or her try to solve every level and relive the movie. </p> <div class="js-mapped-ad mapped-ad mapped-native-top mapped-native-top-dart" data-ad-type="native-top"><div class="ad-wrap ad-wrap-native-top"></div></div> </div> <div class="content-footer__user-actions has-rhythm"><form name="upvote" method="post" action="/vote/" class="js-upvote-form upvote-form " data-guid="1900-6099879"><button type="submit" id="upvote_upvote" name="upvote[upvote]" class="js-upvote-btn btn btn-upvote btn-pad--small button--primary btn-large" data-guid="1900-6099879"><i><svg width="26" height="28" viewBox="0 0 26 28" aria-hidden="true" class="symbol symbol-thumbs-up symbol--nudge-bottom"><path d="M4 21q0-.406-.297-.703T3 20q-.422 0-.711.297T2 21q0 .422.289.711T3 22q.406 0 .703-.289T4 21zm2.5-8v10q0 .406-.297.703T5.5 24H1q-.406 0-.703-.297T0 23V13q0-.406.297-.703T1 12h4.5q.406 0 .703.297T6.5 13zM25 13q0 1.344-.859 2.328.234.688.234 1.188.047 1.188-.672 2.141.266.875 0 1.828-.234.891-.844 1.469.141 1.75-.766 2.828-1 1.188-3.078 1.219h-2.016q-1.031 0-2.25-.242t-1.898-.453-1.883-.617q-1.922-.672-2.469-.688-.406-.016-.703-.305t-.297-.695V12.985q0-.391.281-.68t.672-.32q.375-.031 1.188-.922t1.578-1.891q1.062-1.359 1.578-1.875.281-.281.484-.75t.273-.758.211-.945q.109-.609.195-.953t.305-.812.531-.781q.297-.297.703-.297.719 0 1.289.164t.938.406.625.633.375.703.187.781.078.703.008.609q0 .594-.148 1.188t-.297.938-.43.875q-.047.094-.156.281t-.172.344-.125.375h4.328q1.219 0 2.109.891t.891 2.109z"/></svg></i><span class="js-upvote-btn__text upvote-btn__text" data-success-msg=" Upvoted (2)" data-has-voted-msg=" Upvoted (1)"> Upvote (1)</span></button><input class="js-upvote-event-tracking" type="hidden"><input type="hidden" id="upvote__token" name="upvote[_token]" data-bb="1" data-token-id="upvote_1900-6099879" autocomplete="off" data-post-render-value="upvote_1900-6099879" data-post-render-param="" value="rodBOzFa4lO4qt4fyMODsDb9EuBAvToEys95aS5RQPFq8JHxEliJlD1O2g==" /><input type="hidden" id="upvote_assocId" name="upvote[assocId]" value="6099879" /><input type="hidden" id="upvote_assocTypeId" name="upvote[assocTypeId]" value="1900" /><li class="hp-row"><label for='upvote__website_url' >Leave Blank</label><div><input type="text" id="upvote__website_url" name="upvote[_website_url]" class="hp-url" tabindex="-1" /></div></li></form><a class="text-custom-bold btn-large btn-pad--small border-round--small button--primary-outline no-hover" href="#comments-block-32563779" rel="nofollow"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-comments"><path d="M22 12q0 2.172-1.469 4.016t-4.008 2.914T11 20q-1.344 0-2.75-.25-1.937 1.375-4.344 2-.562.141-1.344.25h-.047q-.172 0-.32-.125t-.18-.328q-.016-.047-.016-.102t.008-.102.031-.094l.039-.078.055-.086.063-.078.07-.078.063-.07q.078-.094.359-.391t.406-.461.352-.453.391-.602.32-.688q-1.937-1.125-3.047-2.766T0 11.998q0-2.172 1.469-4.016t4.008-2.914T11 3.998t5.523 1.07 4.008 2.914T22 11.998zm6 4q0 1.875-1.109 3.508t-3.047 2.758q.156.375.32.688t.391.602.352.453.406.461.359.391q.016.016.063.07t.07.078.063.078.055.086l.039.078.031.094.008.102-.016.102q-.047.219-.203.344t-.344.109q-.781-.109-1.344-.25-2.406-.625-4.344-2-1.406.25-2.75.25-4.234 0-7.375-2.063.906.063 1.375.063 2.516 0 4.828-.703t4.125-2.016q1.953-1.437 3-3.313T24 12.001q0-1.203-.359-2.375 2.016 1.109 3.187 2.781T28 16.001z"/></svg></i> View Comments (0) </a></div> </section> </article> </div> <aside class="secondary-content span4"> <div class="js-mapped-ad mapped-ad mapped-mpu_top mapped-mpu_top-dart" data-ad-type="mpu_top"><div class="ad-wrap ad-wrap-mpu_top"></div></div> <div class="pod pod-recirc pod-popular hide-mobile"> <header class="pod-header "> <div class="pod-header__item"> <div class="pod-title flexbox-row"> <h4 class="text-custom-bold">Latest News</h4> <span class="pod-div" role="presentation" aria-hidden="true"></span> </div> </div> </header> <div class="pod-recirc__content"> <article class="media media--small" data-guid="1100-6526471"> <a class="js-click-tag" href="/articles/2025-upcoming-games-release-schedule/1100-6526471/" data-click-tag="MoreFrom|1" data-pinned="" data-promo-id="48136" data-top-slot-allowed="1"> <div class="align-vertical--contain"> <figure class="media-figure align-vertical--child"> <div class="media-img"> <img src="https://www.gamespot.com/a/uploads/screen_tiny/1597/15971423/4366582-7633105871-ss_51.jpg" alt="2025 Upcoming Games Release Schedule" /> </div> </figure> <div class="media-body align-vertical--child"> <h3 class="media-title">2025 Upcoming Games Release Schedule</h3> </div> </div> </a> </article> </div> </div> </aside> </div> <div class="review-breakdown"> <div class="review-breakdown__main border-round--medium overflow--hidden color-white"> <div class="review-breakdown__score-container inner-space-small-rem flexbox-align-self-center"> <div class="review-ring-score review-ring-score--breakdown"><div class="review-ring-score__ring centered--margin review-ring-score__ring--6.4 review-ring-score--xlarge "><div class="review-ring-score__score text-bold ">6.4</div></div><span class="review-ring-score__text review-ring-score__text--large text-center text-custom-bold uppercase">Fair</span></div> <a class="review-breakdown__link block text-center text-underline text-bold no-hover color-white" href="/review-guidelines/">About GameSpot Reviews</a> </div> <div class="review-breakdown__lists color-white" style="background-image: linear-gradient(rgba(0, 0, 0, 0.85),rgba(0, 0, 0, 0.85)), url(https://www.gamespot.com/a/uploads/screen_large/469/4693985/2305502-default-art--kubrick.jpg)"> <h4 class="review-breakdown__label text-custom-bold">The Good</h4> <ul class="review-breakdown__list"> <li>N/A</li> </ul> <h4 class="review-breakdown__label text-custom-bold">The Bad</h4> <ul class="review-breakdown__list"> <li></li> </ul> </div> </div> </div> <div class="review-authors no-spacing text-center"> <div class="container row"> <div class="review-authors__main is-alone span8 "> <h3 class="inline-block text-custom-semibold text-medium">About the Author</h3> <div class="review-author review-author--main"> <div class="authorCard authorCard--article"> <div class="align-vertical--contain"> <div class="align-vertical--child authorCard-avatar align-vertical--child--top hide-mobile"> <div class="avatar avatar--circle "> <a href="/profile/GSxxfrank-provoxxGS/" class="img"> <img src="https://www.gamespot.com/a/uploads/square_avatar/1440/14409144/2205910-avatar-default.png" alt="GSxxfrank-provoxxGS"> </a> </div> </div> <div class="align-vertical--child align-vertical--child--top"> <h4 class="authorCard-name"><a href="/profile/GSxxfrank-provoxxGS/content/" rel="author" itemprop="author" class="" ><strong>Frank Provo</strong></a></h4> <div class="authorCard-deck"> </div> <ul class="content-slug__author-social"> </ul> </div> </div> </div> </div> </div> </div> </div> <section id="below-content"> <div class="related-content container"> <div class="related-content__header-container"> <h3 class="related-content__header container">More GameSpot Reviews</h3> </div> </div> <div class="container"> <div class="row"> <div class="primary-content span8 medium-span7 comments"> <div class="well article-comments inner-space-rem overflow--hidden"> <div id="comments-block-32563779" class="js-comments-block comments-block clear "> <a class="js-load-comments btn btn-full btn-primary hide" data-ajax-url="/forums/comments/32563779/?subTopic=0" rel="nofollow" href="/reviews/shrek-2-review/1900-6099879/?comment_page=1#comments-block-32563779"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-comments"><path d="M22 12q0 2.172-1.469 4.016t-4.008 2.914T11 20q-1.344 0-2.75-.25-1.937 1.375-4.344 2-.562.141-1.344.25h-.047q-.172 0-.32-.125t-.18-.328q-.016-.047-.016-.102t.008-.102.031-.094l.039-.078.055-.086.063-.078.07-.078.063-.07q.078-.094.359-.391t.406-.461.352-.453.391-.602.32-.688q-1.937-1.125-3.047-2.766T0 11.998q0-2.172 1.469-4.016t4.008-2.914T11 3.998t5.523 1.07 4.008 2.914T22 11.998zm6 4q0 1.875-1.109 3.508t-3.047 2.758q.156.375.32.688t.391.602.352.453.406.461.359.391q.016.016.063.07t.07.078.063.078.055.086l.039.078.031.094.008.102-.016.102q-.047.219-.203.344t-.344.109q-.781-.109-1.344-.25-2.406-.625-4.344-2-1.406.25-2.75.25-4.234 0-7.375-2.063.906.063 1.375.063 2.516 0 4.828-.703t4.125-2.016q1.953-1.437 3-3.313T24 12.001q0-1.203-.359-2.375 2.016 1.109 3.187 2.781T28 16.001z"/></svg></i> Load Comments (0) </a> </div> </div> </div> <div class="secondary-content span4 medium-span5 hide-mobile"> <div class="js-mapped-ad mapped-ad mapped-mpu_bottom mapped-mpu_bottom-dart" data-ad-type="mpu_bottom"><div class="ad-wrap ad-wrap-mpu_bottom"></div></div> </div> </div> </div> </section> </div> </div> </div> <div class="js-mapped-ad mapped-ad mapped-leader_bottom mapped-leader_bottom-dart" data-ad-type="leader_bottom"><div class="ad-wrap ad-wrap-leader_bottom"></div></div> </div> <footer id="footer" class="mastfooter" role="complementary"><div class="container row"><section class="footer-network"><div class="footer-network-copyright">&copy; 2025 FANDOM, INC. ALL RIGHTS RESERVED. </div><div class="footer-network-about"><div class="footer-network-row"><a href="https://www.fandom.com/privacy-policy-pp1">Privacy Policy</a><a class="ot-sdk-show-settings">Cookie Settings</a><a href="https://www.fandom.com/terms-of-service-pp1" target="_blank">Terms of Use</a><a href="https://gamespothelp.zendesk.com/hc/en-us" target="_blank">Help</a><a href="mailto:sales@fandom.com" target="_blank">Partnerships</a><a href="https://about.fandom.com/careers" target="_blank">Careers</a></div></div></section><section class="footer-links hide-mobile"><ul><li><span class="footer-links__header">More Sites</span></li><li><a href="https://www.giantbomb.com/"><i class="horizontal-spacing-right-5px"><svg width="353.39" height="396.78" viewBox="0 0 353.39 396.78" aria-hidden="true" class="symbol symbol-logo-giantbomb-bomb-outline"><path d="M194.9 334.4c-10-8.94-25.27-12-38.46-8.78a44.4 44.4 0 0 0-9.63 5.26 43.39 43.39 0 0 0-9.57 9.48s-.08-.26-.05-.32a39.75 39.75 0 0 1 7-10.4c-5.11-2-11-1.83-16.46-.26l-.14.06a29.88 29.88 0 0 0-17.45 13.48 7.91 7.91 0 0 0-.85 1.57 18.11 18.11 0 0 0-2 8.22 61 61 0 0 0 6.49 1.24 121.3 121.3 0 0 0 25.68 1.4c17.08-1 34-5.58 48.71-14.5a66.2 66.2 0 0 0 7.71-5.45h-.08a3.87 3.87 0 0 0-.9-1ZM283.43 139.32a140.45 140.45 0 0 0-28.63-27.95C244.63 104 233 97.54 220.56 95c-5.33-1.09-11-1.46-16.3-.1a21 21 0 0 0-7.17 3.29 31.25 31.25 0 0 0-3.7 3.39 157.63 157.63 0 0 1 29.72 13.21 160.89 160.89 0 0 1 44.47 37.93 158 158 0 0 1 27.63 50.68l1.52-1.52a17.41 17.41 0 0 0 1.93-2.27c5.46-7.58 4.64-17.95 2.39-26.52-3.24-12.33-9.91-23.72-17.62-33.77Z" class="cls-1"/><path d="M268.81 180.88a144.15 144.15 0 0 0-157.55-68.34 143.27 143.27 0 0 0-41.95 17.09 145.27 145.27 0 0 0-34.92 29.75 143.33 143.33 0 0 0-32 67.12 144.83 144.83 0 0 0 5.23 72.64 143.34 143.34 0 0 0 16.49 33.47 145.3 145.3 0 0 0 27.62 30.74 144 144 0 0 0 217.08-182.47ZM152.16 199.2c3.56-28 17.38-49.58 31.4-49.58a14 14 0 0 1 1.71.11c14.59 1.85 23.42 27 19.71 56.18-3.56 28-17.38 49.58-31.4 49.58a14 14 0 0 1-1.71-.11c-14.59-1.85-23.42-27-19.71-56.18Zm-86.6-17c6.28-23.49 20.21-40.55 32.34-40.55a12.4 12.4 0 0 1 3.21.41c12.8 3.43 17.62 26.94 10.78 52.53-6.28 23.48-20.21 40.55-32.35 40.55a12.41 12.41 0 0 1-3.21-.42c-12.79-3.47-17.61-26.99-10.77-52.57Zm162.67 120c-3.34 13.84-9.84 26.62-20.14 36.57s-23.63 16.72-37.26 21a117.46 117.46 0 0 1-44.6 4.88 110.79 110.79 0 0 1-21.8-4.05c-5.94-1.71-14.32-3.84-18.42-8.79a2.14 2.14 0 0 1-.53-1.37c-2.76-6.06-2.64-14.14-3.85-20.67S79 316.48 77.19 310a130.19 130.19 0 0 0-7.44-20.15c-1.42-3-3-6-4.66-8.87-1-1.69-2-3.35-3.09-5a38.93 38.93 0 0 0-2.13-3.62 2.51 2.51 0 0 1-1-.65c-3.13-1.82-5.94-4.06-7.5-6.88-.9-1.61.66-4 2.55-3.65 3.42.69 6.18 2.77 9.34 4.22a92.29 92.29 0 0 0 9.1 3.57 107.14 107.14 0 0 0 19.87 4.37 234.9 234.9 0 0 0 46.29 1.65 241.9 241.9 0 0 0 45.44-7.35 149 149 0 0 0 21-6.77 79 79 0 0 0 17.47-10.76 4.11 4.11 0 0 1 2.81-1.86 4.6 4.6 0 0 1 3.82.63 5.37 5.37 0 0 1 2.9 4.72c.4 16.23.09 32.68-3.73 48.58Zm39.57-73a7.22 7.22 0 0 1-1.89.25 7.5 7.5 0 0 1-7.25-5.62A118.41 118.41 0 0 0 227.79 170a7.5 7.5 0 0 1 10.61-10.61A133.34 133.34 0 0 1 273.17 220a7.49 7.49 0 0 1-5.37 9.14ZM353.07 49.58c-1.83-19.12-11.5-37.64-26.62-49.58a58.06 58.06 0 0 1 .77 20.61 55.27 55.27 0 0 1-15.56 31.23c-8 8-18.52 14-29.83 15.55 1.06 1.26 2.37 2.83 2.43 4.55a4.35 4.35 0 0 1-1.62 3.44c-2 1.63-4.66 1.05-6.75 0a15.83 15.83 0 0 1-5.31-4.79 29.67 29.67 0 0 1-5.67-15.16c-5.41 6.24-8.92 14-11.07 21.94a68.06 68.06 0 0 0-2 10.39c-.11 1-.19 1.93-.25 2.9a2.79 2.79 0 0 0 0 .69 2.86 2.86 0 0 0 .58.34l1.16.68c1.72 1 3.41 2.09 5.08 3.2a149.88 149.88 0 0 1 19.7 15.65 156 156 0 0 1 17.4 19.2c.66.86 1.31 1.73 1.95 2.6l.84 1.17c.31.44.15.35.65.29a3.48 3.48 0 0 0 .68-.29q2.87-1.26 5.63-2.72a90 90 0 0 0 10.58-6.56A95.88 95.88 0 0 0 338 102.54c10.81-15.31 16.88-34.15 15.07-52.96Zm-62.49 69.13c-2.79-3.69-4.94-7.66-8.15-11-3.05-3.21-7.56-5.51-10.12-9a2.33 2.33 0 0 1 2-3.78c4.63.5 9 4.58 12.27 7.68 3.65 3.49 7.59 7.94 9.34 12.75 1.14 3.1-3.02 6.42-5.34 3.35Zm8.95-5.73c-3.42-3.07-5.51-7.56-8.73-10.94-3.56-3.72-8-6-11.77-9.39-1.54-1.35-1-4.89 1.59-4.32 5.21 1.14 9.78 4.73 13.64 8.28s8.73 8.46 9.59 13.61c.37 2.18-2.44 4.44-4.32 2.78Zm5.14-9.46C301.36 100 299 96 295.2 92.9c-2.57-2.11-5.55-3.45-8.25-5.25a.8.8 0 0 1-.64-.39 1.8 1.8 0 0 1-.36-.78 1.36 1.36 0 0 1 1.1-1.57c3.42-.64 8.6 4 11 6 3.49 2.93 7.46 6.69 9 11.09a1.44 1.44 0 0 1-2.38 1.52Zm3.42-6.67a39 39 0 0 0-7-7.68c-2.59-2.09-5.44-3.78-8.15-5.7-.51-.36 0-1.07.54-.78 5.69 3.17 12.48 7.6 15.5 13.59.26.53-.54 1.06-.89.57Z" class="cls-1"/><path d="M87.34 193.19c8 2 16.89-6.49 20-18.89s-.87-24.06-8.83-26-16.89 6.49-20 18.89.87 24.02 8.83 26ZM177.21 213.15c9.8 1.24 19.33-10.15 21.27-25.45S194 159 184.24 157.75 164.91 167.9 163 183.2s4.4 28.7 14.21 29.95ZM208 269.26q-2.07.84-4.17 1.59c-2.8 1-5.63 1.92-8.45 2.76-2.11.63-4.22 1.23-6.29 1.81a233 233 0 0 1-24.76 5.43 236.39 236.39 0 0 1-25.2 2.73c-8.22.45-16.47.54-24.71.19a211.14 211.14 0 0 1-24.58-2.46l-2.33-.39a115.78 115.78 0 0 1-16-3.91l-.3-.09.15.27 1.16 2.07.07.11c.13.23.25.45.37.64.75 1.26 1.46 2.54 2.15 3.83l.41.81c.54 1 1.07 2.06 1.58 3.11l.3.66c.52 1.11 1 2.22 1.52 3.34.08.17.14.34.22.51.5 1.18 1 2.36 1.46 3.56v-.07c2.06.32 4.18 1.11 6 1.55l1.16.25q2.21.51 4.41 1c1.35.28 2.7.55 4.06.79s3 .53 4.49.77c3 .49 6 .93 9 1.32 1.51.19 3 .38 4.53.54q4.59.53 9.2.82a211.6 211.6 0 0 0 27.7 0 207 207 0 0 0 23.43-2.89q7-1.26 13.84-3c1.38-.35 2.75-.72 4.11-1.12.51-.14 1-.31 1.52-.46.84-.25 1.69-.5 2.52-.77l1.24-.4 2.76-.92 1.34-.47c.88-.31 1.76-.61 2.63-.93l.63-.23c5.06-1.84 10.06-3.8 15.12-5.71a235.94 235.94 0 0 0 1.35-23.9 70.64 70.64 0 0 1-13.64 7.26Z" class="cls-1"/><path d="M220.27 286v-.12a.51.51 0 0 0 0 .13Z" class="cls-1"/></svg></i>giantbomb.com</a></li><li><a href="https://gamefaqs.gamespot.com/"><i class="footer-social__item footer_logo_gf"></i>gamefaqs.com</a></li><li><a href="https://www.metacritic.com/"><i class="horizontal-spacing-right-5px"><svg xml:space="preserve" width="29.4" height="29.7" style="enable-background:new 0 0 29.4 29.7" viewBox="0 0 29.4 29.7" aria-hidden="true" class="symbol symbol-logo-metacritic-icon-grayscale"><path d="M29.4 14.8c0 8.2-6.7 14.9-14.9 14.9S-.3 23-.3 14.8C-.3 6.7 6.3 0 14.5 0s14.9 6.7 14.9 14.8" style="fill:#ccc"/><path d="M26.5 14.8c0 6.6-5.3 11.9-11.9 11.9S2.7 21.4 2.7 14.8 8 2.9 14.6 2.9c6.5 0 11.9 5.3 11.9 11.9" style="fill:#333"/><path d="M6.8 18.9c-1-1-1.9-1.9-2.7-2.6l2.2-2.2 1.2 1 .1-.1c-.2-.8-.3-2.3 1.1-3.7 1.1-1.1 2.5-1.4 3.7-.8-.1-.8-.1-1.5.1-2.1.2-.7.6-1.4 1.2-2 1.6-1.6 3.9-1.7 6.4.8l4.9 4.9-2.5 2.5-4.5-4.5c-1.2-1.2-2.3-1.5-3.1-.7-.6.6-.6 1.4-.3 2.1.1.2.4.5.6.7l4.9 4.9-2.5 2.5L13 15c-1-1-2.1-1.4-3-.5-.7.7-.5 1.6-.3 2.1.1.3.3.5.6.8l4.8 4.8-2.5 2.5-5.8-5.8z" style="fill:#fefefe"/><path d="M34.8 13.2c0-1.3 0-2.5-.1-3.4h2.8l.1 1.5h.1c.5-.7 1.4-1.7 3.2-1.7 1.4 0 2.5.7 2.9 1.8.4-.6.9-1 1.4-1.3.6-.3 1.3-.5 2-.5 2.1 0 3.6 1.4 3.6 4.7v6.3h-3.2v-5.9c0-1.6-.5-2.5-1.6-2.5-.8 0-1.3.5-1.6 1.2-.1.2-.1.6-.1.8v6.3h-3.2v-6c0-1.3-.5-2.3-1.6-2.3-.9 0-1.4.7-1.6 1.2-.1.3-.1.6-.1.9v6.2h-3.2v-7.3h.2zM60.2 13.9c0-.8-.4-2.2-1.9-2.2-1.4 0-2 1.3-2.1 2.2h4zm-3.9 2.3c.1 1.4 1.5 2.1 3 2.1 1.1 0 2.1-.2 3-.5l.4 2.3c-1.1.5-2.4.7-3.9.7-3.6 0-5.7-2.1-5.7-5.5 0-2.7 1.7-5.7 5.4-5.7 3.5 0 4.8 2.7 4.8 5.4 0 .6-.1 1.1-.1 1.3l-6.9-.1zM69 6.9v2.9h2.4v2.5H69v3.9c0 1.3.3 1.9 1.3 1.9.5 0 .7 0 1-.1v2.5c-.4.2-1.2.3-2.2.3-1.1 0-2-.4-2.5-.9-.6-.7-.9-1.7-.9-3.2v-4.4h-1.4V9.8h1.4v-2l3.3-.9zM79 15.5c-1.8 0-3.1.4-3.1 1.7 0 .9.6 1.3 1.3 1.3.8 0 1.5-.5 1.7-1.2 0-.2.1-.4.1-.6v-1.2zm3.3 2.5c0 1 0 2 .2 2.6h-3l-.2-1.1h-.1c-.7.9-1.8 1.3-3.1 1.3-2.2 0-3.5-1.6-3.5-3.3 0-2.8 2.5-4.1 6.3-4.1v-.1c0-.6-.3-1.4-2-1.4-1.1 0-2.3.4-3 .8l-.6-2.1c.7-.4 2.2-1 4.2-1 3.6 0 4.7 2.1 4.7 4.6l.1 3.8zM93 20.3c-.6.3-1.7.5-3 .5-3.5 0-5.7-2.1-5.7-5.5 0-3.1 2.2-5.7 6.1-5.7.9 0 1.8.2 2.5.4l-.5 2.5c-.4-.2-1-.3-1.9-.3-1.8 0-2.9 1.3-2.9 3 0 2 1.3 3 2.9 3 .8 0 1.4-.1 1.9-.4l.6 2.5zM94.8 13.3c0-1.6 0-2.6-.1-3.5h2.9l.1 2h.1c.5-1.6 1.8-2.2 2.9-2.2.3 0 .5 0 .7.1v3.1c-.3 0-.5-.1-.9-.1-1.2 0-2.1.6-2.3 1.7 0 .2-.1.5-.1.7v5.4h-3.3v-7.2zM103.1 20.5h3.3V9.8h-3.3v10.7zm1.7-12.1c-1.1 0-1.8-.8-1.8-1.8s.7-1.8 1.9-1.8c1.1 0 1.8.8 1.9 1.8-.1 1-.9 1.8-2 1.8zM112.9 6.9v2.9h2.4v2.5h-2.4v3.9c0 1.3.3 1.9 1.3 1.9.5 0 .7 0 1-.1v2.5c-.4.2-1.2.3-2.2.3-1.1 0-2-.4-2.5-.9-.6-.6-.9-1.7-.9-3.2v-4.4h-1.4V9.8h1.4v-2l3.3-.9zM117.2 20.5h3.3V9.8h-3.3v10.7zm1.6-12.1c-1.1 0-1.8-.8-1.8-1.8s.7-1.8 1.9-1.8c1.1 0 1.8.8 1.9 1.8-.1 1-.8 1.8-2 1.8zM131.2 20.3c-.6.3-1.7.5-3 .5-3.5 0-5.7-2.1-5.7-5.5 0-3.1 2.2-5.7 6.1-5.7.9 0 1.8.2 2.5.4l-.5 2.5c-.4-.2-1-.3-1.9-.3-1.8 0-2.9 1.3-2.9 3 0 2 1.3 3 2.9 3 .8 0 1.4-.1 1.9-.4l.6 2.5z" style="fill:#fff"/></svg></i>metacritic.com</a></li><li><a href="https://fandom.com"><i class="horizontal-spacing-right-5px"><svg width="174" height="242" viewBox="0 0 174 242" aria-hidden="true" class="symbol symbol-logo-fandom-icon-grayscale"><path d="M166.935 118.154 50.108 1.273A4.317 4.317 0 0 0 45.405.34a4.314 4.314 0 0 0-2.662 3.99v98.276L7.365 67.22a4.31 4.31 0 0 0-4.702-.933A4.312 4.312 0 0 0 0 70.277v101.487a24.1 24.1 0 0 0 7.07 17.072l46.037 46.099a24.17 24.17 0 0 0 17.068 7.085h33.68a24.14 24.14 0 0 0 17.063-7.075l46.027-46.099A24.133 24.133 0 0 0 174 171.774v-36.533a24.148 24.148 0 0 0-1.834-9.247 24.137 24.137 0 0 0-5.231-7.84z" style="fill:#555"/><path d="M131.297 160.901a7.24 7.24 0 0 1-2.108 5.111l-37.11 37.3a7.231 7.231 0 0 1-7.914 1.582 7.246 7.246 0 0 1-2.355-1.582l-36.99-37.3a7.221 7.221 0 0 1-2.117-5.096v-14.191a7.234 7.234 0 0 1 2.128-5.116l13.317-13.328a7.225 7.225 0 0 1 10.245 0l18.624 18.645 18.596-18.65a7.22 7.22 0 0 1 5.122-2.127 7.228 7.228 0 0 1 5.121 2.127l13.318 13.328a7.218 7.218 0 0 1 2.123 5.116v14.181z" style="fill:#fff"/></svg></i>fandom.com</a></li><li><a href="https://www.fanatical.com"><i class="horizontal-spacing-right-5px"><svg width="400" height="400" preserveAspectRatio="xMinYMid meet" viewBox="0 0 400 400" aria-hidden="true" class="symbol symbol-logo-fanatical-icon-grayscale"><path fill-rule="evenodd" d="M2.876 166.006h284.67c1.17 0 2.233-.68 2.723-1.743l25.863-56.045a3 3 0 0 0-2.722-4.258l-288.918.035C58.448 42.02 124.26 0 199.882 0c110.392 0 199.882 89.543 199.882 200s-89.49 200-199.882 200C89.49 400 0 310.457 0 200c0-11.588.985-22.946 2.876-33.994ZM125.926 328c0 2.21 1.79 4 3.997 4h5.173l62.83-79.011h49.43c1.169 0 2.232-.68 2.722-1.742l25.835-55.976a3.001 3.001 0 0 0-2.722-4.258H125.926V328Z" style="fill:#fff"/></svg></i>fanatical.com</a></li></ul><ul><li><span class="footer-links__header">Reviews</span></li><li><a href="/games/reviews/">Latest Reviews</a></li><li><a href="/reviews/pc/">PC</a></li><li><a href="/reviews/ps4/">PS4</a></li><li><a href="/reviews/xbox-one/">Xbox One</a></li><li><a href="/reviews/nintendo-switch/">Switch</a></li></ul><ul><li><span class="footer-links__header">News</span></li><li><a href="https://www.gamespot.com/news/">Latest News</a></li><li><a href="/games/pc/">PC</a></li><li><a href="/games/ps5/">PS5</a></li><li><a href="/games/xbox-series-x/">Xbox Series X</a></li><li><a href="/games/ps4/">PS4</a></li><li><a href="/games/xbox-one/">Xbox One</a></li><li><a href="/games/nintendo-switch/">Switch</a></li></ul><ul><li><span class="footer-links__header">Shows</span></li><li><a href="https://www.gamespot.com/shows/expert-reacts/">Expert Reacts</a></li><li><a href="https://www.gamespot.com/shows/firearms-expert-reacts/">Firearms Expert Reacts</a></li><li><a href="https://www.gamespot.com/shows/no-hud/">No HUD</a></li><li><a href="https://www.gamespot.com/shows/spot-on/">Spot On</a></li><li><a href="https://www.gamespot.com/shows/the-kurt-locker/">The Kurt Locker</a></li></ul><ul><li><span class="footer-links__header">Talk to Us</span></li><li><a href="https://www.gamespot.com/forums/">Forums</a></li><li class="footer--social-icons"><strong>GameSpot</strong><a href="http://facebook.com/gamespot" target="_blank" rel="nofollow"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-facebook-sign"><path d="M24 21.5q0 1.859-1.32 3.18T19.5 26h-3v-9.5h3.172l.469-3.5H16.5v-2.234q0-.844.438-1.297t1.5-.453L20.501 9V5.766q-1.5-.141-2.812-.141-2.125 0-3.406 1.258t-1.281 3.523V13h-3.5v3.5h3.5V26h-8.5q-1.859 0-3.18-1.32T.002 21.5v-15q0-1.859 1.32-3.18T4.502 2h15q1.859 0 3.18 1.32t1.32 3.18v15z"/></svg></i></a><a href="http://twitter.com/gamespot" target="_blank" rel="nofollow"><i><svg width="26" height="28" viewBox="0 0 26 28" aria-hidden="true" class="symbol symbol-twitter"><path d="M25.312 6.375q-1.047 1.531-2.531 2.609.016.219.016.656 0 2.031-.594 4.055t-1.805 3.883-2.883 3.289-4.031 2.281T8.437 24q-4.234 0-7.75-2.266.547.063 1.219.063 3.516 0 6.266-2.156-1.641-.031-2.938-1.008t-1.781-2.492q.516.078.953.078.672 0 1.328-.172-1.75-.359-2.898-1.742t-1.148-3.211v-.063q1.062.594 2.281.641-1.031-.688-1.641-1.797t-.609-2.406q0-1.375.688-2.547Q4.298 7.25 7.009 8.649t5.805 1.555q-.125-.594-.125-1.156 0-2.094 1.477-3.57t3.57-1.477q2.188 0 3.687 1.594 1.703-.328 3.203-1.219-.578 1.797-2.219 2.781 1.453-.156 2.906-.781z"/></svg></i></a><a href="http://youtube.com/gamespot" target="_blank" rel="nofollow"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-youtube-play"><path d="M20 14q0-.578-.469-.844l-8-5q-.484-.313-1.016-.031-.516.281-.516.875v10q0 .594.516.875.25.125.484.125.313 0 .531-.156l8-5q.469-.266.469-.844zm8 0q0 1.5-.016 2.344t-.133 2.133-.352 2.305q-.25 1.141-1.078 1.922t-1.937.906q-3.469.391-10.484.391T3.516 23.61q-1.109-.125-1.945-.906T.485 20.782q-.219-1.016-.336-2.305t-.133-2.133T0 14t.016-2.344.133-2.133.352-2.305q.25-1.141 1.078-1.922t1.937-.906Q6.985 3.999 14 3.999t10.484.391q1.109.125 1.945.906t1.086 1.922q.219 1.016.336 2.305t.133 2.133T28 14z"/></svg></i></a><a class="footer--social-instagram" href="http://instagram.com/gamespot" target="_blank" rel="nofollow"><i><svg xml:space="preserve" width="28" height="28" viewBox="-705 887 28 28" aria-hidden="true" class="symbol symbol-instagram"><path fill-rule="evenodd" d="M-683.8 899.1h-2.1c.2.6.2 1.2.2 1.8 0 4.1-3.3 7.4-7.4 7.4-4.1 0-7.4-3.3-7.4-7.4 0-.6.1-1.3.2-1.8h-2.1v10.1c0 .5.4.9.9.9h16.6c.5 0 .9-.4.9-.9v-10.1zm0-6.4c0-.5-.4-.9-.9-.9h-2.8c-.5 0-.9.4-.9.9v2.8c0 .5.4.9.9.9h2.8c.5 0 .9-.4.9-.9v-2.8zm-9.2 3.7c-2.5 0-4.6 2.1-4.6 4.6 0 2.5 2.1 4.6 4.6 4.6s4.6-2.1 4.6-4.6c0-2.6-2.1-4.6-4.6-4.6m9.2 16.6h-18.5c-1.5 0-2.8-1.2-2.8-2.8v-18.4c0-1.5 1.2-2.8 2.8-2.8h18.5c1.5 0 2.8 1.2 2.8 2.8v18.4c0 1.5-1.3 2.8-2.8 2.8" clip-rule="evenodd"/></svg></i></a><a href="https://flipboard.com/@gamespot?utm_source=gamespot&utm_medium=follow&utm_campaign=tools" target="_blank" rel="nofollow"><i><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true" class="symbol symbol-flipboard"><path d="M10.7 0H0v32h10.7V10.7z"/><path d="M21.4 0H10.7v10.7H32V0z" opacity=".8"/><path d="M10.7 10.7h10.7v10.7H10.7z" opacity=".6"/></svg></i></a><a href="/feeds/" title="RSS Feeds"><i><svg width="22" height="28" viewBox="0 0 22 28" aria-hidden="true" class="symbol symbol-rss"><path d="M6 21q0 1.25-.875 2.125T3 24t-2.125-.875T0 21t.875-2.125T3 18t2.125.875T6 21zm8 1.922q.031.438-.266.75Q13.453 24 13 24h-2.109q-.391 0-.672-.258t-.313-.648q-.344-3.578-2.883-6.117T.906 14.094q-.391-.031-.648-.313T0 13.109V11q0-.453.328-.734Q.594 10 1 10h.078q2.5.203 4.781 1.258t4.047 2.836q1.781 1.766 2.836 4.047T14 22.922zm8 .031q.031.422-.281.734Q21.438 24 21 24h-2.234q-.406 0-.695-.273t-.305-.664q-.187-3.359-1.578-6.383t-3.617-5.25-5.25-3.617T.938 6.219q-.391-.016-.664-.305t-.273-.68V3q0-.438.313-.719Q.595 2 1.002 2h.047q4.094.203 7.836 1.875t6.648 4.594q2.922 2.906 4.594 6.648t1.875 7.836z"/></svg></i></a></li><li class="footer--social-icons"><strong>GameSpot Entertainment</strong><a href="http://facebook.com/GameSpotUniverse" target="_blank" rel="nofollow"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-facebook-sign"><path d="M24 21.5q0 1.859-1.32 3.18T19.5 26h-3v-9.5h3.172l.469-3.5H16.5v-2.234q0-.844.438-1.297t1.5-.453L20.501 9V5.766q-1.5-.141-2.812-.141-2.125 0-3.406 1.258t-1.281 3.523V13h-3.5v3.5h3.5V26h-8.5q-1.859 0-3.18-1.32T.002 21.5v-15q0-1.859 1.32-3.18T4.502 2h15q1.859 0 3.18 1.32t1.32 3.18v15z"/></svg></i></a><a href="http://twitter.com/gsuniverse" target="_blank" rel="nofollow"><i><svg width="26" height="28" viewBox="0 0 26 28" aria-hidden="true" class="symbol symbol-twitter"><path d="M25.312 6.375q-1.047 1.531-2.531 2.609.016.219.016.656 0 2.031-.594 4.055t-1.805 3.883-2.883 3.289-4.031 2.281T8.437 24q-4.234 0-7.75-2.266.547.063 1.219.063 3.516 0 6.266-2.156-1.641-.031-2.938-1.008t-1.781-2.492q.516.078.953.078.672 0 1.328-.172-1.75-.359-2.898-1.742t-1.148-3.211v-.063q1.062.594 2.281.641-1.031-.688-1.641-1.797t-.609-2.406q0-1.375.688-2.547Q4.298 7.25 7.009 8.649t5.805 1.555q-.125-.594-.125-1.156 0-2.094 1.477-3.57t3.57-1.477q2.188 0 3.687 1.594 1.703-.328 3.203-1.219-.578 1.797-2.219 2.781 1.453-.156 2.906-.781z"/></svg></i></a><a href="http://youtube.com/GameSpotUniverse" target="_blank" rel="nofollow"><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-youtube-play"><path d="M20 14q0-.578-.469-.844l-8-5q-.484-.313-1.016-.031-.516.281-.516.875v10q0 .594.516.875.25.125.484.125.313 0 .531-.156l8-5q.469-.266.469-.844zm8 0q0 1.5-.016 2.344t-.133 2.133-.352 2.305q-.25 1.141-1.078 1.922t-1.937.906q-3.469.391-10.484.391T3.516 23.61q-1.109-.125-1.945-.906T.485 20.782q-.219-1.016-.336-2.305t-.133-2.133T0 14t.016-2.344.133-2.133.352-2.305q.25-1.141 1.078-1.922t1.937-.906Q6.985 3.999 14 3.999t10.484.391q1.109.125 1.945.906t1.086 1.922q.219 1.016.336 2.305t.133 2.133T28 14z"/></svg></i></a></li></ul></section><section class="footer-site"><a href="https://www.gamespot.com/" class="footer-logo"><i><svg width="1631.76" height="517.06" viewBox="0 0 1631.76 517.06" aria-hidden="true" class="symbol symbol-logo-outline-full"><path d="M1510 137.41a119.48 119.48 0 0 0-75.43 27l60.12-88.74-111.09 75.38L1411 19.51l-73.82 112.37L1311.82 0l-25.16 131.87-73.71-112 27.2 131.23-110.9-75 60 88.07a119.78 119.78 0 0 0-75.55-26.71c-41.34 0-77.15 20.59-99.43 51.75-22-31.16-58-51.75-99.3-51.75a121.52 121.52 0 0 0-99.24 51.75 121.49 121.49 0 0 0-99.21-51.75c-40.94 0-77.15 20.59-99.33 51.75a120.86 120.86 0 0 0-99-51.75c-41 0-77.23 20.59-99.53 51.75a120.74 120.74 0 0 0-99-51.75c-41 0-77.12 20.59-99.44 51.75a120.69 120.69 0 0 0-99.12-51.75C54.43 137.41 0 191.87 0 258.72S54.43 380 121.12 380a120.32 120.32 0 0 0 99.12-51.62c22.33 31.23 58.49 51.62 99.45 51.62a120.37 120.37 0 0 0 99-51.62C441 359.61 477.28 380 518.25 380a120.49 120.49 0 0 0 99-51.62 121.26 121.26 0 0 0 198.54 0 121.26 121.26 0 0 0 198.54 0c22.28 31.26 58.09 51.62 99.43 51.62 28.3 0 54.33-9.83 75.55-25.91l-60 87.21 111.12-75.21-27.22 131.36 73.73-112.09 25.06 131.7 25.5-131.72 73.71 111.88-27.42-131.37 111.12 75.34-59.15-86.55A121.82 121.82 0 0 0 1510 380c67.4 0 121.71-54.42 121.71-121.26S1577.44 137.41 1510 137.41Zm.76 225.84c-46 0-78.72-26.79-121-53.28l51.68 77.52-79.84-55.27 24.57 98.27-55.27-86-18.36 98.26-18.49-98.26-55.27 86 24.57-98.27-79.85 55.27 51.14-76.71c-42.47 26.22-76.33 52.46-121.17 52.46a104.7 104.7 0 0 1-99.32-71.68 104.65 104.65 0 0 1-198.64 0 104.65 104.65 0 0 1-198.64 0 104.65 104.65 0 0 1-198.64 0 104.65 104.65 0 0 1-198.64 0 104.73 104.73 0 1 1 0-66.1 104.65 104.65 0 0 1 198.64 0 104.65 104.65 0 0 1 198.64 0 104.65 104.65 0 0 1 198.64 0 104.65 104.65 0 0 1 198.64 0 104.7 104.7 0 0 1 99.32-71.68c46.59 0 78.7 26.25 121.17 52.46l-51.14-76.71 79.85 55.28-24.57-98.27 55.27 86 18.38-98.27 18.57 98.28 55.27-86-24.57 98.27 79.84-55.28-50.64 76c42.19-26 78.93-51.72 119.94-51.72a104.73 104.73 0 0 1 0 209.46Z"/><path d="M136.2 280.15a8.92 8.92 0 0 1-2.94 6.85c-1.92 1.72-4.39 2.16-7.18 2.16a24 24 0 0 1-18.81-8.58c-5.25-5.91-7.81-13.08-7.81-21.85s2.67-16.52 8.4-22.61c6.21-6.63 14.41-10 24.91-10a55.78 55.78 0 0 1 15.21 2 63 63 0 0 1 10.67 3.53l3.81-14.57c-9.32-3.41-14.58-5.11-15.65-5.33-6.91-1.74-15.26-2.47-25.82-2.47-16.12 0-29.36 4.71-39.86 14.36C70.9 233 66 244.69 66 258.6c0 13.6 5.25 25.2 15.2 34.84a52.57 52.57 0 0 0 36.92 14.26 73.35 73.35 0 0 0 15.16-1.85c12.42-2.57 20.39-3.85 23.52-3.85a18.05 18.05 0 0 1 10.4 2.77v-44.54h-31ZM308.4 212.23l-43.31 92.56h18.71l6.92-15h42.42l6.9 15h34.07l-43.5-92.56Zm-9.81 60.86 13.24-28.58 13.32 28.58ZM517.91 252.84l-28.55-40.62h-25.93v92.56h17.13v-51.62l20.14 29.33h17.21l23.56-33.6v55.89h30.91v-92.56h-25.65l-28.82 40.62zM677.93 304.78h76.22v-16.79H709.2v-24.87h31.08v-16.93H709.2v-17.13h44.95v-16.84h-76.22v92.56zM924.15 245.87c-6.33-2.34-10.84-4.62-13.66-6.65s-3.9-4-3.9-5.65a5 5 0 0 1 2.39-4.4 13.87 13.87 0 0 1 6.92-1.63 57.86 57.86 0 0 1 16 2.27 70.33 70.33 0 0 1 14 6.76l8.35-12.57a70.11 70.11 0 0 0-18.25-9.85 66.35 66.35 0 0 0-24.85-4.79q-16.81 0-27.49 8.68c-6.69 5.34-10.17 12-10.17 19.93 0 6.43 2.28 11.89 7 16.89s11.62 9.48 21.33 13c14.46 5.57 21.74 10.1 21.74 13.61a6.14 6.14 0 0 1-3.16 5.53c-2.36 1.72-5.24 2.16-9.21 2.16-6.11 0-11.68-.76-16.67-2.92a54.94 54.94 0 0 1-14.66-8.9l-9.34 11.38a61.93 61.93 0 0 0 18.58 13.18 59.16 59.16 0 0 0 26.15 5.8c13.07 0 23.57-2.92 31.63-8.9 7.49-5.57 11.13-12 11.13-19.48a25.2 25.2 0 0 0-7-17.78c-5.43-6.04-14.22-11.61-26.86-15.67ZM1157.51 221.11c-7.93-6-17.35-8.88-28.29-8.88h-52.83v92.56h31.3v-30.85h21.53c10.94 0 20.36-3.13 28.29-9.21 7.72-6 11.48-13.38 11.48-21.84s-3.76-15.76-11.48-21.78Zm-24.43 31.38a20.71 20.71 0 0 1-13.05 4.11h-12.34v-27.54H1120a22.34 22.34 0 0 1 13.05 4.18c3.55 2.78 5.36 6.19 5.36 9.66.02 3.95-1.79 7.03-5.34 9.58ZM1349.28 223.58c-9.75-9.53-21.94-14.23-36.65-14.23-14.22 0-26.44 4.71-36.61 14.23-9.87 9.66-14.9 21.35-14.9 35s5 25.2 14.9 34.84a52.15 52.15 0 0 0 36.61 14.26c14.7 0 26.9-4.72 36.65-14.26 10.41-9.64 15.33-21.24 15.33-34.84s-5.16-25.34-15.33-35Zm-23.56 56.78c-3.74 6.13-7.95 8.81-12.87 8.81s-9.4-2.61-13.16-8.58a46.53 46.53 0 0 1 0-43.73c4-6.19 8.24-9.33 13.16-9.33s9.57 3.14 13.09 9c3.74 6.09 5.56 13.37 5.56 22 0 8.54-1.81 15.95-5.78 21.83ZM1464.79 229.06h30.32v75.72h30.68v-75.72h30.19v-16.84h-91.19v16.84z"/></svg></i></a></section></div></footer> </div> <meta name="ssbfo" content="Rp2o4sRtvuLBGwyMn9vTphx+IbOUJK3k6l+z9bzNkl4Ovo6472r54FTXkw==" /> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/runtime.f3227141.js"></script><script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/9755.9624b0f9.js"></script><script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/jQueryShim.e2c993b0.js"></script> <script src="https://www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/js/compiled/header_js.js" type="text/javascript"></script> <script src="https://www.gamespot.com/a/video-player/uvpjs-rv/3.2.1/video-player.js"></script> <script class="js-site-state--allow-sticky" src="https://www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/js/compiled/all-jscore.js" data-allow-sticky="true"></script> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/1303.f5dd18d3.js"></script><script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/videoPlayer.0f7ecb4b.js"></script> <script src="https://www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/js/compiled/all-jslibs.js"></script> <script src="https://www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/js/compiled/all.js"></script> <script async src="https://www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/js/compiled/masthead.js"></script> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/phoenixCore.9fedf8c0.js"></script> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/6367.ed896510.js"></script><script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/commonPageLoad.15b3b142.js"></script> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/phoenixWindow.4b91a280.js"></script> <script id="imageInfoBarTemplate" type="text/template"><a href="<%= profileUrl %>" class="avatar img"><img src="<%= avatar %>" /></a><div><a href="<%= profileUrl %>"><%= author %></a> uploaded on <%= dateCreated %>. </div></script> <script id="imageCommentsTemplate" type="text/template"> <li class="text-bold"> <a href="<%= user.url %>" class="avatar img"> <img src="<%= user.img %>" /> </a> <div> <a href="<%= user.url %>"><%= user.username %></a> <%= body %> </div> </li> </script> <script id="imageFilmstripTemplate" type="text/template"><li><a href="#imageViewer<%= id %>" data-ref-id="<%= id %>"><img src="https://www.gamespot.com/a/bundles/phoenixsite/images/core/loose/blank.gif" data-img-src="<%= thumbnail %>" /></a></li></script> <div id="js-filmstrip" class="filmstrip filmstrip-with-ads is-hidden" itemscope tabindex="-1" ><meta class="js-tracking-settings image_view-tracking-settings" content="" id="image_view-tracking-comscore" itemprop="image_view-tracking-comscore" data-tracking-service="comscore" data-settings="{&quot;c1&quot;:&quot;2&quot;,&quot;c2&quot;:&quot;31824268&quot;,&quot;cs_ucfr&quot;:&quot;1&quot;}"><meta class="js-tracking-settings image_view-tracking-settings" content="" id="image_view-tracking-google_tag_manager" itemprop="image_view-tracking-google_tag_manager" data-tracking-service="google_tag_manager" data-settings="{&quot;content_id&quot;:&quot;gs-1900-6099879&quot;,&quot;env&quot;:&quot;prod&quot;,&quot;data&quot;:{&quot;brand&quot;:&quot;GameSpot&quot;,&quot;siteType&quot;:&quot;responsive web&quot;,&quot;siteSection&quot;:&quot;reviews&quot;,&quot;siteHier&quot;:&quot;Reviews|Game Review&quot;,&quot;pageType&quot;:&quot;review&quot;,&quot;articleId&quot;:&quot;gs-1900-6099879&quot;,&quot;articleType&quot;:&quot;review&quot;,&quot;articleTitle&quot;:&quot;Shrek 2 Review&quot;,&quot;articleSource&quot;:&quot;CBSi&quot;,&quot;articleAuthorId&quot;:[&quot;gs-2100-111&quot;],&quot;topicName&quot;:[&quot;Reviews&quot;,&quot;Game Review&quot;],&quot;productId&quot;:&quot;gs-5000-18338&quot;,&quot;productName&quot;:&quot;Shrek 2|shrek&quot;,&quot;productGenre&quot;:[&quot;2D&quot;,&quot;Action&quot;,&quot;Platformer&quot;],&quot;productPlatform&quot;:[&quot;Game Boy Advance&quot;],&quot;verticalName&quot;:&quot;ent&quot;}}"><meta class="js-tracking-settings image_view-tracking-settings" content="" id="image_view-tracking-trackonomics" itemprop="image_view-tracking-trackonomics" data-tracking-service="trackonomics" data-settings="1"><meta class="ad-settings page-event-ad-settings" id="image_view-ad-settings" itemprop="page-event-ad-settings" data-settings="{&quot;page_event_name&quot;:&quot;image_view&quot;,&quot;mapped_units&quot;:{&quot;overlay_mpu_top&quot;:{&quot;size&quot;:[[300,250]],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;,&quot;ptype&quot;:&quot;image&quot;},&quot;on_event&quot;:&quot;image_view&quot;},&quot;overlay_leader_top&quot;:{&quot;size&quot;:[[970,66],[728,90]],&quot;target&quot;:{&quot;pos&quot;:&quot;top&quot;,&quot;ptype&quot;:&quot;image&quot;},&quot;on_event&quot;:&quot;image_view&quot;}}}"><div id="js-image-mask" class="image-mask"></div><div id="js-image-ad-leader" class="image-viewer-ad image-viewer-leader"><div class="js-mapped-ad mapped-ad mapped-overlay_leader_top mapped-overlay_leader_top-dart" data-ad-type="overlay_leader_top"><div class="ad-wrap ad-wrap-overlay_leader_top" data-ad-event="image_view"></div></div></div><a id="js-image-close" href="#" class="image-control image-close" title="Close Viewer"><i><svg width="22" height="28" viewBox="0 0 22 28" aria-hidden="true" class="symbol symbol-remove symbol--size-3x"><path d="M20.281 20.656q0 .625-.438 1.062l-2.125 2.125q-.438.438-1.062.438t-1.062-.438L11 19.249l-4.594 4.594q-.438.438-1.062.438t-1.062-.438l-2.125-2.125q-.438-.438-.438-1.062t.438-1.062L6.751 15l-4.594-4.594q-.438-.438-.438-1.062t.438-1.062l2.125-2.125q.438-.438 1.062-.438t1.062.438L11 10.751l4.594-4.594q.438-.438 1.062-.438t1.062.438l2.125 2.125q.438.438.438 1.062t-.438 1.062L15.249 15l4.594 4.594q.438.438.438 1.062z"/></svg></i></a><div id="js-image-pane" class="image-pane"><h3 id="js-image-title" class="image-title"></h3><img tabindex="0" src="" id="imageSource" alt="" /><div id="js-image-commands-tip" class="image-commands-tip image-commands-tip-hide"><p>Use your keyboard!</p><ul class="keyboard light"><li><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-arrow-left symbol--size-large"><path d="M24 14v2q0 .828-.508 1.414t-1.32.586h-11l4.578 4.594q.594.562.594 1.406t-.594 1.406l-1.172 1.188q-.578.578-1.406.578-.812 0-1.422-.578L1.578 16.407Q1 15.829 1 15.001q0-.812.578-1.422L11.75 3.423q.594-.594 1.422-.594.812 0 1.406.594l1.172 1.156q.594.594.594 1.422t-.594 1.422l-4.578 4.578h11q.812 0 1.32.586T24 14.001z"/></svg></i></li><li><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-arrow-right symbol--size-large"><path d="M23 15q0 .844-.578 1.422L12.25 26.594q-.609.578-1.422.578-.797 0-1.406-.578L8.25 25.422q-.594-.594-.594-1.422t.594-1.422L12.828 18h-11q-.812 0-1.32-.586T0 16v-2q0-.828.508-1.414T1.828 12h11L8.25 7.406Q7.656 6.844 7.656 6t.594-1.406l1.172-1.172q.594-.594 1.406-.594.828 0 1.422.594l10.172 10.172Q23 14.141 23 15z"/></svg></i></li><li><i><svg width="26" height="28" viewBox="0 0 26 28" aria-hidden="true" class="symbol symbol-arrow-up symbol--size-large"><path d="M25.172 15.172q0 .797-.578 1.406l-1.172 1.172q-.594.594-1.422.594-.844 0-1.406-.594L16 13.172v11q0 .812-.586 1.32T14 26h-2q-.828 0-1.414-.508T10 24.172v-11L5.406 17.75q-.562.594-1.406.594t-1.406-.594l-1.172-1.172q-.594-.594-.594-1.406 0-.828.594-1.422L11.594 3.578Q12.141 3 13 3q.844 0 1.422.578L24.594 13.75q.578.609.578 1.422z"/></svg></i></li><li><i><svg width="26" height="28" viewBox="0 0 26 28" aria-hidden="true" class="symbol symbol-arrow-down symbol--size-large"><path d="M25.172 13q0 .828-.578 1.406L14.422 24.593q-.609.578-1.422.578-.828 0-1.406-.578L1.422 14.406Q.828 13.844.828 13q0-.828.594-1.422l1.156-1.172Q3.187 9.828 4 9.828q.828 0 1.406.578L10 15V4q0-.812.594-1.406T12 2h2q.812 0 1.406.594T16 4v11l4.594-4.594q.578-.578 1.406-.578.812 0 1.422.578l1.172 1.172q.578.609.578 1.422z"/></svg></i></li><li>ESC</li></ul></div><a href="#" tabindex="0" id="js-image-prev" class="image-control image-prev hidden" title="Previous Image"><i><svg width="10" height="28" viewBox="0 0 10 28" aria-hidden="true" class="symbol symbol-caret-left symbol--size-2x"><path d="M10 7v14q0 .406-.297.703T9 22t-.703-.297l-7-7Q1 14.406 1 14t.297-.703l7-7Q8.594 6 9 6t.703.297T10 7z"/></svg></i></a><a href="#" tabindex="0" id="js-image-next" class="image-control image-next hidden" title="Next Image"><i><svg width="10" height="28" viewBox="0 0 10 28" aria-hidden="true" class="symbol symbol-caret-right symbol--size-2x"><path d="M9 14q0 .406-.297.703l-7 7Q1.406 22 1 22t-.703-.297T0 21V7q0-.406.297-.703T1 6t.703.297l7 7Q9 13.594 9 14z"/></svg></i></a></div><div id="js-side-column" class="image-comments"><div id="js-image-ad-mpu" class="image-viewer-ad image-viewer-mpu"><div class="js-mapped-ad mapped-ad mapped-overlay_mpu_top mapped-overlay_mpu_top-dart" data-ad-type="overlay_mpu_top"><div class="ad-wrap ad-wrap-overlay_mpu_top" data-ad-event="image_view"></div></div></div><ul><li class="upload text-bold" id="imageInfo"></li><li class="box login-alert text-bold"><p><a href="/login/">Log in</a> to comment</p></li></ul><ul class="scroll" id="imageComments"></ul></div><div class="image-strip"><a tabindex="0" href="#" id="js-image-view-film" class="image-view-film"><span id="js-btn-message" class="caret-message"></span><i><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-caret-down symbol--size-large"><path fill-rule="evenodd" d="M24 10.222c0 .331-.117.618-.352.86l-8.313 8.555A1.126 1.126 0 0 1 14.5 20c-.322 0-.6-.12-.835-.363l-8.313-8.555a1.192 1.192 0 0 1-.352-.86c0-.331.117-.618.352-.86.235-.241.514-.362.836-.362h16.624c.322 0 .6.12.836.363.235.241.353.528.352.86Z"/></svg></i></a><div class="number"></div><ul id="js-image-strip"><li id="js-image-strip-load-more"><a href="#" class="more-images"></a></li></ul></div></div> <script src="https://www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/js/compiled/imageViewer.js" type="text/javascript"></script> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/gsCore.cd8ca91a.js"></script> <!-- BEG: base custom_js --> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/gsReview.517b99a3.js"></script> <!-- END: base custom_js --> <!-- Begin Comscore Tag --> <script> PhoenixLoader.gdprConsentCallback("comscore", function () { window._comscore = window._comscore || []; window._comscore.push({"c1":"2","c2":"31824268","cs_ucfr":"1"}); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = "https://sb.scorecardresearch.com/cs/31824268/beacon.js"; el.parentNode.insertBefore(s, el); })(); }, 'performance' ); </script> <noscript> <img src="https://sb.scorecardresearch.com/p?c1=2&c2=31824268&cs_ucfr=1&cv=3.6&cj=1" alt=""> </noscript> <!-- End Comscore Tag --> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/tracking.084bc0df.js"></script> <!-- Global site tag (gtag.js) - Google Ads: 659993574 --> <script type="text/plain" class="optanon-category-C0004" id="script_googleTagManager" src="https://www.googletagmanager.com/gtag/js?id=AW-659993574" async></script> <script> PhoenixLoader.gdprConsentCallback("googlePixel", function () { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-659993574'); }, 'targeting'); </script> <script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/3112.c91b04ac.js"></script><script src="//www.gamespot.com/a/v626cd7ba6c31a4388e82c3823108badf/build/adsBidBarrel.8d43a872.js"></script> <div id="liveMessageOverlay" class="live_message-overlay full-cover-fixed text-center base-flexbox flexbox-justify-center flexbox-align-center" style="display:none;"> <div id="liveMessageInner" class="live_message-container inner-space-rem bg-white"> <span> <i class="vertical-spacing-small-bottom"><svg width="28" height="28" viewBox="0 0 28 28" aria-hidden="true" class="symbol symbol-info-sign"><path d="M16 21.5V19q0-.219-.141-.359T15.5 18.5H14v-8q0-.219-.141-.359T13.5 10h-5q-.219 0-.359.141T8 10.5V13q0 .219.141.359t.359.141H10v5H8.5q-.219 0-.359.141T8 19v2.5q0 .219.141.359T8.5 22h7q.219 0 .359-.141T16 21.5zm-2-14V5q0-.219-.141-.359T13.5 4.5h-3q-.219 0-.359.141T10 5v2.5q0 .219.141.359T10.5 8h3q.219 0 .359-.141T14 7.5zM24 14q0 3.266-1.609 6.023t-4.367 4.367-6.023 1.609-6.023-1.609-4.367-4.367T.002 14t1.609-6.023T5.978 3.61t6.023-1.609 6.023 1.609 4.367 4.367T24 14z"/></svg></i> </span> <p id="liveMessageContent"></p> <a onclick="closeOverlay();" class="live_message-close btn btn-large btn-default vertical-spacing-small-top">Close</a> </div> </div> <script id="js-template-autocomplete-result-pod" type="text/template"><span class="<%= data.resultPodClass %>"><span><%= data.resultDisplayName %></span><i><svg width="22" height="28" viewBox="0 0 22 28" aria-hidden="true" class="symbol symbol-remove"><path d="M20.281 20.656q0 .625-.438 1.062l-2.125 2.125q-.438.438-1.062.438t-1.062-.438L11 19.249l-4.594 4.594q-.438.438-1.062.438t-1.062-.438l-2.125-2.125q-.438-.438-.438-1.062t.438-1.062L6.751 15l-4.594-4.594q-.438-.438-.438-1.062t.438-1.062l2.125-2.125q.438-.438 1.062-.438t1.062.438L11 10.751l4.594-4.594q.438-.438 1.062-.438t1.062.438l2.125 2.125q.438.438.438 1.062t-.438 1.062L15.249 15l4.594 4.594q.438.438.438 1.062z"/></svg></i><input type="hidden" name="<%= data.resultInputName %>"<% _.each(data.resultDataStore, function(value, key) { %>data-<%= key %>="<%= value %>" <% }) %> value="<%= data.resultInputValue %>"></span></script><script id="js-template-autocomplete-results" type="text/template"><div class="dropdown--autocomplete"><ul class="js-autocomplete-list autocomplete-list bordered-list no-list-style no-list-style no-inner-space no-spacing"><% if (data.showNotificationBar) { %><li class="js-autocomplete-notification-bar notification-bar color-tertiary"><span class="js-autocomplete-notification-text notification-text">Searching for</span> &quot;<span class="js-autocomplete-notification-term notification-term"></span>&quot;</li><% } %></ul><div class="js-loader loader"><div class="loader-animation"><div class="loading"></div></div></div></div></script><script id="js-template-autocomplete-results-legacy" type="text/template"><div class="dropdown-menu typeahead typeahead-full"><ul class="js-autocomplete-list autocomplete-list no-list-style no-inner-space no-spacing"><% if (data.showNotificationBar) { %><li class="js-autocomplete-notification-bar notificationBar"><span class="js-autocomplete-notification-text notification-text">Searching for</span> &quot;<span class="js-autocomplete-notification-term notification-term"></span>&quot;</li><% } %></ul><div class="js-loader loader"><div class="loader-animation"><div class="loading"></div></div></div></div></script><script id="js-template-autocomplete-result-item" type="text/template"><li <% if (data.resultEmbargoed) { %>class="embargoed"<% } %>><% if (data.hasResult) { %><% if (data.resultUrl) { %><a class="no-hover flexbox-row resultWrap js-result-wrap<% if (data.textOnly) { print(' resultWrap--textOnly'); } %>" href="<%= data.resultUrl %>" section="suggestedSearch" data-key="<%= data.resultUrlDataKey %>" data-id="<%= data.resultUrlDataId %>" data-type="<%= data.resultUrlDataType %>"><% } else { %><div class="flexbox-row resultWrap js-result-wrap<% if (data.textOnly) { print(' resultWrap--textOnly'); } %>"><% } %><% if (data.resultImage || !data.textOnly) { %><div class="link-img"><img src="<%= data.resultImage || 'https://www.gamespot.com/a/bundles/phoenixsite/images/core/loose/no-image-30x30.png' %>"></div><% } %><div class="flexbox-row flexbox-wrap flexbox-justify-between"><span class="result-name"><%= data.resultName %></span><% if (data.resultType) { %><span class="result-type"><%= data.resultType %></span><% } %></div><% if (data.resultUrl) { %></a><% } else { %></div><% } %><% } else { %><% if (data.emptyText) { %><div class="noResults"><%= data.emptyText %></div><% } %><% } %></li></script><script id="js-template-autocomplete-result-item-legacy" type="text/template"><li <% if (data.resultEmbargoed) { %>class="embargoed"<% } %>><% if (data.hasResult) { %><% if (data.resultUrl) { %><a class="no-hover resultWrap js-result-wrap<% if (data.textOnly) { print(' resultWrap--textOnly'); } %>" href="<%= data.resultUrl %>" section="suggestedSearch" data-key="<%= data.resultUrlDataKey %>" data-id="<%= data.resultUrlDataId %>" data-type="<%= data.resultUrlDataType %>"><% } else { %><div class="resultWrap js-result-wrap<% if (data.textOnly) { print(' resultWrap--textOnly'); } %>"><% } %><% if (data.resultImage || !data.textOnly) { %><img src="<%= data.resultImage || 'https://www.gamespot.com/a/bundles/phoenixsite/images/core/loose/no-image-30x30.png' %>"><% } %><div class="flexbox-row flexbox-wrap flexbox-justify-between"><span class="result-name"><%= data.resultName %></span><% if (data.resultType) { %><span class="result-type"><%= data.resultType %></span><% } %></div><% if (data.resultUrl) { %></a><% } else { %></div><% } %><% } else { %><% if (data.emptyText) { %><div class="noResults"><%= data.emptyText %></div><% } %><% } %></li></script><script id="js-template-autocomplete-pagination" type="text/template"><li class="js-autocomplete-page <%= data.direction %>" data-direction="<%= data.direction %>"><% if (data.direction === "next") { %>See more results<% } else { %>See previous results<% } %></li></script> <script id="js-underscore-template-default-buylink" type="text/template"><% var linkText = link.text %><% var linkUrl = link.rawUrl %><% var linkClasses = 'js-lead-click js-lead-click-event-tracking' %><% linkClasses = link.monetizedUrl ? linkClasses + ' monetized-link' : linkClasses %><a class="<%= linkClasses %>" href="<%= linkUrl %>" target="_blank" data-event-tracking="{&quot;destUrl&quot;:&quot;&lt;%= linkUrl %&gt;&quot;,&quot;leadType&quot;:&quot;deal&quot;,&quot;linkLocation&quot;:&quot;BuyButton&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;seamlessScrollPage&quot;:&quot;1&quot;}" data-track-page-event="{&quot;eventName&quot;:&quot;Monetization Link Clicked&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;merchantPrice&quot;:&quot;&quot;}" data-vars-buy-link="<%= linkUrl %>"><%= linkText %></a></script><script id="js-underscore-template-medium-buylink" type="text/template"><div class="pod pod--carousel-strip carousel--default"><div class="js-carousel-strip carousel-strip" data-viewport="3"><div class="flexbox-row flexbox-justify-between"><div class="carousel-strip__control flexbox-justify-flex-end"><div class="js-carousel-strip__control--prev carousel-strip__control--prev"><button type="button" class="js-carousel-strip__control" data-control-dir="1" aria-label="Previous Page"><i><svg width="10" height="28" viewBox="0 0 10 28" aria-hidden="true" class="symbol symbol-angle-left"><path d="M9.797 8.5q0 .203-.156.359L3.5 15l6.141 6.141q.156.156.156.359t-.156.359l-.781.781q-.156.156-.359.156t-.359-.156L.861 15.359Q.705 15.203.705 15t.156-.359L8.142 7.36q.156-.156.359-.156t.359.156l.781.781q.156.156.156.359z"/></svg></i></button></div><div class="js-carousel-strip__control--next carousel-strip__control--next"><button type="button" class="js-carousel-strip__control" data-control-dir="-1" aria-label="Next Page"><i><svg width="10" height="28" viewBox="0 0 10 28" aria-hidden="true" class="symbol symbol-angle-right"><path d="M9.297 15q0 .203-.156.359L1.86 22.64q-.156.156-.359.156t-.359-.156l-.781-.781q-.156-.156-.156-.359t.156-.359L6.502 15 .361 8.859Q.205 8.703.205 8.5t.156-.359l.781-.781q.156-.156.359-.156t.359.156l7.281 7.281q.156.156.156.359z"/></svg></i></button></div></div></div><div class="js-carousel-strip__viewport carousel-strip__viewport"><div class="js-carousel-strip__body carousel-strip__body"><ul class="js-carousel-strip__strip carousel-strip__strip"><% _.each(collection.collection, function(buylink) { %><% var { itemTitle, itemDeck, linkText, linkUrl, "data-img-src" : imgSrc } = buylink %><li class="carousel-strip__slot" style="max-width: 33.333333333333%;flex:1 0 33.333333333333%;"><div class="buylink-item-container"><div class="image-container"><img class="overlay" src=<%= imgSrc %> /><img class="main-image" src=<%= imgSrc %>></div><div class="information-container"><p class="item-title"><%= itemTitle %></p><p class="item-deck"><%= itemDeck %></p><% var link = { text:linkText, url:linkUrl } %><% var linkText = link.text %><% var linkUrl = link.rawUrl %><% var linkClasses = 'js-lead-click js-lead-click-event-tracking' %><% linkClasses = link.monetizedUrl ? linkClasses + ' monetized-link' : linkClasses %><a class="<%= linkClasses %>" href="<%= linkUrl %>" target="_blank" data-event-tracking="{&quot;destUrl&quot;:&quot;&lt;%= linkUrl %&gt;&quot;,&quot;leadType&quot;:&quot;deal&quot;,&quot;linkLocation&quot;:&quot;BuyButton&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;seamlessScrollPage&quot;:&quot;1&quot;}" data-track-page-event="{&quot;eventName&quot;:&quot;Monetization Link Clicked&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;merchantPrice&quot;:&quot;&quot;}" data-vars-buy-link="<%= linkUrl %>"><%= linkText %></a></div></div></li><% }); %></ul></div></div></div></div></script><script id="js-underscore-template-large-buylink" type="text/template"><div class="buylink__container buylink__container--underscore"><% _.each(collection.collection, function(buylink) { %><% var { itemTitle, itemDeck, linkText, linkUrl, "data-img-src" : imgSrc } = buylink %><li class="buylink__item"><div class="buylink__image-container"></div><div class="buylink__text"><p class="buylink__title text-bold"><%= itemTitle %></p><p class="buylink__deck"><%= itemDeck %></p></div><div class="buylink__links"><% var link = { text:linkText, url:linkUrl } %><% var linkText = link.text %><% var linkUrl = link.rawUrl %><% var linkClasses = 'js-lead-click js-lead-click-event-tracking' %><% linkClasses = link.monetizedUrl ? linkClasses + ' monetized-link' : linkClasses %><a class="<%= linkClasses %>" href="<%= linkUrl %>" target="_blank" data-event-tracking="{&quot;destUrl&quot;:&quot;&lt;%= linkUrl %&gt;&quot;,&quot;leadType&quot;:&quot;deal&quot;,&quot;linkLocation&quot;:&quot;BuyButton&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;seamlessScrollPage&quot;:&quot;1&quot;}" data-track-page-event="{&quot;eventName&quot;:&quot;Monetization Link Clicked&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;merchantPrice&quot;:&quot;&quot;}" data-vars-buy-link="<%= linkUrl %>"><%= linkText %></a></div></li><% }); %></div></script><script id="js-underscore-template-listicle-buylink" type="text/template"><div class="buylink-container"><% _.each(collection.collection, function(buylink) { %><% var { itemTitle, itemDeck, linkText, linkUrl, "data-img-src" : imgSrc } = buylink %><div class="buylink-item-container"><h2 class="item-title"><%= itemTitle %></h2><h3 class="item-deck"><%= itemDeck %></h3><div class="image-container"><img class="main-image" src=<%= imgSrc %>></div><div class="item-description"> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div><div class="item-buttons"><% var link = { text:linkText, url:linkUrl } %><div><% var linkText = link.text %><% var linkUrl = link.rawUrl %><% var linkClasses = 'js-lead-click js-lead-click-event-tracking' %><% linkClasses = link.monetizedUrl ? linkClasses + ' monetized-link' : linkClasses %><a class="<%= linkClasses %>" href="<%= linkUrl %>" target="_blank" data-event-tracking="{&quot;destUrl&quot;:&quot;&lt;%= linkUrl %&gt;&quot;,&quot;leadType&quot;:&quot;deal&quot;,&quot;linkLocation&quot;:&quot;BuyButton&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;seamlessScrollPage&quot;:&quot;1&quot;}" data-track-page-event="{&quot;eventName&quot;:&quot;Monetization Link Clicked&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;merchantPrice&quot;:&quot;&quot;}" data-vars-buy-link="<%= linkUrl %>"><%= linkText %></a></div><div><% var linkText = link.text %><% var linkUrl = link.rawUrl %><% var linkClasses = 'js-lead-click js-lead-click-event-tracking' %><% linkClasses = link.monetizedUrl ? linkClasses + ' monetized-link' : linkClasses %><a class="<%= linkClasses %>" href="<%= linkUrl %>" target="_blank" data-event-tracking="{&quot;destUrl&quot;:&quot;&lt;%= linkUrl %&gt;&quot;,&quot;leadType&quot;:&quot;deal&quot;,&quot;linkLocation&quot;:&quot;BuyButton&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;seamlessScrollPage&quot;:&quot;1&quot;}" data-track-page-event="{&quot;eventName&quot;:&quot;Monetization Link Clicked&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;merchantPrice&quot;:&quot;&quot;}" data-vars-buy-link="<%= linkUrl %>"><%= linkText %></a></div><div><% var linkText = link.text %><% var linkUrl = link.rawUrl %><% var linkClasses = 'js-lead-click js-lead-click-event-tracking' %><% linkClasses = link.monetizedUrl ? linkClasses + ' monetized-link' : linkClasses %><a class="<%= linkClasses %>" href="<%= linkUrl %>" target="_blank" data-event-tracking="{&quot;destUrl&quot;:&quot;&lt;%= linkUrl %&gt;&quot;,&quot;leadType&quot;:&quot;deal&quot;,&quot;linkLocation&quot;:&quot;BuyButton&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;seamlessScrollPage&quot;:&quot;1&quot;}" data-track-page-event="{&quot;eventName&quot;:&quot;Monetization Link Clicked&quot;,&quot;merchantName&quot;:&quot;&quot;,&quot;merchantPrice&quot;:&quot;&quot;}" data-vars-buy-link="<%= linkUrl %>"><%= linkText %></a></div></div></div><% }); %></div></script> <script id="js-underscore-template-infobox" type="text/template"><% var title = infoboxObj.title %><% var description = infoboxObj.description %><% var warningClassName = title === 'WARNING' ? 'infobox__title--warning' : '' %><p class="js-infobox-title infobox__title no-spacing <%= warningClassName %>"><%= title %></p><% if (infoboxObj.list.length === 0) { %><p class="js-infobox-description infobox__description no-spacing"><%= description %></p><% } else { %><ul class="js-infobox-list infobox__lists"><% _.each(infoboxObj.list, function(item) { %><% var { text, link } = item %><li class="infobox__list-item"><% if (link.trim() === 'https://') { %><span class="infobox__list-item-text"><%= text %></span><% } else { %><a class="infobox__list-item-text" href=<%= link %>><%= text %></a><% } %></li><% }); %></ul><% } %></script><script id="js-underscore-template-infobox-preview-item" type="text/template"><% var { dataText, dataLink, text } = previewItem %><div class="js-preview-item infobox__preview-item" data-text=<%= dataText %> data-link=<%= dataLink %> ><%= text %></div></script> <script id="js-underscore-template-gallery" type="text/template"><% var { isOldGallery, collection } = galleryObject %><% var labelClass = isOldGallery ? 'image-gallery__label--old' : 'image-gallery__label' %><div class="<%= labelClass %>">Gallery</div><% var listClasses = 'image-gallery__list hide-scrollbar' %><% var listClasses = collection.length <= 5 ? listClasses + ' image-gallery__list--small' : listClasses %><% var listClasses = isOldGallery ? 'image-gallery__list--old' : listClasses %><div class="<%= listClasses %>"><% _.each(collection, function(image) { %><% var { href, dataSrc } = image %><a href=<%= href %>><img alt="" data-src=<%= dataSrc %> class="loading" /></a><% }); %></div></script><script id="js-underscore-template-image-gallery" type="text/template"><div class="image-gallery__header">Title</div><div class="image-gallery__main image-gallery__main--small image-gallery__main--underscore"><% _.each(_.range(5), function(number) { %><div class="image-gallery__item">Image <%= number + 1 %></div><% }); %></div></script> <script id="js-underscore-template-presence-user" type="text/template"><% _.each(users, function(user, key) { %><% var { userName, image } = user %><div class="user-presence__user base-flexbox vertical-spacing-bottom-rem flexbox-align-center"><div class="user-presence__image border-circle horizontal-spacing-right-small bg-white"><img class="width-100" src=<%= image %>></div><div class="user-presence__name"><%= userName %></div></div><% }); %></script> <script id="js-underscore-template-score-scale" type="text/template"><div class="score-scale__label text-small js-current-user-review-title" data-object-name="<%= templateData.name %>"> You rated <span class="block text-bold"><%= templateData.name %></span></div><div class="score-scale__score text-bold js-current-user-review-score"><div class="border-circle"><span class="block centered--absolute"><%= templateData.score %></span></div><div class="block"><%= _.propertyOf({"1":"Abysmal","2":"Terrible","3":"Bad","4":"Poor","5":"Mediocre","6":"Fair","7":"Good","8":"Great","9":"Superb","10":"Essential"})(templateData.score) %></div></div></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-433baf257505ff5076b","applicationID":"1516322196","transactionName":"YQAEMEtXDUMCBRANXVhKJRFKQgxdTCEFCVdFFQkQa1MVWQYRNgFEXwARF3pZDUQRCQgIV0RfXABQRRNcAh8lB0ZfCghMEA==","queueTime":0,"applicationTime":381,"atts":"TUcTRgNNHhxBB0ZeSUsY","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10