Added support for both MACRO-10 macro defines and macro calls, including parameter substitution

This commit is contained in:
Jeff 2017-03-12 20:38:25 -07:00 committed by Jeff Parsons
commit 5a4e6d3818
2 changed files with 276 additions and 197 deletions

View file

@ -233,36 +233,39 @@ class Macro10 {
this.sOperator = sOperator; this.sOperator = sOperator;
sOperands = sOperands.trim(); sOperands = sOperands.trim();
switch(sOperator) { if (!this.parseMacro(sOperator, sOperands)) {
case "":
break; // eg, a blank line or a line that contains only a label and/or a comment
case "=": switch (sOperator) {
this.addAssign(sLabel, sOperands); case "":
break; break; // eg, a blank line or a line that contains only a label and/or a comment
case Macro10.PSEUDO_OP.ASCII: case "=":
case Macro10.PSEUDO_OP.ASCIZ: this.addAssign(sLabel, sOperands);
case Macro10.PSEUDO_OP.SIXBIT: break;
this.addASCII(sOperands);
break;
case Macro10.PSEUDO_OP.DEFINE: case Macro10.PSEUDO_OP.ASCII:
case Macro10.PSEUDO_OP.IFE: case Macro10.PSEUDO_OP.ASCIZ:
case Macro10.PSEUDO_OP.REPEAT: case Macro10.PSEUDO_OP.SIXBIT:
this.addMacro(sOperator, sOperands); this.addASCII(sOperands);
break; break;
case Macro10.PSEUDO_OP.PAGE: // TODO case Macro10.PSEUDO_OP.DEFINE:
case Macro10.PSEUDO_OP.SUBTTL: // TODO case Macro10.PSEUDO_OP.IFE:
break; case Macro10.PSEUDO_OP.REPEAT:
this.addMacro(sOperator, sOperands);
break;
default: case Macro10.PSEUDO_OP.PAGE: // TODO
if (DEBUG) this.println(Str.toDec(this.nLine, 5) + ": label(" + sLabel + ") operator(" + sOperator + ") operands(" + sOperands + ") comment(" + sComment + ")"); case Macro10.PSEUDO_OP.SUBTTL: // TODO
break; break;
default:
if (DEBUG) this.println(Str.toDec(this.nLine, 5) + ": label(" + sLabel + ") operator(" + sOperator + ") operands(" + sOperands + ") comment(" + sComment + ")");
break;
}
} }
if (this.nLine >= 330) { if (this.nLine >= 820) {
this.dbg.printVariable(); this.dbg.printVariable();
this.error("temporary line limit reached"); this.error("temporary line limit reached");
return false; return false;
@ -271,18 +274,42 @@ class Macro10 {
} }
/** /**
* parseMacro() * parseMacro(name, sOperands)
* *
* @this {Macro10} * @this {Macro10}
* @param {string} name
* @param {string} [sOperands]
* @return {boolean}
*/ */
parseMacro() parseMacro(name, sOperands)
{ {
if (!this.sMacroDef) return; var macro = this.tblMacros[name];
if (!macro) return false;
var macro = this.tblMacros[this.sMacroDef]; if (sOperands != null) {
var sOperator = this.sMacroDef[0] == '@'? this.sMacroDef.substr(1) : this.sOperator; /*
* Process this macro call; start by extracting macro argument values from sOperands.
*/
var aValues = [];
var sDelims = ',';
if (sOperands[0] == '(') {
sDelims += ')';
sOperands = sOperands.substr(1);
}
while (sOperands) {
sOperands = sOperands.trim();
var sExp = this.getExpression(sOperands, sDelims);
if (!sExp) break;
aValues.push(sExp);
sOperands = sOperands.substr(sExp.length + 1);
}
this.parseText(macro.sText, macro.aParms, aValues);
return true;
}
switch(sOperator) { if (name[0] != '@') return false;
switch(name.substr(1)) {
case Macro10.PSEUDO_OP.IFE: case Macro10.PSEUDO_OP.IFE:
if (!macro.nOperand) { if (!macro.nOperand) {
this.parseText(macro.sText); this.parseText(macro.sText);
@ -294,20 +321,56 @@ class Macro10 {
this.parseText(macro.sText); this.parseText(macro.sText);
} }
break; break;
default:
return false;
} }
return true;
} }
/** /**
* parseText(sText) * isSymbolChar(ch)
*
* @this {Macro10}
* @param {string} ch
* @return {boolean}
*/
isSymbolChar(ch)
{
return !!ch.match(/[0-9A-Z$%.]/i);
}
/**
* parseText(sText, aParms, aValues)
* *
* @this {Macro10} * @this {Macro10}
* @param {string} sText * @param {string} sText
* @param {Array.<string>} [aParms]
* @param {Array.<string>} [aValues]
*/ */
parseText(sText) parseText(sText, aParms, aValues)
{ {
var asLines = sText.split(/\r?\n/); var asLines = sText.split(/\r?\n/);
for (var i = 0; i < asLines.length; i++) { for (var iLine = 0; iLine < asLines.length; iLine++) {
if (!this.parseLine(asLines[i] + '\r\n')) break; var sLine = asLines[iLine] + '\r\n';
if (aParms) {
for (var iParm = 0; iParm < aParms.length; iParm++) {
var sParm = aParms[iParm];
var sReplace = aValues[iParm] || "";
var iSearch = 0;
while (true) {
var iMatch = sLine.indexOf(sParm, iSearch);
if (iMatch < 0) break;
iSearch = iMatch + 1;
var iMatchEnd = iMatch + sParm.length;
if ((!iMatch || !this.isSymbolChar(sLine[iMatch - 1])) && (iMatchEnd >= sLine.length || !this.isSymbolChar(sLine[iMatchEnd]))) {
sLine = sLine.substr(0, iMatch) + sReplace + sLine.substr(iMatchEnd);
iSearch = iMatch + sReplace.length;
}
}
}
}
if (!this.parseLine(sLine)) break;
} }
} }
@ -334,24 +397,22 @@ class Macro10 {
} }
/** /**
* getExpression(sInput, chDelim) * getExpression(sInput, sDelims)
* *
* @this {Macro10} * @this {Macro10}
* @param {string} sInput * @param {string} sInput
* @param {string} [chDelim] * @param {string} [sDelims]
* @return {string|null} (if the input string begins with an expression, return it) * @return {string|null} (if the input string begins with an expression, return it)
*/ */
getExpression(sInput, chDelim) getExpression(sInput, sDelims = "")
{ {
var i = 0;
var sExp = null; var sExp = null;
var cNesting = 0; var cNesting = 0;
for (var i = 0; i < sInput.length; i++) { while (i < sInput.length) {
var ch = sInput[i]; var ch = sInput[i];
if (ch == chDelim) { if (sDelims.indexOf(ch) >= 0) {
if (!cNesting) { break;
sExp = sInput.substr(0, i);
break;
}
} }
if (ch == '<') { if (ch == '<') {
cNesting++; cNesting++;
@ -361,6 +422,13 @@ class Macro10 {
break; break;
} }
} }
i++;
}
if (!cNesting) {
sExp = sInput.substr(0, i);
}
else if (cNesting > 0) {
this.error("extra angle bracket(s): " + sInput);
} }
return sExp; return sExp;
} }
@ -448,7 +516,7 @@ class Macro10 {
*/ */
addMacro(sOperator, sOperands) addMacro(sOperator, sOperands)
{ {
var match, name, aParms, nOperand, iDelim; var match, name, aParms, nOperand, iBracket;
if (sOperator == Macro10.PSEUDO_OP.DEFINE) { if (sOperator == Macro10.PSEUDO_OP.DEFINE) {
match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i); match = sOperands.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);
@ -464,7 +532,7 @@ class Macro10 {
name = match[1]; name = match[1];
aParms = match[2].match(/[A-Z$%.][0-9A-Z$%.]*/g); aParms = match[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);
nOperand = -1; nOperand = -1;
iDelim = 3; iBracket = 3;
} else { } else {
var sExp = this.getExpression(sOperands, ','); var sExp = this.getExpression(sOperands, ',');
if (!sExp) { if (!sExp) {
@ -477,7 +545,7 @@ class Macro10 {
name = '@' + sOperator; name = '@' + sOperator;
aParms = []; aParms = [];
nOperand = this.dbg.parseExpression(sExp); nOperand = this.dbg.parseExpression(sExp);
iDelim = 1; iBracket = 1;
} }
/* /*
@ -485,25 +553,31 @@ class Macro10 {
* subsequent lines (1), the definition has already started on the current line (2), or the definition * subsequent lines (1), the definition has already started on the current line (2), or the definition
* started and ended on the current line (0). * started and ended on the current line (0).
*/ */
name = name.toUpperCase();
this.nMacroDef = 1; this.nMacroDef = 1;
this.sMacroDef = name;
var sText = ""; var sText = "";
if (match[iDelim]) { // if there IS an angle bracket... if (match[iBracket]) { // if there IS an angle bracket...
this.nMacroDef = 2; // then the macro definition has begun this.nMacroDef = 2; // then the macro definition has begun
sText = match[iDelim + 1]; sText = match[iBracket + 1];
if (sText.slice(-1) == '>') { // and if there is ALSO a closing angle bracket... if (sText.slice(-1) == '>') { // and if there is ALSO a closing angle bracket...
this.nMacroDef = 0; // the macro definition has also ended this.nMacroDef = 0; // the macro definition has also ended
sText = sText.slice(0, -1); sText = sText.slice(0, -1);
} }
} }
this.tblMacros[name] = { this.tblMacros[name] = {
name: name, name: name,
aParms: aParms, aParms: aParms,
nOperand: nOperand, nOperand: nOperand,
sText: sText sText: sText
}; };
if (!this.nMacroDef) this.parseMacro();
if (!this.nMacroDef) {
this.parseMacro(name);
} else {
this.sMacroDef = name;
}
} }
/** /**
@ -529,9 +603,12 @@ class Macro10 {
} }
} }
} }
var macro = this.tblMacros[this.sMacroDef]; var name = this.sMacroDef || "";
macro.sText += sLine; this.tblMacros[name].sText += sLine;
if (!this.nMacroDef) this.parseMacro(); if (!this.nMacroDef) {
this.sMacroDef = null;
this.parseMacro(name);
}
return sRemain; return sRemain;
} }

View file

@ -31,8 +31,8 @@ var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
function ga(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ha(this)}});ga=function(){}}function ha(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a} function ga(){ca();var a=ba.Symbol.iterator;a||(a=ba.Symbol.iterator=ba.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ha(this)}});ga=function(){}}function ha(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ga();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function ka(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function qa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}} function ka(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a;for(var d in b)if(Object.defineProperties){var e=Object.getOwnPropertyDescriptor(b,d);e&&Object.defineProperty(a,d,e)}else a[d]=b[d]}function qa(a,b){if(b){var c=ba;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
qa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); qa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||!a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});qa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ra={gc:0,zb:1,ic:2,jc:3,kc:4,lc:5,mc:6,nc:7,mb:8,oc:9,Ab:10,pc:11,qc:12,Bb:13,rc:14,sc:15,tc:16,uc:17,vc:18,wc:19,xc:20,yc:21,zc:22,Ac:23,Bc:24,Cc:25,Dc:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,lb:65,fc:66,hc:67,Ec:68,E:69,Fc:70,Gc:71,Hc:72,Ic:73,Jc:74,Kc:75,Lc:76,Mc:77,Nc:78,Oc:79,Pc:80,Q:81,Qc:82,Rc:83,Sc:84,Tc:85,Uc:86,Vc:87, var ra={hc:0,zb:1,jc:2,kc:3,lc:4,mc:5,nc:6,oc:7,mb:8,pc:9,Ab:10,qc:11,rc:12,Bb:13,sc:14,tc:15,uc:16,vc:17,wc:18,xc:19,yc:20,zc:21,Ac:22,Bc:23,Cc:24,Dc:25,Ec:26," ":32,"!":33,'"':34,"#":35,$:36,"%":37,"&":38,"'":39,"(":40,")":41,"*":42,"+":43,",":44,"-":45,".":46,"/":47,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,":":58,";":59,"<":60,"=":61,">":62,"?":63,"@":64,lb:65,gc:66,ic:67,Fc:68,E:69,Gc:70,Hc:71,Ic:72,Jc:73,Kc:74,Lc:75,Mc:76,Nc:77,Oc:78,Pc:79,Qc:80,Q:81,Rc:82,Sc:83,Tc:84,Uc:85,Vc:86,Wc:87,
Wc:88,Xc:89,Db:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Yc:97,$c:98,ad:99,d:100,e:101,bd:102,fd:103,gd:104,hd:105,jd:106,k:107,kd:108,ld:109,n:110,md:111,p:112,q:113,r:114,nd:115,t:116,pd:117,qd:118,rd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Cb:127}; Xc:88,Yc:89,Db:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Zc:97,$c:98,ad:99,d:100,e:101,bd:102,fd:103,gd:104,hd:105,jd:106,k:107,kd:108,ld:109,n:110,md:111,p:112,q:113,r:114,nd:115,t:116,pd:117,qd:118,rd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Cb:127};
function sa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1)))); function sa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d?(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)):"^"==d&&(d=a.charAt(1),"D"==d?(b=10,d=null):"O"==d?(b=8,d=null):"B"==d&&(b=2,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));
var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function ta(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e} var f,d=a;((e=b)&&10!=e?16==e?d.match(/^-?[0-9a-f]+$/i):8==e?d.match(/^-?[0-7]+$/):2==e&&d.match(/^-?[01]+$/):d.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return c}function ta(a,b,c,d){var e="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));if(null==a)for(;0<c--;)e="?"+e;else for(;0<c--;){var f=a%b,f=f+(0<=f&&9>=f?48:55),e=String.fromCharCode(f)+e;a=Math.trunc(a/b)}return(void 0===d?"":d)+e}
function ua(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ta(a,8,b,c?"0o":"")}function va(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return ta(a,10,b)}function m(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ta(a,16,b,c?"0x":"")}function wa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function xa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ya(a,b){return-1!==a.indexOf(b,a.length-b.length)} function ua(a,b,c){b?12<b&&(b=12):b=a&-16777216?12:a&-65536?8:6;return ta(a,8,b,c?"0o":"")}function va(a,b){b?11<b&&(b=11):b=a&-65536?10:5;return ta(a,10,b)}function m(a,b,c){b?9<b&&(b=9):b=a&-65536?8:4;return ta(a,16,b,c?"0x":"")}function wa(a){var b=a,c=a.lastIndexOf("/");0<=c&&(b=a.substr(c+1));c=b.indexOf("&");0<c&&(b=b.substr(0,c));return b}function xa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ya(a,b){return-1!==a.indexOf(b,a.length-b.length)}
@ -41,73 +41,73 @@ function Ga(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFul
function Ha(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, function Ha(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g} f,e))});if(b&&"object"==typeof b){var k="",n;for(n in b)b.hasOwnProperty(n)&&(k&&(k+="&"),k+=n+"="+encodeURIComponent(b[n]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Ma(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]= function Ma(a,b){var c,d={Y:null,U:null,sa:null,ra:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.sa=g.load;d.ra=g.exec;if(e=g.bytes)d.Y=e;else if(e=g.words)for(d.Y=Array(2*e.length),f=c=0;c<e.length;c++)d.Y[f++]=e[c]&255,d.Y[f++]=e[c]>>8&255;else if(e=g.longs)for(d.Y=Array(4*e.length),f=c=0;c<e.length;c++)d.Y[f++]=
e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ga=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(q(d.Y[0]),d=null):(q("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d} e[c]&255,d.Y[f++]=e[c]>>8&255,d.Y[f++]=e[c]>>16&255,d.Y[f++]=e[c]>>24&255;else(e=g.data)?d.Ga=e:d.Y=g;d.Y&&(d.Y.length?1==d.Y.length&&(r(d.Y[0]),d=null):(r("Empty resource: "+a),d=null));d.U=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.Y=e)}return d}
function Na(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function Na(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Oa(){if(null==Pa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Pa=a}return Pa}function Qa(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function Ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Sa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1} function Ra(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Sa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&!!b.match(/(iPod|iPhone|iPad)/)&&!!b.match(/AppleWebKit/)||"MSIE"==a&&!!b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)}return!1}
function Ta(a){if(!Ua){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ua=c}return Ua[a]}function Va(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function Ta(a){if(!Ua){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,f=/([^&=]+)=?([^&]*)/g;d=f.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}Ua=c}return Ua[a]}function Va(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function Wa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ya(a){Za.init.push(a)} function Wa(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function Xa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ya(a){Za.init.push(a)}
function eb(a){if(fb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function gb(a){!fb&&a?(fb=!0,hb&&ib("init"),jb&&ib("show")):fb=a}function ib(a){Za[a]&&eb(Za[a])}var Ua=null,Za={init:[],show:[],exit:[]},hb=!1,jb=!1,fb=!0,Pa=null;Xa("onload",function(){hb=!0;eb(Za.init)});Xa("onpageshow",function(){jb=!0;eb(Za.show)});Xa(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){eb(Za.exit)}); function eb(a){if(fb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function gb(a){!fb&&a?(fb=!0,hb&&ib("init"),jb&&ib("show")):fb=a}function ib(a){Za[a]&&eb(Za[a])}var Ua=null,Za={init:[],show:[],exit:[]},hb=!1,jb=!1,fb=!0,Pa=null;Xa("onload",function(){hb=!0;eb(Za.init)});Xa("onpageshow",function(){jb=!0;eb(Za.show)});Xa(Sa("Opera")||Sa("iOS")?"onunload":"onbeforeunload",function(){eb(Za.exit)});
function r(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.kb=b.comment;this.Fb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Pa=this.id:(this.Qa=this.id.substr(0,a),this.Pa=this.id.substr(a+1));this.A={ready:!1,Ja:!1,eb:!1,V:!1,error:!1};this.Ta=null;this.A.error=!1;this.X=c||0;this.C=this.v=this.H=this.F=this.ta=null;kb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date} function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.kb=b.comment;this.Gb=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Qa=this.id:(this.Ra=this.id.substr(0,a),this.Qa=this.id.substr(a+1));this.A={ready:!1,Ja:!1,eb:!1,V:!1,error:!1};this.Ua=null;this.A.error=!1;this.X=c||0;this.C=this.v=this.H=this.G=this.ta=null;kb.push(this)}function lb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function nb(){return Date.now()||+new Date}
function q(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<kb.length;b++){var d=kb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function qb(a){if(void 0!==a){var b;for(b=0;b<kb.length;b++)if(kb[b].id===a)return kb[b]}return null} function r(a){window&&window.alert(a)}function ob(a){var b=!1;window&&(b=window.confirm(a));return b}function pb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<kb.length;b++){var d=kb[b];a&&d.id.indexOf(a)||c.push(d)}return c}function qb(a){if(void 0!==a){var b;for(b=0;b<kb.length;b++)if(kb[b].id===a)return kb[b]}return null}
function rb(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<kb.length;d++)if(c)c==kb[d]&&(c=null);else if(!(a!=kb[d].type||b&&kb[d].id.indexOf(b)))return kb[d]}return null}function u(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b} function rb(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<kb.length;d++)if(c)c==kb[d]&&(c=null);else if(!(a!=kb[d].type||b&&kb[d].id.indexOf(b)))return kb[d]}return null}function u(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function sb(a,b){var c=v;b=w(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),n=0;n<k.length;n++)switch(h=k[n],h){case c+"-binding":(h=u(g))&&h.binding&&a.ka(h.type,h.binding,g,h.value),n=k.length}}}} function sb(a,b){var c=v;b=w(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),n=0;n<k.length;n++)switch(h=k[n],h){case c+"-binding":(h=u(g))&&h.binding&&a.ka(h.type,h.binding,g,h.value),n=k.length}}}}
function w(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} function w(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}
function tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=Fb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=rb(d[1],a);if(h)if(g=Gb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){q("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ub[a];return b}l=r.prototype; function tb(a){for(var b=!0,c=ub[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=vb.indexOf(e)&&(f=function(){return function(){tb(a)}}());var g=Fb[e];if(g)if(!f)b=g(d[1],d[2],d[3]);else{if(!g(f,d[1],d[2],d[3]))break}else{var b=!1,h=rb(d[1],a);if(h)if(g=Gb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete ub[a];return b}l=t.prototype;
l.toString=function(){return this.name?this.name:this.id||this.type}; l.toString=function(){return this.name?this.name:this.id||this.type};
l.ka=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.ta=this.J[b]=c,c.value="",this.j=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.da=function(a){this.j(a,this.Pa)}),!0;default:return!1}};l.log=function(){};l.j=function(){}; l.ka=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.ta=this.J[b]=c,c.value="",this.j=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.da=function(a){this.j(a,this.Qa)}),!0;default:return!1}};l.log=function(){};l.j=function(){};
l.status=function(a){this.j(this.Pa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)};function Hb(a,b){a.A.error=!0;a.da(b)}function Ib(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Jb(a,b){b&&(a.A.ready?b():a.Ta=b);return a.A.ready}function Kb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Ta;a.Ta=null;b&&b()}}function Lb(a,b){a.A.Ja&&(b?a.A.eb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ja} l.status=function(a){this.j(this.Qa+": "+a)};l.da=function(a,b,c){c=c||this.type;b||r((c?c+": ":"")+a)};function Hb(a,b){a.A.error=!0;a.da(b)}function Ib(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function Jb(a,b){b&&(a.A.ready?b():a.Ua=b);return a.A.ready}function Kb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.Ua;a.Ua=null;b&&b()}}function Lb(a,b){a.A.Ja&&(b?a.A.eb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Ja}
function Mb(a,b){if(a.A.eb)return a.A.Ja=!1,a.A.eb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ja=b;return a.A.Ja}l.ua=function(){return this.A.V=!0};l.ja=function(a,b){b&&(this.A.V=!1);return!0};function Nb(a,b){if(a.C){a===a.C?b|=0:b=b||a.X;var c=a.C.X&b;return!!b&&c===b||!!(c&a.C.tb)}return!1}function Ob(a,b,c,d){a.C&&(!0===c||Nb(a,c|0))&&a.C.message(b,d)} function Mb(a,b){if(a.A.eb)return a.A.Ja=!1,a.A.eb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Ja=b;return a.A.Ja}l.ua=function(){return this.A.V=!0};l.ja=function(a,b){b&&(this.A.V=!1);return!0};function Nb(a,b){if(a.C){a===a.C?b|=0:b=b||a.X;var c=a.C.X&b;return!!b&&c===b||!!(c&a.C.tb)}return!1}function Ob(a,b,c,d){a.C&&(!0===c||Nb(a,c|0))&&a.C.message(b,d)}
window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={})); window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var mb=window?window.PCjs.Machines:{},kb=window?window.PCjs.Components:[],ub=window?window.PCjs.Commands:{},vb=["hold","sleep","wait"],Fb={alert:function(a){q(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Gb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}}; var mb=window?window.PCjs.Machines:{},kb=window?window.PCjs.Components:[],ub=window?window.PCjs.Commands:{},vb=["hold","sleep","wait"],Fb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Gb={select:function(a,b,c){var d=!1;if(a=a.bindings[b])for(b=0;b<a.options.length;b++)if(a.options[b].textContent==c){a.selectedIndex!=b&&(a.selectedIndex=b);d=!0;break}return d}};
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)}); 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}); 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 v="pdp10",Pb="PDPjs",Qb=Math.pow(2,18)-1,Rb=Math.pow(2,18),Sb=Math.pow(2,17)-1,x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),Tb=Math.pow(2,34),Ub=Math.pow(2,36),Vb=Math.pow(2,21),Wb=Math.pow(2,26),Xb=Math.pow(2,23),Yb=Math.pow(2,30),v="pdp10",Pb="PDPjs",Zb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152, var v="pdp10",Pb="PDPjs",Qb=Math.pow(2,18)-1,Rb=Math.pow(2,18),Sb=Math.pow(2,17)-1,x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),Tb=Math.pow(2,34),Ub=Math.pow(2,36),Vb=Math.pow(2,21),Wb=Math.pow(2,26),Xb=Math.pow(2,23),Yb=Math.pow(2,30),v="pdp10",Pb="PDPjs",Zb={cpu:1,trap:2,fault:4,"int":8,bus:16,memory:32,mmu:64,rom:128,device:256,panel:512,keyboard:1024,key:2048,paper:4096,read:16384,write:32768,serial:1048576,timer:2097152,
speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648}; speaker:16777216,computer:33554432,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
function $b(a,b){r.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.i=this.I=this.u=this.w=0;this.N=this.O=-1;this.P=this.R=this.G=!1;this.S=ac;this.B={};this.b={START:[1,1,!0,!1,this.Rb],STEP:[1,1,!1,!1,this.Sb],ENABLE:[1,1,!1,!1,this.Mb],CONT:[1,1,!0,!1,this.Kb],DEP:[0,0,!0,!1,this.Lb],EXAM:[1,1,!0,!1,this.Nb],LOAD:[1,1,!0,!1,this.Pb],TEST:[0,0,!0,!1,this.Ob]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Qb,a];this.C=this.v=this.H=this.F=null;this.exports={hold:this.Ib,toggle:this.ac,reset:this.Xb, function $b(a,b){t.call(this,"Panel",a,512);this.K=this.M=0;this.T=b;this.i=this.I=this.u=this.w=0;this.N=this.O=-1;this.P=this.R=this.F=!1;this.S=ac;this.B={};this.b={START:[1,1,!0,!1,this.Sb],STEP:[1,1,!1,!1,this.Tb],ENABLE:[1,1,!1,!1,this.Nb],CONT:[1,1,!0,!1,this.Lb],DEP:[0,0,!0,!1,this.Mb],EXAM:[1,1,!0,!1,this.Ob],LOAD:[1,1,!0,!1,this.Qb],TEST:[0,0,!0,!1,this.Pb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Rb,a];this.C=this.v=this.H=this.G=null;this.exports={hold:this.Jb,toggle:this.bc,reset:this.Yb,
set:this.$b};Kb(this)}ka($b,r);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.w=0)}; set:this.ac};Kb(this)}ka($b,t);l=$b.prototype;l.reset=function(a){this.stop();a&&bc(this,this.w=0)};
l.ka=function(a,b,c,d){if(this.F&&this.F.ka(a,b,c,d)||this.v&&this.v.ka(a,b,c,d)||this.C&&this.C.ka(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart= l.ka=function(a,b,c,d){if(this.G&&this.G.ka(a,b,c,d)||this.v&&this.v.ka(a,b,c,d)||this.C&&this.C.ka(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.M++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.B[b]=d?1:0,this.M++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){cc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){dc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):r.prototype.ka.call(this,a,b,c,d)}};l.Da=function(a,b,c,d){this.F=a;this.H=b;this.v=c;this.C=d;ec(this);fc(this)};l.ua=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ja=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()}; function(a,b){return function(c){cc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){dc(a,b)}}(this,b),!0):t.prototype.ka.call(this,a,b,c,d)}};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.C=d;ec(this);fc(this)};l.ua=function(a,b){if(!b)if(this.T&&gc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ja=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])hc(this,this.i=a[0]),bc(this,this.w=a[1]),ic(this,a[2]);return!0};l.Xb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])} l.restore=function(a){if(a=a[0])hc(this,this.i=a[0]),bc(this,this.w=a[1]),ic(this,a[2]);return!0};l.Yb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}fc(this);return!0};function jc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function ec(a,b){for(var c in a.B)jc(a,c,null!=b?b:a.B[c])}function kc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function fc(a){for(var b in a.b)kc(a,b,a.b[b][1])}
l.Ib=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.$b=function(a,b){if("SR"==a)return ic(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.ac=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1} l.Jb=function(a,b,c){if(cc(this,b)){if(c){var d=this;setTimeout(function(){dc(d,b);a&&a()},+c);return!1}dc(this,b)}return!0};l.ac=function(a,b){if("SR"==a)return ic(this,sa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,kc(this,a,c[1]),!0):!1};l.bc=function(a){return cc(this,a)?(dc(this,a),!0):!1};function cc(a,b){var c=a.b[b];return c?(kc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=lc&&(a.P=b==mc,a.R=b==nc),!0):!1}
function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Rb=function(a){a||this.v.A.L||(G(this.v,this.i),this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Sb=function(){};l.Mb=function(a){a||this.v.W()}; function dc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(kc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Sb=function(a){a||this.v.A.L||(G(this.v,this.i),this.b[oc]&&this.b[oc][1]&&pc(this.v))};l.Tb=function(){};l.Nb=function(a){a||this.v.W()};
l.Kb=function(a){if(!a&&!this.v.A.L)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Na(1);0<b&&(rc(this.v,b),sc(this.v,b,!0),tc(this.v,b))}catch(c){"number"!=typeof c&&Hb(this.v,c.stack||c.message)}this.stop();this.F&&H(this.F)}};l.Lb=function(a){a&&!this.v.A.L&&(this.P&&uc(this),a=bc(this,this.w=this.u),this.S==ac?vc(this.H,this.i,a):this.v.g(this.i,a))}; l.Lb=function(a){if(!a&&!this.v.A.L)if(this.b[oc]&&this.b[oc][1])pc(this.v);else{if((a=this.C)&&!Lb(a,!0))Mb(a,!0),qc(a,0,null),Mb(a,!1);else try{var b=this.v.Oa(1);0<b&&(rc(this.v,b),sc(this.v,b,!0),tc(this.v,b))}catch(c){"number"!=typeof c&&Hb(this.v,c.stack||c.message)}this.stop();this.G&&H(this.G)}};l.Mb=function(a){a&&!this.v.A.L&&(this.P&&uc(this),a=bc(this,this.w=this.u),this.S==ac?vc(this.H,this.i,a):this.v.g(this.i,a))};
l.Nb=function(a){if(!a&&!this.v.A.L){var b;this.R&&uc(this);this.S==ac?b=Ac(this.H,this.i):b=this.v.f(this.i);bc(this,this.w=b)}};l.Pb=function(a){a||this.v.A.L||hc(this,this.u)};l.Ob=function(a){a?(this.G=!0,ec(this,!0)):(this.G=!1,ec(this),ic(this,0))};l.Qb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function uc(a){var b=1,c=a.H.u;a.b[lc]&&a.b[lc][1]||(b=-b);hc(a,a.i&~c|a.i+b&c)} l.Ob=function(a){if(!a&&!this.v.A.L){var b;this.R&&uc(this);this.S==ac?b=Ac(this.H,this.i):b=this.v.f(this.i);bc(this,this.w=b)}};l.Qb=function(a){a||this.v.A.L||hc(this,this.u)};l.Pb=function(a){a?(this.F=!0,ec(this,!0)):(this.F=!1,ec(this),ic(this,0))};l.Rb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function uc(a){var b=1,c=a.H.u;a.b[lc]&&a.b[lc][1]||(b=-b);hc(a,a.i&~c|a.i+b&c)}
function hc(a,b){a.i=b&a.H.u;if(a.N!==a.i){a.N=a.i;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.G||jc(d,e,f)}}}function bc(a,b){a.I=b%D;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.G||jc(d,e,f)}}return a.I}function ic(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;fc(a);return!0}l.stop=function(){hc(this,this.v.i)}; function hc(a,b){a.i=b&a.H.u;if(a.N!==a.i){a.N=a.i;b=a.N;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.B[e]=f;d.F||jc(d,e,f)}}}function bc(a,b){a.I=b%D;if(a.O!==a.I){a.O=a.I;b=a.O;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.B[e]=f;d.F||jc(d,e,f)}}return a.I}function ic(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;fc(a);return!0}l.stop=function(){hc(this,this.v.i)};
function gc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=u(c),e=qb(d.id);e||(e=new $b(d,!0));sb(e,c)}}var ac=7,mc="DEP",oc="ENABLE",nc="EXAM",lc="STEP";Ya(gc);function Bc(a,b,c){r.call(this,"Bus",a,16);this.v=b;this.C=c;this.G=+a.busWidth||18;this.I=1<<this.G;this.u=this.I-1;this.i=Math.log2(16384);this.B=this.I/16384|0;this.w=0;this.b=[];a=new Cc(this);Dc(a,this.C);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;Kb(this)}ka(Bc,r);l=Bc.prototype;l.reset=function(){}; function gc(){for(var a=w(document,v,"panel"),b=0;b<a.length;b++){var c=a[b],d=u(c),e=qb(d.id);e||(e=new $b(d,!0));sb(e,c)}}var ac=7,mc="DEP",oc="ENABLE",nc="EXAM",lc="STEP";Ya(gc);function Bc(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.C=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.u=this.I-1;this.i=Math.log2(16384);this.B=this.I/16384|0;this.w=0;this.b=[];a=new Cc(this);Dc(a,this.C);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;Kb(this)}ka(Bc,t);l=Bc.prototype;l.reset=function(){};
l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ja=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,Ec(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){q("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ja=function(a){return a?this.save():!0};l.save=function(){var a=new F(this);a.set(0,Ec(this));return a.data()};l.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Fc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,n=16384-(e-k);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.D)return h.La+=h.D-e,h.D=e,!0;if(e>=h.D+h.La){n=h.size-(e-k);n>f&&(n=f);h.La=e-h.D+n;e=k+16384;f-=n;g++;continue}}return Gc(Hc,e,f)}e=new Cc(a,e,n,16384,d);Dc(e,a.C,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ic[d]+" at "+ua(b)),!0):Gc(Jc,b,c)} function Fc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,n=16384-(e-k);n>f&&(n=f);if(h&&h.size){if(h.type==d){if(e+f<=h.D)return h.Ma+=h.D-e,h.D=e,!0;if(e>=h.D+h.Ma){n=h.size-(e-k);n>f&&(n=f);h.Ma=e-h.D+n;e=k+16384;f-=n;g++;continue}}return Gc(Hc,e,f)}e=new Cc(a,e,n,16384,d);Dc(e,a.C,h);a.b[g++]=e;e=k+16384;f-=n}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Ic[d]+" at "+ua(b)),!0):Gc(Jc,b,c)}
function Ac(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.C(b&16383,b);a.w--;return b}function vc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Ec(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.gb||e.Gb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;k[h++]=p-g;k[h++]=n;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c} function Ac(a,b){var c=a.b[(b&a.u)>>>a.i];a.w++;b=c.C(b&16383,b);a.w--;return b}function vc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.w++;d.w(c,b&16383,b);a.w--}function Ec(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.gb||e.Hb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;k[h++]=p-g;k[h++]=n;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
l.Hb=function(a){this.w||(this.C&&Nb(this.C,4)&&Ob(this.C,"memory fault on "+I(this.C,a),!0,!0),this.v.W())};function Gc(a,b,c){q("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}var Hc=1,Jc=2;function Kc(a){r.call(this,"Device",a,256)}ka(Kc,r);l=Kc.prototype;l.Da=function(a,b,c,d){this.H=b;this.F=a;this.v=c;this.C=d;Kb(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ja=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new F(this)).data()}; l.Ib=function(a){this.w||(this.C&&Nb(this.C,4)&&Ob(this.C,"memory fault on "+I(this.C,a),!0,!0),this.v.W())};function Gc(a,b,c){r("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}var Hc=1,Jc=2;function Kc(a){t.call(this,"Device",a,256)}ka(Kc,t);l=Kc.prototype;l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.C=d;Kb(this)};l.ua=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ja=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new F(this)).data()};
l.restore=function(){return!0};Ya(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=u(d);switch(c.type){case "default":c=new Kc(c),sb(c,d)}}});function Cc(a,b,c,d,e){this.H=a;this.id=Lc+=2;this.D=b;this.La=c;this.size=d||0;this.type=e||Mc;this.F=e==Nc;this.b=null;this.f=this.C=this.jb;this.g=this.w=this.Ma;this.i=this.v=0;Dc(this);this.gb=this.Gb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Oc(this,Pc)}else Oc(this)}l=Cc.prototype;l.save=function(){return this.u}; l.restore=function(){return!0};Ya(function(){for(var a=w(document,v,"device"),b=0;b<a.length;b++){var c,d=a[b];c=u(d);switch(c.type){case "default":c=new Kc(c),sb(c,d)}}});function Cc(a,b,c,d,e){this.H=a;this.id=Lc+=2;this.D=b;this.Ma=c;this.size=d||0;this.type=e||Mc;this.G=e==Nc;this.b=null;this.f=this.C=this.jb;this.g=this.w=this.Na;this.i=this.v=0;Dc(this);this.gb=this.Hb=!1;if(this.size){a=this.u=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Oc(this,Pc)}else Oc(this)}l=Cc.prototype;l.save=function(){return this.u};
l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.gb=!0):!1};function Oc(a,b){b||(b=Qc);Rc(a,b,void 0);Sc(a,b,void 0)}function Rc(a,b,c){c&&a.i||(a.f=b[0]||a.jb);if(c||void 0===c)a.C=b[0]||a.jb}function Sc(a,b,c){c&&a.v||(a.g=!a.F&&b[1]||a.Ma);if(c||void 0===c)a.w=b[1]||a.Ma}l.Ha=function(a,b){b?this.v++||Sc(this,Tc,!1):this.i++||Rc(this,Tc,!1)};function Uc(a,b){b?--a.v||(a.g=a.F?a.Ma:a.w):--a.i||(a.f=a.C)} l.restore=function(a){return a&&this.size==a.length?(this.u=a,this.gb=!0):!1};function Oc(a,b){b||(b=Qc);Rc(a,b,void 0);Sc(a,b,void 0)}function Rc(a,b,c){c&&a.i||(a.f=b[0]||a.jb);if(c||void 0===c)a.C=b[0]||a.jb}function Sc(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Na);if(c||void 0===c)a.w=b[1]||a.Na}l.Ha=function(a,b){b?this.v++||Sc(this,Tc,!1):this.i++||Rc(this,Tc,!1)};function Uc(a,b){b?--a.v||(a.g=a.G?a.Na:a.w):--a.i||(a.f=a.C)}
function Dc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Rc(a,Tc,!1),(a.v=c.v)&&Sc(a,Tc,!1))}l.jb=function(a,b){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to read invalid address "+I(this.b,b),!0);this.H.Hb(b);return-1};l.Ma=function(a,b,c){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to write "+I(this.b,a)+" to invalid addresses "+I(this.b,c),!0)};l.Vb=function(a){return this.u[a]};l.dc=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.gb=!0)}; function Dc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&Rc(a,Tc,!1),(a.v=c.v)&&Sc(a,Tc,!1))}l.jb=function(a,b){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to read invalid address "+I(this.b,b),!0);this.H.Ib(b);return-1};l.Na=function(a,b,c){this.b&&Nb(this.b,32)&&Ob(this.b,"attempt to write "+I(this.b,a)+" to invalid addresses "+I(this.b,c),!0)};l.Wb=function(a){return this.u[a]};l.ec=function(a,b){this.u[b]!=a&&(this.u[b]=a,this.gb=!0)};
l.Tb=function(a,b){if(this.b&&null!=this.D){var c=this.b;Vc(c,this.D+a,2,c.N)&&c.W(!1)}return this.C(a,b)};l.cc=function(a,b,c){if(this.b&&null!=this.D){var d=this.b;Vc(d,this.D+b,2,d.I)&&d.W(!1)}this.F?this.Ma(a,0,c):this.w(a,b,c)};var Mc=0,Nc=2,Ic=["NONE","RAM","ROM"],Lc=0,Qc=[],Pc=[Cc.prototype.Vb,Cc.prototype.dc],Tc=[Cc.prototype.Tb,Cc.prototype.cc]; l.Ub=function(a,b){if(this.b&&null!=this.D){var c=this.b;Vc(c,this.D+a,2,c.N)&&c.W(!1)}return this.C(a,b)};l.dc=function(a,b,c){if(this.b&&null!=this.D){var d=this.b;Vc(d,this.D+b,2,d.I)&&d.W(!1)}this.G?this.Na(a,0,c):this.w(a,b,c)};var Mc=0,Nc=2,Ic=["NONE","RAM","ROM"],Lc=0,Qc=[],Pc=[Cc.prototype.Wb,Cc.prototype.ec],Tc=[Cc.prototype.Ub,Cc.prototype.dc];
function Wc(a,b){r.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ya=0;this.ab=b;this.ea=c;this.Za=Math.round(this.ab/1E4)/100;this.ba=this.Za*this.ea;this.$a=this.Ba=this.fa=this.Ra=0;this.A.L=this.A.Xa=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.Ia=!1;this.za=this.ha=0;this.Aa=+a.csStart;this.la=+a.csInterval;this.ma=+a.csStop;this.O=[];this.sb=this.Yb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.bb=this.aa= function Wc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ya=0;this.ab=b;this.ea=c;this.Za=Math.round(this.ab/1E4)/100;this.ba=this.Za*this.ea;this.$a=this.Ba=this.fa=this.Sa=0;this.A.L=this.A.Xa=!1;this.A.Z=a.autoStart;"string"==typeof this.A.Z&&(this.A.Z="true"==this.A.Z);this.A.Ia=!1;this.za=this.ha=0;this.Aa=+a.csStart;this.la=+a.csInterval;this.ma=+a.csStop;this.O=[];this.sb=this.Zb.bind(this);this.T=this.N=this.R=this.S=this.M=this.ya=this.P=this.na=this.bb=this.aa=
0;this.Fa=null;Kb(this)}ka(Wc,r);l=Wc.prototype;l.Da=function(a,b,c,d){this.F=a;this.H=b;this.C=d;this.Fa=a.u;for(a=0;a<Xc.length;a++)(b=this.J[Xc[a]])&&this.F.ka(null,Xc[a],b);Kb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1}; 0;this.Fa=null;Kb(this)}ka(Wc,t);l=Wc.prototype;l.Da=function(a,b,c,d){this.G=a;this.H=b;this.C=d;this.Fa=a.u;for(a=0;a<Xc.length;a++)(b=this.J[Xc[a]])&&this.G.ka(null,Xc[a],b);Kb(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
l.ua=function(a,b){var c=Yc(this.F,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.C&&void 0===this.J.run);if(!b){if(a){Zc(this);if(!this.restore(a))return!1;$c(this)}else this.reset();this.C?(a=this.C,b=this.A.Z,a.Aa=!0,a.j("Type ? for help with PDPjs Debugger commands"),ad(a),b||bd(a),a.xa&&(b=a.xa,a.xa=null,cd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Fa?"(click Run to start)":"(type 'go' to start)"))}return!0}; l.ua=function(a,b){var c=Yc(this.G,"autoStart");null!=c?this.A.Z="true"==c?!0:"false"==c?!1:!!c:null==this.A.Z&&(this.A.Z=!this.C&&void 0===this.J.run);if(!b){if(a){Zc(this);if(!this.restore(a))return!1;$c(this)}else this.reset();this.C?(a=this.C,b=this.A.Z,a.Aa=!0,a.j("Type ? for help with PDPjs Debugger commands"),ad(a),b||bd(a),a.xa&&(b=a.xa,a.xa=null,cd(a,b))):this.status("No debugger detected");this.A.Z||this.j("CPU will not be auto-started "+(this.Fa?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.ja=function(a){return a?this.save():!0};l.Z=function(){return this.A.L?!0:this.A.Z?(pc(this),!0):!1};l.wb=function(){return 0};function $c(a){void 0===a.Aa&&(a.Aa=0);void 0===a.la&&(a.la=-1);void 0===a.ma&&(a.ma=-1);a.A.Ia=0<=a.Aa&&0<a.la;a.A.Ia&&(a.za=0,a.ha=a.Aa-a.T)}function tc(a,b){if(a.A.Ia){var c=!1;a.za=a.za+a.wb()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.la,c=!0);0<=a.ma&&a.ma<=dd(a)&&(a.la=a.ma=-1,$c(a),a.W(),c=!0);c&&a.j(dd(a)+" cycles: checksum="+m(a.za))}} l.ja=function(a){return a?this.save():!0};l.Z=function(){return this.A.L?!0:this.A.Z?(pc(this),!0):!1};l.wb=function(){return 0};function $c(a){void 0===a.Aa&&(a.Aa=0);void 0===a.la&&(a.la=-1);void 0===a.ma&&(a.ma=-1);a.A.Ia=0<=a.Aa&&0<a.la;a.A.Ia&&(a.za=0,a.ha=a.Aa-a.T)}function tc(a,b){if(a.A.Ia){var c=!1;a.za=a.za+a.wb()|0;a.ha-=b;0>=a.ha&&(a.ha+=a.la,c=!0);0<=a.ma&&a.ma<=dd(a)&&(a.la=a.ma=-1,$c(a),a.W(),c=!0);c&&a.j(dd(a)+" cycles: checksum="+m(a.za))}}
l.ka=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.F)if(a=d.F,a.A.V)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Ta?" (waiting for notification)":""))+".");a=!1}a&&(d.A.L?d.W():pc(d))},!0;case "speed":return this.J[b]= l.ka=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.G)if(a=d.G,a.A.V)a=!0;else{var b=null,c,h=pb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.V);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Ua?" (waiting for notification)":""))+".");a=!1}a&&(d.A.L?d.W():pc(d))},!0;case "speed":return this.J[b]=
c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){ed(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function sc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function fd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Za);a.$a=Math.round(1E3/gd);a.Ba=Math.floor(a.ab/gd*c);b||(a.fa=a.Ba);a.Ra=0}function dd(a){return a.T+a.N+a.R-a.S}function Zc(a){a.aa=0;a.bb=0;a.T=a.N=a.R=a.S=0;$c(a);ed(a,1)} c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){ed(d,d.ea<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function sc(a,b,c){a.T+=b;c&&(a.R=a.S=0)}function fd(a,b){var c=1;b&&1<a.ea&&a.aa&&(c=a.aa/a.Za);a.$a=Math.round(1E3/gd);a.Ba=Math.floor(a.ab/gd*c);b||(a.fa=a.Ba);a.Sa=0}function dd(a){return a.T+a.N+a.R-a.S}function Zc(a){a.aa=0;a.bb=0;a.T=a.N=a.R=a.S=0;$c(a);ed(a,1)}
function ed(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Za*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.F&&hd(a.F)}sc(a,a.N);a.N=0;a.M=nb();a.P=0;fd(a);return d}function id(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function jd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b} function ed(a,b,c){var d=!1;if(void 0!==b){.8>a.aa/a.ba?b=1:d=!0;a.ea=b;b=a.Za*a.ea;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.G&&hd(a.G)}sc(a,a.N);a.N=0;a.M=nb();a.P=0;fd(a);return d}function id(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function jd(a){for(var b=[],c=0;c<a.O.length;c++)b.push(a.O[c][0]);return b}
function rc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c} function rc(a,b){for(var c=a.O.length-1;0<=c;c--){var d=a.O[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.R-=a.S;a.S=0;b&&(a.R=0);return c}
l.Yb=function(){if(this.A.L){this.Ra>=this.ab&&fd(this,!0);this.na=0;this.ya=nb();if(this.P){var a=this.ya-this.P;a>this.$a&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=id(this,this.A.Ia?1:this.Ba);try{this.Na(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.na+=b;this.N+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.bb>=ld&&(this.F&&H(this.F,void 0),this.bb=0);break}}while(this.A.L)}catch(e){this.W();this.F&&this.F.stop(nb(),dd(this));Hb(this, l.Zb=function(){if(this.A.L){this.Sa>=this.ab&&fd(this,!0);this.na=0;this.ya=nb();if(this.P){var a=this.ya-this.P;a>this.$a&&(this.M+=a,this.M>this.ya&&(this.M=this.ya))}try{do{var b=id(this,this.A.Ia?1:this.Ba);try{this.Oa(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.na+=b;this.N+=b;tc(this,b);rc(this,b);this.fa-=b;if(0>=this.fa){this.fa+=this.Ba;++this.bb>=ld&&(this.G&&H(this.G,void 0),this.bb=0);break}}while(this.A.L)}catch(e){this.W();this.G&&this.G.stop(nb(),dd(this));Hb(this,
e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.sb;this.P=nb();var c=this.$a;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,ed(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Ra+=this.na;this.P+=c;a(b,c)}}}; e.stack||e.message);return}if(this.A.L){a=setTimeout;b=this.sb;this.P=nb();var c=this.$a;this.na&&(c=Math.round(c*this.na/this.Ba));var c=c-(this.P-this.ya),d=this.P-this.M;d&&(this.aa=Math.round(this.N/(10*d))/100,864E5<=d&&(this.T=0,ed(this)));if(0>c||this.aa<this.ba)-1E3>c&&(this.M-=c),c=0;this.Sa+=this.na;this.P+=c;a(b,c)}}};
function pc(a,b){if(!Ib(a))if(a.A.L)a.j(a.toString()+" busy");else{ed(a);a.A.L=!0;a.A.Xa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.F&&(b&&hd(a.F,!0),a.F.start(a.M,dd(a)));a.C||a.status("Started");setTimeout(a.sb,0)}}l.Na=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){kd(this);sc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.F&&this.F.stop(nb(),dd(this));b=!0;this.C||this.status("Stopped")}this.A.complete=a;return b};var gd=30,ld=15,Xc=["power","reset"]; function pc(a,b){if(!Ib(a))if(a.A.L)a.j(a.toString()+" busy");else{ed(a);a.A.L=!0;a.A.Xa=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&hd(a.G,!0),a.G.start(a.M,dd(a)));a.C||a.status("Started");setTimeout(a.sb,0)}}l.Oa=function(){return 0};l.W=function(a){var b=!1;if(this.A.L){kd(this);sc(this,this.N);this.N=0;this.A.L=!1;if(b=this.J.run)b.textContent="Run";this.G&&this.G.stop(nb(),dd(this));b=!0;this.C||this.status("Stopped")}this.A.complete=a;return b};var gd=30,ld=15,Xc=["power","reset"];
function md(a){var b=+a.model||1001;Wc.call(this,a,1E6);this.rb=b;this.Oa=+a.addrReset||0;this.Eb=nd.bind(this);this.w=J.bind(this);this.wa=null;this.ob=[];this.A.complete=!1}ka(md,Wc);l=md.prototype;l.reset=function(){this.status("Model "+this.rb);this.A.L&&this.W();this.b=this.K=this.Ca=0;this.i=this.xa=this.Oa;this.I=this.qa=-1;this.G=this.u=0;this.cb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.B=0;this.f=this.Ub;this.g=this.ec;this.wa=null;Zc(this);this.A.error=!1;Wc.prototype.reset.call(this)}; function md(a){var b=+a.model||1001;Wc.call(this,a,1E6);this.rb=b;this.Pa=+a.addrReset||0;this.Fb=nd.bind(this);this.w=J.bind(this);this.wa=null;this.ob=[];this.A.complete=!1}ka(md,Wc);l=md.prototype;l.reset=function(){this.status("Model "+this.rb);this.A.L&&this.W();this.b=this.K=this.Ca=0;this.i=this.xa=this.Pa;this.I=this.qa=-1;this.F=this.u=0;this.cb=[0,0];this.oa=[0,0];this.ga=[0,0];this.pa=[0,0];this.va=this.i;this.B=0;this.f=this.Vb;this.g=this.fc;this.wa=null;Zc(this);this.A.error=!1;Wc.prototype.reset.call(this)};
l.wb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ca,this.i,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Oa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,od(this));a.set(4,jd(this));return a.data()}; l.wb=function(){return 0};l.save=function(){var a=new F(this);a.set(0,[this.b,this.K,this.Ca,this.i,this.qa,this.I,this.u,this.B,this.xa,this.va,this.Pa]);a.set(1,[]);a.set(2,[this.T,this.ea,this.A.Z]);a.set(3,od(this));a.set(4,jd(this));return a.data()};
l.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.K=b.next().value;this.Ca=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Oa=b.next().value;b=a[2];this.T=b[0];ed(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ob.length;d++){var e=this.ob[d];if(e.bc===b[c]){d=e;break a}}d= l.restore=function(a){var b;b=a[0];ga();ca();ga();var c=b[Symbol.iterator];b=c?c.call(b):ha(b);this.b=b.next().value;this.K=b.next().value;this.Ca=b.next().value;this.i=b.next().value;this.qa=b.next().value;this.I=b.next().value;this.u=b.next().value;this.B=b.next().value;this.xa=b.next().value;this.va=b.next().value;this.Pa=b.next().value;b=a[2];this.T=b[0];ed(this,b[1]);this.A.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ob.length;d++){var e=this.ob[d];if(e.cc===b[c]){d=e;break a}}d=
null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function pd(a,b){var c=a.i;a.i=(c+b)%Rb;return c}function G(a,b){a.i=b%Rb}function od(a){var b=[];for(a=a.wa;a;)b.push(a.bc),a=a.next;return b}l.Ub=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.ec=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b}; null}d&&(d.next=this.wa,this.wa=d)}a=a[4];for(b=0;b<this.O.length&&b<a.length;b++)this.O[b][0]=a[b];return!0};function pd(a,b){var c=a.i;a.i=(c+b)%Rb;return c}function G(a,b){a.i=b%Rb}function od(a){var b=[];for(a=a.wa;a;)b.push(a.cc),a=a.next;return b}l.Vb=function(a){var b=this.H;a=this.va=a;return b.b[(a&b.u)>>>b.i].f(a&16383,a)};l.fc=function(a,b){var c=this.H;a=this.va=a;c.b[(a&c.u)>>>c.i].g(b,a&16383,a);return b};
l.Na=function(a){this.A.complete=!0;var b=this.C?qd(this.C)?1:this.A.Xa?-1:0:0,c=a?this.A.Xa?0:1:-1;this.A.Xa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(rd(this.C,this.i,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&rd(this.C,this.i,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ca=this.f(this.qa),this.qa=-1):(this.K=this.Ca= l.Oa=function(a){this.A.complete=!0;var b=this.C?qd(this.C)?1:this.A.Xa?-1:0:0,c=a?this.A.Xa?0:1:-1;this.A.Xa=!1;this.R=this.S=a;this.B=this.B&-5|(b?4:0);do{if(this.B){if(this.B&4){if(rd(this.C,this.i,c)){this.W();break}++b||(this.B&=-5);c||c++}if(a=this.B&11)this.B&2?this.wa||(this.B&=-3):this.B&1&&this.B++,a=!1;if(a){if(this.B&4&&rd(this.C,this.i,c)){this.W();break}if(0>c)break}}this.B&=15;this.K&4194304?this.K=this.f(this.b):0<=this.qa?(this.K=this.Ca=this.f(this.qa),this.qa=-1):(this.K=this.Ca=
this.f(this.xa=this.i),this.i=(this.i+1)%Rb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Qb;a=this.K&4194304?-1:this.Ca/Xb|0;0<=a&&this.Eb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Ya(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new md(d);sb(d,c)}});function nd(a){sd[a>>4].call(this,a,a&15)}function L(a){this.w(a)} this.f(this.xa=this.i),this.i=(this.i+1)%Rb);this.K&=8388607;this.b=this.K&262143;if(a=this.K>>18&15)this.b=this.b+this.f(a)&Qb;a=this.K&4194304?-1:this.Ca/Xb|0;0<=a&&this.Fb(a)}while(0<this.S);return this.A.complete?this.R-this.S:!1===this.A.complete?-1:0};Ya(function(){for(var a=w(document,v,"cpu"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new md(d);sb(d,c)}});function nd(a){sd[a>>4].call(this,a,a&15)}function L(a){this.w(a)}
function td(){var a=0,b=this.f(this.b),c=b/Yb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Yb+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function ud(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}} function td(){var a=0,b=this.f(this.b),c=b/Yb&63,d=b>>24&63,c=c-d;0>c&&(a++,c=36-d,0>c&&(c=64-d));b=c*Yb+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function ud(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;a=32>=c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.I=-1}}
function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function wd(a,b){this.g(b,this.f(this.b))}function xd(a,b){this.g(b,this.b)}function yd(a,b){this.g(this.b,this.f(b))}function zd(a,b){this.g(b,0)}function Qd(a,b){this.g(b,C-this.f(b))}function Rd(a,b){this.g(b,C)} function vd(a,b){a=this.f(this.b);if(0>this.I)this.I=a,this.K=this.b|4194304;else{var c=this.I/Yb&63,d=this.I>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.I=-1}}function wd(a,b){this.g(b,this.f(this.b))}function xd(a,b){this.g(b,this.b)}function yd(a,b){this.g(this.b,this.f(b))}function zd(a,b){this.g(b,0)}function Qd(a,b){this.g(b,C-this.f(b))}function Rd(a,b){this.g(b,C)}
function Sd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Td(a,d,c)+(c-(c&x)))}function Ud(a,b){var c=this.f(b);this.g(b,Td(a,c,0))}function Vd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Td(a,c,b)+(b-(b&x)))}function Wd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Xd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Td(a,d,c)+c)} function Sd(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Td(a,d,c)+(c-(c&x)))}function Ud(a,b){var c=this.f(b);this.g(b,Td(a,c,0))}function Vd(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Td(a,c,b)+(b-(b&x)))}function Wd(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function Xd(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Td(a,d,c)+c)}
function Yd(a,b){var c=this.b*y,d=this.f(b);this.g(b,Td(a,d,c)+c)}function Zd(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Td(a,c,b)+b)}function $d(a,b){var c=this.f(this.b),d=(c&x)*y,c=Td(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,be(a,d,c)+c)}function ce(a,b){var c=this.f(b);this.g(b,be(a,c,this.b)+this.b)}function de(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)} function Yd(a,b){var c=this.b*y,d=this.f(b);this.g(b,Td(a,d,c)+c)}function Zd(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Td(a,c,b)+b)}function $d(a,b){var c=this.f(this.b),d=(c&x)*y,c=Td(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function ae(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,be(a,d,c)+c)}function ce(a,b){var c=this.f(b);this.g(b,be(a,c,this.b)+this.b)}function de(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}
function ee(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Sb?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function fe(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,be(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,be(a,c,0))}function he(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.f(this.b),d=c/y|0,c=be(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function M(a){je[a&7].call(this,a,a>>3&127)} function ee(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>Sb?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function fe(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,be(a,d,c)+c)}function ge(a,b){var c=this.f(b);this.g(b,be(a,c,0))}function he(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,be(a,c,b)+b)}function ie(a,b){var c=this.f(this.b),d=c/y|0,c=be(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function M(a){je[a&7].call(this,a,a>>3&127)}
function ke(){}function le(){}function J(a){this.j("undefined opcode: "+ua(a));pd(this,-1);this.W()}function me(a){a>z&&(a!=A?a=Ub-a:this.u|=163840);return a}function N(a,b){var c=(a+b)%D;ne.call(this,a,b,c);return c} function ke(){}function le(){}function J(a){this.j("undefined opcode: "+ua(a));pd(this,-1);this.W()}function me(a){a>z&&(a!=A?a=Ub-a:this.u|=163840);return a}function N(a,b){var c=(a+b)%D;ne.call(this,a,b,c);return c}
function oe(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%D;b=this.G=f+Math.trunc(b/2);c>z&&(c=D-c,d=!d);b>z&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.cb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<pe(this.pa,this.ga);)qe(this.ga,this.ga),qe(this.oa,this.oa);do{if(0<=pe(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),qe(this.cb,this.oa),re(this.pa)))break;se(this.ga);se(this.oa)}while(!re(this.oa)); function oe(a,b,c){var d=!1,e=!1,f=b-b%A;a=a%A+b*A%D;b=this.F=f+Math.trunc(b/2);c>z&&(c=D-c,d=!d);b>z&&(a?(b=C-b,a=D-a):b&&(b=D-b),e=!0,d=!d);if(b>=c)return this.u|=131104,-1;f=this.cb;f[0]=0;f[1]=0;f=this.oa;f[0]=1;f[1]=0;f=this.ga;f[0]=c;f[1]=0;c=this.pa;c[0]=a;for(c[1]=b;0<pe(this.pa,this.ga);)qe(this.ga,this.ga),qe(this.oa,this.oa);do{if(0<=pe(this.pa,this.ga)&&(b=this.pa,a=this.ga,b[0]-=a[0],b[1]-=a[1],0>b[0]&&(b[0]+=D,b[1]--),qe(this.cb,this.oa),re(this.pa)))break;se(this.ga);se(this.oa)}while(!re(this.oa));
a=this.cb[0];this.G=this.pa[0];d&&a&&(a=D-a);e&&this.G&&(this.G=D-this.G);return a} a=this.cb[0];this.F=this.pa[0];d&&a&&(a=D-a);e&&this.F&&(this.F=D-this.F);return a}
function te(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=D-d,b=!b);e>z&&(e=D-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=C-f,a=D-a):f&&(f=D-f));if(c)return(f||a>z)&&(f!=C||a<=z)&&(this.u|=131072),a;c=a;b=f;a=b-b%A;b=2*b%D+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.u|=131072);this.G=c;return b} function te(a,b,c){var d=a,e=b;b=!1;var f;d>z&&(d=D-d,b=!b);e>z&&(e=D-e,b=!b);if(d<y&&e<y)a=d*e,f=0;else{a=d&x;d=Math.trunc(d/y);f=e&x;var e=Math.trunc(e/y),g=a*f,h=d*f+Math.trunc(g/y);f=Math.trunc(h/y);h=(h&x)+a*e;a=h*y+(g&x);f+=Math.trunc(h/y)+d*e}b&&(a?(f=C-f,a=D-a):f&&(f=D-f));if(c)return(f||a>z)&&(f!=C||a<=z)&&(this.u|=131072),a;c=a;b=f;a=b-b%A;b=2*b%D+Math.trunc(c/A);c=a+c%A;d=b-b%A;a!=d&&(b=a+(b-d),this.u|=131072);this.F=c;return b}
function ue(a){a?a==A?this.u|=163840:a=Ub-a:this.u|=98304;return a}function O(a,b){var c=a-b;0>c&&(c+=D);ne.call(this,c,b,a);return c}function ne(a,b,c){a=Math.trunc(a/Tb);b=Math.trunc(b/Tb);c=Math.trunc(c/Tb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function P(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function Q(a,b){return P(a,(~(b/E|0)&15)*E+(~b>>>0))}function R(a,b){return(a<A?a:a-D)-(b<A?b:b-A)} function ue(a){a?a==A?this.u|=163840:a=Ub-a:this.u|=98304;return a}function O(a,b){var c=a-b;0>c&&(c+=D);ne.call(this,c,b,a);return c}function ne(a,b,c){a=Math.trunc(a/Tb);b=Math.trunc(b/Tb);c=Math.trunc(c/Tb);var d=a^(a^b)&(b^c);this.u=this.u|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function P(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function Q(a,b){return P(a,(~(b/E|0)&15)*E+(~b>>>0))}function R(a,b){return(a<A?a:a-D)-(b<A?b:b-A)}
function ve(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function T(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function U(a){return a<A?a:a-D}function V(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function W(a){return(a/y|0)+(a&x)*y}function be(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Sb?x*y:0}return b}function Td(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b} function ve(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function T(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function U(a){return a<A?a:a-D}function V(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function W(a){return(a/y|0)+(a&x)*y}function be(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>Sb?x*y:0}return b}function Td(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
function qe(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function pe(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function se(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function re(a){return!a[0]&&!a[1]} function qe(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function pe(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function se(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function re(a){return!a[0]&&!a[1]}
@ -115,9 +115,9 @@ var sd=[L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)}, function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,xd,yd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ue.call(this,this.f(this.b)))},function(a,b){this.g(b,ue.call(this,this.b))},function(a,b){this.g(this.b, function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},wd,xd,yd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,ue.call(this,this.f(this.b)))},function(a,b){this.g(b,ue.call(this,this.b))},function(a,b){this.g(this.b,
ue.call(this,this.f(b)))},function(a,b){a=ue.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,me.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,me.call(this,this.f(b)))},function(a,b){a=me.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,te.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b), ue.call(this,this.f(b)))},function(a,b){a=ue.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,me.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,me.call(this,this.f(b)))},function(a,b){a=me.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,te.call(this,this.f(b),this.b,!0))},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b),
!0))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.G)},function(a,b){this.g(b,te.call(this,this.f(b),this.b));this.g(b+1&15,this.G)},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.G)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+ !0))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,te.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,te.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,te.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,te.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||(this.g(b,a),this.g(b+
1&15,this.G))},function(a,b){a=oe.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.G))},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.G))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.G))}, 1&15,this.F))},function(a,b){a=oe.call(this,this.f(b),0,this.b);0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=oe.call(this,this.f(b),0,this.f(this.b));0>a||this.g(this.b,a)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.b);0>c||(this.g(b,c),this.g(b+1&15,this.F))},
function(a,b){a=this.f(b);b=this.f(b+1&15);b=oe.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.G))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(D-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.u|=131072):a-c<=z&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+D:d; function(a,b){a=this.f(b);b=this.f(b+1&15);b=oe.call(this,b,a,this.f(this.b));0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15),c=oe.call(this,c,a,this.f(this.b));0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){var c=(this.b<<14>>14)%256;if(c){a=this.f(b);var d=a>z?-(D-a):a;0<c?(35<=c?(d=0>d?A:0,c=z):(d=d*Math.pow(2,c)%A,c=A-Math.pow(2,35-c)),a<=z?a+c>z&&(this.u|=131072):a-c<=z&&(this.u|=131072)):d=-35>=c?0>d?-1:0:Math.trunc(d/Math.pow(2,-c));a=0>d?d+D:d;
this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<A||d>z&& this.g(b,a)}},function(a,b){if(a=(this.b<<14>>14)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+1&15,a)},function(a,b){if(a=(this.b<<14>>14)%256){var c,d=this.f(b),e=this.f(b+1&15);if(0<a){var f=d;if(36<=a){if(0<d&&d<A||d>z&&
d<C)this.u|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<C)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.u|=131072):e-c<=z&&(this.u|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.u|=131072):(f-c<=z&&(this.u|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?C:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=C,e+=A)):(c=d>z?D-Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+ d<C)this.u|=131072;if(71<=a){if(0<e&&e<A||e>z&&e<C)this.u|=131072;d=0}else d=e*Math.pow(2,a-35)%A,c=A-Math.pow(2,70-a),f<=z?e+c>z&&(this.u|=131072):e-c<=z&&(this.u|=131072);e=0;f>z&&(d+=A,e+=A)}else d=d*Math.pow(2,a)%A+Math.trunc(e%A/Math.pow(2,35-a)),e=e*Math.pow(2,a)%A,c=A-Math.pow(2,35-a),f<=z?f+c>z&&(this.u|=131072):(f-c<=z&&(this.u|=131072),d+=A,e+=A)}else-36>=a?(e=-72>=a?d>z?C:0:Math.trunc(d%A/Math.pow(2,-a-35)),d<=z?d=0:(d=C,e+=A)):(c=d>z?D-Math.pow(2,36+a):0,e=Math.trunc(e%A/Math.pow(2,-a))+
d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+ d%A*Math.pow(2,35+a)%A,d=Math.trunc(d/Math.pow(2,-a))+c,d>z&&(e+=A));this.g(b,d);this.g(b+1&15,e)}},function(a,b){if(a=(this.b<<14>>14)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b<<14>>14)%256){var c=this.f(b),d=this.f(b+
@ -148,123 +148,125 @@ b){G(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){G(this,
this.f(b);P(a,this.b*y)||G(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);P(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;P(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b); this.f(b);P(a,this.b*y)||G(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);P(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;P(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);
P(a,c)||G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));P(a,c)||G(this,this.i+1);this.g(b,T(a,c))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);P(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));P(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M, P(a,c)||G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));P(a,c)||G(this,this.i+1);this.g(b,T(a,c))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);P(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));P(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,
M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M],je=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}]; M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M],je=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.u&=-131073);a&131072&&(this.u&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.u&131072&&(a|=8);this.u&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
function we(a){r.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.G=wa(this.w);if(this.w){a=this.w;var b=xa(this.G);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(lb(c.Qa,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);xe(c)})}}ka(we,r); function we(a){t.call(this,"ROM",a,128);this.U=this.b=null;this.B=+a.addr;this.u=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=wa(this.w);if(this.w){a=this.w;var b=xa(this.F);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.da("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(lb(c.Ra,a,b),(a=Ma(a,b))?(c.b=a.Y,c.U=a.U):c.w=null);xe(c)})}}ka(we,t);
we.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.C=d;xe(this)};we.prototype.ua=function(){this.U&&(this.C&&ye(this.C,this.id,this.B,this.u,this.U),delete this.U);return!0};we.prototype.ja=function(){return!0}; we.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.C=d;xe(this)};we.prototype.ua=function(){this.U&&(this.C&&ye(this.C,this.id,this.B,this.u,this.U),delete this.U);return!0};we.prototype.ja=function(){return!0};
function xe(a){if(!Jb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Hb(a,"ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.u,8,!0)+")");else{var b;b=a.B;if(Fc(a.H,b,a.u,Nc)){var c;for(c=0;c<a.b.length;c++)vc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>= function xe(a){if(!Jb(a)){if(a.w){if(!a.b||!a.H)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Hb(a,"ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.u,8,!0)+")");else{var b;b=a.B;if(Fc(a.H,b,a.u,Nc)){var c;for(c=0;c<a.b.length;c++)vc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.u,h=[],k=d.B>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.u;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Kb(a)}}Ya(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new we(d);sb(d,c)}}); f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Kb(a)}}Ya(function(){for(var a=w(document,v,"rom"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new we(d);sb(d,c)}});
function ze(a){r.call(this,"RAM",a);this.U=this.Ga=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.G=!1;this.b=a.file;this.B=wa(this.b);if(this.b){a=this.b;var b=xa(this.B);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(lb(c.Qa,a,b),(a=Ma(a,b))?(c.Ga=a.Ga, function ze(a){t.call(this,"RAM",a);this.U=this.Ga=null;this.i=+a.addr;this.u=+a.size;this.sa=a.load;this.ra=a.exec;null!=this.sa&&(this.sa=+this.sa);null!=this.ra&&(this.ra=+this.ra);this.w=this.F=!1;this.b=a.file;this.B=wa(this.b);if(this.b){a=this.b;var b=xa(this.B);"json"!=b&&"hex"!=b&&(a=Na()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Ha(a,null,!0,function(a,b,f){f?(c.da("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(lb(c.Ra,a,b),(a=Ma(a,b))?(c.Ga=a.Ga,
c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Ae(c)})}}ka(ze,r);ze.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.C=d;Ae(this)};ze.prototype.ua=function(a,b){this.U&&(this.C&&ye(this.C,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};ze.prototype.ja=function(){return!0}; c.U=a.U,null==c.sa&&(c.sa=a.sa),null==c.ra&&(c.ra=a.ra)):c.b=null);Ae(c)})}}ka(ze,t);ze.prototype.Da=function(a,b,c,d){this.H=b;this.v=c;this.C=d;Ae(this)};ze.prototype.ua=function(a,b){this.U&&(this.C&&ye(this.C,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};ze.prototype.ja=function(){return!0};
function Ae(a){if(a.H&&(!a.w&&a.u&&(Fc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Jb(a))){if(!a.w)q("No RAM allocated");else if(a.b){if(!a.Ga)return;Be(a,a.Ga,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.G=!0;Kb(a)}} function Ae(a){if(a.H&&(!a.w&&a.u&&(Fc(a.H,a.i,a.u,1)?a.w=!0:a.u=0),!Jb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Ga)return;Be(a,a.Ga,a.sa,a.ra,a.i)?a.status('Loaded image "'+a.B+'"'):a.da('Error loading image "'+a.B+'"')}a.F=!0;Kb(a)}}
ze.prototype.reset=function(){if(this.w&&!this.G){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.w(g,d,e.D+d);c-=16384;b++;d=0}this.Ga&&Be(this,this.Ga,this.sa,this.ra,this.i,!this.C)}this.G=!1}; ze.prototype.reset=function(){if(this.w&&!this.F){for(var a=this.H,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0,g=void 0===g?0:g,d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=D);for(var g=Math.trunc(Math.abs(g))%D,h=d;f--&&h<e.size;h++)e.w(g,d,e.D+d);c-=16384;b++;d=0}this.Ga&&Be(this,this.Ga,this.sa,this.ra,this.i,!this.C)}this.F=!1};
function Be(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)vc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Oa=d,G(a,d),f?a.A.V?a.A.L||pc(a):a.A.Z=!0:a.C&&a.A.V?a.W()||a.F.A.reset||(ad(a.C),H(a.F,-1)):!1===f&&a.W(),!a.A.L&&a.Fa&&a.Fa.stop()));return g}Ya(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new ze(d);sb(d,c)}}); function Be(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)vc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(a.v.W(),f=!1),null!=d&&(a=a.v,a.Pa=d,G(a,d),f?a.A.V?a.A.L||pc(a):a.A.Z=!0:a.C&&a.A.V?a.W()||a.G.A.reset||(ad(a.C),H(a.G,-1)):!1===f&&a.W(),!a.A.L&&a.Fa&&a.Fa.stop()));return g}Ya(function(){for(var a=w(document,v,"ram"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new ze(d);sb(d,c)}});
function Ce(a){r.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=De;b&&(void 0===c&&(c="Panel"),(c=rb(c,this.id))&&(b=c.J[b])&&this.ka(null,a,b))}this.b=this.B=null;this.exports={connect:this.xb,receiveData:this.Ua,receiveStatus:this.Wb,setConnection:this.Zb}}ka(Ce,r);l=Ce.prototype; function Ce(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=De;b&&(void 0===c&&(c="Panel"),(c=rb(c,this.id))&&(b=c.J[b])&&this.ka(null,a,b))}this.b=this.B=null;this.exports={connect:this.xb,receiveData:this.Va,receiveStatus:this.Xb,setConnection:this.$b}}ka(Ce,t);l=Ce.prototype;
l.ka=function(a,b,c){var d=this;switch(b){case De:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.mb:ra.Cb:46==c?b=ra.mb:a.ctrlKey&&c>=ra.lb&&c<=ra.Db&&(b=c-(ra.lb-ra.zb));b&&(a.preventDefault&&a.preventDefault(),d.Ua(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Bb&&(b=ra.Ab);d.Ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation(); l.ka=function(a,b,c){var d=this;switch(b){case De:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ra.mb:ra.Cb:46==c?b=ra.mb:a.ctrlKey&&c>=ra.lb&&c<=ra.Db&&(b=c-(ra.lb-ra.zb));b&&(a.preventDefault&&a.preventDefault(),d.Va(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ra.Bb&&(b=ra.Ab);d.Va(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.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Da=function(a,b,c,d){this.F=a;this.H=b;this.v=c;this.C=d;Kb(this)}; a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Va(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Da=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.C=d;Kb(this)};
l.xb=function(a){if(!this.b){var b=Yc(this.F,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.Pa)return;c=Ea(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.xb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; l.xb=function(a){if(!this.b){var b=Yc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ea(c[0]);if(d!=this.Qa)return;c=Ea(c[1]);if(this.b=qb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Ra+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.xb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.ja=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};l.Wb=function(){};l.Zb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var De="buffer"; l.ja=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new F(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Va=function(a){if("number"==typeof a)this.i.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.i.push(b)}else this.i=this.i.concat(a);return!0};l.Xb=function(){};l.$b=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var De="buffer";
Ya(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Ce(d);sb(d,c)}});function Ee(a){r.call(this,"Debugger",a);this.ca=+a.base||16;this.la=32;this.na=["{","}"];this.ma=["[","]"];this.B=0;this.R=!1;this.w=-1;this.u=[];this.K={}}ka(Ee,r);Ee.prototype.hb=function(){return-1};Ee.prototype.ib=function(){}; Ya(function(){for(var a=w(document,v,"serial"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Ce(d);sb(d,c)}});function Ee(a){t.call(this,"Debugger",a);this.ca=+a.base||16;this.la=32;this.na=["{","}"];this.ma=["[","]"];this.B=0;this.R=!1;this.w=-1;this.u=[];this.K={}}ka(Ee,t);Ee.prototype.hb=function(){return-1};Ee.prototype.ib=function(){};
function Fe(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ea(b.substring(c,f))),c=f+1}}return a}function Ge(a,b){if(32>=a.la)b|=0;else if(a=Math.pow(2,a.la-1),b<-a||b>=a)b%=a;return b} function Fe(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.R?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ea(b.substring(c,f))),c=f+1}}return a}function Ge(a,b){if(32>=a.la)b|=0;else if(a=Math.pow(2,a.la-1),b<-a||b>=a)b%=a;return b}
function He(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<<f;break;case ">>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g<f?1:0;break;case "<=":e=g<=f?1:0;break;case ">":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e= function He(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop(),g=b.pop();switch(e){case "*":e=g*f;break;case "/":if(!f)return!1;e=g/f;break;case "%":if(!f)return!1;e=g%f;break;case "+":e=g+f;break;case "-":e=g-f;break;case "<<":e=g<<f;break;case ">>":e=g>>f;break;case ">>>":e=g>>>f;break;case "<":e=g<f?1:0;break;case "<=":e=g<=f?1:0;break;case ">":e=g>f?1:0;break;case ">=":e=g>=f?1:0;break;case "==":e=g==f?1:0;break;case "!=":e=g!=f?1:0;break;case "&":e=
32>=a.la?g&f:((g/Ie|0)&(f/Ie|0))*Ie+((g&f)>>>0);break;case "!":case "|":e=32>=a.la?g|f:(g/Ie|0|f/Ie|0)*Ie+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ge(a,e))}return!0} 32>=a.la?g&f:((g/Ie|0)&(f/Ie|0))*Ie+((g&f)>>>0);break;case "!":case "|":e=32>=a.la?g|f:(g/Ie|0|f/Ie|0)*Ie+((g|f)>>>0);break;case "^^":e=g^f;break;case "&&":e=g&&f?1:0;break;case "||":e=g||f?1:0;break;default:return!1}b.push(Ge(a,e))}return!0}
function Je(a,b,c){var d;b&&(b=Ke(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],t=p.length,p=Ea(p);if(!p){f=!0;break}p=Le(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],B=p.length;k.length&&Me[p]<Me[k[k.length-1]]&&He(a,h,k,1);k.push(p);b=b.substr(t+B)}He(a,h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(), function Je(a,b,c){var d;b&&(b=Ke(a,b));if(b){for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^^|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],q=p.length,p=Ea(p);if(!p){f=!0;break}p=Le(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],B=p.length;k.length&&Me[p]<Me[k[k.length-1]]&&He(a,h,k,1);k.push(p);b=b.substr(q+B)}He(a,h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),
c&&Ne(a,null,d))}return d} c&&Ne(a,null,d))}return d}
function Ke(a,b){var c,d=a.na[0],e=a.na[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Je(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?I(a,g):"undefined")}if(a.ma.length)for(d=a.ma[0],e=a.ma[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=0}if(null== function Ke(a,b){var c,d=a.na[0],e=a.na[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=Je(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?I(a,g):"undefined")}if(a.ma.length)for(d=a.ma[0],e=a.ma[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){d=null;switch(b[1].toLowerCase()){case "ops":d=0}if(null==
d)break;a=a.replace(b[0],d.toString())}return a}function Le(a,b,c,d){var e;null!=b?(e=a.hb(b),0<=e?e=a.ib(e):(e=a.K[b],null==e&&(e=sa(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e} d)break;a=a.replace(b[0],d.toString())}return a}function Le(a,b,c,d){var e;null!=b?(e=a.hb(b),0<=e?e=a.ib(e):(e=a.K[b],null==e&&(e=sa(b,a.ca))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
function Ne(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,n=void 0,p=8,t="";p?32<p&&(p=32):p=32;for(var B=null==k||isNaN(k),S=n=n||p;0<p--;)S||(t=","+t,S=n),t=(B?"?":k&1?"1":"0")+t,k>>=1,S--;g=t+g;d>>=8}d=m(c,0,!0)+" "+c+". "+ua(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e} function Ne(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=4,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var k=d&255,n=void 0,p=8,q="";p?32<p&&(p=32):p=32;for(var B=null==k||isNaN(k),S=n=n||p;0<p--;)S||(q=","+q,S=n),q=(B?"?":k&1?"1":"0")+q,k>>=1,S--;g=q+g;d>>=8}d=m(c,0,!0)+" "+c+". "+ua(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}
function Oe(a,b){if(b)return Ne(a,b,a.K[b]);var c=0;for(b in a.K)Ne(a,b,a.K[b]),c++;return 0<c}function I(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=ua(b,0<c?(c+2)/3|0:0);break;case 10:a=va(b,0<c?Math.ceil(.3*c):0);break;default:a=m(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Me={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ie=Math.pow(2,32); function Oe(a,b){if(b)return Ne(a,b,a.K[b]);var c=0;for(b in a.K)Ne(a,b,a.K[b]),c++;return 0<c}function I(a,b,c){c=void 0===c?0:c;switch(a.ca){case 8:a=ua(b,0<c?(c+2)/3|0:0);break;case 10:a=va(b,0<c?Math.ceil(.3*c):0);break;default:a=m(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}var Me={"||":0,"&&":1,"!":2,"|":2,"^^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9},Ie=Math.pow(2,32);
function Pe(a){Ee.call(this,a);this.Aa=!1;this.ya=18;this.la=36;this.na=["<",">"];this.ma=[];this.za=X();this.M=X(0);this.ga=X(0);this.ba=X(0);this.G=[];this.b=this.N=this.I=[];Qe(this);this.S=this.ha=0;this.i=[];this.va=void 0;Re(this);this.C=this;this.oa={};this.X=this.tb=0;this.T=null;this.P=[];Se(this,a.messages);this.xa=a.commands;this.O=0;this.Fa=this.wa=null;this.B=this.Ca=this.Ba=this.fa=this.qa=0;this.pa=this.ea=this.aa=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return cd(b, function Pe(a){Ee.call(this,a);this.Aa=!1;this.ya=18;this.la=36;this.na=["<",">"];this.ma=[];this.za=X();this.M=X(0);this.ga=X(0);this.ba=X(0);this.F=[];this.b=this.N=this.I=[];Qe(this);this.S=this.ha=0;this.i=[];this.va=void 0;Re(this);this.C=this;this.oa={};this.X=this.tb=0;this.T=null;this.P=[];Se(this,a.messages);this.xa=a.commands;this.O=0;this.Fa=this.wa=null;this.B=this.Ca=this.Ba=this.fa=this.qa=0;this.pa=this.ea=this.aa=null;var b=this;window?void 0===window[v]&&(window[v]=function(a){return cd(b,
a)}):void 0===global[v]&&(global[v]=function(a){return cd(b,a)})}ka(Pe,Ee);function Te(a){a=a&&a.D;null==a&&(a=-1);return a}function X(a,b,c){return{D:void 0===a?null:a,Sa:void 0===b?!1:b,ia:!1,ca:c}}function Ue(a,b,c,d){a.D=b;a.Sa=c||!1;a.ia=!1;a.ca=d}function Ve(a){return[a.D,a.Sa,a.ia,a.ca,a.Va]}function We(a,b){var c=X(b[0],b[1],b[2]);c.ia=b[3];b[4]&&(c.pb=Fe(a,c.Va=b[4]));return c}l=Pe.prototype; a)}):void 0===global[v]&&(global[v]=function(a){return cd(b,a)})}ka(Pe,Ee);function Te(a){a=a&&a.D;null==a&&(a=-1);return a}function X(a,b,c){return{D:void 0===a?null:a,Ta:void 0===b?!1:b,ia:!1,ca:c}}function Ue(a,b,c,d){a.D=b;a.Ta=c||!1;a.ia=!1;a.ca=d}function Ve(a){return[a.D,a.Ta,a.ia,a.ca,a.Wa]}function We(a,b){var c=X(b[0],b[1],b[2]);c.ia=b[3];b[4]&&(c.pb=Fe(a,c.Wa=b[4]));return c}l=Pe.prototype;
l.Da=function(a,b,c,d){this.H=b;this.F=a;this.v=c;this.ea=a.u;this.ya=b.G;(a=Yc(a,"messages"))&&Se(this,a);Xe(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Te(Ye(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.j("..."):(c=p.type,n=Ic[c],p&&d.j(m(p.id,8)+" %"+m(e<<d.H.i,8)+" %"+m(p.D,8)+ l.Da=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.ea=a.u;this.ya=b.F;(a=Yc(a,"messages"))&&Se(this,a);Xe(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=Te(Ye(d,c,d.ga));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- --------- ------ ------ ----");for(var c=-1,n=0;k--;){var p=b[e];p.type==c?n++||d.j("..."):(c=p.type,n=Ic[c],p&&d.j(m(p.id,8)+" %"+m(e<<d.H.i,8)+" %"+m(p.D,8)+
" "+m(p.La,4,!0)+" "+m(p.size,4,!0)+" "+n),c!=Mc&&(c=-1),n=0);a+=16384;e++}}});Kb(this)}; " "+m(p.Ma,4,!0)+" "+m(p.size,4,!0)+" "+n),c!=Mc&&(c=-1),n=0);a+=16384;e++}}});Kb(this)};
l.ka=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",cd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Wa(c,function(){if(d.aa){var a=d.aa.value; l.ka=function(a,b,c){var d=this;switch(b){case "debugInput":return this.aa=this.J[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",cd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.u.length-1&&(b=d.u[++d.w])):40==a.keyCode&&(0<d.w?b=d.u[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,Wa(c,function(){if(d.aa){var a=d.aa.value;
d.aa.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Lb(d,!0)||(Mb(d,!0),b=qc(d,a?1:0,null),Mb(d,!1));return b}),!0}return!1};function bd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ea=function(a,b){var c=-1,d=Te(a);-1!==d&&(c=Ac(this.H,d),b&&null!=a.D&&(a.D+=b||1));return c};l.nb=function(a,b,c){var d=Te(a);-1!==d&&(vc(this.H,d,b),c&&null!=a.D&&(a.D+=c||1),H(this.F,-1))}; d.aa.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,Wa(c,function(a){var b=!1;Lb(d,!0)||(Mb(d,!0),b=qc(d,a?1:0,null),Mb(d,!1));return b}),!0}return!1};function bd(a){if(a.aa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.aa.focus();window&&window.scrollTo(b,c)}}l.Ea=function(a,b){var c=-1,d=Te(a);-1!==d&&(c=Ac(this.H,d),b&&null!=a.D&&(a.D+=b||1));return c};l.nb=function(a,b,c){var d=Te(a);-1!==d&&(vc(this.H,d,b),c&&null!=a.D&&(a.D+=c||1),H(this.G,-1))};
function Ye(a,b,c){var d,e;c||(c=X());var f=c.D;if(void 0!==b){b=Ke(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.G.length;k++){var n=a.G[k].U[f];if(null!=n){h=n.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Je(a,b,void 0)}null!=f&&(f=Ze(f,a.ya),Ue(c,f,d,e));return c}function $e(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.pb=Fe(a,b.Va=c[2]))} function Ye(a,b,c){var d,e;c||(c=X());var f=c.D;if(void 0!==b){b=Ke(a,b);"%"==b.charAt(0)&&(d=!0,b=b.substr(1));var g,f=b,h;if(f.match(/^[a-z_][a-z0-9_]*$/i))for(var f=f.toUpperCase(),k=0;k<a.F.length;k++){var n=a.F[k].U[f];if(null!=n){h=n.o;break}}null!=h&&(g=X(h));if(g)return g;0<=b.indexOf("0x")?e=16:0<=b.indexOf("0o")?e=8:0<=b.indexOf(".")&&(e=10);f=Je(a,b,void 0)}null!=f&&(f=Ze(f,a.ya),Ue(c,f,d,e));return c}function $e(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.pb=Fe(a,b.Wa=c[2]))}
function Ze(a,b){0>a&&a>=-A&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Y(a,b){return I(a,b.D)}function af(a){return ua(a/Rb,6)+" "+ua(a%Rb,6)} function Ze(a,b){0>a&&a>=-A&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function Y(a,b){return I(a,b.D)}function af(a){return ua(a/Rb,6)+" "+ua(a%Rb,6)}
function Se(a,b){a.C=a;a.X=a.tb=536870916;a.T=null;a.P=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=Zb[c],a.j(c+" messages enabled"))}}function Xe(a,b){for(var c in Zb)if(16==Zb[c]){a.oa[c]=b;break}}l.hb=function(a){return bf.indexOf(a.toUpperCase())}; function Se(a,b){a.C=a;a.X=a.tb=536870916;a.T=null;a.P=[];b=Fe(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Zb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.X|=Zb[c],a.j(c+" messages enabled"))}}function Xe(a,b){for(var c in Zb)if(16==Zb[c]){a.oa[c]=b;break}}l.hb=function(a){return bf.indexOf(a.toUpperCase())};
l.ib=function(a){var b,c=this.v;switch(a){case cf:b=c.i;break;case df:b=c.K;break;case ef:b=c.b;break;case ff:b=c.u&65536?1:0;break;case gf:b=c.u&32768?1:0;break;case hf:b=c.u&131072?1:0;break;case jf:b=c.u&32?1:0;break;case kf:b=c.u&262144?1:0}return b}; l.ib=function(a){var b,c=this.v;switch(a){case cf:b=c.i;break;case df:b=c.K;break;case ef:b=c.b;break;case ff:b=c.u&65536?1:0;break;case gf:b=c.u&32768?1:0;break;case hf:b=c.u&131072?1:0;break;case jf:b=c.u&32?1:0;break;case kf:b=c.u&262144?1:0}return b};
l.message=function(a,b){b&&(a+=" @"+Y(this,X(this.v.xa)));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.P.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.L)||Lb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,kd(a),a.fa=0,a.F&&H(a.F,void 0))}}; l.message=function(a,b){b&&(a+=" @"+Y(this,X(this.v.xa)));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.P.push(a);else{var c;if(this.X&-2147483648&&this.v&&(c=this.v.A.L)||Lb(this,!0))this.W(),c&&(a+=" (cpu halted)");this.j(a);this.v&&(a=this.v,kd(a),a.fa=0,a.G&&H(a.G,void 0))}};
function Re(a){var b;if(!qd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(lf);for(b=0;b<a.i.length;b++)a.i[b]=X();a.S=0;a.j("instruction history buffer allocated")}}function mf(a,b,c){if(!nf(a,c))return!1;pc(a.v,b);return!0} function Re(a){var b;if(!qd(a))a.i&&a.i.length&&a.j("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(lf);for(b=0;b<a.i.length;b++)a.i[b]=X();a.S=0;a.j("instruction history buffer allocated")}}function mf(a,b,c){if(!nf(a,c))return!1;pc(a.v,b);return!0}
function qc(a,b,c,d){if(!nf(a))return!1;var e="";null===c&&(e=(c=!a.wa||"tr"==a.wa)?"tr":"t");a.B=0;b||qd(a)&&rd(a,a.v.i,0);try{b=id(a.v,b);var f=a.v.Na(b);0<f&&(rc(a.v,f),a.B+=f,sc(a.v,f,!0),tc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Hb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),H(a.F,-1));ad(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function ad(a,b,c){b=void 0===b?!0:b;a.Aa&&(c&&a.j(of+c),Ue(a.M,a.v.i),b&&1!=a.O?pf(a):qf(a))} function qc(a,b,c,d){if(!nf(a))return!1;var e="";null===c&&(e=(c=!a.wa||"tr"==a.wa)?"tr":"t");a.B=0;b||qd(a)&&rd(a,a.v.i,0);try{b=id(a.v,b);var f=a.v.Oa(b);0<f&&(rc(a.v,f),a.B+=f,sc(a.v,f,!0),tc(a.v,f),a.fa++)}catch(g){"number"!=typeof g&&(a.B=0,Hb(a.v,g.stack||g.message))}!1!==d&&(a.ea&&a.ea.stop(),H(a.G,-1));ad(a,c||!1,e);return 0<a.B}l.W=function(a){this.v&&this.v.W(a)};function ad(a,b,c){b=void 0===b?!0:b;a.Aa&&(c&&a.j(of+c),Ue(a.M,a.v.i),b&&1!=a.O?pf(a):qf(a))}
function nf(a,b){var c;(c=!a.v||!Jb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Ib(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ja=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Re(this);this.fa=0;this.T=null;this.B=0;Ue(this.M,this.v.i);this.A.L=!1;rf(this);a||ad(this)}; function nf(a,b){var c;(c=!a.v||!Jb(a.v))||(c=a.v,c.A.V?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.L?(b||a.j("cpu busy or unavailable, command ignored"),!1):!Ib(a.v)}l.ua=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ja=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Re(this);this.fa=0;this.T=null;this.B=0;Ue(this.M,this.v.i);this.A.L=!1;rf(this);a||ad(this)};
l.save=function(){var a=new F(this);a.set(0,Ve(this.M));a.set(1,Ve(this.ga));a.set(2,Ve(this.ba));a.set(3,[this.u,this.R,this.X]);a.set(4,this.G);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.M=We(this,a[b++]),this.ga=We(this,a[b++]),this.ba=We(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[4]&&(this.G=a[4]);return!0};l.start=function(a,b){this.O||this.j("running");this.A.L=!0;this.Ba=a;this.Ca=b}; l.save=function(){var a=new F(this);a.set(0,Ve(this.M));a.set(1,Ve(this.ga));a.set(2,Ve(this.ba));a.set(3,[this.u,this.R,this.X]);a.set(4,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[3]&&(this.M=We(this,a[b++]),this.ga=We(this,a[b++]),this.ba=We(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.R=a[b][1],this.X|=a[b][2]);a[4]&&(this.F=a[4]);return!0};l.start=function(a,b){this.O||this.j("running");this.A.L=!0;this.Ba=a;this.Ca=b};
l.stop=function(a,b){if(this.A.L){this.A.L=!1;this.B=b-this.Ca;if(!this.O){b="stopped";if(this.B){a-=this.Ba;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";qd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Nb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ad(this,!0);bd(this);rf(this,this.v.i);this.T=null}};function qd(a){return 1<a.b.length||!!a.ha} l.stop=function(a,b){if(this.A.L){this.A.L=!1;this.B=b-this.Ca;if(!this.O){b="stopped";if(this.B){a-=this.Ba;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";qd(this)&&(b+=this.fa+" instructions, ",this.fa=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Nb(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}ad(this,!0);bd(this);rf(this,this.v.i);this.T=null}};function qd(a){return 1<a.b.length||!!a.ha}
function rd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=pd(a.v,1)));if(0<c&&(a.ha&&!--a.ha||Vc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(Ue(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1} function rd(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.xa==b&&(b=pd(a.v,1)));if(0<c&&(a.ha&&!--a.ha||Vc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.fa++,0>d&&(d=a.v.f(b)),0<=d&&(Ue(a.i[a.S],b),++a.S==a.i.length&&(a.S=0)));return!1}
function sf(a,b,c,d){var e=X(b.D),f=a.Ea(b,1),g,h,k,n=0,p=f/Vb|0,t;for(t in tf)if(g=tf[t][p&t]){h=+t;p>>=6;switch(h){case 32512:k=uf;n=p&3;break;case 32256:k=vf;n=p&7;break;case 29248:k=Zf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>ag&&(k="B");k=bg[g||0]+k;if(g){if(28700==h)n=f/Wb&127,h=I(a,n,-1);else if(n=f>>23&15,h=I(a,n,-1),g==cg&&(g=dg[n]))k=bg[g],h="";k=Da(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=I(a,f&262143,-1);(f=f>>18&15)&&(k+="("+I(a,f,-1)+")")}else k=Da(k,8)+af(f);f=k;g="";h=Y(a, function sf(a,b,c,d){var e=X(b.D),f=a.Ea(b,1),g,h,k,n=0,p=f/Vb|0,q;for(q in tf)if(g=tf[q][p&q]){h=+q;p>>=6;switch(h){case 32512:k=uf;n=p&3;break;case 32256:k=vf;n=p&7;break;case 29248:k=wf,n=(p&48)>>2|(p&6)>>1}break}k=k&&k[n]||"";"S"==k&&g>xf&&(k="B");k=ag[g||0]+k;if(g){if(28700==h)n=f/Wb&127,h=I(a,n,-1);else if(n=f>>23&15,h=I(a,n,-1),g==cg&&(g=dg[n]))k=ag[g],h="";k=Da(k,8)+(h?h+",":"");f&4194304&&(k+="@");k+=I(a,f&262143,-1);(f=f>>18&15)&&(k+="("+I(a,f,-1)+")")}else k=Da(k,8)+af(f);f=k;g="";h=Y(a,
e)+":";if(-1!==e.D&&-1!==b.D){do if(k=a.Ea(e,1),g+=" "+af(k),null==e.D)break;while(e.D!=b.D)}h+=Da(g,16)+f;c&&(h=Da(h,48)+";"+(c||""),h=a.v.A.Ia?h+("cycles="+dd(a.v).toString()+" cs="+m(a.v.za)):h+(null!=d?"="+d.toString():""));return h} e)+":";if(-1!==e.D&&-1!==b.D){do if(k=a.Ea(e,1),g+=" "+af(k),null==e.D)break;while(e.D!=b.D)}h+=Da(g,16)+f;c&&(h=Da(h,48)+";"+(c||""),h=a.v.A.Ia?h+("cycles="+dd(a.v).toString()+" cs="+m(a.v.za)):h+(null!=d?"="+d.toString():""));return h}
function eg(a,b,c,d){var e=-1,f,g,h=b.toUpperCase(),k;for(k in dg)if(g=dg[k],h==bg[g]){h=bg[cg];c=I(a,+k)+","+c;break}for(var n in tf){f=+n;var p=tf[n];switch(f){case 32512:k=uf;break;case 32256:k=vf;break;case 29248:k=Zf;break;default:k=[""]}for(var t in p){g=p[t];for(var B=0;B<k.length;B++){var S=k[B];"S"==S&&g>ag&&(S="B");if(h==bg[g]+S){e=29248!=f?B:(B&3)<<1|(B&12)<<2;e=(t|e<<6)*Vb;break}}if(0<=e)break}if(0<=e)break}if(0<=e)if(c)for(b=c.split(","),c=0;c<b.length;c++){if(h=b[c].trim()){if(1<c){a.j("too many operands: "+ function eg(a,b,c,d){var e=-1,f,g,h=b.toUpperCase(),k;for(k in dg)if(g=dg[k],h==ag[g]){h=ag[cg];c=I(a,+k)+","+c;break}for(var n in tf){f=+n;var p=tf[n];switch(f){case 32512:k=uf;break;case 32256:k=vf;break;case 29248:k=wf;break;default:k=[""]}for(var q in p){g=p[q];for(var B=0;B<k.length;B++){var S=k[B];"S"==S&&g>xf&&(S="B");if(h==ag[g]+S){e=29248!=f?B:(B&3)<<1|(B&12)<<2;e=(q|e<<6)*Vb;break}}if(0<=e)break}if(0<=e)break}if(0<=e)if(c)for(b=c.split(","),c=0;c<b.length;c++){if(h=b[c].trim()){if(1<c){a.j("too many operands: "+
h);e=-1;break}n=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!n){a.j("unknown operand: "+h);e=-1;break}h=n[2];c&&(h=h.replace(/(^|[^0-9])\./g,"$1"+Y(a,d)));t=Je(a,h);if(void 0==t){e=-1;break}if(!c&&1<b.length)if(28700==f){if(0>t||127<t){a.j("device code out of range: "+h);e=-1;break}e+=t*Wb}else{if(0>t||15<t){a.j("accumulator address out of range: "+h);e=-1;break}e+=t<<23}else{if(0>t||262143<t){a.j("memory address out of range: "+h);e=-1;break}e+=t;if(h=n[3]){t=Je(a,h);if(void 0==t){e=-1;break}if(0>t|| h);e=-1;break}n=h.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!n){a.j("unknown operand: "+h);e=-1;break}h=n[2];c&&(h=h.replace(/(^|[^0-9])\./g,"$1"+Y(a,d)));q=Je(a,h);if(void 0==q){e=-1;break}if(!c&&1<b.length)if(28700==f){if(0>q||127<q){a.j("device code out of range: "+h);e=-1;break}e+=q*Wb}else{if(0>q||15<q){a.j("accumulator address out of range: "+h);e=-1;break}e+=q<<23}else{if(0>q||262143<q){a.j("memory address out of range: "+h);e=-1;break}e+=q;if(h=n[3]){q=Je(a,h);if(void 0==q){e=-1;break}if(0>q||
15<t){a.j("memory index out of range: "+h);e=-1;break}e+=t<<18}n[1]&&(e+=4194304)}}}else a.j("missing operand(s)"),e=-1;else a.j("unknown instruction: "+b);return e}function Qe(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=Te(c);var d=a.H;Uc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Te(c),d=a.H,Uc(d.b[c>>>d.i],!0);a.I=["bw"];a.qa=0;a.ha=0} 15<q){a.j("memory index out of range: "+h);e=-1;break}e+=q<<18}n[1]&&(e+=4194304)}}}else a.j("missing operand(s)"),e=-1;else a.j("unknown instruction: "+b);return e}function Qe(a){var b,c;a.b=["bp"];if(a.N)for(b=1;b<a.N.length;b++){c=a.N[b];c=Te(c);var d=a.H;Uc(d.b[c>>>d.i],!1)}a.N=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Te(c),d=a.H,Uc(d.b[c>>>d.i],!0);a.I=["bw"];a.qa=0;a.ha=0}
l.Ha=function(a,b,c){var d=!0;c||fg(this,a,b,!1,!0);if(a!=this.b){var e=Te(b);if(-1===e)this.j("invalid address: "+Y(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ha(e&16383,a==this.I)}}d&&(a.push(b),c?b.ia=!0:(gg(this,a,a.length-1,"set"),Re(this)));return d};function fg(a,b,c,d,e){var f=!1;c=Te(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Te(h)&&(!d||h.ia)){f=!0;h.ia||e||gg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Uc(d.b[c>>>d.i],b==a.I));h.ia||Re(a);break}}return f} l.Ha=function(a,b,c){var d=!0;c||fg(this,a,b,!1,!0);if(a!=this.b){var e=Te(b);if(-1===e)this.j("invalid address: "+Y(this,b)),d=!1;else{var f=this.H;f.b[e>>>f.i].Ha(e&16383,a==this.I)}}d&&(a.push(b),c?b.ia=!0:(gg(this,a,a.length-1,"set"),Re(this)));return d};function fg(a,b,c,d,e){var f=!1;c=Te(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==Te(h)&&(!d||h.ia)){f=!0;h.ia||e||gg(a,b,g,"cleared");b.splice(g,1);b!=a.b&&(d=a.H,Uc(d.b[c>>>d.i],b==a.I));h.ia||Re(a);break}}return f}
function hg(a,b){for(var c=1;c<b.length;c++)gg(a,b,c);return b.length-1}function gg(a,b,c,d){c=b[c];a.j(b[0]+" "+Y(a,c)+(d?" "+d:c.Va?' "'+c.Va+'"':""))}function rf(a,b){if(void 0!==b)Vc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ia){if(!fg(a,a.b,c,!0))break;b=0}}} function hg(a,b){for(var c=1;c<b.length;c++)gg(a,b,c);return b.length-1}function gg(a,b,c,d){c=b[c];a.j(b[0]+" "+Y(a,c)+(d?" "+d:c.Wa?' "'+c.Wa+'"':""))}function rf(a,b){if(void 0!==b)Vc(a,b,1,a.b,!0),a.O=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ia){if(!fg(a,a.b,c,!0))break;b=0}}}
function Vc(a,b,c,d,e){var f=!1;if(!a.qa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ia)for(var k=Te(h)&(d==a.b?65535:-1),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.ia&&(fg(a,d,h,!0),e=!0);if(p=h.pb){for(var f=!1,t=0;t<p.length;t++)if(!ig(a,p[t],!0)){if(p[t].indexOf("if")){f=!0;break}for(var B=t+1;B<p.length&&p[B].indexOf("else");B++)t++;if(B==p.length){f=!0;break}}a.v.A.L||(f=!0)}if(f){e||gg(a,d,g,"hit");break}}}a.qa--;return f} function Vc(a,b,c,d,e){var f=!1;if(!a.qa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.ia)for(var k=Te(h)&(d==a.b?65535:-1),n=0;n<c;n++)if(b+n==k){var p,f=!0;h.ia&&(fg(a,d,h,!0),e=!0);if(p=h.pb){for(var f=!1,q=0;q<p.length;q++)if(!ig(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var B=q+1;B<p.length&&p[B].indexOf("else");B++)q++;if(B==p.length){f=!0;break}}a.v.A.L||(f=!0)}if(f){e||gg(a,d,g,"hit");break}}}a.qa--;return f}
function jg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);Ue(e.za,d);f+="="+I(e,e.Ea(e.za),36)+" ";c+=f}if(b){b="";for(d=0;d<bf.length;d++)(e=bf[d]||"")&&(e+="="+I(a,a.ib(d),d>=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ub=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}; function jg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ua(d,2);Ue(e.za,d);f+="="+I(e,e.Ea(e.za),36)+" ";c+=f}if(b){b="";for(d=0;d<bf.length;d++)(e=bf[d]||"")&&(e+="="+I(a,a.ib(d),d>=ff?1:d==df?23:18)+" "),b+=e;c+="\n"+b}return c}l.ub=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function ye(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Fa(p,k,a.ub);0>t&&p.splice(-(t+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.G.push({od:b,D:c,Jb:d,U:e,qb:f})}function kg(a,b,c){var d=[],e=Te(b)>>>0;for(b=0;b<a.G.length;b++){var f=a.G[b],g=f.D>>>0,h=f.Jb;if(e>=g&&e<g+h){e=Fa(f.qb,[e-g],a.ub);0<=e?lg(a,b,e,d):c&&(e=~e,lg(a,b,e-1,d),lg(a,b,e,d));break}}return d} function ye(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],q=Fa(p,k,a.ub);0>q&&p.splice(-(q+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({od:b,D:c,Kb:d,U:e,qb:f})}function kg(a,b,c){var d=[],e=Te(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.D>>>0,h=f.Kb;if(e>=g&&e<g+h){e=Fa(f.qb,[e-g],a.ub);0<=e?lg(a,b,e,d):c&&(e=~e,lg(a,b,e-1,d),lg(a,b,e,d));break}}return d}
function lg(a,b,c,d){var e={},f=a.G[b].qb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.G[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)} function lg(a,b,c,d){var e={},f=a.F[b].qb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function mg(a,b){var c=Ye(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+Y(a,c)),a.R=!0,H(a.F)):0<=d.indexOf(":")?a.pa?a.j("assembly already in progress"):a.pa=new ng(d,c.D,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.pa=null}):(b.shift(),b.shift(),b.shift(),b=eg(a,d,b.join(""),c),0<=b&&(a.nb(c,b),a.j(sf(a,c))))}} function mg(a,b){var c=Ye(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+Y(a,c)),a.R=!0,H(a.G)):0<=d.indexOf(":")?a.pa?a.j("assembly already in progress"):a.pa=new ng(d,c.D,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.pa=null}):(b.shift(),b.shift(),b.shift(),b=eg(a,d,b.join(""),c),0<=b&&(a.nb(c,b),a.j(sf(a,c))))}}
function og(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Oe(a)||a.j("no variables"),!0;if(!c[2])return Oe(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=Je(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1} function og(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Oe(a)||a.j("no variables"),!0;if(!c[2])return Oe(a,c[1]);if(!c[3])return delete a.K[c[1]],!0;b=Je(a,c[3]);return void 0!==b?(a.K[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
function pg(a,b,c){var d=null;if(b=Ye(a,b)){var e=kg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.D-e[1])&&(g=" + "+m(f,4,!0)),f=e[0]+" ("+I(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.D)&&(g=" - "+m(f,4,!0)),f=e[4]+" ("+I(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d} function pg(a,b,c){var d=null;if(b=Ye(a,b)){var e=kg(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.D-e[1])&&(g=" + "+m(f,4,!0)),f=e[0]+" ("+I(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.D)&&(g=" - "+m(f,4,!0)),f=e[4]+" ("+I(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
function pf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=Je(a,b);if(void 0===g)return;b=a.hb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case cf:G(h, function pf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=Je(a,b);if(void 0===g)return;b=a.hb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case cf:G(h,
g);Ue(a.M,h.i);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);H(a.F);a.j("updated registers:")}}a.j(jg(a,e));c&&(Ue(a.M,d.i),qf(a,Y(a,a.M)))}}function qg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ne(a,null,c[2].charCodeAt(0)):Je(a,b,!0)} g);Ue(a.M,h.i);break;case ff:f=65536;break;case gf:f=32768;break;case hf:f=131072;break;case jf:f=32;break;case kf:f=262144}f&&(h.u=g?h.u|f:h.u&~f);H(a.G);a.j("updated registers:")}}a.j(jg(a,e));c&&(Ue(a.M,d.i),qf(a,Y(a,a.M)))}}function qg(a,b){b=Ea(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ne(a,null,c[2].charCodeAt(0)):Je(a,b,!0)}
function rg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Le(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.wa=b;Va(c,function(){return Mb(a,!0)&&qc(a,e,d,!1)},function(){a.ea&&a.ea.stop();H(a.F,-1);Mb(a,!1)})}} function rg(a,b,c){if("?"==c)a.j("trace commands:"),a.j("\tt [#]\ttrace # instructions"),a.j("\ttr [#]\ttrace # instructions with register updates"),a.j("\ttc [#]\ttrace # cycles"),a.j("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Le(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.wa=b;Va(c,function(){return Mb(a,!0)&&qc(a,e,d,!1)},function(){a.ea&&a.ea.stop();H(a.G,-1);Mb(a,!1)})}}
function qf(a,b,c,d){if(b=Ye(a,b,a.M)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Le(a,c.substr(1)),null!=c&&(d=c);else{d=Ye(a,c);if(!d||d.D<b.D)return;e=d.D-b.D;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Lb(a,!1)||a.O?a.B:null,g=null!=f?"cycles":null,h=kg(a,b),k=b.D;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.D=n.D;h.Sa=n.Sa;h.ia=n.ia;h.ca=n.ca;a.j(sf(a,b,g,f));e-=b.D-k;c++}}} function qf(a,b,c,d){if(b=Ye(a,b,a.M)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Le(a,c.substr(1)),null!=c&&(d=c);else{d=Ye(a,c);if(!d||d.D<b.D)return;e=d.D-b.D;if(256<e){a.j("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Lb(a,!1)||a.O?a.B:null,g=null!=f?"cycles":null,h=kg(a,b),k=b.D;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var n=h[0]+":";h[2]&&(n+=" "+h[2]);a.j(n)}h[3]&&(g=h[3],f=null);h=a.ba;n=b;h.D=n.D;h.Ta=n.Ta;h.ia=n.ia;h.ca=n.ca;a.j(sf(a,b,g,f));e-=b.D-k;c++}}}
function ig(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.R&&(a.j("ended assemble at "+Y(a,a.ba)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Jb(a)&&0<b.length){a.R&&(b="a "+Y(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),n=1;n<h.length;n++){var p=h.charAt(n);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(n);g.unshift(h.substr(0,n));break}}switch(g[0].charAt(0)){case "a":mg(a,g);break; function ig(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(of+b):(a.R&&(a.j("ended assemble at "+Y(a,a.ba)),a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Jb(a)&&0<b.length){a.R&&(b="a "+Y(a,a.ba)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],k=h.charAt(0),n=1;n<h.length;n++){var p=h.charAt(n);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(n);g.unshift(h.substr(0,n));break}}switch(g[0].charAt(0)){case "a":mg(a,g);break;
case "b":a:{var t=g[0],B=g[1],S=b;if("?"==B)a.j("breakpoint commands:"),a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var la=t.charAt(1);if("l"==la){var Ad;Ad=0+hg(a,a.b);Ad+=hg(a,a.N);(Ad+=hg(a,a.I))||a.j("no breakpoints")}else if("n"==la){var wf=+B||0;B&&(a.ha=wf);a.j("break after "+wf+" instruction(s)")}else if(void 0=== case "b":a:{var q=g[0],B=g[1],S=b;if("?"==B)a.j("breakpoint commands:"),a.j("\tbp #\tset exec breakpoint"),a.j("\tbr #\tset read breakpoint"),a.j("\tbw #\tset write breakpoint"),a.j("\tbc #\tclear breakpoint (* to clear all)"),a.j("\tbl\tlist all breakpoints"),a.j("\tbn [#]\tbreak after # instruction(s)");else{var la=q.charAt(1);if("l"==la){var Ad;Ad=0+hg(a,a.b);Ad+=hg(a,a.N);(Ad+=hg(a,a.I))||a.j("no breakpoints")}else if("n"==la){var yf=+B||0;B&&(a.ha=yf);a.j("break after "+yf+" instruction(s)")}else if(void 0===
B)a.j("missing breakpoint address");else{var Z=X();if("*"!=B&&(Z=Ye(a,B,a.M),!Z))break a;"c"==la?null==Z.D?(Qe(a),a.j("all breakpoints cleared")):fg(a,a.b,Z)||fg(a,a.N,Z)||fg(a,a.I,Z)||a.j("breakpoint missing: "+Y(a,Z)):null!=Z.D&&($e(a,Z,S),"p"==la?a.Ha(a.b,Z):"r"==la?a.Ha(a.N,Z):"w"==la?a.Ha(a.I,Z):a.j("unknown breakpoint command: "+la))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var $a,ab=g[0],ma=g[1],za=g[2],ch=g[3];if("?"==ma){var bb="";for($a in Zb)a.oa[$a]&&(bb&&(bb+=","),bb+= B)a.j("missing breakpoint address");else{var Z=X();if("*"!=B&&(Z=Ye(a,B,a.M),!Z))break a;"c"==la?null==Z.D?(Qe(a),a.j("all breakpoints cleared")):fg(a,a.b,Z)||fg(a,a.N,Z)||fg(a,a.I,Z)||a.j("breakpoint missing: "+Y(a,Z)):null!=Z.D&&($e(a,Z,S),"p"==la?a.Ha(a.b,Z):"r"==la?a.Ha(a.N,Z):"w"==la?a.Ha(a.I,Z):a.j("unknown breakpoint command: "+la))}}}break;case "c":a.ta&&(a.ta.value="");break;case "d":a:{var $a,ab=g[0],ma=g[1],za=g[2],dh=g[3];if("?"==ma){var bb="";for($a in Zb)a.oa[$a]&&(bb&&(bb+=","),bb+=
$a);bb+=",state,symbols";a.j("dump memory commands:");a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");bb.length&&a.j("dump extension commands:\n\t"+bb)}else if("state"==ma){var Bd=sg(a.F,!0);"console"==za?console.log(Bd):(a.ta&&(a.ta.value=""),Bd&&a.j(Bd))}else if("symbols"==ma)for(var Cd=0;Cd<a.G.length;Cd++){var Dd=a.G[Cd],cb;for(cb in Dd.U)if("."!=cb.charAt(0)){var xf=Dd.U[cb].o; $a);bb+=",state,symbols";a.j("dump memory commands:");a.j("\tdw [a] [n] dump n words at address a");a.j("\tds [a] [n] dump n words at address a as JSON");a.j("\tdh [p] [n] dump n instructions from history position p");bb.length&&a.j("dump extension commands:\n\t"+bb)}else if("state"==ma){var Bd=sg(a.G,!0);"console"==za?console.log(Bd):(a.ta&&(a.ta.value=""),Bd&&a.j(Bd))}else if("symbols"==ma)for(var Cd=0;Cd<a.F.length;Cd++){var Dd=a.F[Cd],cb;for(cb in Dd.U)if("."!=cb.charAt(0)){var zf=Dd.U[cb].o;
if(void 0!==xf){var yf=Dd.U[cb].l;yf&&(cb=yf);a.j(I(a,xf)+" "+cb)}}}else{if("d"==ab){for($a in Zb)if(g[1]==$a){var zf=a.oa[$a];zf?(g.shift(),g.shift(),zf(g)):a.j("no dump registered for "+ma);break a}ma||(ab=a.Fa||"dw")}else a.Fa=ab;if("dh"==ab){var Af=ma,Bf=za,Cf="",Df=0,ia=a.S,na=a.i;if(na.length){var ea=+Af||a.va,wb=+Bf||10;isNaN(ea)?ea=wb:Cf="more ";ea>na.length&&(a.j("note: only "+na.length+" available"),ea=na.length);ia-=ea;0>ia&&(null==na[na.length-1].D?(ea=ia+ea,ia=0):ia+=na.length);var Ed= if(void 0!==zf){var Af=Dd.U[cb].l;Af&&(cb=Af);a.j(I(a,zf)+" "+cb)}}}else{if("d"==ab){for($a in Zb)if(g[1]==$a){var Bf=a.oa[$a];Bf?(g.shift(),g.shift(),Bf(g)):a.j("no dump registered for "+ma);break a}ma||(ab=a.Fa||"dw")}else a.Fa=ab;if("dh"==ab){var Cf=ma,Df=za,Ef="",Ff=0,ia=a.S,na=a.i;if(na.length){var ea=+Cf||a.va,wb=+Df||10;isNaN(ea)?ea=wb:Ef="more ";ea>na.length&&(a.j("note: only "+na.length+" available"),ea=na.length);ia-=ea;0>ia&&(null==na[na.length-1].D?(ea=ia+ea,ia=0):ia+=na.length);var Ed=
[];"call"==Bf&&(wb=1E5,Ed=["CALL"]);for(void 0!==Af&&a.j(ea+" instructions earlier:");0<wb&&ia!=a.S;){var Ef=na[ia++];if(null==Ef.D)break;var xb=X(Ef.D),dh=ea--,Ff=sf(a,xb,"history",dh);(!Ed.length||0<=Ff.indexOf(Ed[0]))&&a.j(Ff);xb.fb&&(ia+=xb.fb,wb-=xb.fb,ea-=xb.fb);ia>=na.length&&(ia=0);a.va=ea;Df++;wb--}}Df||(a.j("no "+Cf+"history available"),a.va=void 0)}else{var db=Ye(a,ma,a.ga);if(db){var Ia=0,Gf="ds"==ab;if(za){if("l"==za.charAt(0))za=za.substr(1)||ch,Ia=Le(a,za);else{var Hf=Ye(a,za);Hf&& [];"call"==Df&&(wb=1E5,Ed=["CALL"]);for(void 0!==Cf&&a.j(ea+" instructions earlier:");0<wb&&ia!=a.S;){var Gf=na[ia++];if(null==Gf.D)break;var xb=X(Gf.D),eh=ea--,Hf=sf(a,xb,"history",eh);(!Ed.length||0<=Hf.indexOf(Ed[0]))&&a.j(Hf);xb.fb&&(ia+=xb.fb,wb-=xb.fb,ea-=xb.fb);ia>=na.length&&(ia=0);a.va=ea;Ff++;wb--}}Ff||(a.j("no "+Ef+"history available"),a.va=void 0)}else{var db=Ye(a,ma,a.ga);if(db){var Ia=0,If="ds"==ab;if(za){if("l"==za.charAt(0))za=za.substr(1)||dh,Ia=Le(a,za);else{var Jf=Ye(a,za);Jf&&
(Ia=Hf.D-db.D)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var eh=a.ca;db.ca&&(a.ca=db.ca);for(var If="db"==ab?1:2,Fd=Ia||32,Gd=1==If?2:4,fh=(Fd+Gd-1)/Gd|0||1,Ja="";fh--&&0<Fd;){for(var Ka="",Jf="",ma=Y(a,db),Kf=Gd;0<Kf--&&0<Fd--;){var wc=a.Ea(db,1);Gf?(Ka&&(Ka+=","),Ka+=wc):(Ka+=af(wc),Ka+=" ");for(var Lf=0;1==If&&6>Lf;Lf++)Jf+=String.fromCharCode((wc%64|0)+32),wc/=64}Ja&&(Ja+="\n");Ja=Gf?Ja+(Ka+","):Ja+(ma+": "+Ka+(0>Kf?" "+Jf:""))}Ja&&a.j(Ja);a.ca=eh}}}}break;case "e":if("else"==g[0])break;var Mf,Nf,Of= (Ia=Jf.D-db.D)}0>Ia&&(Ia=0);65536<Ia&&(Ia=65536)}var fh=a.ca;db.ca&&(a.ca=db.ca);for(var Kf="db"==ab?1:2,Fd=Ia||32,Gd=1==Kf?2:4,gh=(Fd+Gd-1)/Gd|0||1,Ja="";gh--&&0<Fd;){for(var Ka="",Lf="",ma=Y(a,db),Mf=Gd;0<Mf--&&0<Fd--;){var wc=a.Ea(db,1);If?(Ka&&(Ka+=","),Ka+=wc):(Ka+=af(wc),Ka+=" ");for(var Nf=0;1==Kf&&6>Nf;Nf++)Lf+=String.fromCharCode((wc%64|0)+32),wc/=64}Ja&&(Ja+="\n");Ja=If?Ja+(Ka+","):Ja+(ma+": "+Ka+(0>Mf?" "+Lf:""))}Ja&&a.j(Ja);a.ca=fh}}}}break;case "e":if("else"==g[0])break;var Of,Pf,Qf=
g[0],Hd=g[1];"e"==Of||"ew"==Of?(Mf=a.Ea,Nf=a.nb):Hd=null;if(null==Hd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var xc=Ye(a,Hd,a.ga);if(xc)for(var Id=2;Id<g.length;Id++){var yb=Je(a,g[Id]);if(void 0===yb)break;yb=Ze(yb);a.j("changing "+Y(a,xc)+" from "+af(Mf.call(a,xc))+" to "+af(yb));Nf.call(a,xc,yb,1)}}break;case "g":a:{var Pf=g[1],gh=b;if(void 0!==Pf){var Jd=Ye(a,Pf);if(!Jd)break a;$e(a,Jd,gh);a.Ha(a.b,Jd,!0)}mf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"), g[0],Hd=g[1];"e"==Qf||"ew"==Qf?(Of=a.Ea,Pf=a.nb):Hd=null;if(null==Hd)a.j("edit memory commands:"),a.j("\tew [a] [...] edit words at address a");else{var xc=Ye(a,Hd,a.ga);if(xc)for(var Id=2;Id<g.length;Id++){var yb=Je(a,g[Id]);if(void 0===yb)break;yb=Ze(yb);a.j("changing "+Y(a,xc)+" from "+af(Of.call(a,xc))+" to "+af(yb));Pf.call(a,xc,yb,1)}}break;case "g":a:{var Rf=g[1],hh=b;if(void 0!==Rf){var Jd=Ye(a,Rf);if(!Jd)break a;$e(a,Jd,hh);a.Ha(a.b,Jd,!0)}mf(a,!0,c)}break;case "h":a.A.L?(c||a.j("halting"),
a.W()):Lb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Kd;var zb=b.substr(2),zb=Ea(zb);Je(a,zb)?(c||a.j("true: "+zb),Kd=!0):(c||a.j("false: "+zb),Kd=!1);Kd||(d=!1);break}f=!0;break;case "k":var hh=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Ld=0,Md=X(),Ab=X();for(a.j("stack trace for "+Y(a,Ab));10>Ld;){for(var La=null,ih=256;65536>Ab.D>>>0;){Md.D=a.Ea(Ab,2);if(null==Ab.D||!ih--)break;if(!(Md.D&1)){for(var jh= a.W()):Lb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Kd;var zb=b.substr(2),zb=Ea(zb);Je(a,zb)?(c||a.j("true: "+zb),Kd=!0):(c||a.j("false: "+zb),Kd=!1);Kd||(d=!1);break}f=!0;break;case "k":var ih=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Ld=0,Md=X(),Ab=X();for(a.j("stack trace for "+Y(a,Ab));10>Ld;){for(var La=null,jh=256;65536>Ab.D>>>0;){Md.D=a.Ea(Ab,2);if(null==Ab.D||!jh--)break;if(!(Md.D&1)){for(var kh=
a,yc=Md,Qf=null,Bb=yc.D,Rf=Bb,Nd=1;6>=Nd&&Bb;Nd++){if(2<Nd){yc.D=Bb;var zc=sf(jh,yc);if(0<=zc.indexOf("JSR")){var Sf=zc.indexOf(" ");if(Bb+(zc.indexOf(" ",Sf+1)-Sf-1)/2==Rf){Qf=zc;break}}}Bb-=2}yc.D=Rf;if(La=Qf)break}}if(!La||null==La)break;var Tf=null;if("ks"==hh){var Uf=La.match(/[0-9A-F]+$/);Uf&&(Tf=pg(a,Uf[0]))}La=Da(La,50)+" ;"+(Tf||"stack="+Y(a,Ab));a.j(La);Ld++}Ld||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){pg(a,g[1],!0);break}f=!0;break;case "m":a:{var oa,pa=null,K=g[1]; a,yc=Md,Sf=null,Bb=yc.D,Tf=Bb,Nd=1;6>=Nd&&Bb;Nd++){if(2<Nd){yc.D=Bb;var zc=sf(kh,yc);if(0<=zc.indexOf("JSR")){var Uf=zc.indexOf(" ");if(Bb+(zc.indexOf(" ",Uf+1)-Uf-1)/2==Tf){Sf=zc;break}}}Bb-=2}yc.D=Tf;if(La=Sf)break}}if(!La||null==La)break;var Vf=null;if("ks"==ih){var Wf=La.match(/[0-9A-F]+$/);Wf&&(Vf=pg(a,Wf[0]))}La=Da(La,50)+" ;"+(Vf||"stack="+Y(a,Ab));a.j(La);Ld++}Ld||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){pg(a,g[1],!0);break}f=!0;break;case "m":a:{var oa,pa=null,K=g[1];
"?"==K&&(K=void 0);if(void 0!==K){var Aa=0;if("all"==K)Aa=1879046143,K=null;else if("on"==K)pa=!0,K=null;else if("off"==K)pa=!1,K=null;else{"keys"==K&&(K="key");"kbd"==K&&(K="keyboard");for(oa in Zb)if(K==oa){Aa=Zb[oa];pa=!!(a.X&Aa);break}if(!Aa){a.j("unknown message category: "+K);break a}}if(Aa)if("on"==g[2])a.X|=Aa,pa=!0;else if("off"==g[2]&&(a.X&=~Aa,pa=!1,1073741824==Aa)){for(var Vf=1E3<=a.P.length?a.P.length-1E3:0;Vf<a.P.length;)a.j(a.P[Vf++]);a.P=[]}}var kh=0,Cb="";for(oa in Zb)if(!K||K==oa){var lh= "?"==K&&(K=void 0);if(void 0!==K){var Aa=0;if("all"==K)Aa=1879046143,K=null;else if("on"==K)pa=!0,K=null;else if("off"==K)pa=!1,K=null;else{"keys"==K&&(K="key");"kbd"==K&&(K="keyboard");for(oa in Zb)if(K==oa){Aa=Zb[oa];pa=!!(a.X&Aa);break}if(!Aa){a.j("unknown message category: "+K);break a}}if(Aa)if("on"==g[2])a.X|=Aa,pa=!0;else if("off"==g[2]&&(a.X&=~Aa,pa=!1,1073741824==Aa)){for(var Xf=1E3<=a.P.length?a.P.length-1E3:0;Xf<a.P.length;)a.j(a.P[Xf++]);a.P=[]}}var lh=0,Cb="";for(oa in Zb)if(!K||K==oa){var mh=
!!(a.X&Zb[oa]);if(null===pa||pa==lh)Cb&&(Cb+=","),++kh%10||(Cb+="\n\t"),"key"==oa&&(oa="keys"),Cb+=oa}void 0===K&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==pa?pa?"messages on: ":"messages off: ":"message categories:\n\t")+(Cb||"none"));Re(a)}break;case "p":if("print"==g[0]){qg(a,b.substr(5));break}var Wf=g[0],Xf="p"==Wf?0:"pr"==Wf?1:-1;if("?"==g[1]||0>Xf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update"); !!(a.X&Zb[oa]);if(null===pa||pa==mh)Cb&&(Cb+=","),++lh%10||(Cb+="\n\t"),"key"==oa&&(oa="keys"),Cb+=oa}void 0===K&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==pa?pa?"messages on: ":"messages off: ":"message categories:\n\t")+(Cb||"none"));Re(a)}break;case "p":if("print"==g[0]){qg(a,b.substr(5));break}var Yf=g[0],Zf="p"==Yf?0:"pr"==Yf?1:-1;if("?"==g[1]||0>Zf)a.j("step commands:"),a.j("\tp\tstep over instruction"),a.j("\tpr\tstep over instruction with register update");
else if(a.O)a.j("step in progress");else{var Yf=X(a.v.i);a.Ea(Yf);a.O?(a.Ha(a.b,Yf,!0),mf(a)||(a.F&&hd(a.F),a.O=0)):rg(a,Xf?"tr":"t")}break;case "r":if("reset"==b){a.F&&a.F.reset();break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Db=+g[2];if(8==Db||10==Db||16==Db)a.ca=Db;else{a.j("invalid base: "+Db);break}}a.j("default base: "+a.ca);break;case "cs":var Eb;void 0!==g[3]&&(Eb=+g[3]);switch(g[2]){case "int":a.v.la=Eb;break;case "start":a.v.Aa=Eb;break;case "stop":a.v.ma=Eb;break; else if(a.O)a.j("step in progress");else{var $f=X(a.v.i);a.Ea($f);a.O?(a.Ha(a.b,$f,!0),mf(a)||(a.G&&hd(a.G),a.O=0)):rg(a,Zf?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}pf(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Db=+g[2];if(8==Db||10==Db||16==Db)a.ca=Db;else{a.j("invalid base: "+Db);break}}a.j("default base: "+a.ca);break;case "cs":var Eb;void 0!==g[3]&&(Eb=+g[3]);switch(g[2]){case "int":a.v.la=Eb;break;case "start":a.v.Aa=Eb;break;case "stop":a.v.ma=Eb;break;
default:a.j("unknown cs option");break a}void 0!==Eb&&$c(a.v);a.j("checksums "+(a.v.A.Ia?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ed(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"), default:a.j("unknown cs option");break a}void 0!==Eb&&$c(a.v);a.j("checksums "+(a.v.A.Ia?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(ed(a.v,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.v.ba.toFixed(2)+"Mhz")+" ("+a.v.ea+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),
a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":rg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){og(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.rb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){qg(a,b.substr(1));break}var Od="commands:",Pd;for(Pd in tg)Od+="\n"+Da(Pd,9)+tg[Pd];qd(a)||(Od+="\nnote: history disabled if no exec breakpoints"); a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":rg(a,g[0],g[1]);break;case "u":qf(a,g[1],g[2],8);break;case "v":if("var"==g[0]){og(a,b.substr(3))||(d=!1);break}if("ver"==g[0]){a.j((Pb||"PDP10")+" version 1.34.2 ("+a.v.rb+",RELEASE)");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){qg(a,b.substr(1));break}var Od="commands:",Pd;for(Pd in tg)Od+="\n"+Da(Pd,9)+tg[Pd];qd(a)||(Od+="\nnote: history disabled if no exec breakpoints");
a.j(Od);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch($f){a.j("Debugger "+($f.stack||$f.message)),d=!1}return d}function cd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!ig(a,b[+d]))return!1;return!0} a.j(Od);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(bg){a.j("Debugger "+(bg.stack||bg.message)),d=!1}return d}function cd(a,b,c){b=Fe(a,b,c);for(var d in b)if(!ig(a,b[+d]))return!1;return!0}
var tg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},ag=20,cg=85,bg=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "), var tg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},xf=20,cg=85,ag=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV".split(" "),
cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),ug={},tf=(ug[28672]={0:101},ug[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:cg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ug[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:ag,9216:53,9472:52, cf=0,df=1,ef=2,ff=3,gf=4,hf=5,jf=6,kf=7,bf="PC RA EA C0 C1 OV ND PD".split(" "),ug={},tf=(ug[28672]={0:101},ug[32704]={5632:64,5696:63,5760:58,5824:27,5888:28,5952:25,6016:29,6080:26,10240:56,10304:48,10368:46,10432:84,10496:57,10560:49,10624:47,10752:21,10816:22,10880:69,10944:70,11008:88,11072:cg,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},ug[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:xf,9216:53,9472:52,
9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ug[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ug[29248]={24576:79,24640:80,25088:81,25152:82},ug[28700]={28672:93,28676:94,28680:95,28684:96,28688:97, 9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},ug[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},ug[29248]={24576:79,24640:80,25088:81,25152:82},ug[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,
28692:98,28696:99,28700:100},ug),uf=["","I","M","S"],vf=" L E LE A GE N G".split(" "),Zf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),dg={8:102,4:103,2:104,6:105,1:106},lf=1E3,of=">> ";Ya(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Pe(d);sb(d,c)}}); 28692:98,28696:99,28700:100},ug),uf=["","I","M","S"],vf=" L E LE A GE N G".split(" "),wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),dg={8:102,4:103,2:104,6:105,1:106},lf=1E3,of=">> ";Ya(function(){for(var a=w(document,v,"debugger"),b=0;b<a.length;b++){var c=a[b],d=u(c),d=new Pe(d);sb(d,c)}});
function ng(a,b,c,d){this.J=b||0;this.u=c;this.done=d;this.j=c.j;this.H={};this.I={};this.G=this.w=0;this.B=[];this.F=null;this.b=0;this.i=this.v=null;this.C="";var e=this;Ha(a,null,!0,function(a,b,c){if(!c){var d=e.u;c=d.K;d.K={};try{d=b;if(ya(a,".html")){for(var d="",f,g=/<pre>([\s\S]*?)<\/pre>/gi;f=g.exec(b);){var h=f[1];0<=h.indexOf("&")&&(h=h.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&"));d+=h}(f=d.match(/&[a-z]+;/i))&&e.j("warning"+(e.w?" at line "+va(e.w):"")+": "+("unrecognized HTML entity: "+ function ng(a,b,c,d){this.H=b||0;this.v=c;this.done=d;this.j=c.j;this.G={};this.I={};this.F=this.u=0;this.B=[];this.C=null;this.b=0;this.i=this.J=null;this.w="";var e=this;Ha(a,null,!0,function(a,b,c){if(!c){var d=e.v;c=d.K;d.K={};try{d=b;if(ya(a,".html")){for(var d="",f,g=/<pre>([\s\S]*?)<\/pre>/gi;f=g.exec(b);){var h=f[1];0<=h.indexOf("&")&&(h=h.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&"));d+=h}(f=d.match(/&[a-z]+;/i))&&e.j("warning"+(e.u?" at line "+va(e.u):"")+": "+("unrecognized HTML entity: "+
f[0]))}var B,S=d.split(/\r?\n/);for(B=0;B<S.length&&(e.w++,vg(e,S[B]+"\r\n"));B++);}catch(la){e.j(la.message),e.G=-1}e.u.K=c;c=e.G}e.done(e,a,c)})} f[0]))}var B,S=d.split(/\r?\n/);for(B=0;B<S.length&&(e.u++,vg(e,S[B]+"\r\n"));B++);}catch(la){e.j(la.message),e.F=-1}e.v.K=c;c=e.F}e.done(e,a,c)})}
function vg(a,b){if(a.b){if(1==a.b){var c=b.indexOf("<");0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.F+" definition: "+b)}if(1<a.b){for(var c="",d=0;d<b.length;d++)if("<"==b[d])a.b++;else if(">"==b[d]&&(a.b--,1==a.b)){a.b=0;c=b.substr(d+1);b=b.substr(0,d);break}a.H[a.v].Wa+=b;a.b||wg(a);b=c}if(a.b)return!0}null!=a.i&&(b=xg(a,b));c=b.match(/\s*([A-Z$%.][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i);if(!c||c[4]&&";"!=c[4].slice(0,1))return a.error("failed to parse line: "+ function vg(a,b){if(a.b){if(1==a.b){var c=b.indexOf("<");0<=c?(a.b++,b=b.substr(c+1)):a.error("expected "+a.C+" definition: "+b)}if(1<a.b){c=b;b="";for(var d=0;d<c.length;d++)if("<"==c[d])a.b++;else if(">"==c[d]&&(a.b--,1==a.b)){a.b=0;b=c.substr(d+1);c=c.substr(0,d);break}d=a.J||"";a.G[d].La+=c;a.b||(a.J=null,wg(a,d))}if(a.b)return!0}null!=a.i&&(b=xg(a,b));c=b.match(/\s*([A-Z$%.][0-9A-Z$%.]*[:=]|)\s*([A-Z$%.][0-9A-Z$%.]*|)\s*([^;]+|)\s*(;?.*)/i);if(!c||c[4]&&";"!=c[4].slice(0,1))return a.error("failed to parse line: "+
b),!1;b=c[1];d=c[2].toUpperCase();c=c[3].trim();if(b){var e=b.slice(-1);b=b.slice(0,-1);":"==e?yg(a,b,a.J,!0):(c=d+c,d=e)}a.F=d;c=c.trim();switch(d){case "=":d=Je(a.u,c);void 0===d?a.error("parseExpression("+c+")"):yg(a,b,d);break;case zg:case Ag:case Bg:xg(a,c);break;case Cg:case Dg:case Eg:a:{b=d;var f;if(b==Cg){d=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!d){a.error("unrecognized "+b+" definition: "+c);break a}b=d[1];c=d[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);e=-1;f=3}else{for(var d= b),!1;b=c[1];d=c[2].toUpperCase();c=c[3].trim();if(b){var e=b.slice(-1);b=b.slice(0,-1);":"==e?yg(a,b,a.H,!0):(c=d+c,d=e)}a.C=d;c=c.trim();if(!wg(a,d,c))switch(d){case "=":d=Je(a.v,c);void 0===d?a.error("parseExpression("+c+")"):yg(a,b,d);break;case zg:case Ag:case Bg:xg(a,c);break;case Cg:case Dg:case Eg:a:{b=d;var d=c,f;if(b==Cg){c=d.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*(<|)(.*)/i);if(!c){a.error("unrecognized "+b+" definition: "+d);break a}b=c[1];d=c[2].match(/[A-Z$%.][0-9A-Z$%.]*/g);
c,e=null,g=f=0;g<d.length;g++){var h=d[g];if(","==h&&!f){e=d.substr(0,g);break}if("<"==h)f++;else if(">"==h&&0>--f){a.error("missing angle bracket(s): "+d);break}}if(!e){a.error("missing "+b+" expression: "+c);break a}c=c.substr(e.length+1);e=e.trim();d=c.match(/\s*(<|)(.*)/i);b="@"+b;c=[];e=Je(a.u,e);f=1}a.b=1;a.v=b;g="";d[f]&&(a.b=2,g=d[f+1],">"==g.slice(-1)&&(a.b=0,g=g.slice(0,-1)));a.H[b]={name:b,Zc:c,yb:e,Wa:g};a.b||wg(a)}}return 330<=a.w?(Oe(a.u),a.error("temporary line limit reached"),!1): e=-1;f=3}else{e=Fg(a,d,",");if(!e){a.error("missing "+b+" expression: "+d);break a}d=d.substr(e.length+1);e=e.trim();c=d.match(/\s*(<|)(.*)/i);b="@"+b;d=[];e=Je(a.v,e);f=1}b=b.toUpperCase();a.b=1;var g="";c[f]&&(a.b=2,g=c[f+1],">"==g.slice(-1)&&(a.b=0,g=g.slice(0,-1)));a.G[b]={name:b,Eb:d,yb:e,La:g};a.b?a.J=b:wg(a,b)}}return 820<=a.u?(Oe(a.v),a.error("temporary line limit reached"),!1):!0}
!0}function wg(a){if(a.v){var b=a.H[a.v];switch("@"==a.v[0]?a.v.substr(1):a.F){case Dg:b.yb||Fg(a,b.Wa);break;case Eg:for(;0<b.yb--;)Fg(a,b.Wa)}}}function Fg(a,b){b=b.split(/\r?\n/);for(var c=0;c<b.length&&vg(a,b[c]+"\r\n");c++);}ng.prototype.error=function(a){throw Error("error"+(this.w?" at line "+va(this.w):"")+": "+a);}; function wg(a,b,c){var d=a.G[b];if(!d)return!1;if(null!=c){b=[];var e=",";"("==c[0]&&(e+=")",c=c.substr(1));for(;c;){c=c.trim();var f=Fg(a,c,e);if(!f)break;b.push(f);c=c.substr(f.length+1)}Gg(a,d.La,d.Eb,b);return!0}if("@"!=b[0])return!1;switch(b.substr(1)){case Dg:d.yb||Gg(a,d.La);break;case Eg:for(;0<d.yb--;)Gg(a,d.La);break;default:return!1}return!0}
function xg(a,b){var c=b;null==a.i&&(a.i=a.C="",b&&(a.i=b[0],c=b=b.substr(1)));if(a.i){var d=b.indexOf(a.i);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.i=null);a.C+=b}if(null==a.i){var e=0;b=0;var f,g,d=a.C.length;a.F==Ag&&d++;for(var h=0;h<d;h++){e||(b=0,g=29,f=7,a.F==Bg&&(f--,g++));var k=a.C.charCodeAt(h)&127;6==f&&(97<=k&&122>=k&&(k-=32),k=k+32&63);b+=k*Math.pow(2,g);g-=f;e++;0>g&&(e=b,a.B[a.J++]=e,e=0)}e&&(a.B[a.J++]=b)}return c} function Gg(a,b,c,d){b=b.split(/\r?\n/);for(var e=0;e<b.length;e++){var f=b[e]+"\r\n";if(c)for(var g=0;g<c.length;g++)for(var h=c[g],k=d[g]||"",n=0;;){var p=f.indexOf(h,n);if(0>p)break;var n=p+1,q=p+h.length;p&&f[p-1].match(/[0-9A-Z$%.]/i)||!(q>=f.length)&&f[q].match(/[0-9A-Z$%.]/i)||(f=f.substr(0,p)+k+f.substr(q),n=p+k.length)}if(!vg(a,f))break}}ng.prototype.error=function(a){throw Error("error"+(this.u?" at line "+va(this.u):"")+": "+a);};
function yg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&void 0!==a.I[b]?a.error("label "+b+" redefined"):(a.I[b]={name:b,value:c,dd:d,cd:e,ed:f},a.u.K[b]=c)}var zg="ASCII",Ag="ASCIZ",Bg="SIXBIT",Cg="DEFINE",Dg="IFE",Eg="REPEAT"; function Fg(a,b,c){c=void 0===c?"":c;for(var d=0,e=null,f=0;d<b.length;){var g=b[d];if(0<=c.indexOf(g))break;if("<"==g)f++;else if(">"==g&&0>--f){a.error("missing angle bracket(s): "+b);break}d++}f?0<f&&a.error("extra angle bracket(s): "+b):e=b.substr(0,d);return e}
function Gg(a,b,c){r.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Hg(this,b);this.O=Yc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.G=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=Yc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Ig(this);if(this.v=rb("CPU",this.id)){this.C=rb("Debugger",this.id);this.H=new Bc({id:this.Qa+".bus",busWidth:this.aa},this.v,this.C);var d,e=pb(this.id);if((this.u=rb("Panel",this.id))&&this.u.ta)for(b= function xg(a,b){var c=b;null==a.i&&(a.i=a.w="",b&&(a.i=b[0],c=b=b.substr(1)));if(a.i){var d=b.indexOf(a.i);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.i=null);a.w+=b}if(null==a.i){var e=0;b=0;var f,g,d=a.w.length;a.C==Ag&&d++;for(var h=0;h<d;h++){e||(b=0,g=29,f=7,a.C==Bg&&(f--,g++));var k=a.w.charCodeAt(h)&127;6==f&&(97<=k&&122>=k&&(k-=32),k=k+32&63);b+=k*Math.pow(2,g);g-=f;e++;0>g&&(e=b,a.B[a.H++]=e,e=0)}e&&(a.B[a.H++]=b)}return c}
0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Pb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Da&&d.Da(this,this.H,this.v,this.C);b=null;d=Yc(this,"resume",a);void 0!==d&&(1<d.length?b=this.G=d:this.b=parseInt(d,10));var f;if(a=Yc(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Jg),this.b&&(this.I=new F(this,"1.34.2"),Kg(this.I)?b=null: function yg(a,b,c,d){var e,f;d=void 0===d?!1:d;e=void 0===e?!1:e;f=void 0===f?!1:f;b=b.toUpperCase().substr(0,6);d&&void 0!==a.I[b]?a.error("label "+b+" redefined"):(a.I[b]={name:b,value:c,dd:d,cd:e,ed:f},a.v.K[b]=c)}var zg="ASCII",Ag="ASCIZ",Bg="SIXBIT",Cg="DEFINE",Dg="IFE",Eg="REPEAT";
delete this.I);!b&&this.b&&(b=Lg(this))&&(this.K=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.G=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.M=b,g.T=!0);Kb(g)})}else Kb(this);this.J.power||(this.O=!0);!c&&this.O&&Mg(this,this.Ka)}else q("Unable to find CPU component")}ka(Gg,r);function Hg(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b} function Hg(a,b,c){t.call(this,"Computer",a,33554432);this.A.V=!1;this.R=null;Ig(this,b);this.O=Yc(this,"autoPower",a,6);this.w=0;this.aa=+a.busWidth||+a.buswidth;this.M=this.F=this.N=null;this.K=this.T=!1;this.I=this.B=null;this.S=this.P=!1;this.ba=Yc(this,"url")||"";(Math.random()+.1).toString(36);this.i=Jg(this);if(this.v=rb("CPU",this.id)){this.C=rb("Debugger",this.id);this.H=new Bc({id:this.Ra+".bus",busWidth:this.aa},this.v,this.C);var d,e=pb(this.id);if((this.u=rb("Panel",this.id))&&this.u.ta)for(b=
function Yc(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Mg(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Jb(f)){Jb(f,function(){Mg(a,b,c)});return}}b.call(a,c)} 0;b<e.length;b++)d=e[b],d.da=this.u.da,d.j=this.u.j,d.ta=this.u.ta;this.j(Pb+" v1.34.2\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.Da&&d.Da(this,this.H,this.v,this.C);b=null;d=Yc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var f;if(a=Yc(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.K=!0,this.b=Kg),this.b&&(this.I=new F(this,"1.34.2"),Lg(this.I)?b=null:
function Ng(a,b){var c=new F(a,"1.34.2",Og);if(Kg(c)&&Pg(c)){var d=c.get(Qg),e=b?b.get(Qg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Gg.prototype; delete this.I);!b&&this.b&&(b=Mg(this))&&(this.K=!0);if(b){var g=this;Ha(b,null,!0,function(a,b,c){c?(g.F=null,g.K=!1,g.da("Unable to load machine state from server (error "+c+(b?": "+Ea(b):"")+")")):(g.M=b,g.T=!0);Kb(g)})}else Kb(this);this.J.power||(this.O=!0);!c&&this.O&&Ng(this,this.Ka)}else r("Unable to find CPU component")}ka(Hg,t);function Ig(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.R=b}
l.Ka=function(a){void 0===a&&(a=this.b||(this.M?Rg:Jg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.2");if(a==Sg)b=!0;else if(a>Jg){if(Kg(d,this.M)){this.B=new F(this,"1.34.2",Tg);Kg(this.B)&&(Ug(this,d),a=Vg,Wg(this.B));this.B.set(Qg,Ga());Xg(this.B);var e=this.b&&!this.K;if(a==Rg||ob("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Pg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Kg(d,g):("error"==f&&"no machine state"!= function Yc(a,b,c,d){var e=b.toLowerCase(),e=Ta(b)||Ta(e);void 0===e&&a.R&&(e=a.R[b]);void 0===e&&c&&(e=c[b]);void 0===e&&"object"==typeof resources&&resources[b]&&(e=b);void 0===e&&(e=void 0);if("string"==typeof e&&d)switch(d){case 4:e=+e;isNaN(e)&&(e=0);break;case 6:e="true"==e}return e}function Ng(a,b,c){for(var d=pb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Jb(f)){Jb(f,function(){Ng(a,b,c)});return}}b.call(a,c)}
g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Yg,""),this.i=null)):this.j(f+": "+g),Wg(d),Kg(d)?(c=Pg(d),e=!0):c=!1))}e&&Ng(this,c?d:null)}else a==Vg&&d.clear()}else Ng(this);delete this.M;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Zg(this,g,d,b,c));b=[d,a,c];a!=Sg?Mg(this,this.vb,b):this.vb(b)}}; function Og(a,b){var c=new F(a,"1.34.2",Pg);if(Lg(c)&&Qg(c)){var d=c.get(Rg),e=b?b.get(Rg):"unknown";d!=e&&(a.da("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Hg.prototype;
function Zg(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(q("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Jg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.kb){var g=b.kb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){q("Error restoring state for "+b.type+" ("+h.message+")")}}return e} l.Ka=function(a){void 0===a&&(a=this.b||(this.M?Sg:Kg));if(!this.w){this.w++;var b=!1,c=!1;this.P=!1;var d=this.I||new F(this,"1.34.2");if(a==Tg)b=!0;else if(a>Kg){if(Lg(d,this.M)){this.B=new F(this,"1.34.2",Ug);Lg(this.B)&&(Vg(this,d),a=Wg,Xg(this.B));this.B.set(Rg,Ga());Yg(this.B);var e=this.b&&!this.K;if(a==Sg||ob("Click OK to restore the previous "+Pb+" machine state, or CANCEL to reset the machine.")){if(c=Qg(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Lg(d,g):("error"==f&&"no machine state"!=
l.vb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Zg(this,this.v,b,c,a),H(this,-2),this.v.Z());this.P&&(Ug(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0}; g?(this.da("Error: "+g),"unable to verify user"==g&&(Ra(Zg,""),this.i=null)):this.j(f+": "+g),Xg(d),Lg(d)?(c=Qg(d),e=!0):c=!1))}e&&Og(this,c?d:null)}else a==Wg&&d.clear()}else Og(this);delete this.M;delete this.I}e=pb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=$g(this,g,d,b,c));b=[d,a,c];a!=Tg?Ng(this,this.vb,b):this.vb(b)}};
function Ug(a,b){if(ob("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}} function $g(a,b,c,d,e){if(!b.A.V){b.A.V=!0;var f=null;try{if(e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof f&&(f=null),!b.ua(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.T?(c.clear(),a.b=Kg,window&&window.location.reload()):a.P=!0,b.ua(null),e=!1),!d&&b.kb){var g=b.kb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
function sg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Og),h=Ga();g.set(Qg,h);f.set(Qg,h);f.set($g,"1.34.2");f.set(ah,window?window.location.href:null);f.set(bh,window?window.navigator.userAgent:"");a.v&&a.v.ja&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ja(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var n=h[k];n.A.V&&(n.ja&&(d=n.ja(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.A.V= l.vb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.A.V=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&($g(this,this.v,b,c,a),H(this,-2),this.v.Z());this.P&&(Vg(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.w=0};
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&mh(a,a.i,f.toString()),Xg(g)&&Xg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==nh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e} function Vg(a,b){if(ob("There may be a problem with your "+Pb+" machine.\n\nTo help us diagnose it, click OK to send this "+Pb+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=Pb;d.ver="1.34.2";d.url=c;d.user=a;d.type="bug";d.data=b;Ha("http://www.pcjs.org/api/v1/report",d,!0)}}
function sg(a,b,c){var d,e="none";if(a.w)return null;a.w--;var f=new F(a,"1.34.2"),g=new F(a,"1.34.2",Pg),h=Ga();g.set(Rg,h);f.set(Rg,h);f.set(ah,"1.34.2");f.set(bh,window?window.location.href:null);f.set(ch,window?window.navigator.userAgent:"");a.v&&a.v.ja&&(c&&(b&&(a.v.A.Z=a.v.A.L),a.v.W()),d=a.v.ja(b,c),"object"===typeof d&&f.set(a.v.id,d),c&&(a.v.A.V=!1,!1===d&&(e=null)));for(var h=pb(a.id),k=0;k<h.length;k++){var n=h[k];n.A.V&&(n.ja&&(d=n.ja(b,c),"object"===typeof d&&f.set(n.id,d)),c&&(n.A.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&nh(a,a.i,f.toString()),Yg(g)&&Yg(f)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==oh),d&&f.clear(h)):e=f.toString());c&&(a.A.V=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return e}
l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Ob(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Ob(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Ob(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};l.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)}; l.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(Ob(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(Ob(this,"Resetting "+this.v.type),this.v.reset());for(var a=pb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(Ob(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;H(this,-1)};l.start=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}H(this,-1)};
l.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}H(this,-1)}; l.stop=function(a,b){for(var c=pb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}H(this,-1)};
function H(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Ya+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Ya=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.C&&a.C.ca||8,e=e||0,e=8==f?ua(e,void 0):m(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.va);hc(a,a.i);bc(a,a.w)}} function H(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.Ya+=d))&&(e.textContent=c.A.L?c.aa.toFixed(2)+"Mhz":"Stopped",c.Ya=0)}if(a.u&&(a=a.u,b=b||0,a.M)){c=a.v.A.L;d=!!(a.v.B&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.C&&a.C.ca||8,e=e||0,e=8==f?ua(e,void 0):m(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.va);hc(a,a.i);bc(a,a.w)}}
l.ka=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?sg(d,!1,!0):Mg(d,d.Ka))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.G){var a=ob("Click OK to save changes to this "+Pb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ka(Jg)}else d.reset(),d.v&&!d.C&&d.v.Z()},!0;case "save":if(ya(Na(),"pcjs.org"))c.parentNode.removeChild(c); l.ka=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.V?sg(d,!1,!0):Ng(d,d.Ka))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.V&&!d.w)if(d.b&&!d.F){var a=ob("Click OK to save changes to this "+Pb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");sg(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ka(Kg)}else d.reset(),d.v&&!d.C&&d.v.Z()},!0;case "save":if(ya(Na(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.J[b]=c,c.onclick=function(){var a=Ig(d,!0);if(a){var b=!!(d.b&&!d.G||d.N),c=sg(d,b);b?mh(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1}; else return this.J[b]=c,c.onclick=function(){var a=Jg(d,!0);if(a){var b=!!(d.b&&!d.F||d.N),c=sg(d,b);b?nh(d,a,c):d.da("Resume disabled, machine state not saved")}},!0}return!1};
function Ig(a,b){var c=a.i;c||((c=Qa(Yg),void 0!==c)?!c&&b&&(b=null,window&&(b=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=b)&&((c=oh(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c} function Jg(a,b){var c=a.i;c||((c=Qa(Zg),void 0!==c)?!c&&b&&(b=null,window&&(b=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=b)&&((c=ph(a,c))||a.da("The user ID is invalid.")):b&&a.da("Browser local storage is not available"));return c}
function oh(a,b){a.i=null;b=Ha(Na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(Yg,b.data),a.i=b.data)}catch(d){q(d.message+" ("+c+")")}return a.i}function Lg(a){var b=null;a.i&&(b=Na()+"/api/v1/user?req=load&user="+a.i+"&state="+ph(a,"1.34.2"));return b} function ph(a,b){a.i=null;b=Ha(Na()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(Zg,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function Mg(a){var b=null;a.i&&(b=Na()+"/api/v1/user?req=load&user="+a.i+"&state="+qh(a,"1.34.2"));return b}
function mh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ph(a,"1.34.2");d.data=c;b=Ha(Na()+"/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.da("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.da(c),Ra(Yg,""),a.i=null)}} function nh(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=qh(a,"1.34.2");d.data=c;b=Ha(Na()+"/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.da("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.da(c),Ra(Zg,""),a.i=null)}}
function hd(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Tg="failsafe",Og="validate",Qg="timestamp",$g="version",ah="url",bh="browser",Yg="user",Sg=-1,Jg=0,Rg=1,Vg=2,nh=3;Ya(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=u(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=u(f),g=new Gg(g,d,!0);sb(g,f);g.O&&Mg(g,g.Ka)}}); function hd(a,b){if(a.ta){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.ta.focus();!b&&window&&window.scrollTo(c,d)}}var Ug="failsafe",Pg="validate",Rg="timestamp",ah="version",bh="url",ch="browser",Zg="user",Tg=-1,Kg=0,Sg=1,Wg=2,oh=3;Ya(function(){for(var a=w(document,v+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=u(c),c=w(c,v,"computer"),e=0;e<c.length;e++){var f=c[e],g=u(f),g=new Hg(g,d,!0);sb(g,f);g.O&&Ng(g,g.Ka)}});
Za.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=rb("Computer",c.id))&&c.S&&!c.A.V&&c.Ka(Sg)}});Za.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=rb("Computer",c.id))&&c.A.V&&sg(c,!(!c.b||c.G),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=ph(a,b,c);Wg(this,a.Fb)}l=F.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null}; Za.show.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=rb("Computer",c.id))&&c.S&&!c.A.V&&c.Ka(Tg)}});Za.exit.push(function(){for(var a=w(document,v,"computer"),b=0;b<a.length;b++){var c=u(a[b]);(c=rb("Computer",c.id))&&c.A.V&&sg(c,!(!c.b||c.F),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.u=!1;this.key=qh(a,b,c);Xg(this,a.Gb)}l=F.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null};
l.data=function(){return this.b};function Kg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Oa()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function Pg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){q(c.message||c),b=!1}return b}function Xg(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Ra(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i}; l.data=function(){return this.b};function Lg(a,b){return b?(a.i=b,a.v=!0,a.u=!1,!0):a.v?!0:Oa()&&(b=Qa(a.key))?(a.i=b,a.v=!0):!1}function Qg(a){var b=!0;if(!a.u)try{a.b=JSON.parse(a.i),a.u=!0}catch(c){r(c.message||c),b=!1}return b}function Yg(a){var b=!0;if(Oa()){var c=JSON.stringify(a.b);Ra(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Wg(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Wg(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 ph(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}var qh=0; function Xg(a,b){a.i="";a.b={};a.v=a.u=!1;b&&a.set("parms",b)}l.clear=function(a){Xg(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 qh(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}var rh=0;
function rh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(h,k,n){n?(k||(k="unable to load "+a+" ("+n+")"),g(k,null)):sh(k,a,b,c,d,e,f,g)})} function sh(a,b,c,d,e,f,g){f("Loading "+a+"...");Ha(a,null,!0,function(h,k,n){n?(k||(k="unable to load "+a+" ("+n+")"),g(k,null)):th(k,a,b,c,d,e,f,g)})}
function sh(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(lb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function th(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(lb(c,b,a),(g=b)&&0>g.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(g=window.location.pathname+g),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+g+'"}',"object"==typeof resources&&(g=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(g?' url="'+g+'"':"")));f||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(t){g=null,a=t.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?th(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)} a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));g=null;if("<"==a.charAt(0))try{f||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(g=new window.ActiveXObject("Microsoft.XMLDOM"),g.async=!1,g.loadXML(a)):g=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?uh(a,g,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function th(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, function uh(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ha(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)k=0>k.indexOf(n[1])?k.replace(">",n[0]+">"):k.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);th(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],g);uh(a,b,c)}})}else c(a,null)}
function uh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);n&&(--qh||gb(!0));n=!1}var h,k,n=!0;qh++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var t=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=p:B.appendChild(document.createTextNode(p));t.appendChild(B)}d|| function vh(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ba(a))}function g(a){f("Error: "+a);n&&(--rh||gb(!0));n=!1}var h,k,n=!0;rh++;mb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=p:B.appendChild(document.createTextNode(p));q.appendChild(B)}d||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?rh(d,null,a,null,!1,f,function(a,e){e?(lb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--qh||gb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--qh|| (p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.34.2/components.xsl");p=function(e,k){k?sh(d,null,a,null,!1,f,function(a,e){e?(lb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--rh||gb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--rh||
gb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?rh(c,b,a,e,!0,f,p):sh(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(S){g(S.message)}return n}window.embedPDP10=function(a,b,c,d){gb(!1);return uh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){gb(!1);return uh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")}; gb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?sh(c,b,a,e,!0,f,p):th(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(S){g(S.message)}return n}window.embedPDP10=function(a,b,c,d){gb(!1);return vh("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){gb(!1);return vh("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return rb(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ub[a]){for(var c=!0,d=ub,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p<f;p++){var t=b[p];if('"'==t||"'"==t)n&&t!=n?k+=t:(n?n=null:n=t,k&&(h.push(k),k=""));else{if(!n){if("\r"==t||"\n"==t)t=";";if(" "==t||"\t"==t||";"==t){k&&(h.push(k),k="");";"==t&&h.length&&(g.push(h),h=[]);continue}}k+=t}}k&&h.push(k);h.length&&g.push(h);d[e]=g;tb(a)||(c=!1)}return c};window.enableEvents=gb;window.sendEvent=ib;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!ub[a]){for(var c=!0,d=ub,e=a,f=b.length,g=[],h=[],k="",n=null,p=0;p<f;p++){var q=b[p];if('"'==q||"'"==q)n&&q!=n?k+=q:(n?n=null:n=q,k&&(h.push(k),k=""));else{if(!n){if("\r"==q||"\n"==q)q=";";if(" "==q||"\t"==q||";"==q){k&&(h.push(k),k="");";"==q&&h.length&&(g.push(h),h=[]);continue}}k+=q}}k&&h.push(k);h.length&&g.push(h);d[e]=g;tb(a)||(c=!1)}return c};window.enableEvents=gb;window.sendEvent=ib;})();//# sourceMappingURL=/tmp/pdpjs/1.34.2/pdp10-dbg.map