CINXE.COM
Subscribe to HBR - Digital & Print
<!DOCTYPE html> <!--[if IE 8]> <html class="ie8 "> <![endif]--> <!--[if IE 9]> <html class="ie9 "> <![endif]--> <!--[if !IE]><!--> <html class=""> <!--<![endif]--><!-- _____________ _ _ hbr.org _ |/////////////| | | | | | | |:\/E:R|:T/\S:| | |__| | __ _ _ ____ ____ _ _ __ __| | |+++++++++++++| | __ |/ _` | '__\ \ / / _` | '__/ _` | |\:+:\ /:+:/| | | | | (_| | | \ V / (_| | | | (_| | | \:::\ /:::/ | |_|__|_|\__,_|_| _ \_/ \__,_|_| \__,_| \ \ ::+:: / / | _ \ (_) \ /::/ \::\ / | |_) |_ _ ___ _ _ __ ___ ___ ___ \+:/ \:+/ | _ <| | | / __| | '_ \ / _ \/ __/ __| \/_____\/ | |_) | |_| \__ \ | | | | __/\__ \__ \ To improve the |____/ \__,_|___/_|_| |_|\___||___/___/ practice of | __ \ (_) management and | |__) |_____ ___ _____ __ its impact in a | _ // _ \ \ / / |/ _ \ \ /\ / / changing world. | | \ \ __/\ V /| | __/\ V V / est. 1922 |_| \_\___| \_/ |_|\___| \_/\_/ --> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="msapplication-config" content="none"/> <title>Subscribe to HBR - Digital & Print</title> <meta name="description" content="Find new ideas and classic advice on strategy, innovation and leadership, for global leaders from the world's best business and management experts."/> <meta name="item-id" content="2d5d14f95af035cbd8437948de61f94c"/> <meta name="apple-itunes-app" content="app-id=1445571382, app-argument=https://hbr.org"/> <meta name="viewport" content="initial-scale=1,width=device-width"/> <meta name="intromercial" content="protected"/> <meta name="uid" content="E0395B075DA91166EDC05EE9F484B6A7"/> <meta name="shopper-attributes" content="state:guest"/> <meta property="og:title" content="Subscribe to HBR - Digital & Print"/> <meta name="page-type" content="LANDING"/> <meta name="page-id" content="400"/> <meta name="ox-group" content="537063789"/> <meta name="robots" content="max-image-preview:large"> <!--[if lt IE 9]> <script type="text/javascript" src="/resources/js/support/hbr/elements.js"></script> <script type="text/javascript" src="/resources/js/support/foundation/foundation.js"></script> <![endif]--> <script type="text/javascript"> ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true}}; ;NREUM.loader_config={accountID:"858143",trustKey:"858143",agentID:"16887721",licenseKey:"e93df31780",applicationID:"8171118"}; ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"e93df31780",applicationID:"8171118",sa:1}; ;/*! For license information please see nr-loader-spa-1.246.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={234:(e,t,r)=>{r.d(t,{P_:()=>g,Mt:()=>v,C5:()=>s,DL:()=>A,OP:()=>D,lF:()=>N,Yu:()=>x,Dg:()=>m,CX:()=>c,GE:()=>w,sU:()=>j});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.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){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 c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f=()=>{const e={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{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,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},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,sampling_rate:50,error_sampling_rate:50,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector=t+",[data-nr-mask]":null===t?e.mask_selector=t:(0,l.Z)("An invalid session_replay.mask_selector was provided and will not be used",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){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",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,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},h={},p="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(p);if(!h[e])throw new Error("Configuration for ".concat(e," was never set"));return h[e]}function m(e,t){if(!e)throw new Error(p);h[e]=(0,i.D)(t,f()),(0,n.Qy)(e,h[e],"config")}function v(e,t){if(!e)throw new Error(p);var r=g(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}const b={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},y={};function A(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!y[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return y[e]}function w(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");y[e]=(0,i.D)(t,b),(0,n.Qy)(e,y[e],"loader_config")}const x=(0,n.mF)().o;var E=r(385),_=r(6818);const T={buildEnv:_.Re,customTransaction:void 0,disabled:!1,distMethod:_.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(E._A?.performance?.timeOrigin||E._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+E._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof E._A.XMLHttpRequest?.prototype?.addEventListener,version:_.q4,denyList:void 0},S={};function D(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!S[e])throw new Error("Runtime for ".concat(e," was never set"));return S[e]}function j(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");S[e]=(0,i.D)(t,T),(0,n.Qy)(e,S[e],"runtime")}function N(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");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{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.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.246.0",i="PROD",o="CDN",a="2.0.0-alpha.11"},385:(e,t,r)=>{r.d(t,{FN:()=>s,IF:()=>d,Nk:()=>f,Tt:()=>c,_A:()=>o,cv:()=>h,iS:()=>a,il:()=>n,ux:()=>u,v6:()=>i,w1:()=>l});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean("hidden"===o?.document?.visibilityState),s=""+o?.location,c=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),l=Boolean(n&&window.document.documentMode),f=!!o.navigator?.sendBeacon,h=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)l(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((t=>{let[r]=t;s[e].delete(r),a(r)})))}function l(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},f=!1;try{f=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var h={on:g,addEventListener:g,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=p(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var f=b()[s[e]];f&&f.push([h,e,r,a]);return a},get:v,listeners:m,context:p,buffer:function(e,t){const r=b();if(t=t||"feature",h.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:l,aborted:!1,isBuffering:function(e){return!!b()[s[e]]},debugId:r,backlog:f?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return h;function p(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function g(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(h,t)}function b(){return h.backlog}}(void 0,"globalEE"),d=(0,n.fP)();function l(){u.aborted=!0,u.backlog={}}d.ee||(d.ee=u)},5546:(e,t,r)=>{r.d(t,{E:()=>n,p:()=>i});var n=r(8325).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))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);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._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),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._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));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)}},7056:(e,t,r)=>{r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>i});var n=r(385);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._A?.location?.protocol&&t.host===n._A?.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{}}}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(8325),i=r(5546),o=r(3325);const a={stn:[o.D.sessionTrace],err:[o.D.jserrors,o.D.metrics],ins:[o.D.pageAction],spa:[o.D.spa],sr:[o.D.sessionReplay,o.D.sessionTrace]},s=new Set;function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(s.has(t)||Object.entries(e).forEach((e=>{let[t,n]=e;a[t]?a[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n)})),Object.keys(a).forEach((e=>{void 0===u[e]&&(a[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),s.add(t))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>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}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(8325);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){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){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()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>b,u5:()=>D,QU:()=>C,_L:()=>I,Gm:()=>H,Lg:()=>L,BV:()=>G,Kf:()=>K});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);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])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(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(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",w=A+"body-",x=["arrayBuffer","blob","json","text","formData"],E=f._A.Request,_=f._A.Response,T="prototype";const S={};function D(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(E&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,x.forEach((e=>{r(E[T],e,w),r(_[T],e,w)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const j={},N=["pushState","replaceState"];function C(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||j[t.debugId]++||(j[t.debugId]=1,c(t).inPlace(window.history,N,"-")),t}var O=r(3239);const P={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||P[t.debugId])return t;P[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,R,"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 n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,O.m$)(!1)),e.removeEventListener("error",f,(0,O.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,O.m$)(!1)),e.removeEventListener("error",f,(0,O.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,O.m$)(!1)),e.addEventListener("error",f,(0,O.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function H(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[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=a[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=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(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 M={},F="setTimeout",B="setInterval",U="clearTimeout",Z="-start",V="-",q=[F,"setImmediate",B,U,"clearImmediate"];function G(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(M[t.debugId]++)return t;M[t.debugId]=1;var r=c(t);return r.inPlace(f._A,q.slice(0,2),F+V),r.inPlace(f._A,q.slice(2,3),B+V),r.inPlace(f._A,q.slice(3),U+V),t.on(B+Z,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(F+Z,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var W=r(50);const X={},Q=["open","send"];function K(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(X[r.debugId]++)return r;X[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",w)}),(0,O.m$)(!1))}catch(e){(0,W.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,Q,"-xhr-",w),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):u?u(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function w(e,t){return t}return r}},7825:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.sessionReplay},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>x,CB_END:()=>E,CB_START:()=>u,END:()=>w,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>A,originalSetTimeout:()=>y});var n=r(234);const i=r(3325).D.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=n.Yu.ST,A="-start",w="-end",x="-body",E="cb"+w,_="jsTime",T="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},7530:(e,t,r)=>{r.d(t,{j:()=>b});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(7894),c=r(8e3),u=r(3960),d=r(385),l=r(50),f=r(3081),h=r(8632);function p(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var g=r(2587);const m=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let v=!1;function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},b=arguments.length>2?arguments[2]:void 0,y=arguments.length>3?arguments[3]:void 0,{init:A,info:w,loader_config:x,runtime:E={loaderType:b},exposed:_=!0}=t;const T=(0,h.gG)();w||(A=T.init,w=T.info,x=T.loader_config),(0,i.Dg)(e,A||{}),(0,i.GE)(e,x||{}),w.jsAttributes??={},d.v6&&(w.jsAttributes.isWorker=!0),(0,i.CX)(e,w);const S=(0,i.P_)(e),D=[w.beacon,w.errorBeacon];v||(v=!0,S.proxy.assets&&(m(S.proxy.assets),D.push(S.proxy.assets)),S.proxy.beacon&&D.push(S.proxy.beacon)),E.denyList=[...S.ajax.deny_list||[],...S.ajax.block_internal?D:[]],(0,i.sU)(e,E),p();const j=function(e,t){t||(0,c.R)(e,"api");const h={};var p=a.ee.get(e),g=p.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),w(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","addRelease"].forEach((e=>{h[e]=w(m,e,!0,"api")})),h.addPageAction=w(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=w(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,w(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return b("application.version",e,"setApplicationVersion",!1);(0,l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},h.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(f.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,p);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{p.emit("".concat(e,"-opt-in"))}))}catch(e){(0,l.Z)("An unexpected issue occurred",e)}},h.interaction=function(){return(new y).get()};var A=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,p),function(){if(g.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw g.emit("fn-err",[arguments,this,e],r),e}finally{g.emit("fn-end",[(0,s.z)()],r)}}}};function w(e,t,r,i){return function(){return(0,o.p)(f.xS,["API/"+t+"/called"],void 0,n.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,p),r?void 0:this}}function x(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,l.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{A[e]=w(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,["API/noticeError/called"],void 0,n.D.metrics,p),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,p)},d.il?(0,u.b)((()=>x()),!0):x(),h}(e,y);return(0,h.Qy)(e,j,"api"),(0,h.Qy)(e,_,"exposed"),(0,h.EZ)("activatedFeatures",g.T),j}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},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=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.246.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.246.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}}s||(c=!0,(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),e[r]=[n];var f=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=f.bind(null,s.onerror),s.onload=f.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={801:0,92: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.246.0.PROD"]=self["webpackChunk:NRBA-1.246.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{var e=i(50);class t{addPageAction(t,r){(0,e.Z)("Call to agent api addPageAction failed. The page action feature is not currently initialized.")}setPageViewName(t,r){(0,e.Z)("Call to agent api setPageViewName failed. The page view feature is not currently initialized.")}setCustomAttribute(t,r,n){(0,e.Z)("Call to agent api setCustomAttribute failed. The js errors feature is not currently initialized.")}noticeError(t,r){(0,e.Z)("Call to agent api noticeError failed. The js errors feature is not currently initialized.")}setUserId(t){(0,e.Z)("Call to agent api setUserId failed. The js errors feature is not currently initialized.")}setApplicationVersion(t){(0,e.Z)("Call to agent api setApplicationVersion failed. The agent is not currently initialized.")}setErrorHandler(t){(0,e.Z)("Call to agent api setErrorHandler failed. The js errors feature is not currently initialized.")}finished(t){(0,e.Z)("Call to agent api finished failed. The page action feature is not currently initialized.")}addRelease(t,r){(0,e.Z)("Call to agent api addRelease failed. The js errors feature is not currently initialized.")}start(t){(0,e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.")}}var r=i(3325),n=i(234);const o=Object.values(r.D);function a(e){const t={};return o.forEach((r=>{t[r]=function(e,t){return!1!==(0,n.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var s=i(7530);var c=i(8e3),u=i(5938),d=i(3960),l=i(385);class f extends u.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=i,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,n.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,c.R)(e,r)}importAggregator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,c.R)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));const r=l.il&&!0===(0,n.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let n;try{if(r){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,3228));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t)}try{if(!this.shouldImportAgg(this.featureName,n))return(0,c.L)(this.agentIdentifier,this.featureName),void o(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:r}=await e(this.featureName,"aggregate");this.featAggregate=new r(this.agentIdentifier,this.aggregator,t),o(!0)}catch(t){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),t),this.abortHandler?.(),(0,c.L)(this.agentIdentifier,this.featureName),o(!1)}};l.il?(0,d.b)((()=>a()),!0):a()}shouldImportAgg(e,t){return e!==r.D.sessionReplay||!!n.Yu.MO&&(!1!==(0,n.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!t?.isNew||!!t?.state.sessionReplayMode))}}var h=i(7633);class p extends f{static featureName=h.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,h.t,r),this.importAggregator()}}var g=i(1117),m=i(1284);class v extends g.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,m.D)(e,(function(e,r){t[e]=b(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,m.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=b(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=y(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=b(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=A(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function b(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=y(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function y(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function A(e){return"object"!=typeof e?[]:(0,m.D)(e,w)}function w(e,t){return t}var x=i(8632),E=i(4402),_=i(4351);var T=i(5546),S=i(7956),D=i(3239),j=i(7894),N=i(9251);class C extends f{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),l.il&&((0,S.N)((()=>(0,T.p)("docHidden",[(0,j.z)()],void 0,N.t,this.ee)),!0),(0,D.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,j.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var O=i(3081);class P extends f{static featureName=O.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,O.t9,r),this.importAggregator()}}var R=i(6660);class I{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends f{static featureName=R.t;#e=new Set;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,R.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,n)=>{this.abortHandler&&!this.#e.has(n)&&(this.#e.add(n),(0,T.p)("err",[this.#t(n),(0,j.z)()],void 0,r.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#t(e),(0,j.z)(),!0],void 0,r.D.jserrors,this.ee)})),l._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#r(e),(0,j.z)(),!1,{unhandledPromiseRejection:1}],void 0,r.D.jserrors,this.ee)}),(0,D.m$)(!1,this.removeOnAbort?.signal)),l._A.addEventListener("error",(e=>{this.abortHandler&&(this.#e.has(e.error)?this.#e.delete(e.error):(0,T.p)("err",[this.#n(e),(0,j.z)()],void 0,r.D.jserrors,this.ee))}),(0,D.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.#e.clear(),this.abortHandler=void 0}#t(e){return e instanceof Error?e:void 0!==e?.message?new I(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new I("string"==typeof e?e:(0,_.P)(e))}#r(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new I(t);const r=this.#t(e.reason);return r.message=t+r.message,r}#n(e){return e.error instanceof Error?e.error:new I(e.message,e.filename,e.lineno,e.colno)}}var H=i(2210);let z=1;const L="nr@id";function M(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===l._A?0:(0,H.X)(e,L,(function(){return z++}))}function F(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)(e).length}catch(e){return}}}var B=i(1214),U=i(7243);class Z{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,E.M)(),s=(0,E.Ht)(),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,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,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 l._A?.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))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,U.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var V=i(7825),q=["load","error","abort","timeout"],G=q.length,W=n.Yu.REQ,X=n.Yu.XHR;class Q extends f{static featureName=V.t;constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,V.t,i),(0,n.OP)(e).xhrWrappable){this.dt=new Z(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};l._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const n={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};K(n,t.name),this.handler("xhr",[n,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,r.D.ajax)}}))}catch(e){}(0,B.u5)(this.ee),(0,B.Kf)(this.ee),function(e,t,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,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,D.m$)(!1)),l.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,D.m$)(!1))}function s(e){this.params={method:e[0]},K(this,e[1]),this.metrics={}}function c(t,r){var i=(0,n.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=F(i);a&&(n.txSize=a)}this.startTime=(0,j.z)(),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<G;s++)r.addEventListener(q[s],this.listener,(0,D.m$)(!1))}function d(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 f(e,t){var r=""+M(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+M(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,j.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,j.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,j.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&l.il&&(t=""+l._A.location.href):e[0]&&e[0].url?t=e[0].url:l._A?.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,U.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),s(i.headers,n)&&(this.dt=n),e.length>1?e[1]=i:e.push(i)}}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 A(e,t){this.params={},this.metrics={},this.startTime=(0,j.z)(),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 W?r=i.url:l._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),K(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=F(n.body)||0}function w(e,t){var n;this.endTime=(0,j.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,j.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,r.D.ajax)}function x(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<G;o++)e.removeEventListener(q[o],this.listener,!1);t.aborted||(n.duration=(0,j.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,i("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,r.D.ajax))}}function E(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?F(e.response):"text"===r||""===r||void 0===r?F(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",f),t.on("xhr-load-removed",h),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function K(e,t){var r=(0,U.e)(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}var Y=i(3614);const{BST_RESOURCE:J,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=Y;var se=i(7144);class ce extends f{static featureName=se.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,se.t,r),this.importAggregator()}}var ue=i(7836);const{FEATURE_NAME:de,START:le,END:fe,BODY:he,CB_END:pe,JS_TIME:ge,FETCH:me,FN_START:ve,CB_START:be,FN_END:ye}=ue;var Ae=i(4649);class we extends f{static featureName=Ae.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,Ae.t,r),this.importAggregator()}}new class extends t{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,E.ky)(16);super(),l._A?(this.agentIdentifier=r,this.sharedAggregator=new v({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(p),Object.assign(this,(0,s.j)(this.agentIdentifier,t,t.loaderType||"agent")),this.run()):(0,e.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,n.C5)(this.agentIdentifier),init:(0,n.P_)(this.agentIdentifier),loader_config:(0,n.DL)(this.agentIdentifier),runtime:(0,n.OP)(this.agentIdentifier)}}run(){const t="features";try{const n=a(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((e,t)=>r.p[e.featureName]-r.p[t.featureName])),i.forEach((t=>{if(n[t.featureName]||t.featureName===r.D.pageViewEvent){const i=function(e){switch(e){case r.D.ajax:return[r.D.jserrors];case r.D.sessionTrace:return[r.D.ajax,r.D.pageViewEvent];case r.D.sessionReplay:return[r.D.sessionTrace];case r.D.pageViewTiming:return[r.D.pageViewEvent];default:return[]}}(t.featureName);i.every((e=>n[e]))||(0,e.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,_.P)(i),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,x.Qy)(this.agentIdentifier,this.features,t)}catch(r){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",r);for(const e in this.features)this.features[e].abortHandler?.();const n=(0,x.fP)();return delete n.initializedAgents[this.agentIdentifier]?.api,delete n.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,n.ee?.abort(),delete n.ee?.get(this.agentIdentifier),!1}}addToTrace(t){(0,e.Z)("Call to agent api addToTrace failed. The session trace feature is not currently initialized.")}setCurrentRouteName(t){(0,e.Z)("Call to agent api setCurrentRouteName failed. The spa feature is not currently initialized.")}interaction(){(0,e.Z)("Call to agent api interaction failed. The spa feature is not currently initialized.")}}({features:[Q,p,C,class extends f{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;const n=this.ee;let i;(0,B.QU)(n),this.eventsEE=(0,B.em)(n),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,j.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,j.z)()],void 0,r.D.sessionTrace,n)})),n.on(ae+te,(function(e){this.time=(0,j.z)(),this.startPath=location.pathname+location.hash})),n.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,r.D.sessionTrace,n)}));try{i=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(J,[t],void 0,r.D.sessionTrace,n)})),i.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},ce,P,we,k,class extends f{static featureName=de;constructor(e,t){if(super(e,t,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;if(!(0,n.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,i=0;const o=this.ee.get("tracer"),a=(0,B._L)(this.ee),s=(0,B.Lg)(this.ee),c=(0,B.BV)(this.ee),u=(0,B.Kf)(this.ee),d=this.ee.get("events"),f=(0,B.u5)(this.ee),h=(0,B.QU)(this.ee),p=(0,B.Gm)(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){i++,r=window.location.hash,this[ve]=(0,j.z)()}function v(){i--,window.location.hash!==r&&g(0,!0);var e=(0,j.z)();this[ge]=~~this[ge]+e-this[ve],this[ye]=e}function b(e,t){e.on(t,(function(){this[t]=(0,j.z)()}))}this.ee.on(ve,m),s.on(be,m),a.on(be,m),this.ee.on(ye,v),s.on(pe,v),a.on(pe,v),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),d.buffer([ve],this.featureName),c.buffer(["setTimeout"+fe,"clearTimeout"+le,ve],this.featureName),u.buffer([ve,"new-xhr","send-xhr"+le],this.featureName),f.buffer([me+le,me+"-done",me+he+le,me+he+fe],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([ve],this.featureName),s.buffer(["propagate",be,pe,"executor-err","resolve"+le],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,me+le),b(f,me+"-done"),b(a,"new-jsonp"),b(a,"jsonp-end"),b(a,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,D.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,i>1)}),(0,D.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#i,this.importAggregator()}#i(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})(); </script> <link rel="canonical" href="https://hbr.org/subscriptions" /> <link rel="icon" type="image/x-icon" href="/resources/images/favicon.ico"> <link rel="icon" type="image/png" href="/resources/images/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/resources/images/favicon-32x32.png" sizes="32x32"> <link rel="apple-touch-icon" type="image/png" href="/resources/images/apple-touch-icon.png" sizes="152x152"> <link rel="icon" type="image/png" href="/resources/images/android-chrome-192x192.png" sizes="192x192"> <link rel="icon" type="image/png" href="/resources/images/android-chrome-512x512.png" sizes="512x512"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Regular.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Regular-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Light.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Medium.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Medium-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Light-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GTAmerica-Standard-Semibold.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GTAmerica-Standard-Semibold-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Bold.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/GT-America-Standard-Bold-Italic.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Regular.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-RegularItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Medium.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-MediumItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Bold.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-BoldItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-Heavy.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/LavaStd-HeavyItalic.otf" as="font" type="font/otf" crossorigin="anonymous"> <link rel="preload" href="/resources/fonts/HBRIcons-Regular.woff" as="font" type="font/woff" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="/resources/css/style_7eefa62ad3db5937.css"/> <script type="text/javascript"> if (document.cookie.match(/hbr_f=true/)) { window.document.documentElement.className += " fonts-loaded"; } </script> <script type="text/javascript" src="//cdn.tinypass.com/api/tinypass.min.js"></script> <script type="text/javascript"> var tp = window["tp"] || []; tp.push(["setDebug", false]); tp.push(["setAid", "mbs77qtzUz"]); tp.push(["setEndpoint", "https://buy.tinypass.com/api/v3"]); tp.push(["setUseTinypassAccounts", false]); tp.push(["setUsePianoIdUserProvider", false]); tp.push(["setCxenseSiteId", "1141964769885092441"]); /* Piano Snippets */ tp.push(["setCustomParam", "type", "landing", "content"]) tp.push(["setCustomVariable", "contentType", "landing"]) tp.push(["setCustomVariable", "isPaywallEnabled", "false"]); tp.push(["setCustomVariable", "userState", "guest"]); </script> <script type="text/javascript"> document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; var setNptTechAdblockerCookie = function(adblocker) { var d = new Date(); d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; } var script = document.createElement("script"); script.setAttribute("async", true); script.setAttribute("src", "//www.npttech.com/advertising.js"); script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); document.getElementsByTagName("head")[0].appendChild(script); function getCookieValue(name) { let cookie = {}; document.cookie.split(";").forEach(function(el) { let [key,value] = el.split("="); cookie[key.trim()] = value; }) return cookie[name]; } function isAdobeSync() { let userExperienceName = getCookieValue("hbr_user_experience"); console.log("Current User Experience: " + userExperienceName); return userExperienceName != '"Async_Adobe_Launch"'; } </script> <script type="text/javascript"> window.digitalData = {"page":{"pageInfo":{"pageName":"Subscribe to HBR - Digital & Print","pageType":"LANDING","pageDescription":"Find new ideas and classic advice on strategy, innovation and leadership, for global leaders from the world's best business and management experts.","ipAddress":"8.222.208.146","onsiteSearchResults":0,"date":"11-27-2024","time":"06:04 AM"}},"users":[{"profile":{"giftingQuota":{"limit":5,"gifted":5},"accountID":"E0395B075DA91166EDC05EE9F484B6A7","dateLastVisit":"2024-11-27","quota":{"limit":2,"remaining":2},"ascendQuota":{"limit":2,"remaining":2},"userState":"Guest","guid":"E0395B075DA91166EDC05EE9F484B6A7","secondsSinceLastVisit":0,"daysSinceLastVisit":0}}],"version":"2.2","siteID":"hbrprod","siteType":"Desktop","pageInstanceID":"Subscribe to HBR - Digital & Print:beanstalk-prod"}; if (window.digitalData && window.digitalData.page && window.digitalData.page.pageInfo) { if (!window.digitalData.page.pageInfo.deviceType) { !function (a) { var b = /iPhone/i, c = /iPod/i, d = /iPad/i, e = /(?=.*\bAndroid\b)(?=.*\bMobile\b)/i, f = /Android/i, g = /(?=.*\bAndroid\b)(?=.*\bSD4930UR\b)/i, h = /(?=.*\bAndroid\b)(?=.*\b(?:KFOT|KFTT|KFJWI|KFJWA|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|KFARWI|KFASWI|KFSAWI|KFSAWA)\b)/i, i = /Windows Phone/i, j = /(?=.*\bWindows\b)(?=.*\bARM\b)/i, k = /BlackBerry/i, l = /BB10/i, m = /Opera Mini/i, n = /(CriOS|Chrome)(?=.*\bMobile\b)/i, o = /(?=.*\bFirefox\b)(?=.*\bMobile\b)/i, p = new RegExp("(?:Nexus 7|BNTV250|Kindle Fire|Silk|GT-P1000)", "i"), q = function (a, b) { return a.test(b) }, r = function (a) { var r = a || navigator.userAgent, s = r.split("[FBAN"); if ("undefined" != typeof s[1] && (r = s[0]), s = r.split("Twitter"), "undefined" != typeof s[1] && (r = s[0]), this.apple = { phone: q(b, r), ipod: q(c, r), tablet: !q(b, r) && q(d, r), device: q(b, r) || q(c, r) || q(d, r) }, this.amazon = { phone: q(g, r), tablet: !q(g, r) && q(h, r), device: q(g, r) || q(h, r) }, this.android = { phone: q(g, r) || q(e, r), tablet: !q(g, r) && !q(e, r) && (q(h, r) || q(f, r)), device: q(g, r) || q(h, r) || q(e, r) || q(f, r) }, this.windows = { phone: q(i, r), tablet: q(j, r), device: q(i, r) || q(j, r) }, this.other = { blackberry: q(k, r), blackberry10: q(l, r), opera: q(m, r), firefox: q(o, r), chrome: q(n, r), device: q(k, r) || q(l, r) || q(m, r) || q(o, r) || q(n, r) }, this.seven_inch = q(p, r), this.any = this.apple.device || this.android.device || this.windows.device || this.other.device || this.seven_inch, this.phone = this.apple.phone || this.android.phone || this.windows.phone, this.tablet = this.apple.tablet || this.android.tablet || this.windows.tablet, "undefined" == typeof window) { return this } }, s = function () { var a = new r; return a.Class = r, a }; "undefined" != typeof module && module.exports && "undefined" == typeof window ? module.exports = r : "undefined" != typeof module && module.exports && "undefined" != typeof window ? module.exports = s() : "function" == typeof define && define.amd ? define("isMobile", [], a.isMobile = s()) : a.isMobile = s() }(this); window.digitalData.page.pageInfo.sysEnv = "Desktop"; window.digitalData.page.pageInfo.deviceType = "Desktop"; if (isMobile.phone || isMobile.tablet) { window.digitalData.page.pageInfo.sysEnv = "Mobile"; if (isMobile.phone) { window.digitalData.page.pageInfo.deviceType = "Mobile"; } if (isMobile.tablet) { window.digitalData.page.pageInfo.deviceType = "Tablet"; } } window.digitalData.siteType = window.digitalData.page.pageInfo.deviceType; } window.digitalData.page.pageInfo.pageURL = window.location.origin + window.location.pathname; if (document.referrer) { window.digitalData.page.pageInfo.referringURL = document.referrer; } } </script> <script src="//assets.adobedtm.com/c0857d0b892a/fccd631ba54c/launch-68b2fecf2e9e.min.js"></script> <script type="text/javascript" src="/resources/js/components/overlay-intromercial/intromercial_e7f83d32e87142cc.js"></script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://hbr.org/", "potentialAction": { "@type": "SearchAction", "target": "https://hbr.org/search?term={search_term_string}", "query-input": "required name=search_term_string" } } </script> </head> <body> <script type="text/javascript"> if (typeof generateIntromercial === 'function') { generateIntromercial(); } </script> <!-- column --> <div id="main" class="container"> <div id="" class="component" data-order="2" data-type="webscript" data-moveable="false" data-params="region=header"> <div class="sticky-top-header global-nav-container"> <header class="top-header hide-for-print global-nav-container" role="banner" style="display: flex; flex-direction: row"> <div class="header-desktop-big-logo"> <a href="/"> <div class="hbr-header-area01"> <svg xmlns="http://www.w3.org/2000/svg" width="130" height="148" viewBox="0 0 130 148" fill="none"> <g id="New Branding Logo" clip-path="url(#clip0_2267_1488)"> <g id="Logo"> <path d="M21.3729 54.332V50.78C21.3729 49.2013 20.5031 47.9022 19.0534 47.3102L18.8546 47.228L19.0534 47.154C20.4037 46.6689 21.2072 45.3862 21.2072 43.7171V40.6667C21.2072 37.3531 19.3434 35.6758 15.6736 35.6758H9.05469V59.3229H15.8392C19.509 59.3229 21.3729 57.6456 21.3729 54.332ZM13.9671 39.7869H15.1682C15.8807 39.7869 16.2866 40.2884 16.2866 41.16V43.75C16.2866 44.6216 15.8807 45.1231 15.1682 45.1231H13.9671V39.7869ZM13.9671 55.2036V49.1684H15.1351C15.9884 49.1684 16.4191 49.6618 16.4191 50.6402V53.8222C16.4191 54.7102 16.0132 55.1953 15.2676 55.1953H13.9671V55.2036Z" fill="#282828"/> <path d="M34.8668 35.6758H29.8882V54.036C29.8882 54.9487 29.4823 55.4749 28.7698 55.4749C28.0574 55.4749 27.6184 54.9322 27.6184 54.036V35.6758H22.6729V54.1676C22.6729 57.4647 25.0669 59.5942 28.7698 59.5942C32.4728 59.5942 34.8668 57.4647 34.8668 54.1676V35.6758Z" fill="#282828"/> <path d="M41.908 59.5859C45.6109 59.5859 48.005 57.4563 48.005 54.1592V51.0759C48.005 49.0779 47.392 47.9267 45.7352 46.8332L41.8252 44.0787C41.2287 43.6347 41.0216 43.199 41.0216 42.385V40.9625C41.0216 39.7703 41.6098 39.5236 42.1068 39.5236C42.7861 39.5236 43.1589 40.0334 43.1589 40.9625V43.7827H47.9719V40.831C47.9719 37.4352 45.7766 35.4043 42.1068 35.4043C38.437 35.4043 36.043 37.5339 36.043 40.831V43.3881C36.043 45.3861 36.656 46.5372 38.3128 47.6307L42.2228 50.4181C42.753 50.8127 43.0263 51.1827 43.0263 52.1119V54.0359C43.0263 54.965 42.6536 55.4747 41.9743 55.4747C41.4772 55.4747 40.8891 55.2281 40.8891 54.0359V50.7881H36.043V54.1674C36.043 57.5632 38.2382 59.5941 41.908 59.5941V59.5859Z" fill="#282828"/> <path d="M54.334 35.6758H49.3223V59.3229H54.334V35.6758Z" fill="#282828"/> <path d="M64.3746 59.3229H68.7568V35.6758H64.2752V41.8589L64.3497 47.0142H63.9024L61.2681 35.6758H56.2811V59.3229H60.7628V51.446L60.6965 46.488H61.1355L64.3746 59.3229Z" fill="#282828"/> <path d="M80.1721 40.05V35.6758H70.7118V59.3229H80.1721V54.9404H75.591V49.3082H79.6005V44.9258H75.591V40.05H80.1721Z" fill="#282828"/> <path d="M92.9786 51.0846C92.9786 49.0866 92.3656 47.9355 90.7088 46.842L86.7988 44.0875C86.2024 43.6435 85.9952 43.2078 85.9952 42.3938V40.9713C85.9952 39.7791 86.5834 39.5324 87.0805 39.5324C87.7597 39.5324 88.1325 40.0422 88.1325 40.9713V43.7915H92.9455V40.8398C92.9455 37.444 90.7502 35.4131 87.0805 35.4131C83.4107 35.4131 81.0166 37.5426 81.0166 40.8398V43.3969C81.0166 45.3949 81.6296 46.546 83.2864 47.6395L87.1964 50.4269C87.7266 50.8215 88 51.1915 88 52.1206V54.0446C88 54.9738 87.6272 55.4835 86.9479 55.4835C86.4509 55.4835 85.8627 55.2369 85.8627 54.0446V50.7969H81.0166V54.1762C81.0166 57.572 83.2118 59.6029 86.8816 59.6029C90.5514 59.6029 92.9786 57.4733 92.9786 54.1762V51.0846Z" fill="#282828"/> <path d="M106.076 51.0846C106.076 49.0866 105.463 47.9355 103.806 46.842L99.8965 44.0875C99.3 43.6435 99.0929 43.2078 99.0929 42.3938V40.9713C99.0929 39.7791 99.6811 39.5324 100.178 39.5324C100.857 39.5324 101.23 40.0422 101.23 40.9713V43.7915H106.043V40.8398C106.043 37.444 103.848 35.4131 100.178 35.4131C96.5083 35.4131 94.1143 37.5426 94.1143 40.8398V43.3969C94.1143 45.3949 94.7273 46.546 96.3841 47.6395L100.294 50.4269C100.824 50.8215 101.098 51.1915 101.098 52.1206V54.0446C101.098 54.9738 100.725 55.4835 100.046 55.4835C99.5485 55.4835 98.9604 55.2369 98.9604 54.0446V50.7969H94.1143V54.1762C94.1143 57.572 96.3095 59.6029 99.9793 59.6029C103.649 59.6029 106.076 57.4733 106.076 54.1762V51.0846Z" fill="#282828"/> <path d="M21.696 32.6417V8.98633H16.7091V18.2446H14.0748V8.98633H9.05469V32.6417H14.0748V22.6188H16.7091V32.6417H21.696Z" fill="#282828"/> <path d="M30.8663 27.8651L31.3634 32.6422H36.2095L32.987 8.99512H25.7137L22.5244 32.6422H27.2048L27.6687 27.8651H30.8663ZM28.3977 19.8813L28.8782 15.3345H29.6238L30.1456 19.8813L30.6344 23.9513H27.909L28.3977 19.8813Z" fill="#282828"/> <path d="M49.7285 32.6418C49.4386 31.7785 49.3972 30.5945 49.3972 29.542V24.4032C49.3972 22.6847 48.6599 21.4514 47.3096 20.9334L47.1025 20.8512L47.3096 20.7772C48.6599 20.292 49.4635 19.0094 49.4635 17.3403V13.9938C49.4635 10.6803 47.5996 9.00293 43.9298 9.00293H37.1121V32.65H42.0576V23.03H43.1925C43.7641 23.03 44.4434 23.2849 44.4434 24.5018V29.7065C44.4434 30.652 44.4848 31.8278 44.783 32.6418H49.7285ZM43.3665 18.812H42.0659V13.2127H43.3665C44.0706 13.2127 44.4848 13.7307 44.4848 14.5858V17.4389C44.4848 18.3105 44.0789 18.812 43.3665 18.812Z" fill="#282828"/> <path d="M58.5261 8.9873L57.4989 19.7913L57.0598 25.0782H56.538L56.0989 19.7913L55.0303 8.9873H49.9688L53.5143 32.6426H59.8101L63.3971 8.9873H58.5261Z" fill="#282828"/> <path d="M84.5049 32.6428H89.4422C89.1522 31.7795 89.1108 30.5955 89.1108 29.543V24.4041C89.1108 22.6857 88.3735 21.4524 87.0232 20.9343L86.8244 20.8521L87.0315 20.7781C88.3818 20.293 89.1854 19.0104 89.1854 17.3412V13.9948C89.1854 10.6812 87.3215 9.00391 83.6517 9.00391H76.834V32.651H81.7795V23.031H82.9144C83.486 23.031 84.1653 23.2859 84.1653 24.5028V29.7075C84.1653 30.653 84.2067 31.8288 84.5049 32.6428ZM83.0801 18.813H81.7795V13.2137H83.0801C83.7842 13.2137 84.1984 13.7317 84.1984 14.5868V17.4399C84.1984 18.3115 83.7925 18.813 83.0801 18.813Z" fill="#282828"/> <path d="M103.276 14.414C103.276 11.0675 100.973 8.9873 97.2784 8.9873H90.9246V32.6344H97.2784C100.981 32.6344 103.276 30.5542 103.276 27.2077V14.4057V14.414ZM98.2973 27.0515C98.2973 27.9149 97.8831 28.4246 97.179 28.4246H95.8784V13.2053H97.179C97.8831 13.2053 98.2973 13.7233 98.2973 14.5784V27.0515Z" fill="#282828"/> <path d="M70.6041 27.8651L71.1094 32.6422H75.9555L72.7331 8.99511H65.4598L62.2704 32.6422H66.9509L67.4148 27.8651H70.6041ZM68.1355 19.8813L68.616 15.3344H69.3615L69.8834 19.8813L70.3721 23.9513H67.6467L68.1355 19.8813Z" fill="#282828"/> <path d="M16.7336 86.0129H21.6708C21.3809 85.1496 21.3394 83.9656 21.3394 82.9131V77.7742C21.3394 76.0558 20.6022 74.8225 19.2519 74.3045L19.0531 74.2222L19.2602 74.1482C20.6105 73.6631 21.414 72.3805 21.414 70.7114V67.3649C21.414 64.0514 19.5501 62.374 15.8803 62.374H9.06264V86.0211H14.0082V76.4011H15.1431C15.7146 76.4011 16.3939 76.656 16.3939 77.8729V83.0776C16.3939 84.0231 16.4354 85.1989 16.7336 86.0129ZM15.3087 72.1831H14.0082V66.5838H15.3087C16.0129 66.5838 16.4271 67.1018 16.4271 67.9569V70.81C16.4271 71.6816 16.0212 72.1831 15.3087 72.1831Z" fill="#282828"/> <path d="M32.5472 66.7399V62.3574H23.0869V86.0128H32.5472V81.6303H27.9662V75.9899H31.9756V71.6156H27.9662V66.7399H32.5472Z" fill="#282828"/> <path d="M52.3956 62.3574H47.3838V86.0045H52.3956V62.3574Z" fill="#282828"/> <path d="M63.7367 66.7398V62.3573H54.2764V86.0127H63.7367V81.6302H59.1557V75.9898H63.1651V71.6156H59.1557V66.7398H63.7367Z" fill="#282828"/> <path d="M78.9626 62.3573L77.9851 76.0227H77.2395L77.2313 75.9487L76.3035 62.3573H72.2609L71.3911 76.0227H70.6372L70.2562 71.1058L69.6266 62.3573H64.4491L67.1497 86.0127H72.8408L73.7768 73.3093H74.4478L75.3508 86.0127H81.0419L83.7424 62.3573H78.9626Z" fill="#282828"/> <path d="M41.7842 62.3573L40.757 73.1613L40.3097 78.4482H39.7961L39.3488 73.1613L38.2884 62.3573H33.2186L36.7724 86.0127H43.0682L46.6469 62.3573H41.7842Z" fill="#282828"/> <path d="M64.9959 148L64.0929 147.556C39.1499 135.387 22.9548 124.509 13.1218 113.319C4.05085 103 0 92.1464 0 78.1276V0H130V78.1276C130 92.1464 125.957 103 116.878 113.319C107.045 124.509 90.8418 135.387 65.9071 147.556L65.0042 148H64.9959ZM4.10884 4.07822V78.1276C4.10884 91.0858 7.8449 101.117 16.2117 110.638C25.5643 121.27 41.0801 131.712 64.9959 143.453C88.9116 131.712 104.436 121.27 113.78 110.638C122.155 101.117 125.883 91.094 125.883 78.1276V4.07822H4.10055H4.10884Z" fill="#282828"/> </g> </g> <defs> <clipPath id="clip0_2267_1488"> <rect width="130" height="148" fill="white"/> </clipPath> </defs> </svg> </div> </a> <div class= "hbr-header-vertical-line"></div> <div class="hbr-header-area02"> <div class="hbr-header--area02-region01"> <div id="top-header--panel-icon" class="flex-row top-header--menu-link"> <a href="#" class="link--black hamburger-icon-container" js-target="global-header--search-overlay"> <svg class="hamburger-icon top-header--menu-icon-open" alt="Navigation Menu" aria-labelledby="title"> <title>Navigation Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#hamburger"></use></svg> </a> </div> <!-- logo --> <div class="top-header--headline-container"> <article-headline class="article-headline hide-medium-down"> </article-headline> </div> <!-- right aligned items --> <div class="flex-row top-header--bottom-left-align"> <personalization-placement style="margin-right: 28px;" class="flex-row top-header--subscribe hide-small" data-placement-id="topbar_subscribe_engage"> <a href="/subscriptions?ab=topbar-subtout&tpcc=houseads.site.topbar-subtout" target="_blank" rel="noopener" class="baseline-shift-down-more button button--tight mbn new-button-subscribe"> Subscribe </a> </personalization-placement> <a href="/shopping-cart" class="link--black flex-row top-header--shopping-cart mrl do-not-show" js-target="global-header-menu-toggle" data-menu="cart" data-cart-badge="0"> <img class="cart-icon" src="/resources/css/images/cart-icon.png" alt="Cart"> </a> <a href="#" style="height: 40px; border-right: 1px #e2e2e2 solid;" class="global-header-button-v2 flex-row sign-in " js-target="sign-in-register"> <span style="width: 47px;" class="baseline-shift-down-more">Sign In</span> </a> <span class="link--black flex-row "> <div class="top-header--user-dropdown-container non-subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" js-target="global-header-menu-toggle" class="top-header--user-dropdown-container-img" > <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-nav"></use></svg> </a> </div> <div class="top-header--user-dropdown-container subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-shield-blue"></use></svg> </div> <div class="top-header--user-name user-header-name mls flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> Hi, <div js-target="user-header-name"> Guest </div> </div> <div class="top-header--user-dropdown-container has-border-right caret-down-button prl flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> <span class="icon icon-caret-down sign-in"> </span> </div> </span> <a id="top-header--open-search-overlay" href="#" class="link--black flex-row top-header--search-container mls hide-small" js-target="global-header--search-overlay"> <svg class="search-icon size-24x24" alt="Search Menu" aria-labelledby="title"> <title>Search Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#search"></use></svg> </a> </div> <!--END-----------------> </div> <div class="global-nav flex-col " style="width: calc(100% - 218px) !important;"> <div class="top-header--horizontal-list "> <a href="/the-latest" class="link--black " track-target="global-nav-link--the-latest" > Latest </a> <a href="/magazine" class="link--black " track-target="global-nav-link--magazine" > Magazine </a> <a href="/topics" class="link--black " track-target="global-nav-link--topics" > Topics </a> <a href="/podcasts" class="link--black " track-target="global-nav-link--podcasts" > Podcasts </a> <a href="/store" class="link--black " track-target="global-nav-link--store" > Store </a> <a href="/big-ideas" class="link--black " track-target="global-nav-link--big-idea" > The Big Idea </a> <a href="/data-visuals" class="link--black " track-target="global-nav-link--visual-library" > Data & Visuals </a> <a href="/case-selections" class="link--black " track-target="global-nav-link--case-selection" > Case Selections </a> <a href="/learning" class="link--black do-not-show hbr-learning" js-target="hbr-learning" track-target="global-nav-link--hmm" > HBR Learning </a> <a href="/ai-beta" class="link--black do-not-show ai-beta" track-target="global-nav-link--ai-beta" > <svg class="ai-beta-svg size-16x16 svg-fill-current"><use xlink:href="/resources/css/images/header/sparkles-sharp-solid.svg#Layer_1"></use></svg> <span>Ask AI</span> </a> </div> </div> </div> </div> <div class="header-desktop-small-logo"> <a href="/"> <div class="hbr-header-area01-scroll"> <svg xmlns="http://www.w3.org/2000/svg" width="47" height="54" viewBox="0 0 47 54" fill="none"> <g id="New Branding Logo" clip-path="url(#clip0_2267_2017)"> <g id="Logo"> <path d="M29.5562 15.7316V22.5566H25.9894V5.68164H30.8008C33.4388 5.68164 34.7206 6.90039 34.7206 9.28164V11.6629C34.7206 12.7879 34.2005 13.7816 33.1787 14.1566C34.2562 14.5879 34.6649 15.5629 34.6649 16.6691V20.3066C34.6649 21.2066 34.7206 21.9941 34.925 22.5566H31.3582C31.1538 22.0129 31.0981 21.2441 31.0981 20.4191V16.7254C31.0981 16.0879 30.838 15.7316 30.2807 15.7316H29.5376H29.5562ZM30.4107 8.77539H29.5562V12.6379H30.4107C30.8752 12.6379 31.1352 12.3004 31.1352 11.7191V9.69414C31.1352 9.13164 30.8752 8.77539 30.4107 8.77539Z" fill="#282828"/> <path d="M20.6949 5.66211C23.3328 5.66211 24.6146 6.88086 24.6146 9.26211V11.4184C24.6146 12.5434 24.0945 13.5371 23.0727 13.9121C24.1502 14.3621 24.7261 15.3184 24.7261 16.4246V18.9371C24.7261 21.3184 23.4443 22.5371 20.8063 22.5371H16.0134V5.66211H20.6949ZM20.3605 8.69961H19.5802V12.3746H20.3605C20.8249 12.3746 21.085 12.0371 21.085 11.4559V9.61836C21.085 9.03711 20.8249 8.69961 20.3605 8.69961ZM20.3419 15.3559H19.5802V19.5184H20.4348C20.9178 19.5184 21.1779 19.1809 21.1779 18.5996V16.3496C21.1779 15.7121 20.9178 15.3559 20.3419 15.3559Z" fill="#282828"/> <path d="M14.5272 5.66211V22.5371H10.9419V15.4309H9.21418V22.5371H5.61023V5.66211H9.21418V12.2246H10.9419V5.66211H14.5272Z" fill="#282828"/> <path d="M23.5 54L22.9427 53.7188C14.0628 49.3125 8.30395 45.375 4.77431 41.2875C1.48617 37.4813 0 33.4688 0 28.2938V0H47V28.2938C47 33.4688 45.5324 37.4813 42.2257 41.2875C38.696 45.3563 32.9372 49.3125 24.0573 53.7188L23.5 54ZM2.56364 2.5875V28.2938C2.56364 36.075 6.00039 42.3375 23.5 51.1125C40.981 42.3375 44.4364 36.0938 44.4364 28.2938V2.5875H2.56364Z" fill="#282828"/> </g> </g> <defs> <clipPath id="clip0_2267_2017"> <rect width="47" height="54" fill="white"/> </clipPath> </defs> </svg> </div> </a> <div class= "hbr-header-vertical-line-scroll"></div> <div class="hbr-header-area02"> <div class="hbr-header--area02-region01"> <div id="top-header--panel-icon" class="flex-row top-header--menu-link"> <a href="#" class="link--black hamburger-icon-container" js-target="global-header--search-overlay"> <svg class="hamburger-icon top-header--menu-icon-open" alt="Navigation Menu" aria-labelledby="title"> <title>Navigation Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#hamburger"></use></svg> </a> </div> <!-- logo --> <div class="top-header--headline-container"> <article-headline class="article-headline hide-medium-down"> </article-headline> </div> <!-- right aligned items --> <div class="flex-row top-header--bottom-left-align"> <personalization-placement class="flex-row mrl top-header--subscribe hide-small" data-placement-id="topbar_subscribe_engage"> <a href="/subscriptions?ab=topbar-subtout&tpcc=houseads.site.topbar-subtout" target="_blank" rel="noopener" class="baseline-shift-down-more button button--tight mbn"> Subscribe </a> </personalization-placement> <a href="/shopping-cart" class="link--black flex-row top-header--shopping-cart mrl do-not-show" js-target="global-header-menu-toggle" data-menu="cart" data-cart-badge="0"> <img class="cart-icon" src="/resources/css/images/cart-icon.png" alt="Cart"> </a> <a href="#" style="height: 40px;" class="link--black global-header-button-v2 flex-row mrm prl has-border-right sign-in " js-target="sign-in-register"> <span class="baseline-shift-down-more">Sign In</span> </a> <span class="link--black flex-row "> <div class="top-header--user-dropdown-container non-subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" js-target="global-header-menu-toggle" class="top-header--user-dropdown-container-img" > <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-nav"></use></svg> </a> </div> <div class="top-header--user-dropdown-container subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-shield-blue"></use></svg> </div> <div class="top-header--user-name user-header-name mls flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> Hi, <div js-target="user-header-name"> Guest </div> </div> <div class="top-header--user-dropdown-container has-border-right caret-down-button prl flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> <span class="icon icon-caret-down sign-in"> </span> </div> </span> <a id="top-header--open-search-overlay" href="#" class="link--black flex-row top-header--search-container mls hide-small" js-target="global-header--search-overlay"> <svg class="search-icon size-24x24" alt="Search Menu" aria-labelledby="title"> <title>Search Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#search"></use></svg> </a> </div> <!--END-----------------> </div> </div> </div> <div class="header-mobile-big-logo"> <a href="/"> <div class="hbr-header-area01-mobile-initial"> <svg xmlns="http://www.w3.org/2000/svg" width="61" height="69" viewBox="0 0 61 69" fill="none"> <g clip-path="url(#clip0_1844_17177)"> <path d="M37.8424 20.0829V28.7957H33.289V7.25316H39.4313C42.7989 7.25316 44.4353 8.80901 44.4353 11.8489V14.8888C44.4353 16.325 43.7712 17.5936 42.4669 18.0723C43.8424 18.6228 44.3641 19.8675 44.3641 21.2798V25.9234C44.3641 27.0723 44.4353 28.0776 44.6961 28.7957H40.1428C39.8819 28.1016 39.8108 27.1202 39.8108 26.067V21.3516C39.8108 20.5377 39.4787 20.0829 38.7673 20.0829H37.8187H37.8424ZM38.9333 11.2026H37.8424V16.1335H38.9333C39.5262 16.1335 39.8582 15.7026 39.8582 14.9606V12.3755C39.8582 11.6574 39.5262 11.2026 38.9333 11.2026Z" fill="#282828"/> <path d="M26.53 7.22823C29.8976 7.22823 31.534 8.78408 31.534 11.824V14.5766C31.534 16.0128 30.87 17.2814 29.5656 17.7601C30.9411 18.3346 31.6763 19.5554 31.6763 20.9676V24.175C31.6763 27.2149 30.0399 28.7708 26.6723 28.7708H20.5538V7.22823H26.53ZM26.1032 11.1059H25.1071V15.7974H26.1032C26.6961 15.7974 27.0281 15.3665 27.0281 14.6245V12.2788C27.0281 11.5367 26.6961 11.1059 26.1032 11.1059ZM26.0795 19.6032H25.1071V24.9171H26.198C26.8146 24.9171 27.1466 24.4862 27.1466 23.7442V20.8718C27.1466 20.058 26.8146 19.6032 26.0795 19.6032Z" fill="#282828"/> <path d="M18.6565 7.22823V28.7708H14.0794V19.699H11.8739V28.7708H7.27308V7.22823H11.8739V15.6059H14.0794V7.22823H18.6565Z" fill="#282828"/> <path d="M30.1111 68.9362L29.3996 68.5771C18.0637 62.9521 10.7119 57.9255 6.20595 52.7075C2.00832 47.8484 0.111084 42.7261 0.111084 36.1197V0H60.1111V36.1197C60.1111 42.7261 58.2376 47.8484 54.0162 52.7075C49.5103 57.9016 42.1585 62.9521 30.8225 68.5771L30.1111 68.9362ZM3.38381 3.30319V36.1197C3.38381 46.0532 7.77116 54.0479 30.1111 65.25C52.4273 54.0479 56.8384 46.0771 56.8384 36.1197V3.30319H3.38381Z" fill="#282828"/> </g> <defs> <clipPath id="clip0_1844_17177"> <rect width="60" height="68.9362" fill="white" transform="translate(0.111084)"/> </clipPath> </defs> </svg> </div> </a> <div class= "hbr-header-vertical-line-mobile-initial"></div> <div class="hbr-header-area02-mobile-initial"> <div class="hbr-header--area02-region01"> <div id="top-header--panel-icon" class="flex-row top-header--menu-link"> <a href="#" class="link--black hamburger-icon-container" js-target="global-header--search-overlay"> <svg class="hamburger-icon top-header--menu-icon-open" alt="Navigation Menu" aria-labelledby="title"> <title>Navigation Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#hamburger"></use></svg> </a> </div> <!-- logo --> <div class="top-header--headline-container"> <article-headline class="article-headline hide-medium-down"> </article-headline> </div> <!-- right aligned items --> <div class="flex-row top-header--bottom-left-align-mobile-initial"> <personalization-placement class="flex-row mrl top-header--subscribe hide-small" data-placement-id="topbar_subscribe_engage"> <a href="/subscriptions?ab=topbar-subtout&tpcc=houseads.site.topbar-subtout" target="_blank" rel="noopener" class="baseline-shift-down-more button button--tight mbn"> Subscribe </a> </personalization-placement> <a href="/shopping-cart" class="link--black flex-row top-header--shopping-cart mrl do-not-show" js-target="global-header-menu-toggle" data-menu="cart" data-cart-badge="0"> <img class="cart-icon" src="/resources/css/images/cart-icon.png" alt="Cart"> </a> <a href="#" class="link--black global-header-button flex-row mrm prl has-border-right sign-in " js-target="sign-in-register"> <span class="baseline-shift-down-more">Sign In</span> </a> <span class="link--black flex-row "> <div class="top-header--user-dropdown-container non-subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" js-target="global-header-menu-toggle" class="top-header--user-dropdown-container-img" > <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-nav"></use></svg> </a> </div> <div class="top-header--user-dropdown-container subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-shield-blue"></use></svg> </div> <div class="top-header--user-name user-header-name mls flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> Hi, <div js-target="user-header-name"> Guest </div> </div> <div class="top-header--user-dropdown-container has-border-right caret-down-button prl flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> <span class="icon icon-caret-down sign-in"> </span> </div> </span> <a id="top-header--open-search-overlay" href="#" class="link--black flex-row top-header--search-container mls hide-small" js-target="global-header--search-overlay"> <svg class="search-icon size-24x24" alt="Search Menu" aria-labelledby="title"> <title>Search Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#search"></use></svg> </a> </div> <!--END-----------------> </div> </div> </div> <div class="header-mobile-small-logo"> <a href="/"> <div class="hbr-header-area01-mobile-collapsed"> <svg xmlns="http://www.w3.org/2000/svg" width="41" height="47" viewBox="0 0 41 47" fill="none"> <g clip-path="url(#clip0_1865_9065)"> <path d="M25.27 14.3376V20.1514H22.2316V5.77644H26.3303C28.5774 5.77644 29.6693 6.81463 29.6693 8.84311V10.8716C29.6693 11.8299 29.2262 12.6764 28.3559 12.9959C29.2737 13.3632 29.6219 14.1938 29.6219 15.1362V18.2348C29.6219 19.0014 29.6693 19.6723 29.8434 20.1514H26.805C26.631 19.6882 26.5835 19.0334 26.5835 18.3306V15.1841C26.5835 14.641 26.3619 14.3376 25.8872 14.3376H25.2542H25.27ZM25.998 8.41186H25.27V11.7021H25.998C26.3936 11.7021 26.6151 11.4146 26.6151 10.9195V9.1945C26.6151 8.71533 26.3936 8.41186 25.998 8.41186Z" fill="#282828"/> <path d="M17.7215 5.7598C19.9686 5.7598 21.0605 6.798 21.0605 8.82647V10.6633C21.0605 11.6216 20.6174 12.4681 19.7471 12.7876C20.6649 13.1709 21.1555 13.9855 21.1555 14.9279V17.0681C21.1555 19.0966 20.0636 20.1348 17.8164 20.1348H13.7336V5.7598H17.7215ZM17.4366 8.3473H16.772V11.4779H17.4366C17.8323 11.4779 18.0538 11.1904 18.0538 10.6952V9.12994C18.0538 8.6348 17.8323 8.3473 17.4366 8.3473ZM17.4208 14.0174H16.772V17.5633H17.4999C17.9114 17.5633 18.1329 17.2758 18.1329 16.7806V14.864C18.1329 14.3209 17.9114 14.0174 17.4208 14.0174Z" fill="#282828"/> <path d="M12.4676 5.7598V20.1348H9.41337V14.0813H7.94165V20.1348H4.87161V5.7598H7.94165V11.3501H9.41337V5.7598H12.4676Z" fill="#282828"/> <path d="M20.111 46.9365L19.6363 46.6969C12.072 42.9435 7.16627 39.5893 4.15953 36.1074C1.35852 32.865 0.0925293 29.4469 0.0925293 25.0386V0.936523H40.1296V25.0386C40.1296 29.4469 38.8794 32.865 36.0626 36.1074C33.0558 39.5733 28.1501 42.9435 20.5858 46.6969L20.111 46.9365ZM2.27637 3.14069V25.0386C2.27637 31.6671 5.20398 37.0018 20.111 44.4768C35.0023 37.0018 37.9457 31.6831 37.9457 25.0386V3.14069H2.27637Z" fill="#282828"/> </g> <defs> <clipPath id="clip0_1865_9065"> <rect width="40.037" height="46" fill="white" transform="translate(0.0925293 0.936523)"/> </clipPath> </defs> </svg> </div> </a> <div class= "hbr-header-vertical-line-mobile-collapsed"></div> <div class="hbr-header-area02-mobile-collapsed"> <div class="hbr-header--area02-region01"> <div id="top-header--panel-icon" class="flex-row top-header--menu-link"> <a href="#" class="link--black hamburger-icon-container" js-target="global-header--search-overlay"> <svg class="hamburger-icon top-header--menu-icon-open" alt="Navigation Menu" aria-labelledby="title"> <title>Navigation Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#hamburger"></use></svg> </a> </div> <!-- logo --> <div class="top-header--headline-container"> <article-headline class="article-headline hide-medium-down"> </article-headline> </div> <!-- right aligned items --> <div class="flex-row top-header--bottom-left-align-mobile-collapsed"> <personalization-placement class="flex-row mrl top-header--subscribe hide-small" data-placement-id="topbar_subscribe_engage"> <a href="/subscriptions?ab=topbar-subtout&tpcc=houseads.site.topbar-subtout" target="_blank" rel="noopener" class="baseline-shift-down-more button button--tight mbn"> Subscribe </a> </personalization-placement> <a href="/shopping-cart" class="link--black flex-row top-header--shopping-cart mrl do-not-show" js-target="global-header-menu-toggle" data-menu="cart" data-cart-badge="0"> <img class="cart-icon" src="/resources/css/images/cart-icon.png" alt="Cart"> </a> <a href="#" class="link--black global-header-button flex-row mrm prl has-border-right sign-in " js-target="sign-in-register"> <span class="baseline-shift-down-more">Sign In</span> </a> <span class="link--black flex-row "> <div class="top-header--user-dropdown-container non-subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" js-target="global-header-menu-toggle" class="top-header--user-dropdown-container-img" > <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-nav"></use></svg> </a> </div> <div class="top-header--user-dropdown-container subscriber-avatar mls flex-row sign-in do-not-show" js-target="global-header-menu-toggle" data-menu="user"> <svg class="unfilled-user-icon" alt="Account Menu" aria-labelledby="title"> <title>Account Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#user-shield-blue"></use></svg> </div> <div class="top-header--user-name user-header-name mls flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> Hi, <div js-target="user-header-name"> Guest </div> </div> <div class="top-header--user-dropdown-container has-border-right caret-down-button prl flex-row sign-in do-not-show " js-target="global-header-menu-toggle" data-menu="user"> <span class="icon icon-caret-down sign-in"> </span> </div> </span> <a id="top-header--open-search-overlay" href="#" class="link--black flex-row top-header--search-container mls hide-small" js-target="global-header--search-overlay"> <svg class="search-icon size-24x24" alt="Search Menu" aria-labelledby="title"> <title>Search Menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#search"></use></svg> </a> </div> <!--END-----------------> </div> </div> </div> <!-- header search overlay --> <div class="top-header--overlay do-not-show"> <div class="header-menu--overlay" js-target="global-header--search-overlay"></div> <div class="left close-button absolute hide-small-up"> <a href="#" class="link--black flex-row top-header--close-search-overlay" js-target="global-header--search-overlay"> <svg class="size-24x24 top-header--menu-icon-close svg-ie"> <use xlink:href="/resources/css/images/hbr-icons.svg#x"></use> </svg> </a> </div> <div class="hide-small flex-row overlay--first-row"> <a id="top-header--close-search-overlay" href="#" class="link--black" js-target="global-header--search-overlay"> <svg class="size-24x24 top-header--menu-icon-close svg-ie" aria-labelledby="title"> <title>Close menu</title> <use xlink:href="/resources/css/images/hbr-icons.svg#x"></use> </svg> </a> </div> <div class="top-header--overlay-centered mtl"> <div class="top-header--overlay-search"> <form action="/search" method="get"> <div class="search-container "> <input type="hidden" name="search_type" value="search-all"> <input class="pts pbm search-box-desktop" autocomplete="off" name="term" data-type="search-input" placeholder="Search hbr.org"></input> <input class="search-box-mobile" autocomplete="off" name="term" placeholder="Search hbr.org"></input> <button> <svg aria-labelledby="title"> <title>Search</title> <use xlink:href="/resources/css/images/hbr-icons.svg#search"></use> </svg> </button> <a href="#" class="clear-search-box do-not-show" js-target="clear-search-box">CLEAR</a> </div> <div class="backdrop-white width-100pct zindex-highest hide top-header--search-suggest" data-purpose="search-auto-suggest"> <div class="font-gt-america"> <ul class="no-bullet ptm mbs" data-container="results"> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray"></li> <li class="pbl pts line-height-normal font-size-15 darker-medium-gray has-border-bottom"></li> <li class="ptl font-size-xsmall text-gray-light font-bold">SUGGESTED TOPICS</li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray no-bullet"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray no-bullet"></li> <li class="pbm pts line-height-normal font-size-15 darker-medium-gray no-bullet"></li> </ul> </div> </div> </form> </div> <div class="top-header--overlay-footer"> <div class="flex-row-wrap flex-row justify-between"> <div class="flex-col hide-small nav--explore"> <span class="mbm font-bold">Explore HBR</span> <ul class="no-bullet tidy-list"> <li><a href="/the-latest">Latest</a></li> <li><a href="/magazine">The Magazine</a></li> <li><a href="/podcasts">Podcasts</a></li> <li><a href="/store">Store</a></li> <li><a href="/webinars">Webinars</a></li> <li><a href="/email-newsletters">Newsletters</a></li> </ul> </div> <div class="flex-col hide-small nav--popular"> <span class="mbm font-bold">Popular Topics</span> <ul class="no-bullet tidy-list"> <li><a href="/topic/subject/managing-yourself">Managing Yourself</a></li> <li><a href="/topic/subject/leadership">Leadership</a></li> <li><a href="/topic/subject/strategy">Strategy</a></li> <li><a href="/topic/subject/managing-people">Managing Teams</a></li> <li><a href="/topic/subject/gender">Gender</a></li> <li><a href="/topic/subject/innovation">Innovation</a></li> <li><a href="/topic/subject/work-life-balance">Work-life Balance</a></li> <li><a href="/topics">All Topics</a></li> </ul> </div> <div class="flex-col hide-small nav--subscribers"> <span class="mbm font-bold">For Subscribers</span> <ul class="no-bullet tidy-list"> <li><a href="/big-ideas">The Big Idea</a></li> <li><a href="/data-visuals">Data & Visuals</a></li> <li><a href="/case-selections" track-target="global-nav-link--case-selection">Case Selections</a></li> <li><a href="/learning" class="do-not-show hbr-learning" js-target="hbr-learning-mega" track-target="global-nav-link--hmm">HBR Learning</a></li> <li> <personalization-placement data-placement-id="mag_cover_engage"> <a href="/subscriptions?ab=leftnav-subtout&tpcc=houseads.site.leftnav-subtout" target="_blank" rel="noopener" class="subscribe-link">Subscribe</a> </personalization-placement> </li> </ul> </div> <div class="flex-col hide-small nav--account"> <span class="mbm font-bold">My Account</span> <ul class="no-bullet tidy-list"> <li><a href="/my-library" js-target="validate-user-signed">My Library</a></li> <li><a href="/my-library/topics" js-target="validate-user-signed">Topic Feeds</a></li> <li><a href="/my-library/orders" js-target="validate-user-signed">Orders</a></li> <li><a href="/my-library/settings" js-target="validate-user-signed">Account Settings</a></li> <li><a href="/my-library/preferences" js-target="validate-user-signed">Email Preferences</a></li> <li><a href="/logout" js-target="logout" class="do-not-show">Log Out</a></li> <li><a href="#" js-target="sign-in-register" class="">Sign In</a></li> </ul> </div> <div class="small-flex-col hide-small nav--social"> <ul class="no-bullet tidy-list"> <li class="icon-x"> <a href="http://twitter.com/HarvardBiz" class="link--black" target="_blank" rel="noopener"> <i class="icon icon-x" title="Twitter"> <svg width="14" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <g> <rect width="12" height="12" fill="none"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.82741 2L12.8799 9.3532L19.2057 2H20.9321L13.6468 10.4686L21.57 22H15.7425L10.4068 14.2348L3.72649 22H2L9.6403 13.1193L2 2H7.82741ZM16.5548 20.7594H19.2066L7.00037 3.29968H4.34857L16.5548 20.7594Z" fill="#282828" stroke="white" stroke-width="0.3"/> </g> </svg> </i> </a> </li> <li><a href="http://www.facebook.com/HBR" class="link--black" target="_blank" rel="noopener"><i class="icon icon-facebook" title="Facebook"></i></a></li> <li><a href="https://www.linkedin.com/company/harvard-business-review?trk=biz-companies-cym" class="link--black" target="_blank" rel="noopener"><i class="icon icon-linkedin" title="Linkedin"></i></a></li> <li><a href="https://www.instagram.com/harvard_business_review/?hl=en" class="link--black" target="_blank" rel="noopener"><i class="icon icon-instagram" title="Instagram"></i></a></li> </ul> </div> </div> <div class="top-header--mobile-mega-menu"> <personalization-placement data-placement-id="mag_cover_engage"> <a href="/subscriptions?ab=leftnav-subtout&tpcc=houseads.site.leftnav-subtout" target="_blank" rel="noopener" class="subscribe-link button button--tight mbn">Subscribe</a> </personalization-placement> <a href="/the-latest" class="is-block">Latest</a> <a href="/podcasts" class="is-block">Podcasts</a> <a href="/magazine" class="is-block">The Magazine</a> <a href="/store" class="is-block">Store</a> <a href="/webinars" class="is-block">Webinars</a> <a href="/email-newsletters" class="is-block">Newsletters</a> <a href="/topics" class="is-block">All Topics</a> <a href="/big-ideas" class="is-block">The Big Idea</a> <a href="/data-visuals" class="is-block">Data & Visuals</a> <a href="/case-selections" class="is-block" track-target="global-nav-link--case-selection">Case Selections</a> <a href="/learning" class="do-not-show hbr-learning" js-target="hbr-learning-mega" track-target="global-nav-link--hmm">HBR Learning</a> <a href="/my-library" class="is-block" js-target="validate-user-signed">My Library</a> <a href="/my-library/settings" class="is-block" js-target="validate-user-signed">Account Settings</a> <a href="/logout" js-target="logout" class="do-not-show is-block last-link">Log Out</a> <a href="#" js-target="sign-in-register" class=" is-block last-link">Sign In</a> </div> </div> </div> </div> <!-- LOGIN NAV HIDDEN--> <div class="header-menu header-menu--cart-dropdown absolute" js-target="global-header-menu" data-menu="cart"> <div class="header-menu--overlay" js-target="global-header-menu-toggle" data-menu="cart"></div> <svg class="border-caret-white absolute bottom-100pct hide-small" width="24px" height="16px" js-target="global-header-menu-caret"><path stroke-width="2px" d="M 0 16 l 12 -14 l 12 14" /></svg> <div class="right close-button" js-target="global-header-menu-toggle" data-menu="cart"> <a href="#" class="link--black"> <svg class="size-24x24 top-header--menu-icon-close svg-ie"><use xlink:href="/resources/css/images/hbr-icons.svg#x"></use></svg> </a> </div> <h3 class="pbl subheader has-border-bottom flyout-title">Your Cart</h3> <div class="cart-container" js-target="global-header-cart-contents"> <div class="message mbs mtm">Your Shopping Cart is empty.</div> <a href="/store" class="button button--tight expand mbn mtm">Visit Our Store</a> </div> </div> <div class="header-menu header-menu--user-dropdown absolute" js-target="global-header-menu" data-menu="user"> <div class="header-menu--overlay" js-target="global-header-menu-toggle" data-menu="user"></div> <svg class="border-caret-white absolute bottom-100pct hide-small" width="24px" height="16px" js-target="global-header-menu-caret"><path stroke-width="2px" d="M 0 16 l 12 -14 l 12 14" /></svg> <div class="right close-button" js-target="global-header-menu-toggle" data-menu="user"> <a href="#" class="link--black"> <svg class="size-24x24 top-header--menu-icon-close svg-ie"><use xlink:href="/resources/css/images/hbr-icons.svg#x"></use></svg> </a> </div> <div class="mbl is-block has-border-bottom user-data-container"> <div class="font-bold flyout-title" js-target="user-menu-name">Guest User</div> <div class="subscription-access do-not-show" js-target="user-menu-subscription-access"> <span js-target="user-menu-subscription-access-level"></span> Subscriber </div> </div> <div class="header--user-flyout-links"> <a href="/my-library/library" class="is-block" >My Library</a> <a href="/my-library/topics" class="is-block" js-target="global-topic-feeds-anchor">Topic Feeds</a> <a href="/my-library/orders" class="is-block" >Orders</a> <a href="/my-library/settings" class="is-block" >Account Settings</a> <a href="/my-library/preferences" class="is-block" >Email Preferences</a> <a href="/logout" js-target="logout" class="is-block">Log Out</a> </div> </div> <div class="right trigger do-not-show"> <reading-list class="reading-list hide-small"> <div style="display: flex;" class="reading-list-top" js-target="open-reading-list-overlay"> <div style="text-align: center; width: 30px; height: 100%;"><i style="padding: 6px 0px 6px;" class="icon icon-caret-left font-size-default"></i></div> <div style="flex-grow: 1; padding: 4px 0px 4px 6px; color: #888888;" class="font-bold font-size-large baseline-shift-up">Reading List</div> </div> </reading-list> <reading-list-mobile class="reading-list-mobile hide-medium hide-large-up"> <div class="mobile-top" js-target="open-reading-list-overlay"> <div class="right" style="padding-right: 10px;"> <span style="color: #888888;" class="font-bold baseline-shift-up">Reading Lists</span> <span><i class="icon icon-caret-down" style="font-size: 18px;"></i></span> </div> </div> </reading-list-mobile> </div> <!-- LOGIN NAV HIDDEN--> </header> </div> <!-- End .header --> </div> <div id="" class="component" data-order="3" data-type="static-content" data-moveable="false" data-params="document=content-1"> <section class="section offer-page"> <div class="offer-content-area"> <div id="subscription-offers"> </div> </div> <div id="sign-in-container"></> </section> </div> </div><script> window.captchaScoreKey = "6Ld9uNYZAAAAADPb9mj-jQFgYnWu1h6XAdKRLUhH"; window.msUserDomain = "https://platform.hbr.org/hbr/api/user" </script> <script src="https://www.recaptcha.net/recaptcha/enterprise.js?render=6Ld9uNYZAAAAADPb9mj-jQFgYnWu1h6XAdKRLUhH"></script> <!-- javascript --> <script src="/resources/js/common_c760d245d771bd1a.js"></script> <script src="/resources/js/pages/subscription-offers_27f5739c26dd43ad.js"></script> <!-- Begin comScore Tag --> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "14457509" }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="http://b.scorecardresearch.com/p?c1=2&c2=14457509&cv=2.0&cj=1" /> </noscript> <!-- End comScore Tag --> <script type="text/javascript"> if (isAdobeSync()) _satellite.pageBottom(); </script> <script type="text/javascript"> var tp = window["tp"] || []; tp.push(["init", function () { tp.experience.init(); }]); </script> </body> </html>