pcjs/versions/pdpjs/1.37.0/pdp10-dbg.js

308 lines
116 KiB
JavaScript

(function(){/*
http://pcjs.org/modules/shared/lib/dumpapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/reportapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/userapi.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/keys.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/strlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/weblib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/messages.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/device.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/rom.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/ram.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/computer.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/embed.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/usrlib.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/shared/lib/component.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/defines.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/panel.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/bus.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/memory.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpu.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpustate.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/cpuops.js (C) Jeff Parsons 2012-2017
http://pcjs.org/modules/pdp10/lib/serial.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/macro10.js (C) Jeff Parsons 2012-2017
*/
var m,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ba="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ca(){ca=function(){};ba.Symbol||(ba.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
function ea(){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 fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[ba.Symbol.iterator]=function(){return this};return a}
var ja="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ka;if("function"==typeof Object.setPrototypeOf)ka=Object.setPrototypeOf;else{var na;a:{var oa={yb:!0},pa={};try{pa.__proto__=oa;na=pa.yb;break a}catch(a){}na=!1}ka=na?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var qa=ka;
function ra(a,b){a.prototype=ja(b.prototype);a.prototype.constructor=a;if(qa)qa(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.zd=b.prototype}function sa(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})}}
sa("Math.trunc",function(a){return a?a:function(a){a=Number(a);if(isNaN(a)||Infinity===a||-Infinity===a||0===a)return a;var b=Math.floor(Math.abs(a));return 0>a?-b:b}});sa("Math.log2",function(a){return a?a:function(a){return Math.log(a)/Math.LN2}});
var ya={uc:0,Nb:1,wc:2,xc:3,yc:4,zc:5,Ac:6,Bc:7,wb:8,Cc:9,Ob:10,Dc:11,Ec:12,Pb:13,Fc:14,Gc:15,Hc:16,Ic:17,Jc:18,Kc:19,Lc:20,Mc:21,Nc:22,Oc:23,Pc:24,Qc:25,Rc: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,vb:65,tc:66,vc:67,Sc:68,E:69,Tc:70,Uc:71,Vc:72,Wc:73,Xc:74,Yc:75,Zc:76,$c:77,ad:78,bd:79,cd:80,Q:81,dd:82,ed:83,fd:84,gd:85,hd:86,jd:87,
kd:88,ld:89,Rb:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,yb:97,md:98,nd:99,d:100,e:101,od:102,pd:103,qd:104,rd:105,td:106,k:107,ud:108,vd:109,n:110,wd:111,p:112,q:113,r:114,xd:115,t:116,Ad:117,Bd:118,Cd:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126,Qb:127};
function za(a,b){if(a){b||(b=10);var c,d=0<a.indexOf(",");d&&(a=a.replace(/,/g,""));var e=c=a.charAt(0);"#"==c?(b=8,c=""):"$"==c&&(b=16,c="");e!=c?a=a.substr(1):(e=c=a.substr(0,2),"0b"==c&&d||"^B"==c?(b=2,c=""):"0o"==c||"^O"==c?(b=8,c=""):"^D"==c?(b=10,c=""):"0x"==c&&(b=16,c=""),e!=c&&(a=a.substr(2)));e=c=a.slice(-1);"Y"==c||"y"==c?(b=2,c=""):"."==c?(b=10,c=""):"H"==c||"h"==c?(b=16,c=""):"K"==c?c="000":"M"==c?c="000000":"G"==c&&(c="000000000");e!=c&&(a=a.slice(0,-1)+c);var f;e=0;10>=b&&(c=a.match(/(-?[0-9]+)B([0-9]*)/))&&
(a=c[1],e=35-((c[2]||35)&255));c=a;if(((d=b)&&10!=d?16==d?null!==c.match(/^-?[0-9a-f]+$/i):8==d?null!==c.match(/^-?[0-7]+$/):2==d&&null!==c.match(/^-?[01]+$/):null!==c.match(/^-?[0-9]+$/))&&!isNaN(f=parseInt(a,b))){e&&(0>f&&(f+=Math.pow(2,36)),f=0<e?f*Math.pow(2,e):Math.trunc(f/Math.pow(2,-e)));var g=f}}return g}
function Aa(a,b,c,d,e){e=void 0===e?0:e;var f="";isNaN(a)?a=null:null!=a&&(0>a&&-1<a&&(a=-1),0>a&&(a+=Math.pow(b,c)),a>=Math.pow(b,c)&&(c=Math.ceil(Math.log(a)/Math.log(b))));for(var g=e||-1;0<c--;){g||(f=","+f,g=e);if(null==a)f="?"+f;else{var h=a%b;h+=0<=h&&9>=h?48:55;f=String.fromCharCode(h)+f;a=Math.trunc(a/b)}g--}return(void 0===d?"":d)+f}function Ba(a,b,c){b?12<b&&(b=12):(b=Math.abs(a),b=262143>=b?6:16777215>=b?8:12);return Aa(a,8,b,c?"0o":"")}
function Ca(a,b){b?11<b&&(b=11):b=99999>=Math.abs(a)?5:11;return Aa(a,10,b)}function n(a,b,c){b?9<b&&(b=9):(b=Math.abs(a),b=65535>=b?4:4294967295>=b?8:9);return Aa(a,16,b,c?"0x":"")}function Da(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 Ea(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function Fa(a,b){return-1!==a.indexOf(b,a.length-b.length)}
function Ga(a){return a.replace(/[&<>"']/g,function(a){return Ka[a]})}function La(a,b){return(a+" ").slice(0,b)}function Ma(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var Ka={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function Na(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1;var h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}
function Oa(){var a,b="";a||(a=new Date);for(var c=a.getHours(),d=a.getDate(),e=a.getMonth()+1,f=0;11>f;f++){var g;switch(g="Y-m-d H:i:s".charAt(f)){case "a":b+=12>c?"am":"pm";break;case "d":b+=("0"+d).slice(-2);break;case "D":b+=Pa[a.getDay()].substr(0,3);break;case "F":b+=Qa[e-1];break;case "g":b+=c?12<c?c-12:c:12;break;case "h":b+=c;break;case "H":b+=("0"+c).slice(-2);break;case "i":b+=("0"+a.getMinutes()).slice(-2);break;case "j":b+=d;break;case "l":b+=Pa[a.getDay()];break;case "m":b+=("0"+e).slice(-2);
break;case "M":b+=Qa[e-1].substr(0,3);break;case "n":b+=e;break;case "s":b+=("0"+a.getSeconds()).slice(-2);break;case "y":b+=(""+a.getFullYear()).slice(-2);break;case "Y":b+=a.getFullYear();break;default:b+=g}}return b}var Pa="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Qa="January February March April May June July August September October November December".split(" ");
function Va(a,b,c,d){c=void 0===c?!1:c;var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,
f,e))});if(b&&"object"==typeof b){var k="",l;for(l in b)b.hasOwnProperty(l)&&(k&&(k+="&"),k+=l+"="+encodeURIComponent(b[l]));k=k.replace(/%20/g,"+");h.open("POST",a,c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(k)}else h.open("GET",a,c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
function Wa(a,b){var c,d={da:null,Z:null,ka:null,xa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f;if("<"==b.charAt(0))throw Error(b);var g=0>b.indexOf("0x")&&0>b.indexOf("0o")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ka=g.load;d.xa=g.exec;if(e=g.bytes)d.da=e;else if(e=g.words)for(d.da=Array(2*e.length),f=c=0;c<e.length;c++)d.da[f++]=e[c]&255,d.da[f++]=e[c]>>8&255;else if(e=g.longs)for(d.da=Array(4*e.length),f=c=0;c<e.length;c++)d.da[f++]=
e[c]&255,d.da[f++]=e[c]>>8&255,d.da[f++]=e[c]>>16&255,d.da[f++]=e[c]>>24&255;else(e=g.data)?d.Na=e:d.da=g;d.da&&(d.da.length?1==d.da.length&&(r(d.da[0]),d=null):(r("Empty resource: "+a),d=null));d.Z=g.symbols}catch(h){r("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){r("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.da=e)}return d}
function Xa(){return"http://"+(window?window.location.host:"www.pcjs.org")}function Ya(){if(null==Za){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}Za=a}return Za}function $a(a){if(window)try{var b=window.localStorage.getItem(a)}catch(c){}return b}
function ab(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function bb(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 cb(a){if(!db){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," "))}db=c}return db[a]||db[a.toLowerCase()]}function eb(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
function fb(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}function gb(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function hb(a){ib.init.push(a)}
function jb(a){if(kb)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){r(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function lb(a){!kb&&a?(kb=!0,rb&&sb("init"),tb&&sb("show")):kb=a}function sb(a){ib[a]&&jb(ib[a])}var db=null,ib={init:[],show:[],exit:[]},rb=!1,tb=!1,kb=!0,Za=null;gb("onload",function(){rb=!0;jb(ib.init)});gb("onpageshow",function(){tb=!0;jb(ib.show)});
gb(bb("iOS")?"onpagehide":bb("Opera")?"onunload":"onbeforeunload",function(){jb(ib.exit)});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.Ub=b;this.exports={};this.J=this.bindings={};a=this.id.indexOf(".");0>a?this.Db=this.id:(this.Za=this.id.substr(0,a),this.Db=this.id.substr(a+1));this.A={ready:!1,Ta:!1,nb:!1,sd:!1,aa:!1,tb:!1,error:!1};this.bb=null;this.A.error=!1;this.ca=c||0;this.D=this.v=this.H=this.G=null;ub.push(this)}
function vb(a,b,c){wb[a]&&b&&(wb[a][b]=c)}function xb(){return Date.now()||+new Date}function r(a){window&&window.alert(a)}function yb(a){var b=!1;window&&(b=window.confirm(a));return b}function zb(a,b){a.value+=b;b=a.value;8192<b.length&&(a.value=b.substr(b.length-4096));a.scrollTop=a.scrollHeight}
function Ab(a,b){var c=u;b=w(b.parentNode,c+"-control");for(var d=0;d<b.length;d++)for(var e=b[d].childNodes,f=0;f<e.length;f++){var g=e[f];if(1===g.nodeType){var h=g.getAttribute("class");if(h)for(var k=h.split(" "),l=0;l<k.length;l++)switch(h=k[l],h){case c+"-binding":(h=Bb(g))&&h.binding&&a.ra(h.type,h.binding,g,h.value),l=k.length}}}}function Cb(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<ub.length;b++){var d=ub[b];a&&d.id.indexOf(a)||c.push(d)}return c}
function Db(a){if(void 0!==a){var b;for(b=0;b<ub.length;b++)if(ub[b].id===a)return ub[b]}return null}function Eb(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<ub.length;d++)if(c)c==ub[d]&&(c=null);else if(!(a!=ub[d].type||b&&ub[d].id.indexOf(b)))return ub[d]}return null}function Bb(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){r(c.message+" ("+a+")")}return b}
function w(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
function Fb(a){for(var b=!0,c=Gb[a];c&&c.length;){var d=c.splice(0,1)[0],e=d[0],f=null;0<=Hb.indexOf(e)&&(f=function(){return function(){Fb(a)}}());var g=Rb[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{b=!1;var h=Eb(d[1],a);if(h)if(g=Sb[e])b=g(h,d[2],d[3]);else{var k=h.exports;if(k&&(g=k[e]))if(b=!0,!f)b=g.call(h,d[2],d[3]);else if(!g.call(h,f,d[2],d[3]))break}}if(!b){r("Script error: '"+e+(g?" failed":" unrecognized"));break}}c&&!c.length&&delete Gb[a];return b}m=t.prototype;
m.toString=function(){return this.name?this.name:this.id||this.type};
m.ra=function(a,b,c){switch(b){case "clear":return this.J[b]||(this.J[b]=c,c.onclick=function(a){return function(){a.J.print&&(a.J.print.value="")}}(this)),!0;case "print":return this.J[b]||(this.J[b]=c,this.ia=function(a){this.u(a,this.type);return!0},c.value="",this.print=function(a){return function(b){zb(a,b)}}(c),this.u=function(a,b){return function(a,c){a||(a="");if(c!=Tb||"..."!=a.slice(-3))c&&(a=c+": "+a),zb(b,a+"\n");else{c=b.value;var d=c.lastIndexOf(a);0>d?c+=a+"\n":c=c.substr(0,d)+(a+".")+
c.substr(d+a.length);8192<c.length&&(c=c.substr(c.length-4096));b.value=c;b.scrollTop=b.scrollHeight}}}(this,c)),!0;default:return!1}};m.log=function(){};m.print=function(){};m.u=function(){};m.status=function(a){this.u(this.type+": "+a)};m.ia=function(a,b,c){if(!b){var d=Eb("Computer",this.id);if(d&&d.A.tb)return console.log("ignoring notice during unload: "+a),!1}c=c||this.type;b||r((c?c+": ":"")+a);return!0};function Ub(a,b){a.A.error=!0;a.ia(b)}
function Vb(a){return a.A.error?(a.u(a.toString()+" error"),!0):!1}function Wb(a,b){b&&(a.A.ready?b():a.bb=b);return a.A.ready}function Xb(a){if(!a.A.error&&(a.A.ready=!0,a.A.ready)){var b=a.bb;a.bb=null;b&&b()}}function Yb(a,b){a.A.Ta&&(b?a.A.nb=!0:void 0===b&&a.u(a.toString()+" busy"));return a.A.Ta}function Zb(a,b){if(a.A.nb)return a.A.Ta=!1,a.A.nb=!1;if(a.A.error)return a.u(a.toString()+" error"),!1;a.A.Ta=b;return a.A.Ta}m.za=function(){return this.A.aa=!0};
m.qa=function(a,b){b&&(this.A.aa=!1);return!0};function $b(a,b){if(a.D){a===a.D?b|=0:b=b||a.ca;var c=a.D.ca&b;return!!b&&c===b||!!(c&a.D.Eb)}return!1}function ac(a,b,c,d){a.D&&(!0===c||$b(a,c|0))&&a.D.message(b,d)}var Tb="progress";window&&(window.PCjs||(window.PCjs={}),window.PCjs.Machines||(window.PCjs.Machines={}),window.PCjs.Components||(window.PCjs.Components=[]),window.PCjs.Commands||(window.PCjs.Commands={}));
var wb=window?window.PCjs.Machines:{},ub=window?window.PCjs.Components:[],Gb=window?window.PCjs.Commands:{},Hb=["hold","sleep","wait"],Rb={alert:function(a){r(a);return!0},sleep:function(a,b){setTimeout(a,+b);return!1}},Sb={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)});
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
var u="pdp10",bc="PDPjs",cc=Math.pow(2,18)-1,dc=Math.pow(2,18),ec=Math.pow(2,17)-1,fc=Math.pow(2,17),x=Math.pow(2,18)-1,y=Math.pow(2,18),z=Math.pow(2,35)-1,A=Math.pow(2,35),C=Math.pow(2,36)-1,D=Math.pow(2,36),E=Math.pow(2,32),gc=Math.pow(2,34),hc=Math.pow(2,36),ic=Math.pow(2,21),jc=Math.pow(2,26),kc=Math.pow(2,23),lc=Math.pow(2,30);u="pdp10";bc="PDPjs";
var mc={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 nc(a,b){t.call(this,"Panel",a,512);this.K=this.L=0;this.V=b;this.i=this.I=this.j=this.w=0;this.M=this.N=-1;this.O=this.R=this.F=!1;this.S=oc;this.C={};this.b={START:[1,1,!0,!1,this.ec],STEP:[1,1,!1,!1,this.fc],ENABLE:[1,1,!1,!1,this.$b],CONT:[1,1,!0,!1,this.Yb],DEP:[0,0,!0,!1,this.Zb],EXAM:[1,1,!0,!1,this.ac],LOAD:[1,1,!0,!1,this.cc],TEST:[0,0,!0,!1,this.bc]};for(a=0;22>a;a++)this.b["S"+a]=[0,0,!1,!1,this.dc,a];this.D=this.v=this.H=this.G=null;this.exports={hold:this.Vb,toggle:this.oc,reset:this.kc,
set:this.nc};Xb(this)}ra(nc,t);m=nc.prototype;m.reset=function(a){this.stop();a&&pc(this,this.w=0)};
m.ra=function(a,b,c,d){if(this.G&&this.G.ra(a,b,c,d)||this.v&&this.v.ra(a,b,c,d)||this.D&&this.D.ra(a,b,c,d))return!0;switch(b){case "PC":return this.J[b]=c,this.L++,!0;default:return"led"==a||"rled"==a?(this.J[b]=c,this.C[b]=d?1:0,this.L++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0,d?1:0]),this.J[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){qc(a,b)}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){rc(a,b)}}(this,b),a.ontouchstart=
function(a,b){return function(c){qc(a,b);c.preventDefault()}}(this,b),a.ontouchend=function(a,b){return function(){rc(a,b)}}(this,b),!0):t.prototype.ra.call(this,a,b,c,d)}};m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;sc(this);tc(this)};m.za=function(a,b){if(!b)if(this.V&&uc(),!a)this.reset(!0);else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,[this.i,this.w,this.j]);return a.data()};
m.restore=function(a){if(a=a[0])vc(this,this.i=a[0]),pc(this,this.w=a[1]),wc(this,a[2]);return!0};m.kc=function(){for(var a in this.b){var b=this.b[a];b[1]=b[0]}tc(this);return!0};function xc(a,b,c){if(a=a.J[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function sc(a,b){for(var c in a.C)xc(a,c,null!=b?b:a.C[c])}function yc(a,b,c){if(a=a.J[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function tc(a){for(var b in a.b)yc(a,b,a.b[b][1])}
m.Vb=function(a,b,c){if(qc(this,b)){if(c){var d=this;setTimeout(function(){rc(d,b);a&&a()},+c);return!1}rc(this,b)}return!0};m.nc=function(a,b){if("SR"==a)return wc(this,za(b,8));var c=this.b[a];return c?(c[1]=+b?1:0,yc(this,a,c[1]),!0):!1};m.oc=function(a){return qc(this,a)?(rc(this,a),!0):!1};function qc(a,b){var c=a.b[b];return c?(yc(a,b,c[1]=1-c[1]),c[3]=!0,c[4]&&c[4].call(a,c[1],c[5]),b!=zc&&(a.O=b==Ac,a.R=b==Bc),!0):!1}
function rc(a,b){var c=a.b[b];c&&(c[2]&&c[3]&&(yc(a,b,c[1]=c[0]),c[4]&&c[4].call(a,c[1],c[5])),c[3]=!1)}m.ec=function(a){a||this.v.A.P||(G(this.v,this.i),this.b[Cc]&&this.b[Cc][1]&&Dc(this.v))};m.fc=function(){};m.$b=function(a){a||H(this.v)};
m.Yb=function(a){if(!a&&!this.v.A.P)if(this.b[Cc]&&this.b[Cc][1])Dc(this.v);else{if((a=this.D)&&!Yb(a,!0))Zb(a,!0),Ec(a,0,null),Zb(a,!1);else try{var b=this.v.Xa(1);0<b&&(Fc(this.v,b),Gc(this.v,b,!0),Hc(this.v,b))}catch(c){"number"!=typeof c&&(b=c,Ub(this.v,b.stack||b.message))}this.stop();this.G&&K(this.G)}};m.Zb=function(a){a&&!this.v.A.P&&(this.O&&Ic(this),a=pc(this,this.w=this.j),this.S==oc?Jc(this.H,this.i,a):this.v.g(this.i,a))};
m.ac=function(a){if(!a&&!this.v.A.P){var b;this.R&&Ic(this);this.S==oc?b=Kc(this.H,this.i):b=this.v.f(this.i);pc(this,this.w=b)}};m.cc=function(a){a||this.v.A.P||vc(this,this.j)};m.bc=function(a){a?(this.F=!0,sc(this,!0)):(this.F=!1,sc(this),wc(this,0))};m.dc=function(a,b){this.j=a?this.j|1<<b:this.j&~(1<<b)};function Ic(a){var b=1,c=a.H.j;a.b[zc]&&a.b[zc][1]||(b=-b);vc(a,a.i&~c|a.i+b&c)}
function vc(a,b){a.i=b&a.H.j;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,f=b&1<<c;d.C[e]=f;d.F||xc(d,e,f)}}}function pc(a,b){a.I=b%D;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,f=b&1<<c;d.C[e]=f;d.F||xc(d,e,f)}}return a.I}function wc(a,b){a.j=b|0;for(b=0;22>b;b++)a.b["S"+b][1]=a.j&1<<b?1:0;tc(a);return!0}m.stop=function(){vc(this,this.v.i)};
function uc(){for(var a=w(document,u,"panel"),b=0;b<a.length;b++){var c=a[b],d=Bb(c),e=Db(d.id);e||(e=new nc(d,!0));Ab(e,c)}}var oc=7,Ac="DEP",Cc="ENABLE",Bc="EXAM",zc="STEP";hb(uc);function Lc(a,b,c){t.call(this,"Bus",a,16);this.v=b;this.D=c;this.F=+a.busWidth||18;this.I=1<<this.F;this.j=this.I-1;this.i=Math.log2(16384);this.C=this.I/16384|0;this.w=0;this.b=[];a=new Mc(this);Nc(a,this.D);this.b=Array(this.C);for(b=0;b<this.C;b++)this.b[b]=a;Xb(this)}ra(Lc,t);m=Lc.prototype;m.reset=function(){};
m.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.save=function(){var a=new F(this);a.set(0,Sc(this));return a.data()};m.restore=function(a){a:{a=a[0];var b;for(b=0;b<a.length-1;b+=2){var c=a[b],d=a[b+1];if(d&&4096>d.length){for(var e=0,f=Array(4096),g=0;g<d.length-1;)for(var h=d[g++],k=d[g++];h--;)f[e++]=k;d=f}e=this.b[c];if(!e||!e.restore(d)){r("Unable to restore memory block "+c);a=!1;break a}}a=!0}return a};
function Tc(a,b,c,d){for(var e=b,f=c,g=e>>>a.i;0<f&&g<a.b.length;){var h=a.b[g],k=16384*g,l=16384-(e-k);l>f&&(l=f);if(h&&h.size){if(h.type==d){if(e+f<=h.B)return h.Va+=h.B-e,h.B=e,!0;if(e>=h.B+h.Va){l=h.size-(e-k);l>f&&(l=f);h.Va=e-h.B+l;e=k+16384;f-=l;g++;continue}}return Uc(Vc,e,f)}e=new Mc(a,e,l,16384,d);Nc(e,a.D,h);a.b[g++]=e;e=k+16384;f-=l}return 0>=f?(a.status("Added "+(c>>10)+"Kb "+Wc[d]+" at "+Ba(b)),!0):Uc(Xc,b,c)}
function Kc(a,b){var c=a.b[(b&a.j)>>>a.i];a.w++;b=c.w(b&16383,b);a.w--;return b}function Jc(a,b,c){var d=a.b[(b&a.j)>>>a.i];a.w++;d.D(c,b&16383,b);a.w--}function Sc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.b[d];if(e.pb||e.Tb){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,k=[];g<e.length;){for(var l=e[g],p=g+1;p<e.length&&e[p]===l;)p++;k[h++]=p-g;k[h++]=l;g=p}k.length<e.length&&(e=k)}c[f]=e}}return c}
m.Jb=function(a){if(!this.w)throw this.D&&$b(this.D,4)&&ac(this.D,"memory fault on "+L(this.D,a),!0,!0),H(this.v),-1;};function Uc(a,b,c){r("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Vc=1,Xc=2;function Yc(a){t.call(this,"Device",a,256)}ra(Yc,t);m=Yc.prototype;m.Ka=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.D=d;Xb(this)};m.za=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.qa=function(a){return a?this.save():!0};m.reset=function(){};
m.save=function(){return(new F(this)).data()};m.restore=function(){return!0};hb(function(){for(var a=w(document,u,"device"),b=0;b<a.length;b++){var c=a[b];var d=Bb(c);switch(d.type){case "default":d=new Yc(d),Ab(d,c)}}});
function Mc(a,b,c,d,e){this.H=a;this.id=Zc+=2;this.B=b;this.Va=c;this.size=d||0;this.type=e||$c;this.G=e==ad;this.b=null;this.f=this.w=this.sb;this.g=this.D=this.Wa;this.i=this.v=0;Nc(this);this.pb=this.Tb=!1;if(this.size){a=this.j=Array(this.size);for(b=0;b<a.length;b++)a[b]=0;bd(this,cd)}else bd(this)}m=Mc.prototype;m.save=function(){return this.j};m.restore=function(a){return a&&this.size==a.length?(this.j=a,this.pb=!0):!1};function bd(a,b){b||(b=dd);ed(a,b,void 0);fd(a,b,void 0)}
function ed(a,b,c){c&&a.i||(a.f=b[0]||a.sb);if(c||void 0===c)a.w=b[0]||a.sb}function fd(a,b,c){c&&a.v||(a.g=!a.G&&b[1]||a.Wa);if(c||void 0===c)a.D=b[1]||a.Wa}m.Qa=function(a,b){b?0===this.v++&&fd(this,gd,!1):0===this.i++&&ed(this,gd,!1)};function hd(a,b){b?0===--a.v&&(a.g=a.G?a.Wa:a.D):0===--a.i&&(a.f=a.w)}function Nc(a,b,c){a.b=b;a.i=a.v=0;c&&((a.i=c.i)&&ed(a,gd,!1),(a.v=c.v)&&fd(a,gd,!1))}
m.sb=function(a,b){this.b&&$b(this.b,32)&&ac(this.b,"attempt to read invalid address "+L(this.b,b),!0);this.H.Jb(b);return-1};m.Wa=function(a,b,c){this.b&&$b(this.b,32)&&ac(this.b,"attempt to write "+L(this.b,a)+" to invalid addresses "+L(this.b,c),!0);this.H.Jb(c)};m.ic=function(a){return this.j[a]};m.rc=function(a,b){this.j[b]!=a&&(this.j[b]=a,this.pb=!0)};m.gc=function(a,b){if(this.b&&null!=this.B){var c=this.b;id(c,this.B+a,2,c.N)&&jd(c,!1)}return this.w(a,b)};
m.qc=function(a,b,c){if(this.b&&null!=this.B){var d=this.b;id(d,this.B+b,2,d.K)&&jd(d,!1)}this.G?this.Wa(a,0,c):this.D(a,b,c)};var $c=0,ad=2,Wc=["NONE","RAM","ROM"],Zc=0,dd=[],cd=[Mc.prototype.ic,Mc.prototype.rc],gd=[Mc.prototype.gc,Mc.prototype.qc];
function kd(a,b){t.call(this,"CPU",a,1);b=+a.cycles||b;var c=+a.multiplier||1;this.gb=0;this.kb=b;this.ga=c;this.hb=Math.round(this.kb/1E4)/100;this.ba=this.hb*this.ga;this.jb=this.Ha=this.la=this.$a=0;this.A.P=this.A.fb=!1;this.A.fa=a.autoStart;"string"==typeof this.A.fa&&(this.A.fa="true"==this.A.fa);this.A.Sa=!1;this.Fa=this.sa=0;this.Ga=+a.csStart;this.oa=+a.csInterval;this.ta=+a.csStop;this.R=[];this.Fb=this.lc.bind(this);this.W=this.M=this.V=this.N=this.L=this.Ea=this.S=this.ua=this.lb=this.Y=
0;this.Ma=null;Xb(this)}ra(kd,t);m=kd.prototype;m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.D=d;this.Ma=a.j;for(a=0;a<ld.length;a++)(b=this.J[ld[a]])&&this.G.ra(null,ld[a],b);Xb(this)};m.reset=function(){};m.save=function(){return null};m.restore=function(){return!1};
m.za=function(a,b){var c=md(this.G,"autoStart");null!=c?this.A.fa="true"==c?!0:"false"==c?!1:!!c:null==this.A.fa&&(this.A.fa=!this.D&&void 0===this.J.run);if(!b){if(a){nd(this);if(!this.restore(a))return!1;od(this)}else this.reset();this.D?(a=this.D,b=this.A.fa,a.Ha=!0,a.u("Type ? for help with PDPjs Debugger commands"),pd(a),b||qd(a),a.ta&&(b=a.ta,a.ta=null,rd(a,b,!0))):this.status("No debugger detected");this.A.fa||this.u("CPU will not be auto-started "+(this.Ma?"(click Run to start)":"(type 'go' to start)"))}return!0};
m.qa=function(a){return a?this.save():!0};m.fa=function(){return this.A.P?!0:this.A.fa?(Dc(this),!0):!1};m.Kb=function(){return 0};function od(a){void 0===a.Ga&&(a.Ga=0);void 0===a.oa&&(a.oa=-1);void 0===a.ta&&(a.ta=-1);a.A.Sa=0<=a.Ga&&0<a.oa;a.A.Sa&&(a.Fa=0,a.sa=a.Ga-a.W)}function Hc(a,b){if(a.A.Sa){var c=!1;a.Fa=a.Fa+a.Kb()|0;a.sa-=b;0>=a.sa&&(a.sa+=a.oa,c=!0);0<=a.ta&&a.ta<=sd(a)&&(a.oa=a.ta=-1,od(a),H(a),c=!0);c&&a.u(sd(a)+" cycles: checksum="+n(a.Fa))}}
m.ra=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.J[b]=c,!0;case "run":return this.J[b]=c,c.onclick=function(){var a;if(a=d.G)if(a=d.G,a.A.aa)a=!0;else{var b=null,c,h=Cb(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.aa);c++);c==h.length&&(b=a);r("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.bb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.P?H(d):Dc(d))},!0;
case "speed":return this.J[b]=c,!0;case "setSpeed":return this.J[b]=c,c.onclick=function(){td(d,d.ga<<1,!0)},c.textContent=this.ba.toFixed(2)+"Mhz",!0}return!1};function Gc(a,b,c){a.W+=b;c&&(a.V=a.N=0)}function ud(a,b){var c=1;b&&1<a.ga&&a.Y&&(c=a.Y/a.hb);a.jb=Math.round(1E3/vd);a.Ha=Math.floor(a.kb/vd*c);b||(a.la=a.Ha);a.$a=0}function sd(a){return a.W+a.M+a.V-a.N}function nd(a){a.Y=0;a.lb=0;a.W=a.M=a.V=a.N=0;od(a);td(a,1)}
function td(a,b,c){var d=!1;if(void 0!==b){.8>a.Y/a.ba?b=1:d=!0;a.ga=b;b=a.hb*a.ga;if(a.ba!=b){a.ba=b;b=a.ba.toFixed(2)+"Mhz";var e=a.J.setSpeed;e&&(e.textContent=b);a.u("target speed: "+b)}c&&a.G&&wd(a.G)}Gc(a,a.M);a.M=0;a.L=xb();a.S=0;ud(a);return d}function xd(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function yd(a){for(var b=[],c=0;c<a.R.length;c++)b.push(a.R[c][0]);return b}
function Fc(a,b){for(var c=a.R.length-1;0<=c;c--){var d=a.R[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function zd(a,b){var c=a.V-=a.N;a.N=0;b&&(a.V=0);return c}
m.lc=function(){if(this.A.P){this.$a>=this.kb&&ud(this,!0);this.ua=0;this.Ea=xb();if(this.S){var a=this.Ea-this.S;a>this.jb&&(this.L+=a,this.L>this.Ea&&(this.L=this.Ea))}try{do{var b=xd(this,this.A.Sa?1:this.Ha);try{this.Xa(b)}catch(e){if("number"!=typeof e)throw e;}b=zd(this,!0);this.ua+=b;this.M+=b;Hc(this,b);Fc(this,b);this.la-=b;if(0>=this.la){this.la+=this.Ha;++this.lb>=Ad&&(this.G&&K(this.G,void 0),this.lb=0);break}}while(this.A.P)}catch(e){H(this);this.G&&this.G.stop(xb(),sd(this));Ub(this,
e.stack||e.message);return}if(this.A.P){a=setTimeout;b=this.Fb;this.S=xb();var c=this.jb;this.ua&&(c=Math.round(c*this.ua/this.Ha));c-=this.S-this.Ea;var d=this.S-this.L;d&&(this.Y=Math.round(this.M/(10*d))/100,864E5<=d&&(this.W=0,td(this)));if(0>c||this.Y<this.ba)-1E3>c&&(this.L-=c),c=0;this.$a+=this.ua;this.S+=c;a(b,c)}}};
function Dc(a,b){if(!Vb(a))if(a.A.P)a.u(a.toString()+" busy");else{td(a);a.A.P=!0;a.A.fb=!0;var c=a.J.run;c&&(c.textContent="Halt");a.G&&(b&&wd(a.G,!0),a.G.start(a.L,sd(a)));a.D||a.status("Started");setTimeout(a.Fb,0)}}m.Xa=function(){return 0};function H(a,b){var c=!1;if(a.A.P){zd(a);Gc(a,a.M);a.M=0;a.A.P=!1;if(c=a.J.run)c.textContent="Run";a.G&&a.G.stop(xb(),sd(a));c=!0;a.D||a.status("Stopped")}a.A.complete=b;return c}var vd=30,Ad=15,ld=["power","reset"];
function Bd(a){var b=+a.model||1001;kd.call(this,a,1E6);this.ib=b;this.Ya=+a.addrReset||0;this.Sb=Cd.bind(this);this.w=M.bind(this);this.Ba=null;this.ub=[];this.A.complete=!1}ra(Bd,kd);m=Bd.prototype;
m.reset=function(){this.status("Model "+this.ib);this.A.P&&H(this);this.Ia=this.Ja=this.b=this.I=0;this.i=this.na=this.Ya;this.K=this.O=-1;this.F=this.j=0;this.mb=[0,0];this.va=[0,0];this.ma=[0,0];this.wa=[0,0];this.Aa=this.i;this.C=0;this.f=this.hc;this.g=this.sc;this.Ba=null;nd(this);this.A.error=!1;kd.prototype.reset.call(this)};m.Kb=function(){return 0};
m.save=function(){var a=new F(this);a.set(0,[this.b,this.I,this.Ia,this.Ja,this.i,this.O,this.K,this.j,this.C,this.na,this.Aa,this.Ya]);a.set(1,[]);a.set(2,[this.W,this.ga,this.A.fa]);a.set(3,Dd(this));a.set(4,yd(this));return a.data()};
m.restore=function(a){var b=a[0];ea();ca();ea();var c=b[Symbol.iterator];b=c?c.call(b):fa(b);this.b=b.next().value;this.I=b.next().value;this.Ia=b.next().value;this.Ja=b.next().value;this.i=b.next().value;this.O=b.next().value;this.K=b.next().value;this.j=b.next().value;this.C=b.next().value;this.na=b.next().value;this.Aa=b.next().value;this.Ya=b.next().value;b=a[2];this.W=b[0];td(this,b[1]);this.A.fa=b[2];b=a[3];for(c=b.length-1;0<=c;c--){var d;a:{for(d=0;d<this.ub.length;d++){var e=this.ub[d];if(e.pc===
b[c]){d=e;break a}}d=null}d&&(d.next=this.Ba,this.Ba=d)}a=a[4];for(b=0;b<this.R.length&&b<a.length;b++)this.R[b][0]=a[b];return!0};function Ed(a,b){a.j=a.j&-254049|b&254048;a.j|=b&4096;b&2048?a.j&4096||(a.j|=2048):a.j&=-2049}function Fd(a,b){var c=a.i;a.i=(c+b)%dc;return c}function Gd(a){return 0<=a.O?a.O:a.I&4194304?a.na:a.i}function G(a,b){a.I=0;a.O=-1;a.i=b%dc}function Dd(a){var b=[];for(a=a.Ba;a;)b.push(a.pc),a=a.next;return b}
m.hc=function(a){var b=this.H;a=this.Aa=a;return b.b[(a&b.j)>>>b.i].f(a&16383,a)};m.sc=function(a,b){var c=this.H;a=this.Aa=a;c.b[(a&c.j)>>>c.i].g(b,a&16383,a);return b};
m.Xa=function(a){this.A.complete=!0;var b=this.D?Hd(this.D)?1:this.A.fb?-1:0:0,c=a?this.A.fb?0:1:-1;this.A.fb=!1;this.V=this.N=a;this.C=this.C&-5|(b?4:0);do{if(this.C){if(this.C&4){if(Id(this.D,Gd(this),c)){H(this);break}++b||(this.C&=-5);c||c++}if(a=this.C&11)this.C&2?this.Ba||(this.C&=-3):this.C&1&&this.C++,a=!1;if(a){if(this.C&4&&Id(this.D,Gd(this),c)){H(this);break}if(0>c)break}}this.C&=15;this.I&4194304?this.I=this.Ia=this.f(this.b):0<=this.O?(this.I=this.Ja=this.f(this.O),this.O=-1):(this.I=
this.Ja=this.f(this.na=this.i),this.i=(this.i+1)%dc);this.I&=8388607;this.b=this.I&262143;if(a=this.I>>18&15)this.b=this.b+(this.Ia=this.f(a))&cc;a=this.I&4194304?-1:this.Ja/kc|0;0<=a&&this.Sb(a);this.N--}while(0<this.N);return this.A.complete?this.V-this.N:!1===this.A.complete?-1:0};hb(function(){for(var a=w(document,u,"cpu"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Bd(d);Ab(d,c)}});function Cd(a){Jd[a>>4].call(this,a,a&15)}function O(a){this.w(a)}
function Kd(){var a=0,b=this.f(this.b),c=b/lc&63,d=b>>24&63;c-=d;0>c&&(a++,c=36-d,0>c&&(c=100-d));b=c*lc+(d<<24)+(b&16777215);a&&(b=(b+a)%D);this.g(this.b,b)}function Ld(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/lc&63,d=this.K>>24&63;a=32>c+d?(a>>c&(1<<d)-1)>>>0:Math.trunc(a/Math.pow(2,c))%Math.pow(2,d);this.g(b,a);this.j&=-8193;this.K=-1}}
function Md(a,b){a=this.f(this.b);if(0>this.K)this.K=a,this.I=this.b|4194304;else{var c=this.K/lc&63,d=this.K>>24&63;b=this.f(b)%Math.pow(2,d)*Math.pow(2,c)%D;a=a-a%Math.pow(2,c+d)+b+a%Math.pow(2,c);this.g(this.b,a);this.j&=-8193;this.K=-1}}function Nd(a,b){this.g(b,this.f(this.b))}function Od(a,b){this.g(b,this.b)}function Pd(a,b){this.g(this.b,this.f(b))}function Qd(a,b){this.g(b,0)}function Rd(a,b){this.g(b,C-this.f(b))}function Sd(a,b){this.g(b,C)}
function Td(a,b){var c=this.f(this.b),d=this.f(b);this.g(b,Ud(a,d,c)+(c-(c&x)))}function ke(a,b){var c=this.f(b);this.g(b,Ud(a,c,0))}function le(a,b){b=this.f(b);var c=this.f(this.b);this.g(this.b,Ud(a,c,b)+(b-(b&x)))}function me(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d-=d&x,a){case 256:d+=x;break;case 384:d+=c>z?x:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function ne(a,b){var c=(this.f(this.b)&x)*y,d=this.f(b);this.g(b,Ud(a,d,c)+c)}
function oe(a,b){var c=this.b*y,d=this.f(b);this.g(b,Ud(a,d,c)+c)}function pe(a,b){b=(this.f(b)&x)*y;var c=this.f(this.b);this.g(this.b,Ud(a,c,b)+b)}function qe(a,b){var c=this.f(this.b),d=(c&x)*y;c=Ud(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function re(a,b){var c=this.f(this.b)&x,d=this.f(b);this.g(b,se(a,d,c)+c)}function te(a,b){var c=this.f(b);this.g(b,se(a,c,this.b)+this.b)}function ue(a,b){b=this.f(b)&x;var c=this.f(this.b);this.g(this.b,se(a,c,b)+b)}
function ve(a,b){var c=this.f(this.b),d=c;if(a&=384)switch(d&=x,a){case 256:d+=x*y;break;case 384:d+=c>ec?x*y:0}c=d;this.g(this.b,c);b&&this.g(b,c)}function we(a,b){var c=this.f(this.b)/y|0,d=this.f(b);this.g(b,se(a,d,c)+c)}function xe(a,b){var c=this.f(b);this.g(b,se(a,c,0))}function ye(a,b){b=this.f(b)/y|0;var c=this.f(this.b);this.g(this.b,se(a,c,b)+b)}function ze(a,b){var c=this.f(this.b),d=c/y|0;c=se(a,c,d)+d;this.g(this.b,c);b&&this.g(b,c)}function P(a){Ae[a&7].call(this,a,a>>3&127)}
function Be(){}function Ce(){}function M(a){this.u("undefined opcode: "+Ba(a));Fd(this,-1);H(this)}function De(a){a>z&&(a!=A?a=hc-a:this.j|=163840);return a}function Q(a,b){var c=(a+b)%D;Ee.call(this,a,b,c);return c}
function Fe(a,b,c){var d=!1,e=!1;if(void 0===c){if(!a)return this.j|=131104,-1;c=b>z?C:0}else if((c<A?c:hc-c-(b?1:0))>=(a<A?a:hc-a))return this.j|=131104,-1;var f=c-c%A;b=b%A+(c&1)*A;c=this.F=f+Math.trunc(c/2);a>z&&(a=D-a,d=!d);c>z&&(b?(c=C-c,b=D-b):c&&(c=D-c),e=!0,d=!d);f=this.mb;f[0]=0;f[1]=0;f=this.va;f[0]=1;f[1]=0;f=this.ma;f[0]=a;f[1]=0;a=this.wa;a[0]=b;for(a[1]=c;0<Ge(this.wa,this.ma);)He(this.ma,this.ma),He(this.va,this.va);do{if(0<=Ge(this.wa,this.ma)&&(c=this.wa,a=this.ma,c[0]-=a[0],c[1]-=
a[1],0>c[0]&&(c[0]+=D,c[1]--),He(this.mb,this.va),Ie(this.wa)))break;Je(this.ma);Je(this.va)}while(!Ie(this.va));b=this.mb[0];this.F=this.wa[0];d&&b&&(b=D-b);e&&this.F&&(this.F=D-this.F);return b}
function Ke(a,b,c,d){var e=a,f=b;b=!1;e>z&&(d||1001!=this.ib||e!=A)&&(e=D-e,b=!b);f>z&&(f=D-f,b=!b);if(e<y&&f<y){a=e*f;var g=0}else{a=e&x;e=Math.trunc(e/y);g=f&x;f=Math.trunc(f/y);var h=a*g,k=e*g+Math.trunc(h/y);g=Math.trunc(k/y);k=(k&x)+a*f;a=(k*y+(h&x))%D;g+=Math.trunc(k/y)+e*f}b&&(a?(g=C-g,a=D-a):g&&(g=D-g));b=a;a=g;e=a-a%A;a=2*a%D+Math.trunc(b/A);b=e+b%A;a-a%A!=e&&(b=a);d?g=b:(b==A&&a==A&&(this.j|=131072),this.F=b,g=a);c&&(a=this.F,!d&&(g||a>z)&&(g!=C||a<=z)&&(this.j|=131072),g=a);return g}
function Le(a){a?a==A?this.j|=163840:a=hc-a:this.j|=98304;return a}function Me(a,b){var c=a-b;0>c&&(c+=D);Ee.call(this,c,b,a);return c}function Ee(a,b,c){a=Math.trunc(a/gc);b=Math.trunc(b/gc);c=Math.trunc(c/gc);var d=a^(a^b)&(b^c);this.j=this.j|(d&2?65536:0)|(d&1?32768:0)|((a^c)&(b^c)&2?131072:0)}function R(a,b){return((a/E|0)&(b/E|0))*E+((a&b)>>>0)}function S(a,b){return R(a,(~(b/E|0)&15)*E+(~b>>>0))}function Ne(a,b){return(a<A?a:a-D)-(b<A?b:b-D)}
function Oe(a,b){return(~((a/E|0)^(b/E|0))&15)*E+(~(a^b)>>>0)}function T(a,b){return(a/E|0|b/E|0)*E+((a|b)>>>0)}function U(a){return a<A?a:a-D}function V(a,b){return((a/E|0)^(b/E|0))*E+((a^b)>>>0)}function W(a){return(a/y|0)+(a&x)*y}function se(a,b,c){switch(a&384){case 0:b-=b&x;break;case 128:b=0;break;case 256:b=x*y;break;case 384:b=c>ec?x*y:0}return b}function Ud(a,b,c){switch(a&384){case 0:b&=x;break;case 128:b=0;break;case 256:b=x;break;case 384:b=c>z?x:0}return b}
function He(a,b){a[0]+=b[0];a[1]+=b[1];a[0]>=D&&(a[0]%=D,a[1]++)}function Ge(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function Je(a){a[1]%2&&(a[0]+=D);a[0]=Math.trunc(a[0]/2);a[1]=Math.trunc(a[1]/2)}function Ie(a){return!a[0]&&!a[1]}
var Jd=[O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Kd,function(a,b){this.j&8192||(Kd.call(this),this.j|=8192);Ld.call(this,0,b)},Ld,function(a,b){this.j&8192||(Kd.call(this),this.j|=8192);Md.call(this,0,b)},Md,function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},
function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},Nd,Od,Pd,function(a,b){b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(b,a)},function(a,b){this.g(b,this.b*y)},function(a,b){a=this.f(b);a=(a/y|0)+(a&x)*y;this.g(this.b,a)},function(a,b){a=this.f(this.b);a=(a/y|0)+(a&x)*y;this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Le.call(this,this.f(this.b)))},function(a,b){this.g(b,
Le.call(this,this.b))},function(a,b){this.g(this.b,Le.call(this,this.f(b)))},function(a,b){a=Le.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,De.call(this,this.f(this.b)))},function(a,b){this.g(b,this.b)},function(a,b){this.g(this.b,De.call(this,this.f(b)))},function(a,b){a=De.call(this,this.f(this.b));this.g(this.b,a);b&&this.g(b,a)},function(a,b){this.g(b,Ke.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(b,Ke.call(this,this.f(b),this.b,!0))},function(a,
b){this.g(this.b,Ke.call(this,this.f(b),this.f(this.b),!0))},function(a,b){this.g(this.b,this.g(b,Ke.call(this,this.f(b),this.f(this.b),!0)))},function(a,b){this.g(b,Ke.call(this,this.f(b),this.f(this.b)));this.g(b+1&15,this.F)},function(a,b){this.g(b,Ke.call(this,this.f(b),this.b));this.g(b+1&15,this.F)},function(a,b){this.g(this.b,Ke.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Ke.call(this,this.f(b),this.f(this.b))));this.g(b+1&15,this.F)},function(a,b){a=Fe.call(this,
this.f(this.b),this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Fe.call(this,this.b,this.f(b));0>a||(this.g(b,a),this.g(b+1&15,this.F))},function(a,b){a=Fe.call(this,this.f(this.b),this.f(b));0>a||this.g(this.b,a)},function(a,b){a=Fe.call(this,this.f(this.b),this.f(b));0>a||(this.g(this.b,this.g(b,a)),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=this.f(b+1&15);c=Fe.call(this,this.f(this.b),c,a);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);var c=
this.f(b+1&15);c=Fe.call(this,this.b,c,a);0>c||(this.g(b,c),this.g(b+1&15,this.F))},function(a,b){a=this.f(b);b=this.f(b+1&15);b=Fe.call(this,this.f(this.b),b,a);0>b||this.g(this.b,b)},function(a,b){a=this.f(b);var c=this.f(b+1&15);c=Fe.call(this,this.f(this.b),c,a);0>c||(this.g(b,this.g(this.b,c)),this.g(b+1&15,this.F))},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b);if(0<a){var d=z;var e=c<A?0:A;35>a&&(e+=c*Math.pow(2,a)%A,d=A-Math.pow(2,35-a));c<A?c+d>z&&(this.j|=131072):c-
d<A&&(this.j|=131072)}else-35>=a?e=c<A?0:z:(e=Math.trunc(c/Math.pow(2,-a)),c>z&&(d=D-Math.pow(2,36+a),e+=d));this.g(b,e)}},function(a,b){if(a=((this.b&fc)<<14>>23|this.b&255)%36){var c=this.f(b);0>a&&(a=36+a);c=c*Math.pow(2,a)%D+Math.trunc(c/Math.pow(2,36-a));this.g(b,c)}},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b);c=0<a?36<=a?0:c*Math.pow(2,a)%D:-36>=a?0:Math.trunc(c/Math.pow(2,-a));this.g(b,c)}},function(a,b){a=0;var c=this.f(b);if(c){for(;c<A;)a++,c*=2;G(this,this.b)}this.g(b+
1&15,a)},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);if(0<a){var e=c;if(36<=a){if(0<c&&c<A||c>z&&c<C)this.j|=131072;if(71<=a){if(0<d&&d<A||d>z&&d<C)this.j|=131072;c=0}else{c=d*Math.pow(2,a-35)%A;var f=A-Math.pow(2,70-a);e<=z?d+f>z&&(this.j|=131072):d-f<=z&&(this.j|=131072)}d=0;e>z&&(c+=A,d+=A)}else c=c*Math.pow(2,a)%A+Math.trunc(d%A/Math.pow(2,35-a)),d=d*Math.pow(2,a)%A,f=A-Math.pow(2,35-a),e<=z?e+f>z&&(this.j|=131072):(e-f<=z&&(this.j|=131072),c+=A,d+=A)}else-36>=
a?(d=-72>=a?c>z?C:0:Math.trunc(c%A/Math.pow(2,-a-35)),c<=z?c=0:(c=C,d+=A)):(f=c>z?D-Math.pow(2,36+a):0,d=Math.trunc(d%A/Math.pow(2,-a))+c%A*Math.pow(2,35+a)%A,c=Math.trunc(c/Math.pow(2,-a))+f,c>z&&(d+=A));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=((this.b&fc)<<14>>23|this.b&255)%72){var c=this.f(b),d=this.f(b+1&15),e=c;0>a&&(a=72+a);36>a?(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D+Math.trunc(e/Math.pow(2,36-a))):(c=d*Math.pow(2,a-36)%D+Math.trunc(c/Math.pow(2,72-
a)),d=e*Math.pow(2,a-36)%D+Math.trunc(d/Math.pow(2,72-a)));this.g(b,c);this.g(b+1&15,d)}},function(a,b){if(a=(this.b&fc)<<14>>23|this.b&255){var c=this.f(b),d=this.f(b+1&15);0<a?36<=a?(c=72<=a?0:d*Math.pow(2,a-36)%D,d=0):(c=c*Math.pow(2,a)%D+Math.trunc(d/Math.pow(2,36-a)),d=d*Math.pow(2,a)%D):-36>=a?(d=-72>=a?0:Math.trunc(c/Math.pow(2,-a-36)),c=0):(d=Math.trunc(d/Math.pow(2,-a))+c*Math.pow(2,36+a)%D,c=Math.trunc(c/Math.pow(2,-a)));this.g(b,c);this.g(b+1&15,d)}},M,function(a,b){a=this.f(b);this.g(b,
this.f(this.b));this.g(this.b,a)},function(a,b){var c=a=!1,d=this.f(b),e=d/y|0;for(d&=x;!a;)if(this.g(d,this.f(e)),(a=d>=this.b)||(e=e+1&x,d=d+1&x,c=!0),a||!this.A.P){c&&this.g(b,e*y+d);a||Fd(this,-1);break}},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a<A&&G(this,this.b)},function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a>=A&&G(this,this.b)},function(a,b){b&1&&(this.j|=4096);b&2&&Ed(this,this.Ia/y|0);b&4&&H(this);b&8&&this.w(a);G(this,this.b)},function(a,b){a=b<<14;this.j&a&&(this.j&=~a,G(this,
this.b))},function(){this.O=this.b},M,function(a,b){a=(this.f(b)+262145)%D;this.g(b,a);a/y|0||(this.j|=262144);this.g(a&cc,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){a=this.f(b);a+=262145;this.g(a&cc,this.f(this.b));a>=D&&(a-=D);a/y|0||(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&cc);this.g(this.b,c);this.b==b&&(a=c);a-=262145;0>a&&(a+=D);(a/y|0)==x&&(this.j|=262144);this.g(b,a)},function(a,b){a=this.f(b);var c=this.f(a&cc);a-=262145;0>a&&(a+=D);(a/
y|0)==x&&(this.j|=262144);this.g(b,a);G(this,c&cc)},function(){this.g(this.b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b+1)},function(a,b){this.g(b,(this.j&x)*y+this.i);this.j&=-8193;G(this,this.b)},function(a,b){this.g(this.b,this.f(b));this.g(b,this.b*y+this.i);G(this,this.b+1)},function(a,b){a=this.f(b);this.g(b,this.f(a/y|0));G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Q.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Q.call(this,
this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Q.call(this,this.f(b),this.f(this.b))))},function(a,b){this.g(b,Me.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(b,Me.call(this,this.f(b),this.b))},function(a,b){this.g(this.b,Me.call(this,this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Me.call(this,this.f(b),this.f(this.b))))},Be,function(a,b){0>Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0==Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,
b){0>=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0!=Ne(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0<Ne(this.f(b),this.b)&&G(this,this.i+1)},Ce,function(a,b){0>Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0==Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0>=Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0<=Ne(this.f(b),
this.f(this.b))&&G(this,this.i+1)},function(a,b){0!=Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0<Ne(this.f(b),this.f(this.b))&&G(this,this.i+1)},Be,function(a,b){0>U(this.f(b))&&G(this,this.b)},function(a,b){0==U(this.f(b))&&G(this,this.b)},function(a,b){0>=U(this.f(b))&&G(this,this.b)},function(){G(this,this.b)},function(a,b){0<=U(this.f(b))&&G(this,this.b)},function(a,b){0!=U(this.f(b))&&G(this,this.b)},function(a,b){0<U(this.f(b))&&G(this,this.b)},function(a,b){b&&this.g(b,this.f(this.b))},
function(a,b){a=this.f(this.b);0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){G(this,this.i+1);b&&this.g(b,this.f(this.b))},function(a,b){a=this.f(this.b);0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.f(this.b);0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,
b){this.g(b,Q.call(this,this.f(b),1))},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0==U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0>=U(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),1));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0<=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),1));0!=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,
Q.call(this,this.f(b),1));0<U(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));G(this,
this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),1));0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){this.g(b,Q.call(this,this.f(b),C))},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),
C));0==U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0>=U(a)&&G(this,this.b)},function(a,b){this.g(b,Q.call(this,this.f(b),C));G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0!=U(a)&&G(this,this.b)},function(a,b){a=this.g(b,Q.call(this,this.f(b),C));0<U(a)&&G(this,this.b)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));b&&this.g(b,a)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),C));0>U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0==U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0>=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,
Q.call(this,this.f(this.b),C));0!=U(a)&&G(this,this.i+1);b&&this.g(b,a)},function(a,b){a=this.g(this.b,Q.call(this,this.f(this.b),C));0<U(a)&&G(this,this.i+1);b&&this.g(b,a)},Qd,Qd,function(){this.g(this.b,0)},function(a,b){this.g(this.b,this.g(b,0))},function(a,b){this.g(b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),this.b))},function(a,b){this.g(this.b,R(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-
this.f(b),this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),this.b))},function(a,b){this.g(this.b,R(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),this.f(this.b))))},Nd,Od,Ce,Nd,function(a,b){this.g(b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(this.f(b),C-this.b))},function(a,b){this.g(this.b,R(this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(this.f(b),C-this.f(this.b))))},Be,Be,Pd,Pd,function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},
function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(this.b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,V(this.f(b),this.f(this.b))))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(this.b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(this.f(b),this.f(this.b))))},function(a,b){this.g(b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,R(C-this.f(b),C-this.b))},
function(a,b){this.g(this.b,R(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,R(C-this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,Oe(this.f(b),this.f(this.b)))},function(a,b){this.g(b,Oe(this.f(b),this.b))},function(a,b){this.g(this.b,Oe(this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,Oe(this.f(b),this.f(this.b))))},Rd,Rd,function(a,b){this.g(this.b,C-this.f(b))},function(a,b){this.g(this.b,this.g(b,C-this.f(b)))},function(a,b){this.g(b,T(C-this.f(b),this.f(this.b)))},
function(a,b){this.g(b,T(C-this.f(b),this.b))},function(a,b){this.g(this.b,T(C-this.f(b),this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),this.f(this.b))))},function(a,b){this.g(b,C-this.f(this.b))},function(a,b){this.g(b,C-this.b)},function(){this.g(this.b,C-this.f(this.b))},function(a,b){this.g(this.b,this.g(b,C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),C-this.b))},function(a,b){this.g(this.b,T(this.f(b),C-this.f(this.b)))},
function(a,b){this.g(this.b,this.g(b,T(this.f(b),C-this.f(this.b))))},function(a,b){this.g(b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(b,T(C-this.f(b),C-this.b))},function(a,b){this.g(this.b,T(C-this.f(b),C-this.f(this.b)))},function(a,b){this.g(this.b,this.g(b,T(C-this.f(b),C-this.f(this.b))))},Sd,Sd,function(){this.g(this.b,C)},function(a,b){this.g(this.b,this.g(b,C))},Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,Td,ke,le,me,ne,oe,pe,qe,re,te,ue,ve,we,xe,
ye,ze,re,te,ue,ve,we,xe,ye,ze,re,te,ue,ve,we,xe,ye,ze,re,te,ue,ve,we,xe,ye,ze,Be,Be,function(a,b){0==R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0==R(this.f(b),this.b*y)&&G(this,this.i+1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.b)&&G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.b*y)&&G(this,this.i+1)},Ce,Ce,function(a,b){0==R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0==R(this.f(b),W(this.f(this.b)))&&G(this,this.i+
1)},function(){G(this,this.i+1)},function(){G(this,this.i+1)},function(a,b){0!=R(this.f(b),this.f(this.b))&&G(this,this.i+1)},function(a,b){0!=R(this.f(b),W(this.f(this.b)))&&G(this,this.i+1)},function(a,b){this.g(b,S(this.f(b),this.b))},function(a,b){this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0==R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),
this.b))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,S(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,
c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,S(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,c)&&G(this,this.i+1);this.g(b,S(a,c))},function(a,b){this.g(b,V(this.f(b),this.b))},function(a,b){this.g(b,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&
G(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,V(a,this.b))},function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){this.g(b,V(this.f(b),
W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,V(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,
c)&&G(this,this.i+1);this.g(b,V(a,c))},function(a,b){this.g(b,T(this.f(b),this.b))},function(a,b){this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);0==R(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},function(a,b){a=this.f(b);0==R(a,this.b*y)&&G(this,this.i+1);this.g(b,T(a,this.b*y))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.b*y))},function(a,b){a=this.f(b);0!=R(a,this.b)&&G(this,this.i+1);this.g(b,T(a,this.b))},
function(a,b){a=this.f(b);var c=this.b*y;0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){this.g(b,T(this.f(b),W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0==R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0==R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),this.f(this.b)))},function(a,b){G(this,this.i+1);this.g(b,T(this.f(b),
W(this.f(this.b))))},function(a,b){a=this.f(b);var c=this.f(this.b);0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},function(a,b){a=this.f(b);var c=W(this.f(this.b));0!=R(a,c)&&G(this,this.i+1);this.g(b,T(a,c))},P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P,P],Ae=[function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a){this.w(a)},function(a,b){switch(b){case 0:a=this.f(this.b);a&8&&(this.j&=-131073);
a&131072&&(this.j&=-262145);break;default:this.w(a)}},function(a,b){switch(b){case 0:a=0;this.j&131072&&(a|=8);this.j&262144&&(a|=65536);this.g(this.b,a);break;default:this.w(a)}},function(a){this.w(a)},function(a){this.w(a)}];
function Pe(a){t.call(this,"ROM",a,128);this.Z=this.b=null;this.C=+a.addr;this.j=+a.size;this.i=a.alias;"string"==typeof this.i&&(this.i=eval(this.i));this.w=a.file;this.F=Da(this.w);if(this.w){a=this.w;var b=Ea(this.F);"json"!=b&&"hex"!=b&&(a=Xa()+"/api/v1/dump?file="+this.w+"&format=bytes&decimal=true");var c=this;Va(a,null,!0,function(a,b,f){f?(c.ia("Unable to load ROM resource (error "+f+": "+a+")"),c.w=null):(vb(c.Za,a,b),(a=Wa(a,b))?(c.b=a.da,c.Z=a.Z):c.w=null);Qe(c)})}}ra(Pe,t);
Pe.prototype.Ka=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Qe(this)};Pe.prototype.za=function(){this.Z&&(this.D&&Re(this.D,this.id,this.C,this.j,this.Z),delete this.Z);return!0};Pe.prototype.qa=function(){return!0};
function Qe(a){if(!Wb(a)){if(a.w){if(!a.b||!a.H)return;a.j||(a.j=a.b.length);if(a.b.length!=a.j)Ub(a,"ROM size ("+n(a.b.length,8,!0)+") does not match specified size ("+n(a.j,8,!0)+")");else{var b=a.C;if(Tc(a.H,b,a.j,ad)){var c;for(c=0;c<a.b.length;c++)Jc(a.H,b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.i?b.push(a.i):null!=a.i&&a.i.length&&(b=a.i);for(c=0;c<b.length;c++){for(var d=a,e=b[c],f=d.H,g=d.j,h=[],k=d.C>>>f.i;0<g&&k<f.b.length;)h.push(f.b[k++]),g-=16384;f=d.H;d=d.j;g=0;for(e>>>=
f.i;0<d&&e<f.b.length;){k=h[g++];if(!k)break;f.b[e++]=k;d-=16384}}delete a.b}}}Xb(a)}}hb(function(){for(var a=w(document,u,"rom"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Pe(d);Ab(d,c)}});
function Se(a){t.call(this,"RAM",a);this.Z=this.Na=null;this.i=+a.addr;this.j=+a.size;this.ka=a.load;this.xa=a.exec;null!=this.ka&&(this.ka=+this.ka);null!=this.xa&&(this.xa=+this.xa);this.w=this.F=!1;this.b=a.file;this.C=Da(this.b);if(this.b){a=this.b;var b=Ea(this.C);"json"!=b&&"hex"!=b&&(a=Xa()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;Va(a,null,!0,function(a,b,f){f?(c.ia("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(vb(c.Za,a,b),(a=Wa(a,b))?(c.Na=a.Na,
c.Z=a.Z,null==c.ka&&(c.ka=a.ka),null==c.xa&&(c.xa=a.xa)):c.b=null);Te(c)})}}ra(Se,t);Se.prototype.Ka=function(a,b,c,d){this.H=b;this.v=c;this.D=d;Te(this)};Se.prototype.za=function(a,b){this.Z&&(this.D&&Re(this.D,this.id,this.i,this.j,this.Z),delete this.Z);b||this.reset();return!0};Se.prototype.qa=function(){return!0};
function Te(a){if(a.H&&(!a.w&&a.j&&(Tc(a.H,a.i,a.j,1)?a.w=!0:a.j=0),!Wb(a))){if(!a.w)r("No RAM allocated");else if(a.b){if(!a.Na)return;Ue(a,a.Na,a.ka,a.xa,a.i)?a.status('Loaded image "'+a.C+'"'):a.ia('Error loading image "'+a.C+'"')}a.F=!0;Xb(a)}}
Se.prototype.reset=function(){if(this.w&&!this.F){var a=this.H,b=this.i,c=this.j,d=b&16383;for(b>>>=a.i;0<c&&b<a.b.length;){var e=a.b[b],f=c,g=0;g=void 0===g?0:g;d=d||0;void 0===f&&(f=e.size);0>g&&g>=-A&&(g+=D);g=Math.trunc(Math.abs(g))%D;for(var h=d;f--&&h<e.size;h++)e.D(g,d,e.B+d);c-=16384;b++;d=0}this.Na&&Ue(this,this.Na,this.ka,this.xa,this.i,!this.D)}this.F=!1};
function Ue(a,b,c,d,e,f){var g=!1;null==c&&(c=e);if(null!=c){for(g=0;g<b.length;g++)Jc(a.H,c+g,b[g]);g=!0}g&&(null==d&&(H(a.v),f=!1),null!=d&&(a=a.v,a.Ya=d,G(a,d),f?a.A.aa?a.A.P||Dc(a):a.A.fa=!0:a.D&&a.A.aa?H(a)||a.G.A.reset||(pd(a.D),K(a.G,-1)):!1===f&&H(a),!a.A.P&&a.Ma&&a.Ma.stop()));return g}hb(function(){for(var a=w(document,u,"ram"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Se(d);Ab(d,c)}});
function Ve(a){t.call(this,"SerialPort",a,1048576);this.w=a.upperCase;"string"==typeof this.w&&(this.w="true"==this.w);this.j=!0;this.i=[];var b=a.binding;if("console"!=b){var c;a=We;b&&(void 0===c&&(c="Panel"),(c=Eb(c,this.id))&&(b=c.J[b])&&this.ra(null,a,b))}this.b=this.C=null;this.exports={connect:this.Lb,receiveData:this.cb,receiveStatus:this.jc,setConnection:this.mc}}ra(Ve,t);m=Ve.prototype;
m.ra=function(a,b,c){var d=this;switch(b){case We:return this.J[b]=c,c.onkeydown=function(a){a=a||window.event;var b=0,c=a.keyCode;8==c?b=a.altKey?ya.wb:ya.Qb:46==c?b=ya.wb:a.ctrlKey&&c>=ya.vb&&c<=ya.Rb&&(b=c-(ya.vb-ya.Nb));b&&(a.preventDefault&&a.preventDefault(),d.cb(b));return!0},c.onkeypress=function(a){a=a||window.event;if(!a.metaKey){var b=a.which||a.keyCode;a.altKey&&b==ya.Pb&&(b=ya.Ob);d.cb(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.cb(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};m.Ka=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Xb(this)};
m.Lb=function(a){if(!this.b){var b=md(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ma(c[0]);if(d!=this.Db)return;c=Ma(c[1]);if(this.b=Db(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.j);if(this.C=e.receiveData){this.j=a;this.status("Connected "+this.Za+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};m.za=function(a,b){if(!b)if(this.Lb(this.j),!a)this.reset();else if(!this.restore(a))return!1;return!0};
m.qa=function(a){return a?this.save():!0};m.reset=function(){};m.save=function(){var a=new F(this);a.set(0,[]);return a.data()};m.restore=function(){return!0};m.cb=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};m.jc=function(){};m.mc=function(a,b){return this.b?!1:(this.b=a,this.C=b,!0)};var We="buffer";
hb(function(){for(var a=w(document,u,"serial"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new Ve(d);Ab(d,c)}});function Xe(a){t.call(this,"Debugger",a);this.T=+a.base||16;this.L=32;this.S=["{","}"];this.sa=["[","]"];this.F=0;this.V=!1;this.C=-1;this.w=[];this.b={}}ra(Xe,t);Xe.prototype.qb=function(){return-1};Xe.prototype.rb=function(){};
function Ye(a,b,c,d){if(c)if(b){0>a.C&&a.w.length&&(a.C=0);if(0>a.C||b!=a.w[a.C])a.w.splice(0,0,b),a.C=0;a.C--}else a.V?b="end":b=a.w[a.C+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ma(b.substring(c,f))),c=f+1}}return a}function Ze(a,b,c){if(32>=a.L)return b&c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/$e|0)&(c/$e|0))*$e+((b&c)>>>0)}
function af(a,b,c){if(32>=a.L)return b|c;b=X(a,b,0,!0);c=X(a,c,0,!0);return((b/$e|0)^(c/$e|0))*$e+((b^c)>>>0)}Xe.prototype.Ib=function(a,b){return a*b};function X(a,b,c,d){var e=b;c=c||a.L;if(d)if(32==c)e=b>>>0;else if(32>c)e=b&(1<<c)-1;else{if(a=Math.pow(2,c),0>b||b>=a)e=b%a,0>e&&(e+=a)}else 32>=c?e=b<<32-c>>32-c:(a=Math.pow(2,c-1),b>=a?(e=b%a,(b/a|0)&1&&(e-=a)):b<-a&&(e=b%a,((-b-1)/a|0)&1?e&&(e+=a):e||(e-=a)));b!=e&&(b=e);return b}
function bf(a,b,c,d){for(d=void 0===d?-1:d;d--&&c.length;){var e=c.pop();if(2>b.length)return!1;var f=b.pop();var g=b.pop();switch(e){case "*":g=a.Ib(g,f);break;case "/":if(!f)return!1;g=Math.trunc(g/f);break;case "^/":if(!f)return!1;g%=f;break;case "+":g+=f;break;case "-":g-=f;break;case "<<":g<<=f;break;case ">>":g>>=f;break;case ">>>":g>>>=f;break;case "<":g=g<f?1:0;break;case "<=":g=g<=f?1:0;break;case ">":g=g>f?1:0;break;case ">=":g=g>=f?1:0;break;case "==":g=g==f?1:0;break;case "!=":g=g!=f?
1:0;break;case "&":g=Ze(a,g,f);break;case "!":case "|":e=g;32>=a.L?g=e|f:(e=X(a,e,0,!0),f=X(a,f,0,!0),g=(e/$e|0|f/$e|0)*$e+((e|f)>>>0));break;case "^!":g=af(a,g,f);break;case "&&":g=g&&f?1:0;break;case "||":g=g||f?1:0;break;case ",,":g=X(a,g,18,!0)*Math.pow(2,18)+X(a,f,18,!0);break;case "_":case "^_":"^_"==e&&(f=35-(f&255));f&&(g=X(a,g,0,!0),g=0<f?g*Math.pow(2,f):Math.trunc(g/Math.pow(2,-f)));break;default:return!1}b.push(X(a,g))}return!0}
function cf(a,b,c,d,e,f){var g,h=!1,k=0,l=[],p=[],q=a.T;for(a.T=e;c<d;){var B=b[c++].trim();var v=c<d?b[c++]:"";if(B)var J=df(a,B,null,f,k);else if("{"==v){B=1;for(J=c;c<d;)if(c++,v=c<b.length?b[c++]:"","{"==v)B++;else if("}"==v&&!--B)break;J=cf(a,b,J,c-1,a.T,f);null!=J&&k&&(J=ef(a,J,k));B=c<d?b[c++].trim():"";v=c<d?b[c++]:""}else{if(" "==v)continue;if("^B"==v){a.T=2;continue}if("^O"==v){a.T=8;continue}if("^D"==v){a.T=10;continue}if(!(k&-1073741824)){if("+"==v)continue;if("-"==v){k=k<<2|1;continue}if("~"==
v||"^-"==v){k=k<<2|2;continue}if("^L"==v){k=k<<2|3;continue}}h=!0;break}if(void 0===J)if(f)f.push(B),J=0;else{h=!0;f=[];break}l.push(X(a,J));if(" "==v)if(c<b.length-1&&!b[c])c++,v=b[c++];else{h=!0;break}if(!v)break;k="<"==a.S[0]?ff:gf;if(!k[v]){h=!0;break}p.length&&k[v]<=k[p[p.length-1]]&&bf(a,l,p,1);p.push(v);a.T="^_"==v?10:e;k=0}if(h||!bf(a,l,p)||1!=l.length)h=!0;h?f||a.u("parse error ("+(B||v)+")"):g=l.pop();a.T=q;return g}
function hf(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var l=b[h++];if(l==c){k=-1;break}if(!k)break;k--;l=l.charCodeAt(0);7==d?l&=127:l=l-32&63;g=X(a,g*Math.pow(2,d)+l,d*e,!0)}if(0<=k){a.u("parse error ("+c+b+c+")");return}b=b.substr(0,f)+L(a,g,-1)+b.substr(h)}return b}
function jf(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.S[0]&&(b=b.split(a.S[0]).join("{").split(a.S[1]).join("}"));b=hf(a,b,'"',7,5);if(!b)return d;b=hf(a,b,"'",6,6);if(!b)return d;16!=a.T&&(b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," "));b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=cf(a,b,0,b.length,a.T,c);void 0!==d&&e&&kf(a,null,d)}return d}
function ef(a,b,c){for(;c;){switch(c&3){case 1:b=-X(a,b);break;case 2:b=af(a,b,-1);break;case 3:for(var d=35;0<=d&&!Ze(a,b,Math.pow(2,d));)d--;b=35-d}c>>>=2}return b}
function df(a,b,c,d,e){e=void 0===e?0:e;var f=Array.isArray(d)?d:void 0;if(null!=b){var g=a.qb(b);if(0<=g)g=a.rb(g);else if(g=b,a.b[g]?g=a.b[g].value:(g=g.substr(0,6),g=a.b[g]&&a.b[g].value),null!=g){var h=a.b[b]&&a.b[b].Mb;h&&(f?f.push(h):(f=jf(a,h,d),void 0!==f?g+=f:(d||a.u("undefined "+(c||"value")+": "+b+" ("+h+")"),g=void 0)))}else g=za(b,1<b.length||10<a.T?a.T:10);null!=g?g=X(a,ef(a,g,e)):d||a.u("invalid "+(c||"value")+": "+b)}else d||a.u("missing "+(c||"value"));return g}
function kf(a,b,c){var d=!1;if(void 0!==c){d=!0;var e=8==a.T?L(a,c,a.L,8,1)+" "+c+".":L(a,c,a.L,16,1)+" "+L(a,c,a.L,8,1)+" "+L(a,c,a.L,2,32>=a.L?8:6)+" "+c+".";32<=c&&127>c&&(e+=" '"+String.fromCharCode(c)+"'")}a.u((null!=b?b+": ":"")+e);return d}function lf(a){var b=a.b;a.b={};return b}function mf(a,b){var c=0;if(a.b){if(b)return kf(a,b,a.b[b]&&a.b[b].value);b=Object.keys(a.b);b.sort();for(var d=0;d<b.length;d++)kf(a,b[d],a.b[b[d]].value),c++}return 0<c}
function L(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.T){case 2:(a=0<c?c:0)?36<a&&(a=36):(a=Math.abs(b),a=255>=a?8:262143>=a?18:36);b=Aa(b,2,a,"",e);break;case 8:b=Ba(b,0<c?(c+2)/3|0:0,!!e);break;case 10:b=Ca(b,0<c?Math.ceil(.3*c):0);break;default:b=n(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var gf={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ff={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20},$e=Math.pow(2,32);
function nf(a){Xe.call(this,a);this.Ha=!1;this.Ea=18;this.L=36;this.S=["<",">"];this.sa=[];this.Ga=Y();this.M=Y(0);this.na=Y(0);this.ga=Y(0);this.I=[];this.i=this.N=this.K=[];of(this);this.W=this.oa=0;this.j=[];this.Aa=void 0;pf(this);this.D=this;this.ua={};this.ca=this.Eb=0;this.Y=null;this.R=[];qf(this,a.messages);this.ta=a.commands;this.Fa=[];this.O=0;this.Ma=this.Ba=null;this.F=this.Ja=this.Ia=this.ma=this.wa=0;this.va=this.la=this.ba=null;var b=this;window?void 0===window[u]&&(window[u]=function(a){return rd(b,
a)}):void 0===global[u]&&(global[u]=function(a){return rd(b,a)})}ra(nf,Xe);function rf(a){a=a&&a.B;null==a&&(a=-1);return a}function Y(a,b,c){return{B:void 0===a?null:a,ab:void 0===b?!1:b,pa:!1,T:c}}function sf(a,b,c,d){a.B=b;a.ab=c||!1;a.pa=!1;a.T=d}function tf(a){return[a.B,a.ab,a.pa,a.T,a.eb]}function uf(a,b){var c=Y(b[0],b[1],b[2]);c.pa=b[3];b[4]&&(c.zb=Ye(a,c.eb=b[4]));return c}m=nf.prototype;
m.Ka=function(a,b,c,d){this.H=b;this.G=a;this.v=c;this.la=a.j;this.Ea=b.F;(b=md(a,"messages"))&&qf(this,b);if(a=md(a,"commands"))this.ta=a;vf(this,function(a){a:{var b=d.H.b,c=a[0],e=a=0,k=b.length;if(c){a=rf(wf(d,c,d.na));if(-1===a){d.u("invalid address: "+c);break a}e=a>>>d.H.i;k=1}d.u("blockid physical blockaddr used size type");d.u("-------- --------- --------- ------ ------ ----");c=-1;for(var l=0;k--;){var p=b[e];p.type==c?l++||d.u("..."):(c=p.type,l=Wc[c],p&&d.u(n(p.id,8)+" %"+
n(e<<d.H.i,8)+" %"+n(p.B,8)+" "+n(p.Va,4,!0)+" "+n(p.size,4,!0)+" "+l),c!=$c&&(c=-1),l=0);a+=16384;e++}}});Xb(this)};
m.ra=function(a,b,c){var d=this;switch(b){case "debugInput":return this.ba=this.J[b]=c,c.onkeydown=function(a){if(13==a.keyCode){var b=c.value;c.value="";rd(d,b,!0)}else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.C<d.w.length-1&&(b=d.w[++d.C])):40==a.keyCode&&(0<d.C?b=d.w[--d.C]:(b="",d.C=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.J[b]=c,fb(c,function(){if(d.ba){var a=d.ba.value;
d.ba.value="";rd(d,a,!0);return!0}return!1}),!0;case "step":return this.J[b]=c,fb(c,function(a){var b=!1;Yb(d,!0)||(Zb(d,!0),b=Ec(d,a?1:0,null),Zb(d,!1));return b}),!0}return!1};function qd(a){if(a.ba){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.ba.focus();window&&window.scrollTo(b,c)}}m.La=function(a,b){var c=-1,d=rf(a);-1!==d&&(c=Kc(this.H,d),b&&null!=a.B&&(a.B+=b||1));return c};m.xb=function(a,b,c){var d=rf(a);-1!==d&&(Jc(this.H,d,b),c&&null!=a.B&&(a.B+=c||1),K(this.G,-1))};
m.Ib=function(a,b){0>a&&(a+=D);0>b&&(b+=D);a=Ke.call(this.v,a,b,!1,!0);a>=A&&(a-=D);return a};
function wf(a,b,c){var d;c||(c=Y());var e=c.B;if(void 0!==b){a:{e=a.S[0];var f=a.S[1];var g="("==e||"{"==e||"["==e?"\\":"";var h="["==e?"\\":"";for(h=new RegExp(g+e+"([^"+h+e+h+f+"]+)"+g+f);g=b.match(h);){var k=jf(a,g[1]);if(void 0===k){b=void 0;break a}b=b.replace(e+g[1]+f,null!=k?L(a,k):"undefined")}if(a.sa.length)for(e=a.sa[0],f=a.sa[1],g="("==e||"{"==e||"["==e?"\\":"",h="["==e?"\\":"",h=new RegExp(g+e+"([^"+h+e+h+f+"]+)"+g+f);g=b.match(h);)b=b.replace("["+g[1]+"]","unimplemented");for(;e=b.match(/\$([a-z]+)/i);){f=
null;switch(e[1].toLowerCase()){case "ops":f=0}if(null==f)break;b=b.replace(e[0],f.toString())}}if("%"==b.charAt(0)){var l=!0;b=b.substr(1)}var p;e=b;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(e=e.toUpperCase(),f=0;f<a.I.length;f++)if(g=a.I[f].Z[e],null!=g){var q=g.o;break}null!=q&&(p=Y(q));if(p)return p;0<=b.indexOf("0x")?d=16:0<=b.indexOf("0o")?d=8:0<=b.indexOf(".")&&(d=10);e=jf(a,b)}null!=e&&(e=xf(e,a.Ea),sf(c,e,l,d));return c}
function yf(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.zb=Ye(a,b.eb=c[2]))}function xf(a,b){0>a&&a>=-A&&(a+=D);return Math.trunc(Math.abs(a))%Math.pow(2,void 0===b?36:b)}function zf(a,b){return L(a,b/dc,18)+" "+L(a,b%dc,18)}
function qf(a,b){a.D=a;a.ca=a.Eb=536870916;a.Y=null;a.R=[];b=Ye(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in mc){a:{var d=void 0;if(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.ca|=mc[c],a.u(c+" messages enabled"))}}function vf(a,b){for(var c in mc)if(16==mc[c]){a.ua[c]=b;break}}m.qb=function(a){return Af.indexOf(a.toUpperCase())};
m.rb=function(a){var b=this.v;switch(a){case Bf:var c=b.i;break;case Cf:c=b.I;break;case Df:c=b.b;break;case Ef:c=b.j&x;break;case Ff:c=b.j&131072?1:0;break;case Gf:c=b.j&65536?1:0;break;case Hf:c=b.j&32768?1:0;break;case If:c=b.j&8192?1:0;break;case Jf:c=b.j&32?1:0;break;case Kf:c=b.j&262144?1:0}return c};
m.message=function(a,b){b&&(a+=" @"+L(this,Y(this.v.na).B,18));if(!this.Y||a!=this.Y)if(this.Y=a,this.ca&1073741824)this.R.push(a);else{var c;if(this.ca&-2147483648&&this.v&&(c=this.v.A.P)||Yb(this,!0))jd(this),c&&(a+=" (cpu halted)");this.u(a);this.v&&(a=this.v,zd(a),a.la=0,a.G&&K(a.G,void 0))}};
function pf(a){var b;if(!Hd(a))a.j&&a.j.length&&a.u("instruction history buffer freed"),a.W=0,a.j=[];else if(!a.j||!a.j.length){a.j=Array(Lf);for(b=0;b<a.j.length;b++)a.j[b]=Y();a.W=0;a.u("instruction history buffer allocated")}}function Mf(a,b,c){if(!Nf(a,c))return!1;Dc(a.v,b);return!0}
function Ec(a,b,c,d){if(!Nf(a))return!1;var e="";null===c&&(e=(c=!a.Ba||"tr"==a.Ba)?"tr":"t");a.F=0;b||Hd(a)&&Id(a,a.v.i,0);try{b=xd(a.v,b);var f=a.v.Xa(b);0<f&&(Fc(a.v,f),a.F+=f,Gc(a.v,f,!0),Hc(a.v,f),a.ma++)}catch(g){"number"!=typeof g&&(b=g,a.F=0,Ub(a.v,b.stack||b.message))}!1!==d&&(a.la&&a.la.stop(),K(a.G,-1));pd(a,c||!1,e);return 0<a.F}function jd(a,b){a.v&&H(a.v,b)}function pd(a,b,c){b=void 0===b?!0:b;a.Ha&&(c&&a.u(Of+c),sf(a.M,a.v.i),b&&1!=a.O?Pf(a):Qf(a))}
function Nf(a,b){var c;(c=!a.v||!Wb(a.v))||(c=a.v,c.A.aa?c=!0:(c.u(c.toString()+" not powered"),c=!1),c=!c);return c||a.v.A.P?(b||a.u("cpu busy or unavailable, command ignored"),!1):!Vb(a.v)}m.za=function(a,b){return!b&&(this.reset(!0),a)?this.restore(a):!0};m.qa=function(a,b){b&&this.u(a?"suspending":"shutting down");return a?this.save():!0};m.reset=function(a){pf(this);this.ma=0;this.Y=null;this.F=0;sf(this.M,this.v.i);this.A.P=!1;Rf(this);a||pd(this)};
m.save=function(){var a=new F(this);a.set(0,tf(this.M));a.set(1,tf(this.na));a.set(2,tf(this.ga));a.set(3,[this.w,this.V,this.ca]);a.set(4,this.I);return a.data()};m.restore=function(a){var b=0;void 0!==a[3]&&(this.M=uf(this,a[b++]),this.na=uf(this,a[b++]),this.ga=uf(this,a[b++]),this.w=a[b][0],"string"==typeof this.w&&(this.w=[this.w]),this.V=a[b][1],this.ca|=a[b][2]);a[4]&&(this.I=a[4]);return!0};m.start=function(a,b){this.O||this.u("running");this.A.P=!0;this.Ia=a;this.Ja=b};
m.stop=function(a,b){if(this.A.P){this.A.P=!1;this.F=b-this.Ja;if(!this.O){b="stopped";if(this.F){a-=this.Ia;var c=0<a?Math.round(1E3*this.F/a):0;b+=" (";Hd(this)&&(b+=this.ma+" instructions, ",this.ma=0);b+=this.F+" cycles, "+a+" ms, "+c+" hz)"}else $b(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.u(b)}pd(this,!0);qd(this);Rf(this,this.v.i);this.Y=null}};function Hd(a){return 1<a.i.length||!!a.oa}
function Id(a,b,c){var d=-1;c||(d=a.v.f(b),2756==d>>23&&a.v.na==b&&(b=Fd(a.v,1)));if(0<c&&(a.oa&&!--a.oa||id(a,b,1,a.i)))return!0;0<=c&&a.j.length&&(a.ma++,0>d&&(d=a.v.f(b)),0<=d&&(sf(a.j[a.W],b),++a.W==a.j.length&&(a.W=0)));return!1}
function Sf(a,b,c,d){var e=Y(b.B),f=a.La(b,1),g,h=0,k=f/ic|0,l;for(l in Tf)if(g=Tf[l][k&l]){var p=+l;k>>=6;switch(p){case 32512:var q=Uf;h=k&3;break;case 32256:q=Vf;h=k&7;break;case 29248:q=Wf,h=(k&48)>>2|(k&6)>>1}break}q=q&&q[h]||"";"S"==q&&g>Xf&&(q="B");q=Yf[g||0]+q;if(g){if(28700==p)p=f/jc&127,h=L(a,p,-1);else for(p=f>>23&15,h=L(a,p,-1),k=0;h&&k<Zf.length;k++)if(g==Zf[k][0]&&(l=Zf[k][p])){q=Yf[l];h="";break}q=La(q,8)+(h?h+",":"");f&4194304&&(q+="@");q+=L(a,f&262143,-1);(f=f>>18&15)&&(q+="("+L(a,
f,-1)+")")}else q=La(q,8)+zf(a,f);f=q;g="";p=L(a,e.B,18)+":";if(-1!==e.B&&-1!==b.B){do if(q=a.La(e,1),g+=" "+zf(a,q),null==e.B)break;while(e.B!=b.B)}p+=La(g,16)+f;c&&(p=La(p,48)+";"+(c||""),p=a.v.A.Sa?p+("cycles="+sd(a.v).toString()+" cs="+n(a.v.Fa)):p+(null!=d?"="+d.toString():""));return p}
function $f(a,b,c,d,e){var f=-1;if(b){for(var g=b.toUpperCase(),h=0;h<Zf.length;h++)for(var k in Zf[h])if(+k){var l=Zf[h][k];if(g==Yf[l]){g=Yf[Zf[h][0]];c&&(c=L(a,+k)+","+c);break}}for(var p in Tf){var q=+p;k=Tf[p];switch(q){case 32512:h=Uf;break;case 32256:h=Vf;break;case 29248:h=Wf;break;default:h=[""]}for(var B in k){l=k[B];for(var v=0;v<h.length;v++){var J=h[v];"S"==J&&l>Xf&&(J="B");if(g==Yf[l]+J){f=29248!=q?v:(v&3)<<1|(v&12)<<2;f=(B|f<<6)*ic;break}}if(0<=f)break}if(0<=f)break}!(0>f)||c&&c.match(/^[0-9A-Z$%.?]/i)||
(c=b+c,b="",f=0)}else c&&(f=q=0);if(0<=f&&c)for(g=c.split(","),2<g.length&&(e||a.u("too many operands: "+c),g.length=0,f=-1),p=0;p<g.length;p++)if(l=g[p].trim()){B=l.match(/(@?)([^(]*)\(?([^)]*)\)?/);if(!B){e||a.u("unknown operand: "+l);f=-1;break}B[1]&&(f+=4194304);if(l=B[3]){l=jf(a,l,e);if(void 0==l){f=-1;break}l=W(X(a,l,36,!0));f+=l}l=B[2];if(p||1==g.length)l=l?l.replace(/(^|[^0-9])\./g,"$1"+L(a,d,18)):"0";l=jf(a,l,e);if(void 0==l){f=-1;break}if(!p&&1<g.length)if(28700==q){if(0>l||127<l)l&=127;
f+=l*jc}else{if(0>l||15<l)l&=15;f+=l<<23}else{if(b||p)if(0>l||262143<l)l&=cc;f+=l}}0>f&&!e&&a.u("unknown instruction: "+b+" "+c);return f}function of(a){var b;a.i=["bp"];if(a.N)for(b=1;b<a.N.length;b++){var c=a.N[b];c=rf(c);var d=a.H;hd(d.b[c>>>d.i],!1)}a.N=["br"];if(a.K)for(b=1;b<a.K.length;b++)c=a.K[b],c=rf(c),d=a.H,hd(d.b[c>>>d.i],!0);a.K=["bw"];a.wa=0;a.oa=0}
m.Qa=function(a,b,c){var d=!0;c||ag(this,a,b,!1,!0);if(a!=this.i){var e=rf(b);if(-1===e)this.u("invalid address: "+L(this,b.B,18)),d=!1;else{var f=this.H;f.b[e>>>f.i].Qa(e&16383,a==this.K)}}d&&(a.push(b),c?b.pa=!0:(bg(this,a,a.length-1,"set"),pf(this)));return d};function ag(a,b,c,d,e){var f=!1;c=rf(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==rf(h)&&(!d||h.pa)){f=!0;h.pa||e||bg(a,b,g,"cleared");b.splice(g,1);b!=a.i&&(d=a.H,hd(d.b[c>>>d.i],b==a.K));h.pa||pf(a);break}}return f}
function cg(a,b){for(var c=1;c<b.length;c++)bg(a,b,c);return b.length-1}function bg(a,b,c,d){c=b[c];a.u(b[0]+" "+L(a,c.B,18)+(d?" "+d:c.eb?' "'+c.eb+'"':""))}function Rf(a,b){if(void 0!==b)id(a,b,1,a.i,!0),a.O=0;else for(b=1;b<a.i.length;b++){var c=a.i[b];if(c.pa){if(!ag(a,a.i,c,!0))break;b=0}}}
function id(a,b,c,d,e){var f=!1;if(!a.wa++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.pa)for(var k=rf(h)&(d==a.i?65535:-1),l=0;l<c;l++)if(b+l==k){var p;f=!0;h.pa&&(ag(a,d,h,!0),e=!0);if(p=h.zb){f=!1;for(var q=0;q<p.length;q++)if(!dg(a,p[q],!0)){if(p[q].indexOf("if")){f=!0;break}for(var B=q+1;B<p.length&&p[B].indexOf("else");B++)q++;if(B==p.length){f=!0;break}}a.v.A.P||(f=!0)}if(f){e||bg(a,d,g,"hit");break}}}a.wa--;return f}
function eg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=Ba(d,2);sf(e.Ga,d);f+="="+L(e,e.La(e.Ga),36)+" ";c+=f}if(b){b="";for(d=0;d<Af.length;d++)(e=Af[d]||"")&&(e+="="+L(a,a.rb(d),d>=Ff?1:d==Cf?23:18)+" "),b+=e;c+="\n"+b}return c}m.Gb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function Re(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,l=h.a;if(void 0!==k){var p=f;k=[k>>>0,g];var q=Na(p,k,a.Gb);0>q&&p.splice(-(q+1),0,k)}l&&(h.a=l.replace(/''/g,'"'))}a.I.push({yd:b,B:c,Wb:d,Z:e,Bb:f})}function fg(a,b,c){var d=[],e=rf(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.B>>>0,h=f.Wb;if(e>=g&&e<g+h){e=Na(f.Bb,[e-g],a.Gb);0<=e?gg(a,b,e,d):c&&(e=~e,gg(a,b,e-1,d),gg(a,b,e,d));break}}return d}
function hg(a,b,c){var d=a.H,e=0,f=null,g=0;b.forEach(function(a,b){d.b[(b&d.j)>>>d.i].g(a,b&16383,b);null==f&&(f=b);b>g&&(g=b);e++});e?(b="start address ",null!=c?(G(a.v,c),b+=L(a,c)):b+="unspecified",a.u(e+" words loaded at "+L(a,f)+"-"+L(a,g)+", "+b),pd(a)):a.u("no data")}function gg(a,b,c,d){var e={},f=a.I[b].Bb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].Z[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
function Mg(a,b){var c=b[0].substr(1),d=b[1]&&"0"<=b[1][0]&&"9">=b[1][0]?b[1]:void 0,e=d?b[2]:b[1],f=wf(a,d,a.ga);if(!e)return a.u("begin assemble at "+L(a,f.B,18)),a.V=!0,K(a.G),!0;var g=e.match(/^(['"]?)(.*?)(\.klm|\.mac|\.html|\.txt|)\1$/i);if(g&&(g[1]||g[3])){f=wf(a,d);if(a.va)a.u("assembly already in progress");else{var h=g[2]+g[3];g[3]||(c+="s");var k=f.B,l=a.va=new Og(a);Pg(l,h,k,c,function(b,c){if(!b)try{var d=l.J;null==d&&(d=k);hg(a,l.U,d)}catch(v){"number"==typeof v?b=v||-1:(a.u(v.message),
b=-1)}b&&a.u("error ("+b+") processing "+(c||h));a.va=null;b||rd(a)})}return!1}b.shift();b.shift();b.shift();b=$f(a,e,b.join(""),f.B||0);0<=b&&(a.xb(f,b),a.u(Sf(a,f)));return!0}function Qg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return mf(a)||a.u("no variables"),!0;if(!c[2])return mf(a,c[1]);if(!c[3])return delete a.b[c[1]],!0;b=jf(a,c[3]);return void 0!==b?(a.b[c[1]]={value:b,Mb:void 0},!0):!1}a.u("invalid assignment:"+b);return!1}
function Rg(a,b,c){var d=null;b=wf(a,b);var e=fg(a,b,!0);if(e.length){var f;if(e[0]){var g="";(f=b.B-e[1])&&(g=" + "+n(f,4,!0));f=e[0]+" ("+L(a,e[1],18)+")"+g;c&&a.u(f);d=f}4<e.length&&e[4]&&(g="",(f=e[5]-b.B)&&(g=" - "+n(f,4,!0)),f=e[4]+" ("+L(a,e[5],18)+")"+g,c&&a.u(f),d||(d=f))}else c&&a.u("no symbols");return d}
function Pf(a,b){var c;if(b&&"?"==b[1])a.u("register commands:"),a.u("\tr\tdump registers"),a.u("\trm\tdump misc registers"),a.u("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.u("missing value for "+b[1]);return}g=jf(a,b);if(void 0===g)return;b=a.qb(f);if(0>b){a.u("unknown register: "+f);return}f=0;var h=a.v;switch(b){case Bf:G(h,
g);sf(a.M,h.i);break;case Ef:Ed(h,g);break;case Ff:f=131072;break;case Gf:f=65536;break;case Hf:f=32768;break;case If:f=8192;break;case Jf:f=32;break;case Kf:f=262144}f&&(h.j=g?h.j|f:h.j&~f);K(a.G);a.u("updated registers:")}}a.u(eg(a,e));c&&(sf(a.M,Gd(d)),Qf(a,L(a,a.M.B,18)))}}function Sg(a,b){b=Ma(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.u(c[2]):kf(a,null,c[2].charCodeAt(0)):jf(a,b,!1)}
function Tg(a,b,c){if("?"==c)a.u("trace commands:"),a.u("\tt [#]\ttrace # instructions"),a.u("\ttr [#]\ttrace # instructions with register updates"),a.u("\ttc [#]\ttrace # cycles"),a.u("note: bn [#] breaks after # instructions without updates");else{var d="t"!=b;c=df(a,c,null,!0)||1;var e=0;"tc"==b&&(e=c,c=1);a.Ba=b;eb(c,function(){return Zb(a,!0)&&Ec(a,e,d,!1)},function(){a.la&&a.la.stop();K(a.G,-1);Zb(a,!1)})}}
function Qf(a,b,c,d){b=wf(a,b,a.M);void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=df(a,c.substr(1)),null!=c&&(d=c);else{d=wf(a,c);if(d.B<b.B)return;e=d.B-b.B;if(256<e){a.u("range too large");return}d=-1}for(c=0;0<e&&d--;){var f=Yb(a,!1)||a.O?a.F:null,g=null!=f?"cycles":null,h=fg(a,b),k=b.B;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.u(l)}h[3]&&(g=h[3],f=null);h=a.ga;l=b;h.B=l.B;h.ab=l.ab;h.pa=l.pa;h.T=l.T;a.u(Sf(a,b,g,f));e-=b.B-k;c++}}
function dg(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.u(Of+b):(a.V&&(a.u("ended assemble at "+L(a,a.ga.B,18)),a.V=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.Y=null;if(Wb(a)&&0<b.length){a.V&&(b="a "+L(a,a.ga.B,18)+" "+b);var f=!1,g=b;var h=void 0===h?" ":h;for(var k=[],l="",p=0,q=0;p<g.length;){var B=g[p++];l?B==l&&(l="",k.push(g.substr(q,p-q)),q=p):'"'==B||"'"==B?l=B:0<=h.indexOf(B)&&(k.push(g.substr(q,p-q-1)),q=p)}q<p&&k.push(g.substr(q,p-q));k[0]=k[0].toLowerCase();if(k&&k.length){var v=
k[0],J=v.charAt(0);for(p=1;p<v.length;p++)if(B=v.charAt(p),"?"==J||"r"==J||"a">B||"z"<B){k[0]=v.substr(p);k.unshift(v.substr(0,p));break}}switch(k[0].charAt(0)){case "a":d=Mg(a,k);break;case "b":var Oc=k[0],ta=k[1],I=b;if("?"==ta)a.u("breakpoint commands:"),a.u("\tbp #\tset exec breakpoint"),a.u("\tbr #\tset read breakpoint"),a.u("\tbw #\tset write breakpoint"),a.u("\tbc #\tclear breakpoint (* to clear all)"),a.u("\tbl\tlist all breakpoints"),a.u("\tbn [#]\tbreak after # instruction(s)");else{var Ra=
Oc.charAt(1);if("l"==Ra){var ig=0+cg(a,a.i);ig+=cg(a,a.N);(ig+=cg(a,a.K))||a.u("no breakpoints")}else if("n"==Ra){var jg=+ta||0;ta&&(a.oa=jg);a.u("break after "+jg+" instruction(s)")}else if(void 0===ta)a.u("missing breakpoint address");else{var la="*"==ta?Y():wf(a,ta,a.M);"c"==Ra?null==la.B?(of(a),a.u("all breakpoints cleared")):ag(a,a.i,la)||ag(a,a.N,la)||ag(a,a.K,la)||a.u("breakpoint missing: "+L(a,la.B,18)):null!=la.B&&(yf(a,la,I),"p"==Ra?a.Qa(a.i,la):"r"==Ra?a.Qa(a.N,la):"w"==Ra?a.Qa(a.K,la):
a.u("unknown breakpoint command: "+Ra))}}break;case "c":var kg=a.G;kg.F&&(kg.F.value="");break;case "d":a:{var mb,nb=k[0],ua=k[1],Ha=k[2],ki=k[3];if("?"==ua){var ob="";for(mb in mc)a.ua[mb]&&(ob&&(ob+=","),ob+=mb);ob+=",state,symbols";a.u("dump memory commands:");a.u("\tdw [a] [n] dump n words at address a");a.u("\tds [a] [n] dump n words at address a as JSON");a.u("\tdh [p] [n] dump n instructions from history position p");ob.length&&a.u("dump extension commands:\n\t"+ob)}else if("state"==
ua){var Vd=Ug(a.G,!0);if("console"==Ha)console.log(Vd);else{var lg=a.G;lg.F&&(lg.F.value="");Vd&&a.u(Vd)}}else if("symbols"==ua)for(var Wd=0;Wd<a.I.length;Wd++){var Xd=a.I[Wd],pb;for(pb in Xd.Z)if("."!=pb.charAt(0)){var mg=Xd.Z[pb].o;if(void 0!==mg){var ng=Xd.Z[pb].l;ng&&(pb=ng);a.u(L(a,mg,18)+" "+pb)}}}else{if("d"==nb){for(mb in mc)if(k[1]==mb){var og=a.ua[mb];og?(k.shift(),k.shift(),og(k)):a.u("no dump registered for "+ua);break a}ua||(nb=a.Ma||"dw")}else a.Ma=nb;if("dh"==nb){var pg=ua,qg=Ha,rg=
"",sg=0,ma=a.W,va=a.j;if(va.length){var ia=+pg||a.Aa,Ib=+qg||10;isNaN(ia)?ia=Ib:rg="more ";ia>va.length&&(a.u("note: only "+va.length+" available"),ia=va.length);ma-=ia;0>ma&&(null==va[va.length-1].B?(ia=ma+ia,ma=0):ma+=va.length);var Yd=[];"call"==qg&&(Ib=1E5,Yd=["CALL"]);for(void 0!==pg&&a.u(ia+" instructions earlier:");0<Ib&&ma!=a.W;){var tg=va[ma++];if(null==tg.B)break;var Jb=Y(tg.B),li=ia--,ug=Sf(a,Jb,"history",li);(!Yd.length||0<=ug.indexOf(Yd[0]))&&a.u(ug);Jb.ob&&(ma+=Jb.ob,Ib-=Jb.ob,ia-=Jb.ob);
ma>=va.length&&(ma=0);a.Aa=ia;sg++;Ib--}}sg||(a.u("no "+rg+"history available"),a.Aa=void 0)}else{var Sa=0,vg="ds"==nb,Kb=wf(a,ua,a.na);Ha&&("l"==Ha.charAt(0)?(Ha=Ha.substr(1)||ki,Sa=df(a,Ha)):Sa=wf(a,Ha).B-Kb.B,0>Sa&&(Sa=0),65536<Sa&&(Sa=65536));var mi=a.T;Kb.T&&(a.T=Kb.T);for(var wg="db"==nb?1:2,Zd=Sa||32,$d=1==wg?1:4,ni=(Zd+$d-1)/$d|0||1,Ta="";ni--&&0<Zd;){var Ia="",xg="";ua=L(a,Kb.B,18);for(var yg=$d;0<yg--&&0<Zd--;){var ae=a.La(Kb,1);vg?(Ia&&(Ia+=","),Ia+=ae):(Ia+=zf(a,ae),Ia+=" ");for(var be=
29,oi=0;1==wg&&0<=be;oi++){var Pc=ae/Math.pow(2,be)%Math.pow(2,7);Ia+=L(a,Pc,7)+" ";Pc+=0;xg+=32>Pc?".":String.fromCharCode(Pc);be-=7}}Ta&&(Ta+="\n");Ta=vg?Ta+(Ia+","):Ta+(ua+": "+Ia+(0>yg?" "+xg:""))}Ta&&a.u(Ta);a.T=mi}}}break;case "e":if("else"==k[0])break;var zg=k[0],ce=k[1];if("e"==zg||"ew"==zg){var pi=a.La;var qi=a.xb}else ce=null;if(null==ce)a.u("edit memory commands:"),a.u("\tew [a] [...] edit words at address a");else for(var de=wf(a,ce,a.na),ee=2;ee<k.length;ee++){var Lb=jf(a,k[ee]);if(void 0===
Lb)break;Lb=xf(Lb);a.u("changing "+L(a,de.B,18)+" from "+zf(a,pi.call(a,de))+" to "+zf(a,Lb));qi.call(a,de,Lb,1)}break;case "g":var Ag=k[1],ri=b;if(void 0!==Ag){var Bg=wf(a,Ag);yf(a,Bg,ri);a.Qa(a.i,Bg,!0)}Mf(a,!0,c);break;case "h":a.A.P?(c||a.u("halting"),jd(a)):Yb(a,!0)||c||a.u("already halted");break;case "i":if("if"==k[0]){var Mb=b.substr(2);Mb=Ma(Mb);if(jf(a,Mb)){c||a.u("true: "+Mb);var Cg=!0}else c||a.u("false: "+Mb),Cg=!1;Cg||(d=!1);break}f=!0;break;case "k":var si=k[0];if("?"==k[1])a.u("stack trace commands:"),
a.u("\tk\tshow frame addresses"),a.u("\tks\tshow symbol information");else{var fe=0,ge=Y(),Nb=Y();for(a.u("stack trace for "+L(a,Nb.B,18));10>fe;){for(var Ua=null,ti=256;65536>Nb.B>>>0;){ge.B=a.La(Nb,2);if(null==Nb.B||!ti--)break;if(!(ge.B&1)){for(var ui=a,Qc=ge,Dg=null,Ob=Qc.B,Eg=Ob,he=1;6>=he&&Ob;he++){if(2<he){Qc.B=Ob;var Rc=Sf(ui,Qc);if(0<=Rc.indexOf("JSR")){var Fg=Rc.indexOf(" ");if(Ob+(Rc.indexOf(" ",Fg+1)-Fg-1)/2==Eg){Dg=Rc;break}}}Ob-=2}Qc.B=Eg;if(Ua=Dg)break}}if(!Ua||null==Ua)break;var Gg=
null;if("ks"==si){var Hg=Ua.match(/[0-9A-F]+$/);Hg&&(Gg=Rg(a,Hg[0]))}Ua=La(Ua,50)+" ;"+(Gg||"stack="+L(a,Nb.B,18));a.u(Ua);fe++}fe||a.u("no return addresses found")}break;case "l":if("ln"==k[0]){Rg(a,k[1],!0);break}f=!0;break;case "m":a:{var wa,xa=null,N=k[1];"?"==N&&(N=void 0);if(void 0!==N){var Ja=0;if("all"==N)Ja=1879046143,N=null;else if("on"==N)xa=!0,N=null;else if("off"==N)xa=!1,N=null;else{"keys"==N&&(N="key");"kbd"==N&&(N="keyboard");for(wa in mc)if(N==wa){Ja=mc[wa];xa=!!(a.ca&Ja);break}if(!Ja){a.u("unknown message category: "+
N);break a}}if(Ja)if("on"==k[2])a.ca|=Ja,xa=!0;else if("off"==k[2]&&(a.ca&=~Ja,xa=!1,1073741824==Ja)){for(var Ig=1E3<=a.R.length?a.R.length-1E3:0;Ig<a.R.length;)a.u(a.R[Ig++]);a.R=[]}}var vi=0,Pb="";for(wa in mc)if(!N||N==wa){var wi=!!(a.ca&mc[wa]);if(null===xa||xa==wi)Pb&&(Pb+=","),++vi%10||(Pb+="\n\t"),"key"==wa&&(wa="keys"),Pb+=wa}void 0===N&&a.u("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.u((null!==xa?xa?"messages on: ":"messages off: ":"message categories:\n\t")+
(Pb||"none"));pf(a)}break;case "p":if("print"==k[0]){Sg(a,b.substr(5));break}var Jg=k[0],Kg="p"==Jg?0:"pr"==Jg?1:-1;if("?"==k[1]||0>Kg)a.u("step commands:"),a.u("\tp\tstep over instruction"),a.u("\tpr\tstep over instruction with register update");else if(a.O)a.u("step in progress");else{var Lg=Y(a.v.i);a.La(Lg);a.O?(a.Qa(a.i,Lg,!0),Mf(a)||(a.G&&wd(a.G),a.O=0)):Tg(a,Kg?"tr":"t")}break;case "r":if("reset"==b){a.G&&a.G.reset();break}Pf(a,k);break;case "s":a:switch(k[1]){case "base":if(k[2]){var qb=+k[2];
if(2==qb||8==qb||10==qb||16==qb)a.T=qb;else{a.u("invalid base: "+qb);break}}a.u("default base: "+a.T);break;case "cs":var Qb;void 0!==k[3]&&(Qb=+k[3]);switch(k[2]){case "int":a.v.oa=Qb;break;case "start":a.v.Ga=Qb;break;case "stop":a.v.ta=Qb;break;default:a.u("unknown cs option");break a}void 0!==Qb&&od(a.v);a.u("checksums "+(a.v.A.Sa?"enabled":"disabled"));break;case "sp":void 0!==k[2]&&(td(a.v,+k[2])||a.u("warning: using 1x multiplier, previous target not reached"));a.u("target speed: "+(a.v.ba.toFixed(2)+
"Mhz")+" ("+a.v.ga+"x)");break;default:if(k[1]){a.u("unknown option: "+k[1]);break}case "?":a.u("debugger options:"),a.u("\tbase #\t\tset default base to #"),a.u("\tcs int #\tset checksum cycle interval to #"),a.u("\tcs start #\tset checksum cycle start count to #"),a.u("\tcs stop #\tset checksum cycle stop count to #"),a.u("\tsp #\t\tset speed multiplier to #")}break;case "t":Tg(a,k[0],k[1]);break;case "u":Qf(a,k[1],k[2],8);break;case "v":if("var"==k[0]){Qg(a,b.substr(3))||(d=!1);break}if("ver"==
k[0]){a.u((bc||"PDP10")+" version 1.37.0 ("+a.v.ib+",RELEASE)");a.u(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(k[1]){Sg(a,b.substr(1));break}var ie="commands:",je;for(je in Vg)ie+="\n"+La(je,9)+Vg[je];Hd(a)||(ie+="\nnote: history disabled if no exec breakpoints");a.u(ie);break;default:f=!0}f&&(a.u("unknown command: "+b),d=!1)}}catch(Ng){a.u("Debugger "+(Ng.stack||Ng.message)),d=!1}return d}
function rd(a,b,c){null!=b&&(a.Fa=Ye(a,b,c));for(;b=a.Fa.shift();)if(!dg(a,b))return!1;return!0}
var Vg={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Xf=20,Yf=".WORD HLL HLLZ HLLO HLLE HRL HRLZ HRLO HRLE HRR HRRZ HRRO HRRE HLR HLRZ HLRO HLRE MOVE MOVS MOVN MOVM EXCH BLT PUSH POP LDB DPB IBP ILDB IDPB SETZ SETO SETA SETCA SETM SETCM AND ANDCA ANDCM ANDCB IOR ORCA ORCM ORCB XOR EQV LSH LSHC ROT ROTC ADD SUB MUL IMUL DIV IDIV ASH ASHC FSC FADR FSBR FMPR FDVR DFN UFA FAD FSB FMP FDV AOBJP AOBJN CAI CAM JUMP SKIP AOJ AOS SOJ SOS TR TL TD TS XCT JFFO JFCL JSR JSP JRST JSA JRA PUSHJ POPJ BLKI DATAI BLKO DATAO CONO CONI CONSZ CONSO UUO JOV JCRY0 JCRY1 JCRY JFOV HALT JRSTF JEN".split(" "),
Bf=0,Cf=1,Df=2,Ef=3,Ff=4,Gf=5,Hf=6,If=7,Jf=8,Kf=9,Af="PC RA EA PS OV C0 C1 BI ND PD".split(" "),Wg={},Tf=(Wg[28672]={0:101},Wg[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},Wg[32512]={6144:65,6400:59,6656:66,6912:60,7168:67,7424:61,7680:68,7936:62,8192:17,8448:18,8704:19,8960:Xf,
9216:53,9472:52,9728:55,9984:54,11776:50,12032:51,16384:30,16640:36,16896:37,17152:34,17408:38,17664:32,17920:44,18176:40,18432:39,18688:45,18944:33,19200:41,19456:35,19712:42,19968:43,20224:31,20480:1,20736:5,20992:2,21248:6,21504:3,21760:7,22016:4,22272:8,22528:9,22784:13,23040:10,23296:14,23552:11,23808:15,24064:12,24320:16},Wg[32256]={12288:71,12800:72,13312:73,13824:74,14336:75,14848:76,15360:77,15872:78},Wg[29248]={24576:79,24640:80,25088:81,25152:82},Wg[28700]={28672:93,28676:94,28680:95,28684:96,
28688:97,28692:98,28696:99,28700:100},Wg),Uf=["","I","M","S"],Vf=" L E LE A GE N G".split(" "),Wf="N NE NA NN Z ZE ZA ZN C CE CA CN O OE OA ON".split(" "),Zf=[{0:85,8:102,4:103,2:104,6:105,1:106},{0:88,4:107,2:108,10:109}],Lf=1E3,Of=">> ";hb(function(){for(var a=w(document,u,"debugger"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);d=new nf(d);Ab(d,c)}});function Og(a){this.b=a}
function Xg(a,b,c,d){a.ka=b;a.W=(c||"").toLowerCase();a.done=d;a.R=0;a.H=[];a.N=[];a.D=[];a.v={};a.K={};a.M=[];a.L=[];a.U=[];a.ea=[];a.Y=[];a.ha=0;a.V=0;a.ba=0;a.X=a.ka||0;a.Ca=-1;a.G=[];a.S=null;a.i=0;a.I=null;a.C=a.O="";a.ga=/^[ \t]*([A-Z$%.?][0-9A-Z$%.]*:|)[ \t]*([A-Z$%.][0-9A-Z$%.]*|)([ \t]*)([^;]+|)(;?[\s\S]*)/i;a.j=null;a.w=null;a.F="";a.J=null}
function Pg(a,b,c,d,e){d&&0<=d.indexOf("s")?(Xg(a,c,d,e),a.D=b.split(/(\r?\n)/),a.N.push(a.D.length),Yg(a),a.done&&a.done(a.V)):(Xg(a,c,d,e),a.H=b.split(";"),Zg(a))}
function Zg(a){if(a.R==a.H.length)Yg(a),a.done&&a.done(a.V);else{var b=a.H[a.R];a.u("loading "+Da(b));0>b.indexOf(":")&&0<=".MAC.KLM".indexOf(b.slice(-4).toUpperCase())&&(b+=".txt");Va(b,null,!0,function(b,d,e){if(e)a.done&&a.done(e,b);else{e=d;if(Fa(b,".html")){e="";for(var c=/<pre>([\s\S]*?)<\/pre>/gi;b=c.exec(d);)b=b[1],0<=b.indexOf("&")&&(b=b.replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&amp;/gi,"&")),e+=b;(b=e.match(/&[a-z]+;/i))&&$g(a,"unrecognized HTML entity '"+b[0]+"'")}d=e.split(/(\r?\n)/);
if(d.length&1){if(b=d.pop())$g(a,"unexpected line '"+b+"'"),d.push(b),d.push("")}else $g(a,"unexpected number of lines ("+d.length+")");a.D=a.D.concat(d);a.N[a.R]=d.length>>1;a.R++;setTimeout(function(){Zg(a)},0)}})}}
function Yg(a){if(0<=a.W.indexOf("p"))a.u(a.D.join(""));else{var b=lf(a.b);ah(a,"APR",0);ah(a,"PI",4);try{for(var c=0;c<a.D.length;c+=2){a.ha++;0<=a.W.indexOf("l")&&a.u(bh(a)+": "+a.D[c]);if(!ch(a,a.D[c]+"\r\n"))break;if(null!==a.J)break}a.i&&a.error("open block",a.v[a.I].ha);a.G.length&&a.error("open scope",a.G[0].ha);dh(a);eh(a);a.ea.forEach(function(b,c){b=fh(a,b,void 0,c,a.Y[c]);void 0!==b&&(b+=a.U[c],a.U[c]=gh(a,b,c))})}catch(d){a.u(d.message),a.V=-1}0>a.W.indexOf("d")&&(a.b.b=b)}}
function ch(a,b,c,d,e){var f;null!=a.w&&(b=hh(a,b));for(var g=!0,h="";g;){var k=b.match(a.ga);if(!k||k[5]&&";"!=k[5].charAt(0))return a.error("failed to parse line '"+b+"'"),!1;g=!1;h=k[2].toUpperCase();if(h==ih||h==jh)c=null;if(c){for(f=0;f<c.length;f++){var l=c[f],p=a.v[a.I];if(!(p&&0<=p.Oa.indexOf(l))){p=d[f]||e[f]||"";for(var q=0,B=b.length-k[5].length;q<B;){var v=b.indexOf(l,q);if(0>v)break;q=v+1;var J=v+l.length,Oc="",ta="";v&&(Oc=b[v-1]).match(/[0-9A-Z$%.]/i)||!(J>=b.length)&&(ta=b[J]).match(/[0-9A-Z$%.]/i)||
("'"==Oc&&v--,"'"==ta&&J++,b=b.substr(0,v)+p+b.substr(J),q=v+p.length,g=!0)}}}c=null}if(a.i&&(1==a.i&&(f=b.indexOf(a.C),0<=f?(a.i++,b=b.substr(f+1)):a.error("expected "+a.S+" definition in '"+b+"'")),1<a.i&&(b=kh(a,b),g=!0),a.i))return!0}d=k[1];b=k[3];c=k[4].trim();k=k[4]+k[5];d&&(d=d.slice(0,-1),ah(a,d,a.X,lh));var I;h&&(I=c.match(/^([=:]+)(.*)/))&&(e=0,d=h,h=I[1],c=I[2],"=="==h?e|=2:"=:"==h&&(e|=mh),ah(a,d,c,e),h=c="");if(!h&&!c)return!0;a.S=h;if(I=nh(a,c))c=c.replace(I,oh(a,ph,nh(a,k))),b||(b=
"\t");for(;I=qh(a,c);)c=c.replace(I,I.slice(0,-1));if(!rh(a,h,c))switch(h){case sh:case th:case uh:hh(a,k);break;case vh:h=c;I=fh(a,h);void 0!==I&&0<=I&&262143>=I?a.X+=I:a.error("unrecognized BLOCK expression '"+h+"'");break;case wh:h=c;b=k=0;for(c=36;I=xh(a,h);){h=h.substr(I.length).trim();d=I;if(e=I.match(/^\((.*)\)\s*(.*)$/))e[1]&&(k=fh(a,"^D"+e[1])),d=e[2];if(k){d=d?fh(a,d):0;if(void 0===d||0>k||36<k){a.error("unexpected BYTE operand: "+I);break}d=X(a.b,d,k,!0);c<k&&(yh(a,b),b=0,c=36);b+=d*Math.pow(2,
c-k);c-=k}else yh(a,0)}36>c&&yh(a,b);break;case zh:(h=c)?(a.J=fh(a,h),void 0===a.J&&a.error("unrecognized END expression '"+h+"'")):a.J=a.ka;break;case Ah:Bh(a,c);break;case Ch:dh(a);break;case Dh:a.X=fh(a,c)||0;break;case Eh:eh(a);break;case Fh:Bh(a,c.replace(",",",,"));break;case Gh:case Hh:case Ih:case Jh:case Kh:case Lh:case Mh:case Nh:case Oh:case Ph:case Qh:case Rh:case ih:case jh:case Sh:case Th:oh(a,h,k);break;case Uh:h=Vh(a,c);for(I=0;I<h.length;I++)delete a.b.b[h[I]],delete a.K[h[I]];break;
case Wh:case Xh:case Yh:case Zh:case $h:case ai:case bi:case ci:break;default:Bh(a,h,b,c)}return!0}
function rh(a,b,c){var d=a.v[b];if(!d)return!1;if(null!=c){if(d.Da==di){var e=a.X;Z(a,d.ja);if(e<a.X){if(!c)return!0;ei(a);Z(a,c);d=a.U[0];var f=a.ea[0];fi(a);if(void 0!==d)return a.U[e]+=d&130023423,a.U[e]+=d&4194304,f&&(a.ea[e]=a.ea[e]?a.ea[e]+("+"+f):f),!0}a.error("OPDEF '"+b+"' ("+c+") failed");return!1}b=a.j;a.j=d;d.Pa=Vh(a,c,!0);Z(a,d.ja,d.Oa,d.Pa,d.Ab);a.j=b;return!0}if("?"!=b[0])return!1;switch(b.substr(1)){case Kh:case Jh:case Rh:d.Da||Z(a,d.ja);break;case Lh:0<d.Da&&Z(a,d.ja);break;case Mh:0<=
d.Da&&Z(a,d.ja);break;case Oh:0>d.Da&&Z(a,d.ja);break;case Ph:0>=d.Da&&Z(a,d.ja);break;case Hh:case Qh:case Ih:case Nh:d.Da&&Z(a,d.ja);break;case ih:case jh:for(b=0;b<d.Pa.length;b++)Z(a,d.ja,d.Oa,[d.Pa[b]],[]);break;case Th:for(;0<d.Da--;)Z(a,d.ja);break;default:c=d.ja,ei(a,b),Z(a,c),fi(a)}return!0}function Z(a,b,c,d,e){b=b.split(/\r?\n/);for(var f=0;f<b.length&&ch(a,b[f]+"\r\n",c,d,e);f++);}
function ei(a,b){a.G.push({name:b,U:a.U,ea:a.ea,X:a.X,Ca:a.Ca,ha:a.ha});a.U=[];a.ea=[];0>a.Ca&&(a.Ca=a.X);a.X=0}function fi(a){if(a.G.length){var b=a.G[a.G.length-1].name;b&&a.M.push({name:b,U:a.U,ea:a.ea});b=a.G.pop();a.U=b.U;a.ea=b.ea;a.X=b.X;a.Ca=b.Ca;a.G.length||-1==a.Ca||a.error("scope restore error")}else a.error("scope nesting error")}
function xh(a,b){var c=void 0===c?",":c;for(var d=0,e=!1,f=null,g=0;d<b.length;){var h=b[d++];if('"'==h)e=!e;else if(!e){if(!g&&0<=c.indexOf(h)){d--;break}if("<"==h)g++;else if(">"==h&&0>--g){a.error("missing bracket(s) in '"+b+"'");break}}}g?0<g&&a.error("extra bracket(s) in '"+b+"'"):f=b.substr(0,d);return f}
function fh(a,b,c,d,e){var f=-1;void 0===d&&(d=0<=a.Ca?a.Ca:a.X);var g=b.replace(/SIXBIT\s*(\S)(.*?)\1/g,"'$2'").replace(/ASCII\s*(\S)(.*?)\1/g,'"$2"');if(c){var h="",k=g;if(f=g.match(/^([^\s]+)\s*(.*?)\s*$/))h=f[1],k=f[2];f=$f(a.b,h,k,d,c)}0>f&&(g=g.replace(/\.([^0-9]|$)/g,L(a.b,d,-1)+"$1"),f=jf(a.b,g,c),void 0===f&&a.error("unable to parse expression '"+b+"'",e));return f}
function nh(a,b){for(var c=0,d="",e=0,f=-1,g=b.length;e<b.length;){var h=b[e];if(";"==h)break;"["==h&&(c++||(f=e));e++;if("]"==h&&0>=--c){g=e;break}}0>c&&a.error("missing bracket(s) in '"+b+"'");0<=f&&(d=b.substr(f,g-f));return d}function bh(a,b){b=void 0===b?a.ha:b;for(var c=0;b>a.N[c];)if(b-=a.N[c],c<a.H.length-1)c++;else break;return Da(a.H[c]+" line "+b)}
function qh(a,b){var c=null;if(b=b.match(/([A-Z$%.][0-9A-Z$%.]*)#/i)){c=b[0];b=b[1];var d="?"+b;if(!a.v[d]){var e,f;var g=e=f=[];a.v[d]={name:d,Da:gi,Oa:g,Ab:e,Pa:f,ja:b+": 0",ha:a.ha};a.L.push(d)}}return c}
function Vh(a,b,c){var d=[];for(c&&(b=b.replace(/^\(?(.*?)\)?$/,"$1"));b;){b=b.trim();c=xh(a,b);if(!c)break;var e=c;if("\\"==c[0]){var f=1,g=0;"'"==c[1]?(f++,g=6):'"'==c[1]&&(f++,g=7);e=a;f=c.substr(f);g=void 0===g?0:g;var h=fh(e,f);if(void 0!==h){var k=5;switch(g){case 0:f=L(e.b,h,-1);break;case 6:k++;case 7:for(;h&&k--;)h=Math.trunc(h/Math.pow(2,g))}}e=f}d.push(e);b=b.substr(c.length+1)}return d}
function hh(a,b){var c=b;null==a.w&&(a.w=a.F="",b&&(a.w=b[0],c=b=b.substr(1)));if(a.w){var d=b.indexOf(a.w);0>d?c="":(c=b.substr(d+1),b=b.substr(0,d),a.w=null);a.F+=b}if(null==a.w){d=b=0;var e=a.F.length;a.S==th&&e++;for(var f=0;f<e;f++){if(!b){d=0;var g=29;var h=7;a.S==uh&&(h--,g++)}var k=a.F.charCodeAt(f)&127;6==h&&(97<=k&&122>=k&&(k-=32),k=k+32&63);d+=k*Math.pow(2,g);g-=h;b++;0>g&&(yh(a,d),b=0)}b&&yh(a,d)}return c}
function oh(a,b,c){var d,e;a.C="<";a.O=">";var f=d=e=[];if(b==Gh){var g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\([^)]*\)|)\s*,?\s*(<|)([\s\S]*)/i);if(!g)return a.error("unrecognized "+b+" in '"+c+"'"),c;var h=g[1];if(g[2]&&","!=g[2]){d=f=Vh(a,g[2],!0);b=[];for(c=0;c<d.length;c++){var k=d[c].indexOf("<");if(0<=k){var l=d[c].lastIndexOf(">");0>l&&(l=d[c].length);b[c]=d[c].substr(k,l-k);d[c]=d[c].substr(0,k)}}d=b}k=hi;b=3}else if(b==Sh){a.C="[";a.O="]";g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*(\[)([\s\S]*)/i);
if(!g)return a.error("unrecognized "+b+" in '"+c+"'"),c;h=g[1];k=di;b=2}else if(b==ph)a.C="[",a.O="]",h="?"+Ca(++a.ba,5),a.v[h]&&a.error("literal symbol '"+h+"' redefined"),g=[c[0],c.substr(1)],k=ii,b=0;else if(b==ih||b==jh){a.j||a.error(b+" outside of macro");g=c.match(/([A-Z$%.][0-9A-Z$%.]*)\s*,\s*(<|)([\s\S]*)/i);if(!g)return a.error("unrecognized "+b+" operands '"+c+"'"),c;for(k=0;k<a.j.Oa.length&&g[1]!=a.j.Oa[k];k++);if(k==a.j.Oa.length)return a.error("invalid "+b+" parameter '"+g[1]+"'"),c;
h="?"+b;f=[g[1]];b==jh?e=a.j.Pa[k].split(""):e=Vh(a,a.j.Pa[k]);k=e.length;b=2}else{if(b==Hh)k=1,","==c[0]&&(c=c.substr(1).trim());else{g=xh(a,c);if(!g)return a.error("missing "+b+" expression '"+c+"'"),c;c=c.substr(g.length+1);g=g.trim();if(b==Jh||b==Nh){h=xh(a,c);if(!h)return a.error("missing second "+b+" expression '"+c+"'"),c;c=c.substr(h.length+1)}k=b==Ih||b==Rh?a.v[g]||a.K[g]||void 0!==a.b.b[g]?1:0:fh(a,g)||0}g=c.match(/\s*(<|)([\s\S]*)/i);h="?"+b;b=1}h=h.toUpperCase();a.i=1;a.I=h;a.v[h]={name:h,
Da:k,Oa:f,Ab:d,Pa:e,ja:"",ha:a.ha};g[b]&&(a.i=2,kh(a,g[b+1]));return h}function kh(a,b){for(var c="",d=0;d<b.length;d++)if(b[d]==a.C)a.i++;else if(b[d]==a.O&&(a.i--,1==a.i)){a.i=0;c=b.substr(d+1);b=b.substr(0,d);break}d=a.I||"";a.v[d].ja+=b;a.i||(a.I=null,rh(a,d));return c}
function ah(a,b,c,d){d=void 0===d?0:d;b=b.toUpperCase().substr(0,6);if(d&lh&&a.K[b])a.error("redefined label '"+b+"'");else{var e=void 0;if("string"==typeof c){e=[];var f=fh(a,c,e);if(void 0===f){a.error("invalid symbol '"+b+"': "+c);return}1<e.length&&a.error("too many undefined symbols in '"+b+"': "+e.join());c=f;e=e[0]}(f=a.K[b])?(f.value=c,f.Xb=d,f.ha=a.ha):a.K[b]={name:b,value:c,Xb:d,ha:a.ha};a.b.b[b]={value:c,Mb:e}}}
function Bh(a,b,c,d){var e=[];b=(b+(void 0===c?"":c)+(void 0===d?"":d)).trim();c=fh(a,b,e);void 0!==c?e.length?1==e.length?yh(a,c,e[0]):yh(a,0,b):yh(a,c):a.error("unrecognized word expression '"+b+"'")}
function dh(a){for(var b=a.X,c={},d=0;d<a.M.length;c={U:c.U,Ra:c.Ra,ya:c.ya},d++){c.ya=a.M[d];c.U=[];c.Ra=0;c.ya.U.forEach(function(a){return function(b,c){c===a.U.length&&a.U.push(b);a.Ra++}}(c));if(c.Ra==c.U.length)for(var e=b;e+c.Ra<=a.X;e++){var f=void 0;for(f=0;f<c.Ra&&c.U[f]===a.U[e+f]&&c.ya.ea[f]==a.ea[e];f++);if(f==c.Ra){ah(a,c.ya.name,e,lh);c.ya=null;break}}if(c.ya){var g=a;ah(a,c.ya.name,a.X,lh);c.ya.U.forEach(function(a){return function(b,c){yh(g,b,a.ya.ea[c])}}(c))}}a.M=[]}
function eh(a){for(var b=0;b<a.L.length;b++){var c=a.L[b],d=a.v[c];d?Z(a,d.ja):a.error("missing definition for variable '"+c+"'")}a.L=[]}function yh(a,b,c){a.U[a.X]=gh(a,b);void 0!==c&&(a.ea[a.X]=c);a.Y[a.X]=a.ha;a.X++}function gh(a,b,c){c=void 0===c?a.X:c;var d=X(a.b,b||0,36,!0);(b<-A||b>=D)&&$g(a,"truncated value "+Ba(b)+" at location "+Ba(c)+" to "+Ba(d));return d}Og.prototype.error=function(a,b){throw Error("error in "+bh(this,b)+": "+a);};
function $g(a,b){a.u("warning in "+bh(a,void 0)+": "+b)}Og.prototype.u=function(a){this.b?this.b.u(a):console.log(a)};
var lh=1,mh=4,sh="ASCII",th="ASCIZ",vh="BLOCK",wh="BYTE",Gh="DEFINE",zh="END",Ah="EXP",Hh="IF1",Ih="IFDEF",Jh="IFDIF",Kh="IFE",Lh="IFG",Mh="IFGE",Nh="IFIDN",Oh="IFL",Ph="IFLE",Qh="IFN",Rh="IFNDEF",ih="IRP",jh="IRPC",Wh="LALL",Ch="LIT",ph="LITERAL",Xh="LIST",Dh="LOC",Yh="NOSYM",Sh="OPDEF",Zh="PAGE",Uh="PURGE",Th="REPEAT",uh="SIXBIT",$h="SUBTTL",ai="TITLE",Eh="VAR",bi="XALL",Fh="XWD",ci="XLIST",hi=-1,di=-2,ii=-3,gi=-4;
function ji(a,b,c){t.call(this,"Computer",a,33554432);this.A.aa=!1;this.S=null;xi(this,b);this.O=md(this,"autoPower",a,6);this.w=0;this.Y=+a.busWidth||+a.buswidth;this.M=this.I=this.N=null;this.L=this.W=!1;this.K=this.C=null;this.V=this.R=!1;this.ba=md(this,"url")||"";(Math.random()+.1).toString(36);this.i=yi(this);if(this.v=Eb("CPU",this.id)){this.D=Eb("Debugger",this.id);this.H=new Lc({id:this.Za+".bus",busWidth:this.Y},this.v,this.D);var d=Cb(this.id);if(this.F=(this.j=Eb("Panel",this.id))&&this.j.J.print)for(b=
0;b<d.length;b++){var e=d[b];e.ia=this.j.ia;e.print=this.j.print;e.u=this.j.u}this.u(bc+" v1.37.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<d.length;b++)e=d[b],e.Ka&&e.Ka(this,this.H,this.v,this.D);b=null;e=md(this,"resume",a);void 0!==e&&(1<e.length?b=this.I=e:this.b=parseInt(e,10));var f;if(a=md(this,"state")||(f=!0,a.state))this.N=b=a,f||(this.L=!0,this.b=zi),this.b&&(this.K=new F(this,"1.37.0"),Ai(this.K)?
b=null:delete this.K);!b&&this.b&&(b=Bi(this))&&(this.L=!0);if(b){var g=this;Va(b,null,!0,function(a,b,c){c?(g.I=null,g.L=!1,g.ia("Unable to load machine state from server (error "+c+(b?": "+Ma(b):"")+")")):(g.M=b,g.W=!0);Xb(g)})}else Xb(this);this.J.power||(this.O=!0);!c&&this.O&&Ci(this,this.Ua)}else r("Unable to find CPU component")}ra(ji,t);function xi(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.S=b}
function md(a,b,c,d){var e=b.toLowerCase();e=cb(b)||cb(e);void 0===e&&a.S&&(e=a.S[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 Ci(a,b,c){for(var d=Cb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wb(f)){Wb(f,function(){Ci(a,b,c)});return}}b.call(a,c)}
function Di(a,b){var c=new F(a,"1.37.0",Ei);if(Ai(c)&&Fi(c)){var d=c.get(Gi),e=b?b.get(Gi):"unknown";d!=e&&(a.ia("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}m=ji.prototype;
m.Ua=function(a){void 0===a&&(a=this.b||(this.M?Hi:zi));if(!this.w){this.w++;var b=!1,c=!1;this.R=!1;var d=this.K||new F(this,"1.37.0");if(a==Ii)b=!0;else if(a>zi){if(Ai(d,this.M)){this.C=new F(this,"1.37.0",Ji);Ai(this.C)&&(Ki(this,d),a=Li,Mi(this.C));this.C.set(Gi,Oa());Ni(this.C);var e=this.b&&!this.L;if(a==Hi||yb("Click OK to restore the previous "+bc+" machine state, or CANCEL to reset the machine.")){if(c=Fi(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Ai(d,g):("error"==f&&"no machine state"!=
g?(this.ia("Error: "+g),"unable to verify user"==g&&(ab(Oi,""),this.i=null)):this.u(f+": "+g),Mi(d),Ai(d)?(c=Fi(d),e=!0):c=!1))}e&&Di(this,c?d:null)}else a==Li&&d.clear()}else Di(this);delete this.M;delete this.K}e=Cb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.v&&(c=Pi(this,g,d,b,c));b=[d,a,c];a!=Ii?Ci(this,this.Hb,b):this.Hb(b)}};
function Pi(a,b,c,d,e){if(!b.A.aa){b.A.aa=!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.za(f,d)&&f&&(r("Unable to restore state for "+b.type),a.N&&!a.W?(c.clear(),a.b=zi,window&&window.location.reload()):a.R=!0,b.za(null),e=!1),!d&&b.Cb){var g=b.Cb.split("|");for(a=0;a<g.length;a++)b.status(g[a])}}catch(h){r("Error restoring state for "+b.type+" ("+h.message+")")}}return e}
m.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.V=!0;this.A.aa=!0;var d=this.J.power;d&&(d.textContent="Shutdown");this.v&&(Pi(this,this.v,b,c,a),K(this,-2),this.v.fa());this.R&&(Ki(this,b),b.clear());!c&&this.C&&(this.C.clear(),delete this.C);this.w=0};
function Ki(a,b){if(yb("There may be a problem with your "+bc+" machine.\n\nTo help us diagnose it, click OK to send this "+bc+" machine state to http://www.pcjs.org.")){var c=a.ba;a=a.i||"";b=b.toString();var d={};d.app=bc;d.ver="1.37.0";d.url=c;d.user=a;d.type="bug";d.data=b;Va("http://www.pcjs.org/api/v1/report",d,!0)}}
function Ug(a,b,c){var d="none";if(a.w)return null;a.w--;var e=new F(a,"1.37.0"),f=new F(a,"1.37.0",Ei),g=Oa();f.set(Gi,g);e.set(Gi,g);e.set(Qi,"1.37.0");e.set(Ri,window?window.location.href:null);e.set(Si,window?window.navigator.userAgent:"");if(a.v&&a.v.qa){c&&(b&&(a.v.A.fa=a.v.A.P),H(a.v));var h=a.v.qa(b,c);"object"===typeof h&&e.set(a.v.id,h);c&&(a.v.A.aa=!1,!1===h&&(d=null))}g=Cb(a.id);for(var k=0;k<g.length;k++){var l=g[k];l.A.aa&&(l.qa&&(h=l.qa(b,c),"object"===typeof h&&e.set(l.id,h)),c&&(l.A.aa=
!1,!1===h&&(d=null)))}d&&(c?(g=h=!1,b?(a.i&&Ti(a,a.i,e.toString()),Ni(f)&&Ni(e)||(d=null,h=g=!0)):a.b&&(h=!0,g=a.b==Ui),h&&e.clear(g)):d=e.toString());c&&(a.A.aa=!1,b=a.J.power)&&(b.textContent="Power");a.w=0;return d}
m.reset=function(){this.A.reset=!0;this.H&&this.H.reset&&(ac(this,"Resetting "+this.H.type),this.H.reset());this.v&&this.v.reset&&(ac(this,"Resetting "+this.v.type),this.v.reset());for(var a=Cb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.H&&c!==this.v&&c.reset&&(ac(this,"Resetting "+c.type),c.reset())}this.A.reset=!1;K(this,-1)};m.start=function(a,b){for(var c=Cb(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)};
m.stop=function(a,b){for(var c=Cb(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)};
function K(a,b){if(a.v){var c=a.v,d=b||0,e=c.J.speed;e&&(0>=d||30<=(c.gb+=d))&&(e.textContent=c.A.P?c.Y.toFixed(2)+"Mhz":"Stopped",c.gb=0)}if(a.j&&(a=a.j,b=b||0,a.L)){c=a.v.A.P;d=!!(a.v.C&8);if(0>=b||60<=(a.K+=b)){e=a.v.i;if(a.J.PC){var f=a.D&&a.D.T||8;e=e||0;e=8==f?Ba(e,void 0):n(e,void 0);a.J.PC.textContent!=e&&(a.J.PC.textContent=e)}a.K=0}-1>b?a.i=a.v.i:0<b&&c&&!d&&(a.i=a.v.Aa);vc(a,a.i);pc(a,a.w)}}
m.ra=function(a,b,c){var d=this;switch(b){case "power":return this.J[b]=c,c.onclick=function(){d.w||(d.A.aa?Ug(d,!1,!0):Ci(d,d.Ua))},!0;case "reset":return this.J[b]=c,c.onclick=function(){if(d.A.aa&&!d.w)if(d.b&&!d.I){var a=yb("Click OK to save changes to this "+bc+" machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Ug(d,a,!0);!a&&d.N?window&&window.location.reload():d.Ua(zi)}else d.reset(),d.v&&!d.D&&d.v.fa()},!0;case "save":if(Fa(Xa(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.J[b]=c,c.onclick=function(){var a=yi(d,!0);if(a){var b=!!(d.b&&!d.I||d.N),c=Ug(d,b);b?Ti(d,a,c):d.ia("Resume disabled, machine state not saved")}},!0}return!1};
function yi(a,b){var c=a.i;c||((c=$a(Oi),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=Vi(a,c))||a.ia("The user ID is invalid.")):b&&a.ia("Browser local storage is not available"));return c}
function Vi(a,b){a.i=null;b=Va(Xa()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(ab(Oi,b.data),a.i=b.data)}catch(d){r(d.message+" ("+c+")")}return a.i}function Bi(a){var b=null;a.i&&(b=Xa()+"/api/v1/user?req=load&user="+a.i+"&state="+Wi(a,"1.37.0"));return b}
function Ti(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Wi(a,"1.37.0");d.data=c;b=Va(Xa()+"/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.ia("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.ia(c),ab(Oi,""),a.i=null)}}
function wd(a,b){if(a.F){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a.F.focus();!b&&window&&window.scrollTo(c,d)}}var Ji="failsafe",Ei="validate",Gi="timestamp",Qi="version",Ri="url",Si="browser",Oi="user",Ii=-1,zi=0,Hi=1,Li=2,Ui=3;hb(function(){for(var a=w(document,u+"-machine"),b=0;b<a.length;b++){var c=a[b],d=Bb(c);c=w(c,u,"computer");for(var e=0;e<c.length;e++){var f=c[e],g=Bb(f);g=new ji(g,d,!0);Ab(g,f);g.O&&Ci(g,g.Ua)}}});
ib.show.push(function(){for(var a=w(document,u,"computer"),b=0;b<a.length;b++){var c=Bb(a[b]);if(c=Eb("Computer",c.id))c.A.tb=!1,c.V&&!c.A.aa&&c.Ua(Ii)}});ib.exit.push(function(){for(var a=w(document,u,"computer"),b=0;b<a.length;b++){var c=Bb(a[b]);if(c=Eb("Computer",c.id))c.A.tb=!0,c.A.aa&&Ug(c,!(!c.b||c.I),!0)}});function F(a,b,c){this.id=a.id;this.i="";this.b={};this.v=this.j=!1;this.key=Wi(a,b,c);Mi(this,a.Ub)}m=F.prototype;m.set=function(a,b){try{this.b[a]=b}catch(c){}};
m.get=function(a){return this.b[a]||null};m.data=function(){return this.b};function Ai(a,b){return b?(a.i=b,a.v=!0,a.j=!1,!0):a.v?!0:Ya()&&(b=$a(a.key))?(a.i=b,a.v=!0):!1}function Fi(a){var b=!0;if(!a.j)try{a.b=JSON.parse(a.i),a.j=!0}catch(c){r(c.message||c),b=!1}return b}function Ni(a){var b=!0;if(Ya()){var c=JSON.stringify(a.b);ab(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}m.toString=function(){return this.b?JSON.stringify(this.b):this.i};
function Mi(a,b){a.i="";a.b={};a.v=a.j=!1;b&&a.set("parms",b)}m.clear=function(a){Mi(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 Wi(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 Xi=0;
function Yi(a,b,c,d,e,f,g){f("Loading "+a+"...");Va(a,null,!0,function(h,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),g(k,null)):Zi(k,a,b,c,d,e,f,g)})}
function Zi(a,b,c,d,e,f,g,h){function k(a,g){if(g)h(g,null);else{c&&(vb(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),e=e.replace(/\$/g,"$$$$"),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(q){g=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);h(a,g)}}a?f?$i(a,g,k):k(a,null):h("no data"+(b?" for file: "+
b:""),null)}
function $i(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,p=/( [a-z]+=)(['"])(.*?)\2/gi;l=p.exec(f);)k=0>k.toLowerCase().indexOf(l[1].toLowerCase())?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+
"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,"");a=a.replace(d[0],g);$i(a,b,c)}})}else c(a,null)}
function aj(a,b,c,d,e){function f(a){if(void 0===k){var b=h&&w(h,"machine-warning");k=b&&b[0]||h}k&&(k.innerHTML=Ga(a))}function g(a){f("Error: "+a);l&&(--Xi||lb(!0));l=!1}var h,k,l=!0;Xi++;wb[b]={};try{if(h=document.getElementById(b)){var p;if("object"==typeof resources&&(p=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],B=document.createElement("style");B.type="text/css";B.styleSheet?B.styleSheet.cssText=p:B.appendChild(document.createTextNode(p));q.appendChild(B)}d||
(p=a,"pdp"==a.substr(0,3)&&(p="pdpjs"),d="/versions/"+p+"/1.37.0/components.xsl");p=function(e,k){k?Yi(d,null,a,null,!1,f,function(a,e){e?(vb(b,d,a),f("Processing "+c+"..."),window.ActiveXObject||"ActiveXObject"in window?(e=k.transformNode(e))?(h.outerHTML=e,--Xi||lb(!0)):g("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(a=new XSLTProcessor,a.importStylesheet(e),(e=a.transformToFragment(k,document))?h.parentNode?(h.parentNode.replaceChild(e,h),--Xi||
lb(!0)):g("invalid machine element: "+b):g("transformToFragment failed")):g("unable to transform XML: unsupported browser")):g(a)}):g(e)};"<"!=c.charAt(0)?Yi(c,b,a,e,!0,f,p):Zi(c,null,b,a,e,!1,f,p)}else g("missing machine element: "+b)}catch(v){g(v.message)}return l}window.embedPDP10=function(a,b,c,d){lb(!1);return aj("pdp10",a,b,c,d)};window.embedPDP11=function(a,b,c,d){lb(!1);return aj("pdp11",a,b,c,d)};
window.commandMachine=function(a,b,c,d,e,f){if("script"==e){d=!1;c+=".machine";if(!f)delete Gb[c],d=!0;else if("string"==typeof f&&!Gb[c]){d=!0;e=Gb;for(var g=c,h=f.length,k=[],l=[],p="",q=null,B=0;B<h;B++){var v=f[B];if('"'==v||"'"==v)q&&v!=q?p+=v:(q?q=null:q=v,p&&(l.push(p),p=""));else{if(!q){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){p&&(l.push(p),p="");";"==v&&l.length&&(k.push(l),l=[]);continue}}p+=v}}p&&l.push(p);l.length&&k.push(l);e[g]=k;Fb(c)||(d=!1)}return d?(b&&(a.disabled=!0),
!0):!1}if(d&&(g=Eb(d,c+".machine"))&&(h=g.exports)&&(h=h[e]))return h.call(g,f)?(b&&(a.disabled=!0),!0):!1;console.log("unimplemented: commandMachine('"+c+"','"+d+"','"+e+"','"+f+"')");return!1};window.enableEvents=lb;window.sendEvent=sb;})();//# sourceMappingURL=/versions/pdpjs/1.37.0/pdp10-dbg.map