Merge branch 'master' into gh-pages

# Conflicts:
#	modules/pdp11/lib/cpu.js
#	versions/pdpjs/1.30.6/pdp11-dbg.js
#	versions/pdpjs/1.30.6/pdp11.js
This commit is contained in:
Jeff Parsons 2016-12-04 11:37:21 -08:00 committed by Jeff Parsons
commit 2c7bb29b45
3 changed files with 27 additions and 29 deletions

View file

@ -298,9 +298,7 @@ CPUPDP11.prototype.powerUp = function(data, fRepower)
*/
this.println("No debugger detected");
}
if (this.flags.autoStart) {
this.println("CPU will auto-start");
} else {
if (!this.flags.autoStart) {
this.println("CPU will not be auto-started, click Run to start");
}
}

View file

@ -113,7 +113,7 @@ b)+")",!0)}};function Cc(a,b,c){a.j=b;a.B=a.g=0;c&&((a.B=c.B)&&Ad(a,zd,!1),(a.g=
var Dd=[],xd=[M.prototype.ca,M.prototype.Pa,M.prototype.va,M.prototype.ab],zd=[M.prototype.jb,M.prototype.Aa,M.prototype.ma,M.prototype.Wa];if(Db)var wd=[M.prototype.Y,M.prototype.wa,M.prototype.da,M.prototype.Sa],vd=[M.prototype.kb,M.prototype.Ga,M.prototype.na,M.prototype.Xa];
function Ed(a,b){y.call(this,"CPU",a,Ed,1);b=a.cycles||b;var c=a.multiplier||1;this.Vb=0;this.ub=b;this.ob=c;this.kc=Math.round(this.ub/1E4)/100;this.Ab=this.kc*this.ob;this.C.U=!1;this.C.gc=!1;this.C.bb=a.autoStart;this.C.Jb=!1;this.Wb=this.Ga=0;this.Xb=a.csStart;this.Nb=a.csInterval;this.Ob=a.csStop;this.N=[];this.Ic=this.Fe.bind(this);L(this)}D(Ed);var Fd=["power","reset"];k=Ed.prototype;
k.Ha=function(a,b,c,d){this.B=a;this.w=b;this.j=d;this.v=a.v;for(a=0;a<Fd.length;a++)(b=this.D[Fd[a]])&&this.B.ya(null,Fd[a],b);L(this)};k.yc=function(){};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
k.La=function(a,b){var c=Gd(this.B,"autoStart");null!=c?this.C.bb="true"==c?!0:"false"==c?!1:!!c:null==this.C.bb&&(this.C.bb=!this.j&&void 0===this.D.run);if(!b){this.yc();if(a&&this.restore){Hd(this);if(!this.restore(a))return!1;Id(this)}else this.reset();this.j?(a=this.j,b=this.C.bb,a.Xa=!0,a.i("Type ? for help with PDPjs Debugger commands"),Jd(a),b||a.qb(),a.Sa&&(b=a.Sa,a.Sa=null,Kd(a,b))):this.i("No debugger detected");this.C.bb?this.i("CPU will auto-start"):this.i("CPU will not be auto-started, click Run to start")}return!0};
k.La=function(a,b){var c=Gd(this.B,"autoStart");null!=c?this.C.bb="true"==c?!0:"false"==c?!1:!!c:null==this.C.bb&&(this.C.bb=!this.j&&void 0===this.D.run);if(!b){this.yc();if(a&&this.restore){Hd(this);if(!this.restore(a))return!1;Id(this)}else this.reset();this.j?(a=this.j,b=this.C.bb,a.Xa=!0,a.i("Type ? for help with PDPjs Debugger commands"),Jd(a),b||a.qb(),a.Sa&&(b=a.Sa,a.Sa=null,Kd(a,b))):this.i("No debugger detected");this.C.bb||this.i("CPU will not be auto-started, click Run to start")}return!0};
k.Ka=function(a){return a?this.save():!0};k.bb=function(){return this.C.U?!0:this.C.bb?(this.ib(),!0):!1};k.Nc=function(){return 0};function Id(a){void 0===a.Xb&&(a.Xb=0);void 0===a.Nb&&(a.Nb=-1);void 0===a.Ob&&(a.Ob=-1);a.C.Jb=0<=a.Xb&&0<a.Nb;a.C.Jb&&(a.Wb=0,a.Ga=a.Xb-a.na)}function Yb(a,b){if(a.C.Jb){var c=!1;a.Wb=a.Wb+a.Nc()|0;a.Ga-=b;0>=a.Ga&&(a.Ga+=a.Nb,c=!0);0<=a.Ob&&a.Ob<=Ld(a)&&(a.Nb=a.Ob=-1,Id(a),a.aa(),c=!0);c&&a.i(Ld(a)+" cycles: checksum="+q(a.Wb))}}
k.ya=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.D[b]=c,!0;case "run":return this.D[b]=c,c.onclick=function(){var a;if(a=d.B)if(a=d.B,a.C.la)a=!0;else{var b=null,c,h=qb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.C.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.C.la);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.C.ready?"powered yet":"ready yet"+(b.cc?" (waiting for notification)":""))+".");a=!1}a&&(d.C.U?d.aa():d.ib())},
!0;case "speed":return this.D[b]=c,!0;case "setSpeed":return this.D[b]=c,c.onclick=function(){Md(d,d.ob<<1,!0)},c.textContent=this.Ab.toFixed(2)+"Mhz",!0}return!1};k.za=function(a){this.B&&this.B.za(a)};function Xb(a,b,c){a.na+=b;c&&(a.ma=a.b=a.K=0)}function Nd(a,b){var c=1;b&&1<a.ob&&a.Aa&&(c=a.Aa/a.kc);a.Gc=Math.round(1E3/30);a.vb=Math.floor(a.ub/30*c);b||(a.Pa=a.vb);a.lc=0}function Ld(a){return a.na+a.Y+a.ma-a.b}function Hd(a){a.Aa=0;a.Hc=0;a.na=a.Y=a.ma=a.b=a.K=0;Id(a);Md(a,1)}

View file

@ -56,8 +56,8 @@ function B(a,b){b||(b=z);a.prototype=Ra(b.prototype);a.prototype.constructor=a;a
function Ua(a){if(void 0!==a){var b;for(b=0;b<A.length;b++)if(A[b].id===a)return A[b]}return null}function Va(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<A.length;d++)if(c)c==A[d]&&(c=null);else if(!(a!=A[d].type||b&&A[d].id.indexOf(b)))return A[d]}return null}function D(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function E(a,b){b=F(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=D(f))&&g.binding&&a.ba(g.type,g.binding,f,g.value),l=k.length}}}}
function F(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ba:function(a,b,c){switch(b){case "clear":return this.j[b]||(this.j[b]=c,c.onclick=function(a){return function(){a.j.print&&(a.j.print.value="")}}(this)),!0;case "print":return this.j[b]||(this.kb=this.j[b]=c,c.value="",this.U=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.B=function(a){this.U(a,this.Aa)}),!0;default:return!1}},log:function(){},U:function(){},status:function(a){this.U(this.Aa+": "+a)},B:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},ka:function(){return this.m.R=!0},ja:function(a,b){b&&(this.m.R=!1);return!0}};function Wa(a,b){a.m.Ib?(a.m.Ja=!1,a.m.Ib=!1):a.m.error?a.U(a.toString()+" error"):a.m.Ja=b}function G(a,b){a.m.error||(a.m.ready=!1!==b,a.m.ready&&(b=a.yb,a.yb=null,b&&b()))}
z.prototype={constructor:z,parent:null,toString:function(){return this.name?this.name:this.id||this.type},ba:function(a,b,c){switch(b){case "clear":return this.j[b]||(this.j[b]=c,c.onclick=function(a){return function(){a.j.print&&(a.j.print.value="")}}(this)),!0;case "print":return this.j[b]||(this.kb=this.j[b]=c,c.value="",this.V=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
this.B=function(a){this.V(a,this.Aa)}),!0;default:return!1}},log:function(){},V:function(){},status:function(a){this.V(this.Aa+": "+a)},B:function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)},ka:function(){return this.m.R=!0},ja:function(a,b){b&&(this.m.R=!1);return!0}};function Wa(a,b){a.m.Ib?(a.m.Ja=!1,a.m.Ib=!1):a.m.error?a.V(a.toString()+" error"):a.m.Ja=b}function G(a,b){a.m.error||(a.m.ready=!1!==b,a.m.ready&&(b=a.yb,a.yb=null,b&&b()))}
function Xa(a,b){b&&(a.m.ready?b():a.yb=b);return a.m.ready}function Ya(a,b){a.m.error=!0;a.B(b)}Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Za="undefined"!==typeof ArrayBuffer,$a={48:"DL11R",52:"DL11X",56:"PC11R",60:"PC11X",64:"KW11",112:"RL11",144:"RK11"};
function ab(a){z.call(this,"Panel",a,ab,512);this.la=this.i=this.c=this.o=this.s=this.u=0;this.A=this.C=this.v=!1;this.G=bb;this.f={};this.b={START:[1,1,!0,!1,this.Vc],STEP:[1,1,!1,!1,this.Wc],ENABLE:[1,1,!1,!1,this.Rc],CONT:[1,1,!0,!1,this.Pc],DEP:[0,0,!0,!1,this.Qc],EXAM:[1,1,!0,!1,this.Sc],LOAD:[1,1,!0,!1,this.Uc],TEST:[0,0,!0,!1,this.Tc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Xc,a]}B(ab);var bb=7;function cb(a,b){return a.b[b]&&a.b[b][1]}h=ab.prototype;h.reset=function(){this.stop()};
@ -98,36 +98,36 @@ function I(a,b,c,d,e,f){this.h=a;this.id=kc+=2;this.a=null;this.Ia=b;this.nb=c;t
2);for(f=0;f<a.length;f++)a[f]=0;nc(this,rc)}else nc(this)}var lc=0,Ub=1,mc=2,Jb=4,Nb=["NONE","RAM","ROM","VID","H/W"],kc=0;
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Za)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.c.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Za)for(b=0;b<a.length;b++)this.c.setInt32(b<<2,a[b],!0);else this.a=a;return this.wa=!0}return!1},u:function(a,b){J(this.h,b,32);return 255},f:function(a,b,c){J(this.h,c,32)},v:function(a,b){return this.Nb(a++,b++)|
this.Nb(a,b)<<8},A:function(a,b,c){this.Bb(a++,b&255,c++);this.Bb(a,b>>8,c)},L:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ga:function(a,b){a&1&&J(this.h,b,64);b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},ma:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.wa=!0},Ca:function(a,b,c){a&1&&J(this.h,c,64);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|
b>>8);this.wa=!0},G:function(a,b){return this.I(a,b)},V:function(a,b){return this.kc(a,b)},Ba:function(a,b,c){this.l?this.f(a,b,c):this.Ub(a,b,c)},ua:function(a,b,c){this.l?this.f(a,b,c):this.oc(a,b,c)},C:function(a){return this.j[a]},J:function(a){return this.j[a]},S:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},fa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},Aa:function(a,b){this.j[a]=b;this.wa=!0},sa:function(a,b){this.j[a]=b;this.wa=!0},na:function(a,b,c){a&1&&J(this.h,
b>>8);this.wa=!0},G:function(a,b){return this.I(a,b)},U:function(a,b){return this.kc(a,b)},Ba:function(a,b,c){this.l?this.f(a,b,c):this.Ub(a,b,c)},ua:function(a,b,c){this.l?this.f(a,b,c):this.oc(a,b,c)},C:function(a){return this.j[a]},J:function(a){return this.j[a]},S:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},fa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},Aa:function(a,b){this.j[a]=b;this.wa=!0},sa:function(a,b){this.j[a]=b;this.wa=!0},na:function(a,b,c){a&1&&J(this.h,
c,64);this.c.setUint16(a,b,!0);this.wa=!0},va:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.wa=!0}};function Hb(a,b,c){a.F=b;a.i=a.o=0;c&&((a.i=c.i)&&sc(a,tc,!1),(a.o=c.o)&&uc(a,tc,!1))}function uc(a,b,c){c&&a.o||(a.Bb=!a.l&&b[1]||a.f,a.Cb=!a.l&&b[3]||a.A);if(c||void 0===c)a.Ub=b[1]||a.f,a.oc=b[3]||a.A}function sc(a,b,c){c&&a.i||(a.Nb=b[0]||a.u,a.aa=b[2]||a.v);if(c||void 0===c)a.I=b[0]||a.u,a.kc=b[2]||a.v}function nc(a,b){b||(b=vc);sc(a,b,void 0);uc(a,b,void 0)}
var vc=[],rc=[I.prototype.L,I.prototype.ma,I.prototype.ga,I.prototype.Ca],tc=[I.prototype.G,I.prototype.Ba,I.prototype.V,I.prototype.ua];if(Za)var pc=[I.prototype.C,I.prototype.Aa,I.prototype.S,I.prototype.na],oc=[I.prototype.J,I.prototype.sa,I.prototype.fa,I.prototype.va];
var vc=[],rc=[I.prototype.L,I.prototype.ma,I.prototype.ga,I.prototype.Ca],tc=[I.prototype.G,I.prototype.Ba,I.prototype.U,I.prototype.ua];if(Za)var pc=[I.prototype.C,I.prototype.Aa,I.prototype.S,I.prototype.na],oc=[I.prototype.J,I.prototype.sa,I.prototype.fa,I.prototype.va];
function wc(a,b){z.call(this,"CPU",a,wc,1);b=a.cycles||b;var c=a.multiplier||1;this.Eb=0;this.rb=b;this.na=c;this.Jb=Math.round(this.rb/1E4)/100;this.Oa=this.Jb*this.na;this.m.O=!1;this.m.Rb=!1;this.m.Ea=a.autoStart;this.m.wb=!1;this.pb=this.Ra=0;this.qb=a.csStart;this.gb=a.csInterval;this.hb=a.csStop;this.L=[];this.ic=this.Xd.bind(this);G(this)}B(wc);var xc=["power","reset"];h=wc.prototype;
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.F=d;this.u=a.u;for(a=0;a<xc.length;a++)(b=this.j[xc[a]])&&this.l.ba(null,xc[a],b);G(this)};h.Wb=function(){};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};
h.ka=function(a,b){var c=yc(this.l,"autoStart");null!=c?this.m.Ea="true"==c?!0:"false"==c?!1:!!c:null==this.m.Ea&&(this.m.Ea=void 0===this.j.run);if(!b){this.Wb();if(a&&this.restore){zc(this);if(!this.restore(a))return!1;Ac(this)}else this.reset();this.U("No debugger detected");this.m.Ea?this.U("CPU will auto-start"):this.U("CPU will not be auto-started, click Run to start")}return!0};h.ja=function(a){return a?this.save():!0};h.Ea=function(){return this.m.O?!0:this.m.Ea?(pb(this),!0):!1};h.dc=function(){return 0};
function Ac(a){void 0===a.qb&&(a.qb=0);void 0===a.gb&&(a.gb=-1);void 0===a.hb&&(a.hb=-1);a.m.wb=0<=a.qb&&0<a.gb;a.m.wb&&(a.pb=0,a.Ra=a.qb-a.ua)}function sb(a,b){if(a.m.wb){var c=!1;a.pb=a.pb+a.dc()|0;a.Ra-=b;0>=a.Ra&&(a.Ra+=a.gb,c=!0);0<=a.hb&&a.hb<=Bc(a)&&(a.gb=a.hb=-1,Ac(a),H(a),c=!0);c&&a.U(Bc(a)+" cycles: checksum="+r(a.pb))}}
h.ka=function(a,b){var c=yc(this.l,"autoStart");null!=c?this.m.Ea="true"==c?!0:"false"==c?!1:!!c:null==this.m.Ea&&(this.m.Ea=void 0===this.j.run);if(!b){this.Wb();if(a&&this.restore){zc(this);if(!this.restore(a))return!1;Ac(this)}else this.reset();this.V("No debugger detected");this.m.Ea||this.V("CPU will not be auto-started, click Run to start")}return!0};h.ja=function(a){return a?this.save():!0};h.Ea=function(){return this.m.O?!0:this.m.Ea?(pb(this),!0):!1};h.dc=function(){return 0};
function Ac(a){void 0===a.qb&&(a.qb=0);void 0===a.gb&&(a.gb=-1);void 0===a.hb&&(a.hb=-1);a.m.wb=0<=a.qb&&0<a.gb;a.m.wb&&(a.pb=0,a.Ra=a.qb-a.ua)}function sb(a,b){if(a.m.wb){var c=!1;a.pb=a.pb+a.dc()|0;a.Ra-=b;0>=a.Ra&&(a.Ra+=a.gb,c=!0);0<=a.hb&&a.hb<=Bc(a)&&(a.gb=a.hb=-1,Ac(a),H(a),c=!0);c&&a.V(Bc(a)+" cycles: checksum="+r(a.pb))}}
h.ba=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.j[b]=c,!0;case "run":return this.j[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.m.R)a=!0;else{var b=null,c,k=C(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.m.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.m.R);c++);c==k.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.m.ready?"powered yet":"ready yet"+(b.yb?" (waiting for notification)":""))+".");a=!1}a&&(d.m.O?H(d):pb(d))},!0;case "speed":return this.j[b]=
c,!0;case "setSpeed":return this.j[b]=c,c.onclick=function(){Cc(d,d.na<<1,!0)},c.textContent=this.Oa.toFixed(2)+"Mhz",!0}return!1};h.za=function(a){this.l&&this.l.za(a)};function rb(a,b,c){a.ua+=b;c&&(a.ma=a.a=a.J=0)}function Dc(a,b){var c=1;b&&1<a.na&&a.Na&&(c=a.Na/a.Jb);a.fc=Math.round(1E3/30);a.sb=Math.floor(a.rb/30*c);b||(a.ib=a.sb);a.Kb=0}function Bc(a){return a.ua+a.ga+a.ma-a.a}function zc(a){a.Na=0;a.hc=0;a.ua=a.ga=a.ma=a.a=a.J=0;Ac(a);Cc(a,1)}
function Cc(a,b,c){if(void 0!==b){.8>a.Na/a.Oa&&(b=1);a.na=b;b=a.Jb*a.na;if(a.Oa!=b){a.Oa=b;b=a.Oa.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.U("target speed: "+b)}c&&a.l&&Ec(a.l)}rb(a,a.ga);a.ga=0;a.fa=qa();a.sa=0;Dc(a)}function Xb(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&b<a.L.length&&(d||0>a.L[b][0])&&(c=a.rb*a.na/1E3*c|0,a.m.O&&(c+=Fc(a)),a.L[b][0]=c)}
function Cc(a,b,c){if(void 0!==b){.8>a.Na/a.Oa&&(b=1);a.na=b;b=a.Jb*a.na;if(a.Oa!=b){a.Oa=b;b=a.Oa.toFixed(2)+"Mhz";var d=a.j.setSpeed;d&&(d.textContent=b);a.V("target speed: "+b)}c&&a.l&&Ec(a.l)}rb(a,a.ga);a.ga=0;a.fa=qa();a.sa=0;Dc(a)}function Xb(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function Yb(a,b,c,d){0<=b&&b<a.L.length&&(d||0>a.L[b][0])&&(c=a.rb*a.na/1E3*c|0,a.m.O&&(c+=Fc(a)),a.L[b][0]=c)}
function qb(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Fc(a,b){var c=a.ma-=a.a;a.a=a.J=0;b&&(a.ma=0);return c}
h.Xd=function(){if(this.m.O){this.Kb>=this.rb&&Dc(this,!0);this.jb=0;this.ob=qa();if(this.sa){var a=this.ob-this.sa;a>this.fc&&(this.fa+=a,this.fa>this.ob&&(this.fa=this.ob))}try{do{for(var b,c=this.m.wb?1:this.sb,d=this.L.length-1;0<=d;d--){var e=this.L[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.Ab(b)}catch(f){if("number"!=typeof f)throw f;}b=Fc(this,!0);this.jb+=b;this.ga+=b;sb(this,b);qb(this,b);this.ib-=b;if(0>=this.ib){this.ib+=this.sb;15<=++this.hc&&(this.za(),this.hc=0);break}}while(this.m.O)}catch(f){H(this);
this.l&&this.l.stop(qa(),Bc(this));Ya(this,f.stack||f.message);return}if(this.m.O){a=setTimeout;b=this.ic;this.sa=qa();c=this.fc;this.jb&&(c=Math.round(c*this.jb/this.sb));c-=this.sa-this.ob;if(d=this.sa-this.fa)this.Na=Math.round(this.ga/(10*d))/100,864E5<=d&&(this.ua=0,Cc(this));if(0>c||this.Na<this.Oa)-1E3>c&&(this.fa-=c),c=0;this.Kb+=this.jb;this.sa+=c;a(b,c)}}};
function pb(a){var b;a.m.error?(a.U(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.m.O)a.U(a.toString()+" busy");else{Cc(a);a.m.O=!0;a.m.Rb=!0;if(b=a.j.run)b.textContent="Halt";a.l&&a.l.start(a.fa,Bc(a));a.F||a.status("Started");setTimeout(a.ic,0)}}h.Ab=function(){return 0};function H(a){var b=!1;if(a.m.O){Fc(a);rb(a,a.ga);a.ga=0;a.m.O=!1;if(b=a.j.run)b.textContent="Run";a.l&&a.l.stop(qa(),Bc(a));b=!0;a.F||a.status("Stopped")}a.m.complete=void 0;return b}
function pb(a){var b;a.m.error?(a.V(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.m.O)a.V(a.toString()+" busy");else{Cc(a);a.m.O=!0;a.m.Rb=!0;if(b=a.j.run)b.textContent="Halt";a.l&&a.l.start(a.fa,Bc(a));a.F||a.status("Started");setTimeout(a.ic,0)}}h.Ab=function(){return 0};function H(a){var b=!1;if(a.m.O){Fc(a);rb(a,a.ga);a.ga=0;a.m.O=!1;if(b=a.j.run)b.textContent="Run";a.l&&a.l.stop(qa(),Bc(a));b=!0;a.F||a.status("Stopped")}a.m.complete=void 0;return b}
function Gc(a){this.Wa=+a.model||1170;this.bc=a.addrReset||0;wc.call(this,a,6666667);this.tb=0;this.ec=255;1120==this.Wa?(this.decode=Hc.bind(this),this.Ca=this.Fc,this.tb=8,this.ec=-1):(this.decode=Ic.bind(this),this.Ca=this.Gc);Jc(this);this.Sa=0;this.I=null;this.Db=[];this.m.complete=!1}B(Gc,wc);h=Gc.prototype;h.Wb=function(){for(var a=192,b=0;b<this.Db.length;b++){var c=this.Db[b];0>c.Tb&&(c.Tb=a,a+=4)}};
h.reset=function(){this.status("Model "+this.Wa);this.m.O&&H(this);Jc(this);zc(this);this.m.error=!1;this.parent.reset.call(this)};
function Jc(a){a.o=65536;a.f=32768;a.i=65535;a.s=32768;a.D=15;a.g=[0,0,0,0,0,0,0,a.bc,-1,-2,-3,-4,-5,-6,-7,-8];a.Ga=[0,0,0,0,0,0];a.qa=[0,0,0,0];a.v=0;a.Nc=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Z=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0]];a.ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Pb=[0,0,0,0,0,0,0,0];a.Ob=0;a.w=0;a.C=a.G=0;a.c=a.b=a.Hb=0;a.va=-1;ob(a)}function ob(a){a.Y=0;a.ub=0;a.vb=0;a.ya=0;a.X=0;a.mb=0;a.$a=255;a.Pa=0;a.eb=0;a.fb=0;a.Qa=262143;a.Ta=0;a.A=0;a.I=null;a.h&&(dc(a),a.Lc=Tb(a.h))}function dc(a){a.Pa?(a.V=65536,a.Fb=a.ya&16?4186112:253952,a.S=a.Jc,a.aa=a.Td,a.Cb=a.Re,Lb(a.h,a.ya&16?22:18)):(a.V=0,a.Fb=57344,a.S=a.Ic,a.aa=a.lc,a.Cb=a.pc,Lb(a.h,16))}
0,0,0,0,0]];a.ab=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];a.Pb=[0,0,0,0,0,0,0,0];a.Ob=0;a.w=0;a.C=a.G=0;a.c=a.b=a.Hb=0;a.va=-1;ob(a)}function ob(a){a.Y=0;a.ub=0;a.vb=0;a.ya=0;a.X=0;a.mb=0;a.$a=255;a.Pa=0;a.eb=0;a.fb=0;a.Qa=262143;a.Ta=0;a.A=0;a.I=null;a.h&&(dc(a),a.Lc=Tb(a.h))}function dc(a){a.Pa?(a.U=65536,a.Fb=a.ya&16?4186112:253952,a.S=a.Jc,a.aa=a.Td,a.Cb=a.Re,Lb(a.h,a.ya&16?22:18)):(a.U=0,a.Fb=57344,a.S=a.Ic,a.aa=a.lc,a.Cb=a.pc,Lb(a.h,16))}
function cc(a,b){b&=-3073;if(a.Y!=b){b&57344&&!(a.Y&57344)&&(a.ub=a.A>>16&65535,a.vb=a.A&65535);a.Y=b;a.eb=(b&96)>>5;a.fb=(b&30)>>1;var c=0;b&257&&(c=4,b&1&&(c|=2));a.Pa!=c&&(a.Pa=c,dc(a))}}function Kc(a,b,c){a.bc=b;a.h.reset();ob(a);Q(a,b);fc(a,0);if(c){for(b=2;5>=b;b++)a.g[b]=0;a.m.O||pb(a)}else a.F?H(a)||a.F.h():!1===c&&H(a);!a.m.O&&a.u&&a.u.stop()}h.dc=function(){return 0};
h.save=function(){var a=new R(this);a.set(0,[this.g,this.Ga,this.qa,this.ab,this.Pb,this.X,this.Ob,this.mb,this.$a,ec(this),this.va,this.v,this.w,this.Y,this.ub,this.vb,this.ya,this.eb,this.fb,this.H,this.Z,this.Pa,this.Qa,this.Ta,this.A]);a.set(1,[this.ua,this.na]);a.set(2,Sb(this.h));return a.data()};
h.restore=function(a){var b=a[1];this.ua=b[1];Cc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.J){for(var f=0,g=Array(b.J),k=0;k<e.length-1;)for(var l=e[k++],m=e[k++];l--;)g[f++]=m;e=g}f=b.h[d];if(!f||!f.restore(e)){x("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function S(a){return a.o&65536?1:0}function Lc(a){return a.s&32768?8:0}function Mc(a){var b=a.g[7];a.A=b;var c=a.aa(b);a.g[7]=b+2&65535;return c}
function Nc(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function Q(a,b){a.g[7]=b&65535}function $b(a,b,c,d){c={Tb:b,Xa:c,message:d||0,next:null};c.name=$a[b];a.Db.push(c);return c}function bc(a,b){var c=a.I;if(c==b)a.I=b.next;else for(;c;){var d=c.next;if(d==b){c.next=d.next;break}c=d}a.I&&(a.w|=1)}function M(a,b){if(b!=a.I){var c=a.I;if(!c||c.Xa<=b.Xa)b.next=c,a.I=b;else{do{var d=c.next;if(!d||d.Xa<=b.Xa){b.next=d;c.next=b;break}c=d}while(c)}}a.w|=1}
function Oc(a){return a.w&64?(K(a,168,64,-6),!0):a.w&32?(K(a,4,32,-5),!0):a.w&16?(K(a,12,16,-7),!0):!1}function ec(a){return a.D=a.D&63728|Lc(a)|(a.i&65535?0:4)|(a.f&32768?2:0)|S(a)}function fc(a,b){a.s=b<<12;a.i=~b&4;a.f=b<<14;a.o=b<<16;if((b^a.D)&2048)for(var c=a.Ga.length;0<=--c;){var d=a.g[c];a.g[c]=a.Ga[c];a.Ga[c]=d}a.v=b>>14&3;c=a.D>>14&3;a.v!=c&&(a.qa[c]=a.g[6],a.g[6]=a.qa[a.v]);a.D=b;a.w&=-3;a.w|=a.I?2:1}h.ca=function(a){this.s=this.i=a;this.f=0};
h.Ha=function(a,b){this.s=this.i=this.o=a;this.f=b||0};function Pc(a,b){a.s=a.i=a.o=b;a.f=a.s^a.o>>1}function Qc(a,b,c,d){a.s=a.i=a.o=b;a.f=(c^d)&(d^b)}function K(a,b,c,d){if(!a.Sa){0>a.va?a.va=ec(a):a.v||(d=-4);-4==d&&(a.w&256&&(d=-1),a.w|=256,a.X|=4,a.g[6]=b=4);if(-1!=d){a.A=b|4143316992;a.v=0;var e=a.aa(b|a.V),f=a.aa(b+2&65535|a.V);fc(a,f&-12289|a.va>>2&12288);Rc(a,a.va);Rc(a,a.g[7]);Q(a,e)}a.a-=5;a.w&=~(c|19);a.w|=129;a.va=-1;-1==d&&H(a);if(-4<=d)throw b;}}
h.Ha=function(a,b){this.s=this.i=this.o=a;this.f=b||0};function Pc(a,b){a.s=a.i=a.o=b;a.f=a.s^a.o>>1}function Qc(a,b,c,d){a.s=a.i=a.o=b;a.f=(c^d)&(d^b)}function K(a,b,c,d){if(!a.Sa){0>a.va?a.va=ec(a):a.v||(d=-4);-4==d&&(a.w&256&&(d=-1),a.w|=256,a.X|=4,a.g[6]=b=4);if(-1!=d){a.A=b|4143316992;a.v=0;var e=a.aa(b|a.U),f=a.aa(b+2&65535|a.U);fc(a,f&-12289|a.va>>2&12288);Rc(a,a.va);Rc(a,a.g[7]);Q(a,e)}a.a-=5;a.w&=~(c|19);a.w|=129;a.va=-1;-1==d&&H(a);if(-4<=d)throw b;}}
function Sc(a){var b=Tc(a),c=Tc(a)&-1793;a.D&49152&&(c=c&-225|a.D&63712);Q(a,b);fc(a,c);a.w&=-17}function Uc(a,b){var c=b>>13&31;31>c&&(b=a.ya&32?a.ab[c]+(b&8190)&4194302:b&-3932161);return b}
function wb(a,b,c){var d,e,f;if(!(c&a.Pa))return f=b&65535,57344<=f&&(f|=a.Fb),f;d=b>>13;a.ya&a.Nc[a.v]||(d&=7);e=a.H[a.v][d];f=(a.Z[a.v][d]<<6)+(b&8191)&a.Qa;3932160<=f&&(f=Uc(a,f));if(a.Sa)return f;f>=a.Lc&&f<a.Fb?(a.X|=32,K(a,4,0,f)):f&1&&!(c&1)&&(a.X|=64,K(a,4,0,f));var g=0;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!=(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&
(g|=16384));a.H[a.v][d]=e;if(f!=(4194170&a.Qa)||a.v)a.eb=a.v,a.fb=d;g&&(g&57344&&(0<=a.va&&(g|=128),a.Y&57344||(g|=a.Y&4096|a.eb<<5|a.fb<<1,cc(a,a.Y&-61695|g&61694)),K(a,168,64,-2)),a.Y&61440||!(f<(4191360&a.Qa)||f>(4194239&a.Qa))||(a.Y|=4096,a.Y&512&&(a.w|=64)));return f}function Tc(a){var b=a.aa(a.g[6]|a.V);a.g[6]=a.g[6]+2&65535;return b}function Rc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.A=a.A&65535|(a.A&-65536)<<8|16121856;a.w&256||a.Ca(4,-2,c);a.Cb(c,b)}
function Vc(a,b,c,d){var e,f,g=d&8?0:a.V;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Ca(d,0,a.g[6]),a.a-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Ca(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.aa(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Ca(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.aa(e)|g;a.a-=8;break;case 6:return e=a.aa(Nc(a,2)),e=e+a.g[c]&65535,6==c&&a.Ca(d,
0,e),a.a-=6,e|g;case 7:return e=a.aa(Nc(a,2)),e=e+a.g[c]&65535,e=a.aa(e|a.V),a.a-=10,e|g}a.g[c]=a.g[c]+f&65535;a.A=a.A&65535|(a.A&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fc=function(a,b,c){!this.v&&0>=b&&c<=this.$a&&(this.w|=32)};h.Gc=function(a,b,c){this.v||(65534<=c&&(c|=-65536),a&4&&c<=this.$a&&(c<=this.$a-32?K(this,4,0,-4):(this.X|=8,this.w|=32)))};h.Ic=function(a,b,c){a=Vc(this,a,b,c);3932160<=a&&(a=Uc(this,a));return a};h.Jc=function(a,b,c){return wb(this,Vc(this,a,b,c),c)};
h.lc=function(a){3932160<=a&&(a=Uc(this,a));return Pb(this.h,this.Ta=a)};h.Td=function(a){return Pb(this.h,this.Ta=wb(this,a,2))};h.pc=function(a,b){3932160<=a&&(a=Uc(this,a));Qb(this.h,this.Ta=a,b)};h.Re=function(a,b){Qb(this.h,this.Ta=wb(this,a,4),b)};function Wc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Vc(a,b,d,2),c&65536||61440!==(a.D&61440)&&(d&=65535),a.v=a.D>>12&3,c=a.aa(d|c&a.V),a.v=a.D>>14&3):c=6!=d||(a.D>>2&12288)===(a.D&12288)?a.g[d]:a.qa[a.D>>12&3];return c}
(g|=16384));a.H[a.v][d]=e;if(f!=(4194170&a.Qa)||a.v)a.eb=a.v,a.fb=d;g&&(g&57344&&(0<=a.va&&(g|=128),a.Y&57344||(g|=a.Y&4096|a.eb<<5|a.fb<<1,cc(a,a.Y&-61695|g&61694)),K(a,168,64,-2)),a.Y&61440||!(f<(4191360&a.Qa)||f>(4194239&a.Qa))||(a.Y|=4096,a.Y&512&&(a.w|=64)));return f}function Tc(a){var b=a.aa(a.g[6]|a.U);a.g[6]=a.g[6]+2&65535;return b}function Rc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.A=a.A&65535|(a.A&-65536)<<8|16121856;a.w&256||a.Ca(4,-2,c);a.Cb(c,b)}
function Vc(a,b,c,d){var e,f,g=d&8?0:a.U;switch(b){case 0:return K(a,4,0,-3),0;case 1:return 6==c&&a.Ca(d,0,a.g[6]),a.a-=3,7==c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];6==c&&a.Ca(d,f,e);7!=c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!=c&&(e|=g);e=a.aa(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;6==c&&a.Ca(d,f,e);7!=c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!=c&&(e|=g);e=a.aa(e)|g;a.a-=8;break;case 6:return e=a.aa(Nc(a,2)),e=e+a.g[c]&65535,6==c&&a.Ca(d,
0,e),a.a-=6,e|g;case 7:return e=a.aa(Nc(a,2)),e=e+a.g[c]&65535,e=a.aa(e|a.U),a.a-=10,e|g}a.g[c]=a.g[c]+f&65535;a.A=a.A&65535|(a.A&-65536)<<8|(f<<3&248|c)<<16;return e}h.Fc=function(a,b,c){!this.v&&0>=b&&c<=this.$a&&(this.w|=32)};h.Gc=function(a,b,c){this.v||(65534<=c&&(c|=-65536),a&4&&c<=this.$a&&(c<=this.$a-32?K(this,4,0,-4):(this.X|=8,this.w|=32)))};h.Ic=function(a,b,c){a=Vc(this,a,b,c);3932160<=a&&(a=Uc(this,a));return a};h.Jc=function(a,b,c){return wb(this,Vc(this,a,b,c),c)};
h.lc=function(a){3932160<=a&&(a=Uc(this,a));return Pb(this.h,this.Ta=a)};h.Td=function(a){return Pb(this.h,this.Ta=wb(this,a,2))};h.pc=function(a,b){3932160<=a&&(a=Uc(this,a));Qb(this.h,this.Ta=a,b)};h.Re=function(a,b){Qb(this.h,this.Ta=wb(this,a,4),b)};function Wc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Vc(a,b,d,2),c&65536||61440!==(a.D&61440)&&(d&=65535),a.v=a.D>>12&3,c=a.aa(d|c&a.U),a.v=a.D>>14&3):c=6!=d||(a.D>>2&12288)===(a.D&12288)?a.g[d]:a.qa[a.D>>12&3];return c}
function Xc(a,b,c,d){a.A=a.A&65535|1441792;var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Vc(a,b,e,4),c&65536||(e&=65535),a.v=a.D>>12&3,e=wb(a,e|c&65536,4),a.v=a.D>>14&3,Qb(a.h,e,d)):6!=e||(a.D>>2&12288)===(a.D&12288)?a.g[e]=d:a.qa[a.D>>12&3]=d}function Yc(a,b){b>>=6;var c=a.G=b&7;(b=a.C=(b&56)>>3)?(c=a.S(b,c,3),a=Ob(a.h,c)):a=a.g[c+a.tb]&a.ec;return a}function Zc(a,b){b>>=6;var c=a.G=b&7;return(b=a.C=(b&56)>>3)?Pb(a.h,a.S(b,c,2)):a.g[c+a.tb]}
function $c(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Vc(a,b,c,8)}function ad(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.S(b,c,3),a=Ob(a.h,c)):a=a.g[c]&255;return a}function bd(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Pb(a.h,a.S(b,c,2)):a.g[c]}function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.Hb=a.S(b,e,7),c=0>c?a.g[-c-1]&255:c,c=d.call(a,c,Ob(a.h,e)),e&1&&a.a--,a=a.h,a.f[(e&a.i)>>>a.b].Bb(e&a.l,c,e)):(b=a.g[e],c=0>c?a.g[-c-1]&255:c,a.g[e]=b&65280|d.call(a,c,b&255))}
function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.S(b,e,6),Qb(a.h,e,d.call(a,0>c?a.g[-c-1]:c,Pb(a.h,e)))):a.g[e]=d.call(a,0>c?a.g[-c-1]:c,a.g[e])}function cd(a,b,c,d,e){var f=a.b=b&7;(b=a.c=(b&56)>>3)?(d=a.S(b,f,5),e.call(a,(c=0>c?a.g[-c-1]&255:c)<<8),d&1&&a.a--,a=a.h,a.f[(d&a.i)>>>a.b].Bb(d&a.l,c,d)):(c?(c=0>c?a.g[-c-1]&255:c,a.g[f]=a.g[f]&~d|c<<24>>24&d):a.g[f]&=~d,e.call(a,c<<8))}
@ -155,7 +155,7 @@ this.a-=this.c?11:6},function(a){U(this,a,S(this)?1:0,ed);this.a-=this.c?9:3+(7=
15].call(this,a)},Y,Y,Y,je,je,je,je,te,Y,Ie,Ke,xe,xe,xe,xe],Ve=[ge,ze,ue,Zd,he,se,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],Je=[re,function(){this.o=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],Le=[re,function(){this.o=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Te=[Yd,Wd,Sd,Ud,ae,be,Hd,Id,fe,ye,Me,Oe,Qe,Y,Y,Y],Ne=[function(a){cd(this,a,0,
255,this.Ha);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,pd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,td);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,rd);this.a-=this.c?9:3+(7==this.b?2:0)}],Pe=[function(a){T(this,a,0,vd);this.a-=this.c?11:6},function(a){T(this,a,S(this)?1:0,fd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,S(this)?1:0,Bd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=ad(this,a);this.Ha(a<<8);this.a-=this.c?4:3+(7==this.b?
2:0)}],Re=[function(a){T(this,a,0,zd);this.a-=this.c?9+(this.Hb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,xd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,jd);this.a-=this.c?9+(this.Hb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,hd);this.a-=this.c?9:3+(7==this.b?2:0)}];function Ic(a){We[a>>12].call(this,a)}
var We=[function(a){Xe[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,Ed,function(a){Ye[a>>8&15].call(this,a)},function(a){Ze[a>>8&15].call(this,a)},oe,de,Od,Kd,Md,we,Y],Xe=[function(a){$e[a>>4&15].call(this,a)},$d,Xd,Pd,Qd,Vd,Rd,Td,le,le,Ce,Ee,Ge,function(a){af[a>>6&3].call(this,a)},Y,Y],af=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.aa(a|this.V);Q(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Wc(this,a,0);this.ca(a);Rc(this,a);this.a-=11},function(a){var b=Tc(this);this.J=
var We=[function(a){Xe[a>>8&15].call(this,a)},ne,ce,Nd,Jd,Ld,Ed,function(a){Ye[a>>8&15].call(this,a)},function(a){Ze[a>>8&15].call(this,a)},oe,de,Od,Kd,Md,we,Y],Xe=[function(a){$e[a>>4&15].call(this,a)},$d,Xd,Pd,Qd,Vd,Rd,Td,le,le,Ce,Ee,Ge,function(a){af[a>>6&3].call(this,a)},Y,Y],af=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.aa(a|this.U);Q(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Wc(this,a,0);this.ca(a);Rc(this,a);this.a-=11},function(a){var b=Tc(this);this.J=
this.a;this.ca(b);Xc(this,a,0,b);this.a=this.J-pe[this.c]},function(a){dd(this,a,Lc(this)?65535:0,this.ca);this.a-=this.c?9:3+(7==this.b?2:0)}],$e=[function(a){bf[a&15].call(this,a)},Y,Y,Y,je,je,je,je,te,function(a){a&8?(this.D&49152||(this.D=this.D&-2017|(a&7)<<5,this.w|=1,this.w&=-3),this.a-=5):K(this,8,0,-9)},Ie,Ke,xe,xe,xe,xe],bf=[ge,ze,function(){Sc(this);this.w|=this.D&16;this.a-=13},Zd,he,se,ue,function(){K(this,8,0,-9)},Y,Y,Y,Y,Y,Y,Y,Y],Ye=[qe,qe,ee,ee,Fd,Fd,Gd,Gd,Ae,Ae,Y,Y,Y,Y,ve,ve],Ze=
[Yd,Wd,Sd,Ud,ae,be,Hd,Id,fe,ye,Me,Oe,Qe,function(a){cf[a>>6&3].call(this,a)},Y,Y],cf=[Y,function(a){a=Wc(this,a,65536);this.ca(a);Rc(this,a);this.a-=11},function(a){var b=Tc(this);this.J=this.a;this.ca(b);Xc(this,a,65536,b);this.a=this.J-pe[this.c]},Y];
function df(a){z.call(this,"ROM",a,df,128);this.da=this.c=null;this.i=a.addr;this.b=a.size;this.o=!1;this.f=a.alias;this.l=a.file;this.s=u(this.l);if(this.l){a=this.l;var b=ka(this.s);"json"!=b&&"hex"!=b&&(a=ta()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;w(a,null,!0,function(a,b,f){f?(c.B("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Ta(c.Ba,a,b),(a=sa(a,b))?(c.c=a.M,c.da=a.da):c.l=null);ef(c)})}}B(df);h=df.prototype;
@ -170,24 +170,24 @@ b.length;e++)Rb(a.h,c+e,b[e]);k=!0}if(k){if(null==d||g)H(a.a),f=!1;null!=d&&Kc(a
function Z(a){this.A=a.adapter;this.L=a.baudReceive||9600;this.ma=a.baudTransmit||9600;this.sa=a.upperCase;this.f=this.o=null;this.fa=a.tabSize;this.S=a.charBOL;this.s=0;this.v=!0;z.call(this,"SerialPort",a,Z,262144);var b=a.binding;if("console"==b)this.o="";else{var c;a=kf;b&&(void 0===c&&(c="Panel"),(c=Va(c,this.id))&&(b=c.j[b])&&this.ba(null,a,b))}this.i=this.G=this.I=null;this.exports={connect:this.gc,receiveData:this.zb,receiveStatus:this.Wd}}B(Z);var kf="buffer";h=Z.prototype;
h.ba=function(a,b,c){var d=this;switch(b){case kf:return this.j[b]=this.f=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?n.Xb:n.tc:46==c?b=n.Xb:a.ctrlKey&&c>=n.Vb&&c<=n.Ac&&(b=c-(n.Vb-n.qc));b&&(a.preventDefault&&a.preventDefault(),d.zb(b));return!0},c.onkeypress=function(a){a=a||window.event;var b=a.which||a.keyCode;a.altKey&&b==n.sc&&(b=n.rc);d.zb(b);a.preventDefault&&a.preventDefault();return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();a.preventDefault&&
a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.zb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.F=d;var e=this;this.V=$b(this.a,this.A?-1:48,4,262144);this.ga=Xb(this.a,function(){var a;a=-1;e.u.length&&(a=e.u.shift()&255,e.sa&&97<=a&&122>a&&(a-=32),Yb(e.a,e.ga,1E3/Math.round(e.L/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&M(c,e.V))});this.J=$b(this.a,this.A?-1:52,4,262144);this.na=Xb(this.a,function(){e.c|=128;e.c&64&&M(c,e.J)});fb(b,this,lf,this.A?64832+8*(this.A-1)-65392:0);hb(b,this.reset.bind(this));G(this)};
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.F=d;var e=this;this.U=$b(this.a,this.A?-1:48,4,262144);this.ga=Xb(this.a,function(){var a;a=-1;e.u.length&&(a=e.u.shift()&255,e.sa&&97<=a&&122>a&&(a-=32),Yb(e.a,e.ga,1E3/Math.round(e.L/10)));0<=a&&(e.C=a,e.b&128?e.C|=49152:e.b|=128,e.b&64&&M(c,e.U))});this.J=$b(this.a,this.A?-1:52,4,262144);this.na=Xb(this.a,function(){e.c|=128;e.c&64&&M(c,e.J)});fb(b,this,lf,this.A?64832+8*(this.A-1)-65392:0);hb(b,this.reset.bind(this));G(this)};
h.gc=function(a){if(!this.i){var b=yc(this.l,"connection");if(b){var c=b.split("->");if(2==c.length){var d=oa(c[0]);if(d!=this.Aa)return;c=oa(c[1]);if(this.i=Ua(c)){var e=this.i.exports;if(e){var f=e.connect;f&&f.call(this.i,this.v);if(this.G=e.receiveData){this.v=a;this.I=e.receiveStatus;this.status(this.Ba+"."+d+" connected to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};
h.ka=function(a,b){if(!b)if(this.gc(this.v),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){mf(this)};h.save=function(){var a=new R(this);a.set(0,[]);return a.data()};h.restore=function(){return mf(this)};function mf(a){a.C=0;a.b=8192;a.c=128;a.u=[];return!0}
h.zb=function(a){if("number"==typeof a)this.u.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.u.push(b)}else this.u=this.u.concat(a);Yb(this.a,this.ga,1E3/Math.round(this.L/10));return!0};h.Wd=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&M(this.a,this.V))};h.ud=function(){var a=this.b&65534;this.b&=-32769;return a};
h.zb=function(a){if("number"==typeof a)this.u.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.u.push(b)}else this.u=this.u.concat(a);Yb(this.a,this.ga,1E3/Math.round(this.L/10));return!0};h.Wd=function(a){var b=this.b;this.b&=-12289;a&32&&(this.b|=8192);a&256&&(this.b|=4096);b!=this.b&&(this.b|=32768,this.b&32&&M(this.a,this.U))};h.ud=function(){var a=this.b&65534;this.b&=-32769;return a};
h.se=function(a){var b=a^this.b;this.b=this.b&-112|a&111;this.I&&b&6&&(b=0,b=this.v?b|(a&4?32:0)|(a&2?320:0):b|(a&4?16:0)|(a&2?1048576:0),this.I.call(this.i,b))};h.td=function(){this.b&=-129;return this.C};h.re=function(){};h.Vd=function(){return this.c};h.Te=function(a){this.c&128&&(a&64?M(this.a,this.J):bc(this.a,this.J));this.c=this.c&-70|a&69};h.Ud=function(){return 0};
h.Se=function(a){a&=255;this.G&&this.G.call(this.i,a);a&=127;if(this.f)if(13==a)this.s=0;else if(8==a)this.f.value=this.f.value.slice(0,-1),0<this.s&&this.s--;else{if(a){var b;b=(b=13!=a&&10!=a?pa[a]:null)?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.fa||8,c=a-this.s%a,this.fa&&(b=" ".slice(0,c)));this.S&&!this.s&&c&&(b=String.fromCharCode(this.S)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}}else if(null!=
this.o){if(10==a||1024<=this.o.length)this.U(this.o),this.o="";10!=a&&(this.o+=String.fromCharCode(a))}Yb(this.a,this.na,1E3/Math.round(this.ma/10));this.c&=-129};var nf={},lf=(nf[65392]=[null,null,Z.prototype.ud,Z.prototype.se,"RCSR"],nf[65394]=[null,null,Z.prototype.td,Z.prototype.re,"RBUF"],nf[65396]=[null,null,Z.prototype.Vd,Z.prototype.Te,"XCSR"],nf[65398]=[null,null,Z.prototype.Ud,Z.prototype.Se,"XBUF"],nf);
this.o){if(10==a||1024<=this.o.length)this.V(this.o),this.o="";10!=a&&(this.o+=String.fromCharCode(a))}Yb(this.a,this.na,1E3/Math.round(this.ma/10));this.c&=-129};var nf={},lf=(nf[65392]=[null,null,Z.prototype.ud,Z.prototype.se,"RCSR"],nf[65394]=[null,null,Z.prototype.td,Z.prototype.re,"RBUF"],nf[65396]=[null,null,Z.prototype.Vd,Z.prototype.Te,"XCSR"],nf[65398]=[null,null,Z.prototype.Ud,Z.prototype.Se,"XBUF"],nf);
Ia(function(){for(var a=F(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=D(c),d=new Z(d);E(d,c)}});function gc(a){z.call(this,"PC11",a,gc);this.C=of(this,a.autoMount);this.c=0;this.S=a.baudReceive||3600;this.u=this.v=this.b=0;this.s=[];this.o=pf;this.f=qf;this.A=this.i="";this.M=this.pa=this.oa=null;this.J=-1;this.G=!Ba("Mobi")&&window&&"FileReader"in window}B(gc);var pf="",qf=0;
function of(a,b){if(b&&"string"==typeof b)try{b=eval("("+b+")")}catch(c){x(a.type+" auto-mount error: "+c.message+" ("+b+")"),b=null}return b||{}}h=gc.prototype;
h.ba=function(a,b,c){var d=this,e=qf;switch(b){case "listTapes":return this.j[b]=c,c.onchange=function(){var a=d.j.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){x("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.j[b]=c,!0;case "readTape":e=2;case "loadTape":return e||(e=1),this.j[b]=c,c.onclick=function(){var a=
d.j.listTapes;a&&rf(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.G){c.parentNode.removeChild(c);break}this.j[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;rf(d,u(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.j[b]=c,!0}return!1};
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.F=d;this.L=sf(a);var e=this;if(a=of(this,yc(this.l,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.I=$b(this.a,56,4,4096);this.V=Xb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.u<e.s.length&&(e.v=e.s[e.u++]&255,tf(e,e.u/e.s.length*100),e.b|=128,e.b&=-2049,e.b&64&&M(e.a,e.I))});fb(b,this,uf);hb(b,this.reset.bind(this));vf(this,"None",pf,!0);this.G&&vf(this,"Local Tape","?");vf(this,"Remote Tape","??");wf(this)||G(this)};
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.F=d;this.L=sf(a);var e=this;if(a=of(this,yc(this.l,"autoMount")))for(var f in a)"PTR"==f&&(this.C[f]=a[f]);this.I=$b(this.a,56,4,4096);this.U=Xb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.u<e.s.length&&(e.v=e.s[e.u++]&255,tf(e,e.u/e.s.length*100),e.b|=128,e.b&=-2049,e.b&64&&M(e.a,e.I))});fb(b,this,uf);hb(b,this.reset.bind(this));vf(this,"None",pf,!0);this.G&&vf(this,"Local Tape","?");vf(this,"Remote Tape","??");wf(this)||G(this)};
h.ka=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.v=0};function wf(a){a.c=0;var b=a.C.PTR;if(b){var c=b.path||"";if(!(b=b.name))a:{if((b=a.j.listTapes)&&b.options)for(var d=0;d<b.options.length;d++){var e=b.options[d];if(e.value==c){b=e.text;break a}}b=u(c,!0)}c&&b?xf(a,b,c,1,!0):yf(a)}return!!a.c}
function rf(a,b,c,d,e){if(c)if("?"==c)a.B('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=u(c);a.status("Attempting to load "+c+' as "'+b+'"');a.o="??"}else a.o=c;xf(a,b,c,d,!1,e)}else zf(a,!1)}function xf(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,zf(a,!0),a.m.Ja?a.B("PC11 busy"):(e&&a.c++,Af(a,b,c,d,f)?g++:a.m.Ja=!0);g&&Bf(a,a.A,a.i,a.f,a.M,a.pa,a.oa)}
function Af(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Bf(a,b,c,d,e),a.o="?");yf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ka(c),f="json"==e||"gz"==e?encodeURI(c):ta()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!w(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.m.R;g?a.B('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Ta(a.Ba,e,f),(e=sa(e,f))&&Bf(a,b,c,d,e.M,e.pa,e.oa));
a.m.Ja=!1;a.c&&(a.c--,a.c||G(a));yf(a)})}function vf(a,b,c,d){if((a=a.j.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function yf(a){var b=a.j.listTapes;if(b&&b.options){a=a.o||a.i;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
function tf(a,b){b|=0;if(b!==a.J){var c=a.j.readProgress;c&&(c=(c=F(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.J=b}}function Bf(a,b,c,d,e,f,g){a.A=b;a.i=c;a.f=d;a.M=e;a.pa=f;a.oa=g;2==d?a.L&&hf(a.L,e,f,g,null,!1)?a.status('Read tape "'+b+'"'):a.B('No valid memory address for tape "'+b+'"'):(a.u=0,a.s=e,a.status('Loaded tape "'+b+'"'),tf(a,0))}function zf(a,b){if(a.i||!1===b)a.A="",a.i="",b||(a.f&&a.status(1==a.f?"tape detached":"tape unloaded"),a.o=pf,a.f=qf,yf(a))}h.save=function(){return(new R(this)).data()};
h.restore=function(){return!0};h.nd=function(){return this.b&65534};h.le=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&M(this.a,this.I)):(this.b&=-129,this.b|=2048,this.v=0,Yb(this.a,this.V,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.md=function(){this.b&=-129;this.b|=2048;return this.v};h.ke=function(){};var Cf={},uf=(Cf[65384]=[null,null,gc.prototype.nd,gc.prototype.le,"PRS"],Cf[65386]=[null,null,gc.prototype.md,gc.prototype.ke,"PRB"],Cf);
h.restore=function(){return!0};h.nd=function(){return this.b&65534};h.le=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&M(this.a,this.I)):(this.b&=-129,this.b|=2048,this.v=0,Yb(this.a,this.U,1E3/Math.round(this.S/10))));this.b=this.b&-66|a&65};h.md=function(){this.b&=-129;this.b|=2048;return this.v};h.ke=function(){};var Cf={},uf=(Cf[65384]=[null,null,gc.prototype.nd,gc.prototype.le,"PRS"],Cf[65386]=[null,null,gc.prototype.md,gc.prototype.ke,"PRB"],Cf);
function Df(a,b,c){z.call(this,"Disk",{id:a.Ba+".disk"+r(++Ef,4)},Df,8192);this.controller=a;this.l=a.l;this.F=a.F;this.f=b;this.ra=b.name;this.xb=b.xb;Ff(this,c,b.K,b.P,b.N,b.W);G(this)}var Ef=0;B(Df);h=Df.prototype;h.ia=function(a,b,c,d){this.F=d};
function Ff(a,b,c,d,e,f){a.mode=b;a.K=c;a.P=d;a.N=e;a.W=f;a.a=[];if("preload"!=a.mode){b=Array(a.K);for(c=0;c<b.length;c++){d=Array(a.P);for(e=0;e<d.length;e++){f=Array(a.N);for(var g=1;g<=f.length;g++)f[g-1]=Gf(null,c,e,g,a.W,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
function Hf(a,b,c,d,e){var f=c;if(a.h)return!0;a.ra=b;a.ea=c;a.Qb=u(c);a.h=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.K=e[0];a.P=e[1];a.N=e[2];a.W=e[3]||512;c=a.W>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.K);for(d=0;d<a.a.length;d++)for(var v=a.a[d]=Array(a.P),y=0;y<v.length;y++)for(var xa=v[y]=Array(a.N),ya=0;ya<xa.length;ya++){for(var Zb=Gf(null,d,y,ya+1,a.W,0),tg=Zb.data,qc=0;qc<c;qc++,f+=4)var ug=tg[qc]=b.getInt32(f,
@ -240,15 +240,15 @@ h.zc=function(a,b,c,d,e,f,g){var k=0;a=a.T;var l=null,m;a||(k=5120,e=0);for(;e--
h.Ce=function(a){this.b=this.b&-1023|a&1022;this.o=this.o&60|(a&48)>>4;if(!(this.b&128)){a=!0;var b,c=this.c[(this.b&768)>>8],d=c.T,e,f,g;this.b&=-2;switch(this.b&14){case 4:this.s&8&&(this.b&=63);this.s=c.status|this.i&64|(d&&512==d.K?128:0);break;case 6:1==(this.f&3)&&(b=this.f&65408,c=(this.f&16)<<2,this.i=this.f&4?this.i+b:this.i-b,this.f=this.i=this.i&65408|c);break;case 8:this.s=this.i;break;case 12:b=this.Zb;case 10:b||(b=this.zc),e=this.f>>7,f=this.f&64?1:0,g=this.f&63,!d||e>=d.K||g>=d.N?
this.b|=37888:(a=65536-this.s&65535,d=(this.o&63)<<16|this.v,a=b.call(this,c,e,f,g,a,d,this.xc.bind(this)))}a&&(this.b|=129,this.b&64&&M(this.a,this.Ua))}};h.Cd=function(){return this.v};h.Ae=function(a){this.v=a&65534};h.Fd=function(){return this.f};h.De=function(a){this.f=a};h.Gd=function(){return this.s};h.Ee=function(a){this.s=a};h.Dd=function(){return this.o};h.Be=function(a){this.o=a&63;this.b=this.b&-49|(this.o&3)<<4};
var gg={},bg=(gg[63744]=[null,null,O.prototype.Ed,O.prototype.Ce,"RLCS"],gg[63746]=[null,null,O.prototype.Cd,O.prototype.Ae,"RLBA"],gg[63748]=[null,null,O.prototype.Fd,O.prototype.De,"RLDA"],gg[63750]=[null,null,O.prototype.Gd,O.prototype.Ee,"RLMP"],gg[63752]=[null,null,O.prototype.Dd,O.prototype.Be,"RLBE"],gg);
function hg(a,b,c){z.call(this,"Computer",a,hg,33554432);this.m.R=!1;ig(this,b);this.A=yc(this,"autoPower",a);this.l=0;this.L=a.busWidth||a.buswidth;this.b=jg;this.s=null;this.i=this.I=!1;this.S=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=kg(this);if(this.a=Va("CPU",this.id)){this.F=Va("Debugger",this.id);this.h=new Bb({id:this.Ba+".bus",busWidth:this.L},this.a,this.F);var d,e=C(this.id);if((this.u=Va("Panel",this.id))&&this.u.kb)for(b=0;b<e.length;b++)d=e[b],d.B=this.u.B,d.U=this.u.U,
d.kb=this.u.kb;this.U("PDPjs v1.30.6\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.U("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ia&&d.ia(this,this.h,this.a,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.o=d:this.b=parseInt(d,10));var f;if(a=yc(this,"state")||(f=!0,a.state))b=this.C=a,f||(this.i=!0,this.b=jg),this.b&&(this.v=
function hg(a,b,c){z.call(this,"Computer",a,hg,33554432);this.m.R=!1;ig(this,b);this.A=yc(this,"autoPower",a);this.l=0;this.L=a.busWidth||a.buswidth;this.b=jg;this.s=null;this.i=this.I=!1;this.S=yc(this,"url")||"";(Math.random()+.1).toString(36);this.c=kg(this);if(this.a=Va("CPU",this.id)){this.F=Va("Debugger",this.id);this.h=new Bb({id:this.Ba+".bus",busWidth:this.L},this.a,this.F);var d,e=C(this.id);if((this.u=Va("Panel",this.id))&&this.u.kb)for(b=0;b<e.length;b++)d=e[b],d.B=this.u.B,d.V=this.u.V,
d.kb=this.u.kb;this.V("PDPjs v1.30.6\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.V("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ia&&d.ia(this,this.h,this.a,this.F);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.o=d:this.b=parseInt(d,10));var f;if(a=yc(this,"state")||(f=!0,a.state))b=this.C=a,f||(this.i=!0,this.b=jg),this.b&&(this.v=
new R(this,"1.30.6"),lg(this.v)?b=null:delete this.v);!b&&this.b&&(b=mg(this))&&(this.i=!0);if(b){var g=this;w(b,null,!0,function(a,b,c){c?(g.o=null,g.i=!1,g.B("Unable to load machine state from server (error "+c+(b?": "+oa(b):"")+")")):(g.s=b,g.I=!0);G(g)})}else G(this);this.j.power||(this.A=!0);!c&&this.A&&ng(this,this.lb)}else x("Unable to find CPU component")}B(hg);var jg=0;
function ig(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.J=b}function yc(a,b,c){var d=b.toLowerCase(),d=Na[b]||Na[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function ng(a,b,c){for(var d=C(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Xa(f)){Xa(f,function(){ng(a,b,c)});return}}b.call(a,c)}
function og(a,b){var c=new R(a,"1.30.6","validate");if(lg(c)&&pg(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.B("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=hg.prototype;
h.lb=function(a){void 0===a&&(a=this.b||(this.s?1:jg));if(!this.l){this.l++;var b=!1,c=!1;this.G=!1;var d=this.v||new R(this,"1.30.6");if(-1==a)b=!0;else if(a>jg){if(lg(d,this.s)){this.f=new R(this,"1.30.6","failsafe");lg(this.f)&&(qg(this,d),a=2,rg(this.f));this.f.set("timestamp",ra());sg(this.f);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=pg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?lg(d,g):("error"==
f&&"no machine state"!=g?(this.B("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.U(f+": "+g),rg(d),lg(d)?(c=pg(d),e=!0):c=!1))}e&&og(this,c?d:null)}else 2==a&&d.clear()}else og(this);delete this.s;delete this.v}e=C(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=vg(this,g,d,b,c));b=[d,a,c];-1!=a?ng(this,this.ac,b):this.ac(b)}};
f&&"no machine state"!=g?(this.B("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.V(f+": "+g),rg(d),lg(d)?(c=pg(d),e=!0):c=!1))}e&&og(this,c?d:null)}else 2==a&&d.clear()}else og(this);delete this.s;delete this.v}e=C(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=vg(this,g,d,b,c));b=[d,a,c];-1!=a?ng(this,this.ac,b):this.ac(b)}};
function vg(a,b,c,d,e){if(!b.m.R){b.m.R=!0;if(b.ka){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ka(f,d)&&f&&(x("Unable to restore state for "+b.type),a.C&&!a.I?(c.clear(),a.b=jg,window&&window.location.reload()):a.G=!0,b.ka(null),e=!1)}if(!d&&b.cc)for(a=b.cc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
h.ac=function(a){var b=a[0],c=0>a[1];a=a[2];this.V=!0;this.m.R=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.a&&(vg(this,this.a,b,c,a),this.za(),this.a.Ea());this.G&&(qg(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.l=0};
h.ac=function(a){var b=a[0],c=0>a[1];a=a[2];this.U=!0;this.m.R=!0;var d=this.j.power;d&&(d.textContent="Shutdown");this.a&&(vg(this,this.a,b,c,a),this.za(),this.a.Ea());this.G&&(qg(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.l=0};
function qg(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.6"};d.url=a.S;d.user=c;d.type="bug";d.data=b;w("http://www.pcjs.org/api/v1/report",d,!0)}}
function wg(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new R(a,"1.30.6"),g=new R(a,"1.30.6","validate"),k=ra();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.6");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&H(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.m.R=!1,!1===d&&(e=null)));for(var k=C(a.id),l=0;l<k.length;l++){var m=k[l];m.m.R&&(m.ja&&(d=m.ja(b,c),"object"===typeof d&&f.set(m.id,
d)),c&&(m.m.R=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.c&&xg(a,a.c,f.toString()),sg(g)&&sg(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=3==a.b),d&&f.clear(k)):e=f.toString());c&&(a.m.R=!1,b=a.j.power)&&(b.textContent="Power");a.l=0;return e}h.reset=function(){this.h&&this.h.reset&&this.h.reset();this.a&&this.a.reset&&this.a.reset();for(var a=C(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.h&&c!==this.a&&c.reset&&c.reset()}this.za(-1)};
@ -261,7 +261,7 @@ function kg(a,b){var c=a.c;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&
function yg(a,b){a.c=null;b=w(ta()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.c=b.data)}catch(d){x(d.message+" ("+c+")")}return a.c}function mg(a){var b=null;a.c&&(b=ta()+"/api/v1/user?req=load&user="+a.c+"&state="+zg(a,"1.30.6"));return b}
function xg(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=zg(a,"1.30.6");d.data=c;b=w(ta()+"/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.B("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.B(c),Aa("user",""),a.c=null)}}
function sf(a){var b;a=C(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function Ec(a){if(a.kb){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.kb.focus();window&&window.scrollTo(b,c)}}Ia(function(){for(var a=F(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=D(c),c=F(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=D(f),g=new hg(g,d,!0);E(g,f);g.A&&ng(g,g.lb)}});
Da.show.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=Va("Computer",c.id))&&c.V&&!c.m.R&&c.lb(-1)}});Da.exit.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=Va("Computer",c.id))&&c.m.R&&wg(c,!(!c.b||c.o),!0)}});function R(a,b,c){this.id=a.id;this.key=zg(a,b,c);this.F=a.F;rg(this,a.Oc)}function zg(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
Da.show.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=Va("Computer",c.id))&&c.U&&!c.m.R&&c.lb(-1)}});Da.exit.push(function(){for(var a=F(document,"pdp11","computer"),b=0;b<a.length;b++){var c=D(a[b]);(c=Va("Computer",c.id))&&c.m.R&&wg(c,!(!c.b||c.o),!0)}});function R(a,b,c){this.id=a.id;this.key=zg(a,b,c);this.F=a.F;rg(this,a.Oc)}function zg(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
R.prototype={constructor:R,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){rg(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
1);c=0}}};function rg(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function sg(a){var b=!0;if(wa()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function pg(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){x(c.message||c),b=!1}return b}function lg(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:wa()&&(b=za(a.key))?(a[a.id]=b,a.a=!0):!1}var Ag=0;
function Bg(a,b,c,d,e,f){e("Loading "+a+"...");w(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):Cg(k,a,b,c,d,e,f)})}