-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathvic20.js
More file actions
68 lines (68 loc) · 33 KB
/
vic20.js
File metadata and controls
68 lines (68 loc) · 33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
var g;g||=typeof Module != 'undefined' ? Module : {};var aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,ca=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,da=[],ea="./this.program",fa=(a,b)=>{throw b;},ha=globalThis.document?.currentScript?.src;"undefined"!=typeof __filename?ha=__filename:ba&&(ha=self.location.href);var ia="",ja,ka;
if(ca){var fs=require("node:fs");ia=__dirname+"/";ka=a=>{a=la(a)?new URL(a):a;return fs.readFileSync(a)};ja=async a=>{a=la(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ea=process.argv[1].replace(/\\/g,"/"));da=process.argv.slice(2);"undefined"!=typeof module&&(module.exports=g);fa=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ia=(new URL(".",ha)).href}catch{}ba&&(ka=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});
ja=async a=>{if(la(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);}}console.log.bind(console);var k=console.error.bind(console),m,p=!1,ma,la=a=>a.startsWith("file://");
function na(){var a=oa.buffer;r=new Int8Array(a);pa=new Int16Array(a);u=new Uint8Array(a);qa=new Uint16Array(a);v=new Int32Array(a);w=new Uint32Array(a);x=new Float32Array(a);y=new Float64Array(a);new BigInt64Array(a);new BigUint64Array(a)}function ra(a){g.onAbort?.(a);a=`Aborted(${a})`;k(a);p=!0;throw new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");}var sa;
async function ta(a){if(!m)try{var b=await ja(a);return new Uint8Array(b)}catch{}if(a==sa&&m)a=new Uint8Array(m);else if(ka)a=ka(a);else throw"both async and sync fetching of the wasm failed";return a}async function ua(a,b){try{var c=await ta(a);return await WebAssembly.instantiate(c,b)}catch(d){k(`failed to asynchronously prepare wasm: ${d}`),ra(d)}}
async function va(a){var b=sa;if(!m&&!la(b)&&!ca)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){k(`wasm streaming compile failed: ${d}`),k("falling back to ArrayBuffer instantiation")}return ua(b,a)}class wa{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
var pa,v,r,x,y,qa,w,u,xa=a=>{for(;0<a.length;)a.shift()(g)},ya=[],za=[],Aa=()=>{var a=g.preRun.shift();za.push(a)},z=0,A=null,Ba=!0,Ca=0,B={},Da=a=>{a instanceof wa||"unwind"==a||fa(1,a)},Ea=a=>{ma=a;Ba||0<Ca||(g.onExit?.(a),p=!0);fa(a,new wa(a))},Fa=()=>{if(!(Ba||0<Ca))try{var a=ma;ma=a;Ea(a)}catch(b){Da(b)}},Ga=a=>{if(!p)try{a()}catch(b){Da(b)}finally{Fa()}},Na=(a,b)=>{Ha=a;Ia=b;if(D)if(Ja||=!0,0==a)E=function(){setTimeout(F,Math.max(0,Ka+b-performance.now())|0)};else if(1==a)E=function(){La(F)};
else{if(!Ma)if(globalThis.setImmediate)Ma=setImmediate;else{var c=[];addEventListener("message",d=>{if("setimmediate"===d.data||"setimmediate"===d.data.target)d.stopPropagation(),c.shift()()},!0);Ma=d=>{c.push(d);if(ba){let e;(e=g).setImmediates??(e.setImmediates=[]);g.setImmediates.push(d);postMessage({target:"setimmediate"})}else postMessage("setimmediate","*")}}E=function(){Ma(F)}}},Wa=(a,b,c,d,e)=>{function h(){return f<Oa?(Fa(),!1):!0}D=a;Pa=d;var f=Oa;Ja=!1;F=function(){if(!p)if(0<Qa.length){var l=
Qa.shift();l.Kd(l.yd);if(Ra){var n=Ra,q=0==n%1?n-1:Math.floor(n);Ra=l.Bd?q:(8*n+(q+.5))/9}g.setStatus&&(l=g.statusMessage||"Please wait...",n=Ra??0,q=Sa.Hd??0,n?n<q?g.setStatus("{message} ({expected - remaining}/{expected})"):g.setStatus(l):g.setStatus(""));h()&&setTimeout(F,0)}else if(h())if(Ta=Ta+1|0,1==Ha&&1<Ia&&0!=Ta%Ia)E();else{0==Ha&&(Ka=performance.now());a:if(!p){for(l of Ua)if(!1===l())break a;Ga(a);for(n of Va)n()}h()&&E()}};e||(0<b?Na(0,1E3/b):Na(1,1),E());if(c)throw"unwind";},Ja=!1,E=
null,Oa=0,D=null,Pa=0,Ha=0,Ia=0,Ta=0,Qa=[],Ua=[],Va=[];function Xa(){E=null;Oa++}var Ya=0;function La(a){if(globalThis.requestAnimationFrame)requestAnimationFrame(a);else{var b=Date.now();if(0===Ya)Ya=b+1E3/60;else for(;b+2>=Ya;)Ya+=1E3/60;setTimeout(a,Math.max(Ya-b,0))}}
var Sa={},Ka,F,Ma,Ra,Za=globalThis.TextDecoder&&new TextDecoder,G=(a=0,b)=>{var c=u;var d=a;for(b=d+b;c[d]&&!(d>=b);)++d;if(16<d-a&&c.buffer&&Za)return Za.decode(c.subarray(a,d));for(b="";a<d;){var e=c[a++];if(e&128){var h=c[a++]&63;if(192==(e&224))b+=String.fromCharCode((e&31)<<6|h);else{var f=c[a++]&63;e=224==(e&240)?(e&15)<<12|h<<6|f:(e&7)<<18|h<<12|f<<6|c[a++]&63;65536>e?b+=String.fromCharCode(e):(e-=65536,b+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else b+=String.fromCharCode(e)}return b},
$a=[0,globalThis.document??0,globalThis.window??0],H=a=>{a=2<a?a?G(a):"":a;return $a[a]||globalThis.document?.querySelector(a)},ab=a=>0>$a.indexOf(a)?a.getBoundingClientRect():{left:0,top:0},bb=[],I=a=>{var b=bb[a];b||(bb[a]=b=cb.get(a));return b};function db(a){var b=J.wc[a];b.target.removeEventListener(b.vc,b.bd,b.zc);J.wc.splice(a,1)}function eb(){if(navigator.userActivation?navigator.userActivation.isActive:J.Pc&&J.sd.Mc){var a=J.Ec;J.Ec=[];for(var b of a)b.Sc(...b.Yc)}}
function K(a){if(!a.target)return-4;if(a.xc)a.bd=function(c){++J.Pc;J.sd=a;eb();a.Bc(c);eb();--J.Pc},a.target.addEventListener(a.vc,a.bd,a.zc),J.wc.push(a);else for(var b=0;b<J.wc.length;++b)J.wc[b].target==a.target&&J.wc[b].vc==a.vc&&db(b--);return 0}function fb(a){return a?a==window?"#window":a==screen?"#screen":a?.nodeName||"":""}
var J={zd:0,Ld:0,Qc:0,Kc:0,Wc:0,Uc:0,Nc:0,Fd:0,Pd:0,Ed:0,Oc:0,Rc:0,Yd:0,Tc:0,Rd(){for(;J.wc.length;)db(J.wc.length-1);J.Ec=[]},Pc:0,Ec:[],Dd(a,b,c){function d(h,f){if(h.length!=f.length)return!1;for(var l in h)if(h[l]!=f[l])return!1;return!0}for(var e of J.Ec)if(e.Sc==a&&d(e.Yc,c))return;J.Ec.push({Sc:a,gd:b,Yc:c});J.Ec.sort((h,f)=>h.gd-f.gd)},Td(a){J.Ec=J.Ec.filter(b=>b.Sc!=a)},wc:[],Sd:(a,b)=>{for(var c=0;c<J.wc.length;++c)J.wc[c].target!=a||b&&b!=J.wc[c].vc||db(c--)},Ud(a){let b=!1;for(let c=0;c<
J.wc.length;++c){const d=J.wc[c];d.target===a.target&&d.yc===a.yc&&d.xc===a.xc&&d.Ac===a.Ac&&(db(c--),b=!0)}return b?0:-5},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},L=(a,b,c)=>{var d=u;if(!(0<c))return 0;var e=b;c=b+c-1;for(var h=0;h<a.length;++h){var f=a.codePointAt(h);if(127>=f){if(b>=c)break;d[b++]=f}else if(2047>=f){if(b+1>=c)break;d[b++]=192|f>>6;d[b++]=128|f&63}else if(65535>=f){if(b+2>=c)break;d[b++]=224|f>>12;d[b++]=128|f>>6&63;d[b++]=128|f&
63}else{if(b+3>=c)break;d[b++]=240|f>>18;d[b++]=128|f>>12&63;d[b++]=128|f>>6&63;d[b++]=128|f&63;h++}}d[b]=0;return b-e},gb=(a,b,c,d,e,h)=>{J.Nc||(J.Nc=M(256));a={target:H(a),vc:h,yc:e,Ac:b,xc:d,Bc:f=>{var l=f.target.id?f.target.id:"",n=J.Nc;L(fb(f.target),n+0,128);L(l,n+128,128);I(d)(e,n,b)&&f.preventDefault()},zc:c};return K(a)},hb=(a,b,c,d,e)=>{J.Oc||(J.Oc=M(276));return K({target:a,vc:e,yc:19,Ac:b,xc:d,Bc:h=>{var f=J.Oc,l=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||
document.webkitCurrentFullScreenElement||document.msFullscreenElement,n=!!l;r[f]=n;r[f+1]=J.fullscreenEnabled();var q=n?l:J.wd,t=q?.id||"";L(fb(q),f+2,128);L(t,f+130,128);v[f+260>>2]=q?q.clientWidth:0;v[f+264>>2]=q?q.clientHeight:0;v[f+268>>2]=screen.width;v[f+272>>2]=screen.height;n&&(J.wd=l);I(d)(19,f,b)&&h.preventDefault()},zc:c})},ib=(a,b,c,d,e,h)=>{J.Qc||(J.Qc=M(160));a={target:H(a),vc:h,yc:e,Ac:b,xc:d,Bc:f=>{var l=J.Qc;y[l>>3]=f.timeStamp;var n=l>>2;v[n+2]=f.location;r[l+12]=f.ctrlKey;r[l+13]=
f.shiftKey;r[l+14]=f.altKey;r[l+15]=f.metaKey;r[l+16]=f.repeat;v[n+5]=f.charCode;v[n+6]=f.keyCode;v[n+7]=f.which;L(f.key||"",l+32,32);L(f.code||"",l+64,32);L(f.char||"",l+96,32);L(f.locale||"",l+128,32);I(d)(e,l,b)&&f.preventDefault()},zc:c};return K(a)},jb=(a,b,c)=>{y[a>>3]=b.timeStamp;var d=a>>2;v[d+2]=b.screenX;v[d+3]=b.screenY;v[d+4]=b.clientX;v[d+5]=b.clientY;r[a+24]=b.ctrlKey;r[a+25]=b.shiftKey;r[a+26]=b.altKey;r[a+27]=b.metaKey;pa[2*d+14]=b.button;pa[2*d+15]=b.buttons;v[d+8]=b.movementX;v[d+
9]=b.movementY;a=ab(c);v[d+10]=b.clientX-(a.left|0);v[d+11]=b.clientY-(a.top|0)},kb=(a,b,c,d,e,h)=>{J.Kc||(J.Kc=M(64));a=H(a);return K({target:a,Mc:"mousemove"!=h&&"mouseenter"!=h&&"mouseleave"!=h,vc:h,yc:e,Ac:b,xc:d,Bc:f=>{jb(J.Kc,f,a);I(d)(e,J.Kc,b)&&f.preventDefault()},zc:c})},lb=(a,b,c,d)=>{J.Rc||(J.Rc=M(257));return K({target:a,vc:"pointerlockchange",yc:20,Ac:b,xc:d,Bc:e=>{var h=J.Rc,f=document.pointerLockElement;r[h]=!!f;var l=f?.id||"";L(fb(f),h+1,128);L(l,h+129,128);I(d)(20,h,b)&&e.preventDefault()},
zc:c})},mb=(a,b,c,d)=>K({target:a,vc:"pointerlockerror",yc:38,Ac:b,xc:d,Bc:e=>{I(d)(38,0,b)&&e.preventDefault()},zc:c}),nb=(a,b,c,d)=>{J.Uc||(J.Uc=M(36));a=H(a);return K({target:a,vc:"resize",yc:10,Ac:b,xc:d,Bc:e=>{if(e.target==a){var h=document.body;if(h){var f=J.Uc;v[f>>2]=0;v[f+4>>2]=h.clientWidth;v[f+8>>2]=h.clientHeight;v[f+12>>2]=innerWidth;v[f+16>>2]=innerHeight;v[f+20>>2]=outerWidth;v[f+24>>2]=outerHeight;v[f+28>>2]=pageXOffset|0;v[f+32>>2]=pageYOffset|0;I(d)(10,f,b)&&e.preventDefault()}}},
zc:c})},ob=(a,b,c,d,e,h)=>{J.Tc||(J.Tc=M(1552));a=H(a);return K({target:a,Mc:"touchstart"==h||"touchend"==h,vc:h,yc:e,Ac:b,xc:d,Bc:f=>{var l={},n=f.touches;for(var q of n)q.cd=q.ed=0,l[q.identifier]=q;for(var t of f.changedTouches)t.cd=1,l[t.identifier]=t;for(var N of f.targetTouches)l[N.identifier].ed=1;n=J.Tc;y[n>>3]=f.timeStamp;r[n+12]=f.ctrlKey;r[n+13]=f.shiftKey;r[n+14]=f.altKey;r[n+15]=f.metaKey;q=n+16;t=ab(a);N=0;for(let C of Object.values(l))if(l=q>>2,v[l]=C.identifier,v[l+1]=C.screenX,v[l+
2]=C.screenY,v[l+3]=C.clientX,v[l+4]=C.clientY,v[l+5]=C.pageX,v[l+6]=C.pageY,r[q+28]=C.cd,r[q+29]=C.ed,v[l+8]=C.clientX-(t.left|0),v[l+9]=C.clientY-(t.top|0),q+=48,31<++N)break;v[n+8>>2]=N;I(d)(e,n,b)&&f.preventDefault()},zc:c})},O,pb=a=>{var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=(c,d)=>b.vertexAttribDivisorANGLE(c,d),a.drawArraysInstanced=(c,d,e,h)=>b.drawArraysInstancedANGLE(c,d,e,h),a.drawElementsInstanced=(c,d,e,h,f)=>b.drawElementsInstancedANGLE(c,d,e,h,f))},qb=
a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=c=>b.deleteVertexArrayOES(c),a.bindVertexArray=c=>b.bindVertexArrayOES(c),a.isVertexArray=c=>b.isVertexArrayOES(c))},rb=a=>{var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=(c,d)=>b.drawBuffersWEBGL(c,d))},sb=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
return(a.getSupportedExtensions()||[]).filter(c=>b.includes(c))},tb=1,P=[],Q=[],ub=[],vb=[],R=[],S=[],wb=[],xb=[],T=[],yb={},zb=4,Ab=0,Bb=a=>{for(var b=tb++,c=a.length;c<b;c++)a[c]=null;return b},V=(a,b,c,d)=>{for(var e=0;e<a;e++){var h=O[c](),f=h&&Bb(d);h?(h.name=f,d[f]=h):U||=1282;v[b+4*e>>2]=f}},Db=(a,b)=>{a.pd||(a.pd=a.getContext,a.getContext=function(d,e){e=a.pd(d,e);return"webgl"==d==e instanceof WebGLRenderingContext?e:null});var c=1<b.dd?a.getContext("webgl2",b):a.getContext("webgl",b);return c?
Cb(c,b):0},Cb=(a,b)=>{var c=Bb(xb),d={handle:c,attributes:b,version:b.dd,Xc:a};a.canvas&&(a.canvas.xd=d);xb[c]=d;if("undefined"==typeof b.ad||b.ad)if((a=d)||(a=W),!a.vd){a.vd=!0;b=a.Xc;b.Od=b.getExtension("WEBGL_multi_draw");b.Jd=b.getExtension("EXT_polygon_offset_clamp");b.Id=b.getExtension("EXT_clip_control");b.Zd=b.getExtension("WEBGL_polygon_mode");pb(b);qb(b);rb(b);b.Gd=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.Md=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");
2<=a.version&&(b.$c=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.$c)b.$c=b.getExtension("EXT_disjoint_timer_query");for(var e of sb(b))e.includes("lose_context")||e.includes("debug")||b.getExtension(e)}return c},U,W,Eb=(a,b,c,d,e,h)=>{a={target:H(a),vc:h,yc:e,Ac:b,xc:d,Bc:f=>{I(d)(e,0,b)&&f.preventDefault()},zc:c};K(a)},Fb=(a,b,c,d)=>{J.Wc||(J.Wc=M(96));return K({target:a,Mc:!0,vc:"wheel",yc:9,Ac:b,xc:d,Bc:e=>{var h=J.Wc;jb(h,e,a);y[h+64>>3]=e.deltaX;y[h+72>>3]=e.deltaY;y[h+
80>>3]=e.deltaZ;v[h+88>>2]=e.deltaMode;I(d)(9,h,b)&&e.preventDefault()},zc:c})},Gb=["default","low-power","high-performance"],Hb=[],Ib=()=>{var a=sb(O);return a=a.concat(a.map(b=>"GL_"+b))},Jb=(a,b)=>{if(b){var c=void 0;switch(a){case 36346:c=1;break;case 36344:return;case 34814:case 36345:c=0;break;case 34466:var d=O.getParameter(34467);c=d?d.length:0;break;case 33309:if(2>W.version){U||=1282;return}c=Ib().length;break;case 33307:case 33308:if(2>W.version){U||=1280;return}c=33307==a?3:0}if(void 0===
c)switch(d=O.getParameter(a),typeof d){case "number":c=d;break;case "boolean":c=d?1:0;break;case "string":U||=1280;return;case "object":if(null===d)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:c=0;break;default:U||=1280;return}else{if(d instanceof Float32Array||d instanceof Uint32Array||d instanceof Int32Array||d instanceof Array){for(a=
0;a<d.length;++a)v[b+4*a>>2]=d[a];return}try{c=d.name|0}catch(e){U||=1280;k(`GL_INVALID_ENUM in glGet${0}v: Unknown object returned from WebGL getParameter(${a})! (error: ${e})`);return}}break;default:U||=1280;k(`GL_INVALID_ENUM in glGet${0}v: Native code calling glGet${0}v(${a}) and it returns ${d} of type ${typeof d}!`);return}v[b>>2]=c}else U||=1281},Kb=a=>{for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b},Lb=a=>{var b=Kb(a)+
1,c=M(b);c&&L(a,c,b);return c},Mb=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Nb=a=>{a-=5120;return 0==a?r:1==a?u:2==a?pa:4==a?v:6==a?x:5==a||28922==a||28520==a||30779==a||30782==a?w:qa},X=a=>{var b=O.td;if(b){var c=b.Gc[a];"number"==typeof c&&(b.Gc[a]=c=O.getUniformLocation(b,b.qd[a]+(0<c?`[${c}]`:"")));return c}U||=1282},Y=[],Ob=[],Qb=a=>{var b=Kb(a)+1,c=Pb(b);L(a,c,b);return c},Tb=a=>{var b=Rb();a();Sb(b)};g.requestAnimationFrame=La;g.pauseMainLoop=Xa;
g.resumeMainLoop=function(){Oa++;var a=Ha,b=Ia,c=D;D=null;Wa(c,0,!1,Pa,!0);Na(a,b);E()};g.preMainLoop&&Ua.push(g.preMainLoop);g.postMainLoop&&Va.push(g.postMainLoop);for(let a=0;32>a;++a)Hb.push(Array(a));for(var Ub=new Float32Array(288),Z=0;288>=Z;++Z)Y[Z]=Ub.subarray(0,Z);var Vb=new Int32Array(288);for(Z=0;288>=Z;++Z)Ob[Z]=Vb.subarray(0,Z);g.noExitRuntime&&(Ba=g.noExitRuntime);g.printErr&&(k=g.printErr);g.wasmBinary&&(m=g.wasmBinary);g.arguments&&(da=g.arguments);g.thisProgram&&(ea=g.thisProgram);
if(g.preInit)for("function"==typeof g.preInit&&(g.preInit=[g.preInit]);0<g.preInit.length;)g.preInit.shift()();
var Wb,Xb,Yb,Zb,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,M,jc,Sb,Pb,Rb,oa,cb,kc={gb:()=>ra(""),db:()=>{Ba=!1;Ca=0},eb:(a,b)=>{B[a]&&(clearTimeout(B[a].id),delete B[a]);if(!b)return 0;var c=setTimeout(()=>{delete B[a];Ga(()=>jc(a,performance.now()))},b);B[a]={id:c,Xd:b};return 0},Qa:()=>{Xa();D=null},ia:()=>globalThis.devicePixelRatio??1,ka:(a,b,c)=>{a=H(a);if(!a)return-4;a=ab(a);y[b>>3]=a.width;y[c>>3]=a.height;return 0},A:()=>performance.now(),Ra:()=>performance.now(),Xa:(a,b)=>{function c(d){I(a)(d,b)&&requestAnimationFrame(c)}
return requestAnimationFrame(c)},fb:a=>{var b=u.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-oa.buffer.byteLength+65535)/65536|0;try{oa.grow(d);na();var e=1;break a}catch(h){}e=void 0}if(e)return!0}return!1},S:(a,b,c,d)=>gb(a,b,c,d,12,"blur"),ha:(a,b,c)=>{a=H(a);if(!a)return-4;a.width=b;a.height=c;return 0},T:(a,b,c,d)=>gb(a,b,c,d,13,"focus"),R:(a,b,c,d)=>{if(!J.fullscreenEnabled())return-1;
a=H(a);if(!a)return-4;hb(a,b,c,d,"webkitfullscreenchange");return hb(a,b,c,d,"fullscreenchange")},aa:(a,b,c,d)=>ib(a,b,c,d,2,"keydown"),_:(a,b,c,d)=>ib(a,b,c,d,1,"keypress"),$:(a,b,c,d)=>ib(a,b,c,d,3,"keyup"),Ya:(a,b,c)=>{a=I(a);Wa(a,b,c)},ga:(a,b,c,d)=>kb(a,b,c,d,5,"mousedown"),da:(a,b,c,d)=>kb(a,b,c,d,33,"mouseenter"),ca:(a,b,c,d)=>kb(a,b,c,d,34,"mouseleave"),ea:(a,b,c,d)=>kb(a,b,c,d,8,"mousemove"),fa:(a,b,c,d)=>kb(a,b,c,d,6,"mouseup"),V:(a,b,c,d)=>document.body?.requestPointerLock?(a=H(a))?lb(a,
b,c,d):-4:-1,U:(a,b,c,d)=>document.body?.requestPointerLock?(a=H(a))?mb(a,b,c,d):-4:-1,ja:(a,b,c,d)=>nb(a,b,c,d),W:(a,b,c,d)=>ob(a,b,c,d,25,"touchcancel"),X:(a,b,c,d)=>ob(a,b,c,d,23,"touchend"),Y:(a,b,c,d)=>ob(a,b,c,d,24,"touchmove"),Z:(a,b,c,d)=>ob(a,b,c,d,22,"touchstart"),Q:(a,b,c,d)=>{Eb(a,b,c,d,31,"webglcontextlost");return 0},P:(a,b,c,d)=>{Eb(a,b,c,d,32,"webglcontextrestored");return 0},ba:(a,b,c,d)=>(a=H(a))?"undefined"!=typeof a.onwheel?Fb(a,b,c,d):-1:-4,Va:(a,b)=>{var c=b>>2;b={alpha:!!r[b+
0],depth:!!r[b+1],stencil:!!r[b+2],antialias:!!r[b+3],premultipliedAlpha:!!r[b+4],preserveDrawingBuffer:!!r[b+5],powerPreference:Gb[v[c+2]],failIfMajorPerformanceCaveat:!!r[b+12],dd:v[c+4],Nd:v[c+5],ad:r[b+24],ud:r[b+25],Qd:v[c+7],Vd:r[b+32]};a=H(a);return!a||b.ud?0:Db(a,b)},Ua:a=>{W=xb[a];g.ctx=O=W?.Xc;return!a||O?0:-5},n:a=>O.activeTexture(a),C:(a,b)=>{O.attachShader(Q[a],S[b])},a:(a,b)=>{35051==a?O.Zc=b:35052==a&&(O.Fc=b);O.bindBuffer(a,P[b])},w:(a,b,c)=>{O.bindBufferBase(a,b,P[c])},yb:(a,b,c,
d,e)=>{O.bindBufferRange(a,b,P[c],d,e)},h:(a,b)=>{O.bindFramebuffer(a,ub[b])},Jb:(a,b)=>{O.bindRenderbuffer(a,vb[b])},m:(a,b)=>{O.bindSampler(a,T[b])},c:(a,b)=>{O.bindTexture(a,R[b])},O:a=>{O.bindVertexArray(wb[a])},J:(a,b,c,d)=>O.blendColor(a,b,c,d),K:(a,b)=>O.blendEquationSeparate(a,b),L:(a,b,c,d)=>O.blendFuncSeparate(a,b,c,d),ib:(a,b,c,d,e,h,f,l,n,q)=>O.blitFramebuffer(a,b,c,d,e,h,f,l,n,q),Ea:(a,b,c,d)=>{2<=W.version?c&&b?O.bufferData(a,u,d,c,b):O.bufferData(a,b,d):O.bufferData(a,c?u.subarray(c,
c+b):b,d)},D:(a,b,c,d)=>{2<=W.version?c&&O.bufferSubData(a,b,u,d,c):O.bufferSubData(a,b,u.subarray(d,d+c))},Gb:a=>O.checkFramebufferStatus(a),Fb:(a,b,c,d)=>O.clearBufferfi(a,b,c,d),qa:(a,b,c)=>{O.clearBufferfv(a,b,x,c>>2)},Eb:(a,b,c)=>{O.clearBufferiv(a,b,v,c>>2)},o:(a,b,c,d)=>{O.colorMask(!!a,!!b,!!c,!!d)},Nb:a=>{O.compileShader(S[a])},t:(a,b,c,d,e,h,f,l,n)=>{2<=W.version?O.Fc||!l?O.compressedTexSubImage2D(a,b,c,d,e,h,f,l,n):O.compressedTexSubImage2D(a,b,c,d,e,h,f,u,n,l):O.compressedTexSubImage2D(a,
b,c,d,e,h,f,u.subarray(n,n+l))},Aa:(a,b,c,d,e,h,f,l,n,q,t)=>{O.Fc?O.compressedTexSubImage3D(a,b,c,d,e,h,f,l,n,q,t):O.compressedTexSubImage3D(a,b,c,d,e,h,f,l,n,u,t,q)},Tb:()=>{var a=Bb(Q),b=O.createProgram();b.name=a;b.Jc=b.Hc=b.Ic=0;b.Vc=1;Q[a]=b;return a},Qb:a=>{var b=Bb(S);S[b]=O.createShader(a);return b},G:a=>O.cullFace(a),Ha:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=P[d];e&&(O.deleteBuffer(e),e.name=0,P[d]=null,d==O.Zc&&(O.Zc=0),d==O.Fc&&(O.Fc=0))}},v:(a,b)=>{for(var c=0;c<a;++c){var d=
v[b+4*c>>2],e=ub[d];e&&(O.deleteFramebuffer(e),e.name=0,ub[d]=null)}},l:a=>{if(a){var b=Q[a];b?(O.deleteProgram(b),b.name=0,Q[a]=null):U||=1281}},E:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=vb[d];e&&(O.deleteRenderbuffer(e),e.name=0,vb[d]=null)}},F:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=T[d];e&&(O.deleteSampler(e),e.name=0,T[d]=null)}},p:a=>{if(a){var b=S[a];b?(O.deleteShader(b),S[a]=null):U||=1281}},i:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2],e=R[d];e&&(O.deleteTexture(e),e.name=
0,R[d]=null)}},Ga:(a,b)=>{for(var c=0;c<a;c++){var d=v[b+4*c>>2];O.deleteVertexArray(wb[d]);wb[d]=null}},y:a=>O.depthFunc(a),x:a=>{O.depthMask(!!a)},d:a=>O.disable(a),M:a=>{O.disableVertexAttribArray(a)},lb:(a,b,c)=>{O.drawArrays(a,b,c)},mb:(a,b,c,d)=>{O.drawArraysInstanced(a,b,c,d)},sa:(a,b)=>{for(var c=Hb[a],d=0;d<a;d++)c[d]=v[b+4*d>>2];O.drawBuffers(c)},nb:(a,b,c,d)=>{O.drawElements(a,b,c,d)},ob:(a,b,c,d,e)=>{O.drawElementsInstanced(a,b,c,d,e)},g:a=>O.enable(a),zb:a=>{O.enableVertexAttribArray(a)},
j:(a,b,c,d)=>{O.framebufferRenderbuffer(a,b,c,vb[d])},e:(a,b,c,d,e)=>{O.framebufferTexture2D(a,b,c,R[d],e)},B:(a,b,c,d,e)=>{O.framebufferTextureLayer(a,b,R[c],d,e)},H:a=>O.frontFace(a),Fa:(a,b)=>{V(a,b,"createBuffer",P)},N:(a,b)=>{V(a,b,"createFramebuffer",ub)},Kb:(a,b)=>{V(a,b,"createRenderbuffer",vb)},ya:(a,b)=>{V(a,b,"createSampler",T)},Da:(a,b)=>{V(a,b,"createTexture",R)},Pa:(a,b)=>{V(a,b,"createVertexArray",wb)},Lb:(a,b)=>O.getAttribLocation(Q[a],b?G(b):""),b:(a,b)=>Jb(a,b),Sb:(a,b,c,d)=>{a=
O.getProgramInfoLog(Q[a]);null===a&&(a="(unknown error)");b=0<b&&d?L(a,d,b):0;c&&(v[c>>2]=b)},va:(a,b,c)=>{if(c)if(a>=tb)U||=1281;else if(a=Q[a],35716==b)a=O.getProgramInfoLog(a),null===a&&(a="(unknown error)"),v[c>>2]=a.length+1;else if(35719==b){if(!a.Jc){var d=O.getProgramParameter(a,35718);for(b=0;b<d;++b)a.Jc=Math.max(a.Jc,O.getActiveUniform(a,b).name.length+1)}v[c>>2]=a.Jc}else if(35722==b){if(!a.Hc)for(d=O.getProgramParameter(a,35721),b=0;b<d;++b)a.Hc=Math.max(a.Hc,O.getActiveAttrib(a,b).name.length+
1);v[c>>2]=a.Hc}else if(35381==b){if(!a.Ic)for(d=O.getProgramParameter(a,35382),b=0;b<d;++b)a.Ic=Math.max(a.Ic,O.getActiveUniformBlockName(a,b).length+1);v[c>>2]=a.Ic}else v[c>>2]=O.getProgramParameter(a,b);else U||=1281},Mb:(a,b,c,d)=>{a=O.getShaderInfoLog(S[a]);null===a&&(a="(unknown error)");b=0<b&&d?L(a,d,b):0;c&&(v[c>>2]=b)},ta:(a,b,c)=>{c?35716==b?(a=O.getShaderInfoLog(S[a]),null===a&&(a="(unknown error)"),v[c>>2]=a?a.length+1:0):35720==b?(a=O.getShaderSource(S[a]),v[c>>2]=a?a.length+1:0):v[c>>
2]=O.getShaderParameter(S[a],b):U||=1281},Na:(a,b)=>{if(2>W.version)return U||=1282,0;var c=yb[a];if(c)return 0>b||b>=c.length?(U||=1281,0):c[b];switch(a){case 7939:return c=Ib().map(Lb),c=yb[a]=c,0>b||b>=c.length?(U||=1281,0):c[b];default:return U||=1280,0}},ua:(a,b)=>{b=b?G(b):"";if(a=Q[a]){var c=a,d=c.Gc,e=c.rd,h;if(!d){c.Gc=d={};c.qd={};var f=O.getProgramParameter(c,35718);for(h=0;h<f;++h){var l=O.getActiveUniform(c,h);var n=l.name;l=l.size;var q=Mb(n);q=0<q?n.slice(0,q):n;var t=c.Vc;c.Vc+=l;
e[q]=[l,t];for(n=0;n<l;++n)d[t]=n,c.qd[t++]=q}}c=a.Gc;d=0;e=b;h=Mb(b);0<h&&(d=parseInt(b.slice(h+1))>>>0,e=b.slice(0,h));if((e=a.rd[e])&&d<e[0]&&(d+=e[1],c[d]=c[d]||O.getUniformLocation(a,b)))return d}else U||=1281;return-1},hb:(a,b,c)=>{for(var d=Hb[b],e=0;e<b;e++)d[e]=v[c+4*e>>2];O.invalidateFramebuffer(a,d)},wa:a=>{a=Q[a];O.linkProgram(a);a.Gc=0;a.rd={}},Oa:(a,b)=>{3317==a?zb=b:3314==a&&(Ab=b);O.pixelStorei(a,b)},I:(a,b)=>O.polygonOffset(a,b),kb:a=>O.readBuffer(a),Ib:(a,b,c,d,e)=>O.renderbufferStorageMultisample(a,
b,c,d,e),xa:(a,b,c)=>{O.samplerParameterf(T[a],b,c)},f:(a,b,c)=>{O.samplerParameteri(T[a],b,c)},ra:(a,b,c,d)=>O.scissor(a,b,c,d),Ob:(a,b,c,d)=>{for(var e="",h=0;h<b;++h){var f=(f=w[c+4*h>>2])?G(f,d?w[d+4*h>>2]:void 0):"";e+=f}O.shaderSource(S[a],e)},La:(a,b,c)=>O.stencilFunc(a,b,c),pa:(a,b,c,d)=>O.stencilFuncSeparate(a,b,c,d),q:a=>O.stencilMask(a),Ka:(a,b,c)=>O.stencilOp(a,b,c),oa:(a,b,c,d)=>O.stencilOpSeparate(a,b,c,d),Ca:(a,b,c,d,e)=>O.texStorage2D(a,b,c,d,e),Ba:(a,b,c,d,e,h)=>O.texStorage3D(a,
b,c,d,e,h),s:(a,b,c,d,e,h,f,l,n)=>{if(2<=W.version){if(O.Fc){O.texSubImage2D(a,b,c,d,e,h,f,l,n);return}if(n){var q=Nb(l);O.texSubImage2D(a,b,c,d,e,h,f,l,q,n>>>31-Math.clz32(q.BYTES_PER_ELEMENT));return}}if(n){q=Nb(l);var t=h*((Ab||e)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[f-6402]||1)*q.BYTES_PER_ELEMENT+zb-1&-zb);n=q.subarray(n>>>31-Math.clz32(q.BYTES_PER_ELEMENT),n+t>>>31-Math.clz32(q.BYTES_PER_ELEMENT))}else n=null;O.texSubImage2D(a,b,c,d,e,h,f,l,n)},za:(a,b,c,d,e,h,f,l,
n,q,t)=>{if(O.Fc)O.texSubImage3D(a,b,c,d,e,h,f,l,n,q,t);else if(t){var N=Nb(q);O.texSubImage3D(a,b,c,d,e,h,f,l,n,q,N,t>>>31-Math.clz32(N.BYTES_PER_ELEMENT))}else O.texSubImage3D(a,b,c,d,e,h,f,l,n,q,null)},xb:(a,b,c)=>{if(2<=W.version)b&&O.uniform1fv(X(a),x,c>>2,b);else{if(288>=b)for(var d=Y[b],e=0;e<b;++e)d[e]=x[c+4*e>>2];else d=x.subarray(c>>2,c+4*b>>2);O.uniform1fv(X(a),d)}},Rb:(a,b)=>{O.uniform1i(X(a),b)},tb:(a,b,c)=>{if(2<=W.version)b&&O.uniform1iv(X(a),v,c>>2,b);else{if(288>=b)for(var d=Ob[b],
e=0;e<b;++e)d[e]=v[c+4*e>>2];else d=v.subarray(c>>2,c+4*b>>2);O.uniform1iv(X(a),d)}},wb:(a,b,c)=>{if(2<=W.version)b&&O.uniform2fv(X(a),x,c>>2,2*b);else{if(144>=b){b*=2;for(var d=Y[b],e=0;e<b;e+=2)d[e]=x[c+4*e>>2],d[e+1]=x[c+(4*e+4)>>2]}else d=x.subarray(c>>2,c+8*b>>2);O.uniform2fv(X(a),d)}},sb:(a,b,c)=>{if(2<=W.version)b&&O.uniform2iv(X(a),v,c>>2,2*b);else{if(144>=b){b*=2;for(var d=Ob[b],e=0;e<b;e+=2)d[e]=v[c+4*e>>2],d[e+1]=v[c+(4*e+4)>>2]}else d=v.subarray(c>>2,c+8*b>>2);O.uniform2iv(X(a),d)}},vb:(a,
b,c)=>{if(2<=W.version)b&&O.uniform3fv(X(a),x,c>>2,3*b);else{if(96>=b){b*=3;for(var d=Y[b],e=0;e<b;e+=3)d[e]=x[c+4*e>>2],d[e+1]=x[c+(4*e+4)>>2],d[e+2]=x[c+(4*e+8)>>2]}else d=x.subarray(c>>2,c+12*b>>2);O.uniform3fv(X(a),d)}},rb:(a,b,c)=>{if(2<=W.version)b&&O.uniform3iv(X(a),v,c>>2,3*b);else{if(96>=b){b*=3;for(var d=Ob[b],e=0;e<b;e+=3)d[e]=v[c+4*e>>2],d[e+1]=v[c+(4*e+4)>>2],d[e+2]=v[c+(4*e+8)>>2]}else d=v.subarray(c>>2,c+12*b>>2);O.uniform3iv(X(a),d)}},ub:(a,b,c)=>{if(2<=W.version)b&&O.uniform4fv(X(a),
x,c>>2,4*b);else{if(72>=b){var d=Y[4*b],e=x;c>>=2;b*=4;for(var h=0;h<b;h+=4){var f=c+h;d[h]=e[f];d[h+1]=e[f+1];d[h+2]=e[f+2];d[h+3]=e[f+3]}}else d=x.subarray(c>>2,c+16*b>>2);O.uniform4fv(X(a),d)}},qb:(a,b,c)=>{if(2<=W.version)b&&O.uniform4iv(X(a),v,c>>2,4*b);else{if(72>=b){b*=4;for(var d=Ob[b],e=0;e<b;e+=4)d[e]=v[c+4*e>>2],d[e+1]=v[c+(4*e+4)>>2],d[e+2]=v[c+(4*e+8)>>2],d[e+3]=v[c+(4*e+12)>>2]}else d=v.subarray(c>>2,c+16*b>>2);O.uniform4iv(X(a),d)}},pb:(a,b,c,d)=>{if(2<=W.version)b&&O.uniformMatrix4fv(X(a),
!!c,x,d>>2,16*b);else{if(18>=b){var e=Y[16*b],h=x;d>>=2;b*=16;for(var f=0;f<b;f+=16){var l=d+f;e[f]=h[l];e[f+1]=h[l+1];e[f+2]=h[l+2];e[f+3]=h[l+3];e[f+4]=h[l+4];e[f+5]=h[l+5];e[f+6]=h[l+6];e[f+7]=h[l+7];e[f+8]=h[l+8];e[f+9]=h[l+9];e[f+10]=h[l+10];e[f+11]=h[l+11];e[f+12]=h[l+12];e[f+13]=h[l+13];e[f+14]=h[l+14];e[f+15]=h[l+15]}}else e=x.subarray(d>>2,d+64*b>>2);O.uniformMatrix4fv(X(a),!!c,e)}},k:a=>{a=Q[a];O.useProgram(a);O.td=a},Ab:(a,b)=>{O.vertexAttribDivisor(a,b)},Bb:(a,b,c,d,e)=>{O.vertexAttribIPointer(a,
b,c,d,e)},Cb:(a,b,c,d,e,h)=>{O.vertexAttribPointer(a,b,c,!!d,e,h)},r:(a,b,c,d)=>O.viewport(a,b,c,d),cb:Ea,Wb:function(){g.hd=a=>{0!=Xb()&&(a.preventDefault(),a.returnValue=" ")};window.addEventListener("beforeunload",g.hd)},_a:function(){g.od=a=>{const b=a.clipboardData.getData("text");Tb(()=>{const c=Qb(b);Wb(c)})};window.addEventListener("paste",g.od)},Ta:function(){g.Wd=[];g.jd=b=>{b.stopPropagation();b.preventDefault()};g.kd=b=>{b.stopPropagation();b.preventDefault()};g.ld=b=>{b.stopPropagation();
b.preventDefault()};g.md=b=>{b.stopPropagation();b.preventDefault();const c=b.dataTransfer.files;g.nd=c;Yb(c.length);for(let e=0;e<c.length;e++)Tb(()=>{const h=Qb(c[e].name);Zb(e,h)});let d=0;b.shiftKey&&(d|=1);b.ctrlKey&&(d|=2);b.altKey&&(d|=4);b.metaKey&&(d|=8);$b(b.clientX,b.clientY,d)};const a=g.Cc;a.addEventListener("dragenter",g.jd,!1);a.addEventListener("dragleave",g.kd,!1);a.addEventListener("dragover",g.ld,!1);a.addEventListener("drop",g.md,!1)},Hb:function(){const a=document.getElementById("sokol-app-favicon");
a&&document.head.removeChild(a)},Pb:function(a){g.Lc&&(URL.revokeObjectURL(g.Lc[a].Ad),g.Lc[a]=null)},Sa:function(a){const b=g.nd;return 0>a||a>=b.length?0:b[a].size},Ma:function(a,b,c,d,e){const h=new FileReader;h.onload=f=>{f=f.target.result;f.byteLength>d?ac(a,0,1,b,0,c,d,e):(u.set(new Uint8Array(f),c),ac(a,1,0,b,f.byteLength,c,d,e))};h.onerror=()=>{ac(a,0,2,b,0,c,d,e)};h.readAsArrayBuffer(g.nd[a])},Ia:function(a,b){0!==b&&(document.title=b?G(b):"");a=a?G(a):"";void 0!==g.canvas&&("object"===typeof g.canvas?
$a[a]=g.canvas:console.warn("sokol_app.h: Module['canvas'] is set but is not an object"));g.Cc=H(a);g.Cc||console.warn("sokol_app.h: can't find html5_canvas_selector ",a);g.Cc.requestPointerLock||console.warn("sokol_app.h: target doesn't support requestPointerLock: ",a)},Vb:function(){window.removeEventListener("beforeunload",g.hd)},Wa:function(){window.removeEventListener("paste",g.od)},Ja:function(){const a=g.Cc;a.removeEventListener("dragenter",g.jd);a.removeEventListener("dragleave",g.kd);a.removeEventListener("dragover",
g.ld);a.removeEventListener("drop",g.md)},u:function(){g.Cc&&g.Cc.requestPointerLock&&g.Cc.requestPointerLock()},Ub:function(a,b,c){if(g.Cc){if(0===b)a="none";else if(0!=c)a=g.Lc[a].Cd;else switch(a){case 0:a="auto";break;case 1:a="default";break;case 2:a="text";break;case 3:a="crosshair";break;case 4:a="pointer";break;case 5:a="ew-resize";break;case 6:a="ns-resize";break;case 7:a="nwse-resize";break;case 8:a="nesw-resize";break;case 9:a="all-scroll";break;case 10:a="not-allowed";break;default:a=
"auto"}g.Cc.style.cursor=a}},Db:function(a,b,c){const d=document.createElement("canvas");d.width=a;d.height=b;const e=d.getContext("2d"),h=e.createImageData(a,b);h.data.set(u.subarray(c,c+a*b*4));e.putImageData(h,0,0);a=document.createElement("link");a.id="sokol-app-favicon";a.rel="shortcut icon";a.href=d.toDataURL();document.head.appendChild(a)},Za:function(){const a=(new URLSearchParams(window.location.search)).entries();for(let b=a.next();!b.done;b=a.next()){const c=b.value[0],d=b.value[1];Tb(()=>
{const e=Qb(c),h=Qb(d);dc(e,h)})}},ab:function(){return g.Dc?g.Dc.bufferSize:0},jb:function(a,b,c){g.uc=null;g.Dc=null;"undefined"!==typeof AudioContext?g.uc=new AudioContext({sampleRate:a,latencyHint:"interactive"}):(g.uc=null,console.log("sokol_audio.h: no WebAudio support"));if(g.uc){console.log("sokol_audio.h: sample rate ",g.uc.sampleRate);g.Dc=g.uc.createScriptProcessor(c,0,b);g.Dc.onaudioprocess=e=>{const h=e.outputBuffer.length,f=cc(h);if(f){const l=e.outputBuffer.numberOfChannels;for(let n=
0;n<l;n++){const q=e.outputBuffer.getChannelData(n);for(let t=0;t<h;t++)q[t]=x[(f>>2)+(l*t+n)]}}};g.Dc.connect(g.uc.destination);const d=()=>{if(g.uc){const e=g.uc.state;"suspended"!==e&&"interrupted"!==e||g.uc.resume().catch(()=>{console.warn("sokol_audio.h: webaudio resume failed")})}};g.uc.onstatechange=d;document.addEventListener("visibilitychange",()=>{"visible"===document.visibilityState&&d()});document.addEventListener("click",d,{once:!0});document.addEventListener("touchend",d,{once:!0});
document.addEventListener("keydown",d,{once:!0});return 1}return 0},bb:function(){return g.uc?g.uc.sampleRate:0},na:function(){const a=g.uc;null!==a&&(g.Dc&&g.Dc.disconnect(),a.close(),g.uc=null,g.Dc=null)},$a:function(){if(g.uc){const a=g.uc.state;return"suspended"===a||"interrupted"===a?1:0}return 0},z:function(a,b,c,d,e,h){const f=b?G(b):"";b=new Headers;0<d&&b.append("Range",`bytes=${c}-${c+d-1}`);fetch(f,{method:"GET",headers:b}).then(l=>{l.ok?l.arrayBuffer().then(n=>{n=new Uint8Array(n);n.length<=
h?(u.set(n,e),fc(a,d,n.length)):hc(a)}).catch(n=>{console.error(`sokol_fetch.h: GET ${f} failed with: `,n);ic(a)}):gc(a,l.status)}).catch(l=>{console.error(`sokol_fetch.h: GET ${f} failed with: `,l);ic(a)})},ma:function(a,b){const c=b?G(b):"";fetch(c,{method:"HEAD"}).then(d=>{d.ok?(d=d.headers.get("Content-Length"),null===d?(console.warn(`sokol_fetch.h: HEAD ${c} response has no Content-Length`),ic(a)):ec(a,Number(d))):gc(a,d.status)}).catch(d=>{console.error(`sokol_fetch.h: HEAD ${c} failed with: `,
d);ic(a)})},la:function(a,b){b=b?G(b):"";switch(a){case 0:console.error(b);break;case 1:console.error(b);break;case 2:console.warn(b);break;default:console.info(b)}}};function lc(a=[]){var b=bc;a.unshift(ea);var c=a.length,d=Pb(4*(c+1)),e=d,h;for(h of a)w[e>>2]=Qb(h),e+=4;w[e>>2]=0;try{var f=b(c,d);ma=f;Ea(f)}catch(l){Da(l)}}
function mc(a=da){function b(){g.calledRun=!0;if(!p){nc.Yb();g.onRuntimeInitialized?.();g.noInitialRun||lc(a);if(g.postRun)for("function"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var c=g.postRun.shift();ya.push(c)}xa(ya)}}if(0<z)A=mc;else{if(g.preRun)for("function"==typeof g.preRun&&(g.preRun=[g.preRun]);g.preRun.length;)Aa();xa(za);0<z?A=mc:g.setStatus?(g.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>g.setStatus(""),1);b()},1)):b()}}var nc;
(async function(){function a(c){c=nc=c.exports;Wb=g.__sapp_emsc_onpaste=c.Zb;Xb=g.__sapp_html5_get_ask_leave_site=c._b;Yb=g.__sapp_emsc_begin_drop=c.$b;Zb=g.__sapp_emsc_drop=c.ac;$b=g.__sapp_emsc_end_drop=c.bc;ac=g.__sapp_emsc_invoke_fetch_cb=c.cc;g.__sapp_emsc_set_fullscreen_flag=c.dc;bc=g._main=c.ec;cc=g.__saudio_emsc_pull=c.fc;dc=g.__sargs_add_kvp=c.gc;ec=g.__sfetch_emsc_head_response=c.hc;fc=g.__sfetch_emsc_get_response=c.ic;gc=g.__sfetch_emsc_failed_http_status=c.jc;hc=g.__sfetch_emsc_failed_buffer_too_small=
c.kc;ic=g.__sfetch_emsc_failed_other=c.lc;M=c.mc;g._fs_emsc_alloc=c.nc;g._fs_emsc_load_snapshot_callback=c.oc;jc=c.pc;Sb=c.rc;Pb=c.sc;Rb=c.tc;oa=c.Xb;cb=c.qc;na();z--;g.monitorRunDependencies?.(z);0==z&&A&&(c=A,A=null,c());return nc}z++;g.monitorRunDependencies?.(z);var b={a:kc};if(g.instantiateWasm)return new Promise(c=>{g.instantiateWasm(b,(d,e)=>{c(a(d,e))})});sa??=g.locateFile?g.locateFile("vic20.wasm",ia):ia+"vic20.wasm";return a((await va(b)).instance)})();mc();