Added more demos and support for mixed-case properties (including a new 'debugger' property in Markdown files)

This commit is contained in:
Jeff Parsons 2016-03-05 18:09:41 -08:00
commit 7ca64fcea5
162 changed files with 84341 additions and 345 deletions

View file

@ -52,12 +52,13 @@ b,!0);this.Oa=!0},xc:function(a,b){a&1?(this.Pa[a]=b,this.Pa[a+1]=b>>8):this.sd[
2]=b;this.B.aa[this.F]|=32;this.D.aa[this.H]|=96;this.T.Oa=!0}};function tb(a,b,c){a.Ta=b;a.ee=a.fe=0;c&&(c.A&&(a.A=c.A),(a.ee=c.ee)&&ac(a,bc,!1),(a.fe=c.fe)&&cc(a,bc,!1))}function cc(a,b,c){c&&a.fe||(a.dc=!a.K&&b[3]||a.Z,a.lf=!a.K&&b[4]||a.oa,a.kf=!a.K&&b[5]||a.pa);if(c||void 0===c)a.jf=b[3]||a.Z,a.qh=b[4]||a.oa,a.ka=b[5]||a.pa}function ac(a,b,c){c&&a.ee||(a.cc=b[0]||a.ha,a.cf=b[1]||a.ta,a.Rd=b[2]||a.da);if(c||void 0===c)a.Bd=b[0]||a.ha,a.df=b[1]||a.ta,a.kh=b[2]||a.da}
function Fb(a,b,c){b||(b=5==a.type?ec:6==a.type?fc:gc);ac(a,b,c);cc(a,b,c)}var gc=[],Lb=[h.prototype.ua,h.prototype.Wa,h.prototype.Ja,h.prototype.Fb,h.prototype.yc,h.prototype.lc],bc=[h.prototype.qa,h.prototype.Qa,h.prototype.Da,h.prototype.wb,h.prototype.wc,h.prototype.Vb],fc=[h.prototype.xa,h.prototype.fb,h.prototype.La,h.prototype.Jb,h.prototype.Gc,h.prototype.mc],ec=[h.prototype.ya,h.prototype.kb,h.prototype.Ma,h.prototype.Ob,h.prototype.Nc,h.prototype.rc];
if(eb)var Kb=[h.prototype.na,h.prototype.Na,h.prototype.Ca,h.prototype.vb,h.prototype.vc,h.prototype.Pb],Jb=[h.prototype.sa,h.prototype.Va,h.prototype.Fa,h.prototype.Ab,h.prototype.xc,h.prototype.kc],hc=[h.prototype.va,h.prototype.ab,h.prototype.Ka,h.prototype.Ib,h.prototype.Fc,h.prototype.jc];
function ic(a,b){Ja.call(this,"CPU",a,ic);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Zc=c;this.Y.zd=d;this.Y.Ff=Math.round(this.Y.Zc/1E4)/100;this.Y.re=this.Y.Ff*this.Y.zd;this.ja.Rb=!1;this.ja.Rh=!1;this.ja.ig=a.autoStart;this.ja.Qh=!1;c=Ma.autostart;void 0!==c&&(this.ja.ig="true"==c?!0:"false"==c?!1:null);this.ja.Bf=!1;this.Y.Hf=this.Y.te=0;this.Y.If=a.csStart;this.Y.Ke=a.csInterval;this.Y.Le=a.csStop;this.Vd=[];this.xj=this.oh.bind(this);bb(this)}Ra(ic);var jc=["power","reset"];f=ic.prototype;
f.nc=function(a,b,c,d){this.ta=a;this.oa=b;this.Ta=d;for(b=0;b<jc.length;b++)(c=this.pa[jc[b]])&&this.ta.Eb(null,jc[b],c);this.ld=lb(a,"FPU");for(b=null;b=lb(a,"Video",b);)this.Vd.push(b);this.T=lb(a,"ChipSet");bb(this)};f.reset=function(){};f.save=function(){return null};f.restore=function(){return!1};f.Tb=function(a,b){if(!b){if(a&&this.restore){kc(this);if(!this.restore(a))return!1;lc(this)}else this.reset();this.pc("No debugger detected")}mc(this);return!0};
f.Sb=function(a){return a?this.save():!0};function nc(a){(!0===a.ja.ig||null===a.ja.ig&&void 0===a.pa.run)&&a.oh()}f.Th=function(){return 0};function lc(a){void 0===a.Y.If&&(a.Y.If=0);void 0===a.Y.Ke&&(a.Y.Ke=-1);void 0===a.Y.Le&&(a.Y.Le=-1);a.ja.Bf=0<=a.Y.If&&0<a.Y.Ke;a.ja.Bf&&(a.Y.Hf=0,a.Y.te=a.Y.If-a.Gc)}f.Wd=function(){this.ta&&this.ta.md&&this.ta.md.Wd()};
function ic(a,b){Ja.call(this,"CPU",a,ic);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Zc=c;this.Y.zd=d;this.Y.Ff=Math.round(this.Y.Zc/1E4)/100;this.Y.re=this.Y.Ff*this.Y.zd;this.ja.Rb=!1;this.ja.Rh=!1;this.ja.ig=a.autoStart;this.ja.Qh=!1;c=Ma.autostart||Ma.autoStart;void 0!==c&&(this.ja.ig="true"==c?!0:"false"==c?!1:null);this.ja.Bf=!1;this.Y.Hf=this.Y.te=0;this.Y.If=a.csStart;this.Y.Ke=a.csInterval;this.Y.Le=a.csStop;this.Vd=[];this.xj=this.oh.bind(this);bb(this)}Ra(ic);
var jc=["power","reset"];f=ic.prototype;f.nc=function(a,b,c,d){this.ta=a;this.oa=b;this.Ta=d;for(b=0;b<jc.length;b++)(c=this.pa[jc[b]])&&this.ta.Eb(null,jc[b],c);this.ld=lb(a,"FPU");for(b=null;b=lb(a,"Video",b);)this.Vd.push(b);this.T=lb(a,"ChipSet");bb(this)};f.reset=function(){};f.save=function(){return null};f.restore=function(){return!1};f.Tb=function(a,b){if(!b){if(a&&this.restore){kc(this);if(!this.restore(a))return!1;lc(this)}else this.reset();this.pc("No debugger detected")}mc(this);return!0};
f.Sb=function(a){return a?this.save():!0};function nc(a){(!0===a.ja.ig||null===a.ja.ig&&void 0===a.pa.run)&&a.oh(!0)}f.Th=function(){return 0};function lc(a){void 0===a.Y.If&&(a.Y.If=0);void 0===a.Y.Ke&&(a.Y.Ke=-1);void 0===a.Y.Le&&(a.Y.Le=-1);a.ja.Bf=0<=a.Y.If&&0<a.Y.Ke;a.ja.Bf&&(a.Y.Hf=0,a.Y.te=a.Y.If-a.Gc)}f.Wd=function(){this.ta&&this.ta.md&&this.ta.md.Wd()};
function oc(a,b){for(var c=0;c<a.Vd.length;c++)pc(a.Vd[c],b);if(a.ta&&a.ta.md&&(c=a.ta.md,c.Ca)){pb(c,18,c.O,c.ya);if(c.Na){var d=c.oa,e=c.B,k,l;null==k&&(k=0);null==l&&(l=d.T-k|0);null==e&&(e={gg:0,bd:0,bg:[]});var p=k>>>d.ha;k=k+l-1>>>d.ha;e.gg=0;for(e.bd=0;p<=k;)l=d.W[p],e.gg+=l.size,l.size&&(e.bg.push(oa(ob,p,0,0,l.type)),e.bd++),p++;c.B=e;c.sa=c.B.bd*c.oa.yb/691200;d=0;c.B.Ih=0;c.B.Ee||(c.B.Ee=[]);var e=-1,p=0,q=-1;for(k=0;k<c.B.bd;k++){var v=c.B.bg[k];l=pa(ob.type,v);v=pa(ob.bj,v);if(l!=e||
v!=q+1)(q=k-p)&&(d+=rb(c,p,q,e)),e=l,p=k;q=v}d+=rb(c,p,k-p,e);e=c.B.Bj!=d;c.B.Bj=d;if(e){e=new jb(0,0,c.O.width,c.O.height);c.B.ae=[];p=c.B.bd;for(d=0;d<c.B.Ih;d++)k=c.B.Ee[d].bd,c.B.ae.push(kb(e,k,p,!d)),p-=k;for(d=0;d<c.B.ae.length;d++)e=c.B.Ee[d],p=k=c.B.ae[d],l=c.ya,(q=Xb[e.type])||(q=new ib),l.strokeStyle="black",l.strokeRect(p.x,p.y,p.Ec,p.A),l.fillStyle="string"==typeof q?q:q.toString(),l.fillRect(p.x,p.y,p.Ec,p.A),p=c,l=k,p.W=p.na,p.T=p.qa,k=l.x+(l.Ec>>1),q=l.y+(l.A>>1),v=l.A,l.Ec<l.A&&(v=
l.Ec,p.ka=!0,p.H.save(),p.H.translate(k,q),p.H.rotate(-Math.PI/2),k=q=0),v<p.T&&(p.T=v,p.W=p.T+"px Monaco, Lucida Console, Courier New"),l=q,p.F=k,p.N=l,p=c,e=Wb[e.type]+" ("+(e.bd*c.oa.yb/1024|0)+"Kb)",p.H.font=p.W,p.F-=p.H.measureText(e).width>>1,p.N+=(p.T>>1)-2,qb(p,e),p.ka&&(p.H.restore(),p.ka=!1)}}else qb(c,"This space intentionally left blank");c.context.drawImage(c.O,0,0,c.O.width,c.O.height,c.Wa,c.fb,c.Ka,c.Ma);c.Ca=!1}}f.Tc=function(){this.Vd.length&&this.Vd[0].Tc()};
l.Ec,p.ka=!0,p.H.save(),p.H.translate(k,q),p.H.rotate(-Math.PI/2),k=q=0),v<p.T&&(p.T=v,p.W=p.T+"px Monaco, Lucida Console, Courier New"),l=q,p.F=k,p.N=l,p=c,e=Wb[e.type]+" ("+(e.bd*c.oa.yb/1024|0)+"Kb)",p.H.font=p.W,p.F-=p.H.measureText(e).width>>1,p.N+=(p.T>>1)-2,qb(p,e),p.ka&&(p.H.restore(),p.ka=!1)}}else qb(c,"This space intentionally left blank");c.context.drawImage(c.O,0,0,c.O.width,c.O.height,c.Wa,c.fb,c.Ka,c.Ma);c.Ca=!1}}
f.Tc=function(){if(this.Vd.length){var a=window.scrollX,b=window.scrollY;this.Vd[0].Tc();window.scrollTo(a,b)}};
f.Eb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.pa[b]=c;a=!0;break;case "run":this.pa[b]=c;c.onclick=function(){var a;if(a=d.ta)if(a=d.ta,a.ja.Qb)a=!0;else{var b=null,c,p=Ua(a.id);for(c=0;c<p.length&&(b=p[c],b===a||b.ja.le);c++);if(c==p.length)for(c=0;c<p.length&&(b=p[c],b===a||b.ja.Qb);c++);c==p.length&&(b=a);g("The "+b.type+" component ("+b.id+") is not "+(b.ja.le?"powered yet":"ready yet"+(b.Df?" (waiting for notification)":""))+".");a=!1}a&&(d.ja.Rb?qc(d,!0):d.oh(!0))};
a=!0;break;case "speed":this.pa[b]=c;a=!0;break;case "setSpeed":this.pa[b]=c,c.onclick=function(){rc(d,d.Y.zd<<1,!0)},c.textContent=this.Y.re.toFixed(2)+"Mhz",a=!0}return a};function sc(a,b){if(a.ja.Rb){var c=a.A-b;a.A-=c;a.kc-=c}}function tc(a,b,c){a.Gc+=b;c&&(a.kc=a.A=0)}
function uc(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Y.zd&&a.Y.yd&&(d=a.Y.yd/a.Y.Ff);a.Y.Yh=Math.round(1E3/30);a.Y.Uk=Math.floor(a.Y.Zc/c*d);a.Y.vg=Math.floor(a.Y.Zc/30*d);a.Y.$h=Math.floor(a.Y.Zc/60*d);a.Y.Zh=Math.floor(a.Y.Zc/2*d);b||(a.Y.Oe=a.Y.vg,a.Y.Ne=a.Y.$h,a.Y.Me=a.Y.Zh);a.Y.wg=0}function vc(a,b){var c=a.Gc+a.yc+a.kc-a.A;b&&1<a.Y.zd&&a.Y.yd>a.Y.Ff&&(c=Math.round(c/a.Y.zd));return c}function kc(a){a.Y.yd=0;a.Gc=a.yc=a.kc=a.A=0;lc(a);rc(a,1)}
@ -82,7 +83,7 @@ r(d,d.la(p+l)));c&&d.gb(p+0,k);d.Ua|=8;return!0}f.save=function(){return[this.ra
function Ac(a,b,c,d){void 0===c&&(c=!!(a.A.Ua&1));a.wd=!1;if(c)if(a.load=a.Ef,a.Wh=a.Qk,a.gc=a.Jh,a.hc=a.Lh,void 0===d&&(d=!!(a.A.ca&131072)),d)a.load=a.T,a.gc=a.K,a.hc=a.N,a.Cb=a.uc=3,a.ba=a.Uc=2,a.C=a.wa=65535,a.cb=65535,a.D=a.cb+1,a.Uc=a.ba,a.fc=-1,a.ne=!1;else{if(!(a.ra&-4))a.gc=a.yf,a.hc=a.zf;else if(a.type&4096){6144==(a.type&6656)&&(a.gc=a.yf);if(a.type&2048||!(a.type&512))a.hc=a.zf;1024==(a.type&3072)&&(a.gc==a.Jh&&(a.gc=a.zj),a.hc==a.Lh&&(a.hc=a.Aj),a.wd=!0);b&&6>a.id&&a.ra&-4&&-1!==a.fc&&
(c=a.fc+5,d=a.A.Lb(c),d&1||a.A.Kc(c,d|1))}b&&(a.Cb=a.ra&3,a.uc=(a.rb&24576)>>13,80386>a.A.ia||!(a.ext&64)?(a.ba=2,a.C=65535):(a.ba=4,a.C=-1),a.Uc=a.ba,a.wa=a.C)}else a.load=a.Xh,a.Wh=a.Rk,a.gc=a.Kh,a.hc=a.Mh,a.Cb=a.uc=0,a.fc=-1,a.ne=!1}
function Sc(a){this.ia=a.model||8088;var b=a.stepping;this.fd=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}ic.call(this,a,b);this.sh=61442;this.ed=1792;this.rh=28672;this.nf=4;this.Ja=255;this.D=80286<=this.ia?gb:fb;this.qa=Tc;this.vh=Uc;this.wh=Vc;this.xh=Wc;if(80186<=this.ia&&(this.qa=Tc.slice(),this.vh=Uc.slice(),this.wh=Vc.slice(),this.Ja=31,this.qa[15]=Xc,this.qa[96]=Yc,this.qa[97]=Zc,this.qa[98]=$c,this.qa[99]=Xc,this.qa[100]=Xc,
this.qa[101]=Xc,this.qa[102]=Xc,this.qa[103]=Xc,this.qa[104]=ad,this.qa[105]=bd,this.qa[106]=cd,this.qa[107]=dd,this.qa[108]=ed,this.qa[109]=fd,this.qa[110]=gd,this.qa[111]=hd,this.qa[192]=id,this.qa[193]=jd,this.qa[200]=kd,this.qa[201]=ld,this.qa[241]=md,this.vh[7]=nd,this.wh[7]=nd,80286<=this.ia)){this.sh=2;this.ed|=28672;this.nf=0;this.qa[15]=od;this.Fc=pd.slice();for(a=0;a<this.Fc.length;a++)this.Fc[a]||(this.Fc[a]=qd);this.qa[84]=sd;this.qa[99]=td;if(80386<=this.ia){var c;this.rh=0;this.ed|=
this.qa[101]=Xc,this.qa[102]=Xc,this.qa[103]=Xc,this.qa[104]=ad,this.qa[105]=bd,this.qa[106]=cd,this.qa[107]=dd,this.qa[108]=ed,this.qa[109]=fd,this.qa[110]=gd,this.qa[111]=hd,this.qa[192]=id,this.qa[193]=jd,this.qa[200]=kd,this.qa[201]=ld,this.qa[241]=md,this.vh[7]=nd,this.wh[7]=nd,80286<=this.ia)){this.sh=2;this.ed|=28672;this.nf=0;this.qa[15]=od;this.Fc=pd.slice();for(a=0;a<this.Fc.length;a++)this.Fc[a]||(this.Fc[a]=qd);this.qa[84]=rd;this.qa[99]=td;if(80386<=this.ia){var c;this.rh=0;this.ed|=
196608;this.qa[100]=ud;this.qa[101]=vd;this.qa[102]=wd;this.qa[103]=xd;for(c in w)this.Fc[+c]=w[c];80546<=this.fd&&80562>=this.fd&&(this.Fc[166]=yd,this.Fc[167]=zd)}}this.qf=[];this.uh=[];this.Yf=0;kc(this);this.ja.Ie=this.ja.Hj=!1;this.zh=0;this.rc=this.W=[];this.ha=this.yb=this.ab=this.of=this.Xd=this.La=this.lc=0;Ad(this)}Ra(Sc,ic);
function Bb(a){var b;if(a.W===a.rc){a.W=Array(a.of);a.rf=new h(null,0,0,5,null,a);tb(a.rf,a.Ta);for(b=0;b<a.of;b++)a.W[b]=a.rf;a.Yd=new h;a.th=Array(512);a.sf=0}else for(var c=0;c<a.pf.length;c++){b=a.pf[c];var d=a.W[b];512>a.sf&&(a.th[a.sf++]=d);a.W[b]=a.rf}a.pf=[]}
function $b(a,b,c,d){var e=(b&-4194304)>>>20,k=a.rc[(a.Nc+e&a.La)>>>a.ha],l=k.Rd(e);if(!(l&1))return d||Bd.call(a,b,!1,c),a.Yd;if(!(l&4)&&3==a.Fa)return d||Bd.call(a,b,!0,c),a.Yd;var p=(b&4190208)>>>10,l=a.rc[((l&-4096)+p&a.La)>>>a.ha],q=l.Rd(p);if(!(q&1))return d||Bd.call(a,b,!1,c),a.Yd;if(!(q&4)&&3==a.Fa)return d||Bd.call(a,b,!0,c),a.Yd;c=a.rc[((q&-4096)+(b&4095)&a.La)>>>a.ha];if(d)return c;d=b>>>a.ha;q=a.W[d];b=b&-4096;var v;0<a.sf?(v=a.th[--a.sf],v.Nk(b)):v=new h(b,0,0,6);b=v;b.T=c;b.B=k;b.F=
@ -134,7 +135,7 @@ function mf(a,b){var c=a.A;c.Ub(b,a.J);c.Ub(b+=c.ba,a.ga|a.D<<11);c.Ub(b+=c.ba,I
function uf(){Ue(this,U(this,0),U(this,this.B))}function vf(){Ue(this,U(this,0),U(this,this.B))&&jf(this)}function wf(){vf.call(this)}function xf(){V(this,0,Te(this,U(this,0),bf(this)))}function yf(){this.F&=~(1<<this.D)}function zf(){He(this)}function Af(){this.J=this.A.ma(this.A.U)&-57409}function Bf(){lf(this,this.A.U)}function Cf(){for(var a=this.A,b=lf(this,a.U),c=this.H,d=0;d<this.N.length;d++)c[0]=a.la(b),c[1]=a.la(b+=4),c[2]=a.ma(b+=4),c&&V(this,d,ff(this,c)),b+=2}
function Df(){for(var a=this.A,b=mf(this,a.U),c=0;c<this.N.length;c++){var d=Ze(this,c,!0);a.$a(b,d[0]);a.$a(b+=4,d[1]);a.gb(b+=4,d[2]);b+=2}He(this)}function Ef(){mf(this,this.A.U);this.J|=63}function Ff(){V(this,this.B,U(this,0))&&jf(this)}function Gf(){Ff.call(this)}function Hf(){this.A.gb(this.A.U,this.J)}function If(){this.A.gb(this.A.U,this.ga|this.D<<11)}function Jf(){80287<=this.ia&&(this.A.G=this.A.G&-65536|this.ga|this.D<<11)}
function Kf(){var a=U(this,0);V(this,0,U(this,this.B));V(this,this.B,a)}function Lf(){Kf.call(this)}
var Of={216:{0:function(){V(this,0,Qe(this,U(this,0),bf(this)))},1:function(){V(this,0,Se(this,U(this,0),bf(this)))},2:function(){Ue(this,U(this,0),bf(this))},3:function(){Ue(this,U(this,0),bf(this))&&jf(this)},4:function(){V(this,0,Re(this,U(this,0),bf(this)))},5:function(){V(this,0,Re(this,bf(this),U(this,0)))},6:xf,7:xf,48:function(){V(this,0,Qe(this,U(this,0),U(this,this.B)))},49:function(){V(this,0,Se(this,U(this,0),U(this,this.B)))},50:uf,51:vf,52:function(){V(this,0,Re(this,U(this,0),U(this,
var Mf={216:{0:function(){V(this,0,Qe(this,U(this,0),bf(this)))},1:function(){V(this,0,Se(this,U(this,0),bf(this)))},2:function(){Ue(this,U(this,0),bf(this))},3:function(){Ue(this,U(this,0),bf(this))&&jf(this)},4:function(){V(this,0,Re(this,U(this,0),bf(this)))},5:function(){V(this,0,Re(this,bf(this),U(this,0)))},6:xf,7:xf,48:function(){V(this,0,Qe(this,U(this,0),U(this,this.B)))},49:function(){V(this,0,Se(this,U(this,0),U(this,this.B)))},50:uf,51:vf,52:function(){V(this,0,Re(this,U(this,0),U(this,
this.B)))},53:function(){V(this,0,Re(this,U(this,this.B),U(this,0)))},54:function(){V(this,0,Te(this,U(this,0),U(this,this.B)))},55:function(){V(this,0,Te(this,U(this,this.B),U(this,0)))}},217:{0:function(){kf(this,bf(this))},2:function(){Xe(this)&&this.lj()},3:function(){Xe(this)&&(this.lj(),jf(this))},4:Bf,5:Af,6:Ef,7:Hf,48:function(){kf(this,U(this,this.B))},49:Kf,50:function(){},51:Gf,64:function(){V(this,0,-U(this,0))},65:function(){V(this,0,Math.abs(U(this,0)))},68:function(){Ue(this,U(this,
0),0)},69:function(){this.ga&=-18177;this.ka[((this.D+0&7)<<1)+1]&-2147483648&&(this.ga|=512);if(3==We(this,this.D))this.ga|=16640;else{var a=U(this,0);this.ga=isNaN(a)?this.ga|256:0===a?this.ga|16384:Infinity===a||-Infinity===a?this.ga|1280:this.ga|1024}},80:function(){kf(this,1)},81:function(){kf(this,nf)},82:function(){kf(this,of)},83:function(){kf(this,pf)},84:function(){kf(this,qf)},85:function(){kf(this,rf)},86:function(){kf(this,0)},96:function(){V(this,0,Math.pow(2,U(this,0))-1)},97:function(){V(this,
1,U(this,1)*Math.log(U(this,0))/Math.LN2)&&jf(this)},98:function(){V(this,0,Math.tan(U(this,0)))&&kf(this,1)},99:function(){V(this,1,Math.atan2(U(this,1),U(this,0)))&&jf(this)},100:function(){var a=U(this,0);null!=a&&(this.W[0]=a,V(this,0,(this.K[1]>>20&2047)-1023),this.K[1]=(this.K[1]|1072693248)&-1073741825,kf(this,this.W[0]))},102:function(){this.D=this.D-1&7;this.ga&=-513},103:function(){this.D=this.D+1&7;this.ga&=-513},112:function(){V(this,0,U(this,0)%U(this,1))},113:function(){V(this,1,U(this,
@ -155,7 +156,7 @@ function fg(a,b){if(-1===this.U)return bg.call(this,a,b);var c=this.ba<<3;if(b>=
function hg(a,b){this.nd=this.Ia.ra;this.Zd=this.Z.ra;this.sa=this.xa;var c=u(this),d=this.ba;null!=Qc(this,a,b,!0)&&(Jc(this,this.nd,d,2),Jc(this,c,d,d));this.nd=this.Zd=this.sa=-1}function ig(a,b){ae(this,a,b,a-b|0,191,!0);this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Cg:this.D.Db;this.N|=2;return a}function jg(a,b){ae(this,a,b,a-b|0,this.Wa|63,!0);this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Cg:this.D.Db;this.N|=2;return a}
function kg(a){var b=a-1|0;ae(this,a,1,b,this.Wa|62,!0);this.A-=2;return a&~this.C|b&this.C}function lg(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}
function mg(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0<lg(a,c);){var k=b=c;b[0]+=k[0];b[1]+=k[1];4294967295<b[0]&&(b[0]>>>=0,b[1]++);e+=e}do 0<=lg(a,c)&&(b=a,k=c,b[0]-=k[0],b[1]-=k[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ya=d;this.Ma=a[0];return!0}
function ng(a){if(this.ld){var b=this.ld,c=this.yh,d=this.kd,e=d>>3&7;b.B=d&7;var k=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=k&&(k=e<<4|b.B);if(e=Of[c][k]){if(0>Pf.indexOf(e)){var k=b.A,l=k.Qd;8087==b.ia&&(k.Ba&16&&l++,k.Ba&32&&l++);b.Z=k.Ia.ra;b.O=l-k.Ia.Ea;-1!==k.U&&(b.oa=k.Pc.ra,b.S=k.U-k.Pc.Ea);b.da=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.U?2:8;return a}function og(a,b){var c=pg.call(this,this.L(),b);80386>this.ia&&(this.A-=12);return c}
function ng(a){if(this.ld){var b=this.ld,c=this.yh,d=this.kd,e=d>>3&7;b.B=d&7;var k=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=k&&(k=e<<4|b.B);if(e=Mf[c][k]){if(0>Pf.indexOf(e)){var k=b.A,l=k.Qd;8087==b.ia&&(k.Ba&16&&l++,k.Ba&32&&l++);b.Z=k.Ia.ra;b.O=l-k.Ia.Ea;-1!==k.U&&(b.oa=k.Pc.ra,b.S=k.U-k.Pc.Ea);b.da=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.U?2:8;return a}function og(a,b){var c=pg.call(this,this.L(),b);80386>this.ia&&(this.A-=12);return c}
function qg(a,b){var c;a=this.Ga();c=2==this.ba?pg.call(this,a,b):rg.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function sg(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);tg.call(this,a,b);c&&(this.ya=~this.ya+1|0,this.Ma=~this.Ma+(this.ya?0:1)|0)}function pg(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767<c||-32768>c?(ie(this),ke(this)):(je(this),le(this));this.A-=-1===this.U?9:12;return c&65535}
function rg(a,b){sg.call(this,a,b);this.Ma!=this.ya>>31?(ie(this),ke(this)):(je(this),le(this));this.A-=-1===this.U?9:12;return this.ya}function ug(a){var b=a+1|0;ae(this,a,1,b,this.Wa|62);this.A-=2;return a&~this.C|b&this.C}function vg(a,b,c){this.A-=this.D.yi+(c||0);c=Nc(this);var d=this.Ia.ra,e=u(this);a=this.Ia.Wh(a);-1!==a&&(Mc(this,c),Mc(this,d),Mc(this,e),null!=b&&Mc(this,b),this.Vb=-1,Yd(this,a))}
function wg(a,b){this.A-=14+(-1===this.U?0:2);pe(this);-1!==this.Na.load(b)&&this.Na.uc>=this.Fa&&this.Na.uc>=(b&3)&&(re(this),a=this.Na.rb&-256,2<this.ba&&(a|=(this.Na.ext&-65281)<<16));return a}function Rc(a){this.Nc=a;this.Ua&-2147483648&&Bb(this)}function xg(a,b){if(-1===this.U)return qd.call(this),a;Kc(this,this.ma(this.U+this.ba));this.A-=this.D.ue;return b}function yg(){this.A-=this.D.Gi;return this.U}
@ -173,7 +174,7 @@ function uh(a,b){if(-1===this.U){switch(this.kd&7){case 0:this.G=this.G&~this.C|
function vh(a,b){var c=a^b;he(this,c,128);this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Db:this.D.oc;return c}function wh(a,b){this.A-=-1===this.na?-1===this.U?this.D.ac:this.D.Db:this.D.oc;return he(this,a^b,this.Wa)&this.C}function xh(a){if(80186>this.ia)return yh.call(this,a);m.call(this,13,0);return a}function nd(a){m.call(this,6);return a}function yh(a){qd.call(this);return a}function zh(){8086==this.ia?(this.Vb=-1,vg.call(this,0,null,2)):m.call(this,0,null,2)}
function Ah(){this.A-=-1===this.U?2:this.D.$i;return 1}function Bh(){var a=this.F&255;this.A-=(-1===this.U?this.D.Xg:this.D.Wg)+(a<<this.D.Yg);return a}function Ch(){var a=this.X();this.A-=(-1===this.U?this.D.Xg:this.D.Wg)+(a<<this.D.Yg);return a}function Dh(){return null}function Eh(){return this.mc}function Fe(a,b){this.Vb=a;void 0===b&&(b=11);vg.call(this,a,null,b)}
function m(a,b,c,d){var e=!1;this.ja.Ie?80186<=this.ia&&(e=!0,0>this.Vb?(-1!=this.nd&&(this.Ia.Cb=3,Xd(this,this.nd),this.nd=-1),Yd(this,this.Qd),-1!=this.Zd&&(Ec(this,this.Zd),this.Zd=-1),-1!==this.sa&&(r(this,this.Ob&~this.Z.wa|this.sa-this.Z.Ea),this.sa=-1)):8!=this.Vb?(b=0,a=8):(b=0,a=-1,Ad(this),e=d=!1)):Yd(this,this.Qd);var k=a,l=b,p=ue(this,this.da);204!=p||this.xc||(d=!1);this.ca&131072&&(6==k&&99==p||13==k&&205==p)&&(d=!1);983040<=this.da&&1048575>=this.da&&(d=!1);if(d){var q=this.ja.Rb,
k="Fault 0x"+ea(k,2)+(null!=l?" (0x"+ea(l,4)+")":"")+" on opcode "+("0x"+ea(p,2));d&&q&&(k+=" (blocked by PCjs Debugger)");this.Ha(k);qc(this)}if(d&&e)throw-1;if(e)throw this.Vb=a,vg.call(this,a,b,c),this.Qd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}function Bd(a,b,c){this.od=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Fa&&(a|=4);m.call(this,14,a)}function od(){this.Fc[this.X()].call(this)}function sd(){Mc(this,t(this)&this.C);this.A-=this.D.zc}
k="Fault 0x"+ea(k,2)+(null!=l?" (0x"+ea(l,4)+")":"")+" on opcode "+("0x"+ea(p,2));d&&q&&(k+=" (blocked by PCjs Debugger)");this.Ha(k);qc(this)}if(d&&e)throw-1;if(e)throw this.Vb=a,vg.call(this,a,b,c),this.Qd=this.da,this.N=1==a?this.N|8192:this.N|4096,a;}function Bd(a,b,c){this.od=a;a=0;b&&(a|=1);c&&(a|=2);3==this.Fa&&(a|=4);m.call(this,14,a)}function od(){this.Fc[this.X()].call(this)}function rd(){Mc(this,t(this)&this.C);this.A-=this.D.zc}
function Yc(){this.sa=this.xa;var a=t(this)&this.C;Mc(this,this.G&this.C);Mc(this,this.F&this.C);Mc(this,this.I&this.C);Mc(this,this.B&this.C);Mc(this,a);Mc(this,this.K&this.C);Mc(this,this.J&this.C);Mc(this,this.H&this.C);this.A-=this.D.Ui;this.sa=-1}
function Zc(){this.sa=this.xa;this.H=this.H&~this.C|n(this);this.J=this.J&~this.C|n(this);this.K=this.K&~this.C|n(this);r(this,t(this)+this.ba);this.B=this.B&~this.C|n(this);this.I=this.I&~this.C|n(this);this.F=this.F&~this.C|n(this);this.G=this.G&~this.C|n(this);this.A-=this.D.Si;this.sa=-1}function $c(){this.ua[this.X()].call(this,Xf)}function td(){!(this.Ua&1)||this.ca&131072?m.call(this,6):this.Da[this.X()].call(this,Wf)}function ud(){this.N|=20;this.O=this.S=this.Qa;this.A-=this.D.Oc}
function vd(){this.N|=20;this.O=this.S=this.Va;this.A-=this.D.Oc}function wd(){this.N|=1024;this.Ba&1024||(this.ba^=6,this.C^=-65536,Pd(this));this.A-=this.D.Oc}function xd(){this.N|=2048;this.Ba&2048||(this.Uc^=6,this.wa^=-65536,Gd(this));this.A-=this.D.Oc}function ad(){Mc(this,this.Ga());this.A-=this.D.zc}function bd(){this.ua[this.X()].call(this,qg)}function cd(){Mc(this,this.L());this.A-=this.D.zc}function dd(){this.ua[this.X()].call(this,og)}
@ -900,8 +901,8 @@ function wk(a,b,c,d){if(d)a.Ha("Unable to load font ROM (error "+d+": "+b+")");e
function dl(a,b){if(1==b)return a.ua[0]=Bk[0],a.ua[1]=Bk[7],a.ua;if(2==b){var c=a.F.ef;if(a.F===a.B){var d=a.B.Ic[0],c=d&7;d&16&&(c|=8);18!=a.B.Ic[1]&&(c|=32)}a.ua[0]=Bk[c&15];c=c&32?Dk:Ck;for(d=0;d<c.length;d++)a.ua[d+1]=Bk[c[d]];return a.ua}if(a.S===a.Jb)return Bk;a.Va&&b&&!a.ua[16]&&(a.Va=!1);if(!a.Va){var c=a.B,d=c.we,e,k,l,p,q;if(8==b)for(k=0;256>k;k++)l=d[k]||0,p=l<<2&252,q=l>>4&252,l=l>>10&252,a.ua[k]=[p,q,l,255];else{var v=d&&d[255];e=null!=c.Ic[15]?c.Ic:Ek;for(k=0;16>k;k++)l=e[k]&63,v?(l|=
(c.Ic[20]&12)<<4,c.Ic[16]&128&&(l&=-49,l|=(c.Ic[20]&3)<<4),l=d[l],p=l<<2&252,q=l>>4&252,l=l>>10&252):(p=(l&4?170:0)|(l&32?85:0),q=(l&2?170:0)|(l&16?85:0),l=(l&1?170:0)|(l&8?85:0)),a.ua[k]=[p,q,l,255]}a.Va=!0}return a.ua}function Nj(a,b,c,d){a.Fb=b;a.kc=c;a.Qa=d}
function $k(a,b){var c=!1;if(window&&a.Fb&&(!b||a.K)){var d=0,e=a.Qa?a.Qa:8,k=dl(a);el(a,3,a.kc[0],d,e,8,a.Fb,k)&&(c=!0);d=a.Qa?0:2048;e=a.Qa?a.Qa:9;el(a,1,a.kc[1],d,e,14,a.Fb,zk,Ak)&&(c=!0);a.Qa&&el(a,a.nb,a.kc[1],0,a.Qa,14,a.Fb,k)&&(c=!0)}return c}function el(a,b,c,d,e,k,l,p,q){var v=!1;null!=c&&(fl(a,b,c,d,e,k,l,p,q)&&(v=!0),a.Xd&&fl(a,b<<1,c,d,e,k,l,p,q)&&(v=!0));return v}
function fl(a,b,c,d,e,k,l,p,q){var v=!1,B=b&1?0:1,E=a.Fa[b],C=16>p.length?p.length:16;E||(E={sc:e<<B,tc:k<<B,$d:Array(C),Dh:p.slice(0,C),De:q,cg:Array(C)});for(q=0;q<C;q++){var J=p[q],R=E.$d[q]?E.Dh[q]:[];if(J[0]!==R[0]||J[1]!==R[1]||J[2]!==R[2]){var v=E,R=q,W=B,da=c,ka=d,Ba=e,Ca=k,rd=l,Nm=[0,0,0,0],xe=document.createElement("canvas");xe.width=v.sc<<4;xe.height=v.tc<<4;for(var gj=xe.getContext("2d"),Cb=void 0,Oc=void 0,dc=void 0,ye=8>Ca||!ka?Ca:8,Mf=gj.createImageData(v.sc,v.tc),Cb=0;256>Cb;Cb++){for(dc=
0;dc<Ca;dc++)for(var Om=v.De&&R&1&&dc>=Ca-2,Pm=rd[dc<ye?da+Cb*ye+dc:ka+Cb*ye+dc-ye],Nf=0;Nf<=W;Nf++)for(Oc=0;Oc<Ba;Oc++){var hj=Oc<<W,ij=(dc<<W)+Nf,jj=Om||Pm&128>>(8<=Oc&&192<=Cb&&223>=Cb?7:Oc)?J:Nm;gl(Mf,hj,ij,jj);W&&gl(Mf,hj+1,ij,jj)}gj.putImageData(Mf,(Cb&15)*v.sc,(Cb>>4)*v.tc)}v.$d[R]="#"+ea(J[0],2)+ea(J[1],2)+ea(J[2],2);v.Dh[R]=J;v.cg[R]=xe;v=!0}}a.Fa[b]=E;return v}function hl(a){0<a.Ja||0<=a.ha?0>a.La&&(a.La=0):a.La=-1}
function fl(a,b,c,d,e,k,l,p,q){var v=!1,B=b&1?0:1,E=a.Fa[b],C=16>p.length?p.length:16;E||(E={sc:e<<B,tc:k<<B,$d:Array(C),Dh:p.slice(0,C),De:q,cg:Array(C)});for(q=0;q<C;q++){var J=p[q],R=E.$d[q]?E.Dh[q]:[];if(J[0]!==R[0]||J[1]!==R[1]||J[2]!==R[2]){var v=E,R=q,W=B,da=c,ka=d,Ba=e,Ca=k,sd=l,Nm=[0,0,0,0],xe=document.createElement("canvas");xe.width=v.sc<<4;xe.height=v.tc<<4;for(var gj=xe.getContext("2d"),Cb=void 0,Oc=void 0,dc=void 0,ye=8>Ca||!ka?Ca:8,Nf=gj.createImageData(v.sc,v.tc),Cb=0;256>Cb;Cb++){for(dc=
0;dc<Ca;dc++)for(var Om=v.De&&R&1&&dc>=Ca-2,Pm=sd[dc<ye?da+Cb*ye+dc:ka+Cb*ye+dc-ye],Of=0;Of<=W;Of++)for(Oc=0;Oc<Ba;Oc++){var hj=Oc<<W,ij=(dc<<W)+Of,jj=Om||Pm&128>>(8<=Oc&&192<=Cb&&223>=Cb?7:Oc)?J:Nm;gl(Nf,hj,ij,jj);W&&gl(Nf,hj+1,ij,jj)}gj.putImageData(Nf,(Cb&15)*v.sc,(Cb>>4)*v.tc)}v.$d[R]="#"+ea(J[0],2)+ea(J[1],2)+ea(J[2],2);v.Dh[R]=J;v.cg[R]=xe;v=!0}}a.Fa[b]=E;return v}function hl(a){0<a.Ja||0<=a.ha?0>a.La&&(a.La=0):a.La=-1}
function cl(a){if(a.K){for(var b=10;15>=b;b++)if(null==a.F.jb[b])return;var c=a.F.jb[10],b=c&31,d=a.F.jb[11]&31,e=a.F.jb[9]&31,k=!1;a.F===a.B&&(k=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!k||b>e)il(a);else{c=a.F.jb[15]+((a.F.jb[14]&63)<<8);a.ha!=c&&(il(a),a.ha=c);d=d-b+1;if(a.qd!=b||a.Nc!=d)a.qd=b,a.Nc=d;a.Ka=e+1;hl(a)}}}
function il(a){if(0<=a.ha){if(void 0!==a.W){var b=a.W[a.ha];if(b&131072){var b=b&-131073,c=a.ha%a.H,d=a.ha/a.H|0;a.K&&a.Fa[a.K]&&(a.Na&&jl(a,c,d,b,a.Na),jl(a,c,d,b));a.W[a.ha]=b}}a.ha=-1}}
function kl(a){var b,c=a.F;a.ed=!1;var d=c.Cd[5];if(null!=d){b=1024;var e=0,k=c.Cd[3]&31;switch(d&3){case 0:if(k){e=32;switch(k&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=k&7}break;case 1:e=1;break;case 2:switch(k&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.nb==Oj&&(e=3,c.Hc=k&7)}d&8&&(b=1280);c=c.ye[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.ed=!0));b|=e}return b}
@ -915,7 +916,7 @@ function jl(a,b,c,d,e){var k=d&255,l=d>>8;d=l&15;var p=a.Fa[a.K];p.De&&(d=p.De[d
e.fillRect(b,c+k,p.sc,l)):(a.Ka&&a.Ka!==a.Ca&&(k=k*a.Ca/a.Ka|0,l=l*a.Ca/a.Ka|0),a.da.fillStyle=p.$d[d],a.da.fillRect(b,c+k,a.ya,l)))}
function pc(a,b){if(a.ja.Qb){var c=!1,d=a.F;d&&(d!==a.B?d.Jc&8&&(c=!0):d.Sd&32&&(c=!0));if(c||b){if(b)nl(a);else if(void 0===a.W)return;var e=!1;!(b||++a.Dd&15)&&0<=a.La&&(a.La++,e=!0);var k=0,l=a.ld,p=a.hb,c=p,q=c+a.Hb;19<=a.Da&&(p=c=655360,q=c+65536);if(ol(a,d)&8||d.ve&&d.ve<d.ih)d.af=(d.jb[12]<<8)+d.jb[13]|0,d.ve=0;var v=d.af;a.K&&(v<<=1);c+=v;v=a.fb;5<=a.nb&&d.jb[19]&&d.jb[19]<<1!=d.jb[1]+1&&(a.ab=d.jb[19]<<(a.K?1:d.jb[20]&64?3:4),v=(a.ab*(a.O-1)+a.H)/a.Pb|0,a.Da<=tk&&(v<<=1));c+v>q&&(v=q-c,0>
v&&(v=0));q=c+v;if(d=!b&&a.xa){for(var d=a.oa,B=!0,E=c>>>d.ha;0<v&&E<d.W.length;)d.W[E].Oa&&(d.W[E].Oa=B=!1,d.W[E].Ph=!0),v-=d.yb,E++;d=B}if(d){if(!e)return;if(!a.Ja){if(0>a.ha)return;k=a.ha;l=k+1}}if(a.K){if(a.Fa[a.K]){e=0;p=a.Ja=0;d=1048575;v=a.F.Jc&32;5<=a.nb&&(v=a.F.Ic[16]&8);v&&(p=32768,d&=~p,a.La&2||(d&=-65537));for(c+=k<<1;c<q&&k<l;)v=Mb(a.oa,c),v|=65536,v&p&&(a.Ja++,v&=d),k==a.ha&&(v|=a.La&1?131072:0),a.xa&&v===a.W[k]||(jl(a,k%a.H,k/a.H|0,v,a.Na),a.W[k]=v,e++),c+=2,k++;a.xa=!0;e&&a.Na&&a.da.drawImage(a.Ma,
0,0,a.kb,a.vb,a.Fc,a.Gc,a.mc,a.rc);hl(a)}}else if(a.jc){for(var l=q,C,q=c,k=a.Ja=0,e=a.Pb,p=16==e?65536:196608,d=16==e?1:2,v=dl(a,d),E=B=0,J=a.H,R=0,W=a.O,da=0;q<l;){C=Mb(a.oa,q);if(a.xa&&C===a.W[k])B+=e;else{a.W[k]=C;C=C>>8|(C&255)<<8;var ka=p,Ba=16;B<J&&(J=B);for(var Ca=0;Ca<e;Ca++){var rd=(C&(ka>>=d))>>(Ba-=d);gl(a.Wa,B++,E,v[rd])}B>R&&(R=B);E<W&&(W=E);E>=da&&(da=E+1)}q+=2;k++;if(B>=a.H){B=0;E+=2;if(E>a.O)break;E==a.O&&(E=1,q=c+a.jc)}}a.xa=!0;J<a.H&&(a.Na.putImageData(a.Wa,0,0,J,W,R-J,da-W),a.da.drawImage(a.Ma,
0,0,a.kb,a.vb,a.Fc,a.Gc,a.mc,a.rc);hl(a)}}else if(a.jc){for(var l=q,C,q=c,k=a.Ja=0,e=a.Pb,p=16==e?65536:196608,d=16==e?1:2,v=dl(a,d),E=B=0,J=a.H,R=0,W=a.O,da=0;q<l;){C=Mb(a.oa,q);if(a.xa&&C===a.W[k])B+=e;else{a.W[k]=C;C=C>>8|(C&255)<<8;var ka=p,Ba=16;B<J&&(J=B);for(var Ca=0;Ca<e;Ca++){var sd=(C&(ka>>=d))>>(Ba-=d);gl(a.Wa,B++,E,v[sd])}B>R&&(R=B);E<W&&(W=E);E>=da&&(da=E+1)}q+=2;k++;if(B>=a.H){B=0;E+=2;if(E>a.O)break;E==a.O&&(E=1,q=c+a.jc)}}a.xa=!0;J<a.H&&(a.Na.putImageData(a.Wa,0,0,J,W,R-J,da-W),a.da.drawImage(a.Ma,
0,0,a.H,a.O,0,0,a.na,a.va))}else if(a.ed){l=p;e=a.Ja=0;p=dl(a,8);d=a.F.rd;B=v=0;E=a.H;J=0;R=a.O;W=0;da=a.F.ye[4]&8?4:1;C=a.F.Ic[19]&15;for(ka=a.ab>a.H?a.ab-a.H-C>>3:0;c<q;){k=d[c-l];Ca=4;C||(a.xa&&k===a.W[e]?(v+=Ca,Ca=0):a.W[e]=k,e++);if(Ca){v<E&&(E=v);for(Ba=0;Ba<Ca;Ba++)gl(a.Wa,v++,B,p[k&255]),k>>=8;v>J&&(J=v);B<R&&(R=B);B>=W&&(W=B+1)}c+=da;if(v>=a.H){v=0;if(++B>a.O)break;c+=ka}}C||(a.xa=!0);E<a.H&&(a.Na.putImageData(a.Wa,0,0,E,R,J-E,W-R),a.da.drawImage(a.Ma,0,0,a.H,a.O,0,0,a.na,a.va))}else{l=p;
k=a.Ja=0;e=dl(a);p=a.F.rd;v=d=0;B=a.H;E=0;J=a.O;R=0;W=a.F.Ic[19]&15;for(da=a.ab>a.H?a.ab-a.H-W>>3:0;c<q;){C=c++-l;C=p[C];Ba=8;W?d?(ka=a.H-d,Ba>ka&&(Ba=ka)):(C<<=W,Ba-=W,a.xa=!1):(a.xa&&C===a.W[k]?(d+=Ba,Ba=0):a.W[k]=C,k++);if(Ba){d<B&&(B=d);for(ka=0;ka<Ba;ka++)Ca=Gk[C&-2139062144]||0,gl(a.Wa,d++,v,e[Ca]),C<<=1;d>E&&(E=d);v<J&&(J=v);v>=R&&(R=v+1)}if(d>=a.H){d=0;if(++v>a.O)break;c+=da}}W||(a.xa=!0);B<a.H&&(a.Na.putImageData(a.Wa,0,0,B,J,E-B,R-J),a.da.drawImage(a.Ma,0,0,a.H,a.O,0,0,a.na,a.va))}}}}
function ol(a,b){var c=0,d=vc(a.A)-b.yg;0>d&&(b.yg=d,d=-d|0);d%b.ug>b.Tk&&(c|=1);d%b.xg>b.Vk&&(c|=9);b.ih=d/b.xg|0;return c}f.tk=function(){var a=this.ka,b;a.$b&&(b=a.qc);return b};f.Gl=function(a,b){var c=this.ka;c.Sf=c.qc;c.qc=b&31};f.sk=function(){return pl(this.ka)};f.Fl=function(a,b){ql(this,this.ka,b)};f.uk=function(){return this.ka.Jc};f.Hl=function(a,b){this.ka.Jc=b;bl(this,!1)};f.vk=function(){return rl(this,this.ka)};f.dj=function(a,b){this.B.Uf=this.B.Uf&-4|b&3};f.Sj=function(){return this.B.Sd};
@ -946,12 +947,12 @@ f.nc=function(a,b,c,d){this.ta=a;this.oa=b;this.A=c;this.Ta=d;for(b=null;b=lb(a,
f.Sb=function(a){return a?this.save():!0};f.reset=function(){Il(this)};f.save=function(){var a=new Vd(this),b=0,c=[];c[b++]=this.$b;c[b++]=this.J;c[b++]=this.K;c[b++]=this.N;c[b++]=this.T;c[b++]=this.O;c[b++]=this.S;c[b]=this.D;D(a,0,c);return a.data()};f.restore=function(a){return Il(this,a[0])};function Il(a,b){var c=0;void 0===b&&(b=[!1,-1,-1,0,0,!1,!1,0]);var d=b[c++];a.$b=d;a.J=b[c++];a.K=b[c++];a.N=b[c++];a.T=b[c++];a.O=b[c++];a.S=b[c++];a.D=b[c];return!0}f.Ze=function(a){this.W=a};
function Fl(a){if(!a.Z)for(var b=0;b<a.B.length;b++)Jl(a,a.B[b])&&(a.Z=!0)}function Gl(a){if(a.Z)for(var b=0;b<a.B.length;b++){var c=a.B[b];c&&(c.style.cursor="auto")}}function Jl(a,b){return b?(b.addEventListener("mousemove",function(b){Kl(a,b)},!1),b.addEventListener("mousedown",function(b){Kl(a,b,!0)},!1),b.addEventListener("mouseup",function(b){Kl(a,b,!1)},!1),b.style.cursor="none",!0):!1}
function Kl(a,b,c){if(void 0!==c){var d;!(d=!1!==a.W)&&(d=a.F.length)&&(d=a.F[0],d=d.Vd?d.Ld(!0):!1);d||(a.W=null);a.he(b.button,c)}else{if(0>a.J||0>a.K)a.J=b.clientX,a.K=b.clientY;a.W?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.J,d=b.clientY-a.K);a.J=b.clientX;a.K=b.clientY;a.pg(c,d,a.J,a.K)}}
f.he=function(a,b){if(this.$b&&this.A&&this.A.ja.Rb)switch(a){case Yk:this.O!=b&&(this.O=b,Ll(this));break;case 2:this.S!=b&&(this.S=b,Ll(this))}};f.pg=function(a,b){this.$b&&this.A&&this.A.ja.Rb&&(a||b)&&(this.N=a,this.T=b,Ll(this))};function Ll(a){Al(a.H,[64|(a.O?32:0)|(a.S?16:0)|(a.T&192)>>4|(a.N&192)>>6,a.N&63,a.T&63]);a.N=a.T=0}Fa(function(){for(var a=$a(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Xa(c),d=new Hl(d);Za(d,c)}});
f.he=function(a,b){if(this.$b&&this.A&&this.A.ja.Rb)switch(a){case Yk:if(this.O!=b){this.O=b;Ll(this);break}break;case 2:this.S!=b&&(this.S=b,Ll(this))}};f.pg=function(a,b){this.$b&&this.A&&this.A.ja.Rb&&(a||b)&&(this.N=a,this.T=b,Ll(this))};function Ll(a){Al(a.H,[64|(a.O?32:0)|(a.S?16:0)|(a.T&192)>>4|(a.N&192)>>6,a.N&63,a.T&63]);a.N=a.T=0}Fa(function(){for(var a=$a(document,"pcjs","mouse"),b=0;b<a.length;b++){var c=a[b],d=Xa(c),d=new Hl(d);Za(d,c)}});
function Ml(a,b,c){Ja.call(this,"Disk",{id:a.mf+".disk"+ea(++Nl,4)},Ml);this.controller=a;this.ta=a.ta;this.Ta=a.Ta;this.D=b;this.B=b.name;this.me=b.me;this.Cf=this.F=!1;Ol(this,c,b.ob,b.pb,b.ib,b.tb);this.K=[];this.O=[];this.H=null;this.W=0;this.S=!1;bb(this)}var Nl=0;Ra(Ml);f=Ml.prototype;f.nc=function(a,b,c,d){this.Ta=d};f.Tb=function(a,b){b||!this.Cf||this.F||(bb(this,!1),this.load(this.B,this.J,null,this.Gj,this));return!0};f.Gj=function(){bb(this,!0)};
f.Sb=function(a,b){if(this.F){var c,d=0;if(this.S&&!sa("Disk writes are still in progress, shut down anyway?"))return!1;for(;c=Pl(this,!1);)if(d=c[0]){this.controller.Ha('Unable to save "'+this.B+'" (error '+d+")");break}b&&this.F&&(c="action=close&volume="+this.J,c+="&machine="+this.controller.qe(),c+="&user="+this.controller.xd(),qa(ra()+"/api/v1/disk?"+c,null,!0),this.F=!1);!d&&a&&this.controller.Ha(this.B+" saved")}return!0};
function Ol(a,b,c,d,e,k){a.mode=b;a.ob=c;a.pb=d;a.ib=e;a.tb=k;a.A=[];if("preload"!=a.mode){b=Array(a.ob);for(c=0;c<b.length;c++){d=Array(a.pb);for(e=0;e<d.length;e++){k=Array(a.ib);for(var l=1;l<=k.length;l++)k[l-1]=Ql(null,c,e,l,a.tb,"local"==a.mode?0:null);d[e]=k}b[c]=d}a.A=b}a.T=null}
f.load=function(a,b,c,d,e){var k=b;if(this.N)return!0;this.B=a;this.J=b;this.gj=fa(b);var l=this;this.N=d;this.Z=e||this.controller;if(c){var p=new FileReader;p.onload=function(){var a=p.result,b,c=a?a.byteLength:0,d=ba[c];if(d){l.ob=d[0];l.pb=d[1];l.ib=d[2];l.tb=512;b=l.tb>>2;var e=d=0,a=new DataView(a,0,c);l.A=Array(l.ob);for(c=0;c<l.A.length;c++)for(var k=l.A[c]=Array(l.pb),R=0;R<k.length;R++)for(var W=k[R]=Array(l.ib),da=0;da<W.length;da++){for(var ka=Ql(null,c,R,da+1,l.tb,0),Ba=ka.data,Ca=0;Ca<
b;Ca++,e+=4)var rd=Ba[Ca]=a.getInt32(e,!0),d=d+rd&-1;ka.Cc=b;W[da]=ka}l.T=d;b=l}else l.Ha("Unrecognized diskette format ("+c+" bytes)");l.N&&(l.N.call(l.controller,l.D,b,l.B,l.J),l.N=null)};p.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?k=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(k=Rl(this,b),this.Cf=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):
b;Ca++,e+=4)var sd=Ba[Ca]=a.getInt32(e,!0),d=d+sd&-1;ka.Cc=b;W[da]=ka}l.T=d;b=l}else l.Ha("Unrecognized diskette format ("+c+" bytes)");l.N&&(l.N.call(l.controller,l.D,b,l.B,l.J),l.N=null)};p.readAsArrayBuffer(c);return!0}0>b.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?k=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(k=Rl(this,b),this.Cf=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):
ha(b,"/")&&(c="dir"),k=ra()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.me?"":d)+"&format=json"));return!!qa(k,null,!0,function(a,b,c){Sl(l,a,b,c)})};
function Sl(a,b,c,d){var e=null;a.pe=!1;var k=0>d&&a.ta&&!a.ta.ja.Qb;if(a.Cf)d?a.controller.Ha('Unable to connect to disk "'+a.J+'" (error '+d+": "+c+")",k):(a.F=!0,e=a);else if(d)a.controller.Ha('Unable to load disk "'+a.B+'" (error '+d+": "+b+")",k);else{Ta(a.controller.mf,b,c);try{if(0<fa(a.gj,!0).toLowerCase().indexOf("-readonly"))a.pe=!0;else{var l=c.indexOf("\n");0<l&&1024>l&&0<c.substring(0,l).indexOf("write-protected")&&(a.pe=!0)}var p;"<"==c.substr(0,1)?p=["Missing disk image: "+a.B]:p=0>
c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(p.length)if(1==p.length)g(p[0]);else{a.ob=p.length;a.pb=p[0].length;a.ib=p[0][0].length;var q=p[0][0][0];a.tb=q&&q.length||512;for(d=c=0;d<a.ob;d++)for(k=0;k<a.pb;k++)for(l=0;l<a.ib;l++)if(q=p[d][k][l]){var v=q.length;void 0===v&&(v=q.length=512);var v=v>>2,B=q.pattern;void 0===B&&(B=q.pattern=0);var E=q.data;if(void 0===E){var C=q.bytes;if(void 0!==C&&C.length){for(var J=
@ -1036,8 +1037,9 @@ function hn(a,b){if(sa("There may be a problem with your PCjs machine.\n\nTo hel
function kn(a,b,c){var d,e="none";if(a.F)return null;a.F--;var k=new Vd(a,dn),l=new Vd(a,dn,"validate"),p=ma();D(l,"timestamp",p);D(k,"timestamp",p);D(k,"version","1.20.9");D(k,"url",window?window.location.href:null);D(k,"browser",window?window.navigator.userAgent:"");a.A&&a.A.Sb&&(c&&qc(a.A),d=a.A.Sb(b,c),"object"===typeof d&&D(k,a.A.id,d),c&&(a.A.ja.Qb=!1,!1===d&&(e=null)));for(var p=Ua(a.id),q=0;q<p.length;q++){var v=p[q];v.ja.Qb&&(v.Sb&&(d=v.Sb(b,c),"object"===typeof d&&D(k,v.id,d)),c&&(v.ja.Qb=
!1,!1===d&&(e=null)))}e&&(c?(p=d=!1,b?(a.D&&ln(a,a.D,k.toString()),Xm(l)&&Xm(k)||(e=null,d=p=!0)):a.B&&(d=!0,p=3==a.B),d&&k.clear(p)):e=k.toString());c&&(a.ja.Qb=!1,b=a.pa.power)&&(b.textContent="Power");a.F=0;return e}f.reset=function(){this.oa&&this.oa.reset&&this.oa.reset();for(var a=Ua(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.oa&&c.reset&&c.reset()}};f.start=function(a,b){for(var c=Ua(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
f.stop=function(a,b){for(var c=Ua(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
f.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.pa[b]=c,c.onclick=function(){d.F||(d.ja.Qb?kn(d,!1,!0):fn(d,d.bf))},!0;case "reset":return this.pa[b]=c,c.onclick=function(){if(d.ja.Qb&&!d.F)if(d.B&&!d.N){var a=sa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kn(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.lg=!0),d.bf(bn),d.lg=!1)}else d.reset(),d.A&&nc(d.A)},!0;case "save":return this.pa[b]=c,c.onclick=
function(){var a=cn(d,!0);if(a){var b=!!(d.B&&!d.N||d.W),c=kn(d,b);b?ln(d,a,c):d.Ha("Resume disabled, machine state not saved")}},!0}return!1};function cn(a,b){var c=a.D;c||(c=va("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=mn(a,c))||a.Ha("The user ID is invalid."))):b&&a.Ha("Browser local storage is not available"));return c}
f.Eb=function(a,b,c){var d=this;switch(b){case "power":return this.pa[b]=c,c.onclick=function(){d.F||(d.ja.Qb?kn(d,!1,!0):fn(d,d.bf))},!0;case "reset":return this.pa[b]=c,c.onclick=function(){if(d.ja.Qb&&!d.F)if(d.B&&!d.N){var a=sa("Click OK to save changes to this PCjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kn(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.lg=!0),d.bf(bn),d.lg=!1)}else d.reset(),d.A&&nc(d.A)},!0;case "save":if(ha(ra(),"pcjs.org")){c.style.display=
"none";break}this.pa[b]=c;c.onclick=function(){var a=cn(d,!0);if(a){var b=!!(d.B&&!d.N||d.W),c=kn(d,b);b?ln(d,a,c):d.Ha("Resume disabled, machine state not saved")}};return!0}return!1};
function cn(a,b){var c=a.D;c||(c=va("user"),void 0!==c?!c&&b&&(c=null,window&&(c=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c&&((c=mn(a,c))||a.Ha("The user ID is invalid."))):b&&a.Ha("Browser local storage is not available"));return c}
function mn(a,b){a.D=null;var c=qa(ra()+"/api/v1/user?req=verify&user="+b),d=c[1];if(!c[0]&&d)try{c=eval("("+d+")"),c.code&&"ok"==c.code&&(wa("user",c.data),a.D=c.data)}catch(e){g(e.message+" ("+d+")")}return a.D}function en(a){var b=null;a.D&&(b=ra()+"/api/v1/user?req=load&user="+a.D+"&state="+Vm(a,dn));return b}
function ln(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Vm(a,dn);d.data=c;b=qa(ra()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Ha("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Ha(c),wa("user",""),a.D=null)}}
function lb(a,b,c){a=Ua(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}Fa(function(){for(var a=$a(document,"pcjs-machine"),b=0;b<a.length;b++)for(var c=a[b],d=Xa(c),c=$a(c,"pcjs","computer"),e=0;e<c.length;e++){var k=c[e],l=Xa(k),l=new $m(l,d,!0);Za(l,k);l.S&&fn(l,l.bf)}});za.show.push(function(){for(var a=$a(document,"pcjs","computer"),b=0;b<a.length;b++){var c=Xa(a[b]);(c=Wa("Computer",c.id))&&c.Z&&!c.ja.Qb&&c.bf(-1)}});