mirror of
https://github.com/exoticorn/microw8.git
synced 2026-01-20 19:26:43 +01:00
1 line
13 KiB
HTML
1 line
13 KiB
HTML
<!doctype html><html><head><meta charset="utf8"><title>uw8-run</title><style>body,canvas,html{background-color:#202024;margin:0;padding:0}body,html{height:100%}body{display:grid;grid-template-rows:1fr}#screen{align-self:center;border:4px solid #303040;image-rendering:pixelated;justify-self:center}#message{background-color:rgba(0,0,0,.4);color:#c64;font:700 12pt sans-serif;padding:8px;position:absolute;width:calc(100% - 16px);z-index:2}@media (min-width:648px) and (min-height:488px){#screen{height:480px;width:640px}}@media (min-width:968px) and (min-height:728px){#screen{height:720px;width:960px}}</style></head><body> <canvas id="screen" width="320" height="240" tabindex="1"> </canvas> <div id="message"></div> </body><script type="module">function e(e){return e&&e.__esModule?e.default:e}class t extends AudioWorkletNode{constructor(e){super(e,"apu",{outputChannelCount:[2]})}}let A=(...e)=>new Uint8Array(...e),a=(...e)=>new Uint32Array(...e);let B=function(B,n={}){n.setMessage||(n.setMessage=(e,t)=>{t&&console.log("error: "+t)});let o,s,r,i,F=B.getContext("2d"),l=F.createImageData(320,240),d=n.devkitMode,c=0,Q=null==n.keyboardElement?B:n.keyboardElement;if(Q){let e=e=>{let t,A="keydown"==e.type;switch(e.code){case"ArrowUp":t=1;break;case"ArrowDown":t=2;break;case"ArrowLeft":t=4;break;case"ArrowRight":t=8;break;case"KeyZ":t=16;break;case"KeyX":t=32;break;case"KeyA":t=64;break;case"KeyS":t=128;break;case"KeyR":A&&C(s,!0);break;case"F9":A&&B.toBlob((e=>{g(e,".png")})),e.preventDefault();break;case"F10":A&&function(){if(r)return r.stop(),void(r=null);r=new MediaRecorder(B.captureStream(),{mimeType:"video/webm",videoBitsPerSecond:25e6});let e=[];r.ondataavailable=t=>{e.push(t.data)};let t=n.timerElement;t&&(t.hidden=!1,t.innerText="00:00");function A(){if(i){if(t){let e=Math.floor((Date.now()-i)/1e3);t.innerText=Math.floor(e/60).toString().padStart(2,"0")+":"+(e%60).toString().padStart(2,"0")}setTimeout(A,1e3)}}r.onstop=()=>{t&&(t.hidden=!0),g(new Blob(e,{type:"video/webm"}),".webm")},r.start(),i=Date.now(),setTimeout(A,1e3)}(),e.preventDefault()}A?c|=t:c&=~t};Q.onkeydown=e,Q.onkeyup=e}async function C(r,i){o&&(o(),o=null);let Q=new AudioContext({sampleRate:44100}),g=!0;o=()=>{Q.close(),g=!1};let w=r.byteLength;if(n.setMessage(w),0==w)return;await Q.audioWorklet.addModule(e("data:application/javascript,let%20e%3D%28...e%29%3D%3Enew%20Uint8Array%28...e%29%3Bclass%20s%20extends%20AudioWorkletProcessor%7Bconstructor%28%29%7Bsuper%28%29%2Cthis.sampleIndex%3D0%2Cthis.port.onmessage%3Ds%3D%3E%7Bthis.memory%3Fe%28this.memory.buffer%2C80%2C32%29.set%28e%28s.data%29%29%3Athis.load%28s.data%5B0%5D%2Cs.data%5B1%5D%29%7D%7Dasync%20load%28e%2Cs%29%7Blet%20t%3Dnew%20WebAssembly.Memory%28%7Binitial%3A4%2Cmaximum%3A4%7D%29%2Ca%3D%7Benv%3A%7Bmemory%3At%7D%7D%3Bfor%28let%20e%20of%5B%22acos%22%2C%22asin%22%2C%22atan%22%2C%22atan2%22%2C%22cos%22%2C%22exp%22%2C%22log%22%2C%22sin%22%2C%22tan%22%2C%22pow%22%5D%29a.env%5Be%5D%3DMath%5Be%5D%3Bfor%28let%20e%3D9%3Be%3C64%3B%2B%2Be%29a.env%5B%22reserved%22%2Be%5D%3D%28%29%3D%3E%7B%7D%3Bfor%28let%20e%3D0%3Be%3C16%3B%2B%2Be%29a.env%5B%22g_reserved%22%2Be%5D%3D0%3Blet%20r%3Dasync%20e%3D%3E%28await%20WebAssembly.instantiate%28e%2Ca%29%29.instance%2Cn%3Dawait%20r%28e%29%3Bfor%28let%20e%20in%20n.exports%29a.env%5Be%5D%3Dn.exports%5Be%5D%3Blet%20o%3Dawait%20r%28s%29%3Bthis.memory%3Dt%2Cthis.snd%3Do.exports.snd%7C%7Cn.exports.gesSnd%2Cthis.port.postMessage%282%29%7Dprocess%28e%2Cs%2Ct%29%7Bif%28this.snd%29%7Blet%20e%3Ds%5B0%5D%2Ct%3Dthis.sampleIndex%2Ca%3De%5B0%5D.length%3Bfor%28let%20s%3D0%3Bs%3Ca%3B%2B%2Bs%29e%5B0%5D%5Bs%5D%3Dthis.snd%28t%2B%2B%29%2Ce%5B1%5D%5Bs%5D%3Dthis.snd%28t%2B%2B%29%3Bthis.sampleIndex%3D4294967295%26t%7Dreturn%210%7D%7DregisterProcessor%28%22apu%22%2Cs%29%3B"));let u,f=new t(Q),D=0,p=new Promise((e=>u=e)),E=e=>{D|=e,3==D&&u&&(u(!0),u=null)};f.port.onmessage=e=>E(e.data);let I=()=>{"suspended"==Q.state?(n.startButton&&(n.startButton.style="",B.style="display:none"),(n.startButton||B).onclick=()=>{Q.resume()}):(n.startButton&&(n.startButton.style="display:none",B.style=""),E(1))};Q.onstatechange=I,I(),s=r;let m=window.location.pathname;if(w<=1024&&!i){let e="";for(let t of A(r))e+=String.fromCharCode(t);m+="#"+btoa(e),m!=window.location.pathname+window.location.hash&&history.pushState(null,null,m)}B.width=B.width;try{let t={initial:4};d||(t.maximum=4);let B,o=new WebAssembly.Memory(t),i=A(o.buffer),u={env:{memory:o}},D=e=>{if(B&&(!d||0!=A(e)[0])){i.set(A(e));let t=B.exports.load_uw8(e.byteLength);e=new ArrayBuffer(t),A(e).set(i.slice(0,t))}return e},E=async e=>(await WebAssembly.instantiate(e,u)).instance,I=async e=>D(await(await fetch(e)).arrayBuffer());B=await E(await I(e("data:application/wasm;base64,AGFzbQEAAAABFQRgAX8Bf2ACf38Bf2ADf39%2FAGAAAAIPAQNlbnYGbWVtb3J5AgAEAwkIAAABAgEAAAMGEAN%2FAUEAC38BQQALfwFBAAsHGQIIbG9hZF91dzgAAAp1bmNvbXByZXNzAAQIAQcKngUIxwEBB39BAC0AAEEBayIBQQBIBEAgAA8LQYDAByAAaiECIAFBAXEEQEEBQYHABxAEIQIFQYDAB0EAIAAQAwtBAEGAhA9BCBADQYiEDyEDQQghBEGBwAchBQNAIAUgAkggAyMATiAFLQAAIAMtAABMcnEEQCAEIAQgBRACIgZqIQQgAyMASCAFLQAAIAMtAABGcQRAIAMgAxABaiEDCyAFIAZqIQUMAQsgAyMASARAIAQgBCADEAIiB2ohBCADIAdqIQMMAQsLIAQLPAEEfyAAIQEDQCACIAFBAWoiAS0AACIEQf8AcSADdHIhAiADQQdqIQMgBEEHdQ0ACyABQQFqIABrIAJqCxIBAX8gACABIAEQASICEAMgAgskAANAIAJBAEoEQCAAIAJBAWsiAmogASACai0AADoAAAwBCwsLqQEBBn8gACQBQQAkAgNAIANBgAE6AICADyADQQFqIgNBgQNIDQALAkADQEEAEAYiBQRAIAQEf0EBBUGAAhAGCwRAQYECEAVBAWsiAkUNAwtBwQIQBSEGA0AgASABIAJrLQAAOgAAIAFBAWohASAGQQFrIgYNAAsFQQEhBwNAIAdBAXQgBxAGciIHQYACSA0ACyABIAc6AAAgAUEBaiEBCyAFIQQMAAsLIAELNAECfwNAIAAgAmoQBgRAIAEgACACakEgahAGIAJ0ciEBIAJBAWohAgwBCwsgAUEBIAJ0cgtxAQR%2FA0AjAkGAIEgEQCMCQQh0IwEtAAByJAIjAUEBaiQBDAELCyMCQf8BcSICIAAtAICADyIBIwJBCHUiA2xBgAIgAWsgA2wgAWsgAiABSCIEG2okAiAAIAFBByAEQYECbGogAWtBBHVqOgCAgA8gBAsMAEEAQYCEDxAEJAALC9gDAQBBAAvRAwF%2F%2F9fTKCTONmi84%2BnrbVSOH%2Fc6vSf%2BD4d9SJNBc3FX7QfUHxwdZoJ2gbrkOxXMlCFQohTpOfrqH2lON%2BKLJNVfU5Nu4GOO2WMojT29uFcnCJS3%2B1hbxaL%2Fh9lmLYb3zvWsMJ%2BjBoF3XH%2BX3PiQRGj3lSO6d6ROB1tLHAjBvc8KRcJC8ezAHO2KxgN0C60LhqDnEMNRGkiZIGd7vFakdzsTK52rXTWTEF%2BRtXf5UnppLVtDQaKioHW9qgBgNM8z076axgmmzZdgskOHHn3MVWuglavoCFh4dRFW5XmuZwoBT3HKAX%2F6xPFRb56MQoyggxfIPc7Po49uFG7BLqNaZm%2FVzLkVsqcnLbkOu67BrqPS6In7L9Zomf6E5PQp%2FK7DKV5%2FS%2Be15wnC3zqP1Bj6xLe3xzckXir7SHPZsep5NtRy%2FGpcseCHgPNHMos7xPQKdDO%2BAXqvMZuNdOwFZm6TmQ3vmMOdSSpn62axAi0QlRgoxhrA%2F42mIF6TkGbDAElqkMfF0EyKfip%2B2EPJtH7AksMALac%2BkjT9fyIQRGiD5HMZwCTKLxBLX3A07qdkKrXlR5i8pYOXZxAX4vyy9BKV8RfUfvEuqyNXXnBg4e%2BB%2FPnR%2Bg%3D%3D")));for(let e of["acos","asin","atan","atan2","cos","exp","log","sin","tan","pow"])u.env[e]=Math[e];for(let e=9;e<64;++e)u.env["reserved"+e]=()=>{};for(let e=0;e<16;++e)u.env["g_reserved"+e]=0;r=D(r);let m=await I(e("data:;base64,AgFPu7BnyhDrdBMya70KqzqiaQXwtl08eYPRZfDq6d5kHj2FHqxwOd7LMUGB6uwpG3eFVei%2BNR%2FDJzJSfWSO0SqPjWLHqtMaB2R2D65VRI68VLn09HoQuIdesD%2F0b534ChXTxTRpLt%2B3dYBQCvz4QVYkhoMcAyQOon41rt7U5wNrmj1EF6fud%2FQ0XMOdPGaSe65Hz%2B2MoSp24QWpzWXCbHtZGc6pJT8FBGI7s%2B84me0PK5OJf9dQRH8fjRnQPwUSTynbXQ6qhaoEDDQTY3tw%2Fdz2Qt4iejkG%2FJuPqYxGQCgKUtKxxCUXQ5tqCdZ4qfUcRt9CBfGHG8sEikqF6h%2FrjgECCFRjUPL7GYMrTV3hyNhiUiQQQlrgNm2OqdU%2BColVFLTAleXaSNtaDFvEiYm9EBFEpiLpT32oXUg9CJE5EeuNvghlMT4zwGMMm0dw8O3MEi%2Bh4E%2Bp6w2T%2F6FOtCgEd9IGRTBI2gY3YZOk1Bc%2F7pCV%2FZTpfyboHDaSM9nm1mYs5hzaEUsB0yGJP3EDNyOqTEhITk5YSsr0LyI%2FcpTnfR7e6u7sdPpvLszA6aX6WhEM7xeNy487N1NkH4aSkiEhOqkGm5C%2BF%2BdgpgSrwXbYD30zxI%2BYevJCbLKKSOocliWRka7yfLJ0xU6zzjdatkXpvtwIfKRqaXIaxQ598wcm6XOjSw383AOI%2BWhZXnCcev%2BmgSN4B6GFipce3dbGsfyDMLiZdmo47lXZe22abCoTK3CEoxK79q8nzUiDxPUvbN47X5K%2BEIwGGBQaKP5qTRfNYTTXydTVBtMXUUw%2B5gVNxFsOK%2B9yzJcj5jKUz6HeJSM%2FuWNi1gftPrCALNfHkHA7H3xQQpvMhqekGF373nsvY9Imfngwlq6hU4fLlEunXF6wTTUlFGxaOHGssl8B8LGTz%2FuL%2BgEk4OtG7NJ8SlFT9g%2F9xNWRhf8Yx2UVYDBPdKkyHCRIF5nf%2Fjxg5ncZPukz0RzApQs71BmhFrU2C9PweTyeqEyZbU7wOUMH1WS7WpsnpL3g5Y1eqstPT5Ro6vRxn1gBZiEJKVvRUm4pMZp3fcgiLU7Z3CcySc717p%2FrGGtU2aj92LAZL84rirFrEB4i1U5z%2BoMadoMsikBlIA56%2FnHhX32jlXMU75XzxEdZJqwppFsOrj%2FmPMTGLWppq%2Fo5abWZs3SobwnuzXBftxPgnV24%2B1OpQ9cLQCw3Iwgl7XdgXWDVdHlz0Hf8DQhQBMFmrO6s4bv%2BvvokYMOr6vz8Rj%2Fpc%2FB%2BtbW82PMYmRMytYXlRnlv1DO4CMDiCIP%2BIfsatdjaMECZmhKYTjLo62smKNNFSFdYTL5nXYOU3eLE7O6QtlgZl%2FcZ8BHYhgHBV6akrRNds%2FtEbh9qi2VRKADFLtV3jWoJtVg7CEIcUCrajKvjwrWQE%2Fup3ErXcG17qCJLMXDbHsc%2BHO%2F0HN9zF7Bhpr1nz1Fldkb4Rvb6KpPttbVcIjd63d7uMjrfCwiY8qCnQrYBoFuTFAaTT3v2%2F1%2B50ncFtJiTOqFtE4I%2BmDtMdFmQ6OeZJT1N57TaoZKZCBKYLpEaIz%2FL%2FoBaFxaEuFcanz05%2BvqxdHQX0x5ikQIuOavmyLTiu6LhfYYRIem17UWaYlaEoILB8MVBY6%2FveIcfg%2B1Z0P27DTd5a2OnAzHEE6mrcYhDxJMwlC%2FW7MDtJo67Ugjqi60vnnknfTbRpCWr1TmJLU4eBWlbiezOy5IH%2B1LBxFawDddxT%2FcYVPH7u6MeTC4AsfpOSZ1hGrMWNhiHyNf8MwMfuOWJgF7iHtAleQ4CRaq81eXAxFQ05RQ5wrOC%2FSveoi%2F0ycUjkyXpEI8KTqckzGapKtL%2F0V7aULFn4u8P3qLyLEroJ583Cb57fctMDS69dGImKf40OIJJGLTwQuYzQllUgFAmBoAJ1TKJxJQjhT05%2F3qN1ncNPXd0QT%2BaqnzAEQTNcux1DXSEDXw%2BzMz2f%2BS245ndB8w5cJnjZiDOqV5wueyZQGWXvqKN1R%2F63oRHsoVp60XJuZGXFZwX1w4dUswPzKIE7nK%2BkwkDGGZF%2BB9r4fAuuQ0obxQdSZVAh2RtLeG%2B9YOkb1ciqHYHjfCQCnjuEW%2BYiGzvBOzWs6Jo51SAtFJ%2BUDS97ogvo%2FWDB%2BAIce9FczWXTQmpzEDZnAVtK49F23uVZ025TOia%2FJXbSxNU9KEdtZISmYRTHv5Cb7UpTrrgs8JYTJz9pvTysMndMXX5SMm%2FFZgx%2BjZoKjW8hcYwmP92KVfawKVVelKK4SwfGp4xet8fBHYoOK03n%2BEGr4UGvMkpuF6GFQnFJqIMLI78YnDg4r8kX0YK98TxO%2FqZ5uS5%2FNKh5wO8vf%2FPRKj4Dj42sBcC4i%2B%2F28dGXk9IZUixe7oVjj066l%2FvRXJpLKfcGxeNNNO0jPnyycnGntcTm94ONEl89jviYMaLoCSdWW1w5F3qt7XNfu%2BnCwQkw81henHNRepZ5EDWCO7c3mD5MPnXjXbC7Gf3OL38XFW3fEkGgYFxuXb7UjWlW0YSwBVkWmQC%2FlTYz0GRaKtjmgs0AptOZ1QVZAwO7y%2FuFFadYVJOoBO5UbOI%2Fyh71odLgtyYyuaGzcws4CwVg%2BN01DSpvQXFcQQVOcVTb5tYDI2WeKt96u0okFGhWVg6CYc7cYKdH2qh9HUs%2Benn6pWb754PRbiHRsCPoeH1IMjRAG7d7rLnFTOVMIIhVWyuBJ9KXwwpmeWEcHUSDI6dJMJHu5TlzHN3%2Fvwen2fvn%2F0i87AkejbNcrz40%2BN3wKJW%2B9EkpJqMEQ4nxpW2rCCpgqT7HDhqXW%2FMXhsXrzJSqa3r4kzQM067aKzlopQusa8WO9d0ZLh8ip2oyZ1%2FzK5ufecAHXUd2wODphdtlUb2uQsYcCwdlybxQwKUyCei8Viyza795HZKMI2zXwoYDdowUlnBbuTVUC4MQhkKnSSwCBVVrAb4qXMc9zT4w90WrmkrHBq3yOoRxDJe7mmoYokGOACRr6t%2BvQvp0zmsXp23gU%2BPpS3x6gRl5xnvZqxY75a3gFEFmD56bqugp43K8%2BIjNowapQLULi6xkaOOHnX9pN%2Bh9MPGtlPsW6teCaeQxCOHR%2Fc%2FTAkpUc3rtw98foJPWqTVPM1z0qWHbngQQ19SyjhKzxPT8p4x3OW%2BwIewqGhbWk8b37haDHXz2XHcvjTkTFEhpZ9n50huGM%2BFcLvM2Y6UKxhEuiP5w4CXKca20uKTz0sZCMpWaKhwghl5faMWq9JhUXjVz12YAogEG5flqRV1Z9uUBpQGz3ANVGZkHOUx09yaaScj5riWVwP2P29dR8LzZ0drMhN2M1SFZ%2Fq966qZ35rR4fJmbJclBZlQHvcHVtsuXlIXjz7khItcO2UgCiLrdJUdEVJeXNenNKOVtLbBWwp5z9gdax8lVdwrAkEJ0xh%2BIbRC5iVJTHU7KTKOBkGmSWBRWNyn4SCacKILlDZZQZreXtmT7xYSl7uwk8abWFEhmKA2jYa6uo6%2BViFoaRLNBH2cC3eZ2QV4kpBDCo6IbGvjqmiQDAPskGXbopn10hn4oKxcHLBzKvKmOHitHU0KHqagaQ2C%2FzBK%2FW5k%2Fgbn5jFu%2B2aFGrPkxGbxyKv6dS8i0Na6B6zl90ruDZB9CCudQrn4%2Bf%2BAMv3tatkau%2FDUyAtaSmjywkX%2FobtTr7h7zJrF%2FXEhYU%2BlUlg76cX6ie6uVdG0Mk302vQcdhngT1fk0R5dmb0vLJzMuiZLpUbWrCac5Gi3u7nTDbK3pbTARXHWc0%2FsDf5UyHp2DzBBG3%2FXdLCA6MPxoGbqZDImp8BjkIGVUewg%2BnPgiWoQZQLk1P%2BydARcoWH2uzR9sCl%2BTLQh72%2B%2B6pkE3x6%2FzSQnbr%2Fy%2FDl3qmygRs%2BgA8Dk4%2BWWr9CorXzF5urzztx%2F5f4DN5HSifn0L%2BDJF2ReofVmcl%2BAzbaYLpXoXcKeg9cWJOG3Q0LpTc0AdoB0QN13inWcXstfyV6ArAp3qQoRQGJ0oMwiBVnWFouyFiPwx%2B4EVJa%2FDVItF6QVYjV%2FeO0qxJr7lrvrGoS4Ue%2BxAv72EwutO73XuOsHh9ebqlyCg2qRTD7ZmuOcK9MvZhLHc3vOnQFhum%2BwWCIIwJ34Z8%2FW81LVMxgjmLBvcJnMQFe9GAm%2FwfEpK9Lw%2FKKgnGWz6aNvOxh0eeyGZCR8BcRudzBSrv8HMBU1a3QePxY7ZcOvMPbXrQPyWKKzdWAZbNQy1d%2BqOCZJrxM8XHM%2BN3o%2FcFXKvmePECjwdp8t82sAJnX8AlqwnXjKDfse8eACmQW3df3CDNrd4p3xsce3zFG8Yz0E4uQfofm9w4CHFgj1uoIs%2FDQsUKU4rGtWSGdAGg%2FCfsTJN1D2Mownfhi%2F%2FRfhoKkl4TsUZV6kFqz6GXqsXuWJ8XTwRmzojxfNf6bfrI2IWxLO2u%2BWVlh%2BxFePJ%2FCXH60byM7KXvdxvRZqitYWPvsjrQsl517OHad%2BJXqneUdnjSBc22y%2Fuw9Y7%2B8%2BR1ckfOz1r6FqZkV5y%2FxM6ApevKe0wrv2F%2B%2B3812Te3bLvRtewUUH2H6xdIrPZQlZBRw77fXQkiMbnZa%2FpR3P2wjxCgATKYs6YVgQvGxSZLddEguL3Ld8B7l2lB%2FqoUClQP0VGAVcTzwMA8grUp%2B%2Byt3HDJMLx%2Bb27WKMxZR5Vq%2Bt%2Ft32B3Cp3skr%2F%2BALfzLD4rerfVuI4tYNnitBYSsYFdPbpdEN2%2By8Cg%3D%3D"));f.port.postMessage([m,r]);let M=await E(m);for(let e in M.exports)u.env[e]=M.exports[e];let h=await E(r),y=a(l.data.buffer);await p;let x=Date.now();const b=1e3/60;let X=x;f.connect(Q.destination),function e(){if(g)try{let t=Date.now(),B=!1;if(t>=X){let e=navigator.getGamepads(),n=0;for(let t=0;t<4;++t){let A=e[t];if(A){for(let e=0;e<8;++e){let a=(e+12)%16;A.buttons.length>a&&A.buttons[a].pressed&&(n|=1<<8*t+e)}if(A.axes.length>1)for(let e=0;e<4;++e){let a=A.axes[1-(e>>1)];(1&e?a:-a)>.5&&(n|=1<<8*t+e)}A.buttons.length>9&&A.buttons[9].pressed&&(B=!0)}}let s=a(o.buffer);s[16]=t-x,s[17]=c|n,h.exports.upd&&h.exports.upd(),M.exports.endFrame();let r=new ArrayBuffer(32);A(r).set(A(o.buffer,80,32)),f.port.postMessage(r,[r]);let d=a(o.buffer,77824,1024);for(let e=0;e<76800;++e)y[e]=4278190080|d[i[e+120]];F.putImageData(l,0,0),X=Math.max(X+b,t)}B?C(s):window.requestAnimationFrame(e)}catch(e){n.setMessage(w,e.toString())}}()}catch(e){n.setMessage(w,e.toString())}}function g(e,t){let A=document.createElement("a");A.href=URL.createObjectURL(e),A.download="microw8_"+(new Date).toISOString()+t,A.click(),URL.revokeObjectURL(A.href)}return{runModule:C,runModuleFromURL:async function(e,t){let A=await fetch(e),a=A.headers.get("Content-Type");return!(a&&a.includes("html")||200!=A.status)&&(C(await A.arrayBuffer(),t||d),!0)},setDevkitMode:e=>d=e}}(document.getElementById("screen"),{setMessage:(e,t)=>{let A=document.getElementById("message");t&&(A.innerText=t),A.hidden=!t}});new EventSource("events").onmessage=e=>{console.log(e.data),"L"==e.data&&B.runModuleFromURL("cart",!0)},B.runModuleFromURL("cart",!0);</script></html> |