Tested a couple half-word instructions (so far, so good)

This commit is contained in:
Jeff Parsons 2017-02-27 12:25:13 -08:00 committed by Jeff Parsons
commit 17e807ecb6
8 changed files with 479 additions and 579 deletions

View file

@ -2,6 +2,42 @@
"load": 0o100, "load": 0o100,
"exec": 0o100, "exec": 0o100,
"data": [ "data": [
0o505040111111, // HRLI 1,111111 0o505040111111, // HRLI 1,111111
0o541040222222, // HRRI 1,222222
0o544100000001, // HLR 2,1
0o504100000001, // HRL 2,1
//
// >> dw 0 l4
// 000000: 000000 000000 111111 222222 222222 111111 000000 000000
//
// Compare to SIMH:
//
// sim> dep 100 505040111111
// sim> dep 101 541040222222
// sim> dep 102 544100000001
// sim> dep 103 504100000001
// sim> ex -m 100-103
// 100: HRLI 1,111111
// 101: HRRI 1,222222
// 102: HLR 2,1
// 103: HRL 2,1
// sim> dep pc 100
// sim> step
//
// Step expired, PC: 000101 (HRRI 1,222222)
// sim> step
//
// Step expired, PC: 000102 (HLR 2,1)
// sim> step
//
// Step expired, PC: 000103 (HRL 2,1)
// sim> step
//
// Step expired, PC: 000104 (000000000000)
// sim> ex 0-3
// 0: 000000000000
// 1: 111111222222
// 2: 222222111111
// 3: 000000000000
] ]
} }

View file

@ -540,7 +540,7 @@ class BusPDP10 extends Component {
* *
* @this {BusPDP10} * @this {BusPDP10}
* @param {number} addr is a physical address * @param {number} addr is a physical address
* @param {number} w is the word (36-bit) value to write (we truncate it to 16 bits to be safe) * @param {number} w is the word (36-bit) value to write
*/ */
setWordDirect(addr, w) setWordDirect(addr, w)
{ {

View file

@ -2651,7 +2651,7 @@ PDP10.opSETOB = function(op)
}; };
/** /**
* opHLL(0o500000): Half Word Left to Left * opHLL(0o5N0000): Half Word Left to Left
* *
* From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3: * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3:
* *
@ -2668,12 +2668,12 @@ PDP10.opHLL = function(op)
var a = op & PDP10.OPCODE.A_MASK; var a = op & PDP10.OPCODE.A_MASK;
var src = this.readWord(this.regEA); var src = this.readWord(this.regEA);
var dst = this.readWord(a); var dst = this.readWord(a);
dst = (dst & PDP10.WORD_MASK) + (src - (src & PDP10.WORD_MASK)); dst = PDP10.setHR(op, dst, src) + (src - (src & PDP10.WORD_MASK));
this.writeWord(a, dst); this.writeWord(a, dst);
}; };
/** /**
* opHLLI(0o501000): Half Word Left to Left, Immediate * opHLLI(0o5N1000): Half Word Left to Left, Immediate
* *
* From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3: * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3:
* *
@ -2692,12 +2692,12 @@ PDP10.opHLLI = function(op)
{ {
var a = op & PDP10.OPCODE.A_MASK; var a = op & PDP10.OPCODE.A_MASK;
var dst = this.readWord(a); var dst = this.readWord(a);
dst = (dst & PDP10.WORD_MASK); dst = PDP10.setHR(op, dst, 0);
this.writeWord(a, dst); this.writeWord(a, dst);
}; };
/** /**
* opHLLM(0o502000): Half Word Left to Left, Memory * opHLLM(0o5N2000): Half Word Left to Left, Memory
* *
* From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3: * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3:
* *
@ -2714,12 +2714,12 @@ PDP10.opHLLM = function(op)
var a = op & PDP10.OPCODE.A_MASK; var a = op & PDP10.OPCODE.A_MASK;
var src = this.readWord(a); var src = this.readWord(a);
var dst = this.readWord(this.regEA); var dst = this.readWord(this.regEA);
dst = (dst & PDP10.WORD_MASK) + (src - (src & PDP10.WORD_MASK)); dst = PDP10.setHR(op, dst, src) + (src - (src & PDP10.WORD_MASK));
this.writeWord(this.regEA, dst); this.writeWord(this.regEA, dst);
}; };
/** /**
* opHLLS(0o503000): Half Word Left to Left, Self * opHLLS(0o5N3000): Half Word Left to Left, Self
* *
* From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3: * From the DEC PDP-10 System Reference Manual (May 1968), p. 2-3:
* *
@ -2735,7 +2735,13 @@ PDP10.opHLLM = function(op)
*/ */
PDP10.opHLLS = function(op) PDP10.opHLLS = function(op)
{ {
if (op & PDP10.OPCODE.A_MASK) PDP10.opHLL.call(this, op); var dst = this.readWord(this.regEA);
this.writeWord(this.regEA, PDP10.setHR(op, dst, dst));
var a = op & PDP10.OPCODE.A_MASK;
if (a) {
dst = this.readWord(a);
this.writeWord(a, PDP10.setHR(op, dst, dst));
}
}; };
/** /**
@ -2831,50 +2837,6 @@ PDP10.opHRLS = function(op)
} }
}; };
/**
* opHLLZ(0o510000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLZ = function(op)
{
this.opUndefined(op);
};
/**
* opHLLZI(0o511000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLZI = function(op)
{
this.opUndefined(op);
};
/**
* opHLLZM(0o512000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLZM = function(op)
{
this.opUndefined(op);
};
/**
* opHLLZS(0o513000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLZS = function(op)
{
this.opUndefined(op);
};
/** /**
* opHRLZ(0o514000) * opHRLZ(0o514000)
* *
@ -2919,50 +2881,6 @@ PDP10.opHRLZS = function(op)
this.opUndefined(op); this.opUndefined(op);
}; };
/**
* opHLLO(0o520000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLO = function(op)
{
this.opUndefined(op);
};
/**
* opHLLOI(0o521000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLOI = function(op)
{
this.opUndefined(op);
};
/**
* opHLLOM(0o522000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLOM = function(op)
{
this.opUndefined(op);
};
/**
* opHLLOS(0o523000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLOS = function(op)
{
this.opUndefined(op);
};
/** /**
* opHRLO(0o524000) * opHRLO(0o524000)
* *
@ -3007,50 +2925,6 @@ PDP10.opHRLOS = function(op)
this.opUndefined(op); this.opUndefined(op);
}; };
/**
* opHLLE(0o530000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLE = function(op)
{
this.opUndefined(op);
};
/**
* opHLLEI(0o531000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLEI = function(op)
{
this.opUndefined(op);
};
/**
* opHLLEM(0o532000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLEM = function(op)
{
this.opUndefined(op);
};
/**
* opHLLES(0o533000)
*
* @this {CPUStatePDP10}
* @param {number} op
*/
PDP10.opHLLES = function(op)
{
this.opUndefined(op);
};
/** /**
* opHRLE(0o534000) * opHRLE(0o534000)
* *
@ -4355,6 +4229,56 @@ PDP10.opUndefined = function(op)
this.stopCPU(); this.stopCPU();
}; };
/**
* setHR(op, dst, src)
*
* @param {number} op
* @param {number} dst (36-bit value whose 18-bit right half is either preserved or modified)
* @param {number} src (36-bit value used to determine the sign extension, if any, for the right half of dst)
* @return {number} (updated dst)
*/
PDP10.setHR = function(op, dst, src)
{
switch(op & 0o600) {
case 0o000:
dst = (dst & PDP10.WORD_MASK);
break;
case 0o200:
dst = 0;
break;
case 0o400:
dst = PDP10.WORD_MASK;
break;
case 0o600:
dst = (src > PDP10.MAX_POS? PDP10.WORD_MASK : 0);
break;
}
return dst;
};
/*
* If we want the basic half-word operations to handle all the sub-operations; ie:
*
* None
* Zero-extend
* One-extend
* Sign-extend
*
* then we need to alias all the sub-functions to the corresponding primary functions.
*/
PDP10.opHLLZ = PDP10.opHLL;
PDP10.opHLLZI = PDP10.opHLLI;
PDP10.opHLLZM = PDP10.opHLLM;
PDP10.opHLLZS = PDP10.opHLLS;
PDP10.opHLLO = PDP10.opHLL;
PDP10.opHLLOI = PDP10.opHLLI;
PDP10.opHLLOM = PDP10.opHLLM;
PDP10.opHLLOS = PDP10.opHLLS;
PDP10.opHLLE = PDP10.opHLL;
PDP10.opHLLEI = PDP10.opHLLI;
PDP10.opHLLEM = PDP10.opHLLM;
PDP10.opHLLES = PDP10.opHLLS;
PDP10.aOpXXX_KA10 = [ PDP10.aOpXXX_KA10 = [
PDP10.opUUO, // 0o000xxx PDP10.opUUO, // 0o000xxx
PDP10.opUUO, // 0o001xxx PDP10.opUUO, // 0o001xxx

View file

@ -102,6 +102,7 @@ var PDP10 = {
DATA_LIMIT: Math.pow(2, 36), DATA_LIMIT: Math.pow(2, 36),
WORD_SHIFT: Math.pow(2, 18), WORD_SHIFT: Math.pow(2, 18),
WORD_MASK: 0o777777, WORD_MASK: 0o777777,
MAX_POS: Math.pow(2, 35) - 1,
/* /*
* PDP-10 opcodes are 36-bit values, most of which use the following layout: * PDP-10 opcodes are 36-bit values, most of which use the following layout:

View file

@ -83,9 +83,7 @@ class MemoryPDP10 {
this.type = type || MemoryPDP10.TYPE.NONE; this.type = type || MemoryPDP10.TYPE.NONE;
this.fReadOnly = (type == MemoryPDP10.TYPE.ROM); this.fReadOnly = (type == MemoryPDP10.TYPE.ROM);
this.dbg = null; this.dbg = null;
this.readBits = this.readBitsDirect = this.readNone;
this.readWord = this.readWordDirect = this.readNone; this.readWord = this.readWordDirect = this.readNone;
this.writeBits = this.writeBitsDirect = this.writeNone;
this.writeWord = this.writeWordDirect = this.writeNone; this.writeWord = this.writeWordDirect = this.writeNone;
this.cReadBreakpoints = this.cWriteBreakpoints = 0; this.cReadBreakpoints = this.cWriteBreakpoints = 0;
this.copyBreakpoints(); // initialize the block's Debugger info; the caller will reinitialize this.copyBreakpoints(); // initialize the block's Debugger info; the caller will reinitialize
@ -222,13 +220,11 @@ class MemoryPDP10 {
/** /**
* setAccess(afn, fDirect) * setAccess(afn, fDirect)
* *
* The afn parameter should be a 4-entry function table containing two bits handlers and * The afn parameter should be a 2-entry function table containing word read and write handlers.
* two word handlers. See the static afnMemory table for an example. * See the static afnMemory table for an example.
* *
* If no function table is specified, a default is selected based on the Memory type; * If no function table is specified, a default is selected based on the Memory type; similarly,
* similarly, any undefined entries in the table are filled with default handlers that fall * any undefined entries in the table are filled with default handlers.
* back to the bits handlers, and if one or both bits handlers are undefined, they default
* to handlers that simply ignore the access.
* *
* fDirect indicates that both the default AND the direct handlers should be updated. Direct * fDirect indicates that both the default AND the direct handlers should be updated. Direct
* handlers normally match the default handlers, except when "checked" handlers are installed; * handlers normally match the default handlers, except when "checked" handlers are installed;
@ -260,12 +256,10 @@ class MemoryPDP10 {
setReadAccess(afn, fDirect) setReadAccess(afn, fDirect)
{ {
if (!fDirect || !this.cReadBreakpoints) { if (!fDirect || !this.cReadBreakpoints) {
this.readBits = afn[0] || this.readNone; this.readWord = afn[0] || this.readNone;
this.readWord = afn[2] || this.readNone;
} }
if (fDirect || fDirect === undefined) { if (fDirect || fDirect === undefined) {
this.readBitsDirect = afn[0] || this.readNone; this.readWordDirect = afn[0] || this.readNone;
this.readWordDirect = afn[2] || this.readNone;
} }
} }
@ -279,12 +273,10 @@ class MemoryPDP10 {
setWriteAccess(afn, fDirect) setWriteAccess(afn, fDirect)
{ {
if (!fDirect || !this.cWriteBreakpoints) { if (!fDirect || !this.cWriteBreakpoints) {
this.writeBits = !this.fReadOnly && afn[1] || this.writeNone; this.writeWord = !this.fReadOnly && afn[1] || this.writeNone;
this.writeWord = !this.fReadOnly && afn[3] || this.writeNone;
} }
if (fDirect || fDirect === undefined) { if (fDirect || fDirect === undefined) {
this.writeBitsDirect = afn[1] || this.writeNone; this.writeWordDirect = afn[1] || this.writeNone;
this.writeWordDirect = afn[3] || this.writeNone;
} }
} }
@ -295,7 +287,6 @@ class MemoryPDP10 {
*/ */
resetReadAccess() resetReadAccess()
{ {
this.readBits = this.readBitsDirect;
this.readWord = this.readWordDirect; this.readWord = this.readWordDirect;
} }
@ -306,7 +297,6 @@ class MemoryPDP10 {
*/ */
resetWriteAccess() resetWriteAccess()
{ {
this.writeBits = this.fReadOnly? this.writeNone : this.writeBitsDirect;
this.writeWord = this.fReadOnly? this.writeNone : this.writeWordDirect; this.writeWord = this.fReadOnly? this.writeNone : this.writeWordDirect;
} }
@ -424,27 +414,6 @@ class MemoryPDP10 {
} }
} }
/**
* readBitsMemory(off, addr, offBits, lenBits)
*
* @this {MemoryPDP10}
* @param {number} off
* @param {number} addr
* @param {number} offBits (the bit position of the right-most bit of the result, using modern bit numbering)
* @param {number} lenBits
* @return {number}
*/
readBitsMemory(off, addr, offBits, lenBits)
{
var w = this.aw[off];
if (offBits + lenBits <= 32) {
w = (w >> offBits) & ((1 << lenBits) - 1);
} else {
w = Math.trunc(w / Math.pow(2, offBits)) % Math.pow(2, lenBits);
}
return w;
}
/** /**
* readWordMemory(off, addr) * readWordMemory(off, addr)
* *
@ -458,29 +427,6 @@ class MemoryPDP10 {
return this.aw[off]; return this.aw[off];
} }
/**
* writeBitsMemory(bits, off, addr, offBits, lenBits)
*
* @this {MemoryPDP10}
* @param {number} bits (only the right-most lenBits of bits are used, so it doesn't need to be pre-masked)
* @param {number} off
* @param {number} addr
* @param {number} offBits (the bit position of the right-most bit of the result, using modern bit numbering)
* @param {number} lenBits
*/
writeBitsMemory(bits, off, addr, offBits, lenBits)
{
var w = this.aw[off];
var shiftBits = Math.pow(2, offBits);
bits %= Math.pow(2, lenBits);
var v = (w % Math.pow(2, offBits + lenBits));
w = (w - v) + (bits * shiftBits) + (v % shiftBits);
if (this.aw[off] != w) {
this.aw[off] = w;
this.fDirty = true;
}
}
/** /**
* writeWordMemory(w, off, addr) * writeWordMemory(w, off, addr)
* *
@ -491,26 +437,10 @@ class MemoryPDP10 {
*/ */
writeWordMemory(w, off, addr) writeWordMemory(w, off, addr)
{ {
this.aw[off] = w; if (this.aw[off] != w) {
this.fDirty = true; this.aw[off] = w;
} this.fDirty = true;
/**
* readBitsChecked(off, addr, offBits, lenBits)
*
* @this {MemoryPDP10}
* @param {number} off
* @param {number} addr
* @param {number} offBits (the bit position of the right-most bit of the result, using modern bit numbering)
* @param {number} lenBits
* @return {number}
*/
readBitsChecked(off, addr, offBits, lenBits)
{
if (DEBUGGER && this.dbg && this.addr != null) {
this.dbg.checkMemoryRead(this.addr + off);
} }
return this.readBitsDirect(off, addr, offBits, lenBits);
} }
/** /**
@ -529,24 +459,6 @@ class MemoryPDP10 {
return this.readWordDirect(off, addr); return this.readWordDirect(off, addr);
} }
/**
* writeBitsChecked(bits, off, addr, offBits, lenBits)
*
* @this {MemoryPDP10}
* @param {number} bits
* @param {number} off
* @param {number} addr
* @param {number} offBits (the bit position of the right-most bit of the result, using modern bit numbering)
* @param {number} lenBits
*/
writeBitsChecked(bits, off, addr, offBits, lenBits)
{
if (DEBUGGER && this.dbg && this.addr != null) {
this.dbg.checkMemoryWrite(this.addr + off);
}
if (this.fReadOnly) this.writeNone(bits, off, addr); else this.writeBitsDirect(bits, off, addr, offBits, lenBits);
}
/** /**
* writeWordChecked(w, off, addr) * writeWordChecked(w, off, addr)
* *
@ -587,11 +499,9 @@ MemoryPDP10.idBlock = 0;
/* /*
* This is the effective definition of afnNone, but we need not fully define it, because setAccess() * This is the effective definition of afnNone, but we need not fully define it, because setAccess()
* uses these defaults when any of the 4 handlers (ie, 2 bits handlers and 2 word handlers) are undefined. * uses these defaults when any of the handlers are undefined.
* *
MemoryPDP10.afnNone = [ MemoryPDP10.afnNone = [
MemoryPDP10.prototype.readNone,
MemoryPDP10.prototype.writeNone,
MemoryPDP10.prototype.readNone, MemoryPDP10.prototype.readNone,
MemoryPDP10.prototype.writeNone MemoryPDP10.prototype.writeNone
]; ];
@ -599,15 +509,11 @@ MemoryPDP10.afnNone = [
MemoryPDP10.afnNone = []; MemoryPDP10.afnNone = [];
MemoryPDP10.afnMemory = [ MemoryPDP10.afnMemory = [
MemoryPDP10.prototype.readBitsMemory,
MemoryPDP10.prototype.writeBitsMemory,
MemoryPDP10.prototype.readWordMemory, MemoryPDP10.prototype.readWordMemory,
MemoryPDP10.prototype.writeWordMemory MemoryPDP10.prototype.writeWordMemory
]; ];
MemoryPDP10.afnChecked = [ MemoryPDP10.afnChecked = [
MemoryPDP10.prototype.readBitsChecked,
MemoryPDP10.prototype.writeBitsChecked,
MemoryPDP10.prototype.readWordChecked, MemoryPDP10.prototype.readWordChecked,
MemoryPDP10.prototype.writeWordChecked MemoryPDP10.prototype.writeWordChecked
]; ];

View file

@ -155,7 +155,7 @@ class Int36 {
* The lower bound is ZERO and the upper bound is Int36.MAXVAL. Whenever an Int36 value should be * The lower bound is ZERO and the upper bound is Int36.MAXVAL. Whenever an Int36 value should be
* interpreted as a signed value, values above Int36.MAXPOS (ie, values with bit 35 set) should be * interpreted as a signed value, values above Int36.MAXPOS (ie, values with bit 35 set) should be
* converted to their signed counterpart by subtracting the value from Int36.BIT36 (aka MAXVAL + 1); * converted to their signed counterpart by subtracting the value from Int36.BIT36 (aka MAXVAL + 1);
* the easiest way to do that is call isNegative() to check the sign bit and then call negate() as * the easiest way to do that is call isNeg() to check the sign bit and then call negate() as
* appropriate. * appropriate.
* *
* NOTE: We use modern bit numbering, where bit 0 is the right-most (least-significant) bit and * NOTE: We use modern bit numbering, where bit 0 is the right-most (least-significant) bit and
@ -233,7 +233,7 @@ class Int36 {
var i36Rem = new Int36(); var i36Rem = new Int36();
var i36Tmp = new Int36(this.value, this.extended); var i36Tmp = new Int36(this.value, this.extended);
if (!fUnsigned && i36Tmp.isNegative()) { if (!fUnsigned && i36Tmp.isNeg()) {
i36Tmp.negate(); i36Tmp.negate();
fNeg = true; fNeg = true;
} }
@ -585,7 +585,7 @@ class Int36 {
fNegQ = !fNegQ; fNegQ = !fNegQ;
} }
if (this.isNegative()) { if (this.isNeg()) {
this.negate(); this.negate();
fNegR = true; fNegQ = !fNegQ; fNegR = true; fNegQ = !fNegQ;
} }
@ -593,52 +593,52 @@ class Int36 {
this.extend(); this.extend();
/* /*
* Initialize the four double-length 72-bit "bits" values we need for the division process. * Initialize the four double-length 72-bit values we need for the division process.
* *
* The process involves shifting the divisor left 1 bit (ie, doubling it) until it equals * The process involves shifting the divisor left 1 bit (ie, doubling it) until it equals
* or exceeds the dividend, and then repeatedly subtracting the divisor from the dividend and * or exceeds the dividend, and then repeatedly subtracting the divisor from the dividend and
* shifting the divisor right 1 bit until the divisor is "exhausted" (no bits left), with an * shifting the divisor right 1 bit until the divisor is "exhausted" (no bits left), with an
* "early out" if the dividend gets "exhausted" first. * "early out" if the dividend gets "exhausted" first.
* *
* Note that each element of these "bits" arrays is a 36-bit value, so it's rarely a good idea * Note that each element of these double arrays is a 36-bit value, so it's rarely a good idea
* to use bit-wise operators on them, because those would operate on only the low 32 bits. * to use bit-wise operators on them, because those would operate on only the low 32 bits.
* Stick with the "bits" worker functions I've created, and trust your JavaScript engine to * Stick with the double worker functions I've created, and trust your JavaScript engine to
* inline/optimize the code. * inline/optimize the code.
* *
* TODO: Profile this code to determine if individual variables (eg, bitsResLo and bitsResHi) * TODO: Profile this code to determine if individual variables (eg, dResLo and dResHi)
* instead of 2-element arrays is faster and/or less impactful on garbage collection. I prefer * instead of 2-element arrays is faster and/or less impactful on garbage collection. I prefer
* both the simplified syntax of arrays as well as their extensibility if we ever want/need * both the simplified syntax of arrays as well as their extensibility if we ever want/need
* to go beyond 72 bits. * to go beyond 72 bits.
*/ */
var bitsRes = [0, 0]; var dRes = [0, 0];
var bitsPow = [1, 0]; var dPow = [1, 0];
var bitsDiv = [divisor, 0]; var dDiv = [divisor, 0];
var bitsRem = [this.value, this.extended]; var dRem = [this.value, this.extended];
while (Int36.cmpBits(bitsRem, bitsDiv) > 0) { while (Int36.cmpD(dRem, dDiv) > 0) {
Int36.addBits(bitsDiv, bitsDiv); Int36.addD(dDiv, dDiv);
Int36.addBits(bitsPow, bitsPow); Int36.addD(dPow, dPow);
} }
do { do {
if (Int36.cmpBits(bitsRem, bitsDiv) >= 0) { if (Int36.cmpD(dRem, dDiv) >= 0) {
Int36.subBits(bitsRem, bitsDiv); Int36.subD(dRem, dDiv);
Int36.addBits(bitsRes, bitsPow); Int36.addD(dRes, dPow);
if (Int36.zeroBits(bitsRem)) break; if (Int36.zeroD(dRem)) break;
} }
Int36.shrBits(bitsDiv); Int36.shrD(dDiv);
Int36.shrBits(bitsPow); Int36.shrD(dPow);
} while (!Int36.zeroBits(bitsPow)); } while (!Int36.zeroD(dPow));
/* /*
* Since divisors are limited to 36-bit values, something's wrong if we have an extended remainder. * Since divisors are limited to 36-bit values, something's wrong if we have an extended remainder.
*/ */
if (DEBUG && bitsRem[1]) { if (DEBUG && dRem[1]) {
console.log("divExtended() assertion failure"); console.log("divExtended() assertion failure");
} }
this.value = bitsRes[0]; this.value = dRes[0];
this.extended = bitsRes[1]; this.extended = dRes[1];
this.remainder = bitsRem[0]; this.remainder = dRem[0];
if (fNegQ) this.negate(); if (fNegQ) this.negate();
@ -689,11 +689,11 @@ class Int36 {
} }
/** /**
* isNegative() * isNeg()
* *
* @return {boolean} * @return {boolean}
*/ */
isNegative() isNeg()
{ {
return (this.extended > Int36.MAXPOS || this.extended == null && this.value > Int36.MAXPOS); return (this.extended > Int36.MAXPOS || this.extended == null && this.value > Int36.MAXPOS);
} }
@ -738,83 +738,118 @@ class Int36 {
} }
/** /**
* addBits(bitsDst, bitsSrc) * readBits(off, len)
* *
* Adds bitsSrc to bitsDst. * @param {number} off (the bit position of the right-most bit of the result, using modern bit numbering)
* * @param {number} len
* @param {Array.<number>} bitsDst * @return {number}
* @param {Array.<number>} bitsSrc
*/ */
static addBits(bitsDst, bitsSrc) readBits(off, len)
{ {
bitsDst[0] += bitsSrc[0]; var w = this.value;
bitsDst[1] += bitsSrc[1]; if (off + len <= 32) {
if (bitsDst[0] >= Int36.BIT36) { w = (w >> off) & ((1 << len) - 1);
bitsDst[0] %= Int36.BIT36; } else {
bitsDst[1]++; w = Math.trunc(w / Math.pow(2, off)) % Math.pow(2, len);
}
return w;
}
/**
* writeBits(bits, off, len)
*
* @param {number} bits (only the right-most len of bits are used, so it doesn't need to be pre-masked)
* @param {number} off (the bit position of the right-most bit of the result, using modern bit numbering)
* @param {number} len
*/
writeBits(bits, off, len)
{
var w = this.value;
var shift = Math.pow(2, off);
bits %= Math.pow(2, len);
var v = (w % Math.pow(2, off + len));
w = (w - v) + (bits * shift) + (v % shift);
this.value = w;
}
/**
* addD(dDst, dSrc)
*
* Adds dSrc to dDst.
*
* @param {Array.<number>} dDst
* @param {Array.<number>} dSrc
*/
static addD(dDst, dSrc)
{
dDst[0] += dSrc[0];
dDst[1] += dSrc[1];
if (dDst[0] >= Int36.BIT36) {
dDst[0] %= Int36.BIT36;
dDst[1]++;
} }
} }
/** /**
* cmpBits(bitsDst, bitsSrc) * cmpD(dDst, dSrc)
* *
* Compares bitsDst to bitsSrc, by computing bitsDst - bitsSrc. * Compares dDst to dSrc, by computing dDst - dSrc.
* *
* @param {Array.<number>} bitsDst * @param {Array.<number>} dDst
* @param {Array.<number>} bitsSrc * @param {Array.<number>} dSrc
* @return {number} > 0 if bitsDst > bitsSrc, == 0 if bitsDst == bitsSrc, < 0 if bitsDst < bitsSrc * @return {number} > 0 if dDst > dSrc, == 0 if dDst == dSrc, < 0 if dDst < dSrc
*/ */
static cmpBits(bitsDst, bitsSrc) static cmpD(dDst, dSrc)
{ {
var result = bitsDst[1] - bitsSrc[1]; var result = dDst[1] - dSrc[1];
if (!result) result = bitsDst[0] - bitsSrc[0]; if (!result) result = dDst[0] - dSrc[0];
return result; return result;
} }
/** /**
* shrBits(bitsDst) * shrD(dDst)
* *
* Shifts bitsDst right one bit. * Shifts dDst right one bit.
* *
* @param {Array.<number>} bitsDst * @param {Array.<number>} dDst
*/ */
static shrBits(bitsDst) static shrD(dDst)
{ {
if (bitsDst[1] % 2) { if (dDst[1] % 2) {
bitsDst[0] += Int36.BIT36; dDst[0] += Int36.BIT36;
} }
bitsDst[0] = Math.trunc(bitsDst[0] / 2); dDst[0] = Math.trunc(dDst[0] / 2);
bitsDst[1] = Math.trunc(bitsDst[1] / 2); dDst[1] = Math.trunc(dDst[1] / 2);
} }
/** /**
* subBits(bitsDst, bitsSrc) * subD(dDst, dSrc)
* *
* Subtracts bitsSrc from bitsDst. * Subtracts dSrc from dDst.
* *
* @param {Array.<number>} bitsDst * @param {Array.<number>} dDst
* @param {Array.<number>} bitsSrc * @param {Array.<number>} dSrc
*/ */
static subBits(bitsDst, bitsSrc) static subD(dDst, dSrc)
{ {
bitsDst[0] -= bitsSrc[0]; dDst[0] -= dSrc[0];
bitsDst[1] -= bitsSrc[1]; dDst[1] -= dSrc[1];
if (bitsDst[0] < 0) { if (dDst[0] < 0) {
bitsDst[0] += Int36.BIT36; dDst[0] += Int36.BIT36;
bitsDst[1]--; dDst[1]--;
} }
} }
/** /**
* zeroBits(bits) * zeroD(d)
* *
* True if bits are all zero, false otherwise. * True if bits are all zero, false otherwise.
* *
* @param {Array.<number>} bits * @param {Array.<number>} d
*/ */
static zeroBits(bits) static zeroD(d)
{ {
return !bits[0] && !bits[1]; return !d[0] && !d[1];
} }
/** /**

View file

@ -28,22 +28,22 @@
http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/shared/lib/debugger.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017 http://pcjs.org/modules/pdp10/lib/debugger.js (C) Jeff Parsons 2012-2017
*/ */
var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var ga=0;function da(a){return"jscomp_symbol_"+(a||"")+ga++} var l,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=fa)}var ga=0;function fa(a){return"jscomp_symbol_"+(a||"")+ga++}
function ha(){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 ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a} function ha(){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 ia(this)}});ha=function(){}}function ia(a){var b=0;return ja(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ja(a){ha();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
function p(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 ka(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 p(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 ka(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})}}
ka("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}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); ka("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}});ka("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var la=Math.pow(2,36),sa=-Math.pow(2,35),q={ac:0,ob:1,cc:2,dc:3,ec:4,fc:5,gc:6,hc:7,Za:8,ic:9,pb:10,jc:11,kc:12,qb:13,lc:14,mc:15,nc:16,oc:17,pc:18,qc:19,rc:20,sc:21,tc:22,uc:23,vc:24,wc:25,xc: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,Ya:65,$b:66,bc:67,yc:68,E:69,zc:70,Ac:71,Bc:72,Cc:73,Dc:74,Ec:75,Fc:76,Gc:77,Hc:78,Ic:79,Jc:80,Q:81, var la=Math.pow(2,36),sa=-Math.pow(2,35),q={Xb:0,ob:1,Zb:2,$b:3,ac:4,bc:5,cc:6,dc:7,Za:8,ec:9,pb:10,fc:11,gc:12,qb:13,hc:14,ic:15,jc:16,kc:17,lc:18,mc:19,nc:20,oc:21,pc:22,qc:23,rc:24,sc:25,tc: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,Ya:65,Wb:66,Yb:67,uc:68,E:69,vc:70,wc:71,xc:72,yc:73,zc:74,Ac:75,Bc:76,Cc:77,Dc:78,Ec:79,Fc:80,Q:81,
Kc:82,Lc:83,Mc:84,Nc:85,Oc:86,Pc:87,Qc:88,Rc:89,ub:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Sc:97,Tc:98,Uc:99,d:100,e:101,Vc:102,Wc:103,Xc:104,Yc:105,Zc:106,k:107,$c:108,ad:109,n:110,bd:111,p:112,q:113,r:114,cd:115,t:116,ed:117,fd:118,gd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,rb:127}; Gc:82,Hc:83,Ic:84,Jc:85,Kc:86,Lc:87,Mc:88,Nc:89,ub:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,Oc:97,Pc:98,Qc:99,d:100,e:101,Rc:102,Sc:103,Tc:104,Uc:105,Vc:106,k:107,Wc:108,Xc:109,n:110,Yc:111,p:112,q:113,r:114,Zc:115,t:116,ad:117,bd:118,cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,rb:127};
function t(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.cb=b.comment;this.tb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ka=this.id:(this.La=this.id.substr(0,a),this.Ka=this.id.substr(a+1));this.j={ready:!1,Fa:!1,Va:!1,W:!1,error:!1};this.Na=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.la=null;u.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}function va(){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.cb=b.comment;this.tb=b;this.exports={};this.G=this.bindings={};a=this.id.indexOf(".");0>a?this.Ja=this.id:(this.Ka=this.id.substr(0,a),this.Ja=this.id.substr(a+1));this.j={ready:!1,Ea:!1,Ta:!1,V:!1,error:!1};this.La=null;this.j.error=!1;this.X=c||0;this.A=this.g=this.D=this.C=this.la=null;u.push(this)}function ta(a,b,c){ua[a]&&b&&(ua[a][b]=c)}function va(){return Date.now()||+new Date}
function v(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function w(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function xa(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null} function v(a){window&&window.alert(a)}function wa(a){var b=!1;window&&(b=window.confirm(a));return b}function w(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function xa(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function y(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b} function y(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){v(c.message+" ("+a+")")}return b}
function B(a,b){var c=C;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=A(f))&&h.binding&&a.fa(h.type,h.binding,f,h.value),m=k.length}}}} function B(a,b){var c=C;b=D(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,g=0;g<e.length;g++){var f=e[g];if(1===f.nodeType){var h=f.getAttribute("class");if(h)for(var k=h.split(" "),m=0;m<k.length;m++)switch(h=k[m],h){case c+"-binding":(h=A(f))&&h.binding&&a.fa(h.type,h.binding,f,h.value),m=k.length}}}}
function D(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 D(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 ya(a){for(var b=!0,c=za[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Aa.indexOf(e)&&(g=function(){return function(){ya(a)}}());var f=Ba[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=y(d[1],a);if(h)if(f=Ca[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){v("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete za[a];return b}l=t.prototype; function ya(a){for(var b=!0,c=za[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],g=null;0<=Aa.indexOf(e)&&(g=function(){return function(){ya(a)}}());var f=Ba[e];if(f)if(!g)b=f(d[1],d[2],d[3]);else{if(!f(g,d[1],d[2],d[3]))break}else{var b=!1,h=y(d[1],a);if(h)if(f=Ca[e])b=f(h,d[2],d[3]);else{var k=h.exports;if(k&&(f=k[e]))if(b=!0,!g)b=f.call(h,d[2],d[3]);else if(!f.call(h,g,d[2],d[3]))break}}if(!b){v("Script error: "+e+(f?" failed":" unrecognized"));break}}c&&!c.length&&delete za[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.fa=function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.la=this.G[b]=c,c.value="",this.f=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.ba=function(a){this.f(a,this.Ka)}),!0;default:return!1}};l.log=function(){};l.f=function(){}; l.fa=function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.la=this.G[b]=c,c.value="",this.f=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.ba=function(a){this.f(a,this.Ja)}),!0;default:return!1}};l.log=function(){};l.f=function(){};
l.status=function(a){this.f(this.Ka+": "+a)};l.ba=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Da(a,b){a.j.error=!0;a.ba(b)}function Ja(a){return a.j.error?(a.f(a.toString()+" error"),!0):!1}function Ka(a,b){b&&(a.j.ready?b():a.Na=b);return a.j.ready}function E(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.Na;a.Na=null;b&&b()}}function La(a,b){a.j.Fa&&(b?a.j.Va=!0:void 0===b&&a.f(a.toString()+" busy"));return a.j.Fa} l.status=function(a){this.f(this.Ja+": "+a)};l.ba=function(a,b,c){c=c||this.type;b||v((c?c+": ":"")+a)};function Ia(a,b){a.j.error=!0;a.ba(b)}function Ja(a){return a.j.error?(a.f(a.toString()+" error"),!0):!1}function Ka(a,b){b&&(a.j.ready?b():a.La=b);return a.j.ready}function E(a){if(!a.j.error&&(a.j.ready=!0,a.j.ready)){var b=a.La;a.La=null;b&&b()}}function La(a,b){a.j.Ea&&(b?a.j.Ta=!0:void 0===b&&a.f(a.toString()+" busy"));return a.j.Ea}
function Ma(a,b){if(a.j.Va)return a.j.Fa=!1,a.j.Va=!1;if(a.j.error)return a.f(a.toString()+" error"),!1;a.j.Fa=b;return a.j.Fa}l.na=function(){return this.j.W=!0};l.ea=function(a,b){b&&(this.j.W=!1);return!0};function Na(a,b){if(a.A){a===a.A?b|=0:b=b||a.X;var c=a.A.X&b;return!!b&&c===b||!!(c&a.A.ib)}return!1}function Oa(a,b,c,d){a.A&&(!0===c||Na(a,c|0))&&a.A.message(b,d)} function Ma(a,b){if(a.j.Ta)return a.j.Ea=!1,a.j.Ta=!1;if(a.j.error)return a.f(a.toString()+" error"),!1;a.j.Ea=b;return a.j.Ea}l.na=function(){return this.j.V=!0};l.ea=function(a,b){b&&(this.j.V=!1);return!0};function Na(a,b){if(a.A){a===a.A?b|=0:b=b||a.X;var c=a.A.X&b;return!!b&&c===b||!!(c&a.A.ib)}return!1}function Oa(a,b,c,d){a.A&&(!0===c||Na(a,c|0))&&a.A.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 ua=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],za=window?window.PCjs.Commands:{},Aa=["hold","sleep","wait"],Ba={alert:function(a){v(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ca={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 ua=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],za=window?window.PCjs.Commands:{},Aa=["hold","sleep","wait"],Ba={alert:function(a){v(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Ca={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)});
@ -53,175 +53,174 @@ d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(g=parseInt(a,b))&&(c=g)}return c
function F(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Ra(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 Sa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ta(){var a=Ua();return-1!==a.indexOf("pcjs.org",a.length-8)} function F(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}function Ra(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 Sa(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Ta(){var a=Ua();return-1!==a.indexOf("pcjs.org",a.length-8)}
function Va(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Za(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d} function Va(a){return a.replace(/[&<>"']/g,function(a){return Wa[a]})}function Xa(a,b){return(a+" ").slice(0,b)}function Ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Wa={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Za(a,b,c){var d=0,e=a.length,g=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var f=d+e>>1,h;h=c(b,a[f]);0<h?d=f+1:(e=f,g=!h)}return g?d:~d}
function hb(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} function hb(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
function ib(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a, function H(a,b,c,d){c=void 0===c?!1:c;var e=0,g=null,f=null;if("object"==typeof resources&&(g=resources[a]))return d&&d(a,g,e),[g,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),f;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(g=h.responseText,200==h.status||!h.status&&g.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));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||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f} g,e))});if(b&&"object"==typeof b){var k="",m;for(m in b)b.hasOwnProperty(m)&&(k&&(k+="&"),k+=m+"="+encodeURIComponent(b[m]));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||(g=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,g,e),f=[g,e]);return f}
function jb(a,b){var c,d={Y:null,V:null,ka:null,ja:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=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.ka=f.load;d.ja=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c<e.length;c++)d.Y[g++]=e[c]&255,d.Y[g++]=e[c]>>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c<e.length;c++)d.Y[g++]= function ib(a,b){var c,d={Y:null,U:null,ka:null,ja:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,g,f;if("<"==b.substr(0,1))throw Error(b);f=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.ka=f.load;d.ja=f.exec;if(e=f.bytes)d.Y=e;else if(e=f.words)for(d.Y=Array(2*e.length),g=c=0;c<e.length;c++)d.Y[g++]=e[c]&255,d.Y[g++]=e[c]>>8&255;else if(e=f.longs)for(d.Y=Array(4*e.length),g=c=0;c<e.length;c++)d.Y[g++]=
e[c]&255,d.Y[g++]=e[c]>>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.Aa=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(v(d.Y[0]),d=null):(v("Empty resource: "+a),d=null));d.V=f.symbols}catch(h){v("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.Y=e)}return d} e[c]&255,d.Y[g++]=e[c]>>8&255,d.Y[g++]=e[c]>>16&255,d.Y[g++]=e[c]>>24&255;else(e=f.data)?d.za=e:d.Y=f;d.Y&&(d.Y.length?1==d.Y.length&&(v(d.Y[0]),d=null):(v("Empty resource: "+a),d=null));d.U=f.symbols}catch(h){v("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){g=parseInt(b[c],16);if(isNaN(g)){v("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(g&255)}c==b.length&&(d.Y=e)}return d}
function Ua(){return"http://"+(window?window.location.host:"www.pcjs.org")}function kb(){if(null==lb){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}lb=a}return lb}function mb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b} function Ua(){return"http://"+(window?window.location.host:"www.pcjs.org")}function jb(){if(null==kb){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}kb=a}return kb}function lb(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}
function nb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function ob(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 mb(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function nb(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 pb(a){if(!qb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}qb=c}return qb[a]}function rb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()} function ob(a){if(!pb){var b,c={};if(window){b||(b=window.location.search.substr(1));for(var d,e=/\+/g,g=/([^&=]+)=?([^&]*)/g;d=g.exec(b);)c[decodeURIComponent(d[1].replace(e," "))]=decodeURIComponent(d[2].replace(e," "))}pb=c}return pb[a]}function qb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function sb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function tb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function ub(a){vb.init.push(a)} function rb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,g=!1;a.onmousedown=function(){g||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);g=!0}}function sb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function tb(a){ub.init.push(a)}
function wb(a){if(xb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function yb(a){!xb&&a?(xb=!0,zb&&Ab("init"),Bb&&Ab("show")):xb=a}function Ab(a){vb[a]&&wb(vb[a])}var qb=null,vb={init:[],show:[],exit:[]},zb=!1,Bb=!1,xb=!0,lb=null;tb("onload",function(){zb=!0;wb(vb.init)});tb("onpageshow",function(){Bb=!0;wb(vb.show)});tb(ob("Opera")||ob("iOS")?"onunload":"onbeforeunload",function(){wb(vb.exit)}); function vb(a){if(wb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){v(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function xb(a){!wb&&a?(wb=!0,yb&&zb("init"),Ab&&zb("show")):wb=a}function zb(a){ub[a]&&vb(ub[a])}var pb=null,ub={init:[],show:[],exit:[]},yb=!1,Ab=!1,wb=!0,kb=null;sb("onload",function(){yb=!0;vb(ub.init)});sb("onpageshow",function(){Ab=!0;vb(ub.show)});sb(nb("Opera")||nb("iOS")?"onunload":"onbeforeunload",function(){vb(ub.exit)});
var C="pdp10",Cb="PDPjs",Ib=Math.pow(2,18),Jb=Math.pow(2,18)-1,Kb=Math.pow(2,36),H=Math.pow(2,18),Lb=Math.pow(2,21),Mb=Math.pow(2,26),Nb=Math.pow(2,23),C="pdp10",Cb="PDPjs",I={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}; var C="pdp10",Bb="PDPjs",Cb=Math.pow(2,18),Db=Math.pow(2,18)-1,Eb=Math.pow(2,36),I=Math.pow(2,18),Fb=Math.pow(2,35)-1,Gb=Math.pow(2,21),Hb=Math.pow(2,26),Nb=Math.pow(2,23),C="pdp10",Bb="PDPjs",J={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};
function Ob(a,b){t.call(this,"Panel",a,512);this.J=this.L=0;this.U=b;this.i=this.I=this.u=this.v=0;this.M=this.N=-1;this.O=this.P=this.F=!1;this.R=Pb;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Tb,reset:this.Pb, function Ob(a,b){t.call(this,"Panel",a,512);this.J=this.L=0;this.T=b;this.i=this.I=this.u=this.v=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=Pb;this.B={};this.b={START:[1,1,!0,!1,this.Hb],STEP:[1,1,!1,!1,this.Ib],ENABLE:[1,1,!1,!1,this.Cb],CONT:[1,1,!0,!1,this.Ab],DEP:[0,0,!0,!1,this.Bb],EXAM:[1,1,!0,!1,this.Db],LOAD:[1,1,!0,!1,this.Fb],TEST:[0,0,!0,!1,this.Eb]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.Gb,a];this.A=this.g=this.D=this.C=null;this.exports={hold:this.yb,toggle:this.Rb,reset:this.Nb,
set:this.Sb};E(this)}p(Ob,t);l=Ob.prototype;l.reset=function(a){this.stop();a&&Qb(this,this.v=0)}; set:this.Qb};E(this)}p(Ob,t);l=Ob.prototype;l.reset=function(a){this.stop();a&&Qb(this,this.v=0)};
l.fa=function(a,b,c,d){if(this.C&&this.C.fa(a,b,c,d)||this.g&&this.g.fa(a,b,c,d)||this.A&&this.A.fa(a,b,c,d))return!0;switch(b){case "PC":return this.G[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Rb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Sb(a,b)}}(this,b),a.ontouchstart= l.fa=function(a,b,c,d){if(this.C&&this.C.fa(a,b,c,d)||this.g&&this.g.fa(a,b,c,d)||this.A&&this.A.fa(a,b,c,d))return!0;switch(b){case "PC":return this.G[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.B[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Rb(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){Sb(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){Rb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Sb(a,b)}}(this,b),!0):t.prototype.fa.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;Tb(this);Ub(this)};l.na=function(a,b){if(!b)if(this.U&&Vb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ea=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,[this.i,this.v,this.u]);return a.data()}; function(a,b){return function(c){Rb(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){Sb(a,b)}}(this,b),!0):t.prototype.fa.call(this,a,b,c,d)}};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;Tb(this);Ub(this)};l.na=function(a,b){if(!b)if(this.T&&Vb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};l.ea=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,[this.i,this.v,this.u]);return a.data()};
l.restore=function(a){if(a=a[0])Wb(this,this.i=a[0]),Qb(this,this.v=a[1]),Xb(this,a[2]);return!0};l.Pb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Ub(this);return!0};function Yb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Tb(a,b){for(var c in a.B)Yb(a,c,null!=b?b:a.B[c])}function Zb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Ub(a){for(var b in a.b)Zb(a,b,a.b[b][1])} l.restore=function(a){if(a=a[0])Wb(this,this.i=a[0]),Qb(this,this.v=a[1]),Xb(this,a[2]);return!0};l.Nb=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}Ub(this);return!0};function Yb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Tb(a,b){for(var c in a.B)Yb(a,c,null!=b?b:a.B[c])}function Zb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Ub(a){for(var b in a.b)Zb(a,b,a.b[b][1])}
l.yb=function(a,b,c){if(Rb(this,b)){if(c){var d=this;setTimeout(function(){Sb(d,b);a&&a()},+c);return!1}Sb(this,b)}return!0};l.Sb=function(a,b){if("SR"==a)return Xb(this,Pa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,Zb(this,a,c[1]),!0):!1};l.Tb=function(a){return Rb(this,a)?(Sb(this,a),!0):!1};function Rb(a,b){var c=a.b[b];return c?(Zb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=$b&&(a.O=b==ac,a.P=b==bc),!0):!1} l.yb=function(a,b,c){if(Rb(this,b)){if(c){var d=this;setTimeout(function(){Sb(d,b);a&&a()},+c);return!1}Sb(this,b)}return!0};l.Qb=function(a,b){if("SR"==a)return Xb(this,Pa(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,Zb(this,a,c[1]),!0):!1};l.Rb=function(a){return Rb(this,a)?(Sb(this,a),!0):!1};function Rb(a,b){var c=a.b[b];return c?(Zb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=$b&&(a.O=b==ac,a.R=b==bc),!0):!1}
function Sb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(Zb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.K||(this.g.u=this.i%Ib,this.b[cc]&&this.b[cc][1]&&dc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.S()}; function Sb(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(Zb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}l.Hb=function(a){a||this.g.j.K||(this.g.u=this.i%Cb,this.b[cc]&&this.b[cc][1]&&dc(this.g))};l.Ib=function(){};l.Cb=function(a){a||this.g.W()};
l.Ab=function(a){if(!a&&!this.g.j.K)if(this.b[cc]&&this.b[cc][1])dc(this.g);else{if((a=this.A)&&!La(a,!0))Ma(a,!0),ec(a,0,null),Ma(a,!1);else try{var b=this.g.Ja(1);0<b&&(fc(this.g,b),gc(this.g,b,!0),hc(this.g,b))}catch(c){"number"!=typeof c&&Da(this.g,c.stack||c.message)}this.stop();this.C&&K(this.C)}};l.Bb=function(a){a&&!this.g.j.K&&(this.O&&ic(this),a=Qb(this,this.v=this.u),this.R==Pb?jc(this.D,this.i,a):this.g.T(this.i,a))}; l.Ab=function(a){if(!a&&!this.g.j.K)if(this.b[cc]&&this.b[cc][1])dc(this.g);else{if((a=this.A)&&!La(a,!0))Ma(a,!0),ec(a,0,null),Ma(a,!1);else try{var b=this.g.Ia(1);0<b&&(fc(this.g,b),gc(this.g,b,!0),hc(this.g,b))}catch(c){"number"!=typeof c&&Ia(this.g,c.stack||c.message)}this.stop();this.C&&M(this.C)}};l.Bb=function(a){a&&!this.g.j.K&&(this.O&&ic(this),a=Qb(this,this.v=this.u),this.S==Pb?jc(this.D,this.i,a):this.g.P(this.i,a))};
l.Db=function(a){if(!a&&!this.g.j.K){var b;this.P&&ic(this);this.R==Pb?b=kc(this.D,this.i):b=this.g.H(this.i);Qb(this,this.v=b)}};l.Fb=function(a){a||this.g.j.K||Wb(this,this.u)};l.Eb=function(a){a?(this.F=!0,Tb(this,!0)):(this.F=!1,Tb(this),Xb(this,0))};l.Gb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function ic(a){var b=1,c=a.D.u;a.b[$b]&&a.b[$b][1]||(b=-b);Wb(a,a.i&~c|a.i+b&c)} l.Db=function(a){if(!a&&!this.g.j.K){var b;this.R&&ic(this);this.S==Pb?b=kc(this.D,this.i):b=this.g.H(this.i);Qb(this,this.v=b)}};l.Fb=function(a){a||this.g.j.K||Wb(this,this.u)};l.Eb=function(a){a?(this.F=!0,Tb(this,!0)):(this.F=!1,Tb(this),Xb(this,0))};l.Gb=function(a,b){this.u=a?this.u|1<<b:this.u&~(1<<b)};function ic(a){var b=1,c=a.D.u;a.b[$b]&&a.b[$b][1]||(b=-b);Wb(a,a.i&~c|a.i+b&c)}
function Wb(a,b){a.i=b&a.D.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.F||Yb(d,e,g)}}}function Qb(a,b){a.I=b%Kb;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.F||Yb(d,e,g)}}return a.I}function Xb(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;Ub(a);return!0}l.stop=function(){Wb(this,this.g.u)}; function Wb(a,b){a.i=b&a.D.u;if(a.M!==a.i){a.M=a.i;b=a.M;for(var c=0;22>c;c++){var d=a,e="A"+c,g=b&1<<c;d.B[e]=g;d.F||Yb(d,e,g)}}}function Qb(a,b){a.I=b%Eb;if(a.N!==a.I){a.N=a.I;b=a.N;for(var c=0;16>c;c++){var d=a,e="D"+c,g=b&1<<c;d.B[e]=g;d.F||Yb(d,e,g)}}return a.I}function Xb(a,b){a.u=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.u&1<<b?1:0;Ub(a);return!0}l.stop=function(){Wb(this,this.g.u)};
function Vb(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=xa(d.id);e||(e=new Ob(d,!0));B(e,c)}}var Pb=7,ac="DEP",cc="ENABLE",bc="EXAM",$b="STEP";ub(Vb);function lc(a,b,c){t.call(this,"Bus",a,16);this.g=b;this.A=c;this.I=+a.busWidth||18;this.F=1<<this.I;this.u=this.F-1;this.i=Math.log2(16384);this.B=this.F/16384|0;this.v=0;this.b=[];a=new M(this);mc(a,this.A);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;E(this)}p(lc,t);l=lc.prototype;l.reset=function(){}; function Vb(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=xa(d.id);e||(e=new Ob(d,!0));B(e,c)}}var Pb=7,ac="DEP",cc="ENABLE",bc="EXAM",$b="STEP";tb(Vb);function lc(a,b,c){t.call(this,"Bus",a,16);this.g=b;this.A=c;this.I=+a.busWidth||18;this.F=1<<this.I;this.u=this.F-1;this.i=Math.log2(16384);this.B=this.F/16384|0;this.v=0;this.b=[];a=new mc(this);nc(a,this.A);this.b=Array(this.B);for(b=0;b<this.B;b++)this.b[b]=a;E(this)}p(lc,t);l=lc.prototype;l.reset=function(){};
l.na=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ea=function(a){return a?this.save():!0};l.save=function(){var a=new J(this);a.set(0,nc(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,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; l.na=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ea=function(a){return a?this.save():!0};l.save=function(){var a=new L(this);a.set(0,oc(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,g=Array(4096),f=0;f<d.length-1;)for(var h=d[f++],k=d[f++];h--;)g[e++]=k;d=g}e=this.b[c];if(!e||!e.restore(d)){v("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function oc(a,b,c,d){for(var e=b,g=c,f=e>>>a.i;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ia+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ia){m=h.size-(e-k);m>g&&(m=g);h.Ia=e-h.w+m;e=k+16384;g-=m;f++;continue}}return pc(qc,e,g)}e=new M(a,e,m,16384,d);mc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+Hc[d]+" at "+Qa(b)),!0):pc(Ic,b,c)} function pc(a,b,c,d){for(var e=b,g=c,f=e>>>a.i;0<g&&f<a.b.length;){var h=a.b[f],k=16384*f,m=16384-(e-k);m>g&&(m=g);if(h&&h.size){if(h.type==d){if(e+g<=h.w)return h.Ga+=h.w-e,h.w=e,!0;if(e>=h.w+h.Ga){m=h.size-(e-k);m>g&&(m=g);h.Ga=e-h.w+m;e=k+16384;g-=m;f++;continue}}return qc(rc,e,g)}e=new mc(a,e,m,16384,d);nc(e,a.A,h);a.b[f++]=e;e=k+16384;g-=m}return 0>=g?(a.status("Added "+(c>>10)+"Kb "+sc[d]+" at "+Qa(b)),!0):qc(tc,b,c)}
function kc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.i(b&16383,b);a.v--;return b}function jc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function nc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.Ma||e.vb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c} function kc(a,b){var c=a.b[(b&a.u)>>>a.i];a.v++;b=c.G(b&16383,b);a.v--;return b}function jc(a,b,c){var d=a.b[(b&a.u)>>>a.i];a.v++;d.D(c,b&16383,b);a.v--}function oc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.b[d];if(e.Va||e.vb){c[b++]=d;var g=b++;if(e=e.save()){for(var f=0,h=0,k=[];f<e.length;){for(var m=e[f],n=f+1;n<e.length&&e[n]===m;)n++;k[h++]=n-f;k[h++]=m;f=n}k.length<e.length&&(e=k)}c[g]=e}}return c}
l.xb=function(a){this.v||(this.A&&Na(this.A,4)&&Oa(this.A,"memory fault on "+N(this.A,a),!0,!0),this.g.S())};function pc(a,b,c){v("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var qc=1,Ic=2;function Jc(a){t.call(this,"Device",a,256)}p(Jc,t);l=Jc.prototype;l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.A=d;E(this)};l.na=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ea=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new J(this)).data()}; l.xb=function(a){this.v||(this.A&&Na(this.A,4)&&Oa(this.A,"memory fault on "+N(this.A,a),!0,!0),this.g.W())};function qc(a,b,c){v("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var rc=1,tc=2;function uc(a){t.call(this,"Device",a,256)}p(uc,t);l=uc.prototype;l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.A=d;E(this)};l.na=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};l.ea=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){return(new L(this)).data()};
l.restore=function(){return!0};ub(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new Jc(c),B(c,d)}}});function M(a,b,c,d,e){this.B=a;this.id=Kc+=2;this.w=b;this.Ia=c;this.size=d||0;this.type=e||Lc;this.G=e==Mc;this.b=null;this.H=this.i=this.u=this.Ha;this.T=this.D=this.v=this.wa;this.A=this.C=0;mc(this);this.Ma=this.vb=!1;if(this.size){a=this.g=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Nc(this,Oc)}else Nc(this)}l=M.prototype; l.restore=function(){return!0};tb(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new uc(c),B(c,d)}}});function mc(a,b,c,d,e){this.u=a;this.id=vc+=2;this.w=b;this.Ga=c;this.size=d||0;this.type=e||Mc;this.i=e==Nc;this.b=null;this.H=this.G=this.Xa;this.P=this.D=this.Ha;this.g=this.A=0;nc(this);this.Va=this.vb=!1;if(this.size){a=this.C=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Oc(this,Pc)}else Oc(this)}l=mc.prototype;l.save=function(){return this.C};
l.save=function(){return this.g};l.restore=function(a){return a&&this.size==a.length?(this.g=a,this.Ma=!0):!1};function Nc(a,b){b||(b=Pc);Qc(a,b,void 0);Rc(a,b,void 0)}function Qc(a,b,c){c&&a.A||(a.H=b[2]||a.Ha);if(c||void 0===c)a.u=b[0]||a.Ha,a.i=b[2]||a.Ha}function Rc(a,b,c){c&&a.C||(a.T=!a.G&&b[3]||a.wa);if(c||void 0===c)a.v=b[1]||a.wa,a.D=b[3]||a.wa}l.Ba=function(a,b){b?this.C++||Rc(this,Sc,!1):this.A++||Qc(this,Sc,!1)};function Tc(a,b){b?--a.C||(a.T=a.G?a.wa:a.D):--a.A||(a.H=a.i)} l.restore=function(a){return a&&this.size==a.length?(this.C=a,this.Va=!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.g||(a.H=b[0]||a.Xa);if(c||void 0===c)a.G=b[0]||a.Xa}function Sc(a,b,c){c&&a.A||(a.P=!a.i&&b[1]||a.Ha);if(c||void 0===c)a.D=b[1]||a.Ha}l.Aa=function(a,b){b?this.A++||Sc(this,Tc,!1):this.g++||Rc(this,Tc,!1)};function Uc(a,b){b?--a.A||(a.P=a.i?a.Ha:a.D):--a.g||(a.H=a.G)}
function mc(a,b,c){a.b=b;a.A=a.C=0;c&&((a.A=c.A)&&Qc(a,Sc,!1),(a.C=c.C)&&Rc(a,Sc,!1))}l.Ha=function(a,b){this.b&&Na(this.b,32)&&Oa(this.b,"attempt to read invalid address "+N(this.b,b),!0);this.B.xb(b);return-1};l.wa=function(a,b,c){this.b&&Na(this.b,32)&&Oa(this.b,"attempt to write "+N(this.b,a)+" to invalid addresses "+N(this.b,c),!0)};l.Kb=function(a,b,c,d){a=this.g[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};l.Nb=function(a){return this.g[a]}; function nc(a,b,c){a.b=b;a.g=a.A=0;c&&((a.g=c.g)&&Rc(a,Tc,!1),(a.A=c.A)&&Sc(a,Tc,!1))}l.Xa=function(a,b){this.b&&Na(this.b,32)&&Oa(this.b,"attempt to read invalid address "+N(this.b,b),!0);this.u.xb(b);return-1};l.Ha=function(a,b,c){this.b&&Na(this.b,32)&&Oa(this.b,"attempt to write "+N(this.b,a)+" to invalid addresses "+N(this.b,c),!0)};l.Lb=function(a){return this.C[a]};l.Ub=function(a,b){this.C[b]!=a&&(this.C[b]=a,this.Va=!0)};
l.Wb=function(a,b,c,d,e){c=this.g[b];var g=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*g+d%g;this.g[b]!=c&&(this.g[b]=c,this.Ma=!0)};l.Yb=function(a,b){this.g[b]=a;this.Ma=!0};l.Jb=function(a,b,c,d){if(this.b&&null!=this.w){var e=this.b;Uc(e,this.w+a,1,e.L)&&e.S(!1)}return this.u(a,b,c,d)};l.Lb=function(a,b){if(this.b&&null!=this.w){var c=this.b;Uc(c,this.w+a,2,c.L)&&c.S(!1)}return this.i(a,b)}; l.Jb=function(a,b){if(this.b&&null!=this.w){var c=this.b;Vc(c,this.w+a,2,c.L)&&c.W(!1)}return this.G(a,b)};l.Tb=function(a,b,c){if(this.b&&null!=this.w){var d=this.b;Vc(d,this.w+b,2,d.I)&&d.W(!1)}this.i?this.Ha(a,0,c):this.D(a,b,c)};var Mc=0,Nc=2,sc=["NONE","RAM","ROM"],vc=0,Qc=[],Pc=[mc.prototype.Lb,mc.prototype.Ub],Tc=[mc.prototype.Jb,mc.prototype.Tb];
l.Vb=function(a,b,c,d,e){if(this.b&&null!=this.w){var g=this.b;Uc(g,this.w+b,1,g.F)&&g.S(!1)}this.G?this.wa(a,0,c):this.v(a,b,c,d,e)};l.Xb=function(a,b,c){if(this.b&&null!=this.w){var d=this.b;Uc(d,this.w+b,2,d.F)&&d.S(!1)}this.G?this.wa(a,0,c):this.D(a,b,c)};var Lc=0,Mc=2,Hc=["NONE","RAM","ROM"],Kc=0,Pc=[],Oc=[M.prototype.Kb,M.prototype.Wb,M.prototype.Nb,M.prototype.Yb],Sc=[M.prototype.Jb,M.prototype.Vb,M.prototype.Lb,M.prototype.Xb]; function Wc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Ca=0;this.Ra=b;this.T=c;this.Pa=Math.round(this.Ra/1E4)/100;this.S=this.Pa*this.T;this.Qa=this.ua=this.aa=this.xa=0;this.j.K=this.j.Oa=!1;this.j.Z=a.autoStart;"string"==typeof this.j.Z&&(this.j.Z="true"==this.j.Z);this.j.Da=!1;this.sa=this.ga=0;this.ta=+a.csStart;this.ca=+a.csInterval;this.ha=+a.csStop;this.I=[];this.fb=this.Ob.bind(this);this.N=this.F=this.L=this.M=this.B=this.ra=this.J=this.ia=this.Sa=this.R=0;this.wa=
function Vc(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.Da=0;this.Ta=b;this.U=c;this.Ra=Math.round(this.Ta/1E4)/100;this.R=this.Ra*this.U;this.Sa=this.ua=this.aa=this.ya=0;this.j.K=this.j.Qa=!1;this.j.Z=a.autoStart;"string"==typeof this.j.Z&&(this.j.Z="true"==this.j.Z);this.j.Ea=!1;this.sa=this.ga=0;this.ta=+a.csStart;this.ca=+a.csInterval;this.ha=+a.csStop;this.I=[];this.fb=this.Qb.bind(this);this.N=this.F=this.L=this.M=this.B=this.ra=this.J=this.ia=this.Ua=this.P=0;this.xa= null;E(this)}p(Wc,t);l=Wc.prototype;l.va=function(a,b,c,d){this.C=a;this.D=b;this.A=d;this.wa=a.u;for(a=0;a<Xc.length;a++)(b=this.G[Xc[a]])&&this.C.fa(null,Xc[a],b);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1};
null;E(this)}p(Vc,t);l=Vc.prototype;l.va=function(a,b,c,d){this.C=a;this.D=b;this.A=d;this.xa=a.u;for(a=0;a<Wc.length;a++)(b=this.G[Wc[a]])&&this.C.fa(null,Wc[a],b);E(this)};l.reset=function(){};l.save=function(){return null};l.restore=function(){return!1}; l.na=function(a,b){var c=Yc(this.C,"autoStart");null!=c?this.j.Z="true"==c?!0:"false"==c?!1:!!c:null==this.j.Z&&(this.j.Z=!this.A&&void 0===this.G.run);if(!b){if(a){Zc(this);if(!this.restore(a))return!1;$c(this)}else this.reset();this.A?(a=this.A,b=this.j.Z,a.wa=!0,a.f("Type ? for help with PDPjs Debugger commands"),ad(a),b||bd(a),a.ta&&(b=a.ta,a.ta=null,cd(a,b))):this.status("No debugger detected");this.j.Z||this.f("CPU will not be auto-started "+(this.wa?"(click Run to start)":"(type 'go' to start)"))}return!0};
l.na=function(a,b){var c=Xc(this.C,"autoStart");null!=c?this.j.Z="true"==c?!0:"false"==c?!1:!!c:null==this.j.Z&&(this.j.Z=!this.A&&void 0===this.G.run);if(!b){if(a){Yc(this);if(!this.restore(a))return!1;Zc(this)}else this.reset();this.A?(a=this.A,b=this.j.Z,a.xa=!0,a.f("Type ? for help with PDPjs Debugger commands"),$c(a),b||ad(a),a.ta&&(b=a.ta,a.ta=null,bd(a,b))):this.status("No debugger detected");this.j.Z||this.f("CPU will not be auto-started "+(this.xa?"(click Run to start)":"(type 'go' to start)"))}return!0}; l.ea=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(dc(this),!0):!1};l.lb=function(){return 0};function $c(a){void 0===a.ta&&(a.ta=0);void 0===a.ca&&(a.ca=-1);void 0===a.ha&&(a.ha=-1);a.j.Da=0<=a.ta&&0<a.ca;a.j.Da&&(a.sa=0,a.ga=a.ta-a.N)}function hc(a,b){if(a.j.Da){var c=!1;a.sa=a.sa+a.lb()|0;a.ga-=b;0>=a.ga&&(a.ga+=a.ca,c=!0);0<=a.ha&&a.ha<=dd(a)&&(a.ca=a.ha=-1,$c(a),a.W(),c=!0);c&&a.f(dd(a)+" cycles: checksum="+F(a.sa))}}
l.ea=function(a){return a?this.save():!0};l.Z=function(){return this.j.K?!0:this.j.Z?(dc(this),!0):!1};l.lb=function(){return 0};function Zc(a){void 0===a.ta&&(a.ta=0);void 0===a.ca&&(a.ca=-1);void 0===a.ha&&(a.ha=-1);a.j.Ea=0<=a.ta&&0<a.ca;a.j.Ea&&(a.sa=0,a.ga=a.ta-a.N)}function hc(a,b){if(a.j.Ea){var c=!1;a.sa=a.sa+a.lb()|0;a.ga-=b;0>=a.ga&&(a.ga+=a.ca,c=!0);0<=a.ha&&a.ha<=cd(a)&&(a.ca=a.ha=-1,Zc(a),a.S(),c=!0);c&&a.f(cd(a)+" cycles: checksum="+F(a.sa))}} l.fa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.V)a=!0;else{var b=null,c,h=w(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.V);c++);c==h.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.La?" (waiting for notification)":""))+".");a=!1}a&&(d.j.K?d.W():dc(d))},!0;case "speed":return this.G[b]=
l.fa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.j.W)a=!0;else{var b=null,c,h=w(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.j.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.j.W);c++);c==h.length&&(b=a);v("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.Na?" (waiting for notification)":""))+".");a=!1}a&&(d.j.K?d.S():dc(d))},!0;case "speed":return this.G[b]= c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){ed(d,d.T<<1,!0)},c.textContent=this.S.toFixed(2)+"Mhz",!0}return!1};function gc(a,b,c){a.N+=b;c&&(a.L=a.M=0)}function fd(a,b){var c=1;b&&1<a.T&&a.R&&(c=a.R/a.Pa);a.Qa=Math.round(1E3/gd);a.ua=Math.floor(a.Ra/gd*c);b||(a.aa=a.ua);a.xa=0}function dd(a){return a.N+a.F+a.L-a.M}function Zc(a){a.R=0;a.Sa=0;a.N=a.F=a.L=a.M=0;$c(a);ed(a,1)}
c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){dd(d,d.U<<1,!0)},c.textContent=this.R.toFixed(2)+"Mhz",!0}return!1};function gc(a,b,c){a.N+=b;c&&(a.L=a.M=0)}function ed(a,b){var c=1;b&&1<a.U&&a.P&&(c=a.P/a.Ra);a.Sa=Math.round(1E3/fd);a.ua=Math.floor(a.Ta/fd*c);b||(a.aa=a.ua);a.ya=0}function cd(a){return a.N+a.F+a.L-a.M}function Yc(a){a.P=0;a.Ua=0;a.N=a.F=a.L=a.M=0;Zc(a);dd(a,1)} function ed(a,b,c){var d=!1;if(void 0!==b){.8>a.R/a.S?b=1:d=!0;a.T=b;b=a.Pa*a.T;if(a.S!=b){a.S=b;b=a.S.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&hd(a.C)}gc(a,a.F);a.F=0;a.B=va();a.J=0;fd(a);return d}function id(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function jd(a){for(var b=[],c=0;c<a.I.length;c++)b.push(a.I[c][0]);return b}
function dd(a,b,c){var d=!1;if(void 0!==b){.8>a.P/a.R?b=1:d=!0;a.U=b;b=a.Ra*a.U;if(a.R!=b){a.R=b;b=a.R.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.f("target speed: "+b)}c&&a.C&&gd(a.C)}gc(a,a.F);a.F=0;a.B=va();a.J=0;ed(a);return d}function hd(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function id(a){for(var b=[],c=0;c<a.I.length;c++)b.push(a.I[c][0]);return b} function fc(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.L-=a.M;a.M=0;b&&(a.L=0);return c}
function fc(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function jd(a,b){var c=a.L-=a.M;a.M=0;b&&(a.L=0);return c} l.Ob=function(){if(this.j.K){this.xa>=this.Ra&&fd(this,!0);this.ia=0;this.ra=va();if(this.J){var a=this.ra-this.J;a>this.Qa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=id(this,this.j.Da?1:this.ua);try{this.Ia(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.ia+=b;this.F+=b;hc(this,b);fc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Sa>=ld&&(this.C&&M(this.C,void 0),this.Sa=0);break}}while(this.j.K)}catch(e){this.W();this.C&&this.C.stop(va(),dd(this));Ia(this,
l.Qb=function(){if(this.j.K){this.ya>=this.Ta&&ed(this,!0);this.ia=0;this.ra=va();if(this.J){var a=this.ra-this.J;a>this.Sa&&(this.B+=a,this.B>this.ra&&(this.B=this.ra))}try{do{var b=hd(this,this.j.Ea?1:this.ua);try{this.Ja(b)}catch(e){if("number"!=typeof e)throw e;}b=jd(this,!0);this.ia+=b;this.F+=b;hc(this,b);fc(this,b);this.aa-=b;if(0>=this.aa){this.aa+=this.ua;++this.Ua>=kd&&(this.C&&K(this.C,void 0),this.Ua=0);break}}while(this.j.K)}catch(e){this.S();this.C&&this.C.stop(va(),cd(this));Da(this, e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.J=va();var c=this.Qa;this.ia&&(c=Math.round(c*this.ia/this.ua));var c=c-(this.J-this.ra),d=this.J-this.B;d&&(this.R=Math.round(this.F/(10*d))/100,864E5<=d&&(this.N=0,ed(this)));if(0>c||this.R<this.S)-1E3>c&&(this.B-=c),c=0;this.xa+=this.ia;this.J+=c;a(b,c)}}};
e.stack||e.message);return}if(this.j.K){a=setTimeout;b=this.fb;this.J=va();var c=this.Sa;this.ia&&(c=Math.round(c*this.ia/this.ua));var c=c-(this.J-this.ra),d=this.J-this.B;d&&(this.P=Math.round(this.F/(10*d))/100,864E5<=d&&(this.N=0,dd(this)));if(0>c||this.P<this.R)-1E3>c&&(this.B-=c),c=0;this.ya+=this.ia;this.J+=c;a(b,c)}}}; function dc(a,b){if(!Ja(a))if(a.j.K)a.f(a.toString()+" busy");else{ed(a);a.j.K=!0;a.j.Oa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.C&&(b&&hd(a.C,!0),a.C.start(a.B,dd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ia=function(){return 0};l.W=function(a){var b=!1;if(this.j.K){kd(this);gc(this,this.F);this.F=0;this.j.K=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(va(),dd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var gd=30,ld=15,Xc=["power","reset"];
function dc(a,b){if(!Ja(a))if(a.j.K)a.f(a.toString()+" busy");else{dd(a);a.j.K=!0;a.j.Qa=!0;var c=a.G.run;c&&(c.textContent="Halt");a.C&&(b&&gd(a.C,!0),a.C.start(a.B,cd(a)));a.A||a.status("Started");setTimeout(a.fb,0)}}l.Ja=function(){return 0};l.S=function(a){var b=!1;if(this.j.K){jd(this);gc(this,this.F);this.F=0;this.j.K=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(va(),cd(this));b=!0;this.A||this.status("Stopped")}this.j.complete=a;return b};var fd=30,kd=15,Wc=["power","reset"]; function md(a){var b=+a.model||1001;Wc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.sb=nd.bind(this);this.b=P.bind(this);this.oa=null;this.ab=[];this.j.complete=!1}p(md,Wc);l=md.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.W();this.i=this.O=this.ya=0;this.pa=this.u=this.qa=this.bb;this.v=0;this.H=this.Kb;this.P=this.Vb;this.oa=null;Zc(this);this.j.error=!1;Wc.prototype.reset.call(this)};l.lb=function(){return 0};
function ld(a){var b=+a.model||1001;Vc.call(this,a,1E6);this.eb=b;this.bb=+a.addrReset||0;this.sb=md.bind(this);this.b=O.bind(this);this.oa=null;this.ab=[];this.j.complete=!1}p(ld,Vc);l=ld.prototype;l.reset=function(){this.status("Model "+this.eb);this.j.K&&this.S();this.i=this.O=this.za=0;this.pa=this.u=this.qa=this.bb;this.v=0;this.H=this.Mb;this.T=this.Zb;this.oa=null;Yc(this);this.j.error=!1;Vc.prototype.reset.call(this)};l.lb=function(){return 0}; l.save=function(){var a=new L(this);a.set(0,[this.i,this.O,this.ya,this.u,this.qa,this.pa,this.v]);a.set(1,[]);a.set(2,[this.N,this.T,this.j.Z]);a.set(3,od(this));a.set(4,jd(this));return a.data()};
l.save=function(){var a=new J(this);a.set(0,[this.i,this.O,this.za,this.u,this.qa,this.pa,this.v]);a.set(1,[]);a.set(2,[this.N,this.U,this.j.Z]);a.set(3,nd(this));a.set(4,id(this));return a.data()}; l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.i=b.next().value;this.O=b.next().value;this.ya=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.pa=b.next().value;this.v=b.next().value;b=a[2];this.N=b[0];ed(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ab.length;d++){var e=this.ab[d];if(e.Sb===b[c]){d=e;break a}}d=null}d&&(d.next=this.oa,this.oa=d)}a=a[4];for(b=0;b<this.I.length&&b<a.length;b++)this.I[b][0]=
l.restore=function(a){var b;b=a[0];ha();ca();ha();var c=b[Symbol.iterator];b=c?c.call(b):ia(b);this.i=b.next().value;this.O=b.next().value;this.za=b.next().value;this.u=b.next().value;this.qa=b.next().value;this.pa=b.next().value;this.v=b.next().value;b=a[2];this.N=b[0];dd(this,b[1]);this.j.Z=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ab.length;d++){var e=this.ab[d];if(e.Ub===b[c]){d=e;break a}}d=null}d&&(d.next=this.oa,this.oa=d)}a=a[4];for(b=0;b<this.I.length&&b<a.length;b++)this.I[b][0]= a[b];return!0};function pd(a,b){var c=a.u;a.u=(c+b)%Cb;return c}function od(a){var b=[];for(a=a.oa;a;)b.push(a.Sb),a=a.next;return b}l.Kb=function(a){var b=this.D;a=this.pa=a;return b.b[(a&b.u)>>>b.i].H(a&16383,a)};l.Vb=function(a,b){var c=this.D;a=this.pa=a;c.b[(a&c.u)>>>c.i].P(b,a&16383,a)};
a[b];return!0};function od(a,b){var c=a.u;a.u=(c+b)%Ib;return c}function nd(a){var b=[];for(a=a.oa;a;)b.push(a.Ub),a=a.next;return b}l.Mb=function(a){var b=this.D;a=this.pa=a;return b.b[(a&b.u)>>>b.i].H(a&16383,a)};l.Zb=function(a,b){var c=this.D;a=this.pa=a;c.b[(a&c.u)>>>c.i].T(b,a&16383,a)}; l.Ia=function(a){this.j.complete=!0;var b=this.A?qd(this.A)?1:this.j.Oa?-1:0:0,c=a?this.j.Oa?0:1:-1;this.j.Oa=!1;this.L=this.M=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(rd(this.A,this.u,c)){this.W();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.oa||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&rd(this.A,this.u,c)){this.W();break}if(0>c)break}}this.v&=15;this.O=this.O&4194304?this.H(this.i):this.ya=this.H(this.qa=this.u);this.i=this.O&262143;if(a=this.O>>18&15)this.i=
l.Ja=function(a){this.j.complete=!0;var b=this.A?pd(this.A)?1:this.j.Qa?-1:0:0,c=a?this.j.Qa?0:1:-1;this.j.Qa=!1;this.L=this.M=a;this.v=this.v&-5|(b?4:0);do{if(this.v){if(this.v&4){if(qd(this.A,this.u,c)){this.S();break}++b||(this.v&=-5);c||c++}if(a=this.v&11)this.v&2?this.oa||(this.v&=-3):this.v&1&&this.v++,a=!1;if(a){if(this.v&4&&qd(this.A,this.u,c)){this.S();break}if(0>c)break}}this.v&=15;this.O=this.O&4194304?this.H(this.i):this.za=this.H(this.qa=this.u);this.i=this.O&262143;if(a=this.O>>18&15)this.i= this.i+this.H(a)&Db;this.O&4194304?a=-1:(this.u=(this.u+1)%Cb,a=this.ya/Nb|0);0<=a&&this.sb(a)}while(0<this.M);return this.j.complete?this.L-this.M:!1===this.j.complete?-1:0};tb(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new md(d);B(d,c)}});function nd(a){sd[a>>4].call(this,a)}function Q(a){this.b(a)}function td(a){this.b(a)}function ud(a){this.b(a)}function vd(a){var b=a&15,c=this.H(this.i),d=this.H(b),d=wd(a,d,c)+(c-(c&262143));this.P(b,d)}
this.i+this.H(a)&Jb;this.O&4194304?a=-1:(this.u=(this.u+1)%Ib,a=this.za/Nb|0);0<=a&&this.sb(a)}while(0<this.M);return this.j.complete?this.L-this.M:!1===this.j.complete?-1:0};ub(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new ld(d);B(d,c)}});function md(a){rd[a>>4].call(this,a)}function Q(a){this.b(a)}function sd(a){this.b(a)}function td(a){this.b(a)}function ud(a){a&=15;var b=this.H(this.i),c=this.H(a);this.T(a,(c&262143)+(b-(b&262143)))} function xd(a){var b=a&15,c=this.H(b),c=wd(a,c,0);this.P(b,c)}function yd(a){var b=this.H(a&15),c=this.H(this.i),c=wd(a,c,b)+(b-(b&262143));this.P(this.i,c)}function zd(a){var b=this.H(this.i);this.P(this.i,wd(a,b,b));var c=a&15;c&&(b=this.H(c),this.P(c,wd(a,b,b)))}function Ad(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a);this.P(a,c-(c&262143)+b)}function W(a){this.b(a)}function P(a){this.f("undefined opcode: "+Qa(a));pd(this,-1);this.W()}
function vd(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a);this.T(a,c-(c&262143)+b)}function R(a){this.b(a)}function O(a){this.f("undefined opcode: "+Qa(a));od(this,-1);this.S()} function wd(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Fb?262143:0}return b}
var rd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, var sd=[Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},sd,td,td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},sd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},td,ud,ud,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},td,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},O,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},P,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},ud,function(a){a&=15;var b=this.H(a);this.T(a,b&262143)},function(a){a=this.H(a&15);var b=this.H(this.i);this.T(this.i,(b&262143)+(a-(a&262143)))},function(a){a&15&&ud.call(this,a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},vd,xd,yd,zd,function(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a),c=(c&262143)+b*I;this.P(a,c)},function(a){a&=15;var b=this.H(a),b=(b&262143)+this.i*I;this.P(a,b)},function(a){a=
function(a){a&=15;var b=this.H(this.i)&262143,c=this.H(a),c=(c&262143)+b*H;this.T(a,c)},function(a){a&=15;var b=this.H(a),b=(b&262143)+this.i*H;this.T(a,b)},function(a){a=this.H(a&15)&262143;var b=this.H(this.i),b=(b&262143)+a*H;this.T(this.i,b)},function(a){var b=this.H(this.i)&262143;this.T(this.i,b+b*H);if(a&=15)b=this.H(a)&262143,this.T(a,b+b*H)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, this.H(a&15)&262143;var b=this.H(this.i),b=(b&262143)+a*I;this.P(this.i,b)},function(a){var b=this.H(this.i)&262143;this.P(this.i,b+b*I);if(a&=15)b=this.H(a)&262143,this.P(a,b+b*I)},vd,xd,yd,zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},vd,xd,yd,zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},vd,xd,yd,zd,function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},Ad,function(a){a&=
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},vd,function(a){a&=15;var b=this.H(a),b=b-(b&262143)+this.i;this.T(a,b)},function(a){a=this.H(a&15)&262143;var b= 15;var b=this.H(a),b=b-(b&262143)+this.i;this.P(a,b)},function(a){a=this.H(a&15)&262143;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){a&15&&Ad.call(this,a)},function(a){a&=15;var b=this.H(this.i)/I|0,c=this.H(a);this.P(a,c-(c&262143)+b)},function(a){a&=15;var b=this.H(a);this.P(a,b-(b&262143))},function(a){a=this.H(a&15)/I|0;var b=this.H(this.i);this.P(this.i,b-(b&262143)+a)},function(a){var b=this.H(this.i);this.P(this.i,(b&262143)+(b/I|0));if(a&=15)b=this.H(a),this.P(a,(b&262143)+
this.H(this.i);this.T(this.i,b-(b&262143)+a)},function(a){a&15&&vd.call(this,a)},function(a){a&=15;var b=this.H(this.i)/H|0,c=this.H(a);this.T(a,c-(c&262143)+b)},function(a){a&=15;var b=this.H(a);this.T(a,b-(b&262143))},function(a){a=this.H(a&15)/H|0;var b=this.H(this.i);this.T(this.i,b-(b&262143)+a)},function(a){var b=this.H(this.i);this.T(this.i,(b&262143)+(b/H|0));if(a&=15)b=this.H(a),this.T(a,(b&262143)+(b/H|0))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, (b/I|0))},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)}, function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},
function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},function(a){this.b(a)},R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R, W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W];
R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R,R]; function Bd(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.v=a.file;this.F=Ra(this.v);if(this.v){a=this.v;var b=Sa(this.F);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,g){g?(c.ba("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(ta(c.Ka,a,b),(a=ib(a,b))?(c.b=a.Y,c.U=a.U):c.v=null);Cd(c)})}}p(Bd,t);
function wd(a){t.call(this,"ROM",a,128);this.V=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.v=a.file;this.F=Ra(this.v);if(this.v){a=this.v;var b=Sa(this.F);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.v+"&format=bytes&decimal=true");var c=this;ib(a,null,!0,function(a,b,g){g?(c.ba("Unable to load ROM resource (error "+g+": "+a+")"),c.v=null):(ta(c.La,a,b),(a=jb(a,b))?(c.b=a.Y,c.V=a.V):c.v=null);xd(c)})}}p(wd,t); Bd.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Cd(this)};Bd.prototype.na=function(){this.U&&(this.A&&Dd(this.A,this.id,this.B,this.u,this.U),delete this.U);return!0};Bd.prototype.ea=function(){return!0};
wd.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;xd(this)};wd.prototype.na=function(){this.V&&(this.A&&yd(this.A,this.id,this.B,this.u,this.V),delete this.V);return!0};wd.prototype.ea=function(){return!0}; function Cd(a){if(!Ka(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Ia(a,"ROM size ("+F(a.b.length,8,!0)+") does not match specified size ("+F(a.u,8,!0)+")");else{var b;b=a.B;if(pc(a.D,b,a.u,Nc)){var c;for(c=0;c<a.b.length;c++)jc(a.D,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],g=d.D,f=d.u,h=[],k=d.B>>>g.i;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.D;d=d.u;f=0;for(e>>>=
function xd(a){if(!Ka(a)){if(a.v){if(!a.b||!a.D)return;a.u||(a.u=a.b.length);if(a.b.length!=a.u)Da(a,"ROM size ("+F(a.b.length,8,!0)+") does not match specified size ("+F(a.u,8,!0)+")");else{var b;b=a.B;if(oc(a.D,b,a.u,Mc)){var c;for(c=0;c<a.b.length;c++)jc(a.D,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],g=d.D,f=d.u,h=[],k=d.B>>>g.i;0<f&&k<g.b.length;)h.push(g.b[k++]),f-=16384;g=d.D;d=d.u;f=0;for(e>>>= g.i;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}E(a)}}tb(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Bd(d);B(d,c)}});
g.i;0<d&&e<g.b.length;){k=h[f++];if(!k)break;g.b[e++]=k;d-=16384}}delete a.b}}}E(a)}}ub(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new wd(d);B(d,c)}}); function Ed(a){t.call(this,"RAM",a);this.U=this.za=null;this.i=+a.addr;this.u=+a.size;this.ka=a.load;this.ja=a.exec;null!=this.ka&&(this.ka=+this.ka);null!=this.ja&&(this.ja=+this.ja);this.v=this.F=!1;this.b=a.file;this.B=Ra(this.b);if(this.b){a=this.b;var b=Sa(this.B);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,g){g?(c.ba("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(ta(c.Ka,a,b),(a=ib(a,b))?(c.za=a.za,
function zd(a){t.call(this,"RAM",a);this.V=this.Aa=null;this.i=+a.addr;this.u=+a.size;this.ka=a.load;this.ja=a.exec;null!=this.ka&&(this.ka=+this.ka);null!=this.ja&&(this.ja=+this.ja);this.v=this.F=!1;this.b=a.file;this.B=Ra(this.b);if(this.b){a=this.b;var b=Sa(this.B);"json"!=b&&"hex"!=b&&(a=Ua()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;ib(a,null,!0,function(a,b,g){g?(c.ba("Unable to load RAM resource (error "+g+": "+a+")"),c.b=null):(ta(c.La,a,b),(a=jb(a,b))?(c.Aa=a.Aa, c.U=a.U,null==c.ka&&(c.ka=a.ka),null==c.ja&&(c.ja=a.ja)):c.b=null);Fd(c)})}}p(Ed,t);Ed.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Fd(this)};Ed.prototype.na=function(a,b){this.U&&(this.A&&Dd(this.A,this.id,this.i,this.u,this.U),delete this.U);b||this.reset();return!0};Ed.prototype.ea=function(){return!0};
c.V=a.V,null==c.ka&&(c.ka=a.ka),null==c.ja&&(c.ja=a.ja)):c.b=null);Ad(c)})}}p(zd,t);zd.prototype.va=function(a,b,c,d){this.D=b;this.g=c;this.A=d;Ad(this)};zd.prototype.na=function(a,b){this.V&&(this.A&&yd(this.A,this.id,this.i,this.u,this.V),delete this.V);b||this.reset();return!0};zd.prototype.ea=function(){return!0}; function Fd(a){if(a.D&&(!a.v&&a.u&&(pc(a.D,a.i,a.u,1)?a.v=!0:a.u=0),!Ka(a))){if(!a.v)v("No RAM allocated");else if(a.b){if(!a.za)return;Gd(a,a.za,a.ka,a.ja,a.i)?a.status('Loaded image "'+a.B+'"'):a.ba('Error loading image "'+a.B+'"')}a.F=!0;E(a)}}
function Ad(a){if(a.D&&(!a.v&&a.u&&(oc(a.D,a.i,a.u,1)?a.v=!0:a.u=0),!Ka(a))){if(!a.v)v("No RAM allocated");else if(a.b){if(!a.Aa)return;Bd(a,a.Aa,a.ka,a.ja,a.i)?a.status('Loaded image "'+a.B+'"'):a.ba('Error loading image "'+a.B+'"')}a.F=!0;E(a)}} Ed.prototype.reset=function(){if(this.v&&!this.F){for(var a=this.D,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=sa&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.D(f,d,e.w+d);c-=16384;b++;d=0}this.za&&Gd(this,this.za,this.ka,this.ja,this.i,!this.A)}this.F=!1};
zd.prototype.reset=function(){if(this.v&&!this.F){for(var a=this.D,b=this.i,c=this.u,d=b&16383,b=b>>>a.i;0<c&&b<a.b.length;){var e=a.b[b],g=c,f=0,h,d=d||0,f=f||0;0>f&&f>=sa&&(f+=la);f=Math.trunc(Math.abs(f))%la;void 0===g&&(g=e.size);for(h=d;g--&&h<e.size;h++)e.D(f,d,e.w+d);c-=16384;b++;d=0}this.Aa&&Bd(this,this.Aa,this.ka,this.ja,this.i,!this.A)}this.F=!1}; function Gd(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)jc(a.D,c+f,b[f]);f=!0}f&&(null==d&&(a.g.W(),g=!1),null!=d&&(a=a.g,a.bb=d,a.u=d%Cb,g?a.j.V?a.j.K||dc(a):a.j.Z=!0:a.A&&a.j.V?a.W()||a.C.j.reset||(ad(a.A),M(a.C,-1)):!1===g&&a.W(),!a.j.K&&a.wa&&a.wa.stop()));return f}tb(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Ed(d);B(d,c)}});
function Bd(a,b,c,d,e,g){var f=!1;null==c&&(c=e);if(null!=c){for(f=0;f<b.length;f++)jc(a.D,c+f,b[f]);f=!0}f&&(null==d&&(a.g.S(),g=!1),null!=d&&(a=a.g,a.bb=d,a.u=d%Ib,g?a.j.W?a.j.K||dc(a):a.j.Z=!0:a.A&&a.j.W?a.S()||a.C.j.reset||($c(a.A),K(a.C,-1)):!1===g&&a.S(),!a.j.K&&a.xa&&a.xa.stop()));return f}ub(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new zd(d);B(d,c)}}); function Hd(a){t.call(this,"SerialPort",a,1048576);this.v=a.upperCase;"string"==typeof this.v&&(this.v="true"==this.v);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Id;b&&(void 0===c&&(c="Panel"),(c=y(c,this.id))&&(b=c.G[b])&&this.fa(null,a,b))}this.b=this.B=null;this.exports={connect:this.nb,receiveData:this.Ma,receiveStatus:this.Mb,setConnection:this.Pb}}p(Hd,t);l=Hd.prototype;
function Cd(a){t.call(this,"SerialPort",a,1048576);this.v=a.upperCase;"string"==typeof this.v&&(this.v="true"==this.v);this.u=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=Dd;b&&(void 0===c&&(c="Panel"),(c=y(c,this.id))&&(b=c.G[b])&&this.fa(null,a,b))}this.b=this.B=null;this.exports={connect:this.nb,receiveData:this.Oa,receiveStatus:this.Ob,setConnection:this.Rb}}p(Cd,t);l=Cd.prototype; l.fa=function(a,b,c){var d=this;switch(b){case Id:return this.G[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Za:q.rb:46==c?b=q.Za:a.ctrlKey&&c>=q.Ya&&c<=q.ub&&(b=c-(q.Ya-q.ob));b&&(a.preventDefault&&a.preventDefault(),d.Ma(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.qb&&(b=q.pb);d.Ma(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
l.fa=function(a,b,c){var d=this;switch(b){case Dd:return this.G[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Za:q.rb:46==c?b=q.Za:a.ctrlKey&&c>=q.Ya&&c<=q.ub&&(b=c-(q.Ya-q.ob));b&&(a.preventDefault&&a.preventDefault(),d.Oa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.qb&&(b=q.pb);d.Oa(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.Ma(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;E(this)};
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Oa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.va=function(a,b,c,d){this.C=a;this.D=b;this.g=c;this.A=d;E(this)}; l.nb=function(a){if(!this.b){var b=Yc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.Ja)return;c=Ya(c[1]);if(this.b=xa(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Ka+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.na=function(a,b){if(!b)if(this.nb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
l.nb=function(a){if(!this.b){var b=Xc(this.C,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ya(c[0]);if(d!=this.Ka)return;c=Ya(c[1]);if(this.b=xa(c)){var e=this.b.exports;if(e){var g=e.connect;g&&g.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.La+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.na=function(a,b){if(!b)if(this.nb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0}; l.ea=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new L(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ma=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.Mb=function(){};l.Pb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Id="buffer";
l.ea=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new J(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Oa=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.Ob=function(){};l.Rb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Dd="buffer"; tb(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Hd(d);B(d,c)}});function Jd(a){t.call(this,"Debugger",a);this.da=+a.base||16;this.oa=!1;this.B=0;this.R=!1;this.v=-1;this.u=[];this.aa={}}p(Jd,t);Jd.prototype.mb=function(){return-1};Jd.prototype.Wa=function(){};
ub(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Cd(d);B(d,c)}});function Ed(a){t.call(this,"Debugger",a);this.da=+a.base||16;this.oa=!1;this.B=0;this.P=!1;this.v=-1;this.u=[];this.aa={}}p(Ed,t);Ed.prototype.mb=function(){return-1};Ed.prototype.Xa=function(){}; function Kd(a,b,c,d){if(c)if(b){0>a.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.R?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ya(b.substring(c,g))),c=g+1}}return a}
function Fd(a,b,c,d){if(c)if(b){0>a.v&&a.u.length&&(a.v=0);if(0>a.v||b!=a.u[a.v])a.u.splice(0,0,b),a.v=0;a.v--}else a.P?b="end":b=a.u[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var g=0;g<=b.length;g++){var f=b.charAt(g);if('"'==f||"'"==f)e?f==e&&(e=null):e=f;else if(f==d&&!e||!f)a.push(Ya(b.substring(c,g))),c=g+1}}return a} function Ld(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
function Gd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),g=a.pop();switch(d){case "*":d=g*e;break;case "/":if(!e)return!1;d=g/e;break;case "%":if(!e)return!1;d=g%e;break;case "+":d=g+e;break;case "-":d=g-e;break;case "<<":d=g<<e;break;case ">>":d=g>>e;break;case ">>>":d=g>>>e;break;case "<":d=g<e?1:0;break;case "<=":d=g<=e?1:0;break;case ">":d=g>e?1:0;break;case ">=":d=g>=e?1:0;break;case "==":d=g==e?1:0;break;case "!=":d=g!=e?1:0;break;case "&":d=g&e;break;
case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0} case "^":d=g^e;break;case "|":d=g|e;break;case "&&":d=g&&e?1:0;break;case "||":d=g||e?1:0;break;default:return!1}a.push(d|0)}return!0}
function Hd(a,b,c){var d;if(b){b=Id(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Ya(n);if(!n){g=!0;break}n=Jd(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],x=n.length;k.length&&Kd[n]<Kd[k[k.length-1]]&&Gd(h,k,1);k.push(n);b=b.substr(r+x)}Gd(h,k)&&1==h.length||(g=!0);g?c&&a.f("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&Ld(a,null, function Md(a,b,c){var d;if(b){b=Nd(a,b);for(var e=0,g=!1,f=b,h=[],k=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=Ya(n);if(!n){g=!0;break}n=Od(a,n,null,!1===c);if(void 0===n){g=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],x=n.length;k.length&&Pd[n]<Pd[k[k.length-1]]&&Ld(h,k,1);k.push(n);b=b.substr(r+x)}Ld(h,k)&&1==h.length||(g=!0);g?c&&a.f("error parsing '"+f+"' at character "+(f.length-b.length)):(d=h.pop(),c&&Qd(a,null,
d))}return d}function Id(a,b){for(var c,d=a.oa?"(":"{",e=a.oa?")":"}",g=new RegExp(a.oa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=Hd(a,c[1]);b=b.replace(d+c[1]+e,null!=f?N(a,f):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a} d))}return d}function Nd(a,b){for(var c,d=a.oa?"(":"{",e=a.oa?")":"}",g=new RegExp(a.oa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(g))&&!(0<=c[1].indexOf(d));){var f=Md(a,c[1]);b=b.replace(d+c[1]+e,null!=f?N(a,f):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
function Jd(a,b,c,d){var e;null!=b?(e=a.mb(b),0<=e?e=a.Xa(e):(e=a.aa[b],null==e&&(e=Pa(b,a.da))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e} function Od(a,b,c,d){var e;null!=b?(e=a.mb(b),0<=e?e=a.Wa(e):(e=a.aa[b],null==e&&(e=Pa(b,a.da))),null!=e||d||a.f("invalid "+(c?c:"value")+": "+b)):d||a.f("missing "+(c||"value"));return e}
function Ld(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var x=null==k||isNaN(k),S=m=m||n;0<n--;)S||(r=","+r,S=m),r=(x?"?":k&1?"1":"0")+r,k>>=1,S--;f=r+f;d>>=8}d=F(c,0,!0)+" "+c+". "+Qa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e} function Qd(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var g=4,f="";if(!g||4<g)g=4;for(var h=0;h<g;h++){f&&(f=","+f);var k=d&255,m=void 0,n=8,r="";n?32<n&&(n=32):n=32;for(var x=null==k||isNaN(k),R=m=m||n;0<n--;)R||(r=","+r,R=m),r=(x?"?":k&1?"1":"0")+r,k>>=1,R--;f=r+f;d>>=8}d=F(c,0,!0)+" "+c+". "+Qa(c,0,!0)+" "+("0b"+f);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.f((null!=b?b+": ":"")+d);return e}
function Md(a,b){if(b)return Ld(a,b,a.aa[b]);var c=0;for(b in a.aa)Ld(a,b,a.aa[b]),c++;return 0<c}function N(a,b,c){c=void 0===c?0:c;switch(a.da){case 8:a=Qa(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=F(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c} function Rd(a,b){if(b)return Qd(a,b,a.aa[b]);var c=0;for(b in a.aa)Qd(a,b,a.aa[b]),c++;return 0<c}function N(a,b,c){c=void 0===c?0:c;switch(a.da){case 8:a=Qa(b,0<c?(c+2)/3|0:0);break;case 10:a=b;b=0<c?Math.ceil(.3*c):0;var d="";b?10<b&&(b=10):b=a&-65536?10:5;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(0>a&&-1<a&&(a=-1);0<b--;)d=String.fromCharCode(a%10+48)+d,a/=10;a=d;break;default:a=F(b,0<c?c+3>>2:0)}0>c?c=a.replace(/^0+([0-9A-F]+)$/i,"$1"):c=a;return c}
var Kd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; var Pd={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};
function Nd(a){Ed.call(this,a);this.xa=!1;this.oa=!0;this.J=X();this.ua=X();this.O=X();this.I=[];this.b=this.L=this.F=[];Od(this);this.R=this.ia=0;this.i=[];this.ra=void 0;Pd(this);this.A=this;this.pa={};this.X=this.ib=0;this.U=null;this.N=[];Qd(this,a.messages);this.ta=a.commands;this.M=0;this.Da=this.sa=null;this.B=this.za=this.ya=this.ha=this.qa=0;this.ga=this.ca=null;var b=this;window?void 0===window[C]&&(window[C]=function(a){return bd(b,a)}):void 0===global[C]&&(global[C]=function(a){return bd(b, function Sd(a){Jd.call(this,a);this.wa=!1;this.oa=!0;this.J=X();this.ua=X();this.O=X();this.F=[];this.b=this.L=this.I=[];Td(this);this.S=this.ia=0;this.i=[];this.ra=void 0;Ud(this);this.A=this;this.pa={};this.X=this.ib=0;this.T=null;this.N=[];Vd(this,a.messages);this.ta=a.commands;this.M=0;this.Ca=this.sa=null;this.B=this.ya=this.xa=this.ha=this.qa=0;this.ga=this.ca=null;var b=this;window?void 0===window[C]&&(window[C]=function(a){return cd(b,a)}):void 0===global[C]&&(global[C]=function(a){return cd(b,
a)})}p(Nd,Ed);function Y(a){a=a&&a.w;null==a&&(a=-1);return a}function X(a,b,c){return{w:void 0===a?null:a,wb:void 0===b?!1:b,ma:!1,da:c}}function Rd(a){return[a.w,a.wb,a.da,a.ma,a.Pa]}function Sd(a,b){var c=X(b[0],b[1],b[2]);c.ma=b[3];b[4]&&(c.gb=Fd(a,c.Pa=b[4]));return c}l=Nd.prototype; a)})}p(Sd,Jd);function Y(a){a=a&&a.w;null==a&&(a=-1);return a}function X(a,b,c){return{w:void 0===a?null:a,wb:void 0===b?!1:b,ma:!1,da:c}}function Wd(a){return[a.w,a.wb,a.da,a.ma,a.Na]}function Xd(a,b){var c=X(b[0],b[1],b[2]);c.ma=b[3];b[4]&&(c.gb=Kd(a,c.Na=b[4]));return c}l=Sd.prototype;
l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ga=a.u;(a=Xc(a,"messages"))&&Qd(this,a);Td(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=Hc[c],n&&d.f(F(n.id,8)+" %"+F(e<<d.D.i,8)+" %"+F(n.w,8)+" "+F(n.Ia,4,!0)+ l.va=function(a,b,c,d){this.D=b;this.C=a;this.g=c;this.ga=a.u;(a=Yc(a,"messages"))&&Vd(this,a);Yd(this,function(a){a:{var b=d.D.b,c=a[0],e=a=0,k=b.length;if(c){a=Y(Z(d,c));if(-1===a){d.f("invalid address: "+c);break a}e=a>>>d.D.i;k=1}d.f("blockid physical blockaddr used size type");d.f("-------- --------- --------- ------ ------ ----");for(var c=-1,m=0;k--;){var n=b[e];n.type==c?m++||d.f("..."):(c=n.type,m=sc[c],n&&d.f(F(n.id,8)+" %"+F(e<<d.D.i,8)+" %"+F(n.w,8)+" "+F(n.Ga,4,!0)+
" "+F(n.size,4,!0)+" "+m),c!=Lc&&(c=-1),m=0);a+=16384;e++}}});E(this)}; " "+F(n.size,4,!0)+" "+m),c!=Mc&&(c=-1),m=0);a+=16384;e++}}});E(this)};
l.fa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ca=this.G[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",bd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.u.length-1&&(b=d.u[++d.v])):40==a.keyCode&&(0<d.v?b=d.u[--d.v]:(b="",d.v=-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.G[b]=c,sb(c,function(){if(d.ca){var a=d.ca.value; l.fa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ca=this.G[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.v<d.u.length-1&&(b=d.u[++d.v])):40==a.keyCode&&(0<d.v?b=d.u[--d.v]:(b="",d.v=-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.G[b]=c,rb(c,function(){if(d.ca){var a=d.ca.value;
d.ca.value="";bd(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,sb(c,function(a){var b=!1;La(d,!0)||(Ma(d,!0),b=ec(d,a?1:0,null),Ma(d,!1));return b}),!0}return!1};function ad(a){if(a.ca){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ca.focus();window&&window.scrollTo(b,c)}}l.Ca=function(a,b){var c=-1,d=Y(a);-1!==d&&(c=kc(this.D,d),b&&null!=a.w&&(a.w+=b||1));return c};l.$a=function(a,b,c){var d=Y(a);-1!==d&&(jc(this.D,d,b),c&&null!=a.w&&(a.w+=c||1),K(this.C,-1))}; d.ca.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,rb(c,function(a){var b=!1;La(d,!0)||(Ma(d,!0),b=ec(d,a?1:0,null),Ma(d,!1));return b}),!0}return!1};function bd(a){if(a.ca){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ca.focus();window&&window.scrollTo(b,c)}}l.Ba=function(a,b){var c=-1,d=Y(a);-1!==d&&(c=kc(this.D,d),b&&null!=a.w&&(a.w+=b||1));return c};l.$a=function(a,b,c){var d=Y(a);-1!==d&&(jc(this.D,d,b),c&&null!=a.w&&(a.w+=c||1),M(this.C,-1))};
function Z(a,b,c){var d;c=(c?a.J:a.ua).w;var e,g;if(void 0!==b){b=Id(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var f,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.I.length;c++){var k=a.I[c].V[d];if(null!=k){h=k.o;break}}null!=h&&(f=X(h));if(d=f)return d;0<=b.indexOf("0x")?g=16:0<=b.indexOf("0o")?g=8:0<=b.indexOf(".")&&(g=10);c=Hd(a,b,void 0)}null!=c&&(d=X(c,e,g));return d}function Ud(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.gb=Fd(a,b.Pa=c[2]))} function Z(a,b,c){var d;c=(c?a.J:a.ua).w;var e,g;if(void 0!==b){b=Nd(a,b);"%"==b.charAt(0)&&(e=!0,b=b.substr(1));d=b;var f,h;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c<a.F.length;c++){var k=a.F[c].U[d];if(null!=k){h=k.o;break}}null!=h&&(f=X(h));if(d=f)return d;0<=b.indexOf("0x")?g=16:0<=b.indexOf("0o")?g=8:0<=b.indexOf(".")&&(g=10);c=Md(a,b,void 0)}null!=c&&(d=X(c,e,g));return d}function Zd(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.gb=Kd(a,b.Na=c[2]))}
function Vd(a){return Qa(a/Ib,6)+" "+Qa(a%Ib,6)}function Qd(a,b){a.A=a;a.X=a.ib=536870916;a.U=null;a.N=[];b=Fd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in I){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|=I[c],a.f(c+" messages enabled"))}}function Td(a,b){for(var c in I)if(16==I[c]){a.pa[c]=b;break}}l.mb=function(a){return Wd.indexOf(a.toUpperCase())}; function $d(a){return Qa(a/Cb,6)+" "+Qa(a%Cb,6)}function Vd(a,b){a.A=a;a.X=a.ib=536870916;a.T=null;a.N=[];b=Kd(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in J){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|=J[c],a.f(c+" messages enabled"))}}function Yd(a,b){for(var c in J)if(16==J[c]){a.pa[c]=b;break}}l.mb=function(a){return ae.indexOf(a.toUpperCase())};
l.Xa=function(a){var b;switch(a){case Xd:b=this.g.u;break;case Yd:b=this.g.O;break;case Zd:b=this.g.i}return b};l.message=function(a,b){b&&(a+=" @"+N(this,X(this.g.qa).w));if(!this.U||a!=this.U)if(this.U=a,this.X&1073741824)this.N.push(a);else{var c;if(this.X&-2147483648&&this.g&&(c=this.g.j.K)||La(this,!0))this.S(),c&&(a+=" (cpu halted)");this.f(a);this.g&&(a=this.g,jd(a),a.aa=0,a.C&&K(a.C,void 0))}}; l.Wa=function(a){var b;switch(a){case be:b=this.g.u;break;case ce:b=this.g.O;break;case de:b=this.g.i}return b};l.message=function(a,b){b&&(a+=" @"+N(this,X(this.g.qa).w));if(!this.T||a!=this.T)if(this.T=a,this.X&1073741824)this.N.push(a);else{var c;if(this.X&-2147483648&&this.g&&(c=this.g.j.K)||La(this,!0))this.W(),c&&(a+=" (cpu halted)");this.f(a);this.g&&(a=this.g,kd(a),a.aa=0,a.C&&M(a.C,void 0))}};
function Pd(a){var b;if(!pd(a))a.i&&a.i.length&&a.f("instruction history buffer freed"),a.R=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array($d);for(b=0;b<a.i.length;b++)a.i[b]=X();a.R=0;a.f("instruction history buffer allocated")}}function ae(a,b,c){if(!Ce(a,c))return!1;dc(a.g,b);return!0} function Ud(a){var b;if(!qd(a))a.i&&a.i.length&&a.f("instruction history buffer freed"),a.S=0,a.i=[];else if(!a.i||!a.i.length){a.i=Array(ee);for(b=0;b<a.i.length;b++)a.i[b]=X();a.S=0;a.f("instruction history buffer allocated")}}function Ge(a,b,c){if(!Ie(a,c))return!1;dc(a.g,b);return!0}
function ec(a,b,c,d){if(!Ce(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.B=0;b||pd(a)&&qd(a,a.g.u,0);try{b=hd(a.g,b);var g=a.g.Ja(b);0<g&&(fc(a.g,g),a.B+=g,gc(a.g,g,!0),hc(a.g,g),a.ha++)}catch(f){"number"!=typeof f&&(a.B=0,Da(a.g,f.stack||f.message))}!1!==d&&(a.ga&&a.ga.stop(),K(a.C,-1));$c(a,c||!1,e);return 0<a.B}l.S=function(a){this.g&&this.g.S(a)};function $c(a,b,c){a.xa&&(void 0===b&&(b=!0),c&&a.f(Ee+c),a.J=X(a.g.u),b&&1!=a.M?Fe(a):Ge(a))} function ec(a,b,c,d){if(!Ie(a))return!1;var e="";null===c&&(e=(c=!a.sa||"tr"==a.sa)?"tr":"t");a.B=0;b||qd(a)&&rd(a,a.g.u,0);try{b=id(a.g,b);var g=a.g.Ia(b);0<g&&(fc(a.g,g),a.B+=g,gc(a.g,g,!0),hc(a.g,g),a.ha++)}catch(f){"number"!=typeof f&&(a.B=0,Ia(a.g,f.stack||f.message))}!1!==d&&(a.ga&&a.ga.stop(),M(a.C,-1));ad(a,c||!1,e);return 0<a.B}l.W=function(a){this.g&&this.g.W(a)};function ad(a,b,c){a.wa&&(void 0===b&&(b=!0),c&&a.f(Je+c),a.J=X(a.g.u),b&&1!=a.M?Ke(a):Le(a))}
function Ce(a,b){var c;(c=!a.g||!Ka(a.g))||(c=a.g,c.j.W?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.g.j.K?(b||a.f("cpu busy or unavailable, command ignored"),!1):!Ja(a.g)}l.na=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ea=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Pd(this);this.ha=0;this.U=null;this.B=0;this.J=X(this.g.u);this.j.K=!1;He(this);a||$c(this)}; function Ie(a,b){var c;(c=!a.g||!Ka(a.g))||(c=a.g,c.j.V?c=!0:(c.f(c.toString()+" not powered"),c=!1),c=!c);return c||a.g.j.K?(b||a.f("cpu busy or unavailable, command ignored"),!1):!Ja(a.g)}l.na=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};l.ea=function(a,b){b&&this.f(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){Ud(this);this.ha=0;this.T=null;this.B=0;this.J=X(this.g.u);this.j.K=!1;Me(this);a||ad(this)};
l.save=function(){var a=new J(this);a.set(0,Rd(this.J));a.set(1,Rd(this.O));a.set(2,[this.u,this.P,this.X]);a.set(3,this.I);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.J=Sd(this,a[b++]),this.O=Sd(this,a[b++]),this.u=a[b][0],"string"==typeof this.u&&(this.u=[this.u]),this.P=a[b][1],this.X|=a[b][2]);a[3]&&(this.I=a[3]);return!0};l.start=function(a,b){this.M||this.f("running");this.j.K=!0;this.ya=a;this.za=b}; l.save=function(){var a=new L(this);a.set(0,Wd(this.J));a.set(1,Wd(this.O));a.set(2,[this.u,this.R,this.X]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.J=Xd(this,a[b++]),this.O=Xd(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[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.M||this.f("running");this.j.K=!0;this.xa=a;this.ya=b};
l.stop=function(a,b){if(this.j.K){this.j.K=!1;this.B=b-this.za;if(!this.M){b="stopped";if(this.B){a-=this.ya;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";pd(this)&&(b+=this.ha+" instructions, ",this.ha=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Na(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}$c(this,!0);ad(this);He(this,this.g.u);this.U=null}};function pd(a){return 1<a.b.length||!!a.ia} l.stop=function(a,b){if(this.j.K){this.j.K=!1;this.B=b-this.ya;if(!this.M){b="stopped";if(this.B){a-=this.xa;var c=0<a?Math.round(1E3*this.B/a):0;b+=" (";qd(this)&&(b+=this.ha+" instructions, ",this.ha=0);b+=this.B+" cycles, "+a+" ms, "+c+" hz)"}else Na(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.f(b)}ad(this,!0);bd(this);Me(this,this.g.u);this.T=null}};function qd(a){return 1<a.b.length||!!a.ia}
function qd(a,b,c){var d=-1;c||(d=a.g.H(b),2756==d>>23&&a.g.qa==b&&(b=od(a.g,1)));if(0<c&&(a.ia&&!--a.ia||Uc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ha++,0>d&&(d=a.g.H(b)),0<=d&&(c=a.i[a.R],c.w=b,c.ma=!1,c.da=void 0,++a.R==a.i.length&&(a.R=0)));return!1} function rd(a,b,c){var d=-1;c||(d=a.g.H(b),2756==d>>23&&a.g.qa==b&&(b=pd(a.g,1)));if(0<c&&(a.ia&&!--a.ia||Vc(a,b,1,a.b)))return!0;0<=c&&a.i.length&&(a.ha++,0>d&&(d=a.g.H(b)),0<=d&&(c=a.i[a.S],c.w=b,c.ma=!1,c.da=void 0,++a.S==a.i.length&&(a.S=0)));return!1}
function Ie(a,b,c,d){var e=X(b.w),g=a.Ca(b,1),f,h,k,m=0,n=g/Lb|0,r;for(r in Je)if(f=Je[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Ke;m=n&3;break;case 32256:k=Le;m=n&7;break;case 29248:k=Me,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Ne&&(k="B");k=Oe[f||0]+k;k=Xa(k,8);f?(k=28700==h?k+N(a,g/Mb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=Vd(g);g=k;f="";h=N(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.Ca(e,1),f+=" "+Vd(k),null== function Ne(a,b,c,d){var e=X(b.w),g=a.Ba(b,1),f,h,k,m=0,n=g/Gb|0,r;for(r in Oe)if(f=Oe[r][n&r]){h=+r;n>>=6;switch(h){case 32512:k=Pe;m=n&3;break;case 32256:k=Qe;m=n&7;break;case 29248:k=Re,m=(n&48)>>2|(n&6)>>1}break}k=k&&k[m]||"";"S"==k&&f>Se&&(k="B");k=Te[f||0]+k;k=Xa(k,8);f?(k=28700==h?k+N(a,g/Hb&127,-1):k+N(a,g>>23&15,-1),k+=",",g&4194304&&(k+="@"),k+=N(a,g&262143,-1),(g=g>>18&15)&&(k+="("+N(a,g,-1)+")")):k+=$d(g);g=k;f="";h=N(a,e.w)+":";if(-1!==e.w&&-1!==b.w){do if(k=a.Ba(e,1),f+=" "+$d(k),null==
e.w)break;while(e.w!=b.w)}h+=Xa(f,16)+g;c&&(h=Xa(h,60)+";"+(c||""),h=a.g.j.Ea?h+("cycles="+cd(a.g).toString()+" cs="+F(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function Od(a){var b,c;a.b=["bp"];if(a.L)for(b=1;b<a.L.length;b++){c=a.L[b];c=Y(c);var d=a.D;Tc(d.b[c>>>d.i],!1)}a.L=["br"];if(a.F)for(b=1;b<a.F.length;b++)c=a.F[b],c=Y(c),d=a.D,Tc(d.b[c>>>d.i],!0);a.F=["bw"];a.qa=0;a.ia=0} e.w)break;while(e.w!=b.w)}h+=Xa(f,16)+g;c&&(h=Xa(h,60)+";"+(c||""),h=a.g.j.Da?h+("cycles="+dd(a.g).toString()+" cs="+F(a.g.sa)):h+(null!=d?"="+d.toString():""));return h}function Td(a){var b,c;a.b=["bp"];if(a.L)for(b=1;b<a.L.length;b++){c=a.L[b];c=Y(c);var d=a.D;Uc(d.b[c>>>d.i],!1)}a.L=["br"];if(a.I)for(b=1;b<a.I.length;b++)c=a.I[b],c=Y(c),d=a.D,Uc(d.b[c>>>d.i],!0);a.I=["bw"];a.qa=0;a.ia=0}
l.Ba=function(a,b,c){var d=!0;c||Pe(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.f("invalid address: "+N(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Ba(e&16383,a==this.F)}}d&&(a.push(b),c?b.ma=!0:(Qe(this,a,a.length-1,"set"),Pd(this)));return d};function Pe(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==Y(h)&&(!d||h.ma)){g=!0;h.ma||e||Qe(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.D,Tc(d.b[c>>>d.i],b==a.F));h.ma||Pd(a);break}}return g} l.Aa=function(a,b,c){var d=!0;c||Ue(this,a,b,!1,!0);if(a!=this.b){var e=Y(b);if(-1===e)this.f("invalid address: "+N(this,b.w)),d=!1;else{var g=this.D;g.b[e>>>g.i].Aa(e&16383,a==this.I)}}d&&(a.push(b),c?b.ma=!0:(Ve(this,a,a.length-1,"set"),Ud(this)));return d};function Ue(a,b,c,d,e){var g=!1;c=Y(c);for(var f=1;f<b.length;f++){var h=b[f];if(c==Y(h)&&(!d||h.ma)){g=!0;h.ma||e||Ve(a,b,f,"cleared");b.splice(f,1);b!=a.b&&(d=a.D,Uc(d.b[c>>>d.i],b==a.I));h.ma||Ud(a);break}}return g}
function Re(a,b){for(var c=1;c<b.length;c++)Qe(a,b,c);return b.length-1}function Qe(a,b,c,d){c=b[c];a.f(b[0]+" "+N(a,c.w)+(d?" "+d:c.Pa?' "'+c.Pa+'"':""))}function He(a,b){if(void 0!==b)Uc(a,b,1,a.b,!0),a.M=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ma){if(!Pe(a,a.b,c,!0))break;b=0}}} function We(a,b){for(var c=1;c<b.length;c++)Ve(a,b,c);return b.length-1}function Ve(a,b,c,d){c=b[c];a.f(b[0]+" "+N(a,c.w)+(d?" "+d:c.Na?' "'+c.Na+'"':""))}function Me(a,b){if(void 0!==b)Vc(a,b,1,a.b,!0),a.M=0;else for(b=1;b<a.b.length;b++){var c=a.b[b];if(c.ma){if(!Ue(a,a.b,c,!0))break;b=0}}}
function Uc(a,b,c,d,e){var g=!1;if(!a.qa++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ma)for(var k=Y(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ma&&(Pe(a,d,h,!0),e=!0);if(n=h.gb){for(var g=!1,r=0;r<n.length;r++)if(!Se(a,n[r],!0)){if(n[r].indexOf("if")){g=!0;break}for(var x=r+1;x<n.length&&n[x].indexOf("else");x++)r++;if(x==n.length){g=!0;break}}a.g.j.K||(g=!0)}if(g){e||Qe(a,d,f,"hit");break}}}a.qa--;return g} function Vc(a,b,c,d,e){var g=!1;if(!a.qa++)for(var f=1;!g&&f<d.length;f++){var h=d[f];if(!e||h.ma)for(var k=Y(h)&(d==a.b?65535:-1),m=0;m<c;m++)if(b+m==k){var n,g=!0;h.ma&&(Ue(a,d,h,!0),e=!0);if(n=h.gb){for(var g=!1,r=0;r<n.length;r++)if(!Xe(a,n[r],!0)){if(n[r].indexOf("if")){g=!0;break}for(var x=r+1;x<n.length&&n[x].indexOf("else");x++)r++;if(x==n.length){g=!0;break}}a.g.j.K||(g=!0)}if(g){e||Ve(a,d,f,"hit");break}}}a.qa--;return g}
function Te(a,b){var c=Wd[b]||"";c&&(c+="="+N(a,a.Xa(b))+" ");return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function yd(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=Za(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({dd:b,w:c,zb:d,V:e,hb:g})} function Ye(a,b){var c=ae[b]||"";c&&(c+="="+N(a,a.Wa(b))+" ");return c}l.jb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};function Dd(a,b,c,d,e){var g=[],f;for(f in e){var h=e[f];"number"==typeof h&&(e[f]=h={o:h});var k=h.o,m=h.a;if(void 0!==k){var n=g,k=[k>>>0,f],r=Za(n,k,a.jb);0>r&&n.splice(-(r+1),0,k)}m&&(h.a=m.replace(/''/g,'"'))}a.F.push({$c:b,w:c,zb:d,U:e,hb:g})}
function Ue(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.I.length;b++){var g=a.I[b],f=g.w>>>0,h=g.zb;if(e>=f&&e<f+h){e=Za(g.hb,[e-f],a.jb);0<=e?Ve(a,b,e,d):c&&(e=~e,Ve(a,b,e-1,d),Ve(a,b,e,d));break}}return d}function Ve(a,b,c,d){var e={},g=a.I[b].hb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.I[b].V[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)} function Ze(a,b,c){var d=[],e=Y(b)>>>0;for(b=0;b<a.F.length;b++){var g=a.F[b],f=g.w>>>0,h=g.zb;if(e>=f&&e<f+h){e=Za(g.hb,[e-f],a.jb);0<=e?$e(a,b,e,d):c&&(e=~e,$e(a,b,e-1,d),$e(a,b,e,d));break}}return d}function $e(a,b,c,d){var e={},g=a.F[b].hb,f=0,h=null;0<=c&&c<g.length&&(f=g[c][0],h=g[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(f);d.push(e.a);d.push(e.c)}
function We(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Md(a)||a.f("no variables"),!0;if(!c[2])return Md(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=Hd(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1} function af(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Rd(a)||a.f("no variables"),!0;if(!c[2])return Rd(a,c[1]);if(!c[3])return delete a.aa[c[1]],!0;b=Md(a,c[3]);return void 0!==b?(a.aa[c[1]]=b,!0):!1}a.f("invalid assignment:"+b);return!1}
function Xe(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Ue(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.w-e[1])&&(f=" + "+F(g,4,!0)),g=e[0]+" ("+N(a,e[1])+")"+f,c&&a.f(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.w)&&(f=" - "+F(g,4,!0)),g=e[4]+" ("+N(a,e[5])+")"+f,c&&a.f(g),d||(d=g))}else c&&a.f("no symbols")}return d} function bf(a,b,c){var d=null;if(b=Z(a,b,!0)){var e=Ze(a,b,!0);if(e.length){var g,f;e[0]&&(f="",(g=b.w-e[1])&&(f=" + "+F(g,4,!0)),g=e[0]+" ("+N(a,e[1])+")"+f,c&&a.f(g),d=g);4<e.length&&e[4]&&(f="",(g=e[5]-b.w)&&(f=" - "+F(g,4,!0)),g=e[4]+" ("+N(a,e[5])+")"+f,c&&a.f(g),d||(d=g))}else c&&a.f("no symbols")}return d}
function Fe(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.g;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)d=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}f=Hd(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":e.u=f%Ib;a.J=X(e.u);break;default:a.f("unknown register: "+ function Ke(a,b){var c;if(b&&"?"==b[1])a.f("register commands:"),a.f("\tr\tdump registers"),a.f("\trm\tdump misc registers"),a.f("\trx [#]\tset flag or register x to [#]");else{var d=!1,e=a.g;null==c&&(c=!0);if(b&&1<b.length){var g=b[1];if("m"==g)d=!0;else{var f=g.indexOf("=");if(0<f)b=g.substr(f+1),g=g.substr(0,f);else if(2<b.length)b=b[2];else{a.f("missing value for "+b[1]);return}f=Md(a,b);if(void 0===f)return;switch(g.toUpperCase()){case "PC":e.u=f%Cb;a.J=X(e.u);break;default:a.f("unknown register: "+
g);return}K(a.C);a.f("updated registers:")}}g=""+(Te(a,Yd)+Te(a,Zd));d&&(g+="\n");a.f(g);c&&(a.J=X(e.u),Ge(a,N(a,a.J.w)))}}function Ye(a,b){b=Ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):Ld(a,null,c[2].charCodeAt(0)):Hd(a,b,!0)} g);return}M(a.C);a.f("updated registers:")}}g=""+(Ye(a,ce)+Ye(a,de));d&&(g+="\n");a.f(g);c&&(a.J=X(e.u),Le(a,N(a,a.J.w)))}}function cf(a,b){b=Ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.f(c[2]):Qd(a,null,c[2].charCodeAt(0)):Md(a,b,!0)}
function Ze(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Jd(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.sa=b;rb(c,function(){return Ma(a,!0)&&ec(a,e,d,!1)},function(){a.ga&&a.ga.stop();K(a.C,-1);Ma(a,!1)})}} function df(a,b,c){if("?"==c)a.f("trace commands:"),a.f("\tt [#]\ttrace # instructions"),a.f("\ttr [#]\ttrace # instructions with register updates"),a.f("\ttc [#]\ttrace # cycles"),a.f("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=Od(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.sa=b;qb(c,function(){return Ma(a,!0)&&ec(a,e,d,!1)},function(){a.ga&&a.ga.stop();M(a.C,-1);Ma(a,!1)})}}
function Ge(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Jd(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.w<b.w)return;e=d.w-b.w;if(256<e){a.f("range too large");return}d=-1}c=0;for(var g;0<e&&d--;){g=La(a,!1)||a.M?a.B:null;var f=null!=g?"cycles":null,h=Ue(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=Ie(a,b,f,g);a.f(g);a.J=b;e-=b.w-k;c++}}} function Le(a,b,c,d){if(b=Z(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=Od(a,c.substr(1)),null!=c&&(d=c);else{d=Z(a,c,!0);if(!d||d.w<b.w)return;e=d.w-b.w;if(256<e){a.f("range too large");return}d=-1}c=0;for(var g;0<e&&d--;){g=La(a,!1)||a.M?a.B:null;var f=null!=g?"cycles":null,h=Ze(a,b),k=b.w;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.f(m)}h[3]&&(f=h[3],g=null);g=Ne(a,b,f,g);a.f(g);a.J=b;e-=b.w-k;c++}}}
function Se(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Ee+b):(a.P&&(a.f("ended assemble at "+N(a,a.O.w)),a.J=a.O,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.U=null;if(Ka(a)&&0<b.length){a.P&&(b="a "+N(a,a.O.w)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var r= function Xe(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.f(Je+b):(a.R&&(a.f("ended assemble at "+N(a,a.O.w)),a.J=a.O,a.R=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.T=null;if(Ka(a)&&0<b.length){a.R&&(b="a "+N(a,a.O.w)+" "+b);var g=!1,f=b.replace(/ +/g," ").split(" ");f[0]=f[0].toLowerCase();if(f&&f.length)for(var h=f[0],k=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==k||"r"==k||"a">n||"z"<n){f[0]=h.substr(m);f.unshift(h.substr(0,m));break}}switch(f[0].charAt(0)){case "a":var r=
Z(a,f[1],!0);if(r)if(a.O=r,void 0===f[2])a.f("begin assemble at "+N(a,r.w)),a.P=!0,K(a.C);else{var x;a.f("not supported yet");x=[];if(x.length){for(var S=0;S<x.length;S++)a.$a(r,x[S],1);a.f(Ie(a,a.O))}}break;case "b":a:{var Bf=f[0],Ea=f[1],Cf=b;if("?"==Ea)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)"); Z(a,f[1],!0);if(r)if(a.O=r,void 0===f[2])a.f("begin assemble at "+N(a,r.w)),a.R=!0,M(a.C);else{var x;a.f("not supported yet");x=[];if(x.length){for(var R=0;R<x.length;R++)a.$a(r,x[R],1);a.f(Ne(a,a.O))}}break;case "b":a:{var Gf=f[0],Da=f[1],Hf=b;if("?"==Da)a.f("breakpoint commands:"),a.f("\tbp #\tset exec breakpoint"),a.f("\tbr #\tset read breakpoint"),a.f("\tbw #\tset write breakpoint"),a.f("\tbc #\tclear breakpoint (* to clear all)"),a.f("\tbl\tlist all breakpoints"),a.f("\tbn [#]\tbreak after # instruction(s)");
else{var ma=Bf.charAt(1);if("l"==ma){var rc;rc=0+Re(a,a.b);rc+=Re(a,a.L);(rc+=Re(a,a.F))||a.f("no breakpoints")}else if("n"==ma){var be=+Ea||0;Ea&&(a.ia=be);a.f("break after "+be+" instruction(s)")}else if(void 0===Ea)a.f("missing breakpoint address");else{var G=X();if("*"!=Ea&&(G=Z(a,Ea,!0),!G))break a;"c"==ma?null==G.w?(Od(a),a.f("all breakpoints cleared")):Pe(a,a.b,G)||Pe(a,a.L,G)||Pe(a,a.F,G)||a.f("breakpoint missing: "+N(a,G.w)):null!=G.w&&(Ud(a,G,Cf),"p"==ma?a.Ba(a.b,G):"r"==ma?a.Ba(a.L,G): else{var ma=Gf.charAt(1);if("l"==ma){var wc;wc=0+We(a,a.b);wc+=We(a,a.L);(wc+=We(a,a.I))||a.f("no breakpoints")}else if("n"==ma){var fe=+Da||0;Da&&(a.ia=fe);a.f("break after "+fe+" instruction(s)")}else if(void 0===Da)a.f("missing breakpoint address");else{var G=X();if("*"!=Da&&(G=Z(a,Da,!0),!G))break a;"c"==ma?null==G.w?(Td(a),a.f("all breakpoints cleared")):Ue(a,a.b,G)||Ue(a,a.L,G)||Ue(a,a.I,G)||a.f("breakpoint missing: "+N(a,G.w)):null!=G.w&&(Zd(a,G,Hf),"p"==ma?a.Aa(a.b,G):"r"==ma?a.Aa(a.L,G):
"w"==ma?a.Ba(a.F,G):a.f("unknown breakpoint command: "+ma))}}}break;case "c":a.la&&(a.la.value="");break;case "d":a:{var Fa,Ga=f[0],T=f[1],ea=f[2],Df=f[3];if("?"==T){var Ha="";for(Fa in I)a.pa[Fa]&&(Ha&&(Ha+=","),Ha+=Fa);Ha+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ha.length&&a.f("dump extension commands:\n\t"+Ha)}else if("state"== "w"==ma?a.Aa(a.I,G):a.f("unknown breakpoint command: "+ma))}}}break;case "c":a.la&&(a.la.value="");break;case "d":a:{var Ea,Fa=f[0],S=f[1],da=f[2],If=f[3];if("?"==S){var Ga="";for(Ea in J)a.pa[Ea]&&(Ga&&(Ga+=","),Ga+=Ea);Ga+=",state,symbols";a.f("dump memory commands:");a.f("\tdw [a] [n] dump n words at address a");a.f("\tds [a] [n] dump n words at address a as JSON");a.f("\tdh [p] [n] dump n instructions from history position p");Ga.length&&a.f("dump extension commands:\n\t"+Ga)}else if("state"==
T){var sc=$e(a.C,!0);"console"==ea?console.log(sc):(a.la&&(a.la.value=""),sc&&a.f(sc))}else if("symbols"==T)for(var tc=0;tc<a.I.length;tc++){var uc=a.I[tc],Ia;for(Ia in uc.V)if("."!=Ia.charAt(0)){var ce=uc.V[Ia].o;if(void 0!==ce){var de=uc.V[Ia].l;de&&(Ia=de);a.f(N(a,ce)+" "+Ia)}}}else{if("d"==Ga){for(Fa in I)if(f[1]==Fa){var ee=a.pa[Fa];ee?(f.shift(),f.shift(),ee(f)):a.f("no dump registered for "+T);break a}T||(Ga=a.Da||"dw")}else a.Da=Ga;if("dh"==Ga){var fe=T,ge=ea,he="",ie=0,P=a.R,U=a.i;if(U.length){var L= S){var xc=ef(a.C,!0);"console"==da?console.log(xc):(a.la&&(a.la.value=""),xc&&a.f(xc))}else if("symbols"==S)for(var yc=0;yc<a.F.length;yc++){var zc=a.F[yc],Ha;for(Ha in zc.U)if("."!=Ha.charAt(0)){var ge=zc.U[Ha].o;if(void 0!==ge){var he=zc.U[Ha].l;he&&(Ha=he);a.f(N(a,ge)+" "+Ha)}}}else{if("d"==Fa){for(Ea in J)if(f[1]==Ea){var ie=a.pa[Ea];ie?(f.shift(),f.shift(),ie(f)):a.f("no dump registered for "+S);break a}S||(Fa=a.Ca||"dw")}else a.Ca=Fa;if("dh"==Fa){var je=S,ke=da,le="",me=0,O=a.S,T=a.i;if(T.length){var K=
+fe||a.ra,$a=+ge||10;isNaN(L)?L=$a:he="more ";L>U.length&&(a.f("note: only "+U.length+" available"),L=U.length);P-=L;0>P&&(null==U[U.length-1].w?(L=P+L,P=0):P+=U.length);var vc=[];"call"==ge&&($a=1E5,vc=["CALL"]);for(void 0!==fe&&a.f(L+" instructions earlier:");0<$a&&P!=a.R;){var je=U[P++];if(null==je.w)break;var ab=X(je.w),Ef=L--,ke=Ie(a,ab,"history",Ef);(!vc.length||0<=ke.indexOf(vc[0]))&&a.f(ke);ab.Wa&&(P+=ab.Wa,$a-=ab.Wa,L-=ab.Wa);P>=U.length&&(P=0);a.ra=L;ie++;$a--}}ie||(a.f("no "+he+"history available"), +je||a.ra,$a=+ke||10;isNaN(K)?K=$a:le="more ";K>T.length&&(a.f("note: only "+T.length+" available"),K=T.length);O-=K;0>O&&(null==T[T.length-1].w?(K=O+K,O=0):O+=T.length);var Ac=[];"call"==ke&&($a=1E5,Ac=["CALL"]);for(void 0!==je&&a.f(K+" instructions earlier:");0<$a&&O!=a.S;){var ne=T[O++];if(null==ne.w)break;var ab=X(ne.w),Jf=K--,oe=Ne(a,ab,"history",Jf);(!Ac.length||0<=oe.indexOf(Ac[0]))&&a.f(oe);ab.Ua&&(O+=ab.Ua,$a-=ab.Ua,K-=ab.Ua);O>=T.length&&(O=0);a.ra=K;me++;$a--}}me||(a.f("no "+le+"history available"),
a.ra=void 0)}else{var na=Z(a,T);if(na){var oa=0,le="ds"==Ga;if(ea){if("l"==ea.charAt(0))ea=ea.substr(1)||Df,oa=Jd(a,ea);else{var me=Z(a,ea);me&&(oa=me.w-na.w)}0>oa&&(oa=0);65536<oa&&(oa=65536)}var Ff=a.da;na.da&&(a.da=na.da);for(var ne="db"==Ga?1:2,wc=oa||32,xc=1==ne?2:4,Gf=(wc+xc-1)/xc|0||1,pa="";Gf--&&0<wc;){for(var qa="",oe="",T=N(a,na.w),pe=xc;0<pe--&&0<wc--;){var Db=a.Ca(na,1);le?(qa&&(qa+=","),qa+=Db):(qa+=Vd(Db),qa+=" ");for(var qe=0;1==ne&&6>qe;qe++)oe+=String.fromCharCode((Db%64|0)+32), a.ra=void 0)}else{var na=Z(a,S);if(na){var oa=0,pe="ds"==Fa;if(da){if("l"==da.charAt(0))da=da.substr(1)||If,oa=Od(a,da);else{var qe=Z(a,da);qe&&(oa=qe.w-na.w)}0>oa&&(oa=0);65536<oa&&(oa=65536)}var Kf=a.da;na.da&&(a.da=na.da);for(var re="db"==Fa?1:2,Bc=oa||32,Cc=1==re?2:4,Lf=(Bc+Cc-1)/Cc|0||1,pa="";Lf--&&0<Bc;){for(var qa="",se="",S=N(a,na.w),te=Cc;0<te--&&0<Bc--;){var Ib=a.Ba(na,1);pe?(qa&&(qa+=","),qa+=Ib):(qa+=$d(Ib),qa+=" ");for(var ue=0;1==re&&6>ue;ue++)se+=String.fromCharCode((Ib%64|0)+32),
Db/=64}pa&&(pa+="\n");pa=le?pa+(qa+","):pa+(T+": "+qa+(0>pe?" "+oe:""))}pa&&a.f(pa);a.ua=na;a.da=Ff}}}}break;case "e":if("else"==f[0])break;var re,se,te=f[0],yc=f[1];"e"==te||"ew"==te?(re=a.Ca,se=a.$a):yc=null;if(null==yc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Eb=Z(a,yc);if(Eb)for(var Fb=2;Fb<f.length;Fb++){var zc=Hd(a,f[Fb]);if(void 0===zc){a.f("unrecognized value: "+f[Fb]);break}a.f("changing "+N(a,Eb.w)+" from "+Vd(re.call(a,Eb))+" to "+Vd(zc));se.call(a, Ib/=64}pa&&(pa+="\n");pa=pe?pa+(qa+","):pa+(S+": "+qa+(0>te?" "+se:""))}pa&&a.f(pa);a.ua=na;a.da=Kf}}}}break;case "e":if("else"==f[0])break;var ve,we,xe=f[0],Dc=f[1];"e"==xe||"ew"==xe?(ve=a.Ba,we=a.$a):Dc=null;if(null==Dc)a.f("edit memory commands:"),a.f("\tew [a] [...] edit words at address a");else{var Jb=Z(a,Dc);if(Jb)for(var Kb=2;Kb<f.length;Kb++){var Ec=Md(a,f[Kb]);if(void 0===Ec){a.f("unrecognized value: "+f[Kb]);break}a.f("changing "+N(a,Jb.w)+" from "+$d(ve.call(a,Jb))+" to "+$d(Ec));we.call(a,
Eb,zc,1)}}break;case "g":a:{var ue=f[1],Hf=b;if(void 0!==ue){var Ac=Z(a,ue,!0);if(!Ac)break a;Ud(a,Ac,Hf);a.Ba(a.b,Ac,!0)}ae(a,!0,c)}break;case "h":a.j.K?(c||a.f("halting"),a.S()):La(a,!0)||c||a.f("already halted");break;case "i":if("if"==f[0]){var Bc;var bb=b.substr(2),bb=Ya(bb);Hd(a,bb)?(c||a.f("true: "+bb),Bc=!0):(c||a.f("false: "+bb),Bc=!1);Bc||(d=!1);break}g=!0;break;case "k":var If=f[0];if("?"==f[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information"); Jb,Ec,1)}}break;case "g":a:{var ye=f[1],Mf=b;if(void 0!==ye){var Fc=Z(a,ye,!0);if(!Fc)break a;Zd(a,Fc,Mf);a.Aa(a.b,Fc,!0)}Ge(a,!0,c)}break;case "h":a.j.K?(c||a.f("halting"),a.W()):La(a,!0)||c||a.f("already halted");break;case "i":if("if"==f[0]){var Gc;var bb=b.substr(2),bb=Ya(bb);Md(a,bb)?(c||a.f("true: "+bb),Gc=!0):(c||a.f("false: "+bb),Gc=!1);Gc||(d=!1);break}g=!0;break;case "k":var Nf=f[0];if("?"==f[1])a.f("stack trace commands:"),a.f("\tk\tshow frame addresses"),a.f("\tks\tshow symbol information");
else{var Cc=0,Dc=X(),cb=X();for(a.f("stack trace for "+N(a,cb.w));10>Cc;){for(var ra=null,Jf=256;65536>cb.w>>>0;){Dc.w=a.Ca(cb,2);if(null==cb.w||!Jf--)break;if(!(Dc.w&1)){for(var Kf=a,Gb=Dc,ve=null,db=Gb.w,we=db,Ec=1;6>=Ec&&db;Ec++){if(2<Ec){Gb.w=db;var Hb=Ie(Kf,Gb);if(0<=Hb.indexOf("JSR")){var xe=Hb.indexOf(" ");if(db+(Hb.indexOf(" ",xe+1)-xe-1)/2==we){ve=Hb;break}}}db-=2}Gb.w=we;if(ra=ve)break}}if(!ra||null==ra)break;var ye=null;if("ks"==If){var ze=ra.match(/[0-9A-F]+$/);ze&&(ye=Xe(a,ze[0]))}ra= else{var Hc=0,Ic=X(),cb=X();for(a.f("stack trace for "+N(a,cb.w));10>Hc;){for(var ra=null,Of=256;65536>cb.w>>>0;){Ic.w=a.Ba(cb,2);if(null==cb.w||!Of--)break;if(!(Ic.w&1)){for(var Pf=a,Lb=Ic,ze=null,db=Lb.w,Ae=db,Jc=1;6>=Jc&&db;Jc++){if(2<Jc){Lb.w=db;var Mb=Ne(Pf,Lb);if(0<=Mb.indexOf("JSR")){var Be=Mb.indexOf(" ");if(db+(Mb.indexOf(" ",Be+1)-Be-1)/2==Ae){ze=Mb;break}}}db-=2}Lb.w=Ae;if(ra=ze)break}}if(!ra||null==ra)break;var Ce=null;if("ks"==Nf){var De=ra.match(/[0-9A-F]+$/);De&&(Ce=bf(a,De[0]))}ra=
Xa(ra,50)+" ;"+(ye||"stack="+N(a,cb.w));a.f(ra);Cc++}Cc||a.f("no return addresses found")}break;case "l":if("ln"==f[0]){Xe(a,f[1],!0);break}g=!0;break;case "m":a:{var V,W=null,z=f[1];"?"==z&&(z=void 0);if(void 0!==z){var fa=0;if("all"==z)fa=1879046143,z=null;else if("on"==z)W=!0,z=null;else if("off"==z)W=!1,z=null;else{"keys"==z&&(z="key");"kbd"==z&&(z="keyboard");for(V in I)if(z==V){fa=I[V];W=!!(a.X&fa);break}if(!fa){a.f("unknown message category: "+z);break a}}if(fa)if("on"==f[2])a.X|=fa,W=!0; Xa(ra,50)+" ;"+(Ce||"stack="+N(a,cb.w));a.f(ra);Hc++}Hc||a.f("no return addresses found")}break;case "l":if("ln"==f[0]){bf(a,f[1],!0);break}g=!0;break;case "m":a:{var U,V=null,z=f[1];"?"==z&&(z=void 0);if(void 0!==z){var ea=0;if("all"==z)ea=1879046143,z=null;else if("on"==z)V=!0,z=null;else if("off"==z)V=!1,z=null;else{"keys"==z&&(z="key");"kbd"==z&&(z="keyboard");for(U in J)if(z==U){ea=J[U];V=!!(a.X&ea);break}if(!ea){a.f("unknown message category: "+z);break a}}if(ea)if("on"==f[2])a.X|=ea,V=!0;
else if("off"==f[2]&&(a.X&=~fa,W=!1,1073741824==fa)){for(var Ae=1E3<=a.N.length?a.N.length-1E3:0;Ae<a.N.length;)a.f(a.N[Ae++]);a.N=[]}}var Lf=0,eb="";for(V in I)if(!z||z==V){var Mf=!!(a.X&I[V]);if(null===W||W==Mf)eb&&(eb+=","),++Lf%10||(eb+="\n\t"),"key"==V&&(V="keys"),eb+=V}void 0===z&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==W?W?"messages on: ":"messages off: ":"message categories:\n\t")+(eb||"none"));Pd(a)}break;case "p":if("print"==f[0]){Ye(a,b.substr(5)); else if("off"==f[2]&&(a.X&=~ea,V=!1,1073741824==ea)){for(var Ee=1E3<=a.N.length?a.N.length-1E3:0;Ee<a.N.length;)a.f(a.N[Ee++]);a.N=[]}}var Qf=0,eb="";for(U in J)if(!z||z==U){var Rf=!!(a.X&J[U]);if(null===V||V==Rf)eb&&(eb+=","),++Qf%10||(eb+="\n\t"),"key"==U&&(U="keys"),eb+=U}void 0===z&&a.f("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.f((null!==V?V?"messages on: ":"messages off: ":"message categories:\n\t")+(eb||"none"));Ud(a)}break;case "p":if("print"==f[0]){cf(a,b.substr(5));
break}var Nf=f[0];if("?"==f[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var Of="pr"==Nf?1:0;if(a.M)a.f("step in progress");else{var Be=X(a.g.u);a.Ca(Be);a.M?(a.Ba(a.b,Be,!0),ae(a)||(a.C&&gd(a.C),a.M=0)):Ze(a,Of?"tr":"t")}}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Fe(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var fb=+f[2];if(8==fb||10==fb||16==fb)a.da=fb;else{a.f("invalid base: "+fb);break}}a.f("default base: "+ break}var Sf=f[0];if("?"==f[1])a.f("step commands:"),a.f("\tp\tstep over instruction"),a.f("\tpr\tstep over instruction with register update");else{var Tf="pr"==Sf?1:0;if(a.M)a.f("step in progress");else{var Fe=X(a.g.u);a.Ba(Fe);a.M?(a.Aa(a.b,Fe,!0),Ge(a)||(a.C&&hd(a.C),a.M=0)):df(a,Tf?"tr":"t")}}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Ke(a,f);break;case "s":a:switch(f[1]){case "base":if(f[2]){var fb=+f[2];if(8==fb||10==fb||16==fb)a.da=fb;else{a.f("invalid base: "+fb);break}}a.f("default base: "+
a.da);break;case "cs":var gb;void 0!==f[3]&&(gb=+f[3]);switch(f[2]){case "int":a.g.ca=gb;break;case "start":a.g.ta=gb;break;case "stop":a.g.ha=gb;break;default:a.f("unknown cs option");break a}void 0!==gb&&Zc(a.g);a.f("checksums "+(a.g.j.Ea?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(dd(a.g,+f[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.g.R.toFixed(2)+"Mhz")+" ("+a.g.U+"x)");break;default:if(f[1]){a.f("unknown option: "+f[1]);break}case "?":a.f("debugger options:"), a.da);break;case "cs":var gb;void 0!==f[3]&&(gb=+f[3]);switch(f[2]){case "int":a.g.ca=gb;break;case "start":a.g.ta=gb;break;case "stop":a.g.ha=gb;break;default:a.f("unknown cs option");break a}void 0!==gb&&$c(a.g);a.f("checksums "+(a.g.j.Da?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(ed(a.g,+f[2])||a.f("warning: using 1x multiplier, previous target not reached"));a.f("target speed: "+(a.g.S.toFixed(2)+"Mhz")+" ("+a.g.T+"x)");break;default:if(f[1]){a.f("unknown option: "+f[1]);break}case "?":a.f("debugger options:"),
a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":Ze(a,f[0],f[1]);break;case "u":Ge(a,f[1],f[2],8);break;case "v":if("var"==f[0]){We(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.f((Cb||"PDP10")+" version 1.34.0 ("+a.g.eb+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}g=!0; a.f("\tbase #\t\tset default base to #"),a.f("\tcs int #\tset checksum cycle interval to #"),a.f("\tcs start #\tset checksum cycle start count to #"),a.f("\tcs stop #\tset checksum cycle stop count to #"),a.f("\tsp #\t\tset speed multiplier to #")}break;case "t":df(a,f[0],f[1]);break;case "u":Le(a,f[1],f[2],8);break;case "v":if("var"==f[0]){af(a,b.substr(3))||(d=!1);break}if("ver"==f[0]){a.f((Bb||"PDP10")+" version 1.34.0 ("+a.g.eb+",RELEASE)");a.f(window?window.navigator.userAgent:"");break}g=!0;
break;case "?":if(f[1]){Ye(a,b.substr(1));break}var Fc="commands:",Gc;for(Gc in af)Fc+="\n"+Xa(Gc,9)+af[Gc];pd(a)||(Fc+="\nnote: history disabled if no exec breakpoints");a.f(Fc);break;default:g=!0}g&&(a.f("unknown command: "+b),d=!1)}}catch(De){a.f("debugger error: "+(De.stack||De.message)),d=!1}return d}function bd(a,b,c){b=Fd(a,b,c);for(var d in b)if(!Se(a,b[+d]))return!1;return!0} break;case "?":if(f[1]){cf(a,b.substr(1));break}var Kc="commands:",Lc;for(Lc in ff)Kc+="\n"+Xa(Lc,9)+ff[Lc];qd(a)||(Kc+="\nnote: history disabled if no exec breakpoints");a.f(Kc);break;default:g=!0}g&&(a.f("unknown command: "+b),d=!1)}}catch(He){a.f("debugger error: "+(He.stack||He.message)),d=!1}return d}function cd(a,b,c){b=Kd(a,b,c);for(var d in b)if(!Xe(a,b[+d]))return!1;return!0}
var af={"?":"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"},Ne=20,Oe=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOV 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 CA 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".split(" "), var ff={"?":"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"},Se=20,Te=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOV 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 CA 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".split(" "),
Xd=0,Yd=1,Zd=2,Wd=["PC","RA","EA"],bf={},Je=(bf[28672]={0:101},bf[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:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},bf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Ne,9216:53,9472:52,9728:55,9984:54,11776:50,12032:51,16384:30, be=0,ce=1,de=2,ae=["PC","RA","EA"],gf={},Oe=(gf[28672]={0:101},gf[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:85,11136:83,11264:91,11328:23,11392:24,11456:92,11520:86,11584:87,11648:89,11712:90},gf[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Se,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},bf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},bf[29248]={24576:79,24640:80,25088:81,25152:82},bf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,28692:98,28696:99,28700:100},bf),Ke=["","I", 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},gf[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},gf[29248]={24576:79,24640:80,25088:81,25152:82},gf[28700]={28672:93,28676:94,28680:95,28684:96,28688:97,28692:98,28696:99,28700:100},gf),Pe=["","I",
"M","S"],Le=" L E LE A GE N G".split(" "),Me="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),$d=1E3,Ee=">> ";ub(function(){for(var a=D(document,C,"debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Nd(d);B(d,c)}}); "M","S"],Qe=" L E LE A GE N G".split(" "),Re="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),ee=1E3,Je=">> ";tb(function(){for(var a=D(document,C,"debugger"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Sd(d);B(d,c)}});
function cf(a,b,c){t.call(this,"Computer",a,33554432);this.j.W=!1;this.P=null;df(this,b);this.N=Xc(this,"autoPower",a,6);this.v=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.J=this.U=!1;this.I=this.B=null;this.R=this.O=!1;this.ca=Xc(this,"url")||"";(Math.random()+.1).toString(36);this.i=ef(this);if(this.g=y("CPU",this.id)){this.A=y("Debugger",this.id);this.D=new lc({id:this.La+".bus",busWidth:this.aa},this.g,this.A);var d,e=w(this.id);if((this.u=y("Panel",this.id))&&this.u.la)for(b= function hf(a,b,c){t.call(this,"Computer",a,33554432);this.j.V=!1;this.R=null;jf(this,b);this.N=Yc(this,"autoPower",a,6);this.v=0;this.aa=+a.busWidth||+a.buswidth;this.L=this.F=this.M=null;this.J=this.T=!1;this.I=this.B=null;this.S=this.O=!1;this.ca=Yc(this,"url")||"";(Math.random()+.1).toString(36);this.i=kf(this);if(this.g=y("CPU",this.id)){this.A=y("Debugger",this.id);this.D=new lc({id:this.Ka+".bus",busWidth:this.aa},this.g,this.A);var d,e=w(this.id);if((this.u=y("Panel",this.id))&&this.u.la)for(b=
0;b<e.length;b++)d=e[b],d.ba=this.u.ba,d.f=this.u.f,d.la=this.u.la;this.f(Cb+" v1.34.0\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.va&&d.va(this,this.D,this.g,this.A);b=null;d=Xc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var g;if(a=Xc(this,"state")||(g=!0,a.state))this.M=b=a,g||(this.J=!0,this.b=ff),this.b&&(this.I=new J(this,"1.34.0"),gf(this.I)?b=null: 0;b<e.length;b++)d=e[b],d.ba=this.u.ba,d.f=this.u.f,d.la=this.u.la;this.f(Bb+" v1.34.0\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.va&&d.va(this,this.D,this.g,this.A);b=null;d=Yc(this,"resume",a);void 0!==d&&(1<d.length?b=this.F=d:this.b=parseInt(d,10));var g;if(a=Yc(this,"state")||(g=!0,a.state))this.M=b=a,g||(this.J=!0,this.b=lf),this.b&&(this.I=new L(this,"1.34.0"),mf(this.I)?b=null:
delete this.I);!b&&this.b&&(b=hf(this))&&(this.J=!0);if(b){var f=this;ib(b,null,!0,function(a,b,c){c?(f.F=null,f.J=!1,f.ba("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(f.L=b,f.U=!0);E(f)})}else E(this);this.G.power||(this.N=!0);!c&&this.N&&jf(this,this.Ga)}else v("Unable to find CPU component")}p(cf,t);function df(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.P=b} delete this.I);!b&&this.b&&(b=nf(this))&&(this.J=!0);if(b){var f=this;H(b,null,!0,function(a,b,c){c?(f.F=null,f.J=!1,f.ba("Unable to load machine state from server (error "+c+(b?": "+Ya(b):"")+")")):(f.L=b,f.T=!0);E(f)})}else E(this);this.G.power||(this.N=!0);!c&&this.N&&of(this,this.Fa)}else v("Unable to find CPU component")}p(hf,t);function jf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){v(d.message+" ("+c+")")}}a.R=b}
function Xc(a,b,c,d){var e=b.toLowerCase(),e=pb(b)||pb(e);void 0===e&&a.P&&(e=a.P[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 jf(a,b,c){for(var d=w(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Ka(g)){Ka(g,function(){jf(a,b,c)});return}}b.call(a,c)} function Yc(a,b,c,d){var e=b.toLowerCase(),e=ob(b)||ob(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 of(a,b,c){for(var d=w(a.id),e=0;e<=d.length;e++){var g=e<d.length?d[e]:a;if(!Ka(g)){Ka(g,function(){of(a,b,c)});return}}b.call(a,c)}
function kf(a,b){var c=new J(a,"1.34.0",lf);if(gf(c)&&mf(c)){var d=c.get(nf),e=b?b.get(nf):"unknown";d!=e&&(a.ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=cf.prototype; function pf(a,b){var c=new L(a,"1.34.0",qf);if(mf(c)&&rf(c)){var d=c.get(sf),e=b?b.get(sf):"unknown";d!=e&&(a.ba("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=hf.prototype;
l.Ga=function(a){void 0===a&&(a=this.b||(this.L?of:ff));if(!this.v){this.v++;var b=!1,c=!1;this.O=!1;var d=this.I||new J(this,"1.34.0");if(a==pf)b=!0;else if(a>ff){if(gf(d,this.L)){this.B=new J(this,"1.34.0",qf);gf(this.B)&&(rf(this,d),a=sf,tf(this.B));this.B.set(nf,hb());uf(this.B);var e=this.b&&!this.J;if(a==of||wa("Click OK to restore the previous "+Cb+" machine state, or CANCEL to reset the machine.")){if(c=mf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?gf(d,f):("error"==g&&"no machine state"!= l.Fa=function(a){void 0===a&&(a=this.b||(this.L?tf:lf));if(!this.v){this.v++;var b=!1,c=!1;this.O=!1;var d=this.I||new L(this,"1.34.0");if(a==uf)b=!0;else if(a>lf){if(mf(d,this.L)){this.B=new L(this,"1.34.0",vf);mf(this.B)&&(wf(this,d),a=xf,yf(this.B));this.B.set(sf,hb());zf(this.B);var e=this.b&&!this.J;if(a==tf||wa("Click OK to restore the previous "+Bb+" machine state, or CANCEL to reset the machine.")){if(c=rf(d)){var g=d.get("code"),f=d.get("data");g&&("ok"==g?mf(d,f):("error"==g&&"no machine state"!=
f?(this.ba("Error: "+f),"unable to verify user"==f&&(nb(vf,""),this.i=null)):this.f(g+": "+f),tf(d),gf(d)?(c=mf(d),e=!0):c=!1))}e&&kf(this,c?d:null)}else a==sf&&d.clear()}else kf(this);delete this.L;delete this.I}e=w(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.g&&(c=wf(this,f,d,b,c));b=[d,a,c];a!=pf?jf(this,this.kb,b):this.kb(b)}}; f?(this.ba("Error: "+f),"unable to verify user"==f&&(mb(Af,""),this.i=null)):this.f(g+": "+f),yf(d),mf(d)?(c=rf(d),e=!0):c=!1))}e&&pf(this,c?d:null)}else a==xf&&d.clear()}else pf(this);delete this.L;delete this.I}e=w(this.id);for(g=0;g<e.length;g++)f=e[g],f!==this&&f!=this.g&&(c=Bf(this,f,d,b,c));b=[d,a,c];a!=uf?of(this,this.kb,b):this.kb(b)}};
function wf(a,b,c,d,e){if(!b.j.W){b.j.W=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.na(g,d)&&g&&(v("Unable to restore state for "+b.type),a.M&&!a.U?(c.clear(),a.b=ff,window&&window.location.reload()):a.O=!0,b.na(null),e=!1),!d&&b.cb){var f=b.cb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){v("Error restoring state for "+b.type+" ("+h.message+")")}}return e} function Bf(a,b,c,d,e){if(!b.j.V){b.j.V=!0;var g=null;try{if(e&&((g=c.get(b.id))||(g=c.get(b.id.replace(/[a-z0-9]\./i,".")))),"string"===typeof g&&(g=null),!b.na(g,d)&&g&&(v("Unable to restore state for "+b.type),a.M&&!a.T?(c.clear(),a.b=lf,window&&window.location.reload()):a.O=!0,b.na(null),e=!1),!d&&b.cb){var f=b.cb.split("|");for(a=0;a<f.length;a++)b.status(f[a])}}catch(h){v("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
l.kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.j.W=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&(wf(this,this.g,b,c,a),K(this,-2),this.g.Z());this.O&&(rf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0}; l.kb=function(a){var b=a[0],c=0>a[1];a=a[2];this.S=!0;this.j.V=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.g&&(Bf(this,this.g,b,c,a),M(this,-2),this.g.Z());this.O&&(wf(this,b),b.clear());!c&&this.B&&(this.B.clear(),delete this.B);this.v=0};
function rf(a,b){if(wa("There may be a problem with your "+Cb+" machine.\n\nTo help us diagnose it, click OK to send this "+Cb+" machine state to http://www.pcjs.org.")){var c=a.ca;a=a.i||"";b=b.toString();var d={};d.app=Cb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;ib("http://www.pcjs.org/api/v1/report",d,!0)}} function wf(a,b){if(wa("There may be a problem with your "+Bb+" machine.\n\nTo help us diagnose it, click OK to send this "+Bb+" machine state to http://www.pcjs.org.")){var c=a.ca;a=a.i||"";b=b.toString();var d={};d.app=Bb;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}}
function $e(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new J(a,"1.34.0"),f=new J(a,"1.34.0",lf),h=hb();f.set(nf,h);g.set(nf,h);g.set(xf,"1.34.0");g.set(yf,window?window.location.href:null);g.set(zf,window?window.navigator.userAgent:"");a.g&&a.g.ea&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.S()),d=a.g.ea(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.W=!1,!1===d&&(e=null)));for(var h=w(a.id),k=0;k<h.length;k++){var m=h[k];m.j.W&&(m.ea&&(d=m.ea(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.j.W= function ef(a,b,c){var d,e="none";if(a.v)return null;a.v--;var g=new L(a,"1.34.0"),f=new L(a,"1.34.0",qf),h=hb();f.set(sf,h);g.set(sf,h);g.set(Cf,"1.34.0");g.set(Df,window?window.location.href:null);g.set(Ef,window?window.navigator.userAgent:"");a.g&&a.g.ea&&(c&&(b&&(a.g.j.Z=a.g.j.K),a.g.W()),d=a.g.ea(b,c),"object"===typeof d&&g.set(a.g.id,d),c&&(a.g.j.V=!1,!1===d&&(e=null)));for(var h=w(a.id),k=0;k<h.length;k++){var m=h[k];m.j.V&&(m.ea&&(d=m.ea(b,c),"object"===typeof d&&g.set(m.id,d)),c&&(m.j.V=
!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Af(a,a.i,g.toString()),uf(f)&&uf(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Pf),d&&g.clear(h)):e=g.toString());c&&(a.j.W=!1,b=a.G.power)&&(b.textContent="Power");a.v=0;return e} !1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.i&&Ff(a,a.i,g.toString()),zf(f)&&zf(g)||(e=null,d=h=!0)):a.b&&(d=!0,h=a.b==Uf),d&&g.clear(h)):e=g.toString());c&&(a.j.V=!1,b=a.G.power)&&(b.textContent="Power");a.v=0;return e}
l.reset=function(){this.j.reset=!0;this.D&&this.D.reset&&(Oa(this,"Resetting "+this.D.type),this.D.reset());this.g&&this.g.reset&&(Oa(this,"Resetting "+this.g.type),this.g.reset());for(var a=w(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.g&&c.reset&&(Oa(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;K(this,-1)};l.start=function(a,b){for(var c=w(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}K(this,-1)}; l.reset=function(){this.j.reset=!0;this.D&&this.D.reset&&(Oa(this,"Resetting "+this.D.type),this.D.reset());this.g&&this.g.reset&&(Oa(this,"Resetting "+this.g.type),this.g.reset());for(var a=w(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.D&&c!==this.g&&c.reset&&(Oa(this,"Resetting "+c.type),c.reset())}this.j.reset=!1;M(this,-1)};l.start=function(a,b){for(var c=w(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}M(this,-1)};
l.stop=function(a,b){for(var c=w(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}K(this,-1)}; l.stop=function(a,b){for(var c=w(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}M(this,-1)};
function K(a,b){if(a.g){var c=a.g,d=b||0,e=c.G.speed;e&&(0>=d||30<=(c.Da+=d))&&(e.textContent=c.j.K?c.P.toFixed(2)+"Mhz":"Stopped",c.Da=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.J+=b)){e=a.g.u;if(a.G.PC){var g=a.A&&a.A.da||8,e=e||0,e=8==g?Qa(e,void 0):F(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.J=0}-1>b?a.i=a.g.u:0<b&&c&&!d&&(a.i=a.g.pa);Wb(a,a.i);Qb(a,a.v)}} function M(a,b){if(a.g){var c=a.g,d=b||0,e=c.G.speed;e&&(0>=d||30<=(c.Ca+=d))&&(e.textContent=c.j.K?c.R.toFixed(2)+"Mhz":"Stopped",c.Ca=0)}if(a.u&&(a=a.u,b=b||0,a.L)){c=a.g.j.K;d=!!(a.g.v&8);if(0>=b||60<=(a.J+=b)){e=a.g.u;if(a.G.PC){var g=a.A&&a.A.da||8,e=e||0,e=8==g?Qa(e,void 0):F(e,void 0);a.G.PC.textContent!=e&&(a.G.PC.textContent=e)}a.J=0}-1>b?a.i=a.g.u:0<b&&c&&!d&&(a.i=a.g.pa);Wb(a,a.i);Qb(a,a.v)}}
l.fa=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.v||(d.j.W?$e(d,!1,!0):jf(d,d.Ga))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.j.W&&!d.v)if(d.b&&!d.F){var a=wa("Click OK to save changes to this "+Cb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");$e(d,a,!0);!a&&d.M?window&&window.location.reload():d.Ga(ff)}else d.reset(),d.g&&!d.A&&d.g.Z()},!0;case "save":if(Ta())c.parentNode.removeChild(c);else return this.G[b]= l.fa=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.v||(d.j.V?ef(d,!1,!0):of(d,d.Fa))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.j.V&&!d.v)if(d.b&&!d.F){var a=wa("Click OK to save changes to this "+Bb+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ef(d,a,!0);!a&&d.M?window&&window.location.reload():d.Fa(lf)}else d.reset(),d.g&&!d.A&&d.g.Z()},!0;case "save":if(Ta())c.parentNode.removeChild(c);else return this.G[b]=
c,c.onclick=function(){var a=ef(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=$e(d,b);b?Af(d,a,c):d.ba("Resume disabled, machine state not saved")}},!0}return!1}; c,c.onclick=function(){var a=kf(d,!0);if(a){var b=!!(d.b&&!d.F||d.M),c=ef(d,b);b?Ff(d,a,c):d.ba("Resume disabled, machine state not saved")}},!0}return!1};
function ef(a,b){var c=a.i;c||((c=mb(vf),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=Qf(a,c))||a.ba("The user ID is invalid.")):b&&a.ba("Browser local storage is not available"));return c} function kf(a,b){var c=a.i;c||((c=lb(Af),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=Vf(a,c))||a.ba("The user ID is invalid.")):b&&a.ba("Browser local storage is not available"));return c}
function Qf(a,b){a.i=null;b=ib(Ua()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(nb(vf,b.data),a.i=b.data)}catch(d){v(d.message+" ("+c+")")}return a.i}function hf(a){var b=null;a.i&&(b=Ua()+"/api/v1/user?req=load&user="+a.i+"&state="+Rf(a,"1.34.0"));return b} function Vf(a,b){a.i=null;b=H(Ua()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(mb(Af,b.data),a.i=b.data)}catch(d){v(d.message+" ("+c+")")}return a.i}function nf(a){var b=null;a.i&&(b=Ua()+"/api/v1/user?req=load&user="+a.i+"&state="+Wf(a,"1.34.0"));return b}
function Af(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Rf(a,"1.34.0");d.data=c;b=ib(Ua()+"/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.ba("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.ba(c),nb(vf,""),a.i=null)}} function Ff(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wf(a,"1.34.0");d.data=c;b=H(Ua()+"/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.ba("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.ba(c),mb(Af,""),a.i=null)}}
function gd(a,b){if(a.la){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.la.focus();!b&&window&&window.scrollTo(c,d)}}var qf="failsafe",lf="validate",nf="timestamp",xf="version",yf="url",zf="browser",vf="user",pf=-1,ff=0,of=1,sf=2,Pf=3;ub(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var g=c[e],f=A(g),f=new cf(f,d,!0);B(f,g);f.N&&jf(f,f.Ga)}}); function hd(a,b){if(a.la){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.la.focus();!b&&window&&window.scrollTo(c,d)}}var vf="failsafe",qf="validate",sf="timestamp",Cf="version",Df="url",Ef="browser",Af="user",uf=-1,lf=0,tf=1,xf=2,Uf=3;tb(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var g=c[e],f=A(g),f=new hf(f,d,!0);B(f,g);f.N&&of(f,f.Fa)}});
vb.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.R&&!c.j.W&&c.Ga(pf)}});vb.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.j.W&&$e(c,!(!c.b||c.F),!0)}});function J(a,b,c){this.id=a.id;this.g="";this.b={};this.A=this.C=!1;this.key=Rf(a,b,c);tf(this,a.tb)}l=J.prototype;l.set=function(a,b){try{this.b[a]=b}catch(c){}};l.get=function(a){return this.b[a]||null}; ub.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.S&&!c.j.V&&c.Fa(uf)}});ub.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=y("Computer",c.id))&&c.j.V&&ef(c,!(!c.b||c.F),!0)}});function L(a,b,c){this.id=a.id;this.g="";this.b={};this.A=this.C=!1;this.key=Wf(a,b,c);yf(this,a.tb)}l=L.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 gf(a,b){return b?(a.g=b,a.A=!0,a.C=!1,!0):a.A?!0:kb()&&(b=mb(a.key))?(a.g=b,a.A=!0):!1}function mf(a){var b=!0;if(!a.C)try{a.b=JSON.parse(a.g),a.C=!0}catch(c){v(c.message||c),b=!1}return b}function uf(a){var b=!0;if(kb()){var c=JSON.stringify(a.b);nb(a.key,c)||(v("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.g}; l.data=function(){return this.b};function mf(a,b){return b?(a.g=b,a.A=!0,a.C=!1,!0):a.A?!0:jb()&&(b=lb(a.key))?(a.g=b,a.A=!0):!1}function rf(a){var b=!0;if(!a.C)try{a.b=JSON.parse(a.g),a.C=!0}catch(c){v(c.message||c),b=!1}return b}function zf(a){var b=!0;if(jb()){var c=JSON.stringify(a.b);mb(a.key,c)||(v("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.g};
function tf(a,b){a.g="";a.b={};a.A=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){tf(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 Rf(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 Sf=0; function yf(a,b){a.g="";a.b={};a.A=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){yf(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 Wf(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 Xf=0;
function Tf(a,b,c,d,e,g,f){g("Loading "+a+"...");ib(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):Uf(k,a,b,c,d,e,g,f)})} function Yf(a,b,c,d,e,g,f){g("Loading "+a+"...");H(a,null,!0,function(h,k,m){m?(k||(k="unable to load "+a+" ("+m+")"),f(k,null)):Zf(k,a,b,c,d,e,g,f)})}
function Uf(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"), function Zf(a,b,c,d,e,g,f,h){function k(a,f){if(f)h(f,null);else{c&&(ta(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),e?"}"==e.slice(-1)?(e=e.slice(0,-1),1<e.length&&(e+=",")):e='{state:"'+e+'",':e="{",e+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(e?" parms='"+e+"'":"")+(f?' url="'+f+'"':"")));g||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?Vf(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)} a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1"+d+"$2"));f=null;if("<"==a.charAt(0))try{g||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){f=null,a=r.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,f)}}a?g?$f(a,f,k):k(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Vf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");ib(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/, function $f(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(e,null,!0,function(g,f,h){if(h||!f)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(g=d[3])if(h=f.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(g);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(f=f.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}f=f.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],f);Vf(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],f);$f(a,b,c)}})}else c(a,null)}
function Wf(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&D(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Va(a))}function f(a){g("Error: "+a);m&&(--Sf||yb(!0));m=!1}var h,k,m=!0;Sf++;ua[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=n:x.appendChild(document.createTextNode(n));r.appendChild(x)}d|| function ag(a,b,c,d,e){function g(a){if(void 0===k){var b=h&&D(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Va(a))}function f(a){g("Error: "+a);m&&(--Xf||xb(!0));m=!1}var h,k,m=!0;Xf++;ua[b]={};try{if(h=document.getElementById(b)){var n;if("object"==typeof resources&&(n=resources.css)){var r=document.head||document.getElementsByTagName("head")[0],x=document.createElement("style");x.type="text/css";x.styleSheet?x.styleSheet.cssText=n:x.appendChild(document.createTextNode(n));r.appendChild(x)}d||
(n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?Tf(d,null,a,null,!1,g,function(a,e){e?(ta(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Sf||yb(!0)):f("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),--Sf|| (n=a,"pdp"==a.substr(0,3)&&(n="pdpjs"),d="/versions/"+n+"/1.34.0/components.xsl");n=function(e,k){k?Yf(d,null,a,null,!1,g,function(a,e){e?(ta(b,d,a),g("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xf||xb(!0)):f("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),--Xf||
yb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Tf(c,b,a,e,!0,g,n):Uf(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(S){f(S.message)}return m}window.embedPDP10=function(a,b,c,d){yb(!1);return Wf("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){yb(!1);return Wf("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return y(b,a+".machine")}; xb(!0)):f("invalid machine element: "+b):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(a)}):f(e)};"<"!=c.charAt(0)?Yf(c,b,a,e,!0,g,n):Zf(c,null,b,a,e,!1,g,n)}else f("missing machine element: "+b)}catch(R){f(R.message)}return m}window.embedPDP10=function(a,b,c,d){xb(!1);return ag("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){xb(!1);return ag("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return y(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!za[a]){for(var c=!0,d=za,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(f.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&f.push(h);d[e]=f;ya(a)||(c=!1)}return c};window.enableEvents=yb;window.sendEvent=Ab;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!za[a]){for(var c=!0,d=za,e=a,g=b.length,f=[],h=[],k="",m=null,n=0;n<g;n++){var r=b[n];if('"'==r||"'"==r)m&&r!=m?k+=r:(m?m=null:m=r,k&&(h.push(k),k=""));else{if(!m){if("\r"==r||"\n"==r)r=";";if(" "==r||"\t"==r||";"==r){k&&(h.push(k),k="");";"==r&&h.length&&(f.push(h),h=[]);continue}}k+=r}}k&&h.push(k);h.length&&f.push(h);d[e]=f;ya(a)||(c=!1)}return c};window.enableEvents=xb;window.sendEvent=zb;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10-dbg.map

View file

@ -32,17 +32,17 @@ var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:functi
function ea(){ba();var a=m.Symbol.iterator;a||(a=m.Symbol.iterator=m.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ga(a){ea();a={next:a};a[m.Symbol.iterator]=function(){return this};return a} function ea(){ba();var a=m.Symbol.iterator;a||(a=m.Symbol.iterator=m.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ga(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ga(a){ea();a={next:a};a[m.Symbol.iterator]=function(){return this};return a}
function n(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 ha(a,b){if(b){var c=m;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 n(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 ha(a,b){if(b){var c=m;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})}}
ha("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}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}}); ha("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}});ha("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ja=Math.pow(2,36),ka=-Math.pow(2,35),q={Cb:0,Ra:1,Eb:2,Fb:3,Gb:4,Hb:5,Ib:6,Jb:7,Ja:8,Kb:9,Sa:10,Lb:11,Mb:12,Ta:13,Nb:14,Ob:15,Pb:16,Qb:17,Rb:18,Sb:19,Tb:20,Ub:21,Vb:22,Wb:23,Xb:24,Yb:25,Zb: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,Ia:65,Bb:66,Db:67,$b:68,E:69,ac:70,bc:71,cc:72,dc:73,ec:74,fc:75,gc:76,hc:77,ic:78,jc:79,kc:80,Q:81, var ia=Math.pow(2,36),ka=-Math.pow(2,35),q={yb:0,Ra:1,Ab:2,Bb:3,Cb:4,Db:5,Eb:6,Fb:7,Ja:8,Gb:9,Sa:10,Hb:11,Ib:12,Ta:13,Jb:14,Kb:15,Lb:16,Mb:17,Nb:18,Ob:19,Pb:20,Qb:21,Rb:22,Sb:23,Tb:24,Ub:25,Vb: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,Ia:65,xb:66,zb:67,Wb:68,E:69,Xb:70,Yb:71,Zb:72,$b:73,ac:74,bc:75,cc:76,dc:77,ec:78,fc:79,gc:80,Q:81,
lc:82,mc:83,nc:84,oc:85,pc:86,qc:87,rc:88,sc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,tc:97,uc:98,vc:99,d:100,e:101,wc:102,xc:103,yc:104,zc:105,Ac:106,k:107,Bc:108,Cc:109,n:110,Dc:111,p:112,q:113,r:114,Ec:115,t:116,Fc:117,Gc:118,Hc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127}; hc:82,ic:83,jc:84,kc:85,lc:86,mc:87,nc:88,oc:89,Ya:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,pc:97,qc:98,rc:99,d:100,e:101,sc:102,tc:103,uc:104,vc:105,wc:106,k:107,xc:108,yc:109,n:110,zc:111,p:112,q:113,r:114,Ac:115,t:116,Bc:117,Cc:118,Dc:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Ua:127};
function t(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.Xa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.na=this.id:(this.oa=this.id.substr(0,a),this.na=this.id.substr(a+1));this.b={ready:!1,ta:!1,Ga:!1,B:!1,error:!1};this.wa=null;this.b.error=!1;this.s=this.f=this.l=this.o=this.ba=null;u.push(this)}function la(a,b,c){ma[a]&&b&&(ma[a][b]=c)}function w(){return Date.now()||+new Date} function t(a,b){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Ma=b.comment;this.Xa=b;this.exports={};this.i=this.bindings={};a=this.id.indexOf(".");0>a?this.la=this.id:(this.ma=this.id.substr(0,a),this.la=this.id.substr(a+1));this.b={ready:!1,ra:!1,Da:!1,B:!1,error:!1};this.ta=null;this.b.error=!1;this.u=this.f=this.l=this.o=this.ba=null;u.push(this)}function la(a,b,c){ma[a]&&b&&(ma[a][b]=c)}function w(){return Date.now()||+new Date}
function x(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function oa(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null} function x(a){window&&window.alert(a)}function na(a){var b=!1;window&&(b=window.confirm(a));return b}function y(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<u.length;b++){var d=u[b];a&&d.id.indexOf(a)||c.push(d)}return c}function oa(a){if(void 0!==a){var b;for(b=0;b<u.length;b++)if(u[b].id===a)return u[b]}return null}
function z(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b} function z(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<u.length;d++)if(c)c==u[d]&&(c=null);else if(!(a!=u[d].type||b&&u[d].id.indexOf(b)))return u[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){x(c.message+" ("+a+")")}return b}
function B(a,b){var c=C;b=D(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 l=h.split(" "),p=0;p<l.length;p++)switch(h=l[p],h){case c+"-binding":(h=A(g))&&h.binding&&a.U(h.type,h.binding,g,h.value),p=l.length}}}} function B(a,b){var c=C;b=D(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 l=h.split(" "),p=0;p<l.length;p++)switch(h=l[p],h){case c+"-binding":(h=A(g))&&h.binding&&a.U(h.type,h.binding,g,h.value),p=l.length}}}}
function D(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 D(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 pa(a){for(var b=!0,c=qa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=ra.indexOf(e)&&(f=function(){return function(){pa(a)}}());var g=sa[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=z(d[1],a);if(h)if(g=ta[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[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){x("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete qa[a];return b}k=t.prototype; function pa(a){for(var b=!0,c=qa[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=ra.indexOf(e)&&(f=function(){return function(){pa(a)}}());var g=sa[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=z(d[1],a);if(h)if(g=ta[e])b=g(h,d[2],d[3]);else{var l=h.exports;if(l&&(g=l[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){x("Script error: "+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete qa[a];return b}k=t.prototype;
k.toString=function(){return this.name?this.name:this.id||this.type}; k.toString=function(){return this.name?this.name:this.id||this.type};
k.U=function(a,b,c){switch(b){case "clear":return this.i[b]||(this.i[b]=c,c.onclick=function(a){return function(){a.i.print&&(a.i.print.value="")}}(this)),!0;case "print":return this.i[b]||(this.ba=this.i[b]=c,c.value="",this.K=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.F=function(a){this.K(a,this.na)}),!0;default:return!1}};k.log=function(){};k.K=function(){}; k.U=function(a,b,c){switch(b){case "clear":return this.i[b]||(this.i[b]=c,c.onclick=function(a){return function(){a.i.print&&(a.i.print.value="")}}(this)),!0;case "print":return this.i[b]||(this.ba=this.i[b]=c,c.value="",this.K=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.F=function(a){this.K(a,this.la)}),!0;default:return!1}};k.log=function(){};k.K=function(){};
k.status=function(a){this.K(this.na+": "+a)};k.F=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function ua(a,b){b&&(a.b.ready?b():a.wa=b);return a.b.ready}function E(a){if(!a.b.error&&(a.b.ready=!0,a.b.ready)){var b=a.wa;a.wa=null;b&&b()}}function va(a,b){a.b.Ga?(a.b.ta=!1,a.b.Ga=!1):a.b.error?a.K(a.toString()+" error"):a.b.ta=b}k.V=function(){return this.b.B=!0};k.P=function(a,b){b&&(this.b.B=!1);return!0}; k.status=function(a){this.K(this.la+": "+a)};k.F=function(a,b,c){c=c||this.type;b||x((c?c+": ":"")+a)};function ua(a,b){b&&(a.b.ready?b():a.ta=b);return a.b.ready}function E(a){if(!a.b.error&&(a.b.ready=!0,a.b.ready)){var b=a.ta;a.ta=null;b&&b()}}function va(a,b){a.b.Da?(a.b.ra=!1,a.b.Da=!1):a.b.error?a.K(a.toString()+" error"):a.b.ra=b}k.V=function(){return this.b.B=!0};k.P=function(a,b){b&&(this.b.B=!1);return!0};
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 ma=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],qa=window?window.PCjs.Commands:{},ra=["hold","sleep","wait"],sa={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},ta={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 ma=window?window.PCjs.Machines:{},u=window?window.PCjs.Components:[],qa=window?window.PCjs.Commands:{},ra=["hold","sleep","wait"],sa={alert:function(a){x(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},ta={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)});
@ -58,48 +58,48 @@ function G(){return"http://"+(window?window.location.host:"www.pcjs.org")}functi
function Ia(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ja(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 Ia(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ja(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 Ka(a){if(!La){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," "))}La=c}return La[a]}function Ma(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function I(a){J.init.push(a)} function Ka(a){if(!La){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," "))}La=c}return La[a]}function Ma(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function I(a){J.init.push(a)}
function Na(a){if(Oa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function K(a){!Oa&&a?(Oa=!0,Pa&&Qa("init"),Ra&&Qa("show")):Oa=a}function Qa(a){J[a]&&Na(J[a])}var La=null,J={init:[],show:[],exit:[]},Pa=!1,Ra=!1,Oa=!0,Ga=null;Ma("onload",function(){Pa=!0;Na(J.init)});Ma("onpageshow",function(){Ra=!0;Na(J.show)});Ma(Ja("Opera")||Ja("iOS")?"onunload":"onbeforeunload",function(){Na(J.exit)}); function Na(a){if(Oa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){x(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function K(a){!Oa&&a?(Oa=!0,Pa&&Qa("init"),Ra&&Qa("show")):Oa=a}function Qa(a){J[a]&&Na(J[a])}var La=null,J={init:[],show:[],exit:[]},Pa=!1,Ra=!1,Oa=!0,Ga=null;Ma("onload",function(){Pa=!0;Na(J.init)});Ma("onpageshow",function(){Ra=!0;Na(J.show)});Ma(Ja("Opera")||Ja("iOS")?"onunload":"onbeforeunload",function(){Na(J.exit)});
var C="pdp10",L="PDPjs",Sa=Math.pow(2,18),Ta=Math.pow(2,18)-1,Ua=Math.pow(2,36),M=Math.pow(2,18),Va=Math.pow(2,23),C="pdp10",L="PDPjs"; var C="pdp10",L="PDPjs",Sa=Math.pow(2,18),Ta=Math.pow(2,18)-1,Ua=Math.pow(2,36),M=Math.pow(2,18),Va=Math.pow(2,35)-1,Wa=Math.pow(2,23),C="pdp10",L="PDPjs";
function Wa(a,b){t.call(this,"Panel",a);this.C=this.D=0;this.R=b;this.c=this.v=this.g=this.h=0;this.G=this.I=-1;this.L=this.M=this.u=!1;this.O=Xa;this.j={};this.a={START:[1,1,!0,!1,this.ib],STEP:[1,1,!1,!1,this.jb],ENABLE:[1,1,!1,!1,this.cb],CONT:[1,1,!0,!1,this.ab],DEP:[0,0,!0,!1,this.bb],EXAM:[1,1,!0,!1,this.eb],LOAD:[1,1,!0,!1,this.gb],TEST:[0,0,!0,!1,this.fb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.s=this.f=this.l=this.o=null;this.exports={hold:this.$a,toggle:this.ub,reset:this.qb, function Xa(a,b){t.call(this,"Panel",a);this.C=this.D=0;this.R=b;this.c=this.w=this.g=this.h=0;this.G=this.I=-1;this.L=this.M=this.s=!1;this.O=Ya;this.j={};this.a={START:[1,1,!0,!1,this.ib],STEP:[1,1,!1,!1,this.jb],ENABLE:[1,1,!1,!1,this.cb],CONT:[1,1,!0,!1,this.ab],DEP:[0,0,!0,!1,this.bb],EXAM:[1,1,!0,!1,this.eb],LOAD:[1,1,!0,!1,this.gb],TEST:[0,0,!0,!1,this.fb]};for(a=0;22>a;a++)this.a["S"+a]=[0,0,!1,!1,this.hb,a];this.u=this.f=this.l=this.o=null;this.exports={hold:this.$a,toggle:this.sb,reset:this.ob,
set:this.tb};E(this)}n(Wa,t);k=Wa.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)}; set:this.rb};E(this)}n(Xa,t);k=Xa.prototype;k.reset=function(a){this.stop();a&&N(this,this.h=0)};
k.U=function(a,b,c,d){if(this.o&&this.o.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Ya(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){O(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Ya(a, k.U=function(a,b,c,d){if(this.o&&this.o.U(a,b,c,d)||this.f&&this.f.U(a,b,c,d))return!0;switch(b){case "PC":return this.i[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.i[b]=c,this.j[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.a[b]&&(this.a[b]=[d?1:0,d?1:0]),this.i[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){Za(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){O(a,b)}}(this,b),a.ontouchstart=function(a,b){return function(c){Za(a,
b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){O(a,b)}}(this,b),!0):t.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.o=a;this.l=b;this.f=c;this.s=d;Za(this);$a(this)};k.V=function(a,b){if(!b)if(this.R&&ab(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.c,this.h,this.g]);return a.data()}; b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){O(a,b)}}(this,b),!0):t.prototype.U.call(this,a,b,c,d)}};k.Z=function(a,b,c,d){this.o=a;this.l=b;this.f=c;this.u=d;$a(this);ab(this)};k.V=function(a,b){if(!b)if(this.R&&bb(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,[this.c,this.h,this.g]);return a.data()};
k.restore=function(a){if(a=a[0])Q(this,this.c=a[0]),N(this,this.h=a[1]),bb(this,a[2]);return!0};k.qb=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}$a(this);return!0};function cb(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Za(a,b){for(var c in a.j)cb(a,c,null!=b?b:a.j[c])}function db(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function $a(a){for(var b in a.a)db(a,b,a.a[b][1])} k.restore=function(a){if(a=a[0])Q(this,this.c=a[0]),N(this,this.h=a[1]),cb(this,a[2]);return!0};k.ob=function(){for(var a in this.a){var b=this.a[a];b[1]=b[0]}ab(this);return!0};function db(a,b,c){if(a=a.i[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function $a(a,b){for(var c in a.j)db(a,c,null!=b?b:a.j[c])}function eb(a,b,c){if(a=a.i[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function ab(a){for(var b in a.a)eb(a,b,a.a[b][1])}
k.$a=function(a,b,c){if(Ya(this,b)){if(c){var d=this;setTimeout(function(){O(d,b);a&&a()},+c);return!1}O(this,b)}return!0}; k.$a=function(a,b,c){if(Za(this,b)){if(c){var d=this;setTimeout(function(){O(d,b);a&&a()},+c);return!1}O(this,b)}return!0};
k.tb=function(a,b){if("SR"==a){a=b;b=8;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)),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]+$/): k.rb=function(a,b){if("SR"==a){a=b;b=8;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)),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 bb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,db(this,a,c[1]),!0):!1};k.ub=function(a){return Ya(this,a)?(O(this,a),!0):!1};function Ya(a,b){var c=a.a[b];return c?(db(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=eb&&(a.L=b==fb,a.M=b==gb),!0):!1}function O(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(db(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)} 2==e&&d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f)}return cb(this,c)}return(c=this.a[a])?(c[1]=+b?1:0,eb(this,a,c[1]),!0):!1};k.sb=function(a){return Za(this,a)?(O(this,a),!0):!1};function Za(a,b){var c=a.a[b];return c?(eb(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=fb&&(a.L=b==gb,a.M=b==hb),!0):!1}function O(a,b){var c=a.a[b];c&&(c[2]&&c[3]&&(eb(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}
k.ib=function(a){a||this.f.b.w||(this.f.h=this.c%Sa,this.a[hb]&&this.a[hb][1]&&ib(this.f))};k.jb=function(){};k.cb=function(a){a||R(this.f)};k.ab=function(a){if(!a&&!this.f.b.w)if(this.a[hb]&&this.a[hb][1])ib(this.f);else{a=this.s;var b;if(b=a)a.b.ta&&(a.b.Ga=!0),b=!a.b.ta;if(b)va(a,!0),a.c(0,null),va(a,!1);else try{var c=this.f.za(1);0<c&&(jb(this.f,c),kb(this.f,c,!0),lb(this.f,c))}catch(d){"number"!=typeof d&&(c=this.f,a=d.stack||d.message,c.b.error=!0,c.F(a))}this.stop();this.o&&S(this.o)}}; k.ib=function(a){a||this.f.b.A||(this.f.h=this.c%Sa,this.a[ib]&&this.a[ib][1]&&jb(this.f))};k.jb=function(){};k.cb=function(a){a||R(this.f)};k.ab=function(a){if(!a&&!this.f.b.A)if(this.a[ib]&&this.a[ib][1])jb(this.f);else{a=this.u;var b;if(b=a)a.b.ra&&(a.b.Da=!0),b=!a.b.ra;if(b)va(a,!0),a.c(0,null),va(a,!1);else try{var c=this.f.wa(1);0<c&&(kb(this.f,c),lb(this.f,c,!0),mb(this.f,c))}catch(d){"number"!=typeof d&&(c=this.f,a=d.stack||d.message,c.b.error=!0,c.F(a))}this.stop();this.o&&S(this.o)}};
k.bb=function(a){a&&!this.f.b.w&&(this.L&&mb(this),a=N(this,this.h=this.g),this.O==Xa?nb(this.l,this.c,a):this.f.A(this.c,a))};k.eb=function(a){if(!a&&!this.f.b.w){this.M&&mb(this);if(this.O==Xa){a=this.l;var b=this.c,c=a.a[(b&a.g)>>>a.c];a.h++;b=c.s(b&16383,b);a.h--;a=b}else a=this.f.m(this.c);N(this,this.h=a)}};k.gb=function(a){a||this.f.b.w||Q(this,this.g)};k.fb=function(a){a?(this.u=!0,Za(this,!0)):(this.u=!1,Za(this),bb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)}; k.bb=function(a){a&&!this.f.b.A&&(this.L&&nb(this),a=N(this,this.h=this.g),this.O==Ya?ob(this.l,this.c,a):this.f.v(this.c,a))};k.eb=function(a){if(!a&&!this.f.b.A){this.M&&nb(this);if(this.O==Ya){a=this.l;var b=this.c,c=a.a[(b&a.g)>>>a.c];a.h++;b=c.o(b&16383,b);a.h--;a=b}else a=this.f.m(this.c);N(this,this.h=a)}};k.gb=function(a){a||this.f.b.A||Q(this,this.g)};k.fb=function(a){a?(this.s=!0,$a(this,!0)):(this.s=!1,$a(this),cb(this,0))};k.hb=function(a,b){this.g=a?this.g|1<<b:this.g&~(1<<b)};
function mb(a){var b=1,c=a.l.g;a.a[eb]&&a.a[eb][1]||(b=-b);Q(a,a.c&~c|a.c+b&c)}function Q(a,b){a.c=b&a.l.g;if(a.G!==a.c){a.G=a.c;b=a.G;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.j[e]=f;d.u||cb(d,e,f)}}}function N(a,b){a.v=b%Ua;if(a.I!==a.v){a.I=a.v;b=a.I;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.j[e]=f;d.u||cb(d,e,f)}}return a.v}function bb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;$a(a);return!0}k.stop=function(){Q(this,this.f.h)}; function nb(a){var b=1,c=a.l.g;a.a[fb]&&a.a[fb][1]||(b=-b);Q(a,a.c&~c|a.c+b&c)}function Q(a,b){a.c=b&a.l.g;if(a.G!==a.c){a.G=a.c;b=a.G;for(var c=0;22>c;c++){var d=a,e="A"+c,f=b&1<<c;d.j[e]=f;d.s||db(d,e,f)}}}function N(a,b){a.w=b%Ua;if(a.I!==a.w){a.I=a.w;b=a.I;for(var c=0;16>c;c++){var d=a,e="D"+c,f=b&1<<c;d.j[e]=f;d.s||db(d,e,f)}}return a.w}function cb(a,b){a.g=b|0;for(b=0;22>b;b++)a.a["S"+b][1]=a.g&1<<b?1:0;ab(a);return!0}k.stop=function(){Q(this,this.f.h)};
function ab(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=oa(d.id);e||(e=new Wa(d,!0));B(e,c)}}var Xa=7,fb="DEP",hb="ENABLE",gb="EXAM",eb="STEP";I(ab);function ob(a,b,c){t.call(this,"Bus",a);this.f=b;this.s=c;this.v=+a.busWidth||18;this.u=1<<this.v;this.g=this.u-1;this.c=Math.log2(16384);this.j=this.u/16384|0;this.h=0;this.a=[];a=new T(this);pb(a);this.a=Array(this.j);for(b=0;b<this.j;b++)this.a[b]=a;E(this)}n(ob,t);k=ob.prototype;k.reset=function(){}; function bb(){for(var a=D(document,C,"panel"),b=0;b<a.length;b++){var c=a[b],d=A(c),e=oa(d.id);e||(e=new Xa(d,!0));B(e,c)}}var Ya=7,gb="DEP",ib="ENABLE",hb="EXAM",fb="STEP";I(bb);function pb(a,b,c){t.call(this,"Bus",a);this.f=b;this.u=c;this.w=+a.busWidth||18;this.s=1<<this.w;this.g=this.s-1;this.c=Math.log2(16384);this.j=this.s/16384|0;this.h=0;this.a=[];a=new T(this);qb(a);this.a=Array(this.j);for(b=0;b<this.j;b++)this.a[b]=a;E(this)}n(pb,t);k=pb.prototype;k.reset=function(){};
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,qb(this));return a.data()};k.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++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a}; k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.save=function(){var a=new P(this);a.set(0,rb(this));return a.data()};k.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++],l=d[g++];h--;)f[e++]=l;d=f}e=this.a[c];if(!e||!e.restore(d)){x("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function rb(a,b,c,d){for(var e=b,f=c,g=e>>>a.c;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.ya+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.ya){p=h.size-(e-l);p>f&&(p=f);h.ya=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return sb(tb,e,f)}e=new T(a,e,p,16384,d);pb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+ub[d]+" at "+wa(b)),!0):sb(vb,b,c)}function nb(a,b,c){var d=a.a[(b&a.g)>>>a.c];a.h++;d.l(c,b&16383,b);a.h--} function sb(a,b,c,d){for(var e=b,f=c,g=e>>>a.c;0<f&&g<a.a.length;){var h=a.a[g],l=16384*g,p=16384-(e-l);p>f&&(p=f);if(h&&h.size){if(h.type==d){if(e+f<=h.aa)return h.va+=h.aa-e,h.aa=e,!0;if(e>=h.aa+h.va){p=h.size-(e-l);p>f&&(p=f);h.va=e-h.aa+p;e=l+16384;f-=p;g++;continue}}return tb(ub,e,f)}e=new T(a,e,p,16384,d);qb(e,h);a.a[g++]=e;e=l+16384;f-=p}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+vb[d]+" at "+wa(b)),!0):tb(wb,b,c)}function ob(a,b,c){var d=a.a[(b&a.g)>>>a.c];a.h++;d.l(c,b&16383,b);a.h--}
function qb(a){for(var b=0,c=[],d=0;d<a.j;d++){var e=a.a[d];if(e.va||e.Za){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],r=g+1;r<e.length&&e[r]===p;)r++;l[h++]=r-g;l[h++]=p;g=r}l.length<e.length&&(e=l)}c[f]=e}}return c}function sb(a,b,c){x("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var tb=1,vb=2;function wb(a){t.call(this,"Device",a)}n(wb,t);k=wb.prototype;k.Z=function(a,b,c,d){this.l=b;this.o=a;this.f=c;this.s=d;E(this)}; function rb(a){for(var b=0,c=[],d=0;d<a.j;d++){var e=a.a[d];if(e.Ea||e.Za){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var p=e[g],r=g+1;r<e.length&&e[r]===p;)r++;l[h++]=r-g;l[h++]=p;g=r}l.length<e.length&&(e=l)}c[f]=e}}return c}function tb(a,b,c){x("Memory block error ("+a+": "+F(b)+","+F(c)+")");return!1}var ub=1,wb=2;function xb(a){t.call(this,"Device",a)}n(xb,t);k=xb.prototype;k.Z=function(a,b,c,d){this.l=b;this.o=a;this.f=c;this.u=d;E(this)};
k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new P(this)).data()};k.restore=function(){return!0};I(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new wb(c),B(c,d)}}}); k.V=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){return(new P(this)).data()};k.restore=function(){return!0};I(function(){for(var a=D(document,C,"device"),b=0;b<a.length;b++){var c,d=a[b];c=A(d);switch(c.type){case "default":c=new xb(c),B(c,d)}}});
function T(a,b,c,d,e){this.h=a;this.id=xb+=2;this.aa=b;this.ya=c;this.size=d||0;this.type=e||yb;this.o=e==zb;this.m=this.s=this.c=this.ha;this.A=this.l=this.g=this.ia;this.f=this.i=0;pb(this);this.va=this.Za=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Ab(this,Bb)}else Ab(this)}k=T.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.va=!0):!1};function Ab(a,b){b||(b=Cb);Db(a,b,void 0);Eb(a,b,void 0)} function T(a,b,c,d,e){this.u=a;this.id=yb+=2;this.aa=b;this.va=c;this.size=d||0;this.type=e||zb;this.c=e==Ab;this.m=this.o=this.Fa;this.v=this.l=this.Ha;this.f=this.i=0;qb(this);this.Ea=this.Za=!1;if(this.size){a=this.a=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;Bb(this,Cb)}else Bb(this)}k=T.prototype;k.save=function(){return this.a};k.restore=function(a){return a&&this.size==a.length?(this.a=a,this.Ea=!0):!1};function Bb(a,b){b||(b=Db);Eb(a,b,void 0);Fb(a,b,void 0)}
function Db(a,b,c){c&&a.f||(a.m=b[2]||a.ha);if(c||void 0===c)a.c=b[0]||a.ha,a.s=b[2]||a.ha}function Eb(a,b,c){c&&a.i||(a.A=!a.o&&b[3]||a.ia);if(c||void 0===c)a.g=b[1]||a.ia,a.l=b[3]||a.ia}function pb(a,b){a.f=a.i=0;b&&((a.f=b.f)&&Db(a,Fb,!1),(a.i=b.i)&&Eb(a,Fb,!1))}k.ha=function(){var a=this.h;a.h||R(a.f);return-1};k.ia=function(){};k.lb=function(a,b,c,d){a=this.a[a];return a=32>=c+d?a>>c&(1<<d)-1:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d)};k.ob=function(a){return this.a[a]}; function Eb(a,b,c){c&&a.f||(a.m=b[0]||a.Fa);if(c||void 0===c)a.o=b[0]||a.Fa}function Fb(a,b,c){c&&a.i||(a.v=!a.c&&b[1]||a.Ha);if(c||void 0===c)a.l=b[1]||a.Ha}function qb(a,b){a.f=a.i=0;b&&((a.f=b.f)&&Eb(a,Gb,!1),(a.i=b.i)&&Fb(a,Gb,!1))}k.Fa=function(){var a=this.u;a.h||R(a.f);return-1};k.Ha=function(){};k.mb=function(a){return this.a[a]};k.vb=function(a,b){this.a[b]!=a&&(this.a[b]=a,this.Ea=!0)};k.kb=function(a,b){return this.o(a,b)};k.ub=function(a,b,c){this.c||this.l(a,b,c)};
k.xb=function(a,b,c,d,e){c=this.a[b];var f=Math.pow(2,d);a%=Math.pow(2,e);d=c%Math.pow(2,d+e);c=c-d+a*f+d%f;this.a[b]!=c&&(this.a[b]=c,this.va=!0)};k.zb=function(a,b){this.a[b]=a;this.va=!0};k.kb=function(a,b,c,d){return this.c(a,b,c,d)};k.mb=function(a,b){return this.s(a,b)};k.wb=function(a,b,c,d,e){this.o||this.g(a,b,c,d,e)};k.yb=function(a,b,c){this.o||this.l(a,b,c)}; var zb=0,Ab=2,vb=["NONE","RAM","ROM"],yb=0,Db=[],Cb=[T.prototype.mb,T.prototype.vb],Gb=[T.prototype.kb,T.prototype.ub];
var yb=0,zb=2,ub=["NONE","RAM","ROM"],xb=0,Cb=[],Bb=[T.prototype.lb,T.prototype.xb,T.prototype.ob,T.prototype.zb],Fb=[T.prototype.kb,T.prototype.wb,T.prototype.mb,T.prototype.yb]; function Hb(a,b){t.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.xa=0;this.Ba=b;this.W=c;this.za=Math.round(this.Ba/1E4)/100;this.O=this.za*this.W;this.Aa=this.fa=this.X=this.pa=0;this.b.A=this.b.Ga=!1;this.b.J=a.autoStart;"string"==typeof this.b.J&&(this.b.J="true"==this.b.J);this.b.sa=!1;this.na=this.R=0;this.oa=+a.csStart;this.da=+a.csInterval;this.ea=+a.csStop;this.w=[];this.Na=this.pb.bind(this);this.I=this.s=this.D=this.G=this.j=this.ja=this.C=this.ca=this.Ca=this.L=0;this.ka=
function Gb(a,b){t.call(this,"CPU",a);b=+a.cycles||b;var c=+a.multiplier||1;this.Aa=0;this.Ea=b;this.W=c;this.Ca=Math.round(this.Ea/1E4)/100;this.O=this.Ca*this.W;this.Da=this.fa=this.X=this.ra=0;this.b.w=this.b.Ha=!1;this.b.J=a.autoStart;"string"==typeof this.b.J&&(this.b.J="true"==this.b.J);this.b.ua=!1;this.pa=this.R=0;this.qa=+a.csStart;this.da=+a.csInterval;this.ea=+a.csStop;this.v=[];this.Na=this.rb.bind(this);this.I=this.u=this.D=this.G=this.j=this.la=this.C=this.ca=this.Fa=this.L=0;this.ma= null;E(this)}n(Hb,t);k=Hb.prototype;k.Z=function(a,b,c,d){this.o=a;this.l=b;this.u=d;this.ka=a.g;for(a=0;a<Ib.length;a++)(b=this.i[Ib[a]])&&this.o.U(null,Ib[a],b);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
null;E(this)}n(Gb,t);k=Gb.prototype;k.Z=function(a,b,c,d){this.o=a;this.l=b;this.s=d;this.ma=a.g;for(a=0;a<Hb.length;a++)(b=this.i[Hb[a]])&&this.o.U(null,Hb[a],b);E(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1}; k.V=function(a,b){var c=U(this.o,"autoStart");null!=c?this.b.J="true"==c?!0:"false"==c?!1:!!c:null==this.b.J&&(this.b.J=void 0===this.i.run);if(!b){if(a){Jb(this);if(!this.restore(a))return!1;Kb(this)}else this.reset();this.status("No debugger detected");this.b.J||this.K("CPU will not be auto-started "+(this.ka?"(click Run to start)":"(type 'go' to start)"))}return!0};k.P=function(a){return a?this.save():!0};k.J=function(){return this.b.A?!0:this.b.J?(jb(this),!0):!1};k.Pa=function(){return 0};
k.V=function(a,b){var c=U(this.o,"autoStart");null!=c?this.b.J="true"==c?!0:"false"==c?!1:!!c:null==this.b.J&&(this.b.J=void 0===this.i.run);if(!b){if(a){Ib(this);if(!this.restore(a))return!1;Jb(this)}else this.reset();this.status("No debugger detected");this.b.J||this.K("CPU will not be auto-started "+(this.ma?"(click Run to start)":"(type 'go' to start)"))}return!0};k.P=function(a){return a?this.save():!0};k.J=function(){return this.b.w?!0:this.b.J?(ib(this),!0):!1};k.Pa=function(){return 0}; function Kb(a){void 0===a.oa&&(a.oa=0);void 0===a.da&&(a.da=-1);void 0===a.ea&&(a.ea=-1);a.b.sa=0<=a.oa&&0<a.da;a.b.sa&&(a.na=0,a.R=a.oa-a.I)}function mb(a,b){if(a.b.sa){var c=!1;a.na=a.na+a.Pa()|0;a.R-=b;0>=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Lb(a)&&(a.da=a.ea=-1,Kb(a),R(a),c=!0);c&&a.K(Lb(a)+" cycles: checksum="+F(a.na))}}
function Jb(a){void 0===a.qa&&(a.qa=0);void 0===a.da&&(a.da=-1);void 0===a.ea&&(a.ea=-1);a.b.ua=0<=a.qa&&0<a.da;a.b.ua&&(a.pa=0,a.R=a.qa-a.I)}function lb(a,b){if(a.b.ua){var c=!1;a.pa=a.pa+a.Pa()|0;a.R-=b;0>=a.R&&(a.R+=a.da,c=!0);0<=a.ea&&a.ea<=Kb(a)&&(a.da=a.ea=-1,Jb(a),R(a),c=!0);c&&a.K(Kb(a)+" cycles: checksum="+F(a.pa))}} k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.o)if(a=d.o,a.b.B)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.b.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.b.B);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.b.ready?"powered yet":"ready yet"+(b.ta?" (waiting for notification)":""))+".");a=!1}a&&(d.b.A?R(d):jb(d))},!0;case "speed":return this.i[b]=
k.U=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.i[b]=c,!0;case "run":return this.i[b]=c,c.onclick=function(){var a;if(a=d.o)if(a=d.o,a.b.B)a=!0;else{var b=null,c,h=y(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.b.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.b.B);c++);c==h.length&&(b=a);x("The "+b.type+" component ("+b.id+") is not "+(b.b.ready?"powered yet":"ready yet"+(b.wa?" (waiting for notification)":""))+".");a=!1}a&&(d.b.w?R(d):ib(d))},!0;case "speed":return this.i[b]= c,!0;case "setSpeed":return this.i[b]=c,c.onclick=function(){Mb(d,d.W<<1,!0)},c.textContent=this.O.toFixed(2)+"Mhz",!0}return!1};function lb(a,b,c){a.I+=b;c&&(a.D=a.G=0)}function Nb(a,b){var c=1;b&&1<a.W&&a.L&&(c=a.L/a.za);a.Aa=Math.round(1E3/Ob);a.fa=Math.floor(a.Ba/Ob*c);b||(a.X=a.fa);a.pa=0}function Lb(a){return a.I+a.s+a.D-a.G}function Jb(a){a.L=0;a.Ca=0;a.I=a.s=a.D=a.G=0;Kb(a);Mb(a,1)}
c,!0;case "setSpeed":return this.i[b]=c,c.onclick=function(){Lb(d,d.W<<1,!0)},c.textContent=this.O.toFixed(2)+"Mhz",!0}return!1};function kb(a,b,c){a.I+=b;c&&(a.D=a.G=0)}function Mb(a,b){var c=1;b&&1<a.W&&a.L&&(c=a.L/a.Ca);a.Da=Math.round(1E3/Nb);a.fa=Math.floor(a.Ea/Nb*c);b||(a.X=a.fa);a.ra=0}function Kb(a){return a.I+a.u+a.D-a.G}function Ib(a){a.L=0;a.Fa=0;a.I=a.u=a.D=a.G=0;Jb(a);Lb(a,1)} function Mb(a,b,c){if(void 0!==b){.8>a.L/a.O&&(b=1);a.W=b;b=a.za*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.o&&(c=a.o,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}lb(a,a.s);a.s=0;a.j=w();a.C=0;Nb(a)}function Pb(a){for(var b=[],c=0;c<a.w.length;c++)b.push(a.w[c][0]);return b}
function Lb(a,b,c){if(void 0!==b){.8>a.L/a.O&&(b=1);a.W=b;b=a.Ca*a.W;if(a.O!=b){a.O=b;b=a.O.toFixed(2)+"Mhz";var d=a.i.setSpeed;d&&(d.textContent=b);a.K("target speed: "+b)}c&&a.o&&(c=a.o,c.ba&&(d=b=0,window&&(b=window.scrollX,d=window.scrollY),c.ba.focus(),window&&window.scrollTo(b,d)))}kb(a,a.u);a.u=0;a.j=w();a.C=0;Mb(a)}function Ob(a){for(var b=[],c=0;c<a.v.length;c++)b.push(a.v[c][0]);return b} function kb(a,b){for(var c=a.w.length-1;0<=c;c--){var d=a.w[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Qb(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c}
function jb(a,b){for(var c=a.v.length-1;0<=c;c--){var d=a.v[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function Pb(a,b){var c=a.D-=a.G;a.G=0;b&&(a.D=0);return c} k.pb=function(){if(this.b.A){this.pa>=this.Ba&&Nb(this,!0);this.ca=0;this.ja=w();if(this.C){var a=this.ja-this.C;a>this.Aa&&(this.j+=a,this.j>this.ja&&(this.j=this.ja))}try{do{for(var b,c=this.b.sa?1:this.fa,d=this.w.length-1;0<=d;d--){var e=this.w[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.wa(b)}catch(f){if("number"!=typeof f)throw f;}b=Qb(this,!0);this.ca+=b;this.s+=b;mb(this,b);kb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Ca>=Rb&&(this.o&&S(this.o,void 0),this.Ca=0);break}}while(this.b.A)}catch(f){R(this);
k.rb=function(){if(this.b.w){this.ra>=this.Ea&&Mb(this,!0);this.ca=0;this.la=w();if(this.C){var a=this.la-this.C;a>this.Da&&(this.j+=a,this.j>this.la&&(this.j=this.la))}try{do{for(var b,c=this.b.ua?1:this.fa,d=this.v.length-1;0<=d;d--){var e=this.v[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.za(b)}catch(f){if("number"!=typeof f)throw f;}b=Pb(this,!0);this.ca+=b;this.u+=b;lb(this,b);jb(this,b);this.X-=b;if(0>=this.X){this.X+=this.fa;++this.Fa>=Qb&&(this.o&&S(this.o,void 0),this.Fa=0);break}}while(this.b.w)}catch(f){R(this); this.o&&this.o.stop(w(),Lb(this));a=f.stack||f.message;this.b.error=!0;this.F(a);return}if(this.b.A){a=setTimeout;b=this.Na;this.C=w();c=this.Aa;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.ja;if(d=this.C-this.j)this.L=Math.round(this.s/(10*d))/100,864E5<=d&&(this.I=0,Mb(this));if(0>c||this.L<this.O)-1E3>c&&(this.j-=c),c=0;this.pa+=this.ca;this.C+=c;a(b,c)}}};
this.o&&this.o.stop(w(),Kb(this));a=f.stack||f.message;this.b.error=!0;this.F(a);return}if(this.b.w){a=setTimeout;b=this.Na;this.C=w();c=this.Da;this.ca&&(c=Math.round(c*this.ca/this.fa));c-=this.C-this.la;if(d=this.C-this.j)this.L=Math.round(this.u/(10*d))/100,864E5<=d&&(this.I=0,Lb(this));if(0>c||this.L<this.O)-1E3>c&&(this.j-=c),c=0;this.ra+=this.ca;this.C+=c;a(b,c)}}}; function jb(a){var b;a.b.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.A)a.K(a.toString()+" busy");else{Mb(a);a.b.A=!0;a.b.Ga=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Lb(a));a.u||a.status("Started");setTimeout(a.Na,0)}}k.wa=function(){return 0};function R(a){var b=!1;if(a.b.A){Qb(a);lb(a,a.s);a.s=0;a.b.A=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(w(),Lb(a));b=!0;a.u||a.status("Stopped")}a.b.complete=void 0;return b}var Ob=30,Rb=15,Ib=["power","reset"];
function ib(a){var b;a.b.error?(a.K(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.b.w)a.K(a.toString()+" busy");else{Lb(a);a.b.w=!0;a.b.Ha=!0;if(b=a.i.run)b.textContent="Halt";a.o&&a.o.start(a.j,Kb(a));a.s||a.status("Started");setTimeout(a.Na,0)}}k.za=function(){return 0};function R(a){var b=!1;if(a.b.w){Pb(a);kb(a,a.u);a.u=0;a.b.w=!1;if(b=a.i.run)b.textContent="Run";a.o&&a.o.stop(w(),Kb(a));b=!0;a.s||a.status("Stopped")}a.b.complete=void 0;return b}var Nb=30,Qb=15,Hb=["power","reset"]; function Sb(a){var b=+a.model||1001;Hb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Tb.bind(this);this.a=V.bind(this);this.ha=null;this.Ka=[];this.b.complete=!1}n(Sb,Hb);k=Sb.prototype;k.reset=function(){this.status("Model "+this.Va);this.b.A&&R(this);this.c=this.M=this.qa=0;this.ia=this.h=this.ya=this.La;this.g=0;this.m=this.lb;this.v=this.wb;this.ha=null;Jb(this);this.b.error=!1;Hb.prototype.reset.call(this)};k.Pa=function(){return 0};
function Rb(a){var b=+a.model||1001;Gb.call(this,a,1E6);this.Va=b;this.La=+a.addrReset||0;this.Wa=Sb.bind(this);this.a=V.bind(this);this.ja=null;this.Ka=[];this.b.complete=!1}n(Rb,Gb);k=Rb.prototype;k.reset=function(){this.status("Model "+this.Va);this.b.w&&R(this);this.c=this.M=this.sa=0;this.ka=this.h=this.Ba=this.La;this.g=0;this.m=this.nb;this.A=this.Ab;this.ja=null;Ib(this);this.b.error=!1;Gb.prototype.reset.call(this)};k.Pa=function(){return 0}; k.save=function(){var a=new P(this);a.set(0,[this.c,this.M,this.qa,this.h,this.ya,this.ia,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.b.J]);a.set(3,Ub(this));a.set(4,Pb(this));return a.data()};
k.save=function(){var a=new P(this);a.set(0,[this.c,this.M,this.sa,this.h,this.Ba,this.ka,this.g]);a.set(1,[]);a.set(2,[this.I,this.W,this.b.J]);a.set(3,Tb(this));a.set(4,Ob(this));return a.data()}; k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.c=b.next().value;this.M=b.next().value;this.qa=b.next().value;this.h=b.next().value;this.ya=b.next().value;this.ia=b.next().value;this.g=b.next().value;b=a[2];this.I=b[0];Mb(this,b[1]);this.b.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ka.length;d++){var e=this.Ka[d];if(e.tb===b[c]){d=e;break a}}d=null}d&&(d.next=this.ha,this.ha=d)}a=a[4];for(b=0;b<this.w.length&&b<a.length;b++)this.w[b][0]=
k.restore=function(a){var b;b=a[0];ea();ba();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.c=b.next().value;this.M=b.next().value;this.sa=b.next().value;this.h=b.next().value;this.Ba=b.next().value;this.ka=b.next().value;this.g=b.next().value;b=a[2];this.I=b[0];Lb(this,b[1]);this.b.J=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.Ka.length;d++){var e=this.Ka[d];if(e.vb===b[c]){d=e;break a}}d=null}d&&(d.next=this.ja,this.ja=d)}a=a[4];for(b=0;b<this.v.length&&b<a.length;b++)this.v[b][0]= a[b];return!0};function Ub(a){var b=[];for(a=a.ha;a;)b.push(a.tb),a=a.next;return b}k.lb=function(a){var b=this.l;a=this.ia=a;return b.a[(a&b.g)>>>b.c].m(a&16383,a)};k.wb=function(a,b){var c=this.l;a=this.ia=a;c.a[(a&c.g)>>>c.c].v(b,a&16383,a)};
a[b];return!0};function Tb(a){var b=[];for(a=a.ja;a;)b.push(a.vb),a=a.next;return b}k.nb=function(a){var b=this.l;a=this.ka=a;return b.a[(a&b.g)>>>b.c].m(a&16383,a)};k.Ab=function(a,b){var c=this.l;a=this.ka=a;c.a[(a&c.g)>>>c.c].A(b,a&16383,a)}; k.wa=function(a){this.b.complete=!0;var b=a?this.b.Ga?0:1:-1;this.b.Ga=!1;this.D=this.G=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ha||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.u.h(this.h,b)){R(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.m(this.c):this.qa=this.m(this.ya=this.h);this.c=this.M&262143;if(a=this.M>>18&15)this.c=this.c+this.m(a)&Ta;this.M&4194304?a=-1:(this.h=(this.h+1)%Sa,a=this.qa/Wa|0);0<=a&&this.Wa(a)}while(0<this.G);return this.b.complete?
k.za=function(a){this.b.complete=!0;var b=a?this.b.Ha?0:1:-1;this.b.Ha=!1;this.D=this.G=a;this.g=this.g&-5|0;do{if(a=this.g)if(a=this.g&11)this.g&2?this.ja||(this.g&=-3):this.g&1&&this.g++,a=!1;if(a){if(this.g&4&&this.s.h(this.h,b)){R(this);break}if(0>b)break}this.g&=15;this.M=this.M&4194304?this.m(this.c):this.sa=this.m(this.Ba=this.h);this.c=this.M&262143;if(a=this.M>>18&15)this.c=this.c+this.m(a)&Ta;this.M&4194304?a=-1:(this.h=(this.h+1)%Sa,a=this.sa/Va|0);0<=a&&this.Wa(a)}while(0<this.G);return this.b.complete? this.D-this.G:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Sb(d);B(d,c)}});function Tb(a){Vb[a>>4].call(this,a)}function W(a){this.a(a)}function Wb(a){this.a(a)}function Xb(a){this.a(a)}function Yb(a){var b=a&15,c=this.m(this.c),d=this.m(b),d=Zb(a,d,c)+(c-(c&262143));this.v(b,d)}function $b(a){var b=a&15,c=this.m(b),c=Zb(a,c,0);this.v(b,c)}
this.D-this.G:!1===this.b.complete?-1:0};I(function(){for(var a=D(document,C,"cpu"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Rb(d);B(d,c)}});function Sb(a){Ub[a>>4].call(this,a)}function W(a){this.a(a)}function Vb(a){this.a(a)}function Wb(a){this.a(a)}function Xb(a){a&=15;var b=this.m(this.c),c=this.m(a);this.A(a,(c&262143)+(b-(b&262143)))}function Yb(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a);this.A(a,c-(c&262143)+b)}function X(a){this.a(a)} function ac(a){var b=this.m(a&15),c=this.m(this.c),c=Zb(a,c,b)+(b-(b&262143));this.v(this.c,c)}function bc(a){var b=this.m(this.c);this.v(this.c,Zb(a,b,b));var c=a&15;c&&(b=this.m(c),this.v(c,Zb(a,b,b)))}function cc(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a);this.v(a,c-(c&262143)+b)}function X(a){this.a(a)}function V(a){this.K("undefined opcode: "+wa(a));this.h=(this.h+-1)%Sa;R(this)}
function V(a){this.K("undefined opcode: "+wa(a));this.h=(this.h+-1)%Sa;R(this)} function Zb(a,b,c){switch(a&384){case 0:b&=262143;break;case 128:b=0;break;case 256:b=262143;break;case 384:b=c>Va?262143:0}return b}
var Ub=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, var Vb=[W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,W,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Vb,Wb,Wb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Vb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Wb,Xb,Xb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Wb,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},V,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
@ -107,58 +107,57 @@ function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a)
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Xb,function(a){a&=15;var b=this.m(a);this.A(a,b&262143)},function(a){a=this.m(a&15);var b=this.m(this.c);this.A(this.c,(b&262143)+(a-(a&262143)))},function(a){a&15&&Xb.call(this,a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Yb,$b,ac,bc,function(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a),c=(c&262143)+b*M;this.v(a,c)},function(a){a&=15;var b=this.m(a),b=(b&262143)+this.c*M;this.v(a,b)},function(a){a=
function(a){a&=15;var b=this.m(this.c)&262143,c=this.m(a),c=(c&262143)+b*M;this.A(a,c)},function(a){a&=15;var b=this.m(a),b=(b&262143)+this.c*M;this.A(a,b)},function(a){a=this.m(a&15)&262143;var b=this.m(this.c),b=(b&262143)+a*M;this.A(this.c,b)},function(a){var b=this.m(this.c)&262143;this.A(this.c,b+b*M);if(a&=15)b=this.m(a)&262143,this.A(a,b+b*M)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, this.m(a&15)&262143;var b=this.m(this.c),b=(b&262143)+a*M;this.v(this.c,b)},function(a){var b=this.m(this.c)&262143;this.v(this.c,b+b*M);if(a&=15)b=this.m(a)&262143,this.v(a,b+b*M)},Yb,$b,ac,bc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Yb,$b,ac,bc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Yb,$b,ac,bc,function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},cc,function(a){a&=
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},Yb,function(a){a&=15;var b=this.m(a),b=b-(b&262143)+this.c;this.A(a,b)},function(a){a=this.m(a&15)&262143;var b= 15;var b=this.m(a),b=b-(b&262143)+this.c;this.v(a,b)},function(a){a=this.m(a&15)&262143;var b=this.m(this.c);this.v(this.c,b-(b&262143)+a)},function(a){a&15&&cc.call(this,a)},function(a){a&=15;var b=this.m(this.c)/M|0,c=this.m(a);this.v(a,c-(c&262143)+b)},function(a){a&=15;var b=this.m(a);this.v(a,b-(b&262143))},function(a){a=this.m(a&15)/M|0;var b=this.m(this.c);this.v(this.c,b-(b&262143)+a)},function(a){var b=this.m(this.c);this.v(this.c,(b&262143)+(b/M|0));if(a&=15)b=this.m(a),this.v(a,(b&262143)+
this.m(this.c);this.A(this.c,b-(b&262143)+a)},function(a){a&15&&Yb.call(this,a)},function(a){a&=15;var b=this.m(this.c)/M|0,c=this.m(a);this.A(a,c-(c&262143)+b)},function(a){a&=15;var b=this.m(a);this.A(a,b-(b&262143))},function(a){a=this.m(a&15)/M|0;var b=this.m(this.c);this.A(this.c,b-(b&262143)+a)},function(a){var b=this.m(this.c);this.A(this.c,(b&262143)+(b/M|0));if(a&=15)b=this.m(a),this.A(a,(b&262143)+(b/M|0))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, (b/M|0))},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)}, function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},
function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},function(a){this.a(a)},X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X];
X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X]; function dc(a){t.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.c=a.alias;"string"==typeof this.c&&(this.c=eval(this.c));this.h=a.file;this.s=xa(this.h);if(this.h){a=this.h;var b=ya(this.s);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(la(c.ma,a,b),(a=Ea(a,b))?(c.a=a.H,c.N=a.N):c.h=null);ec(c)})}}n(dc,t);
function Zb(a){t.call(this,"ROM",a);this.N=this.a=null;this.j=+a.addr;this.g=+a.size;this.c=a.alias;"string"==typeof this.c&&(this.c=eval(this.c));this.h=a.file;this.u=xa(this.h);if(this.h){a=this.h;var b=ya(this.u);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.h+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.h=null):(la(c.oa,a,b),(a=Ea(a,b))?(c.a=a.H,c.N=a.N):c.h=null);$b(c)})}}n(Zb,t); dc.prototype.Z=function(a,b,c,d){this.l=b;this.f=c;this.u=d;ec(this)};dc.prototype.V=function(){this.N&&(this.u&&this.u.a(this.id,this.j,this.g,this.N),delete this.N);return!0};dc.prototype.P=function(){return!0};
Zb.prototype.Z=function(a,b,c,d){this.l=b;this.f=c;this.s=d;$b(this)};Zb.prototype.V=function(){this.N&&(this.s&&this.s.a(this.id,this.j,this.g,this.N),delete this.N);return!0};Zb.prototype.P=function(){return!0}; function ec(a){if(!ua(a)){if(a.h){if(!a.a||!a.l)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.F(b)}else{b=a.j;if(sb(a.l,b,a.g,Ab)){var c;for(c=0;c<a.a.length;c++)ob(a.l,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.c?b.push(a.c):null!=a.c&&a.c.length&&(b=a.c);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.l,g=d.g,h=[],l=d.j>>>f.c;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.l;
function $b(a){if(!ua(a)){if(a.h){if(!a.a||!a.l)return;a.g||(a.g=a.a.length);if(a.a.length!=a.g){var b="ROM size ("+F(a.a.length,8,!0)+") does not match specified size ("+F(a.g,8,!0)+")";a.b.error=!0;a.F(b)}else{b=a.j;if(rb(a.l,b,a.g,zb)){var c;for(c=0;c<a.a.length;c++)nb(a.l,b+c,a.a[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.c?b.push(a.c):null!=a.c&&a.c.length&&(b=a.c);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.l,g=d.g,h=[],l=d.j>>>f.c;0<g&&l<f.a.length;)h.push(f.a[l++]),g-=16384;f=d.l; d=d.g;g=0;for(e>>>=f.c;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}E(a)}}I(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new dc(d);B(d,c)}});
d=d.g;g=0;for(e>>>=f.c;0<d&&e<f.a.length;){l=h[g++];if(!l)break;f.a[e++]=l;d-=16384}}delete a.a}}}E(a)}}I(function(){for(var a=D(document,C,"rom"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Zb(d);B(d,c)}}); function Y(a){t.call(this,"RAM",a);this.N=this.Y=null;this.c=+a.addr;this.g=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.h=this.s=!1;this.a=a.file;this.j=xa(this.a);if(this.a){a=this.a;var b=ya(this.j);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.F("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(la(c.ma,a,b),(a=Ea(a,b))?(c.Y=a.Y,c.N=a.N,null==
function Y(a){t.call(this,"RAM",a);this.N=this.Y=null;this.c=+a.addr;this.g=+a.size;this.T=a.load;this.S=a.exec;null!=this.T&&(this.T=+this.T);null!=this.S&&(this.S=+this.S);this.h=this.u=!1;this.a=a.file;this.j=xa(this.a);if(this.a){a=this.a;var b=ya(this.j);"json"!=b&&"hex"!=b&&(a=G()+"/api/v1/dump?file="+this.a+"&format=bytes&decimal=true");var c=this;H(a,null,!0,function(a,b,f){f?(c.F("Unable to load RAM resource (error "+f+": "+a+")"),c.a=null):(la(c.oa,a,b),(a=Ea(a,b))?(c.Y=a.Y,c.N=a.N,null== c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);fc(c)})}}n(Y,t);Y.prototype.Z=function(a,b,c,d){this.l=b;this.f=c;this.u=d;fc(this)};Y.prototype.V=function(a,b){this.N&&(this.u&&this.u.a(this.id,this.c,this.g,this.N),delete this.N);b||this.reset();return!0};Y.prototype.P=function(){return!0};
c.T&&(c.T=a.T),null==c.S&&(c.S=a.S)):c.a=null);ac(c)})}}n(Y,t);Y.prototype.Z=function(a,b,c,d){this.l=b;this.f=c;this.s=d;ac(this)};Y.prototype.V=function(a,b){this.N&&(this.s&&this.s.a(this.id,this.c,this.g,this.N),delete this.N);b||this.reset();return!0};Y.prototype.P=function(){return!0}; function fc(a){if(a.l&&(!a.h&&a.g&&(sb(a.l,a.c,a.g,1)?a.h=!0:a.g=0),!ua(a))){if(!a.h)x("No RAM allocated");else if(a.a){if(!a.Y)return;gc(a,a.Y,a.T,a.S,a.c)?a.status('Loaded image "'+a.j+'"'):a.F('Error loading image "'+a.j+'"')}a.s=!0;E(a)}}
function ac(a){if(a.l&&(!a.h&&a.g&&(rb(a.l,a.c,a.g,1)?a.h=!0:a.g=0),!ua(a))){if(!a.h)x("No RAM allocated");else if(a.a){if(!a.Y)return;bc(a,a.Y,a.T,a.S,a.c)?a.status('Loaded image "'+a.j+'"'):a.F('Error loading image "'+a.j+'"')}a.u=!0;E(a)}} Y.prototype.reset=function(){if(this.h&&!this.s){for(var a=this.l,b=this.c,c=this.g,d=b&16383,b=b>>>a.c;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ka&&(g+=ia);g=Math.trunc(Math.abs(g))%ia;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.l(g,d,e.aa+d);c-=16384;b++;d=0}this.Y&&gc(this,this.Y,this.T,this.S,this.c,!this.u)}this.s=!1};
Y.prototype.reset=function(){if(this.h&&!this.u){for(var a=this.l,b=this.c,c=this.g,d=b&16383,b=b>>>a.c;0<c&&b<a.a.length;){var e=a.a[b],f=c,g=0,h,d=d||0,g=g||0;0>g&&g>=ka&&(g+=ja);g=Math.trunc(Math.abs(g))%ja;void 0===f&&(f=e.size);for(h=d;f--&&h<e.size;h++)e.l(g,d,e.aa+d);c-=16384;b++;d=0}this.Y&&bc(this,this.Y,this.T,this.S,this.c,!this.s)}this.u=!1}; function gc(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)ob(a.l,c+g,b[g]);g=!0}g&&(null==d&&(R(a.f),f=!1),null!=d&&(a=a.f,a.La=d,a.h=d%Sa,f?a.b.B?a.b.A||jb(a):a.b.J=!0:a.u&&a.b.B?R(a)||a.o.b.reset||(a.u.g(),S(a.o,-1)):!1===f&&R(a),!a.b.A&&a.ka&&a.ka.stop()));return g}I(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}});
function bc(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)nb(a.l,c+g,b[g]);g=!0}g&&(null==d&&(R(a.f),f=!1),null!=d&&(a=a.f,a.La=d,a.h=d%Sa,f?a.b.B?a.b.w||ib(a):a.b.J=!0:a.s&&a.b.B?R(a)||a.o.b.reset||(a.s.g(),S(a.o,-1)):!1===f&&R(a),!a.b.w&&a.ma&&a.ma.stop()));return g}I(function(){for(var a=D(document,C,"ram"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new Y(d);B(d,c)}}); function hc(a){t.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.c=[];var b=a.binding;if("console"!=b){var c;a=ic;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.i[b])&&this.U(null,a,b))}this.a=this.j=null;this.exports={connect:this.Qa,receiveData:this.ua,receiveStatus:this.nb,setConnection:this.qb}}n(hc,t);k=hc.prototype;
function cc(a){t.call(this,"SerialPort",a);this.h=a.upperCase;"string"==typeof this.h&&(this.h="true"==this.h);this.g=!0;this.c=[];var b=a.binding;if("console"!=b){var c;a=dc;b&&(void 0===c&&(c="Panel"),(c=z(c,this.id))&&(b=c.i[b])&&this.U(null,a,b))}this.a=this.j=null;this.exports={connect:this.Qa,receiveData:this.xa,receiveStatus:this.pb,setConnection:this.sb}}n(cc,t);k=cc.prototype; k.U=function(a,b,c){var d=this;switch(b){case ic:return this.i[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Ja:q.Ua:46==c?b=q.Ja:a.ctrlKey&&c>=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));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==q.Ta&&(b=q.Sa);d.ua(b);a.preventDefault&&a.preventDefault()}return!0},c.onpaste=function(a){a.stopPropagation&&a.stopPropagation();
k.U=function(a,b,c){var d=this;switch(b){case dc:return this.i[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?q.Ja:q.Ua:46==c?b=q.Ja:a.ctrlKey&&c>=q.Ia&&c<=q.Ya&&(b=c-(q.Ia-q.Ra));b&&(a.preventDefault&&a.preventDefault(),d.xa(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==q.Ta&&(b=q.Sa);d.xa(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};k.Z=function(a,b,c,d){this.o=a;this.l=b;this.f=c;this.u=d;E(this)};
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.xa(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};k.Z=function(a,b,c,d){this.o=a;this.l=b;this.f=c;this.s=d;E(this)}; k.Qa=function(a){if(!this.a){var b=U(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.la)return;c=Ca(c[1]);if(this.a=oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.ma+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0};
k.Qa=function(a){if(!this.a){var b=U(this.o,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.na)return;c=Ca(c[1]);if(this.a=oa(c)){var e=this.a.exports;if(e){var f=e.connect;f&&f.call(this.a,this.g);if(this.j=e.receiveData){this.g=a;this.status("Connected "+this.oa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};k.V=function(a,b){if(!b)if(this.Qa(this.g),!a)this.reset();else if(!this.restore(a))return!1;return!0}; k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.ua=function(a){if("number"==typeof a)this.c.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.c.push(b)}else this.c=this.c.concat(a);return!0};k.nb=function(){};k.qb=function(a,b){return this.a?!1:(this.a=a,this.j=b,!0)};var ic="buffer";
k.P=function(a){return a?this.save():!0};k.reset=function(){};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return!0};k.xa=function(a){if("number"==typeof a)this.c.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.c.push(b)}else this.c=this.c.concat(a);return!0};k.pb=function(){};k.sb=function(a,b){return this.a?!1:(this.a=a,this.j=b,!0)};var dc="buffer"; I(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new hc(d);B(d,c)}});
I(function(){for(var a=D(document,C,"serial"),b=0;b<a.length;b++){var c=a[b],d=A(c),d=new cc(d);B(d,c)}}); function jc(a,b,c){t.call(this,"Computer",a);this.b.B=!1;this.M=null;kc(this,b);this.I=U(this,"autoPower",a,6);this.h=0;this.W=+a.busWidth||+a.buswidth;this.D=this.s=this.G=null;this.C=this.R=!1;this.w=this.j=null;this.O=this.L=!1;this.X=U(this,"url")||"";(Math.random()+.1).toString(36);this.c=lc(this);if(this.f=z("CPU",this.id)){this.u=z("Debugger",this.id);this.l=new pb({id:this.ma+".bus",busWidth:this.W},this.f,this.u);var d,e=y(this.id);if((this.g=z("Panel",this.id))&&this.g.ba)for(b=0;b<e.length;b++)d=
function ec(a,b,c){t.call(this,"Computer",a);this.b.B=!1;this.M=null;fc(this,b);this.I=U(this,"autoPower",a,6);this.h=0;this.W=+a.busWidth||+a.buswidth;this.D=this.u=this.G=null;this.C=this.R=!1;this.v=this.j=null;this.O=this.L=!1;this.X=U(this,"url")||"";(Math.random()+.1).toString(36);this.c=gc(this);if(this.f=z("CPU",this.id)){this.s=z("Debugger",this.id);this.l=new ob({id:this.oa+".bus",busWidth:this.W},this.f,this.s);var d,e=y(this.id);if((this.g=z("Panel",this.id))&&this.g.ba)for(b=0;b<e.length;b++)d= e[b],d.F=this.g.F,d.K=this.g.K,d.ba=this.g.ba;this.K(L+" v1.34.0\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.Z&&d.Z(this,this.l,this.f,this.u);b=null;d=U(this,"resume",a);void 0!==d&&(1<d.length?b=this.s=d:this.a=parseInt(d,10));var f;if(a=U(this,"state")||(f=!0,a.state))this.G=b=a,f||(this.C=!0,this.a=mc),this.a&&(this.w=new P(this,"1.34.0"),Z(this.w)?b=null:delete this.w);!b&&this.a&&
e[b],d.F=this.g.F,d.K=this.g.K,d.ba=this.g.ba;this.K(L+" v1.34.0\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.Z&&d.Z(this,this.l,this.f,this.s);b=null;d=U(this,"resume",a);void 0!==d&&(1<d.length?b=this.u=d:this.a=parseInt(d,10));var f;if(a=U(this,"state")||(f=!0,a.state))this.G=b=a,f||(this.C=!0,this.a=hc),this.a&&(this.v=new P(this,"1.34.0"),Z(this.v)?b=null:delete this.v);!b&&this.a&& (b=nc(this))&&(this.C=!0);if(b){var g=this;H(b,null,!0,function(a,b,c){c?(g.s=null,g.C=!1,g.F("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.D=b,g.R=!0);E(g)})}else E(this);this.i.power||(this.I=!0);!c&&this.I&&oc(this,this.ga)}else x("Unable to find CPU component")}n(jc,t);function kc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.M=b}
(b=ic(this))&&(this.C=!0);if(b){var g=this;H(b,null,!0,function(a,b,c){c?(g.u=null,g.C=!1,g.F("Unable to load machine state from server (error "+c+(b?": "+Ca(b):"")+")")):(g.D=b,g.R=!0);E(g)})}else E(this);this.i.power||(this.I=!0);!c&&this.I&&jc(this,this.ga)}else x("Unable to find CPU component")}n(ec,t);function fc(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){x(d.message+" ("+c+")")}}a.M=b} function U(a,b,c,d){var e=b.toLowerCase(),e=Ka(b)||Ka(e);void 0===e&&a.M&&(e=a.M[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 oc(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ua(f)){ua(f,function(){oc(a,b,c)});return}}b.call(a,c)}
function U(a,b,c,d){var e=b.toLowerCase(),e=Ka(b)||Ka(e);void 0===e&&a.M&&(e=a.M[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 jc(a,b,c){for(var d=y(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!ua(f)){ua(f,function(){jc(a,b,c)});return}}b.call(a,c)} function pc(a,b){var c=new P(a,"1.34.0",qc);if(Z(c)&&rc(c)){var d=c.get(sc),e=b?b.get(sc):"unknown";d!=e&&(a.F("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=jc.prototype;
function kc(a,b){var c=new P(a,"1.34.0",lc);if(Z(c)&&mc(c)){var d=c.get(nc),e=b?b.get(nc):"unknown";d!=e&&(a.F("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=ec.prototype; k.ga=function(a){void 0===a&&(a=this.a||(this.D?tc:mc));if(!this.h){this.h++;var b=!1,c=!1;this.L=!1;var d=this.w||new P(this,"1.34.0");if(a==uc)b=!0;else if(a>mc){if(Z(d,this.D)){this.j=new P(this,"1.34.0",vc);Z(this.j)&&(wc(this,d),a=xc,yc(this.j));this.j.set(sc,Da());zc(this.j);var e=this.a&&!this.C;if(a==tc||na("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=rc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!=
k.ga=function(a){void 0===a&&(a=this.a||(this.D?oc:hc));if(!this.h){this.h++;var b=!1,c=!1;this.L=!1;var d=this.v||new P(this,"1.34.0");if(a==pc)b=!0;else if(a>hc){if(Z(d,this.D)){this.j=new P(this,"1.34.0",qc);Z(this.j)&&(rc(this,d),a=sc,tc(this.j));this.j.set(nc,Da());uc(this.j);var e=this.a&&!this.C;if(a==oc||na("Click OK to restore the previous "+L+" machine state, or CANCEL to reset the machine.")){if(c=mc(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Z(d,g):("error"==f&&"no machine state"!= g?(this.F("Error: "+g),"unable to verify user"==g&&(Ia(Ac,""),this.c=null)):this.K(f+": "+g),yc(d),Z(d)?(c=rc(d),e=!0):c=!1))}e&&pc(this,c?d:null)}else a==xc&&d.clear()}else pc(this);delete this.D;delete this.w}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=Bc(this,g,d,b,c));b=[d,a,c];a!=uc?oc(this,this.Oa,b):this.Oa(b)}};
g?(this.F("Error: "+g),"unable to verify user"==g&&(Ia(vc,""),this.c=null)):this.K(f+": "+g),tc(d),Z(d)?(c=mc(d),e=!0):c=!1))}e&&kc(this,c?d:null)}else a==sc&&d.clear()}else kc(this);delete this.D;delete this.v}e=y(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.f&&(c=wc(this,g,d,b,c));b=[d,a,c];a!=pc?jc(this,this.Oa,b):this.Oa(b)}}; function Bc(a,b,c,d,e){if(!b.b.B){b.b.B=!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.V(f,d)&&f&&(x("Unable to restore state for "+b.type),a.G&&!a.R?(c.clear(),a.a=mc,window&&window.location.reload()):a.L=!0,b.V(null),e=!1),!d&&b.Ma){var g=b.Ma.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
function wc(a,b,c,d,e){if(!b.b.B){b.b.B=!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.V(f,d)&&f&&(x("Unable to restore state for "+b.type),a.G&&!a.R?(c.clear(),a.a=hc,window&&window.location.reload()):a.L=!0,b.V(null),e=!1),!d&&b.Ma){var g=b.Ma.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){x("Error restoring state for "+b.type+" ("+h.message+")")}}return e} k.Oa=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.b.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(Bc(this,this.f,b,c,a),S(this,-2),this.f.J());this.L&&(wc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0};
k.Oa=function(a){var b=a[0],c=0>a[1];a=a[2];this.O=!0;this.b.B=!0;var d=this.i.power;d&&(d.textContent="Shutdown");this.f&&(wc(this,this.f,b,c,a),S(this,-2),this.f.J());this.L&&(rc(this,b),b.clear());!c&&this.j&&(this.j.clear(),delete this.j);this.h=0}; function wc(a,b){if(na("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.c||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}}
function rc(a,b){if(na("There may be a problem with your "+L+" machine.\n\nTo help us diagnose it, click OK to send this "+L+" machine state to http://www.pcjs.org.")){var c=a.X;a=a.c||"";b=b.toString();var d={};d.app=L;d.ver="1.34.0";d.url=c;d.user=a;d.type="bug";d.data=b;H("http://www.pcjs.org/api/v1/report",d,!0)}} function Cc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new P(a,"1.34.0"),g=new P(a,"1.34.0",qc),h=Da();g.set(sc,h);f.set(sc,h);f.set(Dc,"1.34.0");f.set(Ec,window?window.location.href:null);f.set(Fc,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.b.J=a.f.b.A),R(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.b.B=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l<h.length;l++){var p=h[l];p.b.B&&(p.P&&(d=p.P(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.b.B=!1,!1===
function xc(a,b,c){var d,e="none";if(a.h)return null;a.h--;var f=new P(a,"1.34.0"),g=new P(a,"1.34.0",lc),h=Da();g.set(nc,h);f.set(nc,h);f.set(yc,"1.34.0");f.set(zc,window?window.location.href:null);f.set(Ac,window?window.navigator.userAgent:"");a.f&&a.f.P&&(c&&(b&&(a.f.b.J=a.f.b.w),R(a.f)),d=a.f.P(b,c),"object"===typeof d&&f.set(a.f.id,d),c&&(a.f.b.B=!1,!1===d&&(e=null)));for(var h=y(a.id),l=0;l<h.length;l++){var p=h[l];p.b.B&&(p.P&&(d=p.P(b,c),"object"===typeof d&&f.set(p.id,d)),c&&(p.b.B=!1,!1=== d&&(e=null)))}e&&(c?(h=d=!1,b?(a.c&&Gc(a,a.c,f.toString()),zc(g)&&zc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==Hc),d&&f.clear(h)):e=f.toString());c&&(a.b.B=!1,b=a.i.power)&&(b.textContent="Power");a.h=0;return e}k.reset=function(){this.b.reset=!0;this.l&&this.l.reset&&this.l.reset();this.f&&this.f.reset&&this.f.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c!==this.f&&c.reset&&c.reset()}this.b.reset=!1;S(this,-1)};
d&&(e=null)))}e&&(c?(h=d=!1,b?(a.c&&Bc(a,a.c,f.toString()),uc(g)&&uc(f)||(e=null,d=h=!0)):a.a&&(d=!0,h=a.a==Cc),d&&f.clear(h)):e=f.toString());c&&(a.b.B=!1,b=a.i.power)&&(b.textContent="Power");a.h=0;return e}k.reset=function(){this.b.reset=!0;this.l&&this.l.reset&&this.l.reset();this.f&&this.f.reset&&this.f.reset();for(var a=y(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.l&&c!==this.f&&c.reset&&c.reset()}this.b.reset=!1;S(this,-1)};
k.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}S(this,-1)};k.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}S(this,-1)}; k.start=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}S(this,-1)};k.stop=function(a,b){for(var c=y(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}S(this,-1)};
function S(a,b){if(a.f){var c=a.f,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.Aa+=d))&&(e.textContent=c.b.w?c.L.toFixed(2)+"Mhz":"Stopped",c.Aa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.b.w;d=!!(a.f.g&8);if(0>=b||60<=(a.C+=b)){e=a.f.h;if(a.i.PC){var f=a.s&&a.s.j||8,e=e||0,e=8==f?wa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.c=a.f.h:0<b&&c&&!d&&(a.c=a.f.ka);Q(a,a.c);N(a,a.h)}} function S(a,b){if(a.f){var c=a.f,d=b||0,e=c.i.speed;e&&(0>=d||30<=(c.xa+=d))&&(e.textContent=c.b.A?c.L.toFixed(2)+"Mhz":"Stopped",c.xa=0)}if(a.g&&(a=a.g,b=b||0,a.D)){c=a.f.b.A;d=!!(a.f.g&8);if(0>=b||60<=(a.C+=b)){e=a.f.h;if(a.i.PC){var f=a.u&&a.u.j||8,e=e||0,e=8==f?wa(e,void 0):F(e,void 0);a.i.PC.textContent!=e&&(a.i.PC.textContent=e)}a.C=0}-1>b?a.c=a.f.h:0<b&&c&&!d&&(a.c=a.f.ia);Q(a,a.c);N(a,a.h)}}
k.U=function(a,b,c){var d=this;switch(b){case "power":return this.i[b]=c,c.onclick=function(){d.h||(d.b.B?xc(d,!1,!0):jc(d,d.ga))},!0;case "reset":return this.i[b]=c,c.onclick=function(){if(d.b.B&&!d.h)if(d.a&&!d.u){var a=na("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");xc(d,a,!0);!a&&d.G?window&&window.location.reload():d.ga(hc)}else d.reset(),d.f&&!d.s&&d.f.J()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.i[b]= k.U=function(a,b,c){var d=this;switch(b){case "power":return this.i[b]=c,c.onclick=function(){d.h||(d.b.B?Cc(d,!1,!0):oc(d,d.ga))},!0;case "reset":return this.i[b]=c,c.onclick=function(){if(d.b.B&&!d.h)if(d.a&&!d.s){var a=na("Click OK to save changes to this "+L+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Cc(d,a,!0);!a&&d.G?window&&window.location.reload():d.ga(mc)}else d.reset(),d.f&&!d.u&&d.f.J()},!0;case "save":if(za())c.parentNode.removeChild(c);else return this.i[b]=
c,c.onclick=function(){var a=gc(d,!0);if(a){var b=!!(d.a&&!d.u||d.G),c=xc(d,b);b?Bc(d,a,c):d.F("Resume disabled, machine state not saved")}},!0}return!1};function gc(a,b){var c=a.c;c||((c=Ha(vc),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=Dc(a,c))||a.F("The user ID is invalid.")):b&&a.F("Browser local storage is not available"));return c} c,c.onclick=function(){var a=lc(d,!0);if(a){var b=!!(d.a&&!d.s||d.G),c=Cc(d,b);b?Gc(d,a,c):d.F("Resume disabled, machine state not saved")}},!0}return!1};function lc(a,b){var c=a.c;c||((c=Ha(Ac),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=Ic(a,c))||a.F("The user ID is invalid.")):b&&a.F("Browser local storage is not available"));return c}
function Dc(a,b){a.c=null;b=H(G()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ia(vc,b.data),a.c=b.data)}catch(d){x(d.message+" ("+c+")")}return a.c}function ic(a){var b=null;a.c&&(b=G()+"/api/v1/user?req=load&user="+a.c+"&state="+Ec(a,"1.34.0"));return b} function Ic(a,b){a.c=null;b=H(G()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ia(Ac,b.data),a.c=b.data)}catch(d){x(d.message+" ("+c+")")}return a.c}function nc(a){var b=null;a.c&&(b=G()+"/api/v1/user?req=load&user="+a.c+"&state="+Jc(a,"1.34.0"));return b}
function Bc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Ec(a,"1.34.0");d.data=c;b=H(G()+"/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.F("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.F(c),Ia(vc,""),a.c=null)}} function Gc(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Jc(a,"1.34.0");d.data=c;b=H(G()+"/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.F("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.F(c),Ia(Ac,""),a.c=null)}}
var qc="failsafe",lc="validate",nc="timestamp",yc="version",zc="url",Ac="browser",vc="user",pc=-1,hc=0,oc=1,sc=2,Cc=3;I(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new ec(g,d,!0);B(g,f);g.I&&jc(g,g.ga)}});J.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.O&&!c.b.B&&c.ga(pc)}}); var vc="failsafe",qc="validate",sc="timestamp",Dc="version",Ec="url",Fc="browser",Ac="user",uc=-1,mc=0,tc=1,xc=2,Hc=3;I(function(){for(var a=D(document,C+"-machine"),b=0;b<a.length;b++)for(var c=a[b],d=A(c),c=D(c,C,"computer"),e=0;e<c.length;e++){var f=c[e],g=A(f),g=new jc(g,d,!0);B(g,f);g.I&&oc(g,g.ga)}});J.show.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.O&&!c.b.B&&c.ga(uc)}});
J.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.b.B&&xc(c,!(!c.a||c.u),!0)}});function P(a,b,c){this.id=a.id;this.f="";this.a={};this.i=this.l=!1;this.key=Ec(a,b,c);tc(this,a.Xa)}k=P.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function Z(a,b){return b?(a.f=b,a.i=!0,a.l=!1,!0):a.i?!0:Fa()&&(b=Ha(a.key))?(a.f=b,a.i=!0):!1} J.exit.push(function(){for(var a=D(document,C,"computer"),b=0;b<a.length;b++){var c=A(a[b]);(c=z("Computer",c.id))&&c.b.B&&Cc(c,!(!c.a||c.s),!0)}});function P(a,b,c){this.id=a.id;this.f="";this.a={};this.i=this.l=!1;this.key=Jc(a,b,c);yc(this,a.Xa)}k=P.prototype;k.set=function(a,b){try{this.a[a]=b}catch(c){}};k.get=function(a){return this.a[a]||null};k.data=function(){return this.a};function Z(a,b){return b?(a.f=b,a.i=!0,a.l=!1,!0):a.i?!0:Fa()&&(b=Ha(a.key))?(a.f=b,a.i=!0):!1}
function mc(a){var b=!0;if(!a.l)try{a.a=JSON.parse(a.f),a.l=!0}catch(c){x(c.message||c),b=!1}return b}function uc(a){var b=!0;if(Fa()){var c=JSON.stringify(a.a);Ia(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.f};function tc(a,b){a.f="";a.a={};a.i=a.l=!1;b&&a.set("parms",b)} function rc(a){var b=!0;if(!a.l)try{a.a=JSON.parse(a.f),a.l=!0}catch(c){x(c.message||c),b=!1}return b}function zc(a){var b=!0;if(Fa()){var c=JSON.stringify(a.a);Ia(a.key,c)||(x("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}k.toString=function(){return this.a?JSON.stringify(this.a):this.f};function yc(a,b){a.f="";a.a={};a.i=a.l=!1;b&&a.set("parms",b)}
k.clear=function(a){tc(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 Ec(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 Fc=0; k.clear=function(a){yc(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 Jc(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 Kc=0;
function Gc(a,b,c,d,e,f,g){f("Loading "+a+"...");H(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):Hc(l,a,b,c,d,e,f,g)})} function Lc(a,b,c,d,e,f,g){f("Loading "+a+"...");H(a,null,!0,function(h,l,p){p?(l||(l="unable to load "+a+" ("+p+")"),g(l,null)):Mc(l,a,b,c,d,e,f,g)})}
function Hc(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(la(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 Mc(a,b,c,d,e,f,g,h){function l(a,g){if(g)h(g,null);else{c&&(la(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(v){g=null,a=v.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Ic(a,g,l):l(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(v){g=null,a=v.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?Nc(a,g,l):l(a,null):h("no data"+(b?" for file: "+b:""),null)}
function Ic(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, function Nc(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");H(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 l=h[0],p,r=/( [a-z]+=)(['"])(.*?)\2/g;p=r.exec(f);)l=0>l.indexOf(p[1])?l.replace(">",p[0]+">"):l.replace(new RegExp(p[1]+"(['\"])(.*?)\\1"),p[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);Ic(a,b,c)}})}else c(a,null)} "");a=a.replace(d[0],g);Nc(a,b,c)}})}else c(a,null)}
function Jc(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=Aa(a))}function g(a){f("Error: "+a);p&&(--Fc||K(!0));p=!1}var h,l,p=!0;Fc++;ma[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ia=document.createElement("style");ia.type="text/css";ia.styleSheet?ia.styleSheet.cssText=r:ia.appendChild(document.createTextNode(r));v.appendChild(ia)}d|| function Oc(a,b,c,d,e){function f(a){if(void 0===l){var b=h&&D(h,"machine-warning");l=b&&b[0]||h}l&&(l.innerHTML=Aa(a))}function g(a){f("Error: "+a);p&&(--Kc||K(!0));p=!1}var h,l,p=!0;Kc++;ma[b]={};try{if(h=document.getElementById(b)){var r;if("object"==typeof resources&&(r=resources.css)){var v=document.head||document.getElementsByTagName("head")[0],ja=document.createElement("style");ja.type="text/css";ja.styleSheet?ja.styleSheet.cssText=r:ja.appendChild(document.createTextNode(r));v.appendChild(ja)}d||
(r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.0/components.xsl");r=function(e,l){l?Gc(d,null,a,null,!1,f,function(a,e){e?(la(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Fc||K(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Fc|| (r=a,"pdp"==a.substr(0,3)&&(r="pdpjs"),d="/versions/"+r+"/1.34.0/components.xsl");r=function(e,l){l?Lc(d,null,a,null,!1,f,function(a,e){e?(la(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=l.transformNode(e))?(h.outerHTML=e,--Kc||K(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(l,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Kc||
K(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Gc(c,b,a,e,!0,f,r):Hc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(Kc){g(Kc.message)}return p}window.embedPDP10=function(a,b,c,d){K(!1);return Jc("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){K(!1);return Jc("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")}; K(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Lc(c,b,a,e,!0,f,r):Mc(c,null,b,a,e,!1,f,r)}else g("missing machine element: "+b)}catch(Pc){g(Pc.message)}return p}window.embedPDP10=function(a,b,c,d){K(!1);return Oc("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){K(!1);return Oc("pdp11",a,b,c,d)};window.findMachineComponent=function(a,b){return z(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!qa[a]){for(var c=!0,d=qa,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r<f;r++){var v=b[r];if('"'==v||"'"==v)p&&v!=p?l+=v:(p?p=null:p=v,l&&(h.push(l),l=""));else{if(!p){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){l&&(h.push(l),l="");";"==v&&h.length&&(g.push(h),h=[]);continue}}l+=v}}l&&h.push(l);h.length&&g.push(h);d[e]=g;pa(a)||(c=!1)}return c};window.enableEvents=K;window.sendEvent=Qa;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10.map window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!qa[a]){for(var c=!0,d=qa,e=a,f=b.length,g=[],h=[],l="",p=null,r=0;r<f;r++){var v=b[r];if('"'==v||"'"==v)p&&v!=p?l+=v:(p?p=null:p=v,l&&(h.push(l),l=""));else{if(!p){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){l&&(h.push(l),l="");";"==v&&h.length&&(g.push(h),h=[]);continue}}l+=v}}l&&h.push(l);h.length&&g.push(h);d[e]=g;pa(a)||(c=!1)}return c};window.enableEvents=K;window.sendEvent=Qa;})();//# sourceMappingURL=/tmp/pdpjs/1.34.0/pdp10.map