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

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