'
+'
'
+''
+'
'
+'
'+title+'
'
+'
'+line1+'
'+line2+'
'
+'
'
+'
';
document.getElementById('sdg-reload').addEventListener('click',function(){var u=new URL(window.location.href);u.searchParams.set('_v','aa588f2');window.location.replace(u.toString());});
}
window.addEventListener('error',function(e){
if(!isChunkError(e))return;
var trigger=(e.target&&e.target.tagName==='SCRIPT'&&e.target.type==='module')?'script-tag-module':'error-chunk-message';
var detail=trigger==='script-tag-module'?(e.target&&e.target.src):e.message;
report(trigger,detail);
showReload();
},true);
window.addEventListener('unhandledrejection',function(e){
var m=(e.reason&&(e.reason.message||String(e.reason)))||'';
if(!chunkMessageLooksBad(m.toLowerCase()))return;
report('unhandledrejection-chunk-message',m);
showReload();
});
window.addEventListener('vite:preloadError',function(e){
e.preventDefault();
report('vite-preload-error',e.payload&&e.payload.message);
showReload();
});
window.addEventListener('startale:stale-deployment',function(){
report('runtime-trigger','');
showReload();
});
document.addEventListener('securitypolicyviolation',function(e){
var src=(e.blockedURI||'')+' '+(e.sourceFile||'');
// Browser-extension injections fire securitypolicyviolation constantly and
// aren't our stale-asset failures — don't let them suppress a real reload.
if(src.indexOf('-extension:')>-1)return;
lastCspViolationAt=Date.now();
},true);
})();