").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
/* Copyright 2024 Situation Publishing Ltd. https://www.theregister.com/ */(function(ElReg,googlefc){'use strict';const CMP_VERSION=2.2;const TCF_PURPOSES=Object.freeze({store_access_info:1,limited_data_select_ads:2,personalized_ad_profile:3,personalized_ad_selection:4,personalized_content_profile:5,content_selection:6,measure_ad_performance:7,measure_content_performance:8,combine_stats_and_data:9,develop_and_improve:10,limited_data_select_content:11,});const TCF_PURPOSES_COUNT=Object.keys(TCF_PURPOSES).length;const TCF_PURPOSES_LIST=Object.freeze({GAM_ENABLE_PERSONALISED_ADS:[TCF_PURPOSES['store_access_info'],TCF_PURPOSES['limited_data_select_ads'],TCF_PURPOSES['personalized_ad_profile'],TCF_PURPOSES['personalized_ad_selection'],TCF_PURPOSES['measure_ad_performance'],],ENABLE_TRAFFIC_DRIVER_COOKIE:[TCF_PURPOSES['store_access_info'],TCF_PURPOSES['measure_ad_performance'],TCF_PURPOSES['combine_stats_and_data'],],ENABLE_USER_DEMOGRAPHICS_COOKIE:[TCF_PURPOSES['store_access_info'],TCF_PURPOSES['combine_stats_and_data'],],ENABLE_VISITED_STORIES_COOKIE:[TCF_PURPOSES['store_access_info'],TCF_PURPOSES['personalized_ad_profile'],TCF_PURPOSES['personalized_ad_selection'],TCF_PURPOSES['personalized_content_profile'],],ENABLE_AB_TESTING:[TCF_PURPOSES['store_access_info'],TCF_PURPOSES['measure_content_performance'],],ENABLE_ABM:[TCF_PURPOSES['personalized_ad_profile'],TCF_PURPOSES['combine_stats_and_data'],],GA_ENABLE_STORAGE:[TCF_PURPOSES['store_access_info'],],GA_ENABLE_STORE_GAC:[TCF_PURPOSES['store_access_info'],TCF_PURPOSES['personalized_ad_profile'],TCF_PURPOSES['personalized_ad_selection'],TCF_PURPOSES['measure_ad_performance'],TCF_PURPOSES['combine_stats_and_data'],],GA_ENABLE_AD_FEATURES:[TCF_PURPOSES['limited_data_select_ads'],TCF_PURPOSES['personalized_ad_profile'],TCF_PURPOSES['personalized_ad_selection'],TCF_PURPOSES['measure_ad_performance'],],GA_SEND_USER_LOGIN_METRICS:[TCF_PURPOSES['measure_content_performance'],TCF_PURPOSES['combine_stats_and_data'],TCF_PURPOSES['develop_and_improve'],],GA_SEND_SITE_NAVIGATION:[TCF_PURPOSES['measure_content_performance'],TCF_PURPOSES['combine_stats_and_data'],TCF_PURPOSES['develop_and_improve'],],});ElReg.Cmp=ElReg.Cmp||{};googlefc.callbackQueue=googlefc.callbackQueue||[];ElReg.Cmp.getCookie=(name)=>{const cookies=decodeURIComponent(document.cookie||'')
.split(';')
.map(kv=>kv.trim())
.map(kv=>kv.split('=',2));const cookie=cookies.find(cookie=>cookie[0]===name);return typeof(cookie)!=='undefined'?cookie[1]:'';};ElReg.Cmp.getOurTCData=()=>{const tcString=ElReg.Cmp.getCookie('cmp');return ElReg.Cmp.decodeConsentString(tcString);};ElReg.Cmp.googleCmpCookieExists=()=>{return decodeURIComponent(document.cookie||'')
.split(';')
.map(kv=>kv.trim())
.findIndex(el=>el.startsWith('FCCDCF='))!==-1;};ElReg.Cmp.tcfApiLoaded=()=>{let retVal=false;if(typeof(window.__tcfapi)==='function'){__tcfapi('ping',CMP_VERSION,(pingReturn)=>{if(pingReturn&&pingReturn.cmpLoaded){retVal=true;}});}
return retVal;};ElReg.Cmp.waitTcfApiLoaded=(tries=20,delay=100)=>{return new Promise((resolve,reject)=>{const interval=setInterval(()=>{if(tries--===0){clearInterval(interval);reject();}
else if(ElReg.Cmp.tcfApiLoaded()){clearInterval(interval);resolve();}},delay);});};const createEventListener=(key,callback,remove)=>{googlefc.callbackQueue.push({[key]:()=>__tcfapi('addEventListener',CMP_VERSION,(tcData,success)=>{if(!success){console.log('Failed to register callback as a '+key+' event listener.');callback(tcData,success);return;}
if(remove){__tcfapi('removeEventListener',CMP_VERSION,(success)=>{if(!success){console.log('Failed to remove __tcfapi event listener ID '+
tcData.listenerId+'.',);}},tcData.listenerId);}
callback(tcData,success);}),});};ElReg.Cmp.whenConsentApiReady=(callback,remove=true)=>{createEventListener('CONSENT_API_READY',callback,remove);};ElReg.Cmp.whenConsentDataReady=(callback,remove=true)=>{createEventListener('CONSENT_DATA_READY',callback,remove);};ElReg.Cmp.encodeConsentBits=(consents)=>{consents=consents||{};const maxPurpose=Object.keys(consents).reduce((a,b)=>Math.max(a,b),-Infinity,);let bits=0;for(let i=0;i
{bits=bits||0;let consents={};for(let i=0;i{const code=part.substring(0,1);const value=part.substring(1);if(typeof(code)!=='string'||typeof(value)!=='string'){return;}
if(code==='g'){tcData.gdprApplies=Boolean(Number(value));}
else if(code==='c'){tcData.publisher.consents=ElReg.Cmp.decodeConsentBits(Number(value));}
else if(code==='l'){tcData.publisher.legitimateInterests=ElReg.Cmp.decodeConsentBits(Number(value));}});return tcData;};ElReg.Cmp.loadGPT=()=>{if(window.googletag&&googletag.apiReady){return;}
const tcData=ElReg.Cmp.getOurTCData();const pc=new ElReg.Cmp.PublisherConsent(tcData);const script=document.createElement('script');script.type='text/javascript';script.async=true;pc.consentRunner({requiredConsents:pc.tcfPurposesList.GAM_ENABLE_PERSONALISED_ADS,withConsent:()=>{script.src='https://securepubads.g.doubleclick.net/tag/js/gpt.js';},withoutConsent:()=>{script.src='https://pagead2.googlesyndication.com/tag/js/gpt.js';},});const head=document.getElementsByTagName('head');if(head.length){head[0].appendChild(script);}};ElReg.Cmp.addCmpCookieEventListener=()=>{ElReg.Cmp.whenConsentDataReady((tcData,success)=>{if(!success)return;let consents={};let legitimateInterests={};if(tcData.publisher){if(tcData.publisher.consents){consents=tcData.publisher.consents;}
if(tcData.publisher.legitimateInterests){legitimateInterests=tcData.publisher.legitimateInterests;}}
const consentString=ElReg.Cmp.encodeConsentString({gdprApplies:Boolean(tcData.gdprApplies),consents:consents,legitimateInterests:legitimateInterests,});$.setcookie('cmp',consentString,{expires:182,domain:RegUtils.cookieDomain(),secure:true,samesite:'Strict',});},false);};ElReg.Cmp.addConsentOptionsEventListener=()=>{ElReg.Cmp.whenConsentDataReady((tcData,success)=>{if(!success)return;if(!tcData.gdprApplies)return;try{const ul=document.querySelector('.foot_list.privacy ul');if(document.querySelector('.cmp_revocation'))return;const li=document.createElement('li');const span=document.createElement('span');span.className='cmp_revocation';span.innerText='Your Consent Options';span.addEventListener('click',()=>{googlefc.callbackQueue.push(googlefc.showRevocationMessage);});li.appendChild(span);ul.appendChild(li);}
catch(e){console.log(e);}},false);};ElReg.Cmp.PublisherConsent=(function(){function PublisherConsent(tcData){const publisher=tcData&&tcData.publisher?tcData.publisher:{};const consents=publisher.consents?publisher.consents:{};const legitimateInterests=publisher.legitimateInterests?publisher.legitimateInterests:{};Object.defineProperties(this,{tcData:{get:()=>tcData},gdprApplies:{get:()=>Boolean(tcData.gdprApplies)},consents:{get:()=>consents},legitimateInterests:{get:()=>legitimateInterests},tcfPurposes:{get:()=>TCF_PURPOSES},tcfPurposesList:{get:()=>TCF_PURPOSES_LIST},});PublisherConsent.prototype.publisherHasConsent=function(requiredConsents){if(!this.gdprApplies)return true;return requiredConsents.every((purpose)=>{return this.consents[purpose]||this.legitimateInterests[purpose];});}
PublisherConsent.prototype.consentRunner=function(args){const invalidArgs=Object.keys(args).filter((arg)=>{return!['requiredConsents','withConsent','withoutConsent'].includes(arg);});if(invalidArgs.length){throw new Error('Invalid "consentRunner" args: '+invalidArgs.join(', '));}
if(this.publisherHasConsent(args.requiredConsents)){if(typeof(args.withConsent)==='function'){args.withConsent();}}
else{if(typeof(args.withoutConsent)==='function'){args.withoutConsent();}}}}
return PublisherConsent;}());ElReg.Cmp.loadGPT();document.addEventListener('DOMContentLoaded',()=>{ElReg.Cmp.addCmpCookieEventListener();ElReg.Cmp.addConsentOptionsEventListener();});}(window.ElReg=window.ElReg||{},window.googlefc=window.googlefc||{},));
var grecaptcha_key='6LdLgfkUAAAAACdyAtvPnUQK_WXDQyUEGXz6Zlj4';
var RegUtils={};$.cookie=function(n,v){n+='=';if(typeof v=='undefined')
v='';if(document.cookie)$.each(document.cookie.split(';'),function(i,c){c=$.trim(''+c);if(c.substring(0,n.length)==n){v=decodeURIComponent(c.substring(n.length));return false;}});return v;};$.setcookie=function(n,v,opt){n+='=';if(!opt)opt={};var e=new Date();if(v===null){v='';e.setTime(e.getTime()-1000);}
else if(typeof opt.expires=='number'){e.setTime(e.getTime()+opt.expires*86400000);}
else if(opt.expires&&opt.expires.toUTCString)
e=opt.expires;else
e='';if(e!=='')e='; expires='+e.toUTCString();document.cookie=[n,encodeURIComponent(v),e,'; path=',opt.path||'/',opt.domain?'; domain='+opt.domain:'',opt.secure?'; secure':'',opt.samesite?'; samesite='+opt.samesite:''].join('');};RegUtils.cookieDomain=function(){return/(?:^|[.])theregister.com$/.test(document.location.hostname)?'theregister.com':'theregister.co.uk';}
RegUtils.day_ordinal_abbr=function(d){var mod100=d.getDate()%100;if(mod100>=4&&mod100<=20)return'th';var mod10=mod100%10;return mod10==1?'st':mod10==2?'nd':mod10==3?'rd':'th';};RegUtils.meridiem=function(d){return d.getHours()<12?'am':'pm';}
RegUtils.month_name=function(d){var months=['January','February','March','April','May','June','July','August','September','October','November','December'];return months[d.getMonth()];}
RegUtils.set_bucket_group=function(bucket_num){if(!bucket_num>0)return;$.setcookie('bucket',bucket_num,{'domain':RegUtils.cookieDomain(),'expires':365});}
RegUtils.user_login_state=function(){var raw_cookies=[['s','full log in'],['ml','newsletter link'],['sl','whitepaper link']];var log_state='none';for(var i=0;i0){for(var i=0;i0){for(var i=0;i'));}
$.cgi=function(q){var v='';$.each(window.location.search.substring(1).split('&'),function(){var p=this.split('=');if(p[0]==q){v=p[1];return false;}});return v;};$.htmlesc=function(s){if(typeof s!='string')s=String(s);return s.replace(/&/g,'&')
.replace(//g,'>')
.replace(/\"/g,'"');};$.sum=function(a,k){var n=0;$.each(a,function(i,x){n+=k?k(x,i):x});return n;};$.fn.prompt=function(m){var c='prompt',F=$.fn.prompt;if(!F.ok){F.ok=1;$('form').submit(function(){$(this).find(':input.'+c).val('')});}
return this.each(function(){var i=$(this);if(i.val()=='')
i.val(m);if(i.val()==m)
i.addClass(c);i.focus(function(){if(i.hasClass(c))
i.val('').removeClass(c);}).blur(function(){if(i.val()=='')
i.val(m).addClass(c);});});};var is_rows_based_page=typeof(RegPageType)!=='undefined'&&(RegPageType==='Index'||RegPageType==='Section')&&typeof(RegEagleType)!=='undefined';function ads_states_tracking(){$.ajax({url:window.location.origin+"/design_picker/c00f80f04b0eaf0123d821f6c9488fc1cb55fd0a/javascript/ads.js",dataType:"script",cache:true,success:function(){if(typeof(googletag)!=='object'){track_abt('abt_g');return;}
if(typeof(googletag.pubads)!=='function'){track_abt('abt_gp');return;}
var single_ad_loaded=false;var single_ad_loaded_and_viewable=false;googletag.pubads().addEventListener('slotRenderEnded',function(event){single_ad_loaded=true;if(document.getElementById(event.slot.getSlotElementId()).style.display!='none')
single_ad_loaded_and_viewable=true;});googletag.cmd.push(function(){if(typeof(RegAdBlocking)=='undefined'){track_abt('abt_b');return;}
var one_second_interval=window.setInterval(function(){if(single_ad_loaded){single_ad_loaded_and_viewable?track_abt('abt_a'):track_abt('abt_c');clearInterval(one_second_interval);}},1000);window.setTimeout(function(){if(!single_ad_loaded){clearInterval(one_second_interval);track_abt('abt_d');}},5001);});},error:function(){$(function(){track_abt('abt_b');if(ad_free())return;if(!$.cookie('bucket'))return;bucket_subgroup=Math.floor((parseInt($.cookie('bucket'))-1)/10+1);if(bucket_subgroup>=31&&bucket_subgroup<=34){var ad_params;if(bucket_subgroup==31)ad_params={src:'https://regmedia.co.uk/2018/06/15/gg2b_book.png',href:'https://forms.theregister.com/gg2b/'};if(bucket_subgroup==32)ad_params={src:'https://regmedia.co.uk/2017/09/22/enterprise_cloud_picture.jpg',href:'https://whitepapers.theregister.com/paper/view/5982/delivering-an-enterprise-cloud-architecture',title:'Delivering an enterprise cloud architecture',desc:'It’s about process, says someone that wears the t-shirt'};if(bucket_subgroup==33)ad_params={href:'https://forms.theregister.com/gg2b/',title:'THE GEEK’S GUIDE TO BRITAIN',desc:'The Register’s travel guide to Blighty’s places of invention, creation and technological wonder'};if(bucket_subgroup==34)ad_params={href:'https://whitepapers.theregister.com/paper/view/5982/delivering-an-enterprise-cloud-architecture',title:'Delivering an enterprise cloud architecture',desc:'It’s about process, says someone that wears the t-shirt'};ad_params.href=ad_params.href+'?td=abt_'+bucket_subgroup;bird_alternative('ad_wp_top',ad_params);}});}});}
var RegAST=false;function track_abt(abt_tag_name){if(RegAST)return;var allowed_domains=new RegExp(/^(www|forums|search)[.]theregister[.]com$/);if(!allowed_domains.test(window.location.hostname))return;var abt1=' ';$("#footer").append($(abt1+abt_tag_name+abt2));RegAST=true;}
function gpt_js_errored(){track_abt('abt_bb');return;}
function bird_alternative(mode,ad_params){if(mode=='ad_wp_top'&&$('#site_nav_mobile').length){var styles='display:block; text-align:center; padding:1.5%; max-width: 350px; margin: 1em auto; border: 1px solid #ccc;';var alternative_advert_html='';alternative_advert_html+=ad_params.src?' ':'';alternative_advert_html+=ad_params.title?' '+ad_params.title+' ':'';alternative_advert_html+=ad_params.desc?' '+ad_params.desc+' ':'';alternative_advert_html+=' ';$(alternative_advert_html).insertAfter('#masthead');}}
function RegGPT(tag,abmvfc,abmbet){window.googletag=window.googletag||{cmd:[]};if(ad_free())return;document.addEventListener('DOMContentLoaded',function(){if(ad_free())return;ElReg.Cmp.whenConsentApiReady((tcData,success)=>{if(!success)return;const pc=new ElReg.Cmp.PublisherConsent(tcData);googletag.cmd.push(function(){init_gpt__on_dom_load_html_attrs(tag,abmvfc,abmbet,pc);});var refreshed=0;window.setInterval(function(){if(refreshed>=3)return;refreshed++;googletag.cmd.push(function(){googletag.pubads().refresh();});},60000);});});}
function init_gpt__on_dom_load_html_attrs(tag,abmvfc,abmbet,pc){tag='/6978/'+tag;var tile=1;var ad_slots=[];var ad_elems=document.querySelectorAll('.adun');function ad_elem__data_attr(ad_elem,data_attr){if(ad_elem.getAttribute('data-'+data_attr)!==null&&ad_elem.getAttribute('data-'+data_attr).length)
return ad_elem.getAttribute('data-'+data_attr);else return false;}
function adun_name_to_ad_dim(name){var ad_name_dim_mapping={'mpu':'300x250','mpu_condor':'300x250 300x251','mpu_falcon':'300x250 300x252','mpu_eagle':'300x250 300x253','mpu_hawk':'300x250 300x254','mpu_owl':'300x250 300x255','mpu_buzzard':'300x250 300x256','dmpu':'300x600','dmpu_condor':'300x600 300x601','dmpu_falcon':'300x600 300x602','dmpu_eagle':'300x600 300x603','dmpu_hawk':'300x600 300x604','dmpu_owl':'300x600 300x605','dmpu_buzzard':'300x600 300x606','leaderboard':'728x90','leaderboard_condor':'728x90 728x91','leaderboard_falcon':'728x90 728x92','leaderboard_eagle':'728x90 728x93','leaderboard_hawk':'728x90 728x94','leaderboard_owl':'728x90 728x95','leaderboard_buzzard':'728x90 728x96','superleaderboard':'970x90','superleaderboard_condor':'970x90 970x91','superleaderboard_falcon':'970x90 970x92','superleaderboard_eagle':'970x90 970x93','superleaderboard_hawk':'970x90 970x94','superleaderboard_owl':'970x90 970x95','superleaderboard_buzzard':'970x90 970x96','billboard':'970x250','billboard_condor':'970x250 970x251','billboard_falcon':'970x250 970x252','billboard_eagle':'970x250 970x253','billboard_hawk':'970x250 970x254','billboard_owl':'970x250 970x255','billboard_buzzard':'970x250 970x256','brandwidth':'1200x270','brandwidth_condor':'1200x270 1200x271','brandwidth_falcon':'1200x270 1200x272','brandwidth_eagle':'1200x270 1200x273','brandwidth_hawk':'1200x270 1200x274','brandwidth_owl':'1200x270 1200x275','brandwidth_buzzard':'1200x270 1200x276','brandimpact':'1200x600','brandimpact_condor':'1200x600 1200x601','brandimpact_falcon':'1200x600 1200x602','brandimpact_eagle':'1200x600 1200x603','brandimpact_hawk':'1200x600 1200x604','brandimpact_owl':'1200x600 1200x605','brandimpact_buzzard':'1200x600 1200x606','fluid':'fluid'};if(typeof(name)==='string'&&ad_name_dim_mapping[name].length)
return ad_name_dim_mapping[name];}
function adun_to_gtag_sizes(adun_elem){if(adun_elem.getAttribute('data-xsm')===null&&adun_elem.getAttribute('data-sm')===null&&adun_elem.getAttribute('data-md')===null&&adun_elem.getAttribute('data-xmd')===null&&adun_elem.getAttribute('data-lg')===null&&adun_elem.getAttribute('data-xlg')===null&&adun_elem.getAttribute('data-xxlg')===null)
return false;var adun_data_sizes={'data-xsm':'[1, 5]','data-sm':'[320, 5]','data-md':'[650, 5]','data-xmd':'[758, 5]','data-lg':'[800, 5]','data-xlg':'[1000, 5]','data-xxlg':'[1260, 5]'};var ad_sizes='[ [ ';$.each(adun_data_sizes,function(data_size,value){if(adun_elem.getAttribute(data_size)){if(ad_sizes!=='[ [ ')ad_sizes+=', [ ';ad_sizes+=value+', [ ';var vw_ads=adun_elem.getAttribute(data_size).replace(/^,/,'');vw_ads=vw_ads.replace(/,$/,'');vw_ads=vw_ads.split(',');for(var i=0;iadBoundaryBottom){ad_elem.parentNode.removeChild(ad_elem);continue;}
if(ad_elem.id===null||!ad_elem.id.length)
ad_elem.id=ad_elem.getAttribute('data-raptor')+'_'+i;ad_slot['slotId']=ad_elem.id;if(ad_elem__data_attr(ad_elem,'oop')&&ad_elem__data_attr(ad_elem,'oop')==='1'){ad_slot['is_oop']=true;if(ad_elem.className.indexOf('gtag_display')<0)
document.getElementById(ad_slot['slotId']).className+=' gtag_display';}else{ad_slot['is_oop']=false;ad_slot['sizes']=adun_to_gtag_sizes(document.getElementById(ad_slot['slotId']));if(ad_slot['sizes']===false){ad_elem.setAttribute('data-xsm','mpu');ad_slot['sizes']=adun_to_gtag_sizes(document.getElementById(ad_slot['slotId']));}
if(getElementCss(ad_elem,'display')!='none'){if(ad_elem.className.indexOf('gtag_display')<0)
document.getElementById(ad_slot['slotId']).className+=' gtag_display';}}
ad_slots.push(ad_slot);}}
function init_gpt__refresh_onresize(){var grace_period;var browser_width_on_resize_start=window.innerWidth;var grace_period_after_resize=2000;function match_ad_size_to_browser_width(adsizes_array,browser_width){if(typeof(adsizes_array)==="undefined"||adsizes_array==null)return 0;for(var i=0;i{googletag.pubads().setPrivacySettings({limitedAds:true,nonPersonalizedAds:true,});},});admCustomData={};googletag.pubads().setTargeting('test',($.cgi('test')||'0'));var s=$.cookie('tg').split(':');if(s[0]!=1){s=$.cookie('s').split(':');}
if(s[0]!=1){s=$.cookie('ml').split(':');}
if(s[0]!=1){s=$.cookie('sl').split(':');}
if(s[0]==1){var li=((typeof s[3]=='undefined'||s[3]=='0'||(typeof RegLoginState!='undefined'&&!RegLoginState))?'0':'1');pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_SEND_USER_LOGIN_METRICS,withConsent:()=>{googletag.pubads().setTargeting('li',li);googletag.pubads().setTargeting('uid',parseInt(s[2],16)+'');},withoutConsent:()=>{googletag.pubads().setTargeting('li','noconsent');googletag.pubads().setTargeting('uid','noconsent');},});for(var i=6;i{googletag.pubads().setTargeting(kw[0],kw[1]);admCustomData[kw[0]]=kw[1];},withoutConsent:()=>{googletag.pubads().setTargeting(kw[0],'noconsent');},});}}else{googletag.pubads().setTargeting('li','null');googletag.pubads().setTargeting('uid','null');}
pc.consentRunner({requiredConsents:pc.tcfPurposesList.GAM_ENABLE_PERSONALISED_ADS,withConsent:()=>{$.setcookie('sc',(1+parseInt($.cookie('sc',0))),{domain:'theregister.com'});let sc=$.cookie('sc',0);if(sc>100)sc='over100';googletag.pubads().setTargeting('sc',sc);},withoutConsent:()=>{googletag.pubads().setTargeting('sc','noconsent');},});googletag.pubads().setTargeting('bwidth',Math.floor($(window).width()/100)+'');googletag.pubads().setTargeting('bheight',Math.floor($(window).height()/100)+'');googletag.pubads().setTargeting('orientation',$(window).height()>=$(window).width()?'portrait':'landscape');googletag.pubads().setTargeting('mm_segments',RegUtils.get_user_abmMMSegments());pc.consentRunner({requiredConsents:pc.tcfPurposesList.ENABLE_ABM,withConsent:()=>{if(typeof(abmvfc)!=='undefined'&&abmvfc.length!=0){googletag.pubads().setTargeting('reg_vfc',abmvfc);}
if(typeof(abmbet)!=='undefined'&&abmbet.length!=0){googletag.pubads().setTargeting('reg_bet',abmbet);}
if(typeof(VVNOZs)!=='undefined'&&VVNOZs.length>0){googletag.pubads().setTargeting('reg_noz',','+VVNOZs.join(',')+',');}},withoutConsent:()=>{googletag.pubads().setTargeting('reg_vfc','noconsent');googletag.pubads().setTargeting('reg_bet','noconsent');googletag.pubads().setTargeting('reg_noz','noconsent');},});typeof(RegTruePageType)==='undefined'?googletag.pubads().setTargeting('tpt','null'):googletag.pubads().setTargeting('tpt',RegTruePageType.replace('/',' '));if(typeof RegArticle=='undefined'){googletag.pubads().setTargeting('pid','null');googletag.pubads().setTargeting('pt','i');googletag.pubads().setTargeting('axc','null');googletag.pubads().setTargeting('kw','null');googletag.pubads().setTargeting('cat','null');googletag.pubads().setTargeting('tag','null');googletag.pubads().setTargeting('author','null');googletag.pubads().setTargeting('year','null');googletag.pubads().setTargeting('nsfw','null');}else{googletag.pubads().setTargeting('pid',RegArticle.id?RegArticle.id+'':'0');googletag.pubads().setTargeting('pt',RegArticle.pf?'p':(RegArticle.cp?'c':'a'));if(typeof RegArticle.ec=='object'&&RegArticle.ec.length>0){axc=RegArticle.ec;googletag.pubads().setCategoryExclusion(axc.join());}else if(typeof RegArticle.ec=='string'){axc=RegArticle.ec.replace(new RegExp(';!cat=','g'),",");if(axc.substr(0,1)==',')axc=axc.substr(1);}else axc='null';googletag.pubads().setTargeting('axc',axc);if(RegArticle.kw){var kw=new Array();for(var i=0;i *:not(.adun)');googletag.pubads().setTargeting('np',String(top_level_elems_in_story.length));}
var eligible_aduns_count=document.querySelector('.adun[data-raptor="kite"]')!==null?1:0;var aduns=document.querySelectorAll('.adun');for(var i=0;i{if(typeof VCs==='object')googletag.pubads().setTargeting('vc',VCs);if(typeof SAs==='object')googletag.pubads().setTargeting('sa',SAs);if(typeof VKs==='object')googletag.pubads().setTargeting('vk',VKs);if(typeof VKs==='object')admCustomData['vk']=VKs;},});admCustomData=[admCustomData];}
function init_gpt__on_slotrenderended(){googletag.pubads().addEventListener('slotRenderEnded',function(event){if(typeof RegAdsRendered==='undefined')RegAdsRendered=[];RegAdsRendered.push(event);var ad_id=event.slot.getSlotElementId();var ad_iframe=document.querySelectorAll('#'+ad_id+' iframe');if(event.isEmpty)return;var ad_html=ad_iframe[0].contentDocument.body.innerHTML;var ad_is_blank=ad_html.match(//)||ad_html.match(/alt="?reg_blank_ad"?/);var body_data_pagetype=document.getElementsByTagName('body')[0].getAttribute('data-pagetype');var allowed_pagetypes=['Index','Section','Story','Earlier','Popular','Week','Author','Tag','Archive','Search','Forums'];var exclude_urls=/^\/(lectures)/;if(allowed_pagetypes.indexOf(body_data_pagetype)!=-1&&!window.location.pathname.match(exclude_urls)){if(ad_is_blank)
setElementCss(document.getElementById(ad_id),{'padding':0,'margin':0,'height':0,'display':'none'});else{if(ad_id.indexOf('eagle')>=0&&body_data_pagetype==='Story')
rhs_sticky_adun_eagle_story(ad_id);if(is_rows_based_page){if(RegEagleType==='RT-2F'){if(ad_id.indexOf('eagle')>=0){rt_2f_sticky_adun_eagle(ad_id);}}}}}
if(typeof(event.campaignId)!=='undefined'&&event.campaignId!==null&&!ad_is_blank){pc.consentRunner({requiredConsents:pc.tcfPurposesList.GAM_ENABLE_PERSONALISED_ADS,withConsent:()=>{var nir=document.createElement('script');var nirDomain=RegUtils.cookieDomain();nir.type='text/javascript';nir.async=true;nir.src="https://nir."+nirDomain+"/?s=sa/oid."+event.campaignId;var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(nir,s);},});}});}
init_gpt__setup_dom_ad_slots();init_gpt__define_gpt_ad_slots();init_gpt__refresh_onresize();init_gpt__setup_opts_and_tracking();googletag.pubads().enableSingleRequest();googletag.pubads().collapseEmptyDivs();if($.cookie('test_bucket')==='lazyloadgpt')
if(!window.matchMedia("(min-width: 650px)").matches){var url_params=new URLSearchParams(window.location.search);googletag.pubads().enableLazyLoad({fetchMarginPercent:parseInt(url_params.get('fetch')?url_params.get('fetch'):200),renderMarginPercent:parseInt(url_params.get('render')?url_params.get('render'):100),});}
googletag.enableServices();init_gpt__on_slotrenderended();ads_states_tracking();googletag.cmd.push(function(){var ad_elems=document.querySelectorAll('.adun.gtag_display');for(var i=0;i-1)return true;else return false;}
function product_to_newsletter(product){var prod_to_newsletter_mappings={'quick_daily_newsletter':'thereg_daily_headlines','quick_weekly_newsletter':'thereg_weekly_digest','quick_security_newsletter':'weekly_security_headlines','quick_channel_newsletter':'weekly_channel_headlines','quick_storage_newsletter':'weekly_storage_headlines','quick_hpc_newsletter':'weekly_hpc_headlines','quick_ai_newsletter':'weekly_ai_headlines','quick_iot_newsletter':'weekly_iot_headlines','quick_devops_newsletter':'weekly_devops_headlines'}
return prod_to_newsletter_mappings[product];}
function quick_signup_link_submission_setup(el,augm_el,augm_el_id,quick_product){var enable_recaptcha=0;var submission_timeout;function submission_abort(dest){document.location=dest;}
quick_signup_block_submissions=0;el.addEventListener('click',function(event){event.preventDefault();$(augm_el).submit();});$(augm_el).submit(function(event){event.preventDefault();if(quick_signup_block_submissions)return;quick_signup_block_submissions=1;$('#'+augm_el_id+' input[type="email"]').prop('readonly',true);el.className+=' submitting';el.innerHTML='Submitting…';submission_timeout=setTimeout(function(){submission_abort(el.getAttribute('href'));},5000);if(enable_recaptcha){var css='.grecaptcha-badge{visibility:hidden;}';var st=document.createElement('style');st.type='text/css';if(typeof(st.styleSheet)!=='undefined'){st.styleSheet.cssText=css;}else{st.appendChild(document.createTextNode(css))}
document.getElementsByTagName('head')[0].appendChild(st);var s=document.createElement('script');s.type='text/javascript';s.async=false;s.src='https://www.google.com/recaptcha/api.js?render='+grecaptcha_key+'&onload=quick_signup_link_submit';quick_signup_link_submit=function(){if(typeof(grecaptcha)!=='object'||typeof(grecaptcha['ready'])!=='function'||typeof(grecaptcha['execute'])!=='function'){submission_abort(el.getAttribute('href'));return;}
grecaptcha.ready(function(){grecaptcha.execute(grecaptcha_key,{action:'register_'+quick_product}).then(function(token){clearTimeout(submission_timeout);$('#'+augm_el_id+' input[name="g-recaptcha-response"]').val(token);document.createElement('form').submit.call(augm_el);},function(reason){submission_abort(el.getAttribute('href'));});});}
document.getElementById(augm_el_id).appendChild(s);}else{clearTimeout(submission_timeout);document.createElement('form').submit.call(augm_el);}
return false;});}
function quick_signup_link(el,index){var enable_recaptcha=0;var unique_id='aug_signup_link_'+index;if(el===null||el.tagName!=='A'||el.getAttribute('href')===null||el.getAttribute('data-product')===null)
return;var quick_product=el.getAttribute('data-product');var augm_el=document.createElement('form');var augm_el_id=unique_id;augm_el.setAttribute('action',el.getAttribute('data-action'));augm_el.setAttribute('method','POST');augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';$(el).replaceWith(augm_el);augm_el.appendChild(el);if(enable_recaptcha){augm_el.innerHTML+='This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
';}
augm_el.setAttribute('id',augm_el_id);el=document.querySelector('#'+augm_el_id+' .quick_signup_augmentable');quick_signup_link_submission_setup(el,augm_el,augm_el_id,quick_product);}
function find_quick_signup_fallback(quick_product){var user_demographics=RegUtils.get_user_demographics();if($.isEmptyObject(user_demographics))
return quick_product;var quick_product_demographics_mappings={'quick_daily_newsletter':'d5','quick_weekly_newsletter':'d7','quick_mobile_newsletter':'d103','quick_hpc_newsletter':'d122','quick_storage_newsletter':'d164','quick_channel_newsletter':'d768','quick_ai_newsletter':'d814','quick_iot_newsletter':'d815','quick_devops_newsletter':'d816','quick_security_newsletter':'d89',}
var final_fallback=false;if(quick_product_demographics_mappings[quick_product]){var qp_demo_code=quick_product_demographics_mappings[quick_product];if(typeof(user_demographics[qp_demo_code])!=='undefined'&&user_demographics[qp_demo_code]==="1"){var quick_product_fallbacks='quick_weekly_newsletter quick_daily_newsletter'.split(' ');for(var i=0;iTake a look!';return;}
if(quick_product&&RegUtils.user_login_state()==='full log in'){if(el.getAttribute('data-pre-email-content')!==null&&el.getAttribute('data-pre-email-content').length){var quick_product_friendly=quick_product.replace('quick_','').replace('_newsletter','');el.setAttribute('href',el.getAttribute('href').replace(/\?product=quick_.*_newsletter/,'?product='+quick_product));el.innerHTML=el.getAttribute('data-pre-email-content').replace(/\.*\<\/strong\>/,''+quick_product_friendly+' ');return;}}
el.parentNode.className=el.parentNode.className.replace('with_small_vulture','');el.className=el.className+' reg_btn_secondary';var augm_el=document.createElement('form');var augm_el_id=unique_id;augm_el.setAttribute('action',el.getAttribute('data-action'));augm_el.setAttribute('method','POST');if(el.getAttribute('data-pre-email-content')!==null&&el.getAttribute('data-pre-email-content').length){var quick_product_friendly=quick_product.replace('quick_','').replace('_newsletter','');augm_el.innerHTML+=el.getAttribute('data-pre-email-content').replace(/\.*\<\/strong\>/,''+quick_product_friendly+' ');augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+=' ';augm_el.innerHTML+='
';$(el).replaceWith(augm_el);el.innerHTML='Subscribe';augm_el.querySelector('.valign').appendChild(el);if(enable_recaptcha){augm_el.innerHTML+='This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply. ';}
augm_el.setAttribute('id',augm_el_id);el=document.querySelector('#'+augm_el_id+' .quick_signup_augmentable');el.className=el.className.replace('no_js','yes_js');quick_signup_link_submission_setup(el,augm_el,augm_el_id,quick_product);}}
document.addEventListener('DOMContentLoaded',function(){var augmentable_signups=document.querySelectorAll('.quick_signup_augmentable');if(augmentable_signups.length){for(var i=0;i=0)
quick_signup_link_upg(augmentable_signups[i],i);else
quick_signup_link(augmentable_signups[i],i);}}});var RegTLRotate=(function(){var R={};$(function(){for(var k in R){var li=$('#tl-'+k);if(li.length){var r=R[k][Math.floor(Math.random()*R[k].length)];if(!r);else if(r.match(/^0)
for(i=0;i=1)
embedVideoURL='https://www.youtube.com/embed/'+matchYoutubeVid[3];if(matchVimeoVid&&matchVimeoVid[2].length>=1)
embedVideoURL='https://player.vimeo.com/video/'+matchVimeoVid[2];var embedVideoIframe=document.createElement('iframe');embedVideoIframe.setAttribute('src',embedVideoURL);embedVideoIframe.setAttribute('frameborder',0);moveElement(media.parentNode,embedVideoIframe);embedVideoIframe.parentNode.className='reg_video_iframe';media.parentNode.removeChild(media);}else{var embedVideo=document.createElement('video');embedVideo.setAttribute('controls','');embedVideo.setAttribute('preload','none');embedVideo.setAttribute('poster','https://www.theregister.com/design_picker/58c1011b5dd88d8f4ded3a2031c3ae56904a8830/graphics/media/poster_videotag.svg')
embedVideo.className='reg_video';embedVideo.innerHTML='Your browser does not support the video tag';moveElement(media.parentNode,embedVideo);embedVideo.parentNode.className='reg_video';media.parentNode.removeChild(media);}}else{var isAudioFile=new RegExp(/(.mp3)$|(.ogg)$|(.opus)$/g);if(media.href.match(isAudioFile)){var embedAudio=document.createElement('audio');embedAudio.setAttribute('controls','');embedAudio.setAttribute('preload','none');embedAudio.className='reg_audio';embedAudio.innerHTML='Your browser does not support the audio tag';moveElement(media.parentNode,embedAudio);embedAudio.parentNode.className='reg_audio';media.parentNode.removeChild(media);}}}}
$(function(){load_media_player();});$(function(){var m,L=window.location;if(typeof RegForumPosts!='undefined'&&(m=L.hash.match(/^#c_([0-9]+)$/))&&!RegForumPosts[m[1]])
window.location='https://'+L.host+'/forum/containing/'+m[1]+L.search;});(function(){var c=$.cookie('s').split(':');var time=c[3];if(typeof RegLoginState!='undefined'&&!RegLoginState)
time=0;var time_timestamp_format=parseInt(time,16);var the_time_now=Math.round(new Date().getTime()/1000);var cookie_age=the_time_now-time_timestamp_format;if(cookie_age>=2592000)time=0;document.addEventListener('DOMContentLoaded',function(){if(document.getElementById('masthead')){var mob_user_link=document.querySelector('#masthead #mob_user_link');if(mob_user_link!==null){if(time&&time!='0'){mob_user_link.href=mob_user_link.href.replace(/\/register\//,'/register/?edit=1');mob_user_link.className+=' logged_in';mob_user_link.setAttribute('title','My Account');mob_user_link.setAttribute('aria-label','My Account');document.querySelector('#masthead #mob_user_link #mob_user_text > span').textContent='My Account';}else{mob_user_link.href=mob_user_link.href.replace(/\/register\//,'/login?r='+escape(window.location));mob_user_link.setAttribute('title','Sign in / up');mob_user_link.setAttribute('aria-label','Sign in / up');}}}});})();function pivot_shuffle(arr){return pivot_around(new Date().getMinutes()%arr.length,arr);}
function pivot_around(point,arr){return arr.concat(arr.splice(0,point))}
$(function(){$('body').on('click','#follow_us_twitter, .faceb_dialog, .twit, .linkedin_social',function(){display_social_popup($(this).attr('href'));return false;});});function display_social_popup(url){var left=Math.round((screen.width/2)-(550/2));var top=Math.round((screen.height/2)-(475/2));window.open(url,'popUpWindow','height=475,width=550,resizable=yes,scrollbars=yes,toolbar=no,left='+left+',top='+top);}
function regtld(){var host=location.host.search('theregister.com')!=-1?'thereg':'channel';return host;}
function getElementCss(elem,properties){var properties_value=new Array();if(typeof(properties)=='string')
properties_value.push(window.getComputedStyle(elem).getPropertyValue(properties));else
for(i=0;i=0&&window.getComputedStyle(e.target.parentElement).getPropertyValue('display')!='none')||(e.target.className.indexOf('top_blob')>=0&&window.getComputedStyle(e.target).getPropertyValue('display')!='none')){open();}
if(state==='open'&&e.target.className.indexOf('sharing_widget_overlay')>=0){close();}
if(state==='open'&&e.target.className.indexOf('cp_link')>=0){copy_link(e.target.parentNode.children[0],e.target);}});document.addEventListener('keyup',function(e){if(state==='open'&&e.isTrusted&&e.keyCode===27)
close();});}
function instantiate_sharing_widgets(){var share_widgets_elems=document.querySelectorAll('.sharing_widget.uses_overlay, .sharing_widget_story_desktop.uses_overlay');if(share_widgets_elems.length)
for(var i=0;ilimit)continue;var time_stamp=time_calc(epoch_diff);if(time_stamp){epoch_elem.innerText=time_stamp;has_updatable_elements=true;}}
if(!has_updatable_elements)
clearInterval(refresh_timestamp);}}
function time_calc(secs){var result='';var month_stamp=2629743;var day_stamp=86400;var hour_stamp=3600;var mins_stamp=60;var months=Math.floor(secs/month_stamp);if(months&&months>=6){return;}
else if(months>0){result=story_posted_at(secs,month_stamp,' month');return result;}
var days=parseInt(secs/day_stamp);if(days>0){result=story_posted_at(secs,day_stamp,' day');return result;}
var hours=parseInt(secs/hour_stamp);if(hours&&hours>1){result=story_posted_at(secs,hour_stamp,' hr');return result;}
var mins=parseInt(secs/mins_stamp);if(secs>0&&(mins||secs>=0)){var round_min=(secs/mins_stamp).toFixed(0);if(round_min<2)result='Just posted';else if(round_min<59)result=round_min+' mins';else result='1 hr';return result;}
else if(secs>-60)return'Just posted';else return;function story_posted_at(secs,stamp,type){var rounded=(secs/stamp).toFixed(0);if(rounded>1)type=type+'s';var result=rounded+type;return result;}}
document.addEventListener('DOMContentLoaded',function(){if(window.location.hostname.search(/account|whitepapers/)>=0)return;var no_roll_time_pages=['Search results','Tag','www Story','www archive'];if(typeof(RegTruePageType)!=='undefined'&&no_roll_time_pages.indexOf(RegTruePageType)>=0)return;rolling_time();});if(typeof(RegPageType)!='undefined'&&RegPageType==='Story'){document.addEventListener('DOMContentLoaded',function(){if(document.querySelector('#article #body blockquote.twitter-tweet')!==null&&document.querySelector('#article #body script[src*="platform.twitter.com/widgets.js"]')===null){!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}
(document,"script","twitter-wjs");}});}
function get_url_param(name){return decodeURI((RegExp(name+'='+'(.+?)(&|$)').exec(location.search)||[,null])[1]);}
function reg_nl_form(){$('#custom_sections').addClass('hide');$('.customise_newslet').on('click',function(){if($('#custom_sections').hasClass('hide'))$('#custom_sections').removeClass('hide');else $('#custom_sections').addClass('hide');});}
$.fn.bg=function(c,i){this.css('background-color',c);if(i)
this.css('background-image','url('+i+')');return this;};document.addEventListener('DOMContentLoaded',function(){if(typeof RegWpTl=='undefined')return;$('.wptl').html(RegWpTl[Math.floor(Math.random()*RegWpTl.length)]);$('.wptl').each(function(i,e){var element=$(e);var link=element.find('a');var uri=link.attr('href');if(uri.match(/\?td=wptl/)){if(element.hasClass('top')){uri=uri+'tp'}
else if(element.hasClass('btm')){uri=uri+'bt'}
link.attr('href',uri);}});});document.addEventListener('DOMContentLoaded',function(){var footer_blocks=document.querySelectorAll('#footer .foot_list h4');for(var i=0;i=view_port)return;var fill_height=(view_port-page_height)-offset;setElementCss(document.getElementById('main-col'),{'padding-bottom':fill_height+'px'})}());});function isScrolledIntoView(elem){if(typeof(elem)!=='object'||elem.length<1)return false;var visibleArea=$(window).scrollTop()+$(window).height();var elemStartPos=(elem.offset().top+elem.height());var elemEndPos=(elem.offset().top+$(window).height()+elem.height());return(visibleArea>=elemStartPos&&visibleArea<=elemEndPos?true:false);}
function check_rhs_sticky_ads_general_conditions(ad_unit){if(window.location.search.indexOf('stickyAds=0')!=-1)return false;if(!window.matchMedia("(min-width: 800px)").matches)return false;if(document.getElementById('page').offsetWidth>window.innerWidth)return false;if(getElementCss(ad_unit,'display')[0]=='none')return false;if(ad_unit.clientHeight+document.getElementById('masthead').offsetHeight>window.innerHeight)
return false;return true;}
function isIE(){var myNav=navigator.userAgent.toLowerCase();return(myNav.indexOf('msie')!=-1)?parseInt(myNav.split('msie')[1]):false;}
function spawn_and_load_img_from_div(parent_div){if(typeof(parent_div)==='undefined')return;if(typeof(parent_div.tagName)==='undefined'||parent_div.tagName!=='DIV')return;if(parent_div.style.display==='none')return;var child_img=document.createElement("IMG");$.each($(parent_div).data(),function(key){var attr=String(key);var attr_value=String(this);child_img.setAttribute(attr,attr_value);parent_div.removeAttribute('data-'+attr);});child_img.setAttribute('alt','');$(child_img).appendTo($(parent_div));}
(function images_unpack_and_lazy_spawn(){if(isIE()==8)return;document.addEventListener("DOMContentLoaded",function(){var all_selectors_dimensions=[{"selector":".rt-1b","dimensions":[{"max_width":"799","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"232","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-1bl","dimensions":[{"max_width":"799","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"232","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-1br","dimensions":[{"max_width":"799","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"232","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-2f article:nth-of-type(1)","dimensions":[{"max_width":"1000","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"800","x":"302","y":"151"},{"x":"604","y":"302"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"477","y":"239"},{"x":"954","y":"477"},]},{"selector":".rt-2f article:nth-of-type(n+2)","dimensions":[{"max_width":"1000","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"800","x":"302","y":"151"},{"x":"604","y":"302"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"477","y":"239"},{"x":"954","y":"477"},]},{"selector":".rt-3c","dimensions":[{"max_width":"1000","x":"302","y":"151"},{"x":"604","y":"302"},{"max_width":"800","x":"302","y":"151"},{"x":"604","y":"302"},{"max_width":"758","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"1001","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-4a","dimensions":[{"max_width":"799","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"232","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-4b","dimensions":[{"max_width":"799","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"232","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-6a","dimensions":[{"max_width":"414","x":"302","y":"151"},{"x":"604","y":"302"},{"width":"174","x":"302","y":"151"},{"x":"604","y":"302"},]},{"selector":".rt-9a","dimensions":[{"max_width":"799","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9ap","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9as","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9at","dimensions":[{"max_width":"1000","x":"477","y":"239"},{"x":"954","y":"477"},{"max_width":"800","x":"377","y":"189"},{"x":"754","y":"377"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9aq","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9b","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9bp","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9bs","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9c","dimensions":[{"max_width":"799","x":"477","y":"239"},{"x":"954","y":"477"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9cp","dimensions":[{"max_width":"1000","x":"477","y":"239"},{"x":"954","y":"477"},{"max_width":"800","x":"377","y":"189"},{"x":"754","y":"377"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9cs","dimensions":[{"max_width":"1000","x":"477","y":"239"},{"x":"954","y":"477"},{"max_width":"800","x":"377","y":"189"},{"x":"754","y":"377"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9ct","dimensions":[{"max_width":"1000","x":"477","y":"239"},{"x":"954","y":"477"},{"max_width":"800","x":"377","y":"189"},{"x":"754","y":"377"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-9cq","dimensions":[{"max_width":"1000","x":"477","y":"239"},{"x":"954","y":"477"},{"max_width":"800","x":"377","y":"189"},{"x":"754","y":"377"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},{"width":"1001","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-0l","dimensions":[{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-0r","dimensions":[{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"width":"478","x":"592","y":"296"},{"x":"1184","y":"592"},]},{"selector":".rt-osr","dimensions":[{"width":"150","x":"410","y":"205"},{"x":"820","y":"410"},]},{"selector":".srow","dimensions":[{"max_width":"1000","x":"477","y":"239"},{"x":"954","y":"477"},{"max_width":"800","x":"377","y":"189"},{"x":"754","y":"377"},{"max_width":"758","x":"356","y":"178"},{"x":"712","y":"356"},{"max_width":"650","x":"302","y":"151"},{"x":"604","y":"302"},{"max-width":"410","x":"410","y":"205"},{"x":"820","y":"410"},]}];for(var i=0;i=0)&&getComputedStyle(lazyParent).display!=="none"){spawn_and_load_img_from_div(lazyParent);lazyParent.setAttribute("class",lazyParent.getAttribute("class").replace(/lazy_parent_img/g,""));}}};document.addEventListener("scroll",lazyload_img_through_parent);window.addEventListener("resize",lazyload_img_through_parent);window.addEventListener("orientationchange",lazyload_img_through_parent);lazyload_img_through_parent();});}());(function(){document.addEventListener("DOMContentLoaded",function(){var lazyImages=document.querySelectorAll("img.lazy");if(!lazyImages.length)return;if(isIE()==8){for(var i=0;i=0)&&getComputedStyle(lazyImage).display!=="none"){if($(lazyImage).parent().css('display')=='none')continue;if(lazyImage.getAttribute("data-src")!==null)
lazyImage.src=lazyImage.getAttribute("data-src");if(lazyImage.getAttribute("data-srcset")!==null)
lazyImage.srcset=lazyImage.getAttribute("data-srcset");lazyImage.setAttribute("class",lazyImage.getAttribute("class").replace(/lazy/g,""));}}
active=false;}};document.addEventListener("scroll",lazyLoad);window.addEventListener("resize",lazyLoad);window.addEventListener("orientationchange",lazyLoad);lazyLoad();}});}());function rt_2f_sticky_adun_eagle(ad_id){if(!check_rhs_sticky_ads_general_conditions(document.getElementById(ad_id)))return;setElementCss(document.querySelector('.rt-2f > .bird'),{'height':document.querySelector('.rt-2f').offsetHeight+'px'});}
function rhs_sticky_adun_eagle_story(ad_id){$(function(){if(!check_rhs_sticky_ads_general_conditions(document.getElementById(ad_id)))return;if(getElementCss(document.querySelector('.adun_eagle_desktop_story_wrapper > .adun'),'display')[0]==='none')return
var adun_eagle_wrapper=document.querySelector('.adun_eagle_desktop_story_wrapper');if(adun_eagle_wrapper===null)return;if($('.right_col').length){var right_col_height=document.querySelector('.right_col').offsetHeight+150;}else{var right_col_height=150;}
var main_col_height=document.getElementById("main-col").offsetHeight;var remaining_article_height=main_col_height-adun_eagle_wrapper.offsetTop-right_col_height;if(remaining_article_height<650)return;setElementCss(adun_eagle_wrapper,{'height':remaining_article_height+'px'});});}
function augment_promo_unit(){var promo_units=document.querySelectorAll('#body .promo_article');if(!promo_units.length)return;for(i=0;i=0){clicked_subnav_toggle_target.className=clicked_subnav_toggle_target.className.replace(' expand','');var els=document.querySelectorAll('.active_item')
for(var i=0;iscroll_yes.clientHeight;if(hasVerticalScrollbar==true){document.getElementById('top_panel').classList.add('scrollbar_present')}else{document.getElementById('top_panel').classList.remove('scrollbar_present')}}
(function(ElReg,dataLayer){'use strict';ElReg.Ga=ElReg.Ga||{};const gtag=function(){dataLayer.push(arguments);}
const isArticleToArticle=()=>{const articleRegex=new RegExp(/^https?:\/\/(?:[a-z]+\.)?www\.theregister\.com\/[1-3][0-9]{3}\/[0-1][0-9]\/[0-3][0-9]\/[^/]+/);
/**The following forward slashes are here because without them,*JavaScript::Minifier throws this error:*unterminated regular expression literal,stopped at/usr/share/perl5/JavaScript/Minifier.pm line 145.*/
// /
if(typeof(RegPageType)!=='undefined'&&RegPageType==='Story'&&typeof(document.referrer)!=='undefined'&&articleRegex.test(document.referrer)&&document.referrer!==window.location.pathname&&!window.location.href.match(/\?.+/)){return true;}
else{return false;}}
const getUserId=()=>{const cookies=['s','ml','sl'];for(const type of cookies){let parts=$.cookie(type).split(':');if(parts.length>=3&&parts[0]==='1'&&parts[2].length){return parts[2];}}
return null;};const valueOrDefault=(value,defaultValue)=>{if(typeof(defaultValue)==='undefined'){defaultValue='';}
if(typeof(value)==='string'&&value.length){return value;}
if(typeof(value)==='number'&&value.toString().length){return value.toString();}
if(Array.isArray(value)&&value.length){return value.join(',')+',';}
return defaultValue;};const keywordList=(kw)=>{if(!Array.isArray(kw)||!kw.length){return'';}
return kw.map((tuple)=>tuple[0]).join(',')+',';};const getRegABTest=()=>{let ab=[];if(typeof(RegABTest)!=='undefined'&&RegABTest.length>0){ab.push(RegABTest);}
if(typeof(RegABVariation)!=='undefined'&&RegABVariation.length>0){ab.push(RegABVariation);}
if(ab.length>0){return','+ab.sort().join(',')+',';}
return null;};ElReg.Ga.send=(trackingId,tagId,dfp_level_1_2,abmvfc,abmbet)=>{ElReg.Cmp.waitTcfApiLoaded()
.then(()=>{ElReg.Cmp.whenConsentApiReady((tcData,success)=>{if(!success)return;sendCmp(tcData,trackingId,tagId,dfp_level_1_2,abmvfc,abmbet,);});})
.catch(()=>{console.log('Failed to load Google TCF API.');});};const sendCmp=(tcData,trackingId,tagId,dfp_level_1_2,abmvfc,abmbet)=>{const userId=getUserId();const regEmpty='(reg_empty)';const regUnknown='(reg_unknown)';const noConsent='noconsent';const regArticle=typeof(RegArticle)==='undefined'?{}:RegArticle;const vvnozs=typeof(VVNOZs)==='undefined'?[]:VVNOZs;const pc=new ElReg.Cmp.PublisherConsent(tcData);const gaOpts={};const ga3Dims={'dimension1':regUnknown,'dimension2':regUnknown,'dimension3':regUnknown,'dimension4':regUnknown,'dimension5':regUnknown,'dimension6':regUnknown,'dimension7':regUnknown,'dimension8':regUnknown,'dimension9':regUnknown,'dimension10':regUnknown,'dimension11':regUnknown,'dimension12':regUnknown,'dimension13':regUnknown,'dimension14':regUnknown,'dimension15':regUnknown,'dimension16':regUnknown,'dimension17':regUnknown,'dimension18':regUnknown,'dimension19':regUnknown,'dimension20':regUnknown,'dimension21':regUnknown,'dimension22':regUnknown,'dimension23':regUnknown};pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_ENABLE_STORAGE,withoutConsent:()=>{gaOpts['storage']='none';},});pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_ENABLE_STORE_GAC,withConsent:()=>{gaOpts['storeGac']=true;},withoutConsent:()=>{gaOpts['storeGac']=false;},});ga('create',trackingId,RegUtils.cookieDomain(),gaOpts);ga('set','anonymizeIp',true);pc.consentRunner({requiredConsents:pc.tcfPurposesList.GAM_ENABLE_PERSONALISED_ADS,withConsent:()=>{ga('set','allowAdPersonalizationSignals',true);},withoutConsent:()=>{ga('set','allowAdPersonalizationSignals',false);},});pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_ENABLE_AD_FEATURES,withConsent:()=>{ga('require','displayfeatures');ga('set','allowAdFeatures',true);},withoutConsent:()=>{ga('set','allowAdFeatures',false);},});if(userId){pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_SEND_USER_LOGIN_METRICS,withConsent:()=>{ga('set','userId',userId);ga3Dims['dimension1']=userId;},withoutConsent:()=>{ga3Dims['dimension1']=noConsent;},});}
ga3Dims['dimension2']=valueOrDefault(regArticle.author,regEmpty);ga3Dims['dimension3']=valueOrDefault(dfp_level_1_2,regEmpty);ga3Dims['dimension4']=valueOrDefault(RegTruePageType,regEmpty);ga3Dims['dimension5']=valueOrDefault(regArticle.cat,regEmpty);ga3Dims['dimension6']=valueOrDefault(regArticle.ads,regEmpty);const kwp=keywordList(regArticle.kwp);if(kwp.length){ga3Dims['dimension7']=kwp;}
pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_SEND_USER_LOGIN_METRICS,withConsent:()=>{ga3Dims['dimension8']=valueOrDefault(RegUtils.user_login_state(),regEmpty);},withoutConsent:()=>{ga3Dims['dimension8']=noConsent;},});pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_SEND_SITE_NAVIGATION,withConsent:()=>{ga3Dims['dimension9']=valueOrDefault($.cookie('prev_page_type'),regEmpty);ga3Dims['dimension10']=valueOrDefault($.cookie('prev_unit_type'),regEmpty);},withoutConsent:()=>{ga3Dims['dimension9']=noConsent;ga3Dims['dimension10']=noConsent;},});pc.consentRunner({requiredConsents:pc.tcfPurposesList.ENABLE_USER_DEMOGRAPHICS_COOKIE,withConsent:()=>{const userDemographics=RegUtils.get_user_demographics();const udMap={'dimension11':'d11','dimension12':'d12','dimension13':'d14','dimension14':'ded','dimension15':'dorg',};for(let dimension in udMap){let value=regUnknown;if(typeof(userDemographics[udMap[dimension]])!=='undefined'){value=userDemographics[udMap[dimension]];if(!value.length){value=regEmpty;}}
ga3Dims[dimension]=value;}},withoutConsent:()=>{ga3Dims['dimension11']=noConsent;ga3Dims['dimension12']=noConsent;ga3Dims['dimension13']=noConsent;ga3Dims['dimension14']=noConsent;ga3Dims['dimension15']=noConsent;},});pc.consentRunner({requiredConsents:pc.tcfPurposesList.ENABLE_AB_TESTING,withConsent:()=>{const regABTest=getRegABTest();ga3Dims['dimension16']=valueOrDefault(regABTest,regEmpty);},withoutConsent:()=>{ga3Dims['dimension16']=noConsent;},});pc.consentRunner({requiredConsents:pc.tcfPurposesList.ENABLE_ABM,withConsent:()=>{const abmMMSegments=RegUtils.get_user_abmMMSegments();ga3Dims['dimension17']=valueOrDefault(abmMMSegments,regEmpty);},withoutConsent:()=>{ga3Dims['dimension17']=noConsent;},});ga3Dims['dimension18']=valueOrDefault(regArticle.id,regEmpty);ga3Dims['dimension19']=valueOrDefault(regArticle.sec,regEmpty);const kw=keywordList(regArticle.kw);if(kw.length){ga3Dims['dimension20']=kw;}
pc.consentRunner({requiredConsents:pc.tcfPurposesList.ENABLE_ABM,withConsent:()=>{ga3Dims['dimension21']=valueOrDefault(abmvfc,regEmpty);ga3Dims['dimension22']=valueOrDefault(abmbet,regEmpty);ga3Dims['dimension23']=valueOrDefault(vvnozs,regEmpty);},withoutConsent:()=>{ga3Dims['dimension21']=noConsent;ga3Dims['dimension22']=noConsent;ga3Dims['dimension23']=noConsent;},});for(const dimension in ga3Dims){if(ga3Dims[dimension].length){ga('set',dimension,ga3Dims[dimension])}
else{ga('set',dimension,regEmpty);}}
pc.consentRunner({requiredConsents:pc.tcfPurposesList.ENABLE_AB_TESTING,withConsent:()=>{if(typeof(RegABTest)!=='undefined'){ga('set','exp',RegABTest);}},});if(isArticleToArticle()){let url=new URL(window.location.href);url.searchParams.append('from_article',1);ga('send','pageview',url.pathname+url.search);}
else{ga('send','pageview');}
const ga4Events={'reg_uid':ga3Dims['dimension1'],'reg_auth':ga3Dims['dimension2'],'reg_sec':ga3Dims['dimension3'],'reg_pt':ga3Dims['dimension4'],'reg_cat':ga3Dims['dimension5'],'reg_alm':ga3Dims['dimension6'],'reg_akwp':ga3Dims['dimension7'],'reg_uls':ga3Dims['dimension8'],'reg_prev_pt':ga3Dims['dimension9'],'reg_prev_ut':ga3Dims['dimension10'],'reg_d11':ga3Dims['dimension11'],'reg_d12':ga3Dims['dimension12'],'reg_d14':ga3Dims['dimension13'],'reg_ded':ga3Dims['dimension14'],'reg_dorg':ga3Dims['dimension15'],'reg_ab_var':ga3Dims['dimension16'],'reg_seg':ga3Dims['dimension17'],'reg_aid':ga3Dims['dimension18'],'reg_asec':ga3Dims['dimension19'],'reg_akw':ga3Dims['dimension20'],'reg_vfc':ga3Dims['dimension21'],'reg_bet':ga3Dims['dimension22'],'reg_noz':ga3Dims['dimension23'],'anonymize_ip':true,};gtag('js',new Date());pc.consentRunner({requiredConsents:pc.tcfPurposesList.GAM_ENABLE_PERSONALISED_ADS,withConsent:()=>{gtag('consent','update',{'ad_storage':'granted','ads_data_redaction':false,'analytics_storage':'granted',});gtag('set',{'allow_google_signals':true,'allow_ad_personalization_signals':true,});},withoutConsent:()=>{gtag('consent','default',{'ad_storage':'denied','ads_data_redaction':true,'analytics_storage':'denied',});gtag('set',{'allow_google_signals':false,'allow_ad_personalization_signals':false,'restricted_data_processing':true,});},});gtag('config',tagId,ga4Events);};}(window.ElReg=window.ElReg||{},window.dataLayer=window.dataLayer||[],));
function RegSendGA(dfp_level_1_2,abmvfc,abmbet){ElReg.Ga.send('UA-33330076-1','G-JXW44Y23NM',dfp_level_1_2,abmvfc,abmbet);}
ElReg.Cmp.whenConsentApiReady((tcData,success)=>{if(!success)return;if(typeof(RegTruePageType)==='undefined')return;const pc=new ElReg.Cmp.PublisherConsent(tcData);pc.consentRunner({requiredConsents:pc.tcfPurposesList.GA_SEND_SITE_NAVIGATION,withConsent:()=>{$(document).on('click','a',function(){var document_link=this;if(typeof(document_link.href)==='undefined'||typeof(document_link.pathname)==='undefined')
return;if(window.location.pathname===document_link.pathname)
return;var link_domain=/(?:^|[.])(theregister[.](?:com|co[.]uk))$/.exec(document_link.host);if(!link_domain)
return;link_domain=link_domain[1];var prev_cookies_expiry=new Date();prev_cookies_expiry.setTime(prev_cookies_expiry.getTime()+15000);var override_cookie_path=false;if(this.pathname.indexOf('/forum/containing')>=0){override_cookie_path='/forum';}
$.setcookie('prev_page_type',RegTruePageType,{'domain':link_domain,'path':override_cookie_path?override_cookie_path:this.pathname,'expires':prev_cookies_expiry,'samesite':'Strict','secure':true});$.setcookie('prev_unit_type',RegUtils.get_elem_dom_chain(this),{'domain':link_domain,'path':override_cookie_path?override_cookie_path:this.pathname,'expires':prev_cookies_expiry,'samesite':'Strict','secure':true});});},});});function outbound_link_tracking(ga_cat,element,ga_allow_bounce){$(element).on('click',function(e){var clicked=$(this).data("clicked");if(clicked==='1'){return;}
$(this).attr("data-clicked",'1');var ga_action=$(this).attr("href");var ga_label=$(this).text();ga('send',{'hitType':'event','eventAction':ga_action,'eventCategory':ga_cat,'eventLabel':ga_label,'nonInteraction':ga_allow_bounce});});}
function reg_send_scroll_milestone(ga_value,event_category){var page_title=$('meta[property="og:title"]').attr("content");var ga_action=ga_value+"%";ga('send',{'hitType':'event','eventCategory':event_category,'eventAction':ga_action,'eventLabel':page_title,'eventValue':ga_value,'nonInteraction':true,});}
function scroll_tracker(target,bottom_spacer,event_category){var c1,c2,c3,c4,cookieBarHeight;c1=c2=c3=c4=cookieBarHeight=0;var targetElement=document.querySelector(target);if(targetElement===null){return;}
document.addEventListener('scroll',(event)=>{var cookieBar=document.querySelector(".RegCTBWF_wrapper");cookieBarHeight=cookieBar!==null?cookieBar.offsetHeight:0;var extraMargin=bottom_spacer+cookieBarHeight;var targetHeight=targetElement.offsetHeight;var bottomTarget=targetElement.getBoundingClientRect().bottom;var boxHeight=document.documentElement.clientHeight;var bottomBox=extraMargin+(bottomTarget-boxHeight);var targetQuarter=targetHeight/4;var trigger1=targetQuarter;var trigger2=targetQuarter*2;var trigger3=targetQuarter*3;var trigger4=0;if(bottomBox<=trigger4&&c1==0&&c2==1){c1=1;reg_send_scroll_milestone(100,event_category);}
if(bottomBox<=trigger1&&c2==0&&c3==1){c2=1;reg_send_scroll_milestone(75,event_category);}
if(bottomBox<=trigger2&&c3==0&&c4==1){c3=1;reg_send_scroll_milestone(50,event_category);}
if(bottomBox<=trigger3&&c4==0){c4=1;reg_send_scroll_milestone(25,event_category);}},{passive:true});}
function social_link_tracking(target,event_action='social share'){$(target).on('click',function(e){var clicked=$(this).data("clicked");if(clicked==='1'){return;}
$(this).attr("data-clicked",'1');var event_label=(event_action==='copy article')?$('meta[property="og:title"]').attr("content"):$(this).data("social");var ga_new_tab=(e.metaKey||e.shiftKey||e.ctrlKey)?true:false;var ga_tblank=$(this).attr("target")==='_blank';ga('send','event',{eventCategory:'NTG social',eventAction:event_action,eventLabel:event_label,nonInteraction:false});setTimeout(function(){if(!ga_new_tab&&!ga_tblank&&event_action!=='copy article')document.location=$(this).attr("href");},1000);});}
$(document).ready(function(){if(typeof(RegPageType)!=='undefined'&&RegPageType==='Story'){if($("a.tc").length){outbound_link_tracking("outbound-link-tc","a.tc",0);}
if(typeof(RegArticle)!=='undefined'&&typeof(RegArticle.ads)!=='undefined'){outbound_link_tracking("outbound-link-al","#body a:not(.tc)",0);}};if(typeof(RegPageType)!=='undefined'&&RegPageType==='Story'&&typeof(RegTruePageType)!=='undefined'&&RegTruePageType==="www story"){scroll_tracker("#body",100,'NTG article milestone');social_link_tracking(".sharing_box a",'social share');social_link_tracking(".sharing_box .cp_link",'copy article');}
if(typeof(RegPageType)!=='undefined'&&RegPageType==='vendor_voice'){outbound_link_tracking("vv-link-al","#main-col a",0);}
var show_registration_complete_toast=$.cookie('rt');if(show_registration_complete_toast==='1'){ga('send','event',{eventCategory:'NTG account',eventAction:'registration',eventLabel:'success',nonInteraction:false});}
var show_login_toast=$.cookie('lt');if(show_login_toast==='1'){ga('send','event',{eventCategory:'NTG account',eventAction:'login',eventLabel:'success',nonInteraction:false});}});
$(function(){var login_message="Thank you for logging in";var reg_message="You have successfully registered";function show_toast(toast_content){var toast='';var target=document.querySelector("body");target.insertAdjacentHTML('beforeend',toast);setTimeout(function(){hide_toast();},5000);}
function hide_toast(){var elem=document.querySelector('.toast_box');elem.parentNode.removeChild(elem);}
var show_login_toast=$.cookie('lt');if(show_login_toast==='1'){show_toast(login_message);$.setcookie('lt',null,{'domain':RegUtils.cookieDomain()});}
var show_registration_complete_toast=$.cookie('rt');if(show_registration_complete_toast==='1'){show_toast(reg_message);$.setcookie('rt',null,{'domain':RegUtils.cookieDomain()});}
var toast_target=document.querySelector('.toast_box');if(toast_target){toast_target.addEventListener("click",function(){hide_toast();});}});
function RegSponsorship(d){var t=window.top;if(d.page_bg_colour)
t.$('html').css('background-color',d.page_bg_colour);if(d.page_bg_link)
t.$('body').prepend(' ');else if((d.add_bg_colour)||(d.page_bg_image))
t.$('body').prepend('
');if($('#advertise-bg').length){$(function(){t.$('#advertise-bg').css('height',$('body').innerHeight());});$(window).scroll(function(){t.$('#advertise-bg').css('height',$('#page').innerHeight());});}
if(d.add_bg_colour)
t.$('#advertise-bg').css('background-color',d.add_bg_colour);if(d.page_bg_image){var screen_width=$(window).width();var my_bg_img=d.wide_skin_min_width&&screen_width>d.wide_skin_min_width?d.page_bg_image_large:d.page_bg_image;t.$('#advertise-bg').css({'background-image':'url('+my_bg_img+')','background-position':d.page_bg_image_pos});}}
function RegSponsorshipChan(d){RegSponsorship(d);}
function RegParallax(opts){if(typeof(opts)==='undefined'||typeof(opts.dest_url)==='undefined'||typeof(opts.image_url)==='undefined')
return;var parallax_ad='
';parallax_ad+='';var placed_ad=0;if(typeof(RegForumPosts)!=='undefined'){$(parallax_ad).insertBefore('#forum_posts');placed_ad=1;}
if($('body').data('pagetype')=='Index'){if($('#index_page .srow:nth-child(4)').length>0){$(parallax_ad).insertBefore('#index_page .srow:eq(3)');placed_ad=1;}}
if($('body').data('pagetype')=='Story'){if($('body #main-col #article #body').length>0){var eagle_mobile=document.getElementById('story_eagle_xsm_sm_md_xmd_lg_xlg');if(eagle_mobile!==null){var article_elements=document.querySelectorAll('#article #body > *');var eagle_mobile_article_index=$(article_elements).index(eagle_mobile);var p_sequence_positions=new Array();for(var i=eagle_mobile_article_index;i280?280:parallax_window_height;var aspect_ratio_img_height=parallax_window_width*parallaxImg.height/parallaxImg.width;if(aspect_ratio_img_height<=parallax_window_height)
parallax_window_height=aspect_ratio_img_height*0.75;$('.parallax_ad').height(parallax_window_height);$('.parallax_ad a').append(parallaxImg);parallaxImg_placed=1;$('.parallax_ad a img').css({'position':'absolute','width':'100%','top':(-1)*(aspect_ratio_img_height-parallax_window_height)+'px'});var viewport_extra_space=windowHeight-parseInt($('.parallax_ad').offset().top)-parseInt($('.parallax_ad').height());if(viewport_extra_space<0)viewport_extra_space=0;window.addEventListener('scroll',function(){if(isScrolledIntoView($('.parallax_ad'))){var windowHeight=$(window).height();windowHeight-=viewport_extra_space;var st=$(window).scrollTop();var grace_space=windowHeight*0.125;var top_nav_height=$('#masthead').height();var total_space_ad_is_in_viewport=(windowHeight-top_nav_height)-$('.parallax_ad').outerHeight(true)-grace_space;var diff_parallax_window_img=$('.parallax_ad').height()-$('.parallax_ad a img').height();var ratio=(-1)*total_space_ad_is_in_viewport/diff_parallax_window_img;var end_scroll=$('.parallax_ad').offset().top-top_nav_height-grace_space/2;var t=(st-end_scroll)/ratio;if(t>0)t=0;if(t';parallax_ad_content+=' ';parallax_ad_content+=' '
parallax_ad_content+=' ';parallax_ad_content+='';parallax_ad.innerHTML=parallax_ad_content;var placed_ad=0;if(RegTruePageType==='www index'){if(typeof(document.querySelectorAll('#index_page .srow')[2])!=='undefined'){moveElement(document.getElementById('index_page'),parallax_ad,document.querySelectorAll('#index_page .srow')[2]);placed_ad=1;}}
if(RegTruePageType==='www section'){if(window.location.pathname.match(/^(\/lectures|\/about\/company)/))return;if(typeof(document.querySelectorAll('.headlines .srow')[2])!=='undefined'){moveElement(document.querySelector('.headlines'),parallax_ad,document.querySelectorAll('.headlines .srow')[2]);placed_ad=1;}}
if(RegTruePageType==='www story'){var article_body=document.querySelector('body #main-col #article #body');if(article_body!==null){var article_elements=document.querySelectorAll('#article #body > *');var p_sequence_positions=new Array();for(i=0;i